Đề tài mật mã hóa khóa công khai sử dụng đường cong elliptic và ứng dụng

27 18 0
Đề tài  mật mã hóa khóa công khai sử dụng đường cong elliptic và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG TIỂU LUẬN KẾT THÚC MÔN HỌC AN NINH MẠNG THÔNG TIN Đề tài : Mật mã hóa khóa cơng khai sử dụng đường cong elliptic ứng dụng GIẢNG VIÊN: PHẠM ANH THƯ NHÓM : 16 SINH VIÊN: CHU TRUNG DŨNG B17DCVT082 PHẠM THANH HƯNG B17DCVT162 ĐÀO DUY SÁNG B17DCVT330 Hà Nội – 06/2021 Nhóm16 : An ninh mạng thơng tin MỤC LỤC DANH MỤC HÌNH VẼ MỞ ĐẦU CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG ELLIPTICE( Fp) 1.1 Định nghĩa, tính chất đường cong 1.1.1Định nghĩa 1.1.2Tính chất CHƯƠNG 2: MẬT Mà HĨA KHĨA CƠNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC 2.1 Các tham số hệ mật mã hóa ECC 2.1.1 Đương cong eliptic trường nguyên tố hữu hạn Fp 2.1.1.1 Trường hữu hạn 2.1.1.2 Đường cong Elliptic trường Fp có dạng sau: 2.1.2 Tham số hệ mật mã ECC trường nhị phân hữu hạn CHƯƠNG 3: ƯU ĐIỂM CỦA ECC VÀ SO SÁNH VỚI RSA 10 3.1 Ưu điểm EEC .10 3.2 So sánh ECDSA RSA 12 CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG ĐƯỜNG CONG ELLIPTIC VÀ MỘT SỐ ỨNG DỤNG 14 4.1 Chữ ký số sử dụng đường cong elliptic .14 4.1.1 Tạo chữ ký số 15 4.1.2 Xác Thực chữ ký số 15 4.1.3 Sơ đồ chữ ký số đường cong eliptic (ECDSA) .15 4.1.4 Tính bảo mật ECDSA .16 4.2 Ứng dụng ECC .17 4.2.1 Ứng dụng hệ mật mã hóa khóa cơng khai sử dụng đường cong eliptic ECDSA đồng tiền ảo Ethereum 18 4.2.2 Elliptic-curve Diffie–Hellman (ECDH) 22 4.2.3 Ứng dụng vào thiết bị có tài nguyên hạn chế: .23 KẾT LUẬN 26 TÀI LIỆU THAM KHẢO 26 Nhóm16 : An ninh mạng thơng tin DANH MỤC HÌNH VẼ Nhóm16 : An ninh mạng thơng tin MỞ ĐẦU Mật mã học vấn đề quan trọng lĩnh vực bảo mật an tồn thơng tin Trên giới, mật mã học đời từ thời La Mã cổ đại ngày nghiên cứu, phát triển đạt thành tựu to lớn Trong mật mã học, vấn đề bảo mật đôi với vấn đề xác thực thơng tin, đặc biệt hệ thống mã hóa khóa cơng khai vấn đề xác thực vơ quan trọng Để giải vấn đề người ta đưa cách giải hiệu quả, chữ ký số Với bùng nổ mạng Internet nay, mạng máy tính đóng vai trị thiết yếu lĩnh vực hoạt động xã hội, trở thành phương tiện điều hành hệ thống nhu cầu bảo mật thơng tin đặt lên hàng đầu Việc sử dụng chữ ký số giải pháp hữu hiệu, ngày ứng dụng nhiều thực tế, không giới hạn ngành cơng nghệ thơng tin, mật mã học mà cịn áp dụng nhiều lĩnh vực khác ngân hàng, viễn thơng… Mật mã học khóa cơng khai tạo chữ ký số ứng dụng vào tài liệu Hệ mật mã hóa RSA – hệ mã hóa điển hình mật mã hóa cơng khai với hàm băm mật mã học chiều cơng cụ việc tạo chữ ký số điện tử Trong tiểu luận này, nhóm tập trung vào chữ ký số ECC ứng dụng Nội dung nghiên cứu chia làm phần:  Lý thuyết đường cong elliptic  Hệt mật mã ECC  Ưu điểm ứng dụng ECC  Chữ ký số hệ mật mã đường cong Nhóm16 : An ninh mạng thơng tin CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG ELLIPTICE( F p) 1.1 Định nghĩa, tính chất đường cong 1.1.1 Định nghĩa Thơng thường, đường cong elliptic định nghĩa phương trình có dạng sau : y 2=x +ax +b (1) có điều kiện : a3 +27 b ≠ Hình 1: Trường đồ thị đường cong elliptic 1.1.2 Tính chất Nếu hai điểm P1 (x1, y1 ) P2 (x2, y2) với x1 ≠ x2 nằm đường đường cong elliptic E, đường thẳng qua hai điểm P1 P2 cắt điểm P3 ( x3, y3) xác định thông qua P1 P2 nằm đường cong E Tiếp tuyến đường cong điểm P(x, y) đường cong E cắt đường cong elliptic E điểm nằm đường E, điểm xác định thơng qua P Nhóm16 : An ninh mạng thông tin 1.1.2.1 Phép cộng đường cong elliptic Giả sử, ta có A( x 1, y 1) B( x 2, y 2) hai điểm thuộc đường cong E Nếu x = x y = - y ta có A + B = Ngược lại A + B = C( x 3, y 3) ∈ E đó: { x 3= λ2−x 1−x y 3=λ ( x 1−x )− y1 Với: y 2− y , A ≠ B x −x λ= 2 x1 + a , A=B y1 { Vậy A ≠ B thì: C=¿ Nếu A=B thì: C= x 21 + a x 3=( ) −2 x x2 −x1 {( x 21 + a y 3= x( x1−x )−x x 2−x1 ) Hình 2: Ví dụ phép cộng đường cong Elliptic Nhóm16 : An ninh mạng thơng tin Chú ý điểm ( x 3, y 3), ( x 3,- y 3) nằm đường cong E xét mặt hình học, điểm ( x 1, y 1), ( x 2, y 2), ( x 3,- y 3) nằm đường thẳng 1.1.2.2 Phép nhân đường cong elliptic Phép nhân số nguyên k với điểm P thuộc đường cong Elliptic E điểm Q (Q ∈ E) xác định cách cộng k lần điểm P: kP = P + P + … + P (k lần phép cộng điểm P) Vì G điểm thuộc đường cong Elliptic E với số nguyên dương k dễ dàng xác định điểm Q = k x G Hình 3: Ví dụ phép nhân đường cong Elliptic CHƯƠNG 2: MẬT Mà HĨA KHĨA CƠNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC Hệ mật mã công khai ECC hệ mật mã xây dựng sở toán logarit rời rạc phép nhân xét tập điểm thuộc đường cong Elliptic Hệ mật mã công khai ECC cung cấp đầy đủ dịch vụ an ninh: Mã hóa, xác thực, ký số trao đổi khóa Nhóm16 : An ninh mạng thông tin 2.1 Các tham số hệ mật mã hóa ECC 2.1.1 Đương cong eliptic trường nguyên tố hữu hạn F p 2.1.1.1 Trường hữu hạn Đường cong elliptic xây dựng trường hữu hạn Có hai trường hữu hạn là:  Trường hữu hạn Fq với q số nguyên tố  Trường hữu hạn Fq với q = 2m (m số nguyên) Tùy thuộc vào trường hữu hạn Fq, với bậc q, tồn nhiều đường cong elliptic Do đó, với trường hữu hạn cố định có q phần tử q lớn, có nhiều lựa chọn nhóm đường cong elliptic 2.1.1.2 Đường cong Elliptic trường F p có dạng sau: Định nghĩa tham số hệ mật mã ECC trường nguyên tố hữu hạn F p bao gồm: T = (p, a, b, G, n, h) Trong đó:  p: số nguyên tố lớn  a, b: hệ số a, b ∈ F p, cho thỏa mãn điều kiện a2 +27 b2 ≢  G: điểm sở thuộc E ( F p)  n: số nguyên thứ tự điểm sở G  h: phần phụ đại số thỏa mãn h = #E( F p ¿/n với Số lượng điểm E( F p) #E( F p) thỏa định lý Hasse: p+1−2 √ p ≤ ¿ E ( F p ) ≤ p+1+2 √ p 2.1.2 Tham số hệ mật mã ECC trường nhị phân hữu hạn SECG định nghĩa tham số hệ mật mã ECC trường nhị phân hữu hạn F m2 bao gồm tham số sau: Y = (m,f(x),a,b,G,n,h) Trong đó: Nhóm16 : An ninh mạng thông tin  m: số nguyên dương xác định trường nhị phân hữu hạn F m [log2 m] ∈ {163,233,239,283,409,571}  f(x): đa thức bất khả quy, có bậc m đa thức sở biểu diễn trường F m2 a,b: hệ số a,b ∈ F m2 xác định đường cong elliptic E( F m2 ) trường ( F m2 ): E: y + xy=x +a x 2+ b  G: điểm sở thuộc E(Fp)  n: số nguyên tố thứ tự điểm sở G m m  h: phần phụ đại số (cofactor) thỏa mãn h = #E( F )/n với #E( F ) số điểm thuộc đường cong E( F m2 ) m m  Cùng với điểm O điểm vô cực Số lượng điểm E( F ) #E( F ) thỏa định lý Hasse: m  q+ 1−2 √ q ≤¿ E ( F ) ≤ q+1+2 √ q m  Trong q = 2m Ngoài ra, #E( F ) số chẵn Nhóm16 : An ninh mạng thơng tin CHƯƠNG 3: ƯU ĐIỂM ECC VÀ SO SÁNH VỚI RSA 3.1 Ưu điểm EEC Mật mã đường cong Elliptic (ECC) tồn từ năm 1980, coi mã giới SSL bắt đầu chấp nhận vài năm qua ECC cách tiếp cận toán học khác để mã hóa so với thuật tốn RSA đáng kính Đường cong elliptic hàm đại số (y2 = x3 + ax + b) trông giống đường cong đối xứng song song với trục x vẽ đồ thị (Xem hình bên dưới.) Cũng dạng mật mã khóa cơng khai khác, ECC dựa đặc tính chiều, dễ dàng thực phép tính khơng thể đảo ngược đảo ngược kết phép tính để tìm số ban đầu ECC sử dụng phép tốn khác với RSA để đạt thuộc tính Cách dễ để giải thích tốn học đường cong elliptic, đường qua ba điểm dọc theo đường cong (P, Q R) điều cách biết hai số điểm (P Q), điểm lại (R) tính tốn cách dễ dàng, với R, hai lại, P Q, khơng thể suy Hình 4: Đường cong eliptic 10 Nhóm16 : An ninh mạng thơng tin  Nó cung cấp triển khai hiệu nhỏ gọn cho hoạt động mật mã yêu cầu chip nhỏ  Do chip nhỏ sinh nhiệt tiêu thụ điện  Nó phù hợp với máy có băng thơng thấp, khả tính tốn thấp, nhớ  Nó có triển khai phần cứng dễ dàng Tuy vậy, hai hệ mật mã hóa khóa cơng khai khơng phải khơng có nhược điểm Một số nhược điểm ECC RSA kể đến như:  Q trình tạo khóa diễn chậm (so với mã hóa khóa đối xứng)  Tốc độ mã hóa liệu chậm  Độ dài tin phải nhỏ độ dài bit khơng thuật tốn khơng thực  RSA thuật toán dựa toán logarit rời rạc, lần khởi tạo RSA cần phải tính toán hai số nguyên tố lớn p q 13 Nhóm16 : An ninh mạng thơng tin CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG ĐƯỜNG CONG ELLIPTIC VÀ MỘT SỐ ỨNG DỤNG 4.1 Chữ ký số sử dụng đường cong elliptic 4.1.1 Tạo chữ ký số Hình 6: Quy trình thực để tạo chữ ký số Quá trình tạo chữ ký số thực qua bước:  Dữ liệu cần ký qua hàm băm để tạo thành giá trị băm (bản tóm lược)  Giá trị băm sau mã hóa khóa bí mật người gửi, tạo thành chữ ký số  Chữ ký số gắn vào liệu ban đầu, tạo thành tin ký số 14 Nhóm16 : An ninh mạng thơng tin 4.1.2 Xác Thực chữ ký số Hình 7: Quy trình thực để xác thực chữ ký số Việc xác thực chữ ký số thực qua bước:  Bản tin ký số tách thành hai phần: Dữ liệu chữ ký số  Chữ ký số giải mã khóa cơng khai người gửi  Nếu chữ ký giải mà thành cơng tạo thành giá trị băm  Nếu giải mã chữ ký chứng tỏ tin không người gửi  Phần liệu qua hàm băm tương tự phía người gửi tạo thành giá trị băm  Giá trị băm liệu so sánh với giá trị băm thu trình giải mã chữ ký số  Hai giá trị trùng chứng tỏ tin gửi toàn vẹn  Hai giá trị khác chứng tỏ tin bị thay đổi 4.1.3 Sơ đồ chữ ký số đường cong eliptic (ECDSA) Để thiết lập sơ đồ chữ ký số ECDSA (Elliptic Curve Digital Signture Algorithm), tham số cần phải xác định là: đường cong E trường hữu hạn Fq với tham số p phù hợp điểm sở G  E( F q) (Generator point) 15 Nhóm16 : An ninh mạng thơng tin Sinh khóa: Chọn số ngẫu nhiên d khoảng [2, n - 1] làm khóa bí mật Tính Q = dG làm khóa cơng khai Ký rõ m: Chọn số ngẫu nhiên k, ≤ k ≤ n –1 Tính kG = ( x 1, y 1) Tính r = x mod n Nếu r = 0, quay lại bước Tính k −1 mod n Tính s = k −1 (m + dr) mod n Nếu s = 0, quay lại bước Chữ ký thông điệp m (r, s) Kiểm tra chữ ký: Kiểm tra r s có số tự nhiên khoảng [2, n - 1] khơng Tính w = s−1 mod n Tính u1 = mw (mod n) u2 = rw (mod n) Tính X = u1G + u2Q = ( x x , y y ) Nếu X = phủ nhận chữ ký Ngược lại tính v = x x mod n Chữ ký chấp nhận v = r Chứng minh: Nếu chữ ký (r, s) m thì:  s = k −1(m + dr) mod n  k  s−1 (m + dr)  s−1 m + s−1 rd  wm + wrd  u1 + u2d (mod n)  Vì vậy, u1G + u2G = (u1 + u2d)G = kG  Suy v = r 4.1.4 Tính bảo mật ECDSA ECDSA cần có tính bảo mật cao để khẳng định tồn làm giả được, chống lại công vào tin ký Mục đích kẻ cơng giả mạo A tạo chữ ký hợp lệ tin M, sau có tin có chữ ký A phân tích 16 Nhóm16 : An ninh mạng thơng tin Khi thay thuật tốn RSA ECDSA, tốc độ thực thuật toán cải thiện đáng kể Việc thay đạt hiệu với việc cần dung lượng nhớ sử dụng thuật tốn RSA Các điều kiện an tồn cần thiết thuật tốn ECDSA là:  Bài toán logarit rời rạc đường cong eliptic E(F q) khó: điều kiện khơng thỏa mãn, ta cần tính logarit rời rạc với khóa cơng khai lấy khóa bí mật  Hàm băn sử dụng phải là hàm băm chiều, tức khơng thể tính rõ m từ giá trị băm H m  Hàm băm sử dụng phải chống xung đột, tức tồn hai giá trị băm H m 1=H m (nếu m1 m2 khác nhau)  Việc tạo k q trình ngẫu nhiên khơng thể dự đốn Các cách cơng có ECDSA phân loại sau:  Cách công toán logarit rời rạc đường cong elliptic  Cách công hàm băm  Cách công khác 4.2 Ứng dụng ECC Trong thực tế, ECC ứng dụng nhiều cho ứng dụng bảo mật như: bảo mật tài liệu, thông tin liên lạc nội bộ, cung cấp chữ ký số dịch vụ nhắn tin bảo mật iMessage Apple hay Blackberry Message Blackberry Ngồi ra, ECC cịn ứng dụng việc trao đổi khóa thuật tốn Elliptic-curve Diffie–Hellman Thuật tốn mã hóa khóa cơng khai hệ đầu RSA sử dụng nhiều lĩnh vực, vậy, năm gần ECC phát triển nhanh đánh giá thuật toán thay cho RSA tương lai gần Hiệu suất tính tốn ECDSA nhanh vượt trội so với RSA, điều rõ ràng, chứng minh nhiều thực tế Ngay với phiên cũ OpenSSL khơng có tối ưu cho ECC, thời gian tính tốn để tạo tạo chữ ký ECDSA 17 Nhóm16 : An ninh mạng thơng tin với khóa 256-bit nhanh 20 lần so với chữ ký RSA với khóa 2048-bit Chính thế, ECC thuật tốn thích hợp để tích hợp vào thiết bị có tài nguyên hạn chế ECC có nhiều ứng dụng thực tế nay, ứng dụng phổ biến nhất, đưa ECC phát triển ứng dụng đồng tiền ảo 4.2.1 Ứng dụng hệ mật mã hóa khóa cơng khai sử dụng đường cong eliptic ECDSA đồng tiền ảo Ethereum Trong Ethereum (Bitcoin tương tự) đường cong Elliptic ứng dụng việc:  Tạo địa ví  Tạo chữ ký cho giao dịch Tiền ảo Ethereum sử dụng đường cong tiêu chuẩn secp256k1 Viện Tiêu chuẩn Kỹ thuật Quốc gia Mỹ (NIST) đặt Đường cong có cơng thức sau: y2 (mod p) = x3 + (mod p) Với p = 2256 – 232 – 29 – 28 – 27 – 26 – 25 – 24 – = 2256 – 232 – 997 Đây số nguyên tố lớn 4.2.1.1 Tạo khóa cơng khai: Đầu tiên, ta chọn số ngẫu nhiên d A làm khóa bí mật Số phải thỏa mãn nằm khoảng [2, 2256 – 1] Trên đường cong Elliptic ta chọn điểm sở G  (generator point) Với Ethereum điểm G có giá trị: G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8 Theo tiêu chuẩn secp256k1 Lúc này, khóa cơng khai PU kết phép nhân: PU =d A × G 18 Nhóm16 : An ninh mạng thơng tin Dựa vào tính chất đường cong Eliptic, chắn PU điểm đường cong 4.2.1.2 Tạo chữ ký Chữ ký Ethereum chữ ký thông thường, biểu diễn cặp số (r, s) Để tạo cặp (r, s) hệ thống phải chọn số ngẫu nhiên k, số phải khác với khóa bí mật người dùng Tiếp theo, hệ thống thực phép nhân k với điểm sở G (giống với trình tạo public key) để tạo một điểm P=k ×G Kết phép nhân điểm P(x, y) Giá trị r toạ độ x điểm P (vì độ bảo mật ECC cao nên cần giá trị x đủ độ an tồn cần thiết, khơng cần lấy giá trị y) Để tính giá trị s, đầu tiên, hệ thống cần phải đưa tin cần ký qua hàm băm, hàm băn sử dụng Ethereum hàm Keccak256 Giá trị sau băm tin ta đặt z Lúc này, s tính sau: s=k−1 ( z+ d a × r ) ( mod p) 4.2.1.3 Xác thực chữ ký Để xác thực chữ ký có hợp lệ hay không, hệ thống cần tham số khóa cơng khai người gửi PU Việc xác thực thực cách tính: P=s−1 × z ×G+ s−1 × r × PU Tọa độ điểm P tham số r chữ ký số chữ ký hợp lệ Chứng minh điều thực phần 4.2.1.4 Tạo địa ví Từ private key, địa ví Ethereum tạo sau  Tạo public key từ private key giống bên ta trình bày  Tính giá trị băm public key, giá trị 20 byte cuối public key sử dụng làm địa ví Hàm băm sử dụng Keccak-256 Ví dụ, khóa bí mật người dùng có giá trị (dạng hexa): PR=5 bff b2 a bc 0049382 ece 299 b fe fef 82 d b 517 d d 05 be d dc ae 3e1 aa 0047 19 Nhóm16 : An ninh mạng thông tin Bằng phép nhân đường cong Elliptic, ta tính public key điểm PU có giá trị tọa độ (dạng hexa) là: x :1E866 A 709 A 022 B A 56 C F 372E5869094 EF 4300E1 EAB A B2892734499305447 E y : FDBF 17E1C 96E5C CF 28 D ECE 1958 D FA 16130 D BF 93E9975 ABC AE 6450 DBA 492 ghép vào ta có public key: PU = 0x1E866A709A022B7A56C5F372E5869094EF4300E1EAB8A7B2892734499305447 EFDBF17E1C96E5C0CF28D4ECE1958D7FA16130D5BF93E9975ABC4AE6450DB A492 Áp dụng hàm băm vào public key, ta giá trị: H ( PU )=97 f 104 de ced 45e912 ccf b1 c 11 eea 10 ced ea 3270 d 46 ceec ce 1e53 d 6689 cd Từ giá trị Hash này, lấy 20 bytes cuối cùng, ta có địa ví là: xc 11 eea 10 ced ea 3270 d 46 ceec ce 1e53 d 6689 cd 4.2.1.5 Ký giao dịch Một raw transaction Ethereum trông sau: { from: '0x937CDc3a7273269Fe43967E785D9e24D3C48C164', gas: '0x3d0900', gasPrice: 10000000000, hash: '0x228c53215e5ad0f9d6114a4f4adeb8e5359fbee1283aacb7fedb2ab1b212871b', data: '0x60fe47b100000000000000000000000000000000000000000000000000000000000 00003', nonce: 34, to: '0x6b4A7a46ad065b5fb142DEe92E9F4546982510fD', 20 Nhóm16 : An ninh mạng thông tin value: '0x', } Sau ký, tin broadcast lên mạng có nội dung sau: { blockHash: '0x7905dc70c9a0196fd2a1999568506026e5e4027c7fac88fd3b841df213c7918d', blockNumber: 7719658, from: '0x937CDc3a7273269Fe43967E785D9e24D3C48C164', gas: '0x3d0900', gasPrice: '10000000000', hash: '0x228c53215e5ad0f9d6114a4f4adeb8e5359fbee1283aacb7fedb2ab1b212871b', input: '0x60fe47b100000000000000000000000000000000000000000000000000000000000 00003', nonce: 34, r: '0x3dee14909e26ec8758cca4b386ec582cac5100767776454eec94343ac6f2de46', s: '0x68869c7b5e4b4caa6b602e29f0787ae70a37833cc681c9463b139f30a2fe5de5', to: '0x6b4A7a46ad065b5fb142DEe92E9F4546982510fD', transactionIndex: 2, v: '0x29', 21 Nhóm16 : An ninh mạng thông tin value: '0', }; Ta để ý raw transaction cũ thêm trường r và s, chữ ký số tin Bằng chữ ký số này, tất máy khác hệ thống dễ dàng xác nhận tin ký : 0x937CDc3a7273269Fe43967E785D9e24D3C48C164 4.2.2 Elliptic-curve Diffie–Hellman (ECDH) Thuật toán Diffie-Hellman thuật tốn trao đổi khóa sử dụng lĩnh vực mật mã học Thuật toán trao đổi khóa cho phép hai bên tham gia giao tiếp thiết lập khóa bí mật dùng chung để mã hóa liệu đường truyền hai bên cách an tồn mà khơng cần đến việc thỏa thuận khóa bí mật trước hai bên tham gia trao đổi Khóa bí mật tạo sau trao đổi khóa dùng để mã hóa liệu phương pháp mã hóa khóa đối xứng Elliptic-curve Diffie–Hellman (ECDH) biến thể cải tiến thuật toán Diffie–Hellman truyền thống, thuật toán cho phép hai bên tham gia trao đổi, bên có cặp khóa xây dựng đường cong elliptic, xây dưng bí mật chung hai bên kênh thơng tin khơng an tồn Bí mật sử dụng làm khóa làm sở để xây dựng khóa khác Sau đó, khóa mã hóa thơng tin trao đổi hai bên phương pháp mã hóa khóa đối xứng Việc thiết lập bí mật chung hai bên thực sau: Giả sử, Alice muốn thiết lập bí mật chung với Bob, họ khơng có kênh truyền an tồn, thơng tin qua kênh truyền họ bị nghe trộm Các tham số đường cong Elliptic bên thỏa thuận trước kênh khơng an tồn Mỗi bên tạo cặp khóa phù hợp cho dựa đường cong elliptic, bao gồm khóa riêng d khóa cơng khai Q = dG Cách tạo khóa tương tự cách tạo khóa chữ ký số trình bày phần trước Cặp khóa Alice 22 Nhóm16 : An ninh mạng thơng tin ký hiệu (d A , Q A {¿(d { ¿{ A }},Q{ ¿ { A }})}) và Bob (d B,QB ) Q A Q B Alice Bob công khai lên kênh truyền Hai bên nhận khóa cơng khai Alice tính điểm K 1=d A Q B=(x K , y K ), Bob tính điểm K 2=d B Q A =( x K , y K ) Điểm K K trùng nhau, giá trị x tọa độ lấy làm bí mật chung hai bên Thơng thường, giao thức tiêu chuẩn hóa dựa ECDH dựa x để tính tốn khóa bí mật để trao đổi thông tin Hai điểm K K trùng bởi: d A QB =d A d B G=d B d A G=d B Q A Chỉ có khóa cơng khai Alice tiết lộ Cịn khóa riêng Alice biết, khơng bên xác định khóa riêng Alice trừ họ giải toán logarit rời rạc đường cong eliptic Với Bob, việc bảo mật thực tương tự Do đó, khơng tính tốn bí mật chung hai bên, trừ bên thứ giải tồn logarit rời rạc đường cong elliptic 4.2.3 Ứng dụng vào thiết bị có tài nguyên hạn chế: Với ưu điểm thuật tốn ECDSA với độ dài khóa thấp (tức nhớ dùng để lưu thông tin hơn) giữ độ an tồn cao (ví dụ với độ dài khóa 160 bit tương đương với khóa có độ dài 1024 bit thuật tốn RSA), việc tính tốn với tốc độ tính tốn cao thuật tốn thực tính tốn phép tính theo đường cong E với tập giá trị E(Fq) trường hữu hạn Fq Chính vậy, thuật tốn ECDSA cho thích hợp cho việc thực ký xác thực thiết bị có tài ngun hạn chế cơng nghệ NFC (Near Field Communication), RFID (Radio Frequency Identification) hay IoT (Internet of Things), nơi mà việc truyền thông khơng bó buộc thực thể mạng trở nên xác thực an toàn Hệ mật mã hóa khóa cơng khai ECC dùng lược đồ khóa cơng khai hiệu cho thiết bị xử lý có tài nguyên hạn chế u cầu tài ngun so với thuật toán tiếng RSA Với ECDSA thiết bị thụ động (như thẻ RFID) cần phải xác thực dễ dàng thực thuật tốn 23 Nhóm16 : An ninh mạng thơng tin Trong thực tế, thẻ thụ động có chứa mã xác thực nhớ riêng với tài nguyên hạn chế phải thực việc ký để xác thực với trung tâm xác thực Đầu tiên, đọc nhận chứng từ thẻ xác minh giá trị khóa cơng khai Sau đó, gửi chuỗi ngẫu nhiên đến thẻ Thẻ sử dụng khóa riêng với thuật tốn ECDSA để ký lên tin sau gửi lại đọc để xác thực quyền đăng nhập thẻ Các bước để xây dựng thực thuật tốn ECDSA thiết bị có tài ngun hạn chế trình bày sau: 4.2.3.1 Lựa chọn tham số cho hệ thống: ECDSA thực việc sử dụng tham số đường cong elliptic khác Nhưng thuật toán chữ ký ECDSA lại có hai lựa chọn trường hữu hạn cho việc tính tốn phép tính trường hữu hạn nguyên tố Fp (p số nguyên tố > 2) trường nhị phân mở rộng F2m (m số nguyên) Để áp dụng thiết bị có tài ngun hạn chế phép tính số học yếu tố ảnh hưởng đến lực yêu cầu thiết bị Chính vậy, để áp dụng thiết bị phép tốn nên thực trường nguyên tố Fp (q = p); trường ta cần lưu tham số ECDSA sử dụng trường nhị phân mở rộng ta cịn phải tính tốn thêm phép toán đa thức mở rộng trường Như thế, số thành phần phần cứng số học cần thiết tối ưu Do yêu cầu thuật toán ECDSA phải hoạt động thiết bị có tài nguyên hạn chế lại phải có độ an toàn cao việc xác thực bảo mật Vì vậy, để đạt u cầu này, tham số đường cong với kích thước nguyên tố nhỏ chọn tiêu chuẩn NIST-P192 4.2.3.2 Thực thuật toán Thuật toán xác thực ký sử dụng ECDSA mô tả mục Ta thấy, việc khó khăn việc thực thuật tốn việc thực phép tính đường cong elliptic Chính vậy, cần có phương pháp áp dụng để làm tăng tốc độ tính tốn thuật tốn 24 Nhóm16 : An ninh mạng thông tin Gọi E đường cong elliptic Fp Một điểm P nhân vô hướng sau: k kP= Σ P i=1 Làm thực tính kP cách hiệu vấn đề nghiên cứu nhiều để thực ECC Như ta biết, đường cong elliptic có hai phép tốn dùng phép cộng phép nhân trình bày chương trước Để thực đơn giản hóa phép tốn ta thực sau: Tách k thành số nhị phân k = (kt – 1,…,k1,k0), ki {0,1} Đặt Q = Cho i chạy từ t – đến 0:  Q = 2Q  Nếu ki = Q = Q + P Kết ta thu Q=kP Thuật toán giúp tính tốn thiết bị nhỏ nhanh nhiều 25 Nhóm16 : An ninh mạng thơng tin KẾT LUẬN Sau đời Diffie-Hellman tảng tuyệt vời cho khả mã hóa cơng khai ,có thể kể đến tiêu biểu thuật toán RSA.Nhờ người sử dụng cách ký hiệu cho thân ,cái gọi chữ ký số Đây điều tiên cần thiết việc thực ký xác thực thuật toán chữ ký số Hệ mật đường cong elliptic phát biện pháp sinh khóa mang tính chất đột biến sau RSA Thuật toán chữ ký số đường cong elliptic cho giải pháp hiệu an tồn, với kích thước khóa nhỏ thuật tốn cho mức an tồn cao thuật tốn khác có kích thước khóa lớn Với việc sử dụng tài nguyên đem lại độ an toàn cao, ECDSA cho thuật tốn thích hợp để áp dụng thiết bị có tài nguyên hạn chế Tiểu luận đưa lược đồ cho việc áp dụng thuật toán ECDSA thiết bị Theo đó,tiểu luận khuyến nghị tập trung vào tham số trường hữu hạn (nên sử dụng trường hữu hạn Fp p số nguyên tố lớn 2), phương pháp tính nhằm tăng tốc độ phép tính kP thiết bị việc thực phân tách tham số k thành chuỗi số nhị phân áp dụng công thức cộng nhân đôi điểm đường cong elliptic TÀI LIỆU THAM KHẢO [1] Đỗ Xuân Bình, “Chữ ký số, chứng số sở hạ tầng khóa cơng khai – Các vấn đề kỹ thuật ứng dụng”, Nhà xuất vản bưu điện, 12 – 2007 26 Nhóm16 : An ninh mạng thông tin [2] Man Young Rhee, “Internet Security Cryptographic Principles, Algorithms and Protocols”, John Wiley and Sons, 2003 [3] Cameron F Kerry, Patrick D Gallagher, “Digital Signature Standard”, Federal information processing standards publication, July 2013 [4] Don Johnson, Alfred Menezes, Scott Vanstone, “The Elliptic Curve Digital Signature Algorithm”, International Journal of Information Security, Vol 1, issue 1, pp 36-63 [5] COMPARISON AND EVALUATION OF DIGITAL SIGNATURE SCHEMES EMPLOYED IN NDN NETWORK Al Imem Ali published International Journal of Embedded systems and Applications(IJESA) Vol.5, No.2, June 2015 [6] https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman [7] An Introduction to Bitcoin, Elliptic Curves and the Mathematics of ECDSA 27 ... khác ngân hàng, viễn thông… Mật mã học khóa cơng khai tạo chữ ký số ứng dụng vào tài liệu Hệ mật mã hóa RSA – hệ mã hóa điển hình mật mã hóa cơng khai với hàm băm mật mã học chiều cơng cụ việc... đồ chữ ký số đường cong eliptic (ECDSA) .15 4.1.4 Tính bảo mật ECDSA .16 4.2 Ứng dụng ECC .17 4.2.1 Ứng dụng hệ mật mã hóa khóa cơng khai sử dụng đường cong eliptic... đường cong Elliptic E với số nguyên dương k dễ dàng xác định điểm Q = k x G Hình 3: Ví dụ phép nhân đường cong Elliptic CHƯƠNG 2: MẬT Mà HÓA KHĨA CƠNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC Hệ mật mã công

Ngày đăng: 19/08/2021, 11:38

Từ khóa liên quan

Mục lục

  • DANH MỤC HÌNH VẼ

  • MỞ ĐẦU

  • CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG ELLIPTICE()

    • 1.1 Định nghĩa, tính chất của đường cong

      • 1.1.1 Định nghĩa

      • Hình 1: Trường đồ thị của đường cong elliptic

      • Hình 2: Ví dụ về phép cộng trên đường cong Elliptic

      • Hình 3: Ví dụ về phép nhân 2 trên đường cong Elliptic

      • CHƯƠNG 2: MẬT MÃ HÓA KHÓA CÔNG KHAI SỬ DỤNG ĐƯỜNG CONG ELLIPTIC

        • 2.1 Các tham số của hệ mật mã hóa ECC

          • 2.1.1 Đương cong eliptic trên trường nguyên tố hữu hạn

          • 2.1.1.1 Trường hữu hạn

          • 2.1.1.2 Đường cong Elliptic trên trường có dạng như sau:

          • 2.1.2. Tham số hệ mật mã ECC trên trường nhị phân hữu hạn

          • CHƯƠNG 3: ƯU ĐIỂM ECC VÀ SO SÁNH VỚI RSA

            • 3.1 Ưu điểm của EEC

            • Hình 4: Đường cong eliptic 1

            • Hình 5: Đường cong eliptic 2

              • 3.2 So sánh ECDSA và RSA

              • CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG ĐƯỜNG CONG ELLIPTIC VÀ MỘT SỐ ỨNG DỤNG

                • 4.1 Chữ ký số sử dụng đường cong elliptic

                  • 4.1.1 Tạo chữ ký số

                  • Hình 6: Quy trình thực hiện để tạo chữ ký số

                    • 4.1.2 Xác Thực chữ ký số

                    • Hình 7: Quy trình thực hiện để xác thực chữ ký số

                      • 4.1.3 Sơ đồ chữ ký số trên đường cong eliptic (ECDSA)

                      • 4.1.4 Tính bảo mật của ECDSA

                      • 4.2 Ứng dụng của ECC

                        • 4.2.1 Ứng dụng của hệ mật mã hóa khóa công khai sử dụng đường cong eliptic và ECDSA trong đồng tiền ảo Ethereum.

                        • 4.2.1.4 Tạo ra địa chỉ ví

                        • 4.2.2 Elliptic-curve Diffie–Hellman (ECDH).

Tài liệu cùng người dùng

Tài liệu liên quan