Thuật tốn sinh khóa

Một phần của tài liệu LUẬN VĂN: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN pptx (Trang 88)

CHƯƠNG 2 : XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN THẾ HỆ SAU

3.1. Hệ mật mã đường cong Elliptic

3.1.2.2. Thuật tốn sinh khóa

Thuật tốn sinh khóa của ECC đơn giản hơn thuật tốn của sinh khóa của RSA, được thực thi theo các bước sau:

Thuật toán 3.2 : Thuật tốn sinh khóa ECC

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h) Output : Khóa cơng khai và khóa bí mật của ECC

1 : Sinh ngẫu nhiên số nguyên dương k với k < n 2 : Tính điểm Q = k . G

3: Khóa bí mật là (k,Q), khóa cơng khai là Q Kiểu xâu bit

Kiểu xâu octet

Điểm điểm Kiểu trường

Kiểu số ngun

3.1.2.3. Thuật tốn trao đổi khóa ECDH

Hệ mật mã ECC có khả năng cung cấp dịch vụ trao đổi khóa an tồn mà khơng địi hỏi các bên phải thiết lập trước một khóa bí mật chia sẻ. Phương pháp trao đổi khóa này này tương tự với phương pháp trao đổi khóa Diffie-Hellman nên ta gọi đây là thuật toán ECDH (Elliptic Curve Diffie-Hellman). Thuật toán ECDH được thực thi theo các bước sau:

Thuật tốn 3.3 : Thuật tốn trao đổi khóa ECDH

Input : Alice và Bob thống nhất đường cong Elliptic với tham số T(p,a,b,G,n,h)

hoặc T(m,f(x),a,b,G,n,h)

Ouput : Khóa cơng khái của Alice, Bob và khóa chia sẻ được thiết lập 1 : Alice sinh ngẫu nhiên 1 số nguyên dương dA < n

2 : Alice tính điểm PA = dA x G và gửi PA cho Bob 3: Bob sinh ngẫu nhiên 1 số nguyên dương dB < n

4: Bob tính điểm PB = dB x G và gửi PB cho Alice

5: Khóa cơng khai của Alice là PA, Alice tính khóa bí mật chia sẻ K = dA x PB.

Khóa cơng khai của Bob là PB, Bob tính khóa bí mật chia sẻ K = dB x PA

Alice và Bob có khả năng tính tốn độc lập được khóa chia sẻ K bởi :

   

B B B B

A A A A

KdPddGddGdP

3.1.2.4. Thuật toán chữ ký điện tử ECDSA

Hệ mật mã công khai ECC cung cấp dịch vụ chữ ký điện tử tương tự như hệ mật mã RSA, thuật toán ký số ECDSA (Elliptic Curve Digital Signature Algorithm) đã được chuẩn hóa và được đưa vào các bộ chuẩn như ANSI X9.62, FIPS 186-2, IEEE 1363-2000 và ISO/IEC 15946-2. Thuật tốn ECDSA được mơ tả chi tiết trong

“SEC1: Elliptic Curve Cryptography” [2], gồm các bước sau: Comment [u25]: Certicom Research (2009), "SEC1: Elliptic Curve Cryptography",

Thuật toán 3.4 : Thuật toán tạo chữ ký điện tử ECDSA

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),

khóa bí mật k và thơng điệp M

Output : Chữ ký điện tử của M

1: Tính giá trị băm của thơng điệp M, sử dụng thuật toán băm SHA1, được giá trị

băm H = SHA1(M). Chuyển xâu băm về kiểu số nguyên được số nguyên e.

2: Sinh ngẫu nhiên d (0 < d < n). Tính điểm R = d x G. Điểm R có tọa độ (xR, yR). 3: Chuyển tọa độ xR từ kiểu trường sang kiểu số nguyên xR. Tính r = xRmod n. Nếu r = 0, quay về bước 2.

4: Tính giá trị   1

mod

se k r  dn . Nếu s = 0, quay về bước 2.

5: Chữ ký điện tử thông điệp M là (r,s)

3.1.2.5. Thuật toán xác thực chữ ký điện tử ECC

Khi Bob nhận được thông điệp M với chữ ký điện tử (r,s) được tạo bởi thuật toán ECDSA. Bob sẽ tiến hành xác thực theo thuật toán sau [3]:

Thuật toán 3.5 : Thuật toán xác thực chữ ký điện tử ECC

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h), khóa cơng khai bên gửi Q, thông điệp gửi m, và chữ ký (r,s)

Output: Chữ ký điện tử có hợp lệ khơng

1 : Nếu 0 < r < n thì tiếp tục bước tiếp theo, nếu không trả về kết quả không hợp lệ

và kết thúc.

2 : Tính giá trị băm của thơng điệp m, sử dụng thuật tốn băm SHA1, ta được giá trị

H = SHA1(m). Chuyển xâu băm nhận được về kiểu số nguyên ta được số e.

3 : Tính nghịch đảo của s theo modulo n: w = s-1 mod n

4 : Tính hai giá trị : u1ew mod nu2rw mod n

5 : Tính điểm Ru1G u 2Q. Chuyển hồnh độ của R là xR từ kiểu trường sang kiểu số nguyên xR.

Comment [u26]: Certicom Research

(2009), "SEC1: Elliptic Curve Cryptography", pp 46

6 : Nếu xR ≡ r (mod n) thì thơng báo chữ ký hợp lệ và ngược lại.

Theo thuật tốn ECDSA ta có :

  1(mod ) se k r d   n  s 1(mod ) d e k rn     1 1 1 2(mod ) w w u n k r s e k r k u d e s                Theo bước 5 : 1 2 RuG u Q  1 2  1 2 u u k G R u G u k G           G R d  

Do vậy R = (xR, yR), và xR = r (mod n)

3.1.2.6.Mơ hình mã hóa tích hợp đường cong Elliptic - ECIES

Thuật tốn mã hóa và giải mã của mơ hình ECIES được đề xuất bởi 2 nhà khoa học Bellare và Rogaway [10], và là một biến thể của hệ mật mã hóa cơng khai ElGamal. ECIES đã được chuẩn hóa bởi chuẩn ANSI X9.63 và ISO/IEC 15946-3 và được nêu trong chuẩn “SEC1: Ellitptic Curve Cryptography”.

Trong ECIES, mơ hình chia sẻ khóa Diffie-Hellman được sử dụng để 2 bên truyền thông thiết lập và chia sẻ 2 khóa k1 và k2. Trong đó k1 sẽ được sử dụng để mã

hóa thơng điệp truyền bằng hệ mật mã khóa đối xứng, k2 được sử dụng để xác thực

kết quả của bản mã.

Mơ hình ECIES sử dụng các hàm chức năng sau:

 KDF (Key Derivation Function) : Là hàm sinh khóa (k1, k2) từ điểm R và

hoành độ xz của điểm Z.

 ENC : Là 1 hàm mã hóa khóa đối xứng. Ví dụ như AES.

 MAC : Hàm sinh mã xác thực thơng báo. Ví dụ HMAC.

Comment [u27]: Darrel Hankerson ,

Alfred Menezes, Scott Vanstone (2004), "Guide to Elliptics Curve Cryptography", Springer publisher, pp 189

a. Thuật tốn mã hóa ECIES

Thuật tốn mã hóa của ECIES được thực thi như sau [4] :

Thuật toán 3.6 : Thuật tốn mã hóa ECIES

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h), khóa cơng khai bên nhận Q, thông điệp gửi M

Output: Bản mã của thông điệp M

1 : Sinh ngẫu nhiên số nguyên dương d thỏa mãn 0 < d < n

2 : Tính điểm R d G và điểm Z  h d Q. Nếu Z = 0 thì quay lại bước 1.

3 : Tính cặp khóa (k1, k2) = KDF(xZ, R)

4 : Tính bản mã sử dụng khóa k1 : C = ENC(k1, M)

5 : Tính mã xác thực thơng báo cho bản mã sử dụng khóa k2 : t= MAC(k2, C)

6 : Trả về bản mã (R, C, t)

b. Thuật toán giải mã ECIES

Ngược lại với thuật tốn mã hóa, thuật tốn giải mã được thực thi như sau [5]:

Thuật toán 3.6 : Thuật tốn mã hóa ECIES

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h), khóa bí mật k, và bản mã (R, C, t)

Output: Bản rõ M hoặc thông báo thông điệp không hợp lệ

1 : Kiểm tra điểm R có thuộc đường cong Elliptic khơng. Nếu không thuộc, trả về

thông báo không hợp lệ.

2 : Tính điểm Z  h k R. Nếu Z = 0 thì trả về thơng báo khơng hợp lệ.

3 : Tính cặp khóa (k1, k2) = KDF(xZ, R)

Comment [u28]: Certicom Research

(2009), "SEC1: Elliptic Curve Cryptography", pp 52-53

Comment [u29]: Certicom Research

(2009), "SEC1: Elliptic Curve Cryptography", pp 53-54

4 : Tính t’ = MAC(k2, C). Nếu t’ ≠ t, trả về thông báo không hợp lệ.

5 : Giải mã M = ENC(k1, C)

6 : Trả về bản rõ M

Như đã nêu ở trên, bản chất của việc mã hóa và giải mã của ECIES là thiết lập một khóa phiên rồi sử dụng khóa phiên đó để mã hóa và giải mã theo mơ hình mật mã khóa chia sẻ. Khóa phiên trong mã hóa và giải mã chỉnh là điểm Z. Thật vậy, ta có :

( ) ( )

Z   h d Q h d   k G   h k d G   h k R

3.2. Ưu điểm của hệ mật mã đường cong Elliptic

Theo nội dung đã trình bày ở phần trên, ta nhận thấy hệ mật mã ECC cung cấp tất cả các dịch vụ an ninh của 2 hệ mật mã công khai RSA và Diffie-Hellman. Cụ thể hệ mật mã ECC cung cấp các dịch vụ an ninh sau:

 Trao đổi khóa an tồn

 Chống nghe lén

 Ký số

 Chống chối bỏ.

Tuy nhiên, hệ mật mã ECC có một ưu điểm mà các hệ mật mã cơng khai trước đó khơng có được, đó là sự tương thích đối với các thiết bị có năng lực tính tốn hạn chế. Do đặc điểm toán học của bài toán lograrit rời rạc trên đường cong Elliptic, độ phức tạp để tìm ra được khóa đúng tăng theo cấp số mũ khi chiều dài khóa được tăng lên. Do vậy, hệ mật mã ECC ở cùng độ an toàn với hệ mật mã RSA chỉ cần khóa có độ lớn bé hơn rất nhiều so với khóa của RSA (Hình 3.2). Chính nhờ tính chất này, việc thực thi hệ mật mã ECC có những ưu điểm sau:

 Địi hỏi năng lực tính tốn thấp

 Tiết kiệm bộ nhớ

 Tiết kiệm băng thông

3.3. Đề xuất xây dựng hạ tầng khóa cơng khai cho thiết bị di động dựa trên hệ mật mã ECC động dựa trên hệ mật mã ECC

3.3.1. Vấn đề an ninh của hệ mật mã công khai

Bên cạnh những ưu điểm của hệ mật mã công khai như an toàn, bảo mật, thuận tiện, các hệ mật mã cơng khai có cùng 1 yếu điểm, đó là dễ bị tấn cơng người ở giữa (Man in the middle).

Giả sử Alice và Bob thực hiện trao đổi truyền thông với nhau sử dụng hệ mật mã công khai. Để thực hiện được, Alice phải biết được khóa cơng khai của Bob và ngược lại Bob phải có được khóa công khai của Alice. Tuy nhiên, giả sử kẻ tấn cơng Darth có thể dùng phương pháp tấn cơng người ở giữa theo các bước sau:

 Trước tiên, bằng một kỹ thuật nào đó, Darth có thể xen vào kênh truyền

giữa Alice và Bob. Mọi thông tin truyền giữa Alice và Bob đều đi qua Darth và Darth có thể kiếm sốt được việc truyền thơng tin đó.

 Darth sẽ tự nhận mình là Bob, Darth sẽ sinh ra một cặp khóa cho mình

và gửi khóa cơng khai giả mạo tới cho Alice.

 Alice sẽ tin đó là khóa cơng khai của Bob và gửi trở lại khóa cơng khai

của mình cho Darth – Người Alice tin đó là Bob.

 Darth thực hiện việc giả mạo tương tự đối với Bob.

 Đến lúc này, giả sử Alice gửi 1 thông điệp mã hóa cho Bob, Alice sẽ dùng khóa cơng khai của Bob – mà thực chất là khóa cơng khai của Darth – để mã hóa. Do Darth đứng giữa, lại có khóa bí mật hợp lệ nên có thể đọc lén, hoặc thậm chí sửa đổi thơng điệp trong đó. Sau đó sẽ sử dụng khóa cơng khai thật của Bob để mã hóa và gửi lại cho Bob.

 Tương tự, khi Alice muốn ký vào 1 thông điệp, Alice sẽ sử dụng khóa bí

mật của mình để ký và gửi đi. Darth sẽ lấy thơng điệp đó, sẽ sửa đổi theo ý muốn và sử dụng khóa bí mật giả mạo để ký và gửi cho Bob. Lúc này dó Bob sử dụng giữ khóa công khai giả mạo của Alice – Thực chất là khóa cơng khai của Darth – để kiểm tra tính hợp lệ của thơng điệp, điều tất nhiên là Bob thấy thơng điệp đó là hợp lệ và tin đó là thông điệp được gửi từ Alice.

Để tránh được tấn công người ở giữa, các bên tham gia truyền thông cần một bên thứ ba tin cậy để xác nhận khóa cơng khai của nhau. Bên thứ ba tin cậy là một tổ chức phát hành chứng thư, hay cịn gọi là CA (Certificate Authority).

3.3.2. Hạ tầng khóa cơng khai

Hạ tầng khóa cơng khai được phát triển dựa trên các hệ mật mã công khai để cung cấp các dịch vụ định danh cho các thực thể trong các phiên xác thực.

Hạ tầng khóa cơng khai gồm 1 tập các chuẩn, quy định vai trò của các bên tham gia xác thực, các chuẩn mã hóa, chuẩn lưu trữ khóa, chuẩn phân phối khóa. Trong hạ tầng khóa cơng khai có định nghĩa tổ chức chứng thực (Certificate Authority - CA), có vai trị như bên thứ ba tin cậy giúp các thực thể tham gia xác thực có thể xác thực được nhau để khắc phục nhược điểm bị tấn công người ở giữa của hệ mật mã cơng khai.

Hình 3.6 mơ tả các thành phần và hoạt động của hạ tầng khóa cơng khai [33]. Hạ tầng khóa cơng khai gồm các thành phần sau:

Hình 3.6 : Các thành phần hạ tầng khóa cơng khai.

Comment [u30]: William Stalling (2005)

“Cryptography and Network Security”, Prentice Hall Publisher, pp 428-430

 Đối tượng sử dụng cuối : Là đối tượng tham gia phiên xác thực, bao gồm người sử dụng cuối, hoặc các thiết bị như router, switch, server. Các đối tượng sử dụng cuối sở hữu 1 cặp khóa gồm 1 khóa bí mật và 1 khóa cơng khai. Khóa cơng khai được lưu trữ trong 1 chứng thư được CA phát hành và công bố rộng rãi.

 Cơ quan chứng thực (CA) : Là cơ quan có vai trị cấp phát chứng thư cho

đối tượng sử dụng cuối. Khi đối tượng sử dụng cuối gửi yêu cầu cấp phát chứng thư, nếu hợp lệ, CA sẽ tạo ra một chứng thư và ký xác nhận vào chứng thư đó.

 Cơ quan đăng ký (RA) : Là thành phần tuy chọn, đây là cơ quan được CA ủy quyền để tiếp nhận đăng ký phát hành chứng thư.

 Thành phần phát hành chứng thư bị thu hồi: Là bộ phận để công bố công

khai những chứng thư bị thu hồi, khơng cịn giá trị sử dụng. Trong quá trình sử dụng chứng thư, các thành phần cuối phải liên tục cập nhật danh sách chứng thư thu hồi để kiểm tra tính hợp lệ của chứng thư.

 Thành phần lưu trữ chứng thư: Là bộ phận lưu trữ tập trung và công khai

các chứng thư đã được phát hành, để mọi đối tượng có thể truy cập và lấy về chứng thư mình cần.

3.3.3 Chứng thư số

Chứng thư số là thành phần được CA phát hành công khai và cấp cho đối tượng sử dụng cuối. Mỗi chứng thư số là duy nhất, chứng nhận tính xác thực khóa cơng khai của đối tượng sở hữu, được đảm bảo bằng chữ ký số của đơn vị phát hành chứng thư CA.

Cấu trúc của chứng thư số định nghĩa bởi chuẩn X.509 của liên minh viễn thông quốc tế ITU-T. Cấu trúc của chứng thư số X.509 được mơ tả trong hình 3.8 , gồm các trường sau:

 Version : Định nghĩa phiên bản của chứng thư, phiên bản mới nhất hiện

nay là phiên bản 3.

 Serial number : Mã số định danh duy nhất của chứng thư.

 Signature algorithm Identifier : Định nghĩa thuật tốn mã hóa và các tham số được CA sử dụng để xác nhận chứng thư, giúp đối tượng sử

dụng cuối có thể kiểm tra tính hợp lệ của chứng thư. Các tham số này được lặp lại trong trường Signature ở cuối chứng thư.

 Issuer name : Tên xác định của CA theo chuẩn X.500

 Period of validity : Bao gồm người bắt đầu hiệu lực và ngày hết hạn của

chứng thư.

 Subject name : Tên chủ sở hữu chứng thư theo chuẩn X.500

 Subject's public-key information : Thơng tin về khóa cơng khai của chủ

sở hưu, bao gồm thuật tốn sử dụng và các tham số mã hóa.

 Issuer unique identifier: Là trường tùy chọn, chứa mã định danh duy nhất

của tổ chức phát hành chứng thưc được dùng để phân biệt trong trường hợp các CA có tên (Issuer Name) trung nhau.

 Subject unique identifier: Là trường tuy chọn, chữa mã định danh duy nhất cho mỗi chủ sở hữu được phát hành bởi 1 CA. Trường này được sử dụng để phân biệt các chủ sở hữu trong trường hợp các chủ sở hữu có trùng tên (Subject Name)

 Extensions: Là tập các trường mở rộng, chứa các thông tin liên quan khác như địa chỉ danh sách thu hồi, địa chỉ của CA, hay chức năng của chứng thư.

 Signature: Là các tham số thuật toán ký của CA và mã chứ ký của CA trên tất cả các trường phía trên.

3.3.4. Xác thực di động dựa trên hạ tầng khóa cơng khai sử dụng hệ mật mã đường cong Elliptic mật mã đường cong Elliptic

Như đã đề cập ở trên, hạ tầng khóa công khai sử dụng các hệ mật mã công khai để cung các dịch vụ an ninh. Hiện nay, các chứng thư được phát hành hầu hết sử dụng hệ mật mã RSA. Nếu các đối tượng sử dụng cuối là các thiết bị có cấu hình cao như máy vi tính, router, hay như các thiết bị chuyên biệt thì việc triển khai

Một phần của tài liệu LUẬN VĂN: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN pptx (Trang 88)

Tải bản đầy đủ (PDF)

(117 trang)