Danh mục

Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa bí mật

Số trang: 10      Loại file: pdf      Dung lượng: 234.08 KB      Lượt xem: 15      Lượt tải: 0    
tailieu_vip

Xem trước 1 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài viết đề xuất xây dựng giao thức thiết lập khóa an toàn cho các hệ mã hóa khóa bí mật từ việc phát triển giao thức Diffie – Hellman. Các giao thức mới đề xuất có ưu điểm là các khóa bí mật chia sẻ tạo ra được xác thực về nguồn gốc nên có thể chống lại các kiểu tấn công giả mạo rất hiệu quả.
Nội dung trích xuất từ tài liệu:
Phát triển giao thức thiết lập khóa an toàn cho các hệ mã khóa bí mật Nghiên cứu khoa học công nghệ<br /> <br /> PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHÓA AN TOÀN CHO<br /> CÁC HỆ MÃ KHÓA BÍ MẬT<br /> Nguyễn Vĩnh Thái1*, Bạch Nhật Hồng1, Lưu Hồng Dũng2<br /> Tóm tắt: Bài báo đề xuất xây dựng giao thức thiết lập khóa an toàn cho các hệ<br /> mã hóa khóa bí mật từ việc phát triển giao thức Diffie – Hellman. Các giao thức<br /> mới đề xuất có ưu điểm là các khóa bí mật chia sẻ tạo ra được xác thực về nguồn<br /> gốc nên có thể chống lại các kiểu tấn công giả mạo rất hiệu quả<br /> Từ khóa: Key Establishment, Key Agreement Protocols, Key Exchange Protocol, Key Transport Protocols.<br /> <br /> 1. ĐẶT VẤN ĐỀ<br /> Trong các hệ mã khóa bí mật (Secret – Key Cryptosystems), việc thiết lập một<br /> khóa bí mật chung (Key Establishment) cho cả bên gửi/mã hóa và bên nhận/giải<br /> mã là một vấn đề rất quan trọng và phức tạp, được thực hiện bằng các giao thức<br /> thỏa thuận khóa (Key Agreement Protocols) hay chuyển khóa (Key Transport<br /> Protocols). Chuyển khóa được thực hiện bằng việc tạo trước khóa bí mật dùng<br /> chung bởi 1 trong 2 bên, rồi sử dụng các thuật toán mật mã khóa công khai như<br /> RSA, ElGamal, ... để chuyển cho bên kia qua các kênh không an toàn. Sử dụng<br /> thuật toán mã khóa công khai để chuyển khóa không bảo đảm được một số tính<br /> chất an toàn như: Xác thực thực thể (entity authentication), xác thực khóa hiện<br /> (explicit key authentication), tính bí mật về phía trước (forward secrecy), ... Vì<br /> vậy, việc chuyển khóa chỉ được thực hiện khi yêu cầu về các tính chất an toàn như<br /> thế không được đặt ra trong các ứng dụng thực tế. Khác với chuyển khóa, thỏa<br /> thuận khóa được thực hiện theo cách mà ở đó mỗi bên tham gia sẽ tạo ra thông tin<br /> để thỏa thuận cho việc thiết lập 1 khóa bí mật dùng chung, rồi trao đổi các thông<br /> tin này cho nhau. Từ thông tin thỏa thuận nhận được mỗi bên sẽ tạo ra khóa bí mật<br /> chung hay còn gọi là khóa bí mật chia sẻ. Do có việc trao đổi thông tin thỏa thuận<br /> khóa trong quá trình thiết lập 1 khóa chung giữa 2 bên, các giao thức loại này còn<br /> được gọi là giao thức trao đổi khóa (Key Exchange Protocols). Giao thức thỏa<br /> thuận khóa đầu tiên được đề xuất bởi W. Diffie và M. Hellman vào năm 1976<br /> (DHKE) [1]. Với giao thức HDKE, không một kẻ thứ 3 nào có thể tính được khóa<br /> bí mật của 2 đối tượng tham gia trao đổi khóa nếu không giải được bài toán logarit<br /> rời rạc DLP (Discrete Logarithm Problem) [2]. Tuy nhiên, DHKE có thể dễ dàng<br /> bị một kẻ thứ 3 không mong muốn mạo danh một trong 2 đối tượng để thiết lập 1<br /> khóa bí mật chung với đối tượng kia [3]. Một hướng nghiên cứu nhằm khắc phục<br /> nhược điểm trên đây của DHKE là tích hợp giao thức này với các thuật toán chữ<br /> ký số, đã có một số kết quả về hướng nghiên cứu này được công bố [5 – 10].<br /> Trong phần tiếp theo của bài báo, nhóm tác giả đề xuất xây dựng giao thức thiết<br /> lập khóa an toàn cho các hệ mật khóa đối xứng trên cơ sở phát triển giao thức<br /> Diffie – Hellman. Khác với các giao thức trong [5 – 10], giao thức mới đề xuất ở<br /> đây sử dụng mật mã khóa công khai mà không phải chữ ký số để cung cấp tính<br /> năng xác thực khóa bí mật chia sẻ, từ đó có thể chống lại các dạng tấn công giả<br /> mạo đã biết trong thực tế.<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 12 - 2017 193<br /> Công nghệ thông tin<br /> <br /> 2. PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHÓA<br /> CHO CÁC HỆ MÃ KHÓA BÍ MẬT<br /> 2.1. Giao thức thiết lập khóa đề xuất mới<br /> 2.1.1. Thuật toán hình thành tham số và khóa<br /> a) Hình thành các tham số hệ thống<br /> Hình thành tham số bao gồm các bước thực hiện như sau:<br /> [1]. Chọn số nguyên tố p lớn sao cho việc giải bài toán logarit rời rạc trên Zp là<br /> khó.<br /> [2]. Lựa chọn hàm băm (hash function) H: {0,1}*  Zn , với: n  p .<br /> [3]. Công khai: p, H(.).<br /> Ghi chú: Trong ứng dụng thực tế, p là tham số hệ thống và do nhà cung cấp<br /> dịch vụ chứng thực số tạo ra.<br /> b) Thuật toán hình thành khóa<br /> Mỗi người dùng U hình thành cặp khóa bí mật và công khai của mình theo các<br /> bước như sau:<br /> [1]. Chọn giá trị ex thỏa mãn: 1  ex  p  1 và: gcd(ex , p  1)  1<br /> 1<br /> [2]. Tính giá trị: d x  ex  mod( p  1)<br /> [3]. Chọn một giá trị ngẫu nhiên t thỏa mãn: 1  t  p  1<br />  t<br /> <br /> [4]. Tính giá trị khóa D theo công thức: D  d x  mod p mod( p  1)<br /> Kiểm tra nếu: gcd( D, p  1)  1 thì thực hiện lại từ bước [3].<br />  t<br /> <br /> [5]. Tính giá trị khóa E1 theo công thức: E1  ex  mod p mod( p  1)<br /> Kiểm tra nếu: gcd( E1 , p  1)  1 thì thực hiện lại từ bước [3].<br /> [6]. Tính giá trị khóa E2 công thức:<br />  t t t t<br /> ...

Tài liệu được xem nhiều: