..
ĐẠ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 Ngun - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠ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Ử
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ: Khoa học máy tính
NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS.TS. Bùi Thế Hồng
Thái Nguyên - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
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 Tồ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à
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii
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
1.1.1.1. Giới thiệu về mật mã học ..............................................................4
1.1.1.2. Các yêu cầu bảo mật thông tin ......................................................6
1.1.2. Các hệ thống mã hóa đối xứng và cơng khai ............................................8
1.1.2.1. Sơ đồ hệ thống mật mã. .................................................................8
1.1.2.2. Hệ thống mật mã đối xứng và công khai.....................................10
1.2. Chữ ký số ................................................................................................11
1.2.1. Giới thiệu về chữ ký số ...........................................................................11
1.2.2. Quá trình ký và xác thực chữ ký .............................................................11
1.2.2.1. Quá trình ký ................................................................................11
1.2.2.2. Quá trình xác thực chữ ký số .......................................................13
1.2.3. Mợt số lược đồ chữ ký số ........................................................................16
1.2.3.1. Định nghĩa sơ đồ chữ ký số: .......................................................16
1.3. Kết luận chƣơng 1 .................................................................................24
CHƢƠNG 2......................................................................................................25
BÀI TOÁN SƠ ĐỒ ĐỊNH DANH MẬT VÀ XÁC NHẬN THÔNG TIN..25
2.1. Tổng quan về bài toán xưng danh...........................................................25
2.2. Sơ đồ xưng danh Okamoto .....................................................................26
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
2.3. Sơ đồ xưng danh Guillou-Quisquater .....................................................32
2.4. Các sơ đồ xung danh dựa trên tính đồng nhất ........................................36
2.5. Sơ đồ xưng danh Schnorr .......................................................................37
2.6. Chuẩn chữ ký số (Digital Signature Standard). ......................................44
2.7. Hàm băm và chữ ký ................................................................................45
2.7.1. Hàm băm (hash function). .......................................................................45
2.7.2. Vai trò của hàm băm ...............................................................................47
2.7.3. Chữ ký .....................................................................................................49
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 tốn của chương trình ...................................................................61
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv
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
3.5. Kết luận chương 3 .............................................................................65
TÀI LIỆU THAM KHẢO ..............................................................................67
PHỤ LỤC .........................................................................................................68
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
v
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Các từ viết tắt Nghĩa tiếng anh
DSS
RSA
Nghĩa tiếng việt
hash function
Hàm băm.
Digital Signature Standard
Chuẩn chữ ký số
Rivest, Shamir và Adleman
Tên ba tác giả của hệ mật
mã RSA
TA
Trusted Authority
Cơ quan ủy thác
E
Elgamal
Sơ đồ chữ ký Elgamal
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vi
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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
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 tồ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ó
nhiều câu hỏi mang tính chất cần phải có giải pháp an tồn cho vấn đề xác
nhận các thơng báo cùng với người gửi trên các mạng truyền tin công cộng.
Trong thực tế c̣c sống, việc xưng danh theo thói quen thường khơng
có tính an tồn chẳng hạn các số PIN, mật khẩu thường khơng có gì để đảm
bảo là được giữ kín, người ngồi khơng biết.
Trong giao thức thực hiện trên điện thoại, bất kỳ kẻ nghe trợm nào
cũng có thể dùng thơng tin định danh cho mục đích riêng của mình. Những
người này cũng có thể là người nhận thơng tin. Các mưu đồ xấu trên thẻ tín
dụng đều hoạt động theo cách này.
Như vậy với sự phát triển tin học trên mọi lĩnh vực như hiện nay, phần
lớn các giao dịch được thực hiện trên các mạng tin học địi hỏi phải có giải
pháp về an tồn trong các khâu xưng danh và xác nhận danh tính cho các hoạt
đợng đó.
Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên
hướng dẫn, em đã chọn đề tài “Sơ đồ định danh mật và sơ đồ chữ ký số ứng
dụng trong thương mại điện tử” làm đề tài cho luận văn thạc sĩ của mình.
2. Mục tiêu nghiên cứu
- Tìm hiểu về lý thuyết mật mã học và hệ thống mật mã.
- Nghiên cứu chữ chữ ký số và quá trình xác thực chữ ký số.
-Chuẩn chữ ký số và hàm băm.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
- Nghiên cứu các sơ đồ chữ ký số và các sơ đồ định danh mật.
- Nghiên cứu phương pháp chuyển sơ đồ định danh mật sang sơ đồ chữ
ký số.
3. Phƣơng pháp nghiên cứu
- Nghiên cứu qua các tài liệu như: sách, các bài báo, thông tin trên cá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 tố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 tố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.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
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 tố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.
Kết luận: Tóm tắt các nợi dung chính, các kết quả đạt được và hướng
nghiên cứu tiếp theo của luận văn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4
CHƢƠNG 1
TỔNG QUAN VỀ MẬT MÃ VÀ CHỮ KÝ SỐ
1.1. Giới thiệu về mật mã và hệ thống mã khóa
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
1.1.1.1. Giới thiệu về mật mã học
Nhu cầu sử dụng mật mã đã xuất hiện từ rất sớm, khi con người
biết trao đổi và truyền đưa thông tin cho nhau, đặc biệt khi các thơng tin
đó đã được thể hiện dưới hình thức ngơn ngữ, thư từ. Lịch sử cho ta biết,
các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm
trước trong nền văn minh Ai cập cổ đại. Trải qua hàng nghìn năm lịch sử,
mật mã đã được sử dụng rộng rãi trên khắp thế giới từ Đông sang Tây để
giữ bí mật cho việc giao lưu thơng tin trong nhiều lĩnh vực hoạt động giữa
con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị,
ngoại giao. Mật mã trước hết là một loại hoạt đợng thực tiễn, nợi dung
chính của nó là để giữ bí mật thơng tin (chẳng hạn dưới dạng mợt văn bản)
từ một người gửi A đến một người nhận B, A phải tạo cho văn bản đó
mợt bản mật mã tương ứng, và thay vì gửi văn bản rõ thì A chỉ gửi cho
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 ngồ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 tốn biến bản rõ, cùng với khóa mật mã
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
thành bản mã mật và mợt thuật tố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 tố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 tố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 tố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
tốn và trù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,
các bản mật mã trước đây được viết bằng ngôn ngữ thông thường nay
được chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy
bit, và các phép biến đổi trên các dãy ký tự được chuyển thành các phép
biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã,
giải mã trở thành việc thực hiện các hàm số số học.
Lý thuyết về độ phức tạp tính tốn ra đời từ giữa những năm 1960 đã
cho ta mợt cách thích hợp để u cầu bí mật hoặc ngẫu nhiên về mợt u cầu
có thể định nghĩa được là yêu cầu về độ phức tạp tính tốn. Bây giờ ta có
thể nói: mợt giải pháp mật mã là bảo đảm bí mật, nếu mọi thuật tốn
thám mã đều phải được thực hiện với đợ phức tạp tính tốn cực lớn. Cực
lớn là bao nhiêu? Là vượt q giới hạn khả năng tính tốn (bao gồm cả máy
tính) mà người thám mã có thể có. Về lý thuyết, có thể xem đó là những
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
đợ phức tạp tính tốn với tốc đợ tăng vượt q hàm mũ, hoặc tḥc loại NPkhó. Tuy nhiên, lý thuyết đợ phức tạp tính tốn khơng chỉ cống hiến cho ta
mợt khái niệm để giúp chính xác hóa tiêu chuẩn bí mật của các giải pháp
mật mã, mà cịn mở ra một giai đoạn mới của ngành mật mã, biến ngành mật
mã thành mợt khoa học có nợi dung lý luận phong phú và có những ứng
dụng thực tiễn quan trọng trong nhiều lĩnh vực của đời sống hiện đại. Bước
ngoặt có tính cách mạng trong lịch sử khoa học mật mã hiện đại xẩy ra vào
năm 1976 khi hai tác giả Diffie và Hellman đưa ra khái niệm về mật mã
khóa cơng khai và mợt phương pháp trao đổi cơng khai để tạo ra mợt
khóa bí mật chung mà tính an tồn được bảo đảm bởi đợ khó của mợt bài
tốn tốn học cụ thể (là bài tố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ử hồn tồn có thể ứng dụng trong thực tiễn, tính
bảo mật và an tồn của chúng được bảo đảm bằng đợ phức tạp của mợt bài
tốn số học nổi tiếng là bài tốn phân tích số ngun thành các thừa số
ngun 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 tốn khác nhau
của an tồn thơng tin đã được tiến hành rộng rãi, lý thuyết mật mã và an tồ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 tố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 tồ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:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
- 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.
- Tính xác thực:
Thơng tin khơng thể bị truy cập trái phép bởi những người không có thẩm
quyền, giúp cho người nhận dữ liệu xác đị nh được chắc chắn dữ liệu mà họ
nhận là dữ liệu gốc ban đầu của người gửi. Kẻ giả mạo không thể có khả năng
để giả dạng mợt người khác hay nói cách khác khơng thể mạo danh để gửi dữ
liệu. Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được.
- Tính tồn vẹn:
Thơng tin khơng thể bị sửa đổi , bị làm giả b ởi những người không có thẩm
quyền giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không tha y đổi
trong quá trì nh truyền đi . Kẻ giả mạo khơng thể có khả năng thay thế dư liệu
ban đầu bằng dữ liệu giả mạo.
- Tính khơng thể chối bỏ:
Thơng tin đươc cam kết về mặt pháp luật của người cung cấp . Người gửi hay
người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin.
- Đảm bảo tí nh sẵn sàng:
Thông tin luôn sẵn sằng để đáp ứng sử dụng cho người có thẩm quyền . Người
gửi không bị từ chối việc gửi thông tin đi.
- Tính chống lặp lại:
Khơng cho phép gửi thơng tin nhiều lần đến người nhận mà người gửi không
hề hay biết.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
1.1.2. Các hệ thống mã hóa đối xứng và cơng khai
1.1.2.1. Sơ đồ hệ thống mật mã.
Mật mã được sử dụng để bảo vệ tính bí mật của thơng tin khi thông
tin được truyền trên các kênh truyền thông công cợng như các kênh bưu
chính, điện thoại, mạng trùn thơng máy tính, mạng Internet, v.v... Giả sử
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 tố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 tốn
đó. Người ngồ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 trù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 là mợt ánh xạ từ KxP vào C, được gọi là phép lập mật mã; và D là một
ánh xạ từ KxC vào P, được gọi là phép giải mã. Với mỗi K∈
, ta định nghĩa eK : P →C , dK :C →P là hai hàm cho bởi :
⎠x P : eK(x) = E (K,x) ; ⎠y C : dK(y) = D (K,y).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
eK và dK đượ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 : dK(eK(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
khố K, thì danh sách (P , C , eK , dK) là một hệ mật mã tḥc sơ đồ đó.
Trong định nghĩa này, phép lập mật mã (giải mã) được định nghĩa
cho từng ký tự bản rõ (bản mã). Trong thực tế, bản rõ của một thông báo
thường là một dãy ký tự bản rõ, tức là phần tử của tập P *, và bản mật mã
cũng là một dãy các ký tự bản mã, tức là phần tử của tập C *, việc mở rộng
các hàm eK và dK lên các miền tương ứng P * và C *. Các tập ký tự bản
rõ và bản mã thường dùng là các tập ký tự của ngôn ngữ thông thường như
tiếng Việt, tiếng Anh (ta ký hiệu tập ký tự tiếng Anh là A tức A =
{a,b,c,...,x,y,z } gồm 26 ký tự; tập ký tự nhị phân B chỉ gồm hai ký tự 0 và
1; tập các số nguyên không âm bé hơn một số n nào đó (ta ký hiệu tập này
là Zn tức Zn = {0,1,2,...., n- 1}). Chú ý rằng có thể xem B = Z2. Để thuận
tiện, ta cũng thường đồng nhất tập ký tự tiếng Anh A với tập gồm 26 số
nguyên không âm đầu tiên Z26 = {0,1,2,...., 24,25} với sự tương ứng sau
đây:
a b c d e f g h i j k l mn 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 Am , B m , Z m .
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
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 eK để lập mật mã cho thông báo
gửi đi, và người nhận dùng dK để 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
của hai người, dùng cả cho lập mật mã và giải mã, ta gọi những hệ mật mã
với cách sử dụng đó là mật mã khóa đối xứng, đơi khi cũng gọi là mật mã
trùn thống vì đó là cách đã được sử dụng từ hàng ngàn năm nay. Tuy
nhiên, về nguyên tắc hai hàm lập mã và giải mã là khác nhau không nhất
thiết phải phụ tḥc cùng mợt khóa. Nếu ta xác định mỗi khóa K gồm có
hai phần K = (K' , K'' ), K' dành cho việc lập mật mã (và ta có hàm lập mã
eK' ), K'' dành cho việc giải mã (và có hàm giải mã dK'' ), các hàm lập mã
và giải mã thỏa mãn hệ thức dK'' (eK' (x)) = x với mọi x ∈P , thì ta được
mợt hệ mật mã khóa phi đối xứng. Như vậy, trong mợt hệ mật mã khóa phi
đối xứng, các khóa lập mã và giải mã (K' và K'' ) là khác nhau, nhưng tất
nhiên có quan hệ với nhau. Trong hai khóa đó, khóa cần phải giữ bí mật là
khóa giải mã K'' , cịn khóa lập mã K' có thể được cơng bố cơng khai, tuy
nhiên điều đó chỉ có ý nghĩa thực tiễn khi việc biết K' tìm K'' là cực kỳ khó
khăn đến mức hầu như khơng thể thực hiện được. Mợt hệ mật mã khóa phi
đố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.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
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ã hố trên nền tảng khố cơng khai, để bảo
đảm tính đúng đắn tính tồ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 ngồ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. Q trình ký và xác thực chữ ký
1.2.2.1. Q trình ký
Đoạn dữ liệu cần được bảo mật đưa qua hàm băm (hashing0), kết quả của
hàm băm là một đoạn bit đảm bảo 2 tính chất sau:
- Tính duy nhất: mỗi mợt đoạn dữ liệu khác nhau thì sẽ có mợt đoạn bit khác
nhau, khơng trùng lặp, có đợ dài khơng đổi.
- Tính mợt chiều: từ đoạn bit đặc trưng này, không suy ngược lại được nội
dung đoạn văn bản.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Đoạn bit đặc trưng này được mã hóa bằng khóa bí mật của người gửi và đính
kèm vào “văn bản”, rồi gửi đến người nhận. Đoạn bit được mã hóa này chính
là chữ ký số (digital signature).
Lược đồ ký được mơ tả bằng hình vẽ dưới đây:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
Bản tin điện tử
Khóa bí mật
của người gửi
Hàm băm
Bản tóm lược
Mã hóa
Chữ ký số (CKS)
Gắn CKS vào
bản tin điện tử
Gửi đi
Bản tin rõ đã 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.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
B3: So sánh đoạn bit vừa thu được với đoạn bit thu được trong bước 1, nếu 2
kết quả trùng nhau và tin rằng khóa cơng khai chắc chắn là do người gửi phát
hành thì kết luận:
- Dữ liệu nhận được có tính tồn vẹn (vì kết quả băm là duy nhất, một chiều)
- Dữ liệu nhận được là do chính người gửi đi vì chỉ duy nhất người nhận
được xác thực mới có khóa bí mật phù hợp với khóa cơng khai đã được sử
dụng để giải được sử dụng để giải mã. Như vậy tính chống từ chối và tính
xác thực được kiểm tra và xác nhận. Lúc này người nhận tin rằng khóa
cơng khai đó đại diện hợp pháp cho người gửi.
Lược đồ xác thực chữ ký số được mơ tả bằng hình vẽ dưới đây:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
Bản tin đã ký
Tách bản tin và
CKS
Khóa cơng khai
của người gửi
CKS
Giải mã
Bản tin điện tử
Hàm băm
Bản tóm lược 1
Giải mã
được?
có
Bản tóm lược 2
Khơng Đúng người gửi
Gống nhau
Đúng người gửi
khơng
Bản tin là tồn vẹn
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, tồ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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
tục sử dụng khóa mã này sẽ giải mã được văn bản. Như vậy, tính bí mật của
giao dịch sẽ được đảm bảo từ người gửi, đến tận người nhận.
1.2.3. Một số lƣợc đồ chữ ký số
Để một chữ ký số có các tính chất cần thiết phải có mợt cơ chế hay
mợt quy trình nhất định để tạo ra chữ ký số đó, được gọi là quy trình tạo ra
chữ ký số. Quy trình tạo chữ ký số dựa trên thuật toán sinh chữ ký số. Việc
xác minh chữ ký số trên một tài liệu, dữ liệu được thực hiện dựa trên các thuật
toán xác minh chữ ký số.
Quá trình xác minh chữ ký số cịn bao gồm cả các phương thức phục hồi dữ
liệu. Tất cả các thuật toán sử dụng trong việc tạo chữ ký số, xác minh chữ ký
số, xác thực chữ ký số và tài liệu tạo thành một cơ chế sử dụng chữ ký số và
tập hợp thành mợt lược đồ kí chữ ký số.
Một lược đồ chữ ký số gồm 2 thành phần: thuật toán khởi sinh chữ ký số và
thuật toán xác minh kết hợp với nó.
Tommy có thể kí thơng báo x nhờ thuật tốn kí (bí mật) Sig. Chữ ký
thu được sig(x), sau đó có thể được kiểm tra nhờ thuật tốn kiểm tra cơng
cợng Ver. Khi cho cặp (x,y) thuật toán kiểm tra sẽ trả lời “đúng” hoặc “sai”
phụ tḥc vào việc chữ ký có đích thực khơng.
1.2.3.1.
Định nghĩa sơ đồ chữ ký số
Một sơ đồ chữ ký là bộ năm S= (P, A, K, S, V ) thoả mãn các điều kiện
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 khố, 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ý.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
Với mỗi K = (K', K'') trong S có mợt thuật tốn ký hiệu sig K' PA và trong
V có mợt thuật tốn kiểm thử verK'' : 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ý yA:
verK''(x,y) = đúng y = sigK' (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 verK'' và sigK' (x) (khi biết K' ) phải tính được mợt cách dễ dàng,
nhưng hàm sigK' (x) phải khó tính được, nếu khơng biết K'. Đây là điều kiện
bảo mật cho việc ký cũng như chống giả mạo chữ ký.
Một sơ đồ chữ ký không thể an tồn vơ điều kiện, vì kẻ thứ ba có thể
kiểm tra tất cả các chữ ký số đã có trên bức điện x, nhờ dùng thuật tốn
verK''(x,y) cơng khai, cho đến tìm thấy mợt chữ ký đúng. Vì thế, nếu có đủ
thời gian kẻ thứ ba ln có thể giả mạo chữ ký của người gửi. Do vậy, mục
đích của chữ ký số là tìm các lược đồ chữ ký, sao cho kẻ thứ ba không đủ thời
gian thực tế để thử (an tồn tính tốn).
Ta sẽ xét hai sơ đồ chữ ký số là sơ đồ chữ ký số ElGamal và trọng tâm
là sơ đồ chữ ký số RSA
1.2.3.2. Sơ đồ chữ ký số Elgaman
Sơ đồ chữ ký Elgamal đề xuất năm 1985. Bản cải tiến của sơ đồ này
đã được Viện Tiêu chuẩn và Công Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm
chữ kí số [1]. Sơ đồ Elgamal (E) được thiết kế với mục đích dành riêng cho
chữ kí số, khác sơ đồ RSA dùng cho cả hệ thống mã khố cơng khai lẫn chữ
kí số.
Sơ đồ E khơng giống như hệ thống mã khố cơng khai Elgamal. Điều này có
nghĩa là có nhiều chữ kí hợp lệ trên bức điện cho trước bất kỳ. Thuật toán xác
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên