1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 - Trường Đại Học Quốc Tế Hồng Bàng

7 11 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 223,66 KB

Nội dung

Trong đó, xác thực khóa hay còn gọi là xác thực khóa ẩn ( implicit key authentication ) là khả năng mà 1 trong 2 đối tượng có thể khẳng định một cách chắc chắn rằng chỉ có đối tượng[r]

(1)

Nghiên cứu khoa học công nghệ

PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHĨA AN TỒN CHO CÁC HỆ MÃ KHĨA BÍ MẬT

Nguyễn Vĩnh Thái1*, Bạch Nhật Hồng1, Lưu Hồng Dũng2

Tóm tắt: Bài báo đề xuất xây dựng giao thức thiết lập khóa an tồn cho 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 khóa bí mật chia sẻ tạo xác thực nguồn gốc nên chống lại kiểu cơng giả mạo hiệu

Từ khóa: Key Establishment, Key Agreement Protocols, Key Exchange Protocol, Key Transport Protocols

1 ĐẶT VẤN ĐỀ

Trong hệ mã khóa bí mật (Secret – Key Cryptosystems), việc thiết lập khóa bí mật chung (Key Establishment) cho bên gửi/mã hóa bên nhận/giải mã vấn đề quan trọng phức tạp, thực giao thức thỏa thuận khóa (Key Agreement Protocols) hay chuyển khóa (Key Transport Protocols) Chuyển khóa thực việc tạo trước khóa bí mật dùng chung bên, sử dụng thuật toán mật mã khóa cơng khai RSA, ElGamal, để chuyển cho bên qua kênh khơng an tồn Sử dụng thuật tốn mã khóa cơng khai để chuyển khóa khơng bảo đảm số tính chất an toàn như: Xác thực thực thể (entity authentication), xác thực khóa hiện (explicit key authentication), tính bí mật phía trước (forward secrecy), Vì vậy, việc chuyển khóa thực yêu cầu tính chất an tồn khơng đặt ứng dụng thực tế Khác với chuyển khóa, thỏa thuận khóa thực theo cách mà bên tham gia tạo thông tin để thỏa thuận cho việc thiết lập khóa bí mật dùng chung, trao đổi thông tin cho Từ thông tin thỏa thuận nhận bên tạo khóa bí mật chung hay cịn gọi khóa bí mật chia sẻ Do có việc trao đổi thơng tin thỏa thuận khóa q trình thiết lập khóa chung bên, giao thức loại cịn gọi giao thức trao đổi khóa (Key Exchange Protocols) Giao thức thỏa thuận khóa đề xuất W Diffie M Hellman vào năm 1976 (DHKE) [1] Với giao thức HDKE, không kẻ thứ tính khóa bí mật đối tượng tham gia trao đổi khóa khơng giải tốn logarit rời rạc DLP (Discrete Logarithm Problem) [2] Tuy nhiên, DHKE dễ dàng bị kẻ thứ không mong muốn mạo danh đối tượng để thiết lập khóa bí mật chung với đối tượng [3] Một hướng nghiên cứu nhằm khắc phục nhược điểm DHKE tích hợp giao thức với thuật tốn chữ ký số, có số kết hướng nghiên cứu công bố [5 – 10]

(2)

Công nghệ thông tin

2 PHÁT TRIỂN GIAO THỨC THIẾT LẬP KHĨA CHO CÁC HỆ MÃ KHĨA BÍ MẬT

2.1 Giao thức thiết lập khóa đề xuất

2.1.1 Thuật tốn hình thành tham số khóa a) Hình thành tham số hệ thống

Hình thành tham số bao gồm bước thực sau:

[1] Chọn số nguyên tố p lớn cho việc giải toán logarit rời rạc Zp khó

[2] Lựa chọn hàm băm (hash function) H: {0,1}*  Zn , với: np.

[3] Công khai: p, H(.)

Ghi chú: Trong ứng dụng thực tế, p tham số hệ thống nhà cung cấp dịch vụ chứng thực số tạo

