Tải bản đầy đủ (.doc) (74 trang)

Nghiên cứu hệ mật đường cong Elliptic và ứng dụng vào chữ ký điện tử trong bảo mật giao dịch thanh toán của Ngân hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.32 MB, 74 trang )

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1. Định hướng đề tài tốt nghiệp
Nghiên cứu hệ mật đường cong elliptic và ứng dụng vào chữ ký điện tử trong bảo mật
giao dịch thanh toán của ngân hàng.uh
2. Các nhiệm vụ cụ thể của ĐATN

 Tìm hiểu về chữ ký điện tử.
 Tìm hiểu về giao dịch thanh tốn trong inernet banking và yêu cầu về bảo mật.
 Nghiên cứu về phương pháp mó hoỏ đường cong elliptic.
 Xây dựng website có sử dụng chữ ký điện tử dựa trên đường cong elliptic trong
dịch vụ thanh toán của ngân hàng.
3. Lời cam đoan của sinh viên:
Tơi Đồn Thị Kim Oanh cam kết ĐATN là cơng trình nghiên cứu của bản thân tơi
dưới sự hướng dẫn của Ths. Bùi Thị Hồ.
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép tồn văn của bất
kỳ cơng trình nào khác.

Hà Nội, ngày 24 tháng 05 năm 2008
Tác giả ĐATN

Đoàn Thị Kim Oanh

4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép
bảo vệ.


TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đồ án "Nghiên cứu hệ mật đường cong Elliptic và ứng dụng vào chữ ký điện
tử trong bảo mật giao dịch thanh toán của Ngân hàng" là một phần của ý tưởng về
"bảo mật trong giao dịch thanh toán của Ngân hàng". Ý tưởng này được đề xuất do


sự phát triển của ngân hàng trực tuyến internet banking, và cùng song hành với nó
là nhu cầu bảo mật trong xã hội thơng tin. Để bảo mật giao tiếp giữa trình duyệt của
bạn tới máy chủ của Ngân hàng, thì mật mã học được sử dụng để bảo vệ giao dịch
ngân hàng khỏi sự truy cập hay can thiệp trái phép. So với hệ mã truyền thống RSA,
thỡ mó hoỏ đường cong elliptic đang nổi lên như một hệ mó hoỏ cơng khai rất hấp
dẫn cho mơi trường bị ràng buộc, do kích thước khố, u cầu tính tốn nhỏ hơn
đáp ứng mức bảo mật tương đương. Vì thế, việc ứng dụng chữ ký điện tử trong giao
dịch thanh toán sẽ mang lại tốc độ xử lý nhanh hơn, giảm sự tiêu thụ năng lượng,
cũng như yêu cầu về bộ nhớ và băng thông sẽ giảm xuống.
Nội dung của đồ án bao gồm 6 phần được viết thành 6 chương:
 Chương 1 trình bày về cơ sở hạ tầng của chữ ký điện tử bao gồm: một
số hệ mó hoỏ cơng cộng điển hình, hàm băm… cũng như đưa ra cái
nhìn tổng quan về lịch sử phát triển ngành mật mã và ưu điểm nổi trội
của hệ ECC.
 Chương 2 trình bày về Ibanking, lợi ích cũng như yêu cầu về bảo mật,
xác thực trong giao dịch thanh tốn.
 Chương 3 trình bày phương pháp ECC, là cách tiếp cận đại số đường
cong elliptic trên trường hữu hạn.
 Chương 4 trình bày tổng quan về chữ ký điện tử và các sơ đồ ký dựa
trên đường cong elliptic
 Chương 5 ứng dụng của hệ chữ ký điện tử đường cong Elliptic trong
giao dịch thanh toán: Trong chương này đưa ra giải pháp xác thực
trong Ibanking.
 Chương 6: Đánh giá và kết luận về các kết quả đã đạt được


ABSTRACT
"Elliptic curve cryptography and the use of integrate elliptic curve digital
signature for online banking transaction security" thesis is a part of the "online
banking transaction security" idea. This idea is proposed because of developing

internet banking and anyway, bank security issue is the most important. To secure
communications between your Internet Browser and the Bank's servers,
Cryptography (encryption) is used to protect banking transactions from
unauthorized access or tampering. Compared to traditional cryptosystems like RSA,
Elliptic Curve Cryptography (ECC) is emerging as an attractive public-key system
for constrained environments, because of the small key sizes and computational
efficiency, while preserving the same security level as the standard methods. Thus,
the Elliptic Curve Digital Signature in online transaction will offer equivalent
security with faster computations, lower power consumption, as well as memory
and bandwidth savings
The content of this thesis involves six parts that is written to six chapters:
 Chapter 1: presents digital signature infrastructure: public key cryptosystem,
hash function… and the comparison between the ECC and the RSA (that is
widely used) to see advantages, especially in processing speed.
 Chapter 2: about online banking transaction and banking transactions
security issue
 Chapter 3: involve elliptc curve cryptography, is an approach to public key
cryptography based on the algebraic structure of elliptic curves over finite
field.
 Chapter 4: Digital signature and some elliptic curve digital signature
schemes.
 Chapter 5: Intergrating ECDSA in banking transactions security
 Chapter 6: presents the results of this thesis that is achieved.


LỜI CẢM ƠN

Trong thời gian thực hiện đồ án tốt nghiệp, em đã nhận được rất nhiều sự
động viên, khích lệ và hỗ trợ từ phớa cỏc thầy cô, cha mẹ và bạn bè.
Em xin bày tỏ lòng biết ơn chân thành nhất tới Cô giáo, Thạc sĩ Bùi Thị Hồ,

giảng viên bộ mơn Cơng nghệ phần mềm, khoa Cơng nghệ thông tin, Đại học Bách
khoa Hà Nội, người đã trực tiếp hướng dẫn em hoàn thành đồ án này.
Em xin gửi lời cảm ơn tới các thầy cô trong khoa Cơng nghệ thơng tin nói
chung, Bộ mơn Cơng nghệ phần mềm nói riêng đã tạo điều kiện giúp đỡ, truyền đạt
những kiến thức và kỹ năng cần thiết để em hồn thành nhiệm vụ học tập của mình.
Con xin cảm ơn cha mẹ và những người thân đó luụn ở bên con, ủng hộ và
giúp đỡ con trong quá trình học tập.
Cuối cùng, tơi xin gửi lời cảm ơn tới các bạn lớp CNPM K48 đã sát cánh
cựng tụi trong suốt năm học qua.

Hà Nội, ngày 24 tháng 5 năm 2008
Tác giả đồ án
Đoàn Thị Kim Oanh


MỤC LỤC
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP...................................................2
ABSTRACT............................................................................................................3
LỜI CẢM ƠN.........................................................................................................4
MỤC LỤC...............................................................................................................5
Phụ lục các hình vẽ.................................................................................................8
Phụ lục các bảng biểu.............................................................................................8
Phụ lục thuật ngữ và các từ viết tắt.......................................................................9
CHƯƠNG I. CƠ SỞ HẠ TẦNG CỦA CHỮ KÝ ĐIỆN TỬ..............................10
1. Giới thiệu chung.........................................................................................10
2. Mó hoỏ sử dụng khố cơng khai.................................................................11
2.1. Mó hoỏ an tồn (Secrecy)...............................................................12
2.2. Xác thực (Authentication)...............................................................13
2.3. Hệ thống khố cơng khai (secrecy and authentication)...................13
2.4. Thuật tốn mó hoỏ RSA..................................................................14

2.5. Thuật tốn mó hoỏ Elgamal............................................................15
2.6. Thuật tốn ECC...............................................................................17
2.7. So sánh giữa các phương phỏp mó hoỏ sử dụng khố cơng khai....18
2.8. Vấn đề quản lý khoá........................................................................20
3. Hàm băm.....................................................................................................23
3.1. Tổng quan về hàm băm...................................................................23
3.2. Thuật toán băm SHA-1....................................................................24
3.3. So sánh đặc điểm của các thuật toán SHA-n...................................26
3.4. So sánh SHA-1 và MD5..................................................................26
4. Kết chương.................................................................................................27
CHƯƠNG II. IBANKING VÀ VẤN ĐỀ XÁC THỰC TRONG GIAO DỊCH
THANH TOÁN.....................................................................................................28
1. Khái niệm về Ibanking................................................................................28
2. Yêu cầu bảo mật, xác thực trong giao dịch thanh toán................................30
2.1. Các nguy cơ bị tấn công, đe dọa......................................................30
2.2. Các biện pháp an ninh.....................................................................32
3. Kết chương.................................................................................................36
CHƯƠNG III. PHƯƠNG PHÁP ECC................................................................37
1. Lý thuyết toán học......................................................................................37
1.1. Nhóm...............................................................................................37
1.2. Trường hữu hạn...............................................................................37
2. Lý thuyết đường cong Elliptic....................................................................43


2.1. Công thức Weierstrasse và đường cong elliptic..............................44
2.2. Các phép toán trên đường cong Elliptic..........................................45
3. Áp dụng lý thuyết đường cong elliptic vào mó hoỏ....................................47
3.1. Cỏch nhỳng bản rừ lờn đường cong Elliptic....................................47
3.2. Các hệ mã đường cong elliptic (ECC).............................................48
3.3. Trao đổi khoá theo phương pháp Diffie-Hellman sử dụng lý thuyết

đường cong elliptic (ECDH)..................................................................49
4. Kết chương.................................................................................................50
CHƯƠNG IV. CHỮ KÝ ĐIỆN TỬ VÀ CÁC SƠ ĐỒ Kí DỰA TRÊN ĐƯỜNG
CONG ELLIPTC..................................................................................................51
1. Giới thiệu về chữ ký điện tử........................................................................51
1.1. Giới thiệu........................................................................................51
1.2. Khái niệm về chữ kí điện tử............................................................51
1.3. Mơ hình hoạt động của chữ ký điện tử............................................52
2. Các sơ đồ ký dựa trên ECC.........................................................................54
2.1. Sơ đồ chữ ký ECDSA......................................................................54
2.2. Sơ đồ chữ ký mù Harn trên EC.......................................................55
2.3. Sơ đồ đa chữ ký mù Harn trên EC...................................................56
3. Lựa chọn đường cong Elliptic phù hợp.......................................................58
4. Kết chương.................................................................................................61
CHƯƠNG V. TÍCH HỢP CHỮ KÝ ĐIỆN TỬ DỰA TRÊN ECC TRONG
BẢO MẬT GIAO DỊCH THANH TOÁN CỦA NGÂN HÀNG........................62
1. Mơ tả bài tốn:............................................................................................62
2. Giải pháp Ibanking......................................................................................63
3. Thiết kế hệ thống:.......................................................................................64
4. Chương trình cài đặt...................................................................................67
CHƯƠNG VI. ĐÁNH GIÁ VÀ KẾT LUẬN......................................................73
1. Tổng hợp các kết quả..................................................................................74
2. Nhận xét và tự đánh giá..............................................................................74
3. Phương hướng phát triển của đề tài............................................................74
Tài liệu tham khảo................................................................................................75
Phụ lục................................................................................................................... 76


Phụ lục các hình vẽ
Hình 1-1: Mó hoỏ sử dụng khố cơng khai.............................................................11

Hình 1-2: Xác thực sử dụng khố cơng khai...........................................................12
Hình 1-3: Mơ hình sử dụng khố cơng khai............................................................13
Hình 1-4: Thực hiện RSA........................................................................................14
Hình 1-5: Q trình phân phối khố cơng khai........................................................20
Hình 1-6: Chứng chỉ khố cơng khai.......................................................................21
Hình 1-7: Q trình băm một bản tin.......................................................................23
Hình 1-8: Quá trình băm một khối..........................................................................24
Hình 4-1: Hoạt động của hệ thống chữ ký điện tử...................................................52
Hình 4-2: Quá trình tạo chữ ký................................................................................52
Hình 4-3: Quá trình xác thực chữ ký.......................................................................53
Hình 5-1: Diagram..................................................................................................65

Phụ lục các bảng biểu
Bảng 1-1: So sánh kích thước khố RSA và ECC với cùng mức độ an toàn...........17
Bảng 1-2: So sánh mức độ bảo mật giữa RSA và ECC...........................................18
Bảng 1-3: Bảng so sánh thời gian thực hiện các thuật toán RSA và ECC...............18
Bảng 1-4: So sánh đặc điểm của các thuật toán SHA-n...........................................25
Bảng 4-1: NIST đề xuất các đường cong cho trường nguyên tố..............................61
Bảng 5-1: Bảng thông tin về chủ sở hữu tài khoản (người đại diện cho một tổ chức)
................................................................................................................................ 65
Bảng 5-2: Bảng thông tin tài khoản của người dùng...............................................66
Bảng 5-3: Bảng thông tin về về quyền của người dùng...........................................66
Bảng 5-4: Bảng lưu chữ ký của người dùng............................................................67


Phụ lục thuật ngữ và các từ viết tắt

STT

Thuật ngữ


1
2

và từ viết tắt
EC
ECC

3

ECDSA

4
5

EDLP
ISO

6

FIPS

7

IEEE

8

NIST


9

RSA

10
11

SHA
CA

12

SET

13
14

DES
MIP

Tên đầy đủ và giải thích
Đường cong Elliptic (Elliptic Curve)
Mã hoá đường cong Elliptic (Elliptic Curve Crypt)
Thuật toán ký trên EC (EC Digital Signature
Algorithm)
Bài toán Logarith rời rạc trên EC
Tổ chức tiêu chuẩn quốc tế
Tiêu chuẩn xử lý thông tin Hoa Kỳ (US Federal
Information Processing Standard)
Institute of Electrical Electronics Engineers

Cơ quan quốc gia về chuẩn hố và cơng nghệ
(National Institute of Standard and Technology)
Thuật tốn mã hố cơng khai RSA (Rivest, Shamir
and Adleman)
Thuật tốn hàm băm an tồn (Secure Hash Algorithm)
Tổ chức chứng thực (Certificate Authority)
Giao thức ứng dụng cho thanh toán điện tử (Secure
Electronic Transmission)
Chuẩn mã hoá dữ liệu (Data Encryption Standard )
Triệu lệnh trên giây (Million Instruction Per Second)

CHƯƠNG I. CƠ SỞ HẠ TẦNG CỦA CHỮ KÝ ĐIỆN TỬ
1. Giới thiệu chung
Q trình truyền thơng trên mạng đưa ra những yêu cầu khắt khe về tính an
toàn của dữ liệu được truyền đi. Dữ liệu truyền từ người gửi đến người nhận cần
đảm bảo tính tồn vẹn, khơng bị xóa, sửa trong q trình xử lý, phải đảm bảo tính


riêng tư, tức là không bị đọc trộm bởi người sử dụng bất hợp pháp, người gửi và
nhận phải có trách nhiệm đối với thơng tin truyền đi…Giải pháp tồn diện và được
sử dụng rộng rãi hiện nay chính là các kĩ thuật mã hóa (encryption) và giải mã
(decryption). Kĩ thuật này có thể sử dụng các thuật tốn khác nhau, đảm bảo mức
độ bảo mật khác nhau nhưng đều đáp ứng tính tin cậy trong q trình truyền thơng
tin.
Xét một cách tổng qt thì mã hóa khơng được sử dụng đại chúng trên internet
nhưng với các hệ thống đặc biệt như ngân hàng, thương mại, quân sự thì mã hóa là
một u cầu tiên quyết để đảm bảo tính an tồn.
Có nhiều kiểu mã hóa nhưng khơng phải tất cả đều tin cậy. Hiện nay, mã hóa
64 bít được coi là khá mạnh nhưng chuẩn mã hóa là 128 bít và có thể thay thế trong
tương lai. Mã hóa có thể phân thành mã hóa đối xứng (symetric) và mã hóa bất đối

xứng (asymetric). Các thuật tốn khóa đối xứng như Blowfish, DES sử dụng cùng
một khóa để mã hóa khi gửi và giải mã khi nhận. Khóa này được phân phối trước
khi truyền dữ liệu. Đối với lược đồ mã hóa bất đối xứng như RSA, Diffie Hellman,
nó sẽ tạo ra một cặp khóa: khóa cơng khai (public key) và khóa bí mật (secret key).
Một khi đã được mã hóa, bản tin đã mã hóa này (cyphertext) khơng thể giải mã nếu
khơng có khóa bí mật tương ứng. Do đó, kiểu mã hóa bất đối xứng có độ an tồn
cao hơn mã hóa đối xứng.
Để hiểu được hoạt động của các hệ thống mã hóa, trước hết đồ án xin được
trình bày một số khái niệm cơ bản sau đây:
Mã hóa (encryption): Là q trình chuyển đổi dữ liệu từ dạng có thể đọc
được (plain text) sang dạng không thể đọc được (cipher) đối với những người không
được phép, bằng cách sử dụng một số quy tắc nhất định.
Giải mã (decryption): Ngược lại với q trình mã hóa, giải mã chuyển một
bản tin không thể đọc được về dạng đọc được ban đầu.
Khóa (key): là một mẩu thơng tin đặc biệt kết hợp với một thuật toán để thi
hành mã hóa và giải mã. Có thể sử dụng một khóa duy nhất (mã hóa đối xứng) hoặc
một cặp khóa (mã hóa bất đối xứng) để mã hóa và giải mã.
Plaintext (bản rõ): Là bản tin hoặc dữ liệu ban đầu có thể đọc được, là đầu
vào (input) của thuật tốn mã hóa.
Encryption algorithm (thuật tốn mã hóa): Thực hiện một số phép thay thế
hoặc chuyển đổi dạng biểu diễn của dữ liệu trên plaintext.
Cyphertext (bản mã hóa): Là đầu ra của thuật tốn mã hóa, khơng thể đọc
được, bản mã hóa này phụ thuộc vào thuật tốn mã hóa và plaintext.
Gọi E , D lần lượt là hàm mã hóa và giải mã với khóa K


P là bản tin ban đầu, C là bản mã hóa
Khi đó E , D thỏa mãn yêu cầu sau:
a)


C = Ek(P)

b)

P = Dk(C) = Dk(Ek(P))

Với hạ tầng chữ ký điện tử về cơ bản là các hệ mã công khai và hàm băm, vì
thế hai phần sau đõy tụi xin trình bày về vấn đề này.

2. Mó hố sử dụng khố cơng khai
Việc phát minh ra hệ mó hoỏ cơng cộng có thể coi là một cuộc cách mạng
trong lịch sử mật mã học. Nó đó dần dần thay thế hệ thống mã hóa cổ điển chỉ dựa
trên phương pháp thế và hốn vị thơng thường, mà dựa trên các hàm tốn học cơ
bản. Hệ thống mã hóa cơng khai sử dụng hai khóa riêng biệt là khóa bí mật (private
key) và khóa cơng khai (public key). Mã hóa khóa cơng khai được ứng dụng trong
các hệ thống mã hóa và xác thực.

2.1. Mó hố an tồn (Secrecy)

Hình 1-1: Mã hố sử dụng khố cơng khai
Khi Alice muốn truyền một bản tin tới Bob, nhằm đảm bảo tính bí mật, cần
thực hiện các bước sau:
Bước 1: Mỗi bên sinh ra một cặp khóa để giải mã và mã hóa dữ liệu.
Bước 2: Mỗi bên đặt một trong hai khóa vào thanh ghi public hoặc tệp tin có
thể truy cập được. Đây là khóa cơng khai, khóa cịn lại là khóa bí mật


Bước 3: Nếu Alice muốn gửi một bản tin tin cậy cho Bob, cơ ấy sẽ mã hóa
bản tin sử dụng khóa cơng khai của Bob.
Bước 4: Khi Bob nhận được bản tin đã mã hóa, anh ta sẽ giải mã bản tin bằng

khóa private của mỡnh. Khụng một người nào nhận bản tin có thể giải mã được, vì
chỉ Bob mới cú khóa private của chính anh ta.

2.2. Xác thực (Authentication)

Hình 1-2: Xác thực sử dụng khố cơng khai
Khi truyền tin với mong muốn đảm bảo tính xác thực, nghĩa là khi nhận tin,
Bob muốn biết chắc bản tin này là do Alice gửi và không bị sửa đổi, cần thực hiện
các bước sau:
Bước 1 và 2: Giống như q trình truyền tin bí mật.
Bước 3: Alice mã hóa bản tin bằng khóa bí mật của mình.
Bước 4: Khi nhận bản tin mã hóa, Bob sẽ chọn trong số khóa cơng khai mà
anh ta cú, khóa cơng khai của Alice, nếu khóa này giải mã chính xác được bản tin
thì quá trình xác thực được đảm bảo.
Đây là ứng dụng của public key trong hệ thống chữ ký điện tử.

2.3. Hệ thống khố cơng khai (secrecy and authentication)
Kết hợp hai q trình trên có thể mơ hình hóa q trình tạo khóa, mã hóa bản
tin và giải mã bản tin như hình 1.3 dưới đây:


Hình 1-3: Mơ hình sử dụng khố cơng khai
Sau đây tơi xin trình bày một số thuật tốn mó hoỏ công khai cổ điển và hệ mã
đường cong Elliptic

2.4. Thuật tốn mó hoỏ RSA
Ngun lý của hệ mật mã RSA
RSA là hệ mã hóa khóa cơng khai được giới thiệu năm 1977 bởi Reivest,
Shamir và Adleman.
RSA được xây dựng trên cơ sở số học Modul. Cả việc mã hóa và giải mã đều

được hoàn tất bằng việc nâng cao số thành Modul hàm mũ, một số là tích của hai số
nguyên tố rất lớn (chứa ít nhất từ 100 đến 200 chữ số)

2.4.1. Tạo khóa
Giả sử Alice và Bob cần trao đổi thơng tin bí mật thơng qua một kênh khơng
an tồn (ví dụ như Internet). Với thuật tốn RSA, Alice đầu tiên cần tạo ra cho mình
cặp khóa gồm khóa cơng khai và khóa bí mật theo các bước sau:


Chọn ngẫu nhiên hai số nguyên tố đủ lớn p

q



Tính n = pq



Tính F(n) = (p-1)(q-1)



Chọn ngẫu nhiên khóa mã hóa e sao cho 1 < e < F(n) và gcd(e,F(n))=1

(tức là e và F(n) là hai số nguyên tố cùng nhau)


Tỡm khóa giải mã d


n thỏa mãn e.d



Cơng bố khố cơng khai {e,n}

1 mod F(n)


 Giữ bí mật khóa giải mã riêng {d,n} (các giá trị bí mật p, q bị huỷ bỏ)

2.4.2. Mã hóa
Để mã hóa 1 thơng báo ngun bản M, bên gửi thực hiện :


Lấy khóa cơng khai của bên nhận là {e, n}



Tính C = Me mod n

2.4.3. Giải mã
Để giải mã bản mã C nhận được, bên nhận thực hiện


Sử dụng khóa riờng là {d, n}



Tính M = Cd mod n. Như thế là ta đã thu được nguyên bản M.


Ví dụ


Tạo khóa RSA

-

Chọn 2 số ngun tố p = 17 và q = 11

-

Tính n = pq = 17 ´ 11 = 187

-

Tính F(n) = (p - 1)(q - 1) = 16 ´ 10 = 160

-

Chọn e : gcd(e, 160) = 1 và 1 < e < 160; lấy e = 7

-

Xác định d : de ≡ 1 mod 160 và d ≤ 187

-

Giá trị d = 23 vì 23 ´ 7 = 161 = 1 ´ 160 + 1


Cơng bố khóa cơng khai KU = {7, 187}
Giữ bí mật khóa riờng KR = {23, 187}
Hủy bỏ các giá trị bí mật p = 17 và q = 11


Thực hiện RSA

Hình 1-4: Thực hiện RSA

2.5. Thuật tốn mó hoỏ Elgamal
Nguyên lý của Elgamal


Hệ mã hóa ElGamal được đề xuất năm 1985, là hệ mã hóa khóa cơng khai
được xây dựng dựa trên bài toán logarit rời rạc. Bài toán khi thiết lập môi trường
hữu hạn Zp với p là số nguyên tố được mơ tả như sau:
Đặc trưng của bài tốn: I = (p,α,β)) trong đó p là số nguyên tố, α € Zp là phần
tử nguyên thủy, β € Zp*
Mục tiêu: Hóy tỡm một số nguyên duy nhất a, 0 ≤ a ≤ p-2 sao cho:
αa ≡ β) (mod p)
Ta sẽ xác định số ngun a bằng logαβ
Mơ tả hệ mó hoỏ Elgamal
Cho p là số nguyên tố sao cho bài tốn logarith rời rạc trong Zp là khó giải.
Cho α €Zp* là phần tử nguyên thủy. Giả sử P = Zp*, C = Zp* ì Zp*. Ta định
nghĩa:
K= {(p, α, a, β)): β) ≡ αa (mod p)}
Các giá trị p, α, β được cơng khai, cịn a giữ kín
Với K = (p, α, a, β) và một số ngẫu nhiên bí mật k € Zp-1 , ta xác định:
ek (x,k) = (y1 ,y2 )
trong đó: y1 = αk mod p, y2 = xβ)k mod p

với y1, y2 € Zp* ta xác định: dk(y1 ,y2 ) = y2 (y1a )-1 mod p
Trong hệ mật này, bản mã phụ thuộc vào cả bản rõ x lẫn giá trị ngẫu nhiên k.
Bởi vậy, sẽ có nhiều bản mã được mã từ cùng một bản rõ.
Sau đây là mô tả sơ lược cách làm việc của hệ mật ElGamal. Bản rõ x được
“che dấu” bằng cách nhõn nó với β k để tạo ra y2. Giá trị αk cũng được gửi đi như
một phần của bản mã. Nếu một người biết số mũ bí mật a có thể tính được β k từ αk.
Sau đó anh ta sẽ “thỏo mặt nạ” bằng cách chia y2 cho βk để thu được x.
Ví dụ:
Cho p = 2579, α = 2, a = 765. Khi đó
β) = 2765 mod 2579 = 949
Bây giờ ta giả sử Alice muốn gửi thông báo x = 1299 tới Bob. Giả sử số ngẫu
nhiên k mà cô chọn là k = 853. Sau đó cơ ta tính
y1 = 2853 mod 2579 = 435
y2 = 1299 ì 949853 mod 2579 = 2396
Sau đó Bob thu được bản mã y = (435,2396), anh ta tính
x = 2396 ì (435765)-1 mod 2579 = 1299


Đú chính là bản rõ mà Alice đã mã hóa.

2.6. Thuật toán ECC
Nguyên lý hệ mã đường cong elliptic:
Hệ ElGamal dựa trên bài tốn logarit rời rạc tìm a để α a ≡ β (mod p), còn hệ
mã dựa trên đường cong elliptic (E) dựa trên bài toán logarit rời rạc trên đường
cong: tìm a để a = β với , β  E.
Bài tốn khi thiết lập mơi trường hữu hạn Z p với p là số nguyên tố được mơ tả
như sau:
Đặc trưng của bài tốn: I= {p,E,P,n}
P là điểm cơ sở trên đường cong elliptic E với xp, yp thuộc Zp.
Mơ tả hệ mó hoỏ:

Cho đường cong elliptic E trên trường hữu hạn Zp.
Chọn p nguyên tố đủ lớn để bài toán logarit rời rạc trên đường cong elliptic là
khó giải.
Tạo khố:
Khóa bí mật là d thuộc [1,n-1];
Khố cơng khai Q= dP
(biết P,Q nhưng rất khó để tìm ra d ).
Mó hố:
Đầu vào: Tham số đặc trưng (p, E, P, n), khố cơng khai Q, bản rõ m
Đầu ra: Bản mã (C1,C2).
Các bước:


Biểu diễn m như một điểm M trên E (Fp).



Lấy k thuộc [1, n-1].



Tính C1=kP



Tính C2=M+kP



Đưa ra (C1, C2).


Giải mã:
Đầu vào: Đặc trưng (p,E,P,n), khoá bí mật d, bản mã (C1,C2).
Đầu ra: Thơng điệp m
Các bước:


Tính M=C2-dC1, và lấy m từ M



Đưa ra m


2.7. So sánh giữa các phương pháp mó hoỏ sử dụng khố cơng
khai
Mó hố sử dụng khố cơng khai hay mó hoỏ cơng cộng dựa trên hai vấn đề
lớn của toán học là bài toán logarit rời rạc và bài tốn phân tích thừa số của số
ngun tố. Phương pháp RSA dựa trên bài tốn phân tích thừa số của số nguyên tố
đã được đưa ra từ cuối thập niên 70 là phương pháp được sử dụng rộng rãi nhất hiện
nay. Phương pháp ECC dựa trên bài toán logarit rời rạc trên trường số của EC chỉ
mới được đưa ra năm 1985.
Ưu điểm của ECC là khả năng bảo mật cao với kích thước khố nhỏ dựa vào
mức độ khó giải quyết của vấn đề ECDLP. Đõy chớnh là tính chất rất hữu ích đối
với xu thế ngày nay là tìm ra phương pháp tăng mức độ bảo mật của mó hoỏ khoỏ
cơng cộng với kích thước khố rút gọn. Kích thước khố nhỏ hơn giúp giảm lưu
lượng trên mạng, giảm thời gian tạo khoá, ký và xác nhận ký. Trong khi đó thời
gian tạo khố thường rất lớn ở hệ thống RSA.

Độ an tồn:

Thời gian tấn cơng
(MIPS năm)
104
108
1011
1020
1078

RSA

Kích thước khố
ECC

(bits)
512
768
1024
2048
210000

(bits)
106
132
160
210
600

Tỉ lệ kích thước
khóa RSA: ECC
5:1

6:1
7:1
10:1
35:1

Bảng 1-1: So sánh kích thước khoá RSA và ECC với cùng mức độ an toàn


Bảng 1-2: So sánh mức độ bảo mật giữa RSA và ECC
Tính hiệu quả: tốc độ xử lý
Theo kết quả so sánh thực hiện năm 1998 của Certicom về thời gian thực hiện
các thuật toán RSA 1024 bits và ECC 163bit trờn mỏy 167MHz Ultra Spare chạy
Solaris như sau:
Thuật toán
Tạo khoá

Xác minh chữ ký

163 bits ECC (ms)
3.8
3.0 (ECDSA)
10.7

1024bits RSA(ms)
4708.3
228.4 (DSA)
12.7

Bảng 1-3: Bảng so sánh thời gian thực hiện các thuật tốn RSA và ECC


Do kích thước khố nhỏ và khả năng phát sinh khoá rất nhanh nên ECC rất
được quan tâm để áp dụng cho các ứng dụng trên môi trường giới hạn về thông
lượng truyền dữ liệu, giới hạn về khả năng tính tốn, khả năng lưu trữ. ECC thích
hợp với các thiết bị di động kỹ thuật số như điện thoại di động, thẻ thông minh
(smart card)…
Các hệ thống ECC đã và đang được một số công ty lớn về viễn thông và bảo
mật trên thế giới quan tâm phát triển. Nổi bật trong số đó là Certicom (Canada) kết
hợp với Đại học Waterloo đã nghiên cứu và xem ECC như là chiến lược phát triển
bảo mật chính của công ty. Certicom cung cấp dịch vụ bảo mật dựa trên ECC.
Ngồi ra, một số cơng ty khác như Siemens (Đức), Matsushita (Nhật), Thompson
(Pháp) cũng nghiên cứu phát triển ECC. Mới đây, RSA Security Laboratory - phòng


thí nghiệm chính của RSA - đã bắt đầu nghiên cứu và đưa ECC vào sản phẩm của
mình.
Tuy nhiên, ECC vẫn có một số hạn chế nhất định. Hạn chế lớn nhất hiện nay
là việc chọn sử dụng các tham số đường cong và điểm quy ước chung như thế nào
để thật sự đạt được độ bảo mật cần thiết. Hầu hết các đường cong được đưa ra đều
thất bại khi áp dụng vào thực tiễn. Do đó hiện nay số lượng đường cong thật sự
được sử dụng không được phong phú. NIST đề xuất một số đường cong elliptic
curve đã được kiểm định là an toàn để đưa vào sử dụng thực tế trong tài liệu FIPS
186-2. Ngoài ra, đối với các tham số mang giá trị nhỏ, mức độ bảo mật của ECC
không bằng RSA. Đối với một số trường hợp RSA vẫn là lựa chọn tốt do RSA đã
chứng minh được tính ổn định trong một khoảng thời gian khá dài.
ECC vẫn còn non trẻ và cần được kiểm định trong tương lai. Tuy nhiên, ECC
cung cấp khả năng ứng dụng rất lớn trong lĩnh vực mã hóa khóa cơng cộng trên các
thiết bị di động và smart card. Tương lai ECC sẽ được nghiên cứu đưa vào thực tiễn
phổ biến hơn.

2.8. Vấn đề quản lý khoá

Đối với một hệ thống mã hóa, độ an tồn phụ thuộc lớn vào việc quản lý và
phân phối cỏc khóa mã hóa và giải mã. Trong mã hóa đối xứng, để đảm bảo tính an
tồn của khóa bí mật, cần tạo ra một kênh an tồn để chuyển khóa giữa bên gửi và
bên nhận. Đối với mã hóa bất đối xứng, vấn đề quản lý khóa trở nên phức tạp hơn.

2.8.1. Cơng bố khố cơng khai
Việc cơng bố khóa cơng khai có thể thực hiện bằng cách đính kèm vào email
khi gửi đi, công khai trờn cỏc forum, cỏc nhúm người dựng trờn Internet. Tuy
nhiên, hình thức này cũng bộc lộ nhiều nhược điểm như việc có thể bị giả mạo. Một
người dùng nào đó có thể giả mạo là A và gửi public key cho những người khác.
Khi đó, người gửi sẽ dựng khóa cơng khai này để mã hóa bản tin và gửi đến cho kẻ
giả mạo. Đến khi A phát hiện ra sự giả mạo này, kẻ giả mạo đã có thể đọc được mọi
bản tin đã mã hóa mà lẽ ra là gửi cho A, đồng thời sử dụng khóa giả mạo kia để xác
thực.
Để khóa công khai được sử dụng một cách hợp lệ, cần có một tổ chức tin cậy
đứng ra quản lý thơng tin về khóa cơng khai cũng như người sở hữu khóa đú, thời
hạn có hiệu lực của khóa cơng khai. Cơ quan này được gọi là Trung tâm chứng thực
(CA- Certificate Authority).


2.8.2. Thư mục khố cơng khai
CA duy trì một thư mục chứa khóa cơng khai của các thành viên dưới dạng
các mục (entry) gồm tên và khóa cơng khai (name, public key). Mỗi thành viên sẽ
đăng kí với CA thơng qua các phương thức truyền thơng xác thực an tồn. Họ có
thể thay đổi khóa cơng khai bất kì lúc nào vì khóa bí mật tương ứng đã có thể bị
xâm phạm. CA sẽ cập nhật và công bố theo định kì thư mục này. Do các thành viên
có thể truy cập trực tiếp vào thư mục này nên cần đảm bảo tính xác thực trong việc
truyền thơng giữa CA và các thành viên đã đăng kí.

2.8.3. Quyền lực khố cơng khai (public key authority)

Thư mục khóa cơng khai chỉ an tồn khi có sự điều khiển chặt chẽ việc truy
cập vào đó. Trong trường hợp này CA sẽ duy trì thư mục động chứa khóa cơng
khai, các thành viên đều biết khóa cơng khai của CA, nhưng chỉ CA biết khóa bí
mật tương ứng.

Hình 1-5: Q trình phân phối khố cơng khai
Khi A muốn cú khóa cơng khai của B, A phải thực hiện các bước như trên
hình 1.5 trên đây theo các bước như sau:
1.

A gửi một message có dấu thời gian (timestamp) cho CA với nội dung

xin cấp khóa cơng khai hiện thời của B.
2.

CA gửi lại một message được mã hóa bằng khóa bí mật của CA là

.

A có thể sử dụng khóa cơng khai của CA để giải mã, vì thế A đảm bảo được
message này do chính CA sinh ra. Message này chứa những thơng tin sau:

cho B.

Khóa cơng khai của B

: A dựng khóa này để mã hóa message gửi





Yêu cầu ban đầu (original request): A có thể so sánh với yêu cầu mà nó

gửi đi để xác thực rằng u cầu đó khơng bị thay đổi.


Dấu thời gian ban đầu: để A có thể xác nhận rằng đây không phải là bản

tin đầu tiên từ authority mà là khóa cơng khai hiện thời của B.
3.

A lưu trữ khóa cơng khai của B để mã hóa message gửi cho B, message

này chứa định danh của A (

) và nonce (

) dùng để xác thực giao dịch này là

duy nhất.
4, 5.

B cũng lấy được khóa cơng khai của A từ CA giống cách mà A lấy

được khóa cơng khai của B từ A.
6.

B gửi message được mã hóa bằng khóa công khai của A, chứa nonce (

của A và nonce mới của B (


)

). Vì B có thể mã hóa message (3), sự có mặt của (

) trong message (6) đảm bảo rằng tương ứng của A chính là B.
7. A gửi lại

, được mã hóa bằng khóa cơng khai của B, để đảm bảo rằng

tương ứng với B là A.
Như vậy cần phải thực hiện cả 7 bước nói trên nhưng 4 bước đầu không cần
thực hiện thường xuyên vì cả A và B đểu lưu trữ khóa cơng khai của nhau để sử
dụng trong tương lai. Cơ chế này gọi là caching.

2.8.4. Chứng chỉ khố cơng khai (public key certificate)
Phương pháp quản lý khóa đề cập ở phần trên có nhược điểm là dễ gây ra hiện
tượng thắt cổ chai. Để khắc phục điều này, Kohnfelder đã đề xuất một phương pháp
mới, dùng chứng chỉ số (certificate) để trao đổi khóa giữa các bên tham gia mà
khơng cần liên lạc với CA.

Hình 1-6: Chứng chỉ khố cơng khai



×