An toàn vụ điều kiện

Một phần của tài liệu Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu (Trang 35)

Giả thiết ngƣời thỏm mó cú đƣợc thụng tin về bản mó. Theo quan niện lý thuyết thụng tin, nếu những hiểu biết về bản mó khụng thu hẹp đƣợc độ bất định về bản rừ đối với ngƣời thỏm mó, thỡ hệ mật mó là an toàn vụ điều kiện, hay theo thuật ngữ của C.Shannon, hệ mật mó là bớ mật hoàn toàn. Nhƣ vậy, hệ là an toàn vụ điều kiện, nếu độ bất định về bản rừ khi ngƣời thỏm mó cú đƣợc cả thụng tin (về bản mó) bằng độ bất định về bản rừ trƣớc đú. Tớnh an toàn vụ điều kiện thƣờng đƣợc sử dụng cho cỏc hệ mật mó khú đối xứng.

2.1.2. An toàn được chứng minh

Một hệ thống mật mó đƣợc xem là cú độ an toàn đƣợc chứng minh nếu ta cú thể chứng minh đƣợc bài toỏn thỏm mó đối với hệ thống đú “khú tƣơng đƣơng” với một bài toỏn khú đó biết, vớ dụ bài toỏn phõn tớch một số nguyờn thành tớch cỏc thừa số nguyờn tố, bài toỏn tỡm logarit theo một mụ-đun nguyờn tố,…(“khú tƣơng đƣơng” cú nghĩa là nếu bào toỏn này giải đƣợc thỡ bài toỏn kia cũng giải đƣợc cựng một độ phức tạp nhƣ nhau).

2.1.3. An toàn tớnh toỏn

Hệ mật mó đƣợc xem là an toàn về mặt tớnh toỏn, nếu mọi phƣơng phỏp thỏm mó đó biết đều đũi hỏi một nguồn năng lực tớnh toỏn vƣợt quỏ mọi khả năng (kể cả phƣơng tiện thiết bị mỏy múc) tớnh toỏn của một kẻ thỏm mó. An toàn theo nghĩa này, núi theo ngụn ngữ của lý thuyết về độ phức tạp tớnh toỏn là bao hàm cả khỏi niệm an toàn theo nghĩa “đƣợc chứng minh” núi trờn.

Tớnh an toàn theo nghĩa đƣợc tớnh toỏn hay chứng minh đƣợc sử dụng nhiều trong cụng việc nghiờn cứu cỏc hệ thống mật mó hiện đại, đặc biệt là cỏc hệ thống

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ mật mó khúa cụng khai. Cỏc bài toỏn đú đều cú hạt nhõn là tớnh an toàn của cỏc hệ mật mó cũng gúp phần giải quyết cỏc vấn đề an toàn thụng tin kể trờn.

2.2. Cỏc kiểu thỏm mó

Bài toỏn quan trọng nhất của thỏm mó là phỏ bỏ tớnh bớ mật, tức là: với những bản mó cú thể dễ dàng thu đƣợc, ngƣời thỏm mó phải tỡm ra đƣợc nội dung thụng tin che dấu bờn trong bản mó.

Giả thiết chung ở đõy là luụn coi đối phƣơng biết hệ mật đang dựng. Giả thiết này đƣợc gọi là nguyờn lý Kerekhoff. Dĩ nhiờn, nếu đối phƣơng khụng biết hệ mật đƣợc dựng thỡ nhiệm vụ của anh ta sẽ khú khăn hơn.Tuy nhiờn ta khụng muốn độ mật của một hệ mật lại dựa trờn một giả thiết khụng chắc chắn là đối phƣơng khụng biết hệ mật đƣợc sử dụng. Do đú, mục tiờu trong việc thiết kế một hệ mật là phải đạt đƣợc độ mật dƣới giả thiết Kerekhoff.

Việc thỏm mó cú thể quy về việc tỡm đƣợc bản rừ hoặc phỏt hiện khúa mó, khi biết trƣớc hệ mật mó đƣợc sử dụng. Ngoài việc biết hệ mật mó, ngƣời thỏm mó cũn cần cú thụng tin khỏc để tỡm bản rừ và phỏt hiện khúa. Tuỳ theo thụng tin đú là gỡ mà ta phõn cỏc bài toỏn thỏm mó thành cỏc loại: tỡm cỏch xỏc định khúa bớ mật - thỏm mó chỉ biết bản mó, biết bản mó và cả bản rừ, cú bản rừ đƣợc chọn trƣớc và cú bản mó đƣợc chọn trƣớc; tỡm cỏch xỏc định bản rừ - dựng modul n chung, lợi dụng tớnh nhõn của hàm lập mó.

2.2.1. Tấn cụng dạng 1: Tỡm cỏch xỏc định khúa bớ mật

Trƣờng hợp 1: Khi thỏm mó chỉ biết bản mó

Trong trƣờng hợp này, khi biết đƣợc n, ngƣời thỏm mó sẽ tỡm cỏch tớnh giỏ trị của p, q theo thuật toỏn phõn tớch thành thừa số nguyờn tố, từ đú chỳng sẽ tớnh (n) = (p-1).(q-1). Khi đó tớnh đƣợc (n) c ngƣời thỏm mó sẽ tớnh đƣợc khúa bớ mật a theo cụng thức: a.b 1 (mod (n)). Khi đó tớnh đƣợc khúa bớ mật thỡ ngƣời thỏm mó sẽ giải mó đƣợc bản mó và tỡm ra bản rừ.

Giải phỏp phũng trỏnh:

Chọn số nguyờn tố p, q lớn, để việc phõn tớch n thành tớch hai thừa số nguyờn tố là khú cú thể thực hiện đƣợc trong thời gian thực. thƣờng sinh ra cỏc số lớn (khoảng 100 chữ số) sau đú kiểm tra tớnh nguyờn tố của nú.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Trƣờng hợp 2: Khi thỏm mó biết bản mó và cả bản rừ

Ngƣời thỏm mó biết một bản mó Y cựng với bản rừ tƣơng ứng X. Vỡ đó biết đƣợc bản rừ rồi nờn việc chớnh của thỏm mó là phải xỏc định đƣợc khúa bớ mật K’’ đang sử dụng, để giải mó cỏc gúi tin đó mó húa mà nú bắt đƣợc sau này.

Ngƣời thỏm mó sẽ dựa vào bài toỏn tớnh logarit thụng thƣờng để tớnh ra khúa bớ mật K’’ = a theo cụng thức:

K’’ = logyx(mod n-1).

Từ đõy toàn bộ thụng tin đƣợc mó húa bằng khúa K’ đều bị thỏm mó bắt đƣợc.

Giải phỏp phũng trỏnh:

Sử dụng khúa khỏc nhau ở mỗi lần mó húa, để nếu ngƣời thỏm mó biết đƣợc khúa giải mó ở lần mó húa này, thỡ khi bắt đƣợc cỏc gúi tin ở lần mó húa sau, họ cũng khụng thể sử dụng khúa đú để giải mó tiếp đƣợc nữa.

Trƣờng hợp 3: Khi thỏm mó cú bản rừ đƣợc chọn trƣớc

Đõy là trƣờng hợp đặc biệt của lựa chọn bản rừ. Khụng chỉ cú thể lựa chọn bản rừ đó mó húa, nhƣng họ cũn cú thể sửa đổi sự lựa chọn cơ bản kết quả của sự mó húa lần trƣớc. Trong trƣờng lựa chọn bản mó ngƣời thỏm mó cú thể đó chọn một bản rừ X, và biết đƣợc bản mó Y tƣơng ứng (khi ngƣời thỏm mó chiếm đƣợc (tạm thời) mỏy lập mó), việc xỏc định khúa bớ mật quay về trƣờng hợp thứ hai. Phƣơng phỏp này tỏ ra cú khả năng hơn phƣơng phỏp biết bản rừ bởi vỡ ngƣời phõn tớch cú thể chọn cụ thể khối bản rừ cho mó húa, một điều khỏc cú thể là sản lƣợng thụng tin về khúa nhiều hơn.

Giải phỏp phũng trỏnh:

Sử dụng khúa khỏc nhau ở mỗi lần mó húa, để nếu ngƣời thỏm mó biết đƣợc khúa giải mó ở lần mó húa này, thỡ khi bắt đƣợc cỏc gúi tin ở lần mó húa sau, họ cũng khụng thể sử dụng khúa đú để giải mó tiếp đƣợc nữa.

Trƣờng hợp 4: Khi thỏm mó cú bản mó đƣợc chọn trƣớc

Ngƣời thỏm mó cú thể chọn một bản mật mó Y, và biết bản rừ tƣơng ứng X. Trong trƣờng hợp này việc xỏc định khúa bớ mật lại quay trở về trƣờng hợp thứ hai.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

Giải phỏp phũng trỏnh:

Sử dụng khúa khỏc nhau ở mỗi lần mó húa, để nếu ngƣời thỏm mó biết đƣợc khúa giải mó ở lần mó húa này, thỡ khi bắt đƣợc cỏc gúi tin ở lần mó húa sau, họ cũng khụng thể sử dụng khúa đú để giải mó tiếp đƣợc nữa.

Trong mỗi trƣờng hợp đối tƣợng cần phải xỏc định chớnh là khúa đó sử dụng: Rừ ràng bốn trƣờng hợp tấn cụng trờn đó đƣợc liệt kờ theo độ tăng dần của sức mạnh tấn cụng và cỏch tấn cụng cỏc bản mó đƣợc lựa chọn là thớch hợp đối với hệ mật mó húa cụng khai.

2.2.2. Tấn cụng dạng 2: Tỡm cỏch xỏc định bản rừ

Dựng modul n chung

Giả sử cú hai ngƣời tham gia A và B cựng sử dụng một modul chung n trong khúa cụng khai của mỡnh, chẳng hạn A chọn khúa cụng khai (n, e) và giữ khúa bớ mật d, B chọn khúa cụng khai (n, a) và giữ khúa bớ mật b. Một ngƣời tham gia thứ ba C gửi một văn bản cần bảo mật x đến cả A và B thỡ dựng cỏc khúa cụng khai núi trờn để gửi đến A bản mật mó y = xe mod n và gửi đến B bản mật mó z = xa mod n. Ta sẽ chứng tỏ rằng, một ngƣời thỏm mó O cú thể dựa vào những thụng tin n, e, a, y, z trờn đƣờng cụng khai mà phỏt hiện ra bản rừ x nhƣ sau:

(i). Tớnh c = e-1 mod a,

(ii). Sau đú tớnh h = (ce – 1)/a, (iii). Và ta đƣợc x = yc (zh)-1 mod n.

Thực vậy theo định nghĩa trờn, ce – 1 chia hết cho a, và tiếp theo ta cú: yc (zh)-1 mod n = xce.(xa(ce – 1)/a)-1 mod n = xce.(xce – 1)-1 mod n =x

Suy ra bản rừ cần tỡm.

Nhƣ vậy, trong trƣờng hợp này việc truyền tin bảo mật khụng cũn an toàn nữa.

Giải phỏp phũng trỏnh:

Dựng modul n khỏc nhau cho mỗi ngƣời tham gia.

Lợi dụng tớnh nhõn của hàm lập mó

Ta chỳ ý rằng hàm lập mó f(x) = xe

mod n cú tớnh nhõn (multiplicative property), nghĩa là f(x.y) = f(x).f(y). Dựa vào tớnh chất đú, ta thấy rằng nếu y là mật

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ mó của bản rừ x, thỡ y = y.u mod n sẽ là bản mật mó của bản rừ xu. Do đú, khi lấy đƣợc bản mật mó y, để phỏt hiện bản rừ x ngƣời thỏm mó cú thể chọn ngẫu nhiờn một số u rồi tạo ra bản mó y, và nếu ngƣời thỏm mó cú khả năng thỏm mó theo kiểu cú bản mó lựa chọn, tức cú khả năng với y đƣợc chọn tỡm ra bản rừ tƣơng ứng là x = xu, thỡ bản rừ gốc cần thiết phỏt hiện sẽ là x= x.u-1

mod n. Tất nhiờn, khả năng ngƣời thỏm mó cú năng lực giải quyết bài toỏn thỏm mó theo kiểu cú bản mó đó đƣợc chọn là rất hiếm, nhƣng dẫu sao đõy cũng là một trƣờng hợp mà vấn đề bảo mật dễ bị tấn cụng, ta khụng thể khụng tớnh đến để tỡm cỏch trỏnh.

Gải phỏp phũng trỏnh:

Khụng để thỏm mó cú khả năng thỏm mó theo kiểu cú bản mó đƣợc chọn. Một điểm đỏng chỳ ý khỏc là đa số cỏc kỹ thuật thỏm mó đều dựng phƣơng phỏp thống kờ tần suất xuất hiện của cỏc từ, cỏc ký tự trong bản mó. Sau đú thực hiện việc thử thay thế với cỏc chữ cỏi cú tần suất xuất hiện tƣơng đồng trong ngụn ngữ tự nhiờn. Tại đõy chỳng ta chỉ xem xột đối với ngụn ngữ thụng dụng nhất hiện nay đú là tiếng Anh. Việc thống kờ tần suất xuất hiện của cỏc ký tự trong trƣờng hợp này đƣợc tiến hành dựa trờn cỏc bài bỏo,sỏch, tạp chớ và cỏc văn bản cựng với một số loại khỏc ...

Nhiều kỹ thuật thỏm mó sử dụng đặc điểm thống kờ của tiếng Anh, trong đú dựa vào tần suất xuất hiện của 26 chữ cỏi trong văn bản thụng thƣờng để tiến hành phõn tớch mó. Becker và Piper đó chia 26 chữ cỏi thành năm nhúm và chỉ ra xỏc suất của mỗi nhúm nhƣ sau:

- E, cú xỏc suất khoảng 0.120

- T, A, O, I, N, S, H, R, mỗi chữ cỏi cú xỏc xuất nằm trong khoảng từ 0.06 đến 0.09 - D, L, mỗi chữ cỏi cú xỏc xuất xấp xỉ 0.04

- C, U, M, W, F, G, Y, P, B, mỗi chữ cỏi cú xỏc xuất nằm trong khoảng từ 0.015 đến 0.023

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Ký tự Xỏc suất Ký tự Xỏc suất Ký tự Xỏc suất

A 0.082 J 0.002 S 0.063 B 0.015 K 0.008 T 0.091 C 0.028 L 0.040 U 0.028 D 0.043 M 0.024 V 0.010 E 0.127 N 0.067 W 0.023 F 0.022 O 0.075 X 0.001 G 0.020 P 0.019 Y 0.020 H 0.061 Q 0.001 Z 0.001 I 0.070 R 0.060

Ngoài ra, tần suất xuất hiện của dóy hai hay ba chữ cỏi liờn tiếp đƣợc sắp theo thứ tự giảm dần nhƣ sau:

Cặp chữ Tần suất Cặp chữ Tần suất Cặp chữ Tần suất

TH 10.00 ED 4.12 OF 3.38 HE 9.50 TE 4.04 IT 3.26 IN 7.17 TI 4.00 AL 3.15 ER 6.65 OR 3.98 AS 3.00 RE 5.92 ST 3.81 HA 3.00 ON 5.70 AR 3.54 NG 2.92 AN 5.63 ND 3.52 CO 2.80 EN 4.76 TO 3.50 SE 2.75 AT 4.72 NT 3.44 ME 2.65 ES 4.24 IS 3.43 DE 2.65 2.3. Một số sơ hở dẫn đến tấn cụng hệ mật RSA (adsbygoogle = window.adsbygoogle || []).push({});

Tớnh bảo mật của RSA chủ yếu dựa vào việc giữ bớ mật số mũ giải mó a và cỏc thừa số p, q của n. Tuy nhiờn, điều kiện an toàn trờn của hệ mật chỉ là điều kiện chung. Trong thực tế khi thiết kế một giao thức hay một kờnh bớ mật cú sử dụng hệ mật RSA

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ vẫn tồn tại nhiều sơ hở, những sơ hở đú đó đƣợc thỏm mó lợi dụng nhằm phỏ hủy giao thức, kờnh bớ mật, phỏ vỡ tớnh an toàn của hệ mật.

2.3.1. Biết (n) tỡm được p, q

Ta cú thể xỏc định đƣợc p, q và ngƣợc lại. Biết đƣợc p, q ta cú thể dễ dàng tớnh đƣợc (n).

Nếu biết đƣợc (n) ta cú thể tỡm đƣợc p, q bằng cỏch giải hệ phƣơng trỡnh: p.q = n p.q = n

(p – 1)(q – 1) = (n) p + q = n + 1 – (n) Do đú p, q là nghiệm của phƣơng trỡnh bậc 2:

x2 – (x – (n) + 1)x + n = 0

Bởi vậy nếu ngƣời thỏm mó biết đƣợc (n) anh ta cú thể phõn tớch đƣợc n và phỏ đƣợc hệ mật.

Ngƣợc lại cho trƣớc p, q rừ ràng việc tớnh (n) đƣợc thực hiện dễ dàng: (n) = (p – 1)(q – 1)

2.3.2. Biết số mũ giải a

Nếu biết số mũ giải mó a thỡ coi nhƣ đó làm xong việc thỏm mó, nờn việc tỡm đƣợc p, q cũng khụng cũn ý nghĩa đối với việc thỏm mó nữa. Tuy nhiờn, điều này cú một ý nghĩa quan trọng hơn đú là nếu đối phƣơng biết a thỡ khụng chỉ phải thay số mũ giải mó khỏc mà cũn phải chọn modul n khỏc, vỡ khi đú đối phƣơng cũng cú thể biết p, q, do đú biết cỏch tỡm khúa giải mó a bất kỳ, nếu khúa lập mó vẫn giữ modul n, n = p.q.

Ta sẽ chứng minh rằng biết số mũ giải mó a sẽ tỡm đƣợc cỏc thừa số p, q của n. Do a.b 1 mod (n) nờn a.b - 1 = l. (n) = k.

Do (n) là một số chẵn nờn ta cú thể viết k dƣới dạng k = 2t.r (với r là số lẻ) và t 1.

Theo định lý Ơle: với a mà (a,n)=1 thỡ a (n) modn 1, do đú, ta cú:

g Z*n thỡ gk 1 mod n (do k là bội của (n)) và do đú gk/2 là căn bậc hai của 1 theo modul n.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ Theo định lý phần dƣ Trung hoa, 1 cú 4 căn bậc hai modul n=p.q. Hai căn bậc hai là 1. Hai căn bậc hai khỏc là x (x 1 mod p và x -1 mod q) (1 < x < p). Sử dụng một trong hai căn bậc hai khụng tầm thƣờng này sẽ tỡm đƣợc p, q trong thời gian đa thức bằng cỏch tớnh gdc(x-1,n).

x2 1 mod n (x-1)(x+1) 0 mod n -> (x-1)(x+1) chia hết cho n. Đặt (x-1, n) = d1 và (x+1, n) = d2.

Vỡ n = p.q và x 1, 0 < x < n, nờn: x-1 0 và 0 < x-1 < n

x+1 n và 0 < x+1< n

Suy ra d1 hoặc d2 phải khỏc 1 và do n = p.q nờn một trong hai giỏ trị d1 và d2 chớnh là p hoặc q.

2.3.3. Giao thức cụng chứng

Giao thức cụng chứng là giao thức đƣợc thiết kế cho một văn bản sau khi A ký lờn đú, ngƣời khỏc cú thể xỏc thực đƣợc rằng văn bản này thực sự đƣợc ký bởi A (nú cũng giống nhƣ việc cụng chứng của cụng chứng viờn ký chữ ký của mỡnh lờn bảng cụng chứng).

Để thiết lập giao thức cụng chứng, Bob phải lựa chọn cỏc tham số RSA: cỏc số nguyờn tố p, q và cỏc số mũ húa e và khúa giải mó d thỏa món e.d 1 mod (n) trong đú n = p.q. Cỏc giỏ trị n, e là cụng khai, cũn p, q và d đƣợc Bob giữ bớ mật.

Để ký một văn bản M, Bob sử dụng số mũ bớ mật d để tớnh chữ ký S = Md

mod n. Bất cứ ai cũng cú thể sử dụng những thụng tin cụng khai của Bob để kiểm tra xem S cú thật sự là chữ ký của Bob trờn M hay khụng bằng cỏch tớnh Se

mod n và so sỏnh với M. Vỡ chỉ cú Bob biết giỏ trị d, giỏ trị dựng để tạo ra S. Giao thức cụng chứng khẳng định rằng chỉ cú một mỡnh Bob mới cú thể tạo ra S.

Tuy nhiờn Davida và Denning [13] đó chỉ ra rằng: cú thể tạo ra chữ ký giả

Một phần của tài liệu Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu (Trang 35)