b) Thuật tốn hình thành khóa

Mỗi người dùng U hình thành cặp khóa bí mật cơng khai theo bước sau:

[1] Chọn giá trị ex thỏa mãn: 1exp1 và: gcd(ex,p1)1 [2] Tính giá trị: dx  ex 1mod(p1)

[3] Chọn giá trị ngẫu nhiên t thỏa mãn: 1tp1

[4] Tính giá trị khóa D theo công thức: D dx tmodpmod(p1) Kiểm tra nếu: gcd(D,p1)1 thực lại từ bước [3] [5] Tính giá trị khóa E1 theo cơng thức: E1 e modpmod(p1)

t x

Kiểm tra nếu: gcd(E1,p1)1 thực lại từ bước [3] [6] Tính giá trị khóa E2 cơng thức:

E2  dx tmod(p1) ex tmod(p1) dx tmodp ex tmodpmod(p1) Kiểm tra nếu: gcd(E2,p1)1 thực lại từ bước [3]

[7] Khóa cơng khai (E1, E2) khóa riêng D 2.1.2 Giao thức thiết lập khóa

Giả thiết đối tượng tham gia truyền thông A B có khóa cơng khai (E1A,E2A) (E1B,E2B), khóa riêng tương ứng DA DB hình thành theo thuật tốn mục 2.1.1 Cũng giả thiết A B thống sử dụng thuật tốn mã hóa khóa bí mật (DES, AES, ) để mã hóa liệu cần trao đổi với nhau, giao thức đề xuất (ký hiệu: MTA 17.9 – 01) sử dụng để thiết lập khóa bí mật chung/chia sẻ A B, bao gồm bước mô tả bảng sau:

Bảng 1. Giao thức MTA 17.9 – 01

Bước A B

1 - Chọn KA tính: R gKA p

A mod (1a) - Tính:

W  R EB p A

A mod

1

1  (2a)

- Chọn KB tính: R gKB p

B mod (1b) - Tính:

W  R EA p

B

B mod

1

(3)

Nghiên cứu khoa học công nghệ

W  R EB p A

A mod

2

2  (3a) - Gửi (W1A,W2A) đến B

W  R EA p B

B mod

2

2  (3b) - Gửi (W1B,W2B) đến A

2 - Tính:

R WWDA p B

B

B   mod (4a) - Tính khóa bí mật chia sẻ với B:

K  R KA p

B

AB  mod (5a) - Tính: EAH(KAB||RB) (6a) - Gửi EA đến B

- Tính:

R WWDB p A

A

A   mod (4b) - Tính khóa bí mật chia sẻ với A:

K  R KB p

A

BA  mod (5b) - Tính: EBH(KBA||RA) (6b) - Gửi EB đến A

3 - Tính: EBH(KAB||RA) (7a) - Nếu: EBEB thì: KABKBA

- Tính: EAH(KBA||RB) (7b) - Nếu: EAEA thì: KBAKAB Có thể cải tiến MTA 17.9 – 01 để đạt hiệu thực cao MTA 17.9 – 02 bảng sau đây:

Bảng 2 Giao thức MTA 17.9 – 02

Bước A B

1 - Chọn KA tính: WKEB p

A

A mod

1

1  WKEB p

A

A mod

2

2  - Gửi (W1A,W2A) đến B

- Chọn KB tính: WKEA p

B

B mod

1

1  WKEA p

B

B mod

2

2  - Gửi (W1B,W2B) đến A

2 - Tính:

K WWDA p B

B

B   mod - Tính khóa bí mật chia sẻ với B: KABKAKBmodp

- Tính: EAH(KAB||KB) - Gửi EA đến B

- Tính:

K WWDB p A

A

A   mod - Tính khóa bí mật chia sẻ với A: KBAKBKAmodp

- Tính: EBH(KBA||KA) - Gửi EB đến A

3 - Tính: EBH(KAB||KA) - Nếu: EBEB thì: KABKBA

- Tính: EAH(KBA||KB) - Nếu: EAEA thì: KBAKAB

2.2 Tính đắn giao thức đề xuất

Tính đắn giao thức đề xuất chứng minh dựa bổ đề mệnh đề sau đây:

Bổ đề 1:

Nếu: p số nguyên tố, 1ep1, gcd(e,p1)1, de1mod(p1)và

p m 

0 thì: me.dmodpm Chứng minh:

Thật vậy, ta có: de1mod(p1) Nên: demod(p1)1

Do đó, tồn số nguyên k cho: dek(p1)1 Theo định lý Euler [4] ta có: mp1modp1

(4)

Công nghệ thông tin

     

  

m pm p m p m

p m p m p m p m p k p k p k d e             mod mod mod mod mod mod mod 1 1

Bổ đề chứng minh

Bổ đề 2:

Nếu: p số nguyên tố, 1ep1, gcd(e,p1)1, de1mod(p1), p

m 

0 thì: m   et.d tmodpm

Chứng minh: Thật vậy, theo Bổ đề ta có:

        

      

    

      

m pp m p m

p m p p m p m p m p p m p m p p m p m p p m p m p m d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e t t t t t t t t t                    mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod 2 3 2 1

Bổ đề chứng minh

Mệnh đề:

Cho p số nguyên tố, 1eAp1, gcd(eA,p1)1, dA  eA 1mod(p1),

1tAp, D  d tAmodpmod(p1)

A

A , E1  e modpmod(p1)

A

t A

A ,

       

 mod( 1) mod( 1) mod mod mod( 1)

2  d p  e p  d pe p p

E A A A tA

A t A t A t A A ,

1eBp, gcd(eB,p1)1, dB  eB 1mod(p1), 1tBp1,  

 mod mod( 1)

d p p

D tB

B

B , E1  e modpmod(p1)

B

t B

B ,

       

 mod( 1) mod( 1) mod mod mod( 1)

2  d p  e p  d pe p p

E B B B tB

B t B t B t B B , ,

1KA KBp, R gKA p

A  mod , R g p

B

K

B mod , W  R p

A

E A

A mod

1

1  ,

 R p

W EB

B

B mod

1

1  , W  R p

A

E A

A mod

2

2  , W  R p

B

E B

B mod

2

2  Nếu:

Wp W

R DB

A A

A   mod , R WWp

A

D B B

B   mod , K  R p

A

K B

AB  mod ,  R p

K KB A

BA  mod , EAH(KAB||RB), EBH(KBA||RA), EAH(KBA||RB),

) || ( AB A

B H K R

E  thì: RARA, RBRB, KABKBA, EBEB và: EAEA Chứng minh:

Thật vậy, từ (2a), (3a) (4b) ta có:

                                                    p R p R p R R p R R p p R p R p W W R A t A A t A A t A A t A A t A A t A A t A A t A A t A A t A A A A A A A A e d B p e d B p p d p p e B p p e p d p e p d B D E B E B D E B E B D B B B mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod mod 2                  

(5)

Nghiên cứu khoa học công nghệ

Theo Bổ đề 2, ta có:  RBeAdAtA p RB

t

A mod  (9)

Từ (8) (9) suy ra: RBRB (10) Tương tự, từ (2b), (3b), (4a) Bổ đề 2, ta có: RARA (11)

Từ (1b), (5a) (10) ta có:

K  R A p  R KA pgKB pKA p gKAKB p

B K

B

AB mod mod mod mod mod

 

 (12)

Từ (1a), (5b) (11) ta có:

K  R B p  R KB pgKA pKB p gKAKB p

A K

A

BA mod mod mod mod mod

 

 (13)

Từ (12) (13) suy ra: KABKBA (14) Từ (7b), (10) (14) ta có:

EAH(KBA||RB)H(KAB||RB) (15) Từ (6a) (15) suy ra: EAEA

Tương tự, từ (6b), (7a), (11) (14) ta nhận được: EBEB Như vậy, mệnh đề chứng minh

Chứng minh tính đắn giao thức MTA 17.9 – 02 thực tương tự MTA 17.9 – 01 việc thay (RA,RB) (2a), (3a), (7a) (2b), (3b), (7b) (KA,KB), thay (RA,RB) (4b), (5b), (6b) (4a), (5a), (6a)

) ,

(KA KB tương ứng

2.3 Mức độ an toàn giao thức đề xuất

Mức độ an tồn giao thức đề xuất đánh giá qua khả xem xét đây:

2.3.1 Khả cơng làm lộ khóa riêng

Với thuật tốn hình thành khóa mục 2.1, hồn tồn chọn t cho E1, E2 D không nghịch đảo với theo modulo p modulo (p-1) Nghĩa

từ E1 E2 khơng thể tính D phép nghịch đảo theo modulo p modulo (p-1). Ngồi ra, việc tính DA D B cách giải toán logarit rời rạc từ:

Wp W

R DB

A A

A   mod và: R WWp

A

D B B

B   mod khơng khả thi, tốn khó, p chọn đủ lớn Việc giữ bí mật khóa riêng (D ,A DB) đồng nghĩa với việc giữ bí mật hồn tồn thơng tin dùng để thiết lập khóa (RA,RB), nghĩa khơng có thơng tin khóa bí mật chia sẻ A B tiết lộ bên

2.3.2 Bảo đảm tính chất giao thức trao đổi khóa an tồn

(6)

Cơng nghệ thơng tin

rằng đối tượng nhận (W1B,W2B) A KABKBA thêm lần khẳng định chắn điều Tương tự, A kiểm tra điều kiện: EBEB để xác thực danh tính B

- Xác thực khóa hiện (explicit key authentication): Là khả xác thực khóa (key anthentication) xác nhận khóa (key comfirmation) Trong đó, xác thực khóa hay cịn gọi xác thực khóa ẩn (implicit key authentication) khả mà đối tượng khẳng định cách chắn có đối tượng tạo khóa bí mật chia sẻ với mình, cịn xác nhận khóa khả mà đối tượng khẳng định đối tượng tạo khóa bí mật chia sẻ với giao thức thực xong Ở giao thức đề xuất, điều kiện: EBEB xảy khi: RARA (KAKA MTA 17.9 – 02)

BA AB K

K  Trước gửi cho B, A mã hóa thơng tin thỏa thuận khóa (R /A K )A khóa cơng khai B, A biết B giải mã

A A R

R(KAKA) Vì thế, điều kiện EBEB cho A khẳng định B thiết lập khóa bí mật dùng chung với mình, cịn EAEA lại cho B khẳng định điều tương tự với A Hơn nữa, khơng đối tượng ngồi A B tạo khóa bí mật chia sẻ: K  R A p  R KB p

A K

B mod  mod

 (KKAKBmod p

với MTA 17.9 – 02) khơng có ngồi A B biết thơng tin dùng để thiết lập khóa (RA,RB,KA,KB)

- Tính an tồn khóa biết (known – key security): Tính chất bảo đảm đối tượng thứ dù biết số khóa bí mật chia sẻ thiết lập A B khơng thể tính khóa khác đã/sẽ thiết lập A B trước/sau Ở giao thức đề xuất, khóa bí mật chia sẻ A B tạo từ giá trị ngẫu nhiên (KA,KB) sử dụng lần phiên tạo khóa, việc lộ số khóa bí mật chia sẻ hồn tồn khơng ảnh hưởng đến khóa bí mật đã/sẽ tạo trước/sau

- Tính bí mật phía trước (forward secrecy): Tính chất bảo đảm việc lộ khóa bí mật A B đồng thời không cho phép đối tượng thứ tính khóa bí mật chia sẻ thiết lập trước A B Ở giao thức MTA 17.9 – 01, việc lộ khóa riêng A B dẫn tới việc lộ giá trị (RA,RB), song giá trị (KA,KB) giữ bí mật, nên việc tính khóa bí mật chia sẻ thiết lập trước điều thực Tuy nhiên, giao thức MTA 17.9 – 02 khơng bảo đảm tính chất này, khóa bí mật chia sẻ A B tạo trực tiếp từ (RA,RB), mà từ (KA,KB)

2.4 Hiệu thực giao thức đề xuất

Hiệu thực giao thức trao đổi khóa đánh giá thơng qua số phép tốn cần thực hay tổng thời gian cần thực phép toán để thiết lập khóa bí mật chia sẻ bên A B Để so sánh hiệu thực giao thức đề xuất với giao thức trao đổi khóa có tích hợp chữ ký số [5 – 10], qui ước sử dụng ký hiệu:

(7)

Nghiên cứu khoa học công nghệ

Tinv : Thời gian thực phép toán mũ nghịch đảo modul; Th : Thời gian thực hàm băm (hashfunction)

Tmul : Thời gian thực phép toán nhân modul; a)Thời gian thực giao thức Arazi[5]:

Thời gian tính tốn bên A cho lần thiết lập là:

Thời gian tính (RA,SA) là: (Texp + Th + Tinv + 2Tmul) Thời gian thực kiểm tra (RB,SB): (2Texp + Th + Tinv + 3Tmul) Thời gian tính khóa K là: (Texp)

Tổng thời gian thực hiện: (4Texp + 2Th + 2Tinv + 5Tmul ) Bên B cần thời gian tương tự để hoàn thành giao thức, thời gian tính tốn cần thiết để hồn thành giao thức là: (8Texp + 4Th + 4Tinv + 10Tmul).

b)Thời gian thực giao thức Harn [6]:

Thời gian tính tốn bên A cho lần thiết lập là:

Thời gian tính (mA1,mA2,SA) là: (2Texp + Th + Tinv + 3Tmul) Thời gian tính rB là: (Tmul)

Thời gian thực kiểm tra (rB,sB): (2Texp + Th + Tinv + 3Tmul) Thời gian tính khóa KAB1, KAB2, KAB3 là: (3Texp)

Tổng thời gian thực hiện: (7Texp + 2Th + 2Tinv + 7Tmul ) Bên B cần thời gian tương tự để hoàn thành giao thức, thời gian tính tốn cần thiết để hồn thành giao thức là: (14Texp + 4Th + 4Tinv + 14Tmul)

c)Thời gian thực giao thức Phan [7]: Thời gian tính tốn bước bên A là: (2Texp)

Thời gian tính tốn bước bên B là: (4Texp + Th + Tinv + 3Tmul) Thời gian tính tốn bước bên A là: (4Texp + 2Th + 2Tinv + 6Tmul) Thời gian tính toán bước bên B là: (2Texp + Th + Tinv + 3Tmul) Tổng thời gian thực hiện: (10Texp + 4Th + 4Tinv + 12Tmul ) d)Thời gian thực giao thức bước truyền [8]:

(MTA 16.6 – 01):

Thời gian tính tốn bước bên A là: (Texp + Th + Tinv + Tmul) Thời gian tính toán bước bên B là: (4Texp + 2Th + 2Tinv + 2Tmul) Thời gian tính tốn bước bên A là: (3Texp + Th + Tinv + Tmul) Tổng thời gian thực hiện: (8Texp + 4Th + 4Tinv + 4Tmul ) e)Thời gian thực giao thức bước truyền [8]:

(MTA 16.6 – 02):

Thời gian tính tốn bước bên A là: (2Texp + Th + Tinv + Tmul) Thời gian tính tốn bước bên B là: (3Texp + Th + Tinv + Tmul) Tổng thời gian thực hiện: (5Texp + 2Th + 2Tinv + 2Tmul )

f) Thời gian thực giao thức MTA 16.8 – 05 [9]: Thời gian tính toán bước bên VSAT là: (Texp + Tmul)

Ngày đăng: 01/04/2021, 02:04

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

TÀI LIỆU LIÊN QUAN

w