Công nghệ chế tạo máy_chương 2

7 12 0
Công nghệ chế tạo máy_chương 2

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

Thông tin tài liệu

Trên cơ sở nghiên cứu một số hệ mật phổ biến, nhóm tác giả đã đề xuất một thuật toán sinh khóa đơn giản, hiệu quả và dễ triển khai trong thực tiễn để áp dụng cho việc [r]

(1)

ĐỀ XUẤT THUẬT TỐN TRAO ĐỔI KHĨA HIỆU QUẢ SỬ DỤNG MẬT MÃ KHÓA ĐỐI XỨNG

Trần Xuân Ban1,*, Hồ Văn Canh2

Tóm tắt: Có nhiều phương pháp trao đổi khóa: trao đổi khóa cơng khai trao đổi khóa bí mật Sử dụng mật mã khóa cơng khai tốc độ tính tốn chậm độ khó của tốn phụ thuộc vào việc chọn số nguyên tố đủ lớn Đối với hệ thống có lực tính tốn hạn chế thiết bị thơng minh, thiết bị mạng internet of things cần thiết phải sử dụng hệ thống mật mã nhẹ (lightweight) Bài báo đề xuất thuật toán trao đổi khóa dựa mật mã đối xứng Thuật tốn đơn giản dễ sử dụng, có độ an tồn cao đặc biệt kích thước khóa nhỏ, tốc độ tính tốn nhanh phù hợp với phát triển phương pháp mã hóa hạng nhẹ dựa theo phương pháp mã hóa khóa đối xứng có độ dài mầm khóa 30 ký tự La tinh, tương đương 240 bít sử dụng để tạo khóa bí mật

Từ khóa: Mã hóa bí mật, Mã hóa nhẹ, Trao đổi khóa

1 ĐẶT VẤN ĐỀ

Mật mã khóa đối xứng (Symmetric Key Cryptography), bao gồm Hệ mật truyền thống Hệ mật mã đại, có nhiều ưu điểm như: tốc độ mã hóa/giải mã nhanh độ mật khẳng định Hiện nay, có nhiều thuật tốn có tốc độ mã hóa nhanh độ an tồn cao Loại mật mã sử dụng rộng rãi để bảo mật thông tin, đặc biệt thông tin liên quan đến thương mại Tuy nhiên hệ mật khóa đối xứng có hạn chế vấn đề trao đổi khóa mã thực ký số Hiện nay, sử dụng Hệ mật mã khóa công khai (Asymmetric Key Cryptography) để thực trao đổi khóa ký số để đảm bảo an tồn Tuy nhiên, việc trao đổi khóa mật mã khóa cơng khai làm cho kích cỡ mã tăng lên đáng kể (có thể tăng gấp đơi mã gốc) làm giảm độ an tồn cho khóa mã Trong thực hành việc giải mã với khóa cơng khai chậm so với mật mã khóa đối xứng, chiếm nhiều dung lượng nhớ, không phù hợp với hệ thống có nguồn lượng tính tốn thấp (lowpower), có nhớ hạn chế thiết bị tính toán khắp nơi mạng internet of things (IoT) Mạng IoT xu hướng tương lai ứng dụng lĩnh vực y tế, vận tải, giao thơng, chăm sóc sức khỏe,…ngồi ra, cịn vài nhược điểm khác

Để giải vấn đề này, cần hệ mã có kích thước nhỏ song đảm bảo độ an toàn tối thiểu trao đổi khóa Bài báo trình bày thuật tốn trao đổi khóa dựa mật mã khóa đối xứng nhằm đảm bảo bảo tính nhẹ (lightweight) xây dựng khóa đảm bảo độ an tồn Bài báo gồm phần: phần giới thiệu vấn đề trao đổi khóa, đề cập đến mật mã hóa đối xứng trao đổi khóa, phần thuật tốn nhóm tác giả đề xuất, cuối kết luận hướng phát triển

2 NỘI DUNG CẦN GIẢI QUYẾT 2.1 Hệ mã khóa đối xứng trao đổi khóa

(2)

2.1.1 Hệ mật mã DES

DES (Data Encryption Standard) Hệ mật mã khối điển hình, khóa dãy bít giả ngẫu nhiên độ dài 64 bít Ta ký hiệu khóa k = k1,k2, , k64, với ki ϵ{0,1}, i= 1,2, ,64 Mỗi tiến hành mã hóa rõ đó, thuật tốn DES bỏ qua bít vị trí 8,16, 24, 32, 40, 48, 56 64 Như vậy, thực tế khóa cịn 56 bít Để đơn giản, nghiên cứu coi khóa DES có độ dài 56 bít Việc truyền khóa k độ dài 56 bít thực kênh cơng cộng với mã hóa cơng khai (ví dụ RSA)

Giả sử A muốn chuyển cho B rõ X =x1, x2, , xn, đó, xiϵ{a, b, c, , z}, dùng Hệ mật mã DES mã hóa rõ X khóa k (56 bít ) Khi đó, mã ký hiệu Y = y1, y2, , yn B cần có khóa mã k để giải mã Y thành X Để trao đổi khóa k A B sử dụng mật khóa cơng khai RSA với cặp khóa cơng khai khóa riêng (N, bB) (N, aB) thực hiện:

- A lấy khóa cơng khai (N, bB) tính: Z = kbBmod(N), sau gửi cặp (Z, Y) cho B kênh công cộng (>56 bit)

- B nhận cặp (Z, Y) sử dụng khóa riêng (N, aB) để khơi phục khóa k (k

= ZaB mod(N), thực giải mã Y

Vì cặp (Z, Y) lớn mã Y nhiều, gấp hai lần, nên làm tăng kích thước nhớ dẫn đến tăng thời gian truyền gây an tồn (vì thời gian truyền mạng lâu)

Như vậy, với hệ thống mạng có thiết bị hạn chế lượng, hạn chế nhớ phương pháp trao đổi khóa khơng phù hợp Vì u cầu cần giảm kích thước liệu truyền song đảm bảo tính an tồn, độ tin cậy, đặc biệt mạng IoT cần tương tác nhanh chóng thiết bị

2.1.2 Hàm băm ứng dụng xây dựng thuật toán trao đổi khóa

Hàm băm mật mã học (Cryptographic hash function) sử dụng nhiều ứng dụng bảo mật thơng tin chứng thực (authentication), kiểm tra tính ngun vẹn thông tin (message integrity), tạo chữ ký số,… Đầu vào hàm băm (hash) xâu có độ dài tùy ý, đầu xâu có độ dài cố định Hàm băm có tính chất: cho trước h việc tìm m cho h = hash (m) khó; cho thơng điệp m1, việc tìm thông điệp m2 (khác m1) cho hash(m1) = hash(m2) khó; việc tìm thơng điệp khác m1 m2 cho hash(m1) = hash(m2) khó Độ dài đầu lớn độ khó phá hàm băm cao

2.2 Đề xuất thuật tốn trao đổi khóa bí mật sử dụng phương pháp mật mã đối xứng

Độ dài khóa bí mật phụ thuộc vào u cầu thuật tốn mã hóa cụ thể Như độ dài khóa mật mã khối DES 56 bít tương ứng với ký tự Latinh; độ dài khóa thuật tốn mã hóa IDEA (International Data Encryption Algorithm) 128 bit; tương ứng với 16 ký tự Latinh, v.v…

(3)

số tự nhiên tùy ý cố định hai thực thể thống trước Để đảm bảo an toàn số m phải lớn hay (m ≥ 5)

Thuật tốn sinh khóa bí mật:

Input: Cho x(n) dãy ký tự Latinh có độ dài n tùy ý, số nguyên dương cho trước d cố định tùy ý số nguyên m ≥ cho trước

Output: dãy gồm d chữ

Các bước tiến hành thuật toán sau:

Bước Nếu n < md viết liên tiếp lặp lại dãy x(md) = x1,x2, xn,x1, x2,

, xmd.

Bước Đổi dãy x(md) sang dãy số nguyên dương theo nguyên tắc: - Chữ dãy x(md) có giá trị bé đánh số 1;

- Nếu dãy x(md) có m ký tự có giá trị bé ưu tiên đánh số cho ký tự xuất đầu tiên, tiếp số 2, v.v ký tự thứ m cuối ký tự có giá trị lớn đánh số

Như vậy, dãy y(md) có md số khác Tuy dãy ký tự x(md) không độc lập, chúng phân bố theo qui luật Maxkov dãy số y(md) độc lập [2]

Bước Lập bảng (ma trận) B = ( bij )mxd

Bước Điền số dãy y(md) vào bảng B theo thứ tự tự nhiên bảng B lấp đầy ô bảng

Bước Với j = 1,2, , d tính: zj = (Ʃi=1,m bij ) mod 26

Bước Khi dãy (z1, z2, , zd) thuật toán dừng đổi dãy (z1, z2, , zd) sang ký tự bảng mã ASCIL dãy ký tự mầm khóa mà hai thực thể A B cần có để liên lạc mật với

3 TÍNH TỐN ÁP DỤNG VÀ BÀN LUẬN 3.1 Tính tốn áp dụng

3.1.1 Mã hóa dãy ký tự

Input: Dãy ký tự x(37) = "coongj hoaf xax hooij chur nghiax vieetj nam", với n=37 Lấy d = 10 m =

Output: Dãy gồm 10 chữ

Bước 1: n=37< m*d = 5.10 = 50 nên thực viết liên tiếp dãy x(37) dãy x(50) Dãy x(50) = "coongj hoaf xax hooij chur nghiax vieetj nam coongj hoaf xax"

Bước 2: Thực đổi dãy ký tự x(50) sang dãy số y(50) được:

7,34,35,30,14,25,17,36,1,12,46,2,47,18,37,38,22,26,8,19,44,42,31,15,20,23,3,4 8,45,24,10,11,43,27,32,4,29,9,39,40,33,16,28,21,41,5,13,49,6,50

(4)

Bảng 1.Giá trị ma trận kích thước m x d

7 34 35 30 14 25 17 36 12 46 47 18 37 38 22 26 19 44 42 31 15 20 23 48 45 24 10 11 43 27 32 29 30 40 33 16 28 21 41 13 49 50 Bước 5: Tính giá trị zj theo (1), với j = 1,2, ,10 Kết quả:

z1= (7+46+44+10+33)mod26 = 10 = K, z2 = (34+2+42+11+16)mod26 = = B, z3= (35+47+31+43+28)mod26 = 2= C z4= (30+18+15+27+21)mod26 = = H z5 = (14+37+20+32+41)mod26 = 14 = O z6 =(25+38+23+4+5)mod26 = 17 = R z7 = (17+22+3+29+13)mod26 = = G z8 = (36+26+48+9+49)mod26 = 12 = M z9 = (1+8+45+39+6)mod26 = 21 = V z10 = (12+19+24+40+50)mod26 = 15 = P Vậy mầm khóa Z =(K, B, C, H, O, R,G, M, V, P)

3.1.2 Giấu tin mật ảnh số

Xét trường hợp tổng quát:

Input: Ảnh C

Output: Dãy khóa k = k1, k2, , kd, ki ϵ{ 0,1} với d độ dài khóa mã

Bước 1: Trích chọn tất phần MSB (Most Significant Bit) hai thực thể liên lạc mật với qui định trước ảnh C tạo thành ảnh thứ cấp C(1) = c1, c2, ,cN

Bước 2: Lập bảng (ma trận) gồm m dòng , d cột với m ≥ 5: A (ai,j)mxd Bước 3: Viết bít c1, c2, , cN theo thứ tự tự nhiên vào bảng A Bước 4: For j = 1,2, ,d tính bj = Ʃi=1,m aij (mod2)

Bước 5: Viết dãy b1, b2, , bd Đây dãy giá trị khóa bí mật cần giấu ảnh mà hai bên muốn trao đổi

3.2 Bàn luận

(5)

của việc trao đổi khóa Bên cạnh cịn chưa tính đến đầu vào rõ quy ước nơi gửi nơi nhận đích thực nên kẻ cơng khó biết dãy ký tự đầu vào Như vậy, việc công vét cạn (brute force attack) thuật tốn khơng khả thi

Thấy rằng: Trong thuật toán, Bước biết trước giá trị zj để tìm ngược lại giá trị 26 Ʃi=1,m bij khó

Phương pháp trao đổi khóa bí mật dùng cho Hệ mật mã khóa đối xứng lúc cho nhiều người khác Việc chọn đoạn văn rõ làm đầu vào cho thuật tốn tùy ý, chí lấy dãy số hỗn hợp chữ chữ số, dãy rõ lặp lại, chẳng hạn: "thi dua thi dua thi dua", vv mà không sợ làm giảm độ an tồn cho khóa k, dãy số tương ứng phụ thuộc vào vị trí ký tự dãy độc lập với thân ký tự Lý thuyết Markov chứng minh rằng: Đó dãy ngẫu nhiên độc lập Do đó, để thuận lợi thực hành, hai người A B muốn liên lạc mật với mà cách xa họ qui ước sử dụng ngày tháng đầu thơng báo cách công khai mà không sợ bị nghi ngờ Riêng thuật tốn đơn giản dễ nhớ, dễ lập trình có tính ứng dụng thực tế

Hiện nay, có phương pháp trao đổi khóa: sử dụng mã khóa bí mật (Diffie-Hellman) sử dụng mã khóa cơng khai (RSA)

* Trong trao đổi khóa bí mật Diffie-Hellman:

A B thỏa thuận khoa bí mật thực sau:

- A thống với B phần tử nguyên thủy g vành Z*p số nguyên tố

p đủ lớn Khi sơ đồ thỏa thuận khóa sau:

- A chọn giá trị x bí mật khoảng (0, p-2) tính gxmodprồi gửi giá trị cho bên B

- B chọn giá trị bí mật y khoảng (0, p-2) tính ymod

g p gửi giá trị cho bên A

- Hai bên A, B tính khóa bí mật dựa vào giá trị x, y, gxmodp, gymodp Khóa bí mật chung là: KA,B= K1A

Như vậy, thỏa thuận khóa bí mật Diffie-Hellman đơn giản Để đảm bảo an tồn số ngun tố p phải chọn đủ lớ (cỡ 10155) Việc xác định số p lớn có số nguyên tố khơng tốn khó, tốn nhiều thời gian Độ khó thỏa thuận khóa bí mật Diffie-Hellman giải toán logarit rời rạc phụ thuộc vào khả tính tốn người thiết bị Điều không phù hợp với thiết bị hạn chế (tài nguyên, nhớ,…)

* Trong trao đổi khóa cơng khai RSA:

Trao đổi khóa bí mật dựa Lược đồ RSA áp dụng rộng rãi Để sử dụng lược đồ hai bên A B phải sử dụng hệ mật RSA Q trình trao đổi khóa diễn sau:

- A có cặp khóa bí mật công khai (

A K ,

(6)

- B có cặp khóa bí mật cơng khai (K1B,

2

B K ); - A muốn gửi khóa bí mật K cho B cần thực hiện:

+ A sử dụng khóa cơng khai B (KB2) tính: K2Bmodn

B

yK , với

* q

B B B

np , pB, qBlà số nguyên tố đủ lớn khác hệ RSA B A thực gửi y cho B

+ B thực tính (sau nhận y từ A) để xác định khóa K:

1

modn

B

K

B

Ky Nếu cần khẳng định lại K có phải khóa A gửi khơng B lấy khóa cơng khai A (KA2) tính: ' K2Amodn

A

yK , với nApA* qA, pA,

A

q số nguyên tố đủ lớn khác hệ RSA A B thực gửi y’ cho A

+ A thực tính tốn khóa theo thông tin B gửi so sánh với khóa K trước đó: ' 'K1Amodn

A

Ky So sánh K K’nếu giống khóa A gửi cho B

Ở ta thấy: để đảm bảo an toàn cho K nAnBphải đủ lớn tránh việc cơng phân tích thành thừa số số nguyên tố Theo tiêu chuẩn X.509 số phải có độ dài tối thiểu 1024 bit (cỡ 10310 số thập phân) Với kích thước lớn thiết bị hạn chế khơng thể thực (kích thước thiết bị thường cỡ vài MB)

* Đối với mơ hình trao đổi khóa bí mật nhóm tác giả đề xuất:

Không sử dụng lược đồ trao đổi khóa (mã khóa bí mật mã khóa cơng khai) Trong lược đồ yêu cầu nhớ thiết bị phải đủ lớn, điều hồn tồn khơng phù hợp cho thiết bị mạng IoT Thuật tốn mà nhóm đề xuất khơng u cầu thiết bị tính tốn lớn, phù hợp với thiết bị hạn chế phù hợp với khóa mã bí mật mã hạng nhẹ (lightweight) Như đề cập trên, đầu vào thuật tốn cơng khai, cần giữ bí mật: độ dài khóa, độ sâu hàm tựa hàm băm thuật toán bên A B Những tham số quy ước hồn tồn khơng truyền qua kênh nên đảm bảo an tồn Mơ hình trao đổi khóa đề xuất có khả ứng dụng thực tiễn công tác an ninh, quốc phòng

4 KẾT LUẬN

Trên sở nghiên cứu số hệ mật phổ biến, nhóm tác giả đề xuất thuật tốn sinh khóa đơn giản, hiệu dễ triển khai thực tiễn để áp dụng cho việc trao đổi khóa, xác thực thông tin bên gửi bên nhận

Đặc tính thiết bị mạng IoT có lực tính tốn thấp, u cầu việc xác thực phải nhanh chóng Thuật tốn sinh khóa đơn giản, song đáp ứng độ bảo mật phù hợp với yêu cầu thực tiễn

(7)

TÀI LIỆU THAM KHẢO

[1] Hồ Văn Canh, Nguyễn Viết Thế, "Nhập mơn phân tích thơng tin có bảo mật" NXB Hà Nội T&T 2010

[2] Nguyễn Đào Trường, Lê Mỹ Tú, “Cải tiến phương pháp phân phối khóa mật mã an tồn mạng có tài nguyên hạn chế”, Kỷ yếu Hội thảo Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017

[3] Đặng Minh Tuấn, Nguyễn Văn Căn, Nguyễn Ánh Việt, Nguyễn Tiến Xuân, “Đề xuất chữ ký số ủy nhiệm ứng dụng cho ủy nhiệm chi hệ thống Bitcoin”, Kỷ yếu Hội thảo Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017

[4] Lưu Hồng Dũng, Hồ Ngọc Duy, Tống Minh Đức, Bùi Thế Truyền, Đặng Hùng Việt, “Giao thức trao đổi khoa an toàn cho hệ mật khóa đối xứng”, Kỷ yếu Hội thảo Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017

[5] Nguyễn Đào Trường, Lê Mỹ Tú, Nguyễn Doãn Cường, “Một phương pháp cải tiến mật mã khối áp dụng mạng đòi hỏi thời gian xử lý nhanh”, Kỷ yếu Hội thảo Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017

[6] Nguyễn Đức Toàn, Bùi Thế Hồng, Nguyễn Văn Tảo, “Về thuật tốn mã hóa khóa đối xứng cải tiến”, Kỷ yếu Hội thảo Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, 2017

[7]. Trịnh Nhật Tiến, "Bảo mật thơng tin an tồn liệu" NXB ĐHQG Hà Nội, 2009

[8] Peter Brockwell , Richard A Davis, Time Series: Theory and Methods. -Springer Series In Statistics, Spriger-Verlag: New York, Berlin Heidelberg, London, Paris, Tokyo (1987)

[9]. Rafael Alvarez, Cándido Caballero-Gil, Juan Santonja and Antonio Zamora 1, “Algorithms for Lightweight Key Exchange”, 2016

[10] Daniel Dinu, Yann Le Corre, Dmitry Khovratovich, L´eo Perrin, Johann Großschadl, Alex Biryukov, Triathlon of Lightweight Block Ciphers for the Internet of Things, University of Luxembourg

[11] Kai Fan, Jie Li and Hui Li, Xiaohui Liang, Xuemin (Sherman), Yintang Yang, ESLRAS: A Lightweight RFID Authentication Scheme with High Efficiency and Strong Security for Internet of Things, 2012 Fourth International Conference on Intelligent Networking and Collaborative Systems

[12] Doughlas R Stison, "Cryptography: Theory and Practices" CRC Press 1999

[13] FIPS, "Key management using ANSI X9,17" Federal Information Proceeding Standards Publication 171 U.S Department of Commerce /N.I.S.T

[14] M Bellare and P Rogaway, "Provably Secure Session Key Distribution" Proceedings of The 27th Annal ACM Symposium

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan