1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) mật mã hóa khóa công khai sử dụng EEC và ứng dụng vào chữ ký số

26 8 0

Đ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 EEC ứng dụng vào chữ ký số GIẢNG VIÊN: PHẠM ANH THƯ NHÓM : 16 SINH VIÊN: CHU TRUNG DŨNG B17DCVT074 PHẠM THANH HƯNG B17DCVT169 ĐÀO DUY SÁNG B17DCVT217 Hà Nội – 06/2021 Tieu luan Nhóm 16 : 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 E( Fp) 1.1 Định nghĩa, tính chất đường cong .5 1.1.1 Định nghĩa 1.1.2 Tính chất CHƯƠNG 2: HỆ MẬT Mà ECC 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.2 Tham số hệ mật mã ECC trường nhị phân hữu hạn CHƯƠNG 3: ƯU ĐIỂM & ỨNG DỤNG CỦA ECC 3.1 Ưu điểm EEC .9 3.2 So sánh ECDSA RSA 11 3.3 Ưu điểm ECDSA 12 3.4 Mặt hạn chế RSA ECDSA 12 CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG HỆ MẬT Mà ĐƯỜNG CONG ELLIPTIC 13 4.1 Tạo xác thực chữ ký số 13 4.2 Sơ đồ chữ ký số đường cong eliptic (ECDSA) 14 4.3 Tính bảo mật ECDSA 15 4.4 Ứng dụng ECC 16 KẾT LUẬN 25 TÀI LIỆU THAM KHẢO 26 Tieu luan Nhóm 16 : An ninh mạng thơng tin DANH MỤC HÌNH VẼ Tieu luan Nhóm 16 : 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 toà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 Tieu luan Nhóm 16 : An ninh mạng thơng tin CHƯƠNG 1: LÝ THUYẾT VỀ ĐƯỜNG CONG E( 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 1.1.2.1 Phép cộng đường cong elliptic Tieu luan Nhóm 16 : An ninh mạng thơng tin 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 2−x λ= x 12 + 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 Tieu luan Nhóm 16 : 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ố ngun dương k ln 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: HỆ MẬT Mà ECC 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 Tieu luan Nhóm 16 : 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 đó: Tieu luan Nhóm 16 : 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 Ngồi ra, #E( F ) số chẵn CHƯƠNG 3: ƯU ĐIỂM & ỨNG DỤNG CỦA ECC 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 toá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 cịn Tieu luan Nhóm 16 : An ninh mạng thơng tin lại (R) tính tốn cách dễ dàng, với R, hai cịn lại, P Q, khơng thể suy Hình 4: Đường cong eliptic Hình 5: Đường cong eliptic ECC sử dụng chữ ký số thông qua Elliptic Curve DSA (ECDSA) trao đổi khóa qua Elliptic Curve Diffie-Hellman (ECDH) Các thuật toán áp dụng phần khác tiêu chuẩn SSL Đầu tiên, chứng SSL ký ECDSA thay RSA Việc thứ hai trình máy chủ máy khách trao đổi khóa phiên sử dụng để mã hóa tất liệu gửi Trong trường hợp này, máy chủ trình duyệt phải định cấu hình để hỗ trợ mật mã ECDH 10 Tieu luan Nhóm 16 : An ninh mạng thơng tin • Việc tính tốn ECDSA dễ dàng so với RSA: ECDSA cung cấp khả tính tốn nhanh dung lượng lưu trữ • Độ dài khóa cơng khai khóa bí mật ngắn nhiều ECDSA Kết thời gian xử lý nhanh yêu cầu nhớ băng thông thấp Lưu ý: Một số nhà nghiên cứu phát ECC có tốc độ mã hóa nhanh RSA nhiên, ECC lại chậm việc xác minh mã hóa chữ ký Từ khác biệt trên, ta rút kết luận ECC cung cấp ưu điểm vượt trội so với RSA sau: • Nó cung cấp khả bảo mật cao với kích thước khóa nhỏ • 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 tốn dựa tốn logarit rời rạc, lần khởi tạo RSA cần phải tính tốn hai số ngun tố lớn p q 12 Tieu luan Nhóm 16 : An ninh mạng thông tin CHƯƠNG 4: CHỮ KÝ SỐ SỬ DỤNG ĐƯỜNG CONG ELIPTIC VÀ MỘT SỐ ỨNG DỤNG CỦA ECC 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ố 13 Tieu luan Nhóm 16 : 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) 14 Tieu luan Nhóm 16 : 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 khơng thể 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ó 15 Tieu luan Nhóm 16 : An ninh mạng thơng tin tin có chữ ký A phân tích Khi thay thuật tốn RSA ECDSA, tốc độ thực thuật tố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 toá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 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 tốn logarit rời rạc đường cong elliptic  Cách công hàm băm  Cách công khác 4.5 Một số ứ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 ECC 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ũ 16 Tieu luan Nhóm 16 : An ninh mạng thơng tin OpenSSL khơng có tối ưu cho ECC, thời gian tính tốn để tạo tạo chữ ký ECDSA 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.5.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.4.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: 17 Tieu luan Nhóm 16 : An ninh mạng thơng tin PU =d A × G Dựa vào tính chất đường cong Eliptic, chắn PU điểm đường cong 4.4.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.4.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.5.1.2 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 fe1 fef 82 d b 517 d d 05 be d dc ae 3e1 aa 0047 18 Tieu luan Nhóm 16 : 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.4.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', 19 Tieu luan Nhóm 16 : 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', 20 Tieu luan Nhóm 16 : 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.5.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 21 Tieu luan Nhóm 16 : 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 toàn logarit rời rạc đường cong elliptic 4.5.3 Ứng dụng vào thiết bị có tài nguyên hạn chế: Với ưu điểm thuật toá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 nguyên 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 tồ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 ngun hạn chế u cầu tài nguyên 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 22 Tieu luan Nhóm 16 : 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 toá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 nguyên hạn chế trình bày sau: 4.4.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 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 tố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 ngun hạn chế lại phải có độ an tồn cao việc xác thực bảo mật Vì vậy, để đạt yê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.4.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 23 Tieu luan Nhóm 16 : An ninh mạng thông tin Gọi E đường cong elliptic F p 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 KẾT LUẬN Sau thành tựu vô to lớn Diffie Hellman cống hiến cho người hình thức bảo mật thơng tin vơ tốt ,nó tảng sinh hàng loạt khóa công khai khác người đỉnh cao RSA Đâ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ố 24 Tieu luan Nhóm 16 : An ninh mạng thông tin Hệ mật đường cong elliptic với việc thức phép toán trường hữu hạn Fq với giá trị nhận thuộc tập điểm E(Fq) nằm đường cong elliptic nên tảng hệ mật mã hóa khóa cơng khai ECC vơ dễ dàng sử dụng với phương châm lấy điểm hệ trục tọa độ tính đơn hướng ,khơng có tính song hướng.Là tảng khóa vơ 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 cho ta lược đồ cho việc áp dụng thuật tố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 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 Đặng Thị Hằng, “Tìm hiểu hàm băm”, Đại học quốc gia TPHCM, 2015 Bitcoin Vietnam News, “Thuật tốn Keccak (SHA-3) gì?”, Crypto Việt, 14/01/2021 Trân, “Hàm băm ứng dụng”, 2019 National Institute of Standards and Technology (NIST).SHA-3 Winner announcement, http://www.nis.gov/itl/csd/sha-100212.cfm 25 Tieu luan Nhóm 16 : An ninh mạng thơng tin NIST, SHA-3 Stadard: ―Permutation-Based Hash And Extendable Output Functions‖ 8/2015 J Luis, G Pardo, and C Gómez-rodríguez, “The SHA-3 Family of Cryptographic Hash Functions and Extendable-Output Functions,” 2015 Nguyễn Văn Long, “Phân tích thành phần mật mã hoán vị Keccak-p”, 2018 Keccak Team, Strenght of Keccak, https://keccak.team/keccak_strengths.html 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 10 https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman 26 Tieu luan ... 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... 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... 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 Tieu

Ngày đăng: 08/12/2022, 09:28

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w