Sơ đồ định danh mật và chữ ký số ứng dụng trong thương mại điện tử - Pdf 24

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG

LÊ THỊ HÀ

SƠ ĐỒ ĐỊNH DANH MẬT VÀ CHỮ KÝ SỐ ỨNG
DỤNG TRONG THƢƠNG MẠI ĐIỆN TỬ LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn


LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn “ Sơ đồ định danh mật và chữ ký số
ứng dụng trong thương mại điện tử ” là công trình nghiên cứu của riêng
tôi dướ i sự hướ ng dẫ n củ a PGS.TS. Bùi Thế Hồng Toàn b phn mm
do chí nh tôi xây dựng và kiể m thử . Tôi xin chị u trá ch nhiệ m về lờ i cam
đoan củ a mì nh.
Các số liệu và thông tin sử dụng trong luận văn này là trung thực.

Tác giả Lê Thị Hà
ii

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC
LỜI MỞ ĐẦU vi
1. Lý do chọn đ tài 1
2. Mục tiêu nghiên cứu 1
3. Phương pháp nghiên cứu 2
4. Tổng quan luận văn 2
CHƢƠNG 1 4
TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ 4
1.1. Giớ i thiệ u v mật mã và hệ thống mã khóa 4
1.1.1 Giới thiệu v mật mã học và các yêu cu bảo mật thông tin 4

2.8. Kết luận chương 2 50
CHƢƠNG 3 52
CHƢƠNG TRÌNH SƠ ĐỒ ĐỊNH DANH SCHNORR VÀ SƠ ĐỒ CHỮ
KÝ SCHNORR 52
3.1. Yêu cu hệ thống 52
3.1.1. Phn mm 52
3.1.2. Phn cứng 52
3.2. Màn hình chính của hệ thống 52
3.3. Chương trình sơ đồ định danh Schnorr 53
3.3.1. Thuật toán của chương trình 53
3.3.2. Giao diện chương trình của sơ đồ định danh Schnorr 54
3.3.2.1. Chức năng tạo mới 54
3.3.2.2. Chức năng tạo số 55
3.3.2.3. Chức năng trình ký 55
3.3.2.4. Chức năng gửi 57
3.3.2.5. Chức năng Verify 58
3.3.3. Thử nghiệm 60
3.4. Chương trình sơ đồ chữ ký Schnorr 61
3.4.1. Thuật toán của chương trình 61
iv

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 3.4.2. Giao diện chương trình của sơ đồ chữ ký Schnorr 62
3.4.2.1. Chức năng tạo mới 62
3.4.2.2. Chức năng trình ký 63
34.2.3. Chức năng gửi 63
3.4.2.4. Chức năng Sign 64
3.4.3. Thử nghiệm 65

vi

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC HÌNH VẼ

Hình 1.1: Lược đồ ký 13
Hình 1.2 Lược đồ xác thực 15
Hình 2.1. Sơ đồ hàm băm 47
Hình 3.1. Giao diện tổng thể của hệ thống 52
Hình 3.2. Giao diện chương trình mô phỏng sơ đồ định danh Schnorr 54
Hình 3.3. Giao diện chương trình mô phỏng cơ quan ủy thác xác 56
Hình 3.4. Giao diện chương trình Andy thực hiện gửi thông tin cho Tommy 57
Hình 3.5. Giao diện chương trình thực hiện xác nhận thông tin của Andy 58
Hình 3.6.Giao diện chương trình sơ đồ chữ ký Schnorr 62
Hình 3.7. Giao diện chương trình thực hiện xác nhận thông tin của sơ đồ chữ
ký Schnorr 64
1

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, cùng với sự phát triển không ngừng của ngành công nghệ
thông tin là sự bùng nổ số lượng ứng dụng quản lý thông tin, công việc của tổ
chức, doanh nghiệp, cá nhân, an toàn cho vấn đ xác nhận các thông báo.
Mặt khác, trong môi trường cạnh tranh, người ta ngày càng cn có nhiu
thông tin với tốc đ nhanh để trợ giúp việc ra quyết định và ngày càng có

website và các tài liệu liên quan.
- Phân tích, tổng hợp lý thuyết và giới thiệu các thuật toán của các sơ đồ
định danh mật và cách chuyển sơ đồ định danh schnorr sang sơ đồ chữ ký
schnorr.
- Sử dụng ngôn ngữ lập trình C# để triển khai xây dựng mt chương
trình ứng dụng v sơ đồ định danh schnorr và sơ đồ chữ ký schnorr ứng dụng
trong thương mại điện tử.
4. Tổng quan luận văn
Luận văn được trình bày theo hình thức từ trên xuống. Bắt đu của mỗi
phn đu đưa ra những khái niệm cơ bản và quy định cho phn trình bày tiếp
sau nhằm mục đích giúp dễ dàng trong khi đọc, dn dn đi sâu vào để thảo
luận rõ hơn những vấn đ liên quan.
Luận văn cấu trúc thành 3 chương:
Chƣơng 1: Tổng quan v mật mã và chữ ký số
Tìm hiểu lý thuyết mật mã, hệ thống mã khóa, chữ ký số, các sơ đồ chữ ký
số.
Chƣơng 2: Bài toán sơ đồ định danh mật và xác nhận thông tin
Trình bày bài toán định danh và sơ đồ xưng danh xác nhận danh tính.
Các sơ đồ xưng danh Schnorr, Okamoto đòi hỏi người được ủy quyn tín
nhiệm (TA) dựa trên bài toán tính logarit rời rạc, sơ đồ xưng danh Guillou
– Quisquater, sơ đồ định danh dựa trên tính đồng nhất. Chuẩn chữ ký số và
hàm băm.
3

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chƣơng 3: Chương trình sơ đồ định danh schnorr và sơ đồ chữ ký schnorr
Trình bày việc cài đặt thuật toán bằng ngôn ngữ lập trình C#, trên cơ sở
xây dựng ứng dụng sơ đồ định danh schnorr và sơ đồ chữ ký schnorr.

B bản mật mã, B nhận được bản mã mật và sẽ có cách khôi phục lại văn
bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Vì bản gửi đi
thường được chuyển qua các con đường công khai nên người ngoài có thể
"lấy trm" được, nhưng đó là bản mật mã nên đọc không hiểu được, còn A
có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu
được là do giữa hai người đã có mt thỏa thuận v mt chìa khóa chung,
chỉ với chìa khóa chung này thì A mới tạo được bản mã mật từ bản rõ, và
B mới từ bản mã mật khôi phục lại được bản rõ. Sau này ta sẽ gọi đơn giản
chìa khóa chung đó là khóa mật mã. Tất nhiên để thực hiện được mt phép
mật mã, ta còn cn có mt thuật toán biến bản rõ, cùng với khóa mật mã
5

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn thành bản mã mật và mt thuật toán ngược lại, biến bản mã mật cùng với
khóa mật mã thành bản rõ. Các thuật toán đó được gọi tương ứng là thuật
toán lập mật mã và thuật toán giải mật mã. Các thuật toán này thường không
nhất thiết phải giữ bí mật, mà cái cn được giữ tuyệt mật luôn luôn là khóa
mật mã. Trong thực tiễn, đã có hoạt đng bảo mật thì cũng có hoạt đng
ngược lại là khám phá bí mật từ các bản mã mật "lấy trm" được, ta
thường gọi hoạt đng này là mã thám, hoạt đng này quan trọng không
kém gì hoạt đng bảo mật! Vì các thuật toán lập mật mã và giải mật mã
không nhất thiết là bí mật, nên mã thám thường được tập trung vào việc
tìm khóa mật mã, do đó cũng có người gọi công việc đó là phá khóa.
Bước sang thế kỷ 20, với những tiến b liên tục của kỹ thuật tính
toán và truyn thông, ngành mật mã cũng đã có những tiến b to lớn. Vào
những thập niên đu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn,
truyn và xử lý tín hiệu đã có tác đng giúp cho các hoạt đng lập và giải
mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản,

toán toán học cụ thể (là bài toán tính "lôgarit rời rạc"). Hai năm sau, năm
1978, Rivest, Shamir và Adleman tìm ra mt hệ mật mã khóa công khai và
mt sơ đồ chữ ký điện tử hoàn toàn có thể ứng dụng trong thực tiễn, tính
bảo mật và an toàn của chúng
đ
ư
ợc bảo đảm bằng đ phức tạp của mt bài
toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số
nguyên tố. Sau phát minh ra hệ mật mã đó (mà nay ta thường gọi là hệ
RSA), việc nghiên cứu để phát minh ra các hệ mật mã khóa công khai
khác và ứng dụng các hệ mật mã khóa công khai vào các bài toán khác nhau
của an toàn thông tin đã được tiến hành rng rãi, lý thuyết mật mã và an toàn
thông tin trở thành mt lĩnh vực khoa học được phát triển nhanh trong
vài ba thập niên cuối của thế kỷ 20, lôi cuốn theo sự phát triển của mt số
b môn của toán học và tin học.
1.1.1.2. Các yêu cầu bảo mật thông tin
Hiệ n nay cá c biệ n phá p tấ n công ngà y cà ng tinh vi , đe dọ a tớ i độ an toà n
và bảo mật thông tin. Vì vậy chúng ta cn thiết lập các phương pháp đ phòng
cầ n thiế t. Mục đích cuối cùng của các an toàn bảo mật là bảo vệ các thông tin
và tài nguyên theo các tiêu chí sau:
7

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn - Tính bí mật :
Để đả m bả o dữ liệ u đượ c truyề n đi mộ t cá ch an toà n và không thể bị lộ thông
tin nế u như có ai đó cố tình muố n có đượ c nôi dung củ a dữ liệ u gố c ban đầ u.
Chỉ có người nhận đã xác thực mới có thể lấy ra được ni dung của thông tin
của dữ liệu đã được mã hóa.

mt người gửi A muốn gửi đến mt ng
ư
ời
nhận B mt văn bản (chẳng
hạn, mt bức thư) p, để bảo mật A lập cho p mt bản mật mã c, và thay cho
việc gửi p, A gửi cho B bản mật mã c, B nhận được c và "giải mã" c để lại
được văn bản p như A
gửi. Để A biến p thành c và B biến ngược lại c
thành p, A và B phải thỏa thuận trước với nhau các thuật toán lập mã và
giải mã, và đặc biệt mt khóa mật mã chung K để thực hiện các thuật toán
đó. Người ngoài, không biết các thông tin đó (đặc biệt, không biết khóa
K),
cho dù có lấy trm được c trên kênh truyn thông công cng, cũng
không thể tìm được văn bản p mà hai người A, B muốn gửi cho nhau. Sau
đây ta sẽ cho mt định nghĩa hình thức v sơ đồ mật mã và cách thức thực
hiện để lập mật mã và giải mật mã.
Định nghĩa1.1.2.1 : Mt sơ đồ hệ
thống
mật mã là mt b năm
S = (P
,
C , K , E , D ) (1)
thỏa
mãn
các
điu
kiện sau đây:
P là mt tập hữu hạn các ký tự bản rõ,
C là mt tập hữu hạn các ký tự bản mã,
K là mt tập hữu hạn các khóa,


e
K
và d
K
được gọi ln lượt là hàm lập mã và hàm giải mã ứng với khóa
mật mã K. Các
hàm
đó phải thỏa
mãn
hệ thức:


x
P :
d
K
(e
K
(x))
=
x

V sau, để thuận tiện ta sẽ gọi mt danh sách (1) thoả mãn các tính
chất kể trên là mt sơ đồ hệ thống mật mã , còn khi đã chọn cố
định mt
khoá K, thì danh sách (P , C , e
K
, d
K

a b c d e f g h i j k l m n o p q r s t u v w x y
z

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25.
Đôi khi ta cũng dùng với tư cách tập ký tự bản rõ hay bản mã là các tập tích
của các tập nói trên, đặc biệt là các tập A
m
,
B

m
, Z
m
.
10

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.1.2.2. Hệ thống mật mã đối xứng và công khai.
Theo định nghĩa 1.1.2.1 v sơ đồ mật mã, mỗi ln truyn tin bảo mật,
cả người gửi A và người nhận B phải cùng thỏa thuận trước với nhau
mt khóa chung K, sau đó người gửi dùng e
K
để lập mật mã cho thông báo
gửi đi, và người nhận dùng d
K
để giải mã bản mật mã nhận được. Người
gửi và người nhận cùng có mt khóa
chung K, được giữ như bí mật riêng

đối xứng có tính chất nói trên, trong đó khóa lập mật mã K' của mỗi người
tham gia
đu được công bố công khai được gọi là hệ mật mã khóa công khai.
Khái niệm mật mã khóa công khai mới được ra đời vào giữa những năm
1970 và ngay sau đó đã trở thành mt khái niệm trung tâm của khoa học mật
mã hiện đại.
11

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.2. Chữ ký số
1.2.1. Giới thiệu về chữ ký số
Chữ ký số là mt b phận dữ liệu không thể giả mạo, để xác nhận mt
người đã viết ra hoặc đồng ý với mt tài liệu mà chữ ký đó được gắn vào.
Chữ ký số sử dụng công nghệ mã hoá trên nn tảng khoá công khai, để bảo
đảm tính đúng đắn tính toàn vn v ni dung của mt dữ liệu hoặc mt thông
điệp điện tử và những yêu cu khác đối với các mục đích của mt chữ ký.
Chữ ký số có các tính chất sau:
- Xác thực: người nhận kiểm tra được việc người gửi đã kí vào tài liệu.
- Không thể giả mạo được: chữ ký số xác nhận với người nhận tài liệu là
không ai khác ngoài người kí đã kí tài liệu đó.
- Không thể dùng lại được: chữ ký số có kèm theo ni dung và thời gian gắn
trên tài liệu, nên không thể chuyển chữ ký từ tài liệu này sang tài liệu khác.
- Đảm bảo sự toàn vẹn và đúng đắn của tài liệu: tài liệu đã được kí không thể
giả mạo, sửa đổi hoặc thêm bớt.
- Không thể chối bỏ: chữ ký và tài liệu là chứng cứ v mặt pháp lý và có khả
năng xác thực sự đồng nhất giữa người kí và tài liệu được kí. Do đó người gửi
không thể phủ nhận việc đã kí tài liệu đó.
1.2.2. Quá trình ký và xác thực chữ ký

Hình 1.1 Lược đồ ký
1.2.2.2. Quá trình xác thực chữ ký số
Người nhận khi nhận được văn bản kèm chữ ký số, tiến trình kiểm tra sẽ được
thực hiện như sau:
B1: Lấy đoạn dữ liệu gốc, đưa qua hàm băm đã nói ở trên, thu được mt đoạn
bit là kết quả băm.
B2: Lấy đoạn bit được mã hóa (chữ ký số), giải mã bằng mã khóa công khai
của người gửi, thu được đoạn bit đặc trưng.
Gửi đi
Bản tin điện tử
Bản tóm lược
Hàm băm
Khóa bí mật
của người gửi
Chữ ký số (CKS)
Bản tin rõ đã ký
Gắn CKS vào
bản tin điện tử
Mã hóa
14



Hình 1.2 Lƣợc đồ xác thực
Sau khi ký “văn bản”, nếu cn thiết cho vào “phong bì” nhằm bảo đảm tính bí
mật khi gửi đi, toàn b dữ liệu gốc và chữ ký có thể được đưa mt ln bởi
khóa công khai của người sẽ nhận “văn bản”. Khi nhận được khóa mã, tiếp
Bản tin đã ký
Khóa công khai
của người gửi
Bản tin điện tử
Tách bản tin và
CKS
CKS
Bản tóm lược 1
Hàm băm

Giải mã

Bản tóm lược 2
Giải mã
được?
Gống nhau

sau [1]:
P-tập hữu hạn các thông báo
A-tập hữu hạn các chữ ký có thể
K-tập hữu hạn các khoá, mỗi khóa K
, gồm có hai phn
K = (K', K''), K' là khóa bí mật dành cho việc ký, còn K'' là khóa công khai
dành cho việc kiểm thử chữ ký.
17

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Với mỗi K = (K', K'') trong S có mt thuật toán ký hiệu sig
K'
PA và trong
V có mt thuật toán kiểm thử ver
K''
: PxA  {đúng, sai} thỏa mãn điu kiện
sau đây với mọi thông báo x  P và mọi chữ ký yA:
ver
K''
(x,y) = đúng  y = sig
K'
(x).
Với sơ đồ trên, mỗi chủ thể sở hữu mt b khóa K = (K', K''), công bố
khóa K'' để mọi người có thể kiểm thử chữ ký của mình và giữ bí mật khóa K
'

để thực hiện chữ ký trên các thông báo gửi đi.
Các hàm ver


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status