Trong công bố trước đây [4], chúng tôi đã đề xuất việc kết hợp hai lược đồ chữ ký số RSA và Schnorr, đồng thời xây dựng giao thức trao đổi khóa an toàn DH– MM–KE1 dựa trên lược đồ mới đ[r]
(1)PHÁT TRIỂN GIAO THỨC TRAO ĐỔI KHÓA AN TỒN DỰA TRÊN HAI BÀI TỐN KHĨ
Đỗ Việt Bình1*, Nguyễn Hiếu Minh2
Trong nghiên cứu trước đây, công bố giải pháp kết hợp chữ ký số giao thức trao đổi khóa để nâng cao khả bảo mật đạt tính chất cần thiết giao thức trao đổi khóa an tồn Trong báo này, đề xuất biến thể lược đồ chữ ký số trước xây dựng giao thức trao đổi khóa dựa biến thể
Từ khóa: Xác thực; Bài tốn khó; Trao đổi khóa; giao thức; Chữ ký số
1 TỔNG QUAN
Giao thức trao đổi khóa Diffie-Hellman (DH) không cung cấp khả xác thực bên tham gia [3] Do đó, nhiều giao thức đưa nhằm khắc phục nhược điểm [1] [2] [5] [8] Tuy nhiên lược đồ tồn những hạn chế dựa tốn khó [5-7]
Trong công bố trước [4], đề xuất việc kết hợp hai lược đồ chữ ký số RSA Schnorr, đồng thời xây dựng giao thức trao đổi khóa an tồn DH– MM–KE1 dựa lược đồ đề xuất nhằm nâng cao khả bảo mật Để nâng cao khả bảo mật, đề xuất biến thể lược đồ RSA– Schnorr, đồng thời xây dựng giao thức trao đổi khóa an tồn dựa giao thức mới
Trong báo này, phần phân tích lược đồ chữ ký số RSA–Schnorr công bố trước, đề xuất lược đồ cải tiến khắc phục nhược điểm lược đồ Trên sở đó, phần đề xuất giao thức trao đổi khóa an tồn dựa hai tốn khó (DH–MM–KE1) trình bày khả bảo mật giao thức Phần tóm tắt kết báo
2 LƯỢC ĐỒ CHỮ KÝ SỐ RSA–SCHNORR
Ở báo [4], đề xuất lược đồ chữ ký dựa hai tốn khó dựa trên việc kết hợp hai lược đồ chữ ký số RSA Schnorr Lược đồ sử dụng hai số nguyên tố mạnh , ’ số nguyên tố = + 1 với = ’ Lược đồ được thực Bảng 1:
Bảng 1. Lược đồ chữ ký số RSA-Schnorr
Tạo khóa
- Tính f( ) = ( − 1)( − 1)
- Chọn ∈ ∗ cho phần tử có cấp ∗ thỏa
(2)Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN qn sự, Số Đặc san CNTT, 11 - 2018 157
- Chọn số bí mật ∈ ∗, ∈ [1, − 1] tính = - Chọn số nguyên ∈ thỏa mãn: ,f( ) = 1
- Tính cho: ∗ = f( )
- Khóa cơng khai ( , , ), khóa bí mật ( , ) Ký - Chọn ngẫu nhiên số bí mật với 1 < <
- Tính =
- Tính = ( || )
- Tính = ( − )
- Chữ ký ( , ).
Xác thực
- Tính ∗ = - Tính ∗ = ∗ - Tính ∗ = ( || ∗) - Nếu = ∗ chữ ký hợp lệ
- Ngược lại ≠ ∗ chữ ký không hợp lệ
Trong báo này, đề xuất biến thể lược đồ nhằm nâng cao khả bảo mật Lược đồ mô tả Bảng 2:
Bảng 2. Biến thể lược đồ chữ ký số RSA-Schnorr
Tạo khóa
- Chọn hai số nguyên tố mạnh ’.
- Tính = ’ = + 1 thỏa mãn số nguyên tố - Tính f( ) = ( − 1)( − 1)
- Chọn , ∈ ∗ cho , phần tử có cấp ∗ thỏa mãn ≡ ≡
- Chọn hai số bí mật , ∈ ∗ với , ∈ [1, − 1]
- Tính =
- Chọn số nguyên ∈ thỏa mãn: ,f( ) = 1 - Tính cho: ∗ = f( )
- Khóa cơng khai ( , , ), khóa bí mật ( , , ) Ký - Chọn ngẫu nhiên hai số , bí mật với 1 < , <
(3)- Tính = ( || )
- Tính = ( − )
- Tính = ( − )
- Chữ ký ( , , ) Xác
thực
- Tính ∗ =
- Tính ∗ =
- Tính ∗ = ∗ ∗
- Tính ∗ = ( || ∗) - Nếu = ∗ chữ ký hợp lệ
- Ngược lại ≠ ∗ chữ ký không hợp lệ Tính đắn giao thức:
Ta có: ∗= ∗ ∗ = ∗ ∗ =
= = =
=> ∗ = ( || ∗) = ( || ) =
Với việc sử dụng hai phần tử , , khóa bí mật ( , , ) hai thành phần ngẫu nhiên ( , ), người cơng khơng thể tìm thành phần bí mật việc giải toán logarithm rời rạc
3 GIAO THỨC DH–MM–KE1 3.1 Mô tả giao thức
Dựa biến thể lược đồ chữ ký số RSA–Schnorr, đề xuất giao thức trao đổi khóa an tồn dựa hai tốn khó DH–MM–KE1 Giao thức hoạt động sau:
1) Chọn tham số:
Các tham số hai bên A B tính biến thể lược đồ RSA–Schnorr trình bày phần
Với người gửi A: = 2 + 1, = , số nguyên tố mạnh với kích thước 1024 bit Các tham số khóa người A: Khóa cơng khai ( , ) khóa bí mật ( , )
Với người nhận B: = 2 + 1, = , số nguyên tố mạnh với kích thước 1024 bit Các tham số khóa người B: Khóa cơng khai ( , ) khóa bí mật ( , )
(4)Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 159
Tìm tập = ∩ Tính = ( , )
Tìm , phần tử có cấp ∗ có cấp ∗ thỏa
mãn ≡ ; ≡ ≡ ; ≡
A tính = ; B tính = đăng ký giá
trị với nhà cung cấp dịch vụ 2) A thực sau:
- Lựa chọn , ∈ [2, − 1]
- Tính = =
- Gửi ( , ) cho B 3) B thực sau:
- Chọn ∈ [1, − 1] tính =
- Chọn , ∈ [2, − 1]
- Tính = =
- Tính tốn khóa bí mật chia sẻ = ( || )
- Tính = =
- Tính = ( || || || || || )
- Tính = ( − )
- Tính = ( − )
- Gửi lại giá trị ( , , , , , ) cho người A 4) A sau tiếp tục thực sau:
- Tính =
- Tính = =
- Tính khóa bí mật chia sẻ = ( || )
- Xác thực ( , , )
- Tính = ( || || || || || )
- Tính = ( − )
- Tính = ( − )
- Gửi ( , , ) cho B 5) B thực hiện:
- Xác thực ( , , )
(5)Tính đ 3.2 Đ Tính ch trư Ch khóa phiên
cơng khơng th Do đó, giao th Tính đ
Ta có: 3.2 Đ Tính ch
trước (Perfect Forward Secrecy). hứng minh:
khóa phiên
Khóa phiên theo hư Cịn B tính nh
và
Do đó, m cơng khơng th Do đó, giao th Tính đ
Ta có: 3.2 Độ an to Tính ch
ớc (Perfect Forward Secrecy). ứng minh:
khóa phiên
Khóa phiên theo hư Cịn B tính nh
và
Do đó, m cơng khơng th Do đó, giao th Tính đ
Ta có: ộ an to Tính chất 2.1:
ớc (Perfect Forward Secrecy). ứng minh:
khóa phiên
Khóa phiên theo hư Cịn B tính nh
và
Do đó, m cơng khơng th Do đó, giao th Tính đ
=
ộ an to ất 2.1:
ớc (Perfect Forward Secrecy). ứng minh:
khóa phiên
Khóa phiên theo hư Cịn B tính nh
ph Do đó, m cơng khơng th Do đó, giao th
Tính đắn giao thức:
=
ộ an toàn c ất 2.1: Giao th
ớc (Perfect Forward Secrecy). ứng minh: Ta c
Khóa phiên theo hư
=
Cịn B tính nh
=
phụ thuộc v Do đó, m
cơng khơng thể tính khóa phi Do đó, giao thức n
ắn giao thức:
àn giao thức Giao th
ớc (Perfect Forward Secrecy). Ta c
Khóa phiên theo hư
=
Cịn B tính sau:
=
ụ thuộc v Do đó, khóa d
ể tính khóa phi ức đ
ắn giao thức:
ủa giao thức Giao th
ớc (Perfect Forward Secrecy).
Ta cần chứng minh khóa bí mật d và
Khóa phiên theo hư
(
ư sau:
(
ụ thuộc v ột khóa d
ể tính khóa phi ày đ
ắn giao thức: => ủa giao thức Giao thức DH ớc (Perfect Forward Secrecy).
ần chứng minh khóa bí mật d đư
Khóa phiên theo hướng từ A
||
ư sau:
||
ụ thuộc vào giá tr ột khóa d
ể tính khóa phi ày đảm bảo tính an to
Hình
ắn giao thức: => ủa giao thức
ức DH ớc (Perfect Forward Secrecy).
ần chứng minh khóa bí mật d được tạo tr
ớng từ A
) )
ào giá tr ột khóa dài h ể tính khóa phi
ảm bảo tính an to
Hình
ắn giao thức:
=
ủa giao thức ức DH ớc (Perfect Forward Secrecy).
ần chứng minh khóa bí mật d ợc tạo tr
ớng từ A
) = ) =
ào giá tr ài h ể tính khóa phi
ảm bảo tính an to
Hình 1.
ắn giao thức:
= =
ủa giao thức ức DH–MM ớc (Perfect Forward Secrecy).
ần chứng minh khóa bí mật d ợc tạo tr
ớng từ At
) (
) (
ào giá trị ngẫu nhi ài hạn (
ể tính khóa phi ảm bảo tính an to
Giao th =
(
MM ớc (Perfect Forward Secrecy)
ần chứng minh khóa bí mật d ợc tạo tr
tới B đ
( || ( ||
ị ngẫu nhi ạn (
ể tính khóa phi ảm bảo tính an to
Giao th
||
MM–KE1 đ
ần chứng minh khóa bí mật d
ợc tạo trước không bị ảnh h ới B đ
| |
ị ngẫu nhi ể tính khóa phiên đ
ảm bảo tính an to
Giao thức DH
| )
KE1 đ
ần chứng minh khóa bí mật d
ớc khơng bị ảnh h ới B A tính nh
ị ngẫu nhi
,
ên s ảm bảo tính an tồn đ
ức DH
) =
KE1 đảm bảo tính chất an to ần chứng minh khóa bí mật d
ớc khơng bị ảnh h ợc A tính nh
ị ngẫu nhiên ),
ã sử dụng àn đ
ức DH
) =
ảm bảo tính chất an to ần chứng minh khóa bí mật d
ớc khơng bị ảnh h ợc A tính nh
ên ( ử dụng
àn đầy đủ phía tr
ức DH–MM
( |
ảm bảo tính chất an to ần chứng minh khóa bí mật d
ớc khơng bị ảnh h ợc A tính nh
,
ử dụng
ầy đủ phía tr
MM
||
ảm bảo tính chất an to ần chứng minh khóa bí mật d
ớc khơng bị ảnh h ợc A tính nh
và ử dụng
ầy đủ phía tr
MM–KE1
)
ảm bảo tính chất an to ần chứng minh khóa bí mật dài h
ớc khơng bị ảnh h ợc A tính sau:
và ) c ầy đủ phía tr
KE1 = ) =
ảm bảo tính chất an to ài hạn A v ớc khơng bị ảnh h
ư sau:
) )
) A v
ầy đủ phía tr
KE1 = )
ảm bảo tính chất an to ạn A v ớc khơng bị ảnh h
ư sau:
)
) ủa A v
và ầy đủ phía trư ảm bảo tính chất an to
ạn A v ớc khơng bị ảnh hư
ủa A B b ước. ảm bảo tính chất an tồn đ
ạn A v ưởng.
à B b
(3.1) v ớc
àn đ ạn A B b
ởng
à B bị lộ, ng ằng (3.1) v
àn đầy đủ phía à B b
ị lộ, ng ằng (3.1) v
ầy đủ phía à B bị lộ th
ị lộ, ng ằng (3.1) v
ầy đủ phía ị lộ th
ị lộ, ngư ằng (3.1) (3.2)
ầy đủ phía ị lộ
(3.1) (3.2) ười à (3.2) ầy đủ phía ì
(3.1) (3.2) ời à (3.2) ầy đủ phía ì
(6)Nghiên cứu khoa học cơng nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 11 - 2018 161
Tính chất 2.2: Giao thức DH–MM–KE1 thỏa mãn tính chất khóa độc lập
Chứng minh: Trong giao thức DH–MM–KE1, A B tính khóa phiên theo cơng thức (3.1) (3.2) Có thể thấy, khóa phiên phụ thuộc vào khóa bí mật ( , ) số ngẫu nhiên ( , ) Điều có nghĩa khóa phiên tính độc lập
Tính chất 2.3: Giao thức DH–MM–KE1 an tồn với cơng SSR
Chứng minh: Ta cần chứng minh người công thu trạng thái trung gian q trình thực giao thức khơng thể tính khóa bí mật chia sẻ
Theo cơng thức (3.1) (3.2), khóa phiên phụ thuộc vào khóa bí mật ( , ) A B
Do đó, số ngẫu nhiên thành phần trung gian khác bị lộ, người cơng khơng thể tính khóa phiên khơng tính
( )
Do đó, giao thức DH–MM–KE1 an tồn với cơng SSR
Tính chất 2.4: Giao thức DH–MM–KE1 an tồn trước cơng giả mạo khóa thỏa thuận (key compromise impersonation – KCI)
Chứng minh: Giao thức sử dụng trình xác thực chung A B Do đó, trình xác thực thất bại người cơng hoạt động không đồng thời biết ( , ) ( , )
Do đó, cách người cơng tính trực tiếp khóa phiên, giả sử người cơng biết khóa bí mật dài hạn A ( , ) khóa phiên tạm thời của B ( ), khóa phiên = ( || ) người cơng tính Tuy nhiên, trường hợp này, người công
tính .
Do đó, giao thức DH–MM–KE1 an tồn trước cơng giả mạo khóa thỏa thuận KCI
Tính chất 2.5: Giao thức DH–MM–KE1 an tồn trước cơng khơng biết khóa chia sẻ (unknown key-share)
Chứng minh: Việc xác nhận khóa ngăn chặn cơng khơng biết khóa chia sẻ B xác nhận với A nhận khóa chia sẻ bí mật việc kí khóa này với ( , , , , ) Vì khóa bí mật chia sẻ hàm băm một chiều số ngẫu nhiên ( , ) A, A tin nội dung thông điệp không bị lặp biết thực từ phía B B làm điều tương tự với giống A
Tính chất 2.6: Giao thức DH–MM–KE1 an tồn dựa hai tốn khó
(7)Trong giao thức DH–MM–KE1, A B tính khóa chia sẻ theo công thức (3.1) (3.2)
Các giá trị phụ thuộc vào ( , )
Để tính , người cơng phải tính , muốn tính giá trị lại cần tìm f( ) mà muốn tìm f( ) lại cần phải giải tiếp tốn phân tích thành thừa số nguyên tố
Để tính (hoặc ) người cơng phải tính giá trị ( , )
( , )
Ta có: ( = = ) ( =
= )
Do đó, để tính ( , ) ( , ), người công phải giải toán logarithm rời rạc
Như vậy, giao thức DH–MM–KE1 an tồn dựa hai tốn khó 3.3 Đánh giá hiệu thuật toán
Độ phức tạp thời gian giao thức DH–MM–KE1 trình bày Bảng
Bảng 3. Độ phức tạp thời gian giao thức DH–MM–KE1
Giai đoạn Độ phức tạp thời gian
1 3 + 2
2 7 + 5 + 2
3 9 + 3 + 3
4 5 + 2 +
Tổng 24 + 12 + 6
4 KẾT LUẬN
Chúng vừa đề xuất cải tiến lược đồ chữ ký số trước giao thức trao đổi khóa an tồn dựa lược đồ cải tiến Các giao thức xây dựng dựa hai tốn khó, vậy, chúng có độ bảo mật cao giao thức trước
TÀI LIỆU THAM KHẢO
[1] Arazi B (1993), “Integrating a key distribution procedure into the digital signature standard” Electronics Letters; 29: 966-967
[2] Brown D, Menezes A (2001), “A Small Subgroup Attack on Arazi's Key
Agreement Protocol” Bulletin of the ICA;37: 45-50
[3] Diffie W, Hellman M (1976), “New Directions in Cryptography.IEEE
Transactions on Information Theory”; 22: 644-654
[4] Do Viet Binh, Authenticated key exchange protocol based on two hard