BẢO MẬT THễNG TIN BẰNG PHƯƠNG PHÁP MẬT MÃ

Một phần của tài liệu Nghiên cứu một số bài toán về an toàn thông tin trong Hành chính điện tử (Trang 47)

3.2.1. Mục đớch bảo mật thụng tin

Bảo ật thụng tin (bảo đả bớ ật thụng tin: Confidentiality, Security): Bảo đả người dựng khụng hợ hỏ thỡ sẽ khụng biết, hay khụng hiểu được thụng tin.

Bảo ật thụng tin cú 3 trường hợ sau:

Khụng cho hộ xe thụng tin: Dựng biện hỏ “Kiể soỏt lối vào-ra” thụng tin.

Khụng cho hộ xe thụng tin: Dựng biện hỏ “Giấu tin” thụng tin. (Giấu đi sự hiện diện của thụng tin, và do đú khụng biết được thụng tin).

Cho phộ xe thụng tin, nhưng khụng hiểu (hay khú hiểu) được ý nghĩa của thụng tin: Dựng biện hỏ “Mó húa tin”, “Nộn tin” (Giấu đi ý nghĩa của thụng tin, nhưng khụng giấu đi sự hiện diện của thụng tin).

3.2.2. Phương phỏp mó húa dữ liệu

Để bảo đả An toàn thụng tin lưu trữ trong ỏy tớnh (giữ gỡn thụng tin cố định) hay bảo đả An toàn thụng tin trờn đường truyền tin (trờn ạng ỏy tớnh), người ta hải “Che giấu” cỏc thụng tin này.

“Che” thụng tin (dữ liệu) hay “Mó húa” thụng tin là thay đổi hỡnh dạng thụng tin gốc (Giấu đi ý nghĩa nghĩa thụng tin gốc), và người khỏc “khú” nhận ra.

“Giấu” thụng tin (dữ liệu) là cất giấu thụng tin trong bản tin khỏc, và người khỏc cũng “khú” nhận ra (Giấu đi sự hiện diện thụng tin gốc). [6]

3.2.2.1. Hệ mó h a

iệc ó hoỏ hải theo quy tắc nhất định, quy tắc đú gọi là Hệ mó h a. Hệ ó húa được định nghĩa là bộ nă (P, C, K, E, D). trong đú:

P là tậ hữu hạn cỏc bản rừ cú thể. C là tậ hữu hạn cỏc bản mó cú thể.

K là tậ hữu hạn cỏc khoỏ cú thể.

E là tậ cỏc hà lậ ó. D là tậ cỏc hà giải ó.

ới khúa lậ ó ke K, cú hà lậ ó ekeE, eke: PC,

ới khúa giải ó kdK, cú hà giải ó dkd D, dkd: CP, sao cho dkd (eke (x)) = x,xP.

Ở đõy x được gọi là bản rừ, eke (x) được gọi là bản mó. [6]

3.2.2.2. Mó h a và Giải mó:

Người gửi G   eke (T)   Người nhận N (cú khúa lậ ó ke) (cú khúa giải ó kd) 

Tin tặc cú thể trộ bản ó eke (T)

Người gửi G uốn gửi bản tin T cho người nhận N. Để bảo đả bớ ật, G ó hoỏ bản tin bằng khúa lậ ó ke, nhận được bản ó eke (T), sau đú gửi cho N.

Tin tặc cú thể trộ bản ó eke (T), nhưng cũng “khú” hiểu được bản tin gốc

T nếu khụng cú khoỏ giải ó kd.

Người N nhận được bản ó, họ dựng khoỏ giải ó kd, để giải ó eke (T), sẽ nhận được bản tin gốc T = dkd (eke (T)).

3.2.3. Phõn loại hệ mó húa

3.2.3.1. Hệ mó h a kh a đối xứng

Mó húa khúa đối xứng là Hệ ó húa à biết được khúa lậ ó thỡ cú thể “dễ” tớnh được khúa giải ó và ngược lại. Đặc biệt ột số Hệ ó húa cú khoỏ lậ ó và khoỏ giải mó trựng nhau (ke = kd), như Hệ ó húa “dịch chuyển” hay DES.

Hệ ó húa khúa đối xứng cũn gọi là Hệ ó húa khoỏ bớ ật, hay khúa riờng, vỡ hải giữ bớ ật cả 2 khúa. Trước khi dựng Hệ ó húa khúa đối xứng, người gửi và người nhận hải thoả thuận thuật toỏn ó húa và khoỏ chung (lậ ó hay giải mó), khoỏ hải được giữ bớ ật. Độ an toàn của Hệ ó húa loại này hụ thuộc vào khoỏ. [6]

Trong hệ thống ó húa khúa bớ ật, khúa k được thống nhất giữa người gửi A và người nhận B. Người A sẽ sử dụng khúa k và để ó húa thụng điệ M thành thụng điệ C (bản ó) và gửi C cho B, B sẽ sử dụng khúa k để giải ó thụng điệ C

này, vấn đề an toàn bảo ật thụng tin được ó húa hụ thuộc vào việc giữ bớ ật khúa k. Cú nhiều hệ ật ó được xõy dựng trờn hương hỏ ó húa khúa đối xứng như: DES, 3DES-Triple DES, RC2-Rivest Cipher 2, RC4-Rivest Ci her 4… (adsbygoogle = window.adsbygoogle || []).push({});

1/. Đặc điểm của Hệ mó húa khúa đối xứng

Ưu điểm:

Sử dụng đơn giản: chỉ cần dựng ột khúa cho cả 2 bước lậ ó và giải ó. Hệ ó húa khúa đối xứng ó húa và giải ó nhanh hơn Hệ ó húa khúa cụng khai.

Hạn chế:

Khụng kinh tế vỡ ất nhiều thời gian gửi tin, khụng hay ứng dụng trong thương ại. ấn đề thỏa thuận khoỏ và quản lý khúa chung là khú khăn và hức tạ . Người gửi và người nhận hải luụn thống nhất với nhau về khoỏ. iệc thay đổi khoỏ là rất khú và dễ bị lộ. Khúa chung hải được gửi cho nhau trờn kờnh an toàn.

2/. Nơi sử dụng Hệ mó húa khúa đối xứng.

Hệ ó húa khúa đối xứng thường được sử dụng trong ụi trường à khoỏ chung cú thể dễ dàng trao chuyển bớ ật, chẳng hạn trong cựng ột ạng nội bộ.

Hệ ó húa khúa đối xứng thường dựng để ó húa những bản tin lớn, vỡ tốc độ ó húa và giải ó nhanh hơn Hệ ó húa khúa cụng khai.

3/. Hệ mó húa khúa đối xứng cú thể chia thành hai loại : ó húa khối và mó húa dũng theo đặc trưng xử lý bản rừ.

Mó húa khối: Mó húa khối thao tỏc trờn cỏc khối của bản rừ và bản ó sử dụng hộ biến đổi ó húa cố định. Bản rừ được chia thành ột chuỗi cỏc khối cú kớch thước xỏc định, cú thể đệ thờ vào nếu cần thiết, và ó húa khối mó húa từng khối ột tại ỗi thời điể . ới cựng khúa, cỏc khối bản rừ luụn luụn được ó húa thành những khối bản ó tương ứng. Hệ ó húa DES (Data Encry tion Standard) và thế hệ sau của nú là AES (Advance Encry tion Standard) là hai hệ ó húa sử dụng ó húa khối. DES thao tỏc trờn những khối 64 bit với khúa 56 bit. AES sử dụng khối 128 bit và kớch cỡ khúa cú thể là 128, 192, hoặc 256 bit.

Mó húa dũng: Khỏc với ó húa khối, ó húa dũng xử lý từng bit hoặc byte của bản rừ và bản ó tại ột thời điể . ới ó húa dũng, ỗi bit của bản rừ sẽ được ó húa thành ột bit khỏc ỗi lần à nú được ó húa. Mó húa dũng thường nhanh hơn và sử dụng ớt bộ đệ dữ liệu. Mật ó dũng đồng bộ khụng sinh ra bất kỡ lỗi khi truyền đi nào. Điều này đặc biệt cú ớch khi à thụng tin edia đó ó húa được truyền đi bởi những đường truyền cú thể hỏt sinh lỗi như là việc truyền thụng khụng dõy.

3.2.3.2.Hệ mó h a kh a cụng khai

Hệ ó húa khúa cụng khailà hệ ó húacú khúa lậ ó và khúa giải ó khỏc nhau (kekd), biết được khúa này cũng “khú” tớnh được khúa kia. [6]

Hệ ó húa này cũn được gọi là Hệ ó hoỏ khúa cụng khai, vỡ: Khoỏ lậ ó cho cụng khai, gọi là khoỏ cụng khai (Public key).

Khúa giải ó giữ bớ ật, cũn gọi là khúa riờng (Private key) hay khúa bớ ật. Một người bất kỳ cú thể dựng khoỏ cụng khai để ó hoỏ bản tin, nhưng chỉ người nào cú đỳng khoỏ giải ó thỡ ới cú khả năng đọc được bản rừ.

Hệ ó húa khoỏ cụng khai hay Hệ ó húa hi đối xứng do Diffie và Hellman hỏt inh vào những nă 1970.

*Một số thuật toỏn mó hoỏ cụng khai:

RSA: Loại ật ó húa này được dựng nhiều nhất cho web và chương trỡnh e ail. Độ dài khoỏ thụng thường là từ 512 đến 1024 bit.

ElGa al: 512 đến 1024 bit.

*Cỏc bước trong hệ mật mó khúa cụng khai:

Hệ thống cuối trong ạng tạo ra ột cặ khúa để dựng cho ó húa và giải ó thụng điệ à nú sẽ nhận.

Mỗi hệ thống cụng bố rộng rói khúa ó húa đõy là khúa cụng khai, khúa cũn lại được giữ bớ ật.

Hỡnh 3.2: Mụ hỡnh hệ mật mó húa khúa cụng khai

ới cỏch tiế cận này, tất cả những người tha gia cú thể truy xuất ọi khúa cụng khai vỡ được cụng bố rộng rói. Khúa bớ ật được tạo ra bởi từng cỏ nhõn, vỡ vậy khụng được cụng bố.

1/. Đặc điểm của Hệ mó húa khoỏ cụng khai.

Ưu điểm:

Hệ ó húa khúa cụng khai tiện lợi hơn Hệ ó húa đối xứng ở chỗ: Thuật toỏn được viết ột lần, cụng khai cho nhiều lần dựng, cho nhiều người dựng, họ chỉ cần giữ bớ ật khúa riờng của ỡnh.

Khi biết cỏc tha số ban đầu của hệ ó húa, việc tớnh ra cặ khoỏ cụng khai và bớ ật hải là “dễ”, tức là trong thời gian đa thức.

Người gửi cú bản rừ P và khoỏ cụng khai, thỡ “dễ” tạo ra bản ó C.

Người nhận cú bản ó C và khoỏ bớ ật, thỡ “dễ” giải được thành bản rừ P. Người ó hoỏ dựng khúa cụng khai, người giải ó giữ khúa bớ ật. Khả năng lộ khúa bớ ật khú hơn vỡ chỉ cú ột người giữ gỡn. (adsbygoogle = window.adsbygoogle || []).push({});

Nếu thỏ ó biết khoỏ cụng khai, cố gắng tỡ khoỏ bớ ật, thỡ chỳng hải đương đầu với bài toỏn “khú”.

Nếu thỏ ó biết khoỏ cụng khai và bản ó C, thỡ việc tỡ ra bản rừ P cũng là bài toỏn “khú”, số hộ thử là vụ cựng lớn, khụng khả thi.

Hạn chế: Hệ ó húa khúa cụng khai: ó húa và giải ó chậ hơn hệ ó húa khúa đối xứng.

2/. Nơi sử dụng Hệ mó húa khoỏ cụng khai.

Hệ ó húa khúa cụng khai thường được sử dụng chủ yếu trờn cỏc ạng cụng khai như Internet, khi à việc trao chuyển khoỏ bớ ật tương đối khú khăn.

Đặc trưng nổi bật của hệ ó hoỏ cụng khai là khoỏ cụng khai ( ublic key) và bản ó (ci hertext) đều cú thể gửi đi trờn ột kờnh truyền tin khụng an toàn.

Cú biết cả khúa cụng khai và bản ó, thỡ thỏ ó cũng khụng dễ khỏ hỏ được bản rừ.

Nhưng vỡ cú tốc độ ó húa và giải ó chậ , nờn hệ ó húa khúa cụng khai chỉ dựng để ó húa những bản tin ngắn, vớ dụ như ó húa khúa bớ ật gửi đi.

Hệ ó húa khúa cụng khai thường được sử dụng cho cặ người dựng thỏa thuận khúa bớ ật của Hệ ó húa khúa riờng.

3.2.3.3. Hệ mó h a cụng khai RSA

1/. Sơ đồ (Rivest, Sha ir, Adle an đề xuất nă 1977) [6]

*Tạo cặ kh a (bớ mật, cụng khai) (a, b) :

Chọn bớ ật số nguyờn tố lớn p, q, tớnh n = p * q, cụng khai n, đặt P = C = Zn

Tớnh bớ ật (n) = (p-1).(q-1). Chọn khúa cụng khai b < (n),nguyờn tố với (n). Khúa bớ ật a là hần tử nghịch đảo của b theo mod (n): a*b 1 (mod (n). Tậ cặ khúa (bớ ật, cụng khai) K = (a, b)/ a, b  Zn , a*b 1 (mod (n)). ới Bản rừ x P Bản mó y C, định nghĩa:

* Hàm mó hoỏ: y = ek (x) = xb mod n

* Hàm giải mó: x = dk (y) = ya mod n

ới thuật toỏn ụ tả trờn thỡ ta kiể tra xe cỏc hộ ó húa và giải ó cú hải là nghịch đảo của nhau hay khụng vỡ:

)) ( (mod 1 n ab  nờn ta cú: abt(n)1

với ột số nguyờn t 1 nào đú. Giả sử x Zn * khi đú ta cú:   ) (mod ) (mod 1 ) (mod ) ( ) (mod ) ( 1 ) ( n x n x n x x n x x t n t n t a b       

2/. Độ an toàn

ới hệ RSA thỡ cỏch tấn cụng dễ thấy nhất là cố gắng hõn tớch n ra thừa số nguyờn tố. à khi thực hiện được việc hõn tớch này thỡ cú thể dễ dàng tớnh được

) (n

 =( p - 1)*(q – 1) rồi tớnh số ũ a từ b. Nhưng để đả bảo an toàn thỡ và q hải là những số cú chừng 100 chữ số thậ hõn và khi đú thỡ n cú tới 200 chữ số thậ hõn. à những thuật toỏn hõn tớch hiện thời cú khả năng hõn tớch cỏc số tới 130 chữ số thậ hõn và như vậy thỡ việc hõn tớch n thành thừa số nguyờn tố là khụng dễ dàng.

Ngoài cỏch hõn tớch n thành số nguyờn tố thỡ cũn cú cỏch khỏc là cần tớnh được (n) và n là tớch của hai số nguyờn tố và q thỡ cú thể dễ dàng hõn tớch được n bằng cỏch giải hai hương trỡnh sau để tỡ hai số và q chưa biết:

n = pq

) (n

 = (p - 1)(q - 1)

Nếu thay q = n/ vào hương trỡnh thứ 2 thỡ ta sẽ thu được hương trỡnh bậc hai chưa biết : 2

– (n - (n) + 1)p + n = 0.

Hai nghiệ của hương trỡnh này là và q là nhõn tử của n. Bởi vậy nếu biết được (n) thỡ cú thể hõn tớch được n và hỏ được hệ ật. Tuy nhiờn việc tớnh (adsbygoogle = window.adsbygoogle || []).push({});

) (n

 khụng dễ hơn là việc hõn tớch n.

Bờn cạnh đú, việc ó húa và giải ó xoay quanh hộ lấy luỹ thừa theo odule n. ỡ n là ột số rất lớn nờn ta hải sử dụng số học lấy chớnh xỏc nhiều lần để thực hiện cỏc tớnh toỏn trong Zn và thời gian tớnh toỏn cần thiết sẽ hụ thuộc vào số cỏc bit trong biểu diễn nhị hõn của n. Xột hộ lấy luỹ thừa odule ( tức là hà dạng tớnh xc

od n). iệc tớnh xc od n cú thể thực hiện bằng C – 1 phộp nhõn module; tuy nhiờn C lớn thỡ hộ tớnh này rất lớn. Chỳ ý là C lớn cỡ (n) - 1. Và đõy cũng là ột điể giỳ cho RSA được bảo ật.

1). Hệ ó húa RSA là tất định, tức là với ột bản rừ x và ột khúa bớ ật

a, thỡ chỉ cú ột bản ó y.

2). Hệ ật RSA an toàn, khi giữ được bớ ật khoỏ giải ó a, p, q, (n). Nếu biết được và q, thỡ thỏ ó dễ dàng tớnh được (n) = (q-1)*(p-1). Nếu biết được (n), thỡ thỏ ó sẽ tớnh được a theo thuật toỏn Euclide ở rộng. Nhưng hõn tớch n thành tớch của và q là bài toỏn “khú”.

Độ an toàn của Hệ ật RSA dựa vào khả năng giải bài toỏn hõn tớch số nguyờn dương n thành tớch của 2 số nguyờn tố lớn và q.

3.3. PHƯƠNG PHÁP BẢO TOÀN THễNG TIN 3.3.1. Mục đớch bảo toàn thụng tin 3.3.1. Mục đớch bảo toàn thụng tin

Người nhận thụng tin nếu khụng được cấ quyền: Cú thể nhỡn được thụng tin, cú thể hiểu được ý nghĩa của thụng tin, nhưng nếu sửa đổi thụng tin, thỡ chủ nhõn của thụng tin này cú thể nhận biết được sự sửa đổi này.

3.3.2. Khỏi niệm ký số

Là ột định danh điện tử được tạo ra bởi ỏy tớnh được cỏc tổ chức sử dụng nhằ đạt được tớnh hiệu quả và cú hiệu lực như chữ ký tay.

Là ột cơ chế xỏc thực húa cho hộ người tạo ra thụng điệ đớnh kố ột ó số vào thụng điệ giống như là việc ký ột chữ ký lờn ột văn bản bỡnh thường.

Sơ đồ chữ ký “số” là bộ 5: (P,A, K,S,V), trong đú:

P là tậ hữu hạn cỏc bức điện (thụng điệ ) cú thể.

A là tậ hữu hạn cỏc chữ ký cú thể.

K (khụng gian khoỏ) là tậ hữu hạn cỏc khoỏ cú thể.

S là tậ cỏc thuật toỏn ký cú thể.

V là tậ cỏc thuật toỏn kiể tra chữ ký cú thể.

ới ỗi k K cú thuật toỏn ký Sigk S và thuật toỏn xỏc minh Verk V.

Sigk : PA và Verk: PìA  {true, false} là những hà sao cho:

Mỗi thụng điệ xP và chữ ký yA thoả ón hương trỡnh:

Sigk và Verk là cỏc hà cú thời gian đa thức. Khụng thể “dể dàng” giả ạo chữ ký của Bob trờn thụng điệ x. Nghĩa là x cho trước, chỉ cú Bob ới “dễ” tớnh được y để erk = True. [6]

*Quỏ trỡnh tạo chữ ký số:

- Sinh khúa: Khúa bớ ật, khúa cụng khai - Ký số - Kiể tra chữ ký *Một số dạng chữ ký số: - Chữ ký RSA - Chữ ký Elga al - Chữ ký DSS

True nếu y = sig(x) False nếu y ≠ sig(x) Verk =

3.3.3. Đại diện thụng điệp và Hàm băm

Sơ đồ chữ ký số thường là ó húa trờn từng bit của thụng tin, thời gian để ký tỷ lệ thuận với dung lượng của thụng tin. Thờ vào đú cú thể xảy ra trường hợ : ới nhiều thụng điệ đầu vào khỏc nhau, sử dụng sơ đồ ký số giống nhau (cú thể khỏc nhau) thỡ cho ra kết chữ ký số giống nhau (ỏnh xạ N-1: nhiều – ột), như Hỡnh 3.3. Điều này sẽ dẫn đến ột số rắc rối về sau cho việc xỏc thực thụng tin.

Hỡnh 3.3: Minh họa nhiều thụng điệp nguồn cho cựng một kết quả đớch sau ký số

ới cỏc sơ đồ ký số, chỉ cho hộ ký cỏc thụng điệ (thụng tin) cú kớch thước nhỏ và sau khi ký, bản ký số cú kớch thước gấ đụi bản thụng điệ gốc – vớ dụ với (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Nghiên cứu một số bài toán về an toàn thông tin trong Hành chính điện tử (Trang 47)