Mô hình trao đổi khóa Elliptic Curve Diffie-Hellman

Một phần của tài liệu book mã hóa ứng dụng update 2 phần 8 ppsx (Trang 26 - 31)

Mô hình trao đổi khóa Elliptic curve Diffie-Hellman tương tự mô hình trao đổi khóa Diffie-Hellman. ECDH cũng dựa vào nguyên lý của bài toán logarit rời rạc nhưng áp dụng trên đường elliptic curve. Mô hình này dùng để thiết lập một hoặc nhiều khóa quy ước chung giữa hai đối tác A và B.

Các thao tác để trao đổi khóa bằng ECDH được thực hiện như sau:

• A và B thống nhất các tham số sẽ sử dụng như: đường elliptic curve E, và điểm P(x, y)

• A chọn một giá trịm ngẫu nhiên. A tính giá trịđiểm QA = m ×P và gởi

QA cho B

• B chọn một giá trịn ngẫu nhiên. B tính giá trịđiểm QB = n ×P và gởi QB

cho A

• A nhận được QB và tính giá trịG = m ×QB = m ×n ×P

• B nhận được QA và tính giá trịG = n ×QA = n ×m ×P

Giá trịG = m ×n ×P chính là giá trị bí mật được quy ước chung.

Giả sử có một người C tấn công vào đường truyền và lấy được các giá trịQA, QB,

E, P, C cần lấy được m hoặc nđể tìm G = m ×n ×P. Điều đó chính là C phải giải bài toán logarit rời rạc trên đường cong elliptic. Giải bài toán này đòi hỏi chi phí tính toán tương đương với sử dụng thuật toán vét cạn trên đường cong elliptic.

8.4 Kết luận

Hệ thống mã hóa khóa công cộng ra đời đã giải quyết các hạn chế của mã hóa quy ước. Mã hóa khóa công cộng sử dụng một cặp khóa, một khóa (thông thường là khóa riêng) dùng để mã hóa và một khóa (khóa riêng) dùng để giải mã. Mã hóa khóa công cộng giúp tránh bị tấn công khi trao đổi khóa do khóa để giải mã (khóa riêng) không cần phải truyền hoặc chia sẻ với người khác. Ngoài ra, mỗi người chỉ cần sở hữu một cặp khóa công cộng – khóa riêng và người gởi thông tin chỉ cần giữ khóa công cộng của người nhận do đó số lượng khóa cần phải quản lý giảm khá nhiều. Mỗi người chỉ cần lưu trữ bảo mật một khóa riêng của chính mình.

Tuy nhiên, do nhu cầu mã hóa và giải mã bằng hai khóa khác nhau trong cùng một cặp khóa nên đểđảm bảo bảo mật, kích thước khóa công cộng – khóa riêng lớn hơn rất nhiều so với khóa công cộng. Do đó tốc độ mã hóa khóa công cộng chậm hơn tốc độ mã hóa khóa quy ước. Tốc độ mã hóa bằng phần mềm của thuật toán DES nhanh hơn khoảng 100 lần so với mã hóa RSA với cùng mức độ bảo mật.

Bảng 8.2. So sánh kích thước khóa giữa mã hóa quy ước và mã hóa khóa công cộng với cùng mức độ bảo mật

Kích thước khóa (tính bằng bit)

Khóa quy ước 56 80 112 128 192 256

RSA/DSA 512 1K 2K 3K 7.5K 15K

So sánh giữa các phương pháp mã hóa khóa công cộng

Mã hóa khóa 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 toán phân tích thừa số của số nguyên. Phương pháp RSA dựa trên bài toán phân tích thừa số của số nguyên tố và đã được đưa ra từ cuối thập niên 70. 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 đường elliptic curve (ECDLP) chỉ mới được đưa ra từ năm 1985.

Một ưu điểm của ECC là khả năng bảo mật cao với kích thước khóa nhỏ dựa vào mức độ khó giải quyết của vấn đề ECDLP. Đây chính là một tính chất rất hữu ích đối với xu hướng ngày nay là tìm ra phương pháp tăng độ bảo mật của mã hóa khóa công cộng với kích thước khóa được rút gọn. Kích thước khóa nhỏ hơn giúp thu gọn được kích thước của chứng nhận giao dịch trên mạng và giảm kích thước tham số của hệ thống mã hóa. Kích thước khóa nhỏ giúp các hệ thống bảo mật dựa trên ECC giảm thời gian tạo khóa. Thời gian tạo khóa thường rất lớn ở các hệ thống RSA.

Bảng 8.3. So sánh kích thước khóa RSA và ECC với cùng mức độ an toàn

Kích thước khóa Thời gian cần để

tấn công vào khóa

(đơn vị: năm) RSA / DSA ECC

Tỉ lệ kích thước khóa RSA : ECC 104 512 106 5:1 108 768 132 6:1 1011 1024 160 7:1 1020 2048 210 10:1 1078 21000 600 35:1

Kí ch t h ướ c khóa (bi t) 0 500 1000 1500 2000 2500 3000 RSA/DSA ECC 5x104 4x107 2x1012 4x1016 7x1023 Thời gian phá vỡ hệ mã (năm MIPS)1

Hình 8.5: So sánh mức độ bảo mật giữa ECC với RSA / DSA

Do có kích thước khóa nhỏ và khả năng phát sinh khóa 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 toá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ư handheld, PDA, điện thoại di động và 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. Ngoà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 (khi e = 3). Đố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.

Chương 9 Hàm băm mt mã

Một phần của tài liệu book mã hóa ứng dụng update 2 phần 8 ppsx (Trang 26 - 31)

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

(33 trang)