PHƯƠNG PHÁP BẢO TOÀN THễNG TIN

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 53)

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 sơ đồ chữ ký chuẩn DSS chỉ ký trờn cỏc thụng điệ cú kớch thước 160 bit, bản ký số sẽ cú kớch thước 320 bit. Trong khi đú trờn thực tế, ta cần hải ký cỏc thụng điệ cú kớch thước lớn hơn nhiều, chẳng hạn vài chục MegaByte. Hơn nữa, dữ liệu truyền qua ạng khụng chỉ là bản thụng điệ gốc, à cũn bao gồ cả bản ký số (cú dung lượng gấ đụi dung lượng bản thụng điệ gốc), để đỏ ứng việc xỏc thực sau khi thụng tin đến người nhận.

Một cỏch đơn giản để giải bài toỏn (với thụng điệ cú kớch thước vài chục MB) này là chặt thụng điệ thành nhiều đoạn 160 bit, sau đú ký lờn cỏc đoạn đú độc lậ nhau. Nhưng, biện hỏ này cú ột số vấn đề trong việc tạo ra cỏc chữ ký số:

1/. ới ột thụng điệ cú kớch thước a, thỡ sau khi ký kớch thước của chữ ký sẽ là 2a (trong trường hợ sử dụng DSS).

2/. ới cỏc chữ ký “an toàn” thỡ tốc độ chậ vỡ chỳng dựng nhiều hộ tớnh số học hức tạ như số ũ odulo.

3/. ấn đề nghiờ trọng hơn đú là kết quả sau khi ký, nội dung của thụng điệ cú thể bị xỏo trộn cỏc đoạn với nhau, hoặc ột số đoạn trong chỳng cú thể bị ất ỏt, trong khi người nhận cần hải xỏc inh lại thụng điệ . Ta cần hải bảo vệ tớnh toàn vẹn của thụng điệ .

Giải hỏ cho cỏc vấn đề vướng ắc đến chữ ký số là dựng hà bă để trợ giỳ cho việc ký số. Cỏc thuật toỏn bă với đầu vào là cỏc thụng điệ cú dung lượng, kớch thước tựy ý (vài KB đến vài chục MB thậ chớ hơn nữa) – cỏc thụng điệ cú thể là dạng văn bản, hỡnh ảnh, õ thanh, file ứng dụng v.v… - và với cỏc thuật toỏn bă : MD2, MD4, MD5, SHA cho cỏc bản bă đầu ra cú kớch thước cố định: 128 bit với dũng MD, 160 bit với SHA.

Như vậy, thụng điệ kớch thước tựy ý sau khi bă sẽ được thu gọn thành những bản bă – được gọi là cỏc văn bản đại diện – cú kớch thước cố định (128 bit hoặc 160 bit). ới ỗi thụng điệ đầu vào chỉ cú thể tớnh ra được ột văn bản đại diện – giỏ trị bă tương ứng– duy nhất. Giỏ trị bă được coi là đặc thự của thụng điệ , giống như dấu võn tay của ỗi người. Hai thụng điệ khỏc nhau chắc chắn cú hai văn bản đại diện khỏc nhau. Khi đó cú văn bản đại diện duy nhất cho bức thụng điệ , ỏ dụng cỏc sơ đồ chữ ký số ký trờn văn bản đại diện đú.

Cơ chế gửi thụng tin sử dụng hà bă trợ giỳ cho chữ ký số được ụ tả theo thứ tự cỏc hỡnh ột số Sơ đồ ụ tả cỏc cụng đoạn người gửi A thực hiện trước khi gửi thụng điệ cho người B (sử dụng hà bă rồi ký số) như sau:

Thông điệp (bản rõ)

x (adsbygoogle = window.adsbygoogle || []).push({});

(văn bản, âm thanh, hình ảnh… )

Băm thông điệp

(sử dụng thuật toán MD hoặc SHA)

h(x)

Bản băm

(văn bản đại diện)

z = h(x)

Độ dài tuỳ ý

Độ dài cố định 128 với MD hoặc 160

bit với SHA

Hỡnh 3.4a: Bă thụng điệ .

Ng-ời gửi (A) Ng-ời nhận (B) Thông điệp, Bản ký số

(x, y)

Hỡnh 3.4c: Truyền dữ liệu thụng tin cần gửi.

Giả sử A muốn gửi cho B thụng điệp x. A thực hiện cỏc bước sau:

1/. A bă thụng điệ x (Hỡnh 3.4a), thu được bản đại diện z = h(x) – cú kớch thước cố định 128 bit hoặc 160 bit.

2/. A ký số trờn bản đại diện z (Hỡnh 3.4b), bằng khúa bớ ật của ỡnh, thu được bản ký số y = sigK1(z).

3/. A gửi (x, y) cho B (Hỡnh 3.4c).

Khi B nhận được (x, y). B thực hiện cỏc bước sau:

1/. B kiể tra chữ ký số để xỏc inh xe thụng điệ à ỡnh nhận được cú hải được gửi từ A hay khụng bằng cỏch giải ó chữ ký số y, bằng khúa cụng khai của A, được z. (Hỡnh 3.5a)

2/. B dựng ột thuật toỏn bă – tương ứng với thuật toỏn bă à A dựng – để bă thụng điệ x đi kố , nhận được h(x). (Hỡnh 3.5b)

3/. B so sỏnh 2 giỏ trị bă z và h(x), nếu giống nhau thỡ chắc chắn rằng thụng điệ x – à A uốn gửi cho B – cũn nguyờn vẹn, bờn cạnh đú cũng xỏc thực được người gửi thụng tin là ai. (Hỡnh 3.5c)

Một số sơ đồ mụ tả cỏc cụng đoạn sau khi người B nhận được thụng điệp:

Bản ký số y Xác minh chữ ký verK(y, z) y = sigK(z) y sigK(z) True False

Khoá công khai

của ng-ời A

Thông điệp(bản rõ)

x

Băm thông điệp

(sử dụng thuật toán MD hoặc SHA) (adsbygoogle = window.adsbygoogle || []).push({});

h(x)

Bản băm

(văn bản đại diện)

h(x)

Hỡnh 3.5b: Tiến hành bă thụng điệ x đi kố .

So sánh zh(x) z = h(x) Thông điệ p toàn vẹn z h(x) Thông điệp đã b ị thay đổi 

Hỡnh 3.5c: Kiể tra tớnh toàn vẹn của thụng điệ .

Hà bă đó trợ giỳ cho cỏc sơ đồ ký số nhằ giả dung lượng của dữ liệu cần thiết để truyền qua ạng (lỳc này chỉ cũn bao gồ dung lượng của bức thụng điệ gốc và 256 bit (sử dụng MD) hay 320 bit (sử dụng SHA) của bức ký số được ký trờn bản đại diện của thụng điệ gốc), tương đương với việc giả thời gian truyền tin qua ạng.

Hà bă thường kết hợ với chữ ký số để tạo ra ột loại chữ ký điện tử vừa an toàn hơn (khụng thể cắt/dỏn) vừa cú thể dựng để kiể tra tớnh toàn vẹn của thụng điệ [4].

Hà bă được ứng dụng rất nhiều trong vấn đề an toàn thụng tin trờn đường truyền. Cỏc ứng dụng cú sử dụng hà bă khụng chỉ đả bảo về ặt an toàn thụng tin, à cũn tạo được lũng tin của người dựng vỡ họ cú thể dễ dàng hỏt hiện được thụng tin của ỡnh cú cũn toàn vẹn hay khụng, họ biết rằng thụng tin của ỡnh chắc chắn được bớ ật với hớa cỏc nhà cung cấ .

*Một số hàm băm thường gặp:

MD5 (Message Digest): 128 bit, nhanh, được sử dụng rộng rói. SHA (Secure Hash Algorithm): 160 bit

3.3.4. Cỏc loại chữ ký số

Chữ ký“số”chia thành 2 loại: chữ ký khụi hục thụng điệ ( essage recovery) và chữ ký khụng thể khụi hục thụng điệ gốc [6].

3.3.4.1. Chữ ký khụng thể khụi hục thụng điệ gốc.

Thụng điệ ban đầu khụng thể khụi hục từ chữ ký.

Chữ ký kố thụng điệ được sử dụng nhiều nhất trong thực tế. Nú dựa trờn cỏc hà bă ó hoỏ hơn là dựa trờn hà bă bất kỳ, và ớt bị lỗi khi bị tấn cụng theo kiểu giả ạo. Chữ ký loại này đũi hỏi thụng điệ gốc là tha số quan trọng nhất cho quỏ trỡnh kiể tra chữ ký. ớdụ: Sơ đồ chữ ký Elga al, DSA, Schonor.[6]

* Thuật toỏn sinh chữ ký và xỏc nhận chữ ký.

Quỏ trỡnh sinh chữ ký trờn thụng diệ m:

+ Chọn hà bă h, tạo đại diện thụng điệ của là ’ = h(m) + Chọn khúa ký (khúa bớ ật) k  K, tớnh chữ ký trờn ’ là s = Sigk ( ’).

Quỏ trỡnh xỏc nhận chữ ký s:

+ Chọn hà bă h, tạo đại diện thụng điệ của là ’ = h(m)

+ Chọn khúa kiể tra chữ ký (khúa cụng khai) kk, Tớnh u = er kk (m', s). + Chữ ký đỳng nếu u = True.

3.3.4.2. Chữ ký khụi hục thụng điệ gốc.

Thụng điệ cú thể khụi hục được thụng điệ gốc từ chớnh bản thõn chữ ký. Nú được dựng để ký trờn cỏc thụng điệ ngắn.

ớ dụ: RSA, Rabin, Nyber-Rueppel. [6]

* Thuật toỏn sinh chữ ký và xỏc nhận chữ ký.

Quỏ trỡnh sinh chữ ký:

+ Chọn hà bă H, tạo đại diện thụng điệ của là ’ = H(m) + Chọn khúa ký (khúa bớ ật) k  K, tớnh chữ ký trờn ’ là s = Sigk ( ’).

Quỏ trỡnh xỏc nhận chữ ký : (adsbygoogle = window.adsbygoogle || []).push({});

+ Chọn hà bă h, tạo đại diện thụng điệ của là ’ = H(m)

+ ới khúa kiể tra chữ ký (cụng khai) kk, khụi hục đại diện thụng điệ gốc ’’. + Chữ ký đỳng nếu ’ = ’’.

3.3.4.3. Chức năng của chữ ký số

Chữ ký số cú thể thực hiện được hai chức năng bảo toàn tài liệu, đú là: bảo toàn và xỏc thực.

Bảo toàn: Khi cú chữ ký số trờn tài liệu, nếu kẻ gian sửa đổi tài liệu, thỡ chữ ký số của tài liệu bị sửa đổi sẽ khỏc với chữ ký số của tài liệu gốc. Do đú người ta sẽ nhận ra cú sự thay đổi trong tài liệu gốc.

Xỏc thực: Khi cú chữ ký số trờn tài liệu, chữ ký số dựng để inh chứng nguồn gốc của tài liệu đú, kẻ gian khú thể tạo ra chữ ký số giống như chữ ký số ban đầu.

3.3.5. Bảo toàn thụng tin bằng chữ ký số và hàm băm

3.3.5.1. Dựng “chữ ký số” đề bảo toàn thụng tin tài liệu

Người gửi G cần chuyển tài liệu x tới người nhận N trờn ạng cụng khai. Nếu dựng “chữ ký số” để bảo toàn x, thỡ G hải chuyển x và cả chữ ký trờn x là z cho N. Như vậy N sẽ nhận được cặ tin (tài liệu, chữ ký) = (x, z), z = Sig (x).

Nếu kẻ gian thay đổi nội dung của x, hay dựng y thay cho x, thỡ khi N kiểm tra chữ ký của G, chắc chắn chữ ký z là sai, vỡ nội dung x cũ đó bị thay đổi.

3.3.3.1. Dựng “hàm băm” để bảo toàn thụng tin tài liệu

Hà bă h là hà ột chiều (One-way Hash) với cỏc đặc tớnh sau:

ới tài liệu đầu vào (bản tin gốc) x, chỉ thu được giỏ trị bă duy nhất z = h(x). Nếu dữ liệu trong bản tin x bị thay đổi hay bị thay hoàn toàn để thành bản tin x’, thỡ giỏ trị bă h(x’)  h(x).

Cho dự chỉ là ột sự thay đổi nhỏ, vớ dụ chỉ thay đổi 1 bit dữ liệu của bản tin gốc x, thỡ giỏ trị bă h(x) của nú cũng vẫn thay đổi. Điều này cú nghĩa là: hai thụng điệ khỏc nhau, thỡ giỏ trị bă của chỳng cũng khỏc nhau.

Dựa vào đặc điểm trờn của hàm băm, người ta bảo toàn tài liệu như sau:

Người gửi G cần chuyển tài liệu x tới người nhận N trờn ạng cụng khai. Nếu dựng “hà bă ” để bảo toàn x, thỡ G hải chuyển x và cả giỏ trị bă trờn x là z cho N. Như vậy N sẽ nhận được cặ tin (tài liệu, đại diện tài liệu) = (x, z), z = h(x). (Chỳ ý z là giỏ trị bă trờn x, cũn được gọi là đại diện tài liệu).

N sẽ bă lại x, và nhận được giỏ trị bă là z’. Nếu z’  z, thỡ chắc chắn x đó bị thay đổi trờn đường truyền tin. Nếu z’  z, thỡ x được bảo toàn.

3.4. PHƯƠNG PHÁP XÁC THỰC THễNG TIN 3.4.1. Mục đớch xỏc thực thụng tin 3.4.1. Mục đớch xỏc thực thụng tin

Xỏc thực, cụng nhận nguồn gốc của thụng tin, tớnh toàn vẹn của dữ liệu, xỏc thực định danh của một đối tượng nào đú tha gia truyền tin.

3.4.2. Phương phỏp xỏc thực

a/. Xỏc thực theo nghĩa thụng thường

Xỏc thực là ột chứng thực ột cỏi gỡ đú (hoặc ột người nào đú) đỏng tin cậy, cú nghĩa là, những lời khai bỏo do người đú đưa ra hoặc về vật đú là sự thật.

Xỏc thực ột đối tượng cũn cú nghĩa là cụng nhận nguồn gốc (provenance) của đối tượng, trong khi, xỏc thực ột người thường bao gồ việc thẩ tra nhận dạng họ. iệc xỏc thực thường hụ thuộc vào ột hoặc nhiều nhõn tố xỏc thực (authentication factors) để inh chứng cụ thể. [6]

b/. Xỏc thực điện tử

Xỏc thực trong an ninh ỏy tớnh là ột quy trỡnh nhằ cố gắng xỏc inh nhận dạng số (digital identity) của hần truyền gửi thụng tin (sender) trong giao thụng liờn lạc chẳng hạn như ột yờu cầu đăng nhậ . Phần gửi cần hải xỏc thực cú thể là ột người dựng ột ỏy tớnh, bản thõn ột ỏy tớnh hoặc ột chương trỡnh mỏy tớnh (computer program). [6]

3.4.3. Phõn loại xỏc thực điện tử

3.4.3.1. Xỏc thực dữ liệu

Xỏc thực thụng điệ (Message Authentication) Xỏc thực giao dịch (Transaction Authentication) Xỏc thực khúa (Key Authentication)

Xỏc thực nguồn gốc dữ liệu (Source của Data) Xỏc thực bảo đả toàn vẹn dữ liệu (Data Integrity).

3.4.3.1. Xỏc thực thực thể (adsbygoogle = window.adsbygoogle || []).push({});

1). Xỏc thực dựa vào thực thể: Biết cỏi gỡ (So ething Known)

2). Xỏc thực dựa vào thực thể: Sở hữu cỏi gỡ (So ething Possessed)

3). Xỏc thực dựa vào thực thể: Thừa hưởng cỏi gỡ (Something Inherent). [6] 3.4.4. Xỏc thực dữ liệu

3.4.4.1. Xỏc thực thụng điệ

Xỏc thực thụng điệ hay Xỏc thực tớnh nguyờn bản của dữ liệu (Data Origin Authentication) là ột kiểu xỏc thực đả bảo ột thực thể được chứng thực là nguồn gốc thực sự tạo ra dữ liệu này ở ột thời điể nào đú.

Xỏc thực thụng điệ bao hà cả tớnh toàn vẹn dữ liệu, nhưng khụng đả bảo tớnh duy nhất và sự hự hợ về thời gian của nú.

3.4.4.2. Xỏc thực giao dịch

Xỏc thực giao dịch là Xỏc thực thụng điệ cộng thờ việc đả bảo tớnh duy nhất (Uniqueness) và sự hự hợ về thời gian (Ti eliness) của nú. Xỏc thực giao dịch liờn quan đến việc sử dụng cỏc tha số thời gian (T B-Time Variant Parameters).

Transaction Authentication = Message Authentication + TVB

Xỏc thực giao dịch “ ạnh hơn” Xỏc thực thụng điệ .

3.4.4.3. Xỏc thực kh a

Xỏc thực khụng tường inh khúa (I licit Key Authentication): Một bờn được đả bảo rằng chỉ cú bờn thứ hai (và cú thể cú thờ cỏc bờn tin cậy-Trusted Parties) là cú thể truy cậ được khúa ật.

Khẳng định (Xỏc nhận) khúa (Key Confir ation): Một bờn được đả bảo rằng bờn thứ hai chắc chắn đó sở hữu khúa ật.

Xỏc thực tường inh khúa (Ex licit Key Authentication): Bao gồ cả 2 yếu tố trờn, nú chứng tỏ được định danh của bờn cú khúa đó cho.

Xỏc thực khúa tậ trung vào định danh bờn thứ hai cú thể truy cậ khúa hơn là giỏ trị của khúa. Khẳng định khúa lại tậ trung vào giỏ trị của khúa. [6]

3.4.4.4. Xỏc thực nguồn gốc dữ liệu

Cụng cụ: Dựng chữ ký số, hà bă , thủy võn ký.

3.4.4.5. Xỏc thực bảo đảm toàn vẹn dữ liệu

Cụng cụ: Dựng chữ ký số, hà bă , thủy võn ký, ó xỏc thực.

3.4.5. Xỏc thực thực thể

Xỏc thực thực thể (hay Định danh thực thể) là xỏc thực định danh của ột đối tượng tha gia giao thức truyền tin.

Thực thể hay đối tượng cú thể là người dựng, thiết bị đầu cuối,…

Tức là: Một thực thể được xỏc thực bằng định danh của nú đối với thực thể thứ hai trong ột giao thức, và bờn thứ hai đó thực sự tha gia vào giao thức. [6]

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 53)