I&A dựa trên một số cái mà người dùng có

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng giải pháp đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của công an thành phố Hà Nội (Trang 27)

Chƣơng 2 : XÁC THỰC VÀ BẢO ĐẢM TOÀN VẸN DỮ LIỆU DỰA TRÊN CHỮ KÝ SỐ

2.1 Bảo đảm an toàn thông tin bằng phương pháp nhận diện và xác thực (I&A)

2.1.2 I&A dựa trên một số cái mà người dùng có

Mặc dù một số kĩ thuật chỉ dựa trên một số cái mà người dùng có, nhưng phần lớn các kĩ thuật I & A dựa trên sự kết hợp giữa cái mà người dùng biết với cái mà người dùng có. Sự kết hợp này tạo ra độ an toàn cao hơn cho hệ thống máy tính so với việc sử dụng riêng lẻ từng kĩ thuật.

Các đối tượng mà một người dùng có để nhận diện và xác thực được gọi là các thẻ (token). Có thể chia các thẻ thành hai loại: thẻ memory và thẻ smart.

a. Thẻ Memory

Các thẻ Memory chỉ chứa thông tin chứ không xử lí thông tin. Những thẻ này đòi hỏi các thiết bị đọc/ghi đặc biệt. Loại thẻ Memory phổ biến nhất là thẻ vạch có từ tính, trong đó các vạch mỏng làm bằng chất liệu có từ tính được phun lên bề mặt của thẻ (như trên mặt sau của các thẻ tín dụng). Một ứng dụng thông dụng của các thẻ Memory để xác thực đối với các hệ thống máy tính là thẻ rút tiền tự động ATM (Automatic Teller Machine). Nó sử dụng một sự kết hợp giữa một số cái mà người dùng có (thẻ) với một số điều mà người dùng biết (số nhận diện cá nhân - PIN).

Một số công nghệ xác thực của các hệ thống máy tính chỉ dựa trên quyền sở hữu của một thẻ, nhưng chúng ít phổ biến hơn. Các hệ thống chỉ xác thực bằng quyền sở hữu thẻ có vẻ phù hợp hơn đối với việc sử dụng trong các ứng dụng

Ưu điểm của các hệ thống sử dụng thẻ “Memory” là khi sử dụng các thẻ “Memory” cùng với các PIN sẽ cung cấp sự bảo vệ an toàn hơn đáng kể so với mật khẩu. Để một hacker hoặc kẻ giả danh khác giả mạo là một người dùng nào đó, hacker và kẻ giả danh đó phải có cả một thẻ hợp lệ và một PIN tương ứng. Điều này là khó hơn nhiều so với việc có được một mật khẩu hợp lệ và một UID kết hợp (vì việc biết hầu hết các UID là rất bình thường). Một ưu điểm khác của các thẻ là chúng có thể được sử dụng để hỗ trợ cho việc đăng nhập mà không đòi hỏi người sử dụng gõ vào UID cho mỗi giao dịch hoặc sự kiện được ghi lại khác vì các thẻ có thể được quét đi quét lại nhiều lần. Nếu một thẻ được yêu cầu cho lối vào và lối ra vật lí, khi đó người dùng sẽ phải tháo thẻ này khi họ rời khỏi máy tính. Điều này giúp duy trì việc xác thực.

b. Các thẻ Smart

Thẻ smart phát triển chức năng của thẻ memory bằng cách tích hợp nhiều mạch tổ hợp vào trong một thẻ. Thẻ smart là một ví dụ khác của xác thực dựa trên một cái gì đó mà người dùng có. Thẻ smart thường yêu cầu một người dùng cung cấp một cái gì đó mà người dùng biết (PIN hoặc mật khẩu) để mở thẻ smart này khi sử dụng.

Có nhiều loại thẻ smart khác nhau. Các thẻ smart có thể phân chia thành ba loại dựa trên các đặc tính vật lí, giao diện và giao thức sử dụng. Tuy nhiên sự phân chia này chỉ có tính tương đối.

Các thẻ smart có độ linh hoạt cao và có thể được sử dụng để giải quyết nhiều vấn đề về xác thực. Mỗi loại thẻ smart có những ưu điểm riêng. Nói chung, chúng cung cấp độ an toàn cao hơn các thẻ memory. Các thẻ smart có thể giải quyết vấn đề giám sát điện tử thậm chí cả khi việc xác thực được thực hiện thông qua một mạng mở bằng cách sử dụng các mật khẩu sử dụng một lần (one- time password).

- One-time passwords. Các thẻ smart mà sử dụng giao thức phát sinh password động hoặc giao thức yêu cầu - đáp ứng có thể tạo ra những password sử dụng một lần. Việc giám sát điện tử không còn là vấn đề với những password sử dụng một lần vì mỗi lần người sử dụng được xác thực với máy tính thì một password khác lại được sử dụng. (Hacker có thể nghiên cứu password sử dụng một lần thông qua việc giám sát điện tử nhưng cũng chẳng thể làm được gì).

- Nguy cơ giả mạo giảm: nói chung, bộ nhớ trên thẻ smart không thể đọc được trừ khi PIN được đưa vào. Thêm vào đó, các thẻ cũng rất phức tạp và do đó mà việc giả mạo sẽ khó hơn nhiều.

smart card, cung cấp phương pháp để người sử dụng truy cập nhiều máy tính bằng cách sử dụng nhiều mạng chỉ với một lần đăng nhập. Ngoài ra, các smart card đơn có thể được sử dụng với nhiều chức năng như truy cập vật lý hoặc như những thẻ ghi nợ.

2.1.3 I&A dựa trên một thuộc tính hay nét đặc trưng của người dùng

Các kĩ thuật xác thực sinh trắc học sử dụng các đặc tính (hoặc thuộc tính) duy nhất của một cá nhân để xác thực nét nhận diện của người đó. Những thuộc tính này bao gồm các thuộc tính sinh học (chẳng hạn như vân tay, hình dạng tay hoặc các mô hình võng mạc) hay các thuộc tính hành vi (như mẫu giọng nói và chữ kớ tay). Kĩ thuật xác thực sinh trắc học dựa trên các thuộc tính này đã được phát triển cho các ứng dụng đăng nhập máy tính.

Về mặt kĩ thuật, xác thực sinh trắc học phức tạp và tốn kém, và người sử dụng rất khó chấp nhận. Tuy nhiên, người ta vẫn tiếp tục nghiên cứu kĩ thuật này theo hướng tăng độ tin cậy, giảm chi phí và thân thiện với người sử dụng hơn.

Các hệ thống sinh trắc học có thể làm tăng mức độ an ninh cho máy tính nhưng kĩ thuật này vẫn kém hoàn thiện hơn so với các thẻ Memory và các thẻ smart. Nguyên nhân là do những khó khăn về mặt kĩ thuật trong việc đo lường và thể hiện các đặc điểm cơ thể cũng như những khó khăn xuất phát từ bản chất của các đặc điểm này là luôn biến đổi ở một mức độ nhất định, tuỳ vào từng điều kiện khác nhau. Ví dụ, giọng nói của một người có thể thay đổi trong điều kiện căng thẳng hoặc khi họ bị viêm họng hay cảm lạnh.

Thông thường, việc xác thực sinh trắc học làm việc như sau: trước khi thực hiện việc xác thực, người sử dụng phải được “đăng kớ” bằng cách tạo một tài liệu sơ lược (còn gọi là một mẫu) dựa trên những đặc điểm cơ thể được yêu cầu. Mẫu kết quả này sẽ được liên kết với nét nhận diện của người sử dụng và được lưu giữ để sử dụng trong những lần sau.

Khi thực hiện việc xác thực, các thuộc tính sinh trắc học của người sử dụng sẽ được kiểm tra. Bản tài liệu sơ lược được lưu giữ trước sẽ được đối sánh với bản tài liệu sơ lược mà người sử dụng đưa vào. Kết quả của việc đối sánh sẽ được sử dụng để chấp nhận hoặc từ chối người sử dụng.

Do chi phí cao nên các hệ thống sinh trắc học thường được sử dụng cùng với các phương pháp xác thực khác trong những môi trường đòi hỏi độ an toàn cao.

2.2 Chữ kí số

2.2.1 Khái niệm về chữ kí số [4]

Để chứng thực nguồn gốc hay hiệu lực của một tài liệu, lâu nay người ta dùng chữ kí tay ghi vào phía dưới của mỗi tài liệu. Như vậy người kí phải trực

tiếp kí tay vào tài liệu. Ngày nay, các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn gốc hay hiệu lực của các tài liệu này. Xuất phát từ yêu cầu thực tế, những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ kí số” để chứng thực một “tài liệu số”. Đó chính là bản mã của xâu bít tài liệu.

Người ta tạo ra chữ kí số trên tài liệu số giống nhau tạo ra bản mã của tài liệu với khóa lập mã. Như vậy, kí số trên tài liệu số là kí trên từng bít tài liệu, kẻ gian khó có thể giả mạo chữ kí số nếu họ không biết khóa lập mã.

Để kiểm tra một chữ kí số thuộc về một tài liệu số, người ta giải mã chữ kí số bằng khóa giải mã, và so sánh với tài liệu gốc.

2.2.2 Các ưu điểm của chữ kí số

Việc sử dụng chữ kí số mang lại một số lợi ích sau: a.Khả năng xác thực

Các hệ thống mật mã khóa công khai cho phép mã hóa văn bản với khóa bí mật mà chỉ có người chủ của khóa biết. Để sự dụng chữ kí số thì văn bản không cần phải được mã hóa mà chỉ cần mã hóa hàm băm của văn bản đó (thường có độ dài cố định và ngắn hơn văn bản). Khi cần kiểm tra, bên nhận tính lại giá trị băm và kiểm tra chữ kí của văn bản nhận được. Nếu 2 giá trị này phù hợp thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật. Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ.

b. Tính toàn vẹn

Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện. Quá trình mã hóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản được việc thay đổi nội dung của nó.

c. Tính không thể phủ nhận

Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do chính mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ kí số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ kí này như một chứng cứ để bên thứ ba giải quyết. Tuy nhiên khóa bí mật vẫn có thể bị lộ và tính không thể phủ nhận cũng khó thể đạt được hoàn toàn.

2.2.3 Sơ đồ chữ kí số [15]

Để có thể có được một chữ kí số có các tính chất cần thiết cần phải có một cơ chế hay một qui trình nhất định để tạo ra chữ kí số đó. Qui trình này được gọi là qui trình tạo ra chữ kí số. Qui trình tạo chữ kí số hoạt động dựa trên một thuật toán gọi là thuật toán sinh chữ kí số. Việc xác minh chữ kí số trên một tài liệu, dữ liệu hoặc một thông điệp điện tử được thực hiện dựa trên các thuật toán xác

minh chữ kí số. Quá trình xác minh chữ kí số còn bao gồm cả các phương thức phục hồi dữ liệu. Tất cả các thuật toán sử dụng trong việc tạo ra chữ kí số, xác minh chữ kí số, xác thực chữ kí số và tài liệu tạo thành một cơ chế sử dụng chữ kí số và tập hợp thành một sơ đồ kí chữ kí số.

2.2.3.1 Định nghĩa

Một sơ đồ chữ kí số là bộ 5 (P,A,K,S,V) thoả mãn các điều kiện dưới đây: 1. P là tập hữu hạn các bản rõ có thể.

2. A là tập hữu hạn các chữ kí có thể.

3. K không gian khoá là tập hữu hạn các khoá có thể.

4. Với mỗi k thuộc K tồn tại một thuật toán kí sigk S và một thuật toán xác minh verkV. Mỗi sigk : P  A và verk: PA true, false là những hàm sao cho mỗi bức điện x P và mỗi chữ kí y A thoả mãn phương trình dưới đây.

True nếu y=sig(x) verk

False nếu y# sig(x)

Với mỗi k thuộc K hàm sigk và verk là các hàm thời gian đa thức. verk sẽ là hàm công khai, sigk là hàm mật. Giả sử Bob muốn gửi cho Alice và muốn Alice biết thông tin đó thực sự do chính Bob gửi. Bob gửi cho Alice bản tin kèm với chữ kí số. Khó có thể dễ dàng tính toán để giả mạo chữ kí của Bob trên bức điện x. Nghĩa là x cho trước, chỉ có Bob mới có thể tính được y để verk = True. Một sơ đồ chữ kí không thể an toàn vô điều kiện vì Oscar có thể kiểm tra tất cả các chữ kí số y có thể có trên bức điện x nhờ dùng thuật toán ver công khai cho đến khi anh ta tìm thấy một chữ kí đúng. Vì thế, nếu có đủ thời gian, Oscar luôn luôn có thể giả mạo chữ kí của Bob. Như vậy, giống như trường hợp hệ thống mã khoá công khai, mục đích của chúng ta là tìm các sơ đồ chữ kí số an toàn về mặt tính toán.

2.2.3.2 Phân loại sơ đồ chữ kí số

Theo đặc trưng kiểm tra chữ kí, có hai loại sơ đồ kí của chữ kí số là sơ đồ chữ kí số với phần phụ đính kèmsơ đồ chữ kí số khôi phục thông báo.

Hình 2.1 minh hoạ sự phân loại các sơ đồ chữ kí số. Có thể phân nhỏ hai sơ đồ chữ kí này thành sơ đồ chữ kí ngẫu nhiên (dùng một lần) và sơ đồ chữ kí xác định (có thể dùng nhiều lần). Sơ đồ chữ kí khôi phục thông báo Ngẫu nhiên Xác định

Hình 2.1: Phân loại sơ đồ chữ kí số.

a. Sơ đồ chữ kí số với phần phụ đính kèm (with appendix)

Đây là loại sơ đồ được dùng nhiều trong thực tế. Nó thường dựa trên các hàm băm mã hoá nên khả năng tấn công với chữ kí hay khả năng giả mạo chữ kí là rất khó.

Định nghĩa

Sơ đồ chữ kí số với phần phụ đính kèm là sơ đồ chữ kí sử dụng dữ liệu hay tài liệu được kí làm dữ liệu đầu vào của thuật toán xác minh.

Các sơ đồ chữ kí DSA, ElGamal, Schnorr thuộc loại sơ đồ chữ kí với phần phụ đính kèm.

Thuật toán sinh khoá đối với sơ đồ chữ kí số với phần phụ đính kèm

Giả sử một người dùng A có 1 tập các tài liệu cần kí là M, tập các chữ kí mà người A sử dụng để kí các tài liệu thuộc M là S, K là tập chỉ số của các phép biến đổi kí. Thuật toán sinh khoá để kí tài liệu theo sơ đồ chữ kí số với phần phụ đính kèm như sau:

1. A chọn khoá bí mật từ tập SA = {SA,k : kK}. Mỗi phép biến đổi kí SA,k là một ánh xạ tương ứng 1-1 từ Mh  S.

2. SA xác định một ánh xạ tương ứng VA từ Mh x S  {true,false}, đó là: VA (m~, s*) = True nếu SA,k (m~) = s*

False nếu SA,k (m~)  s* Với  m~Mh, s*S, m~ =h(m) với mM.

VA được gọi là phép biến đổi xác minh và có thể thực hiện được mà không cần biết khoá bí mật của người kí.

3. Tập các khoá công khai của A là VA. Tập các khoá bí mật của A là tập SA.

Thuật toán kí và xác minh

A tạo một chữ kí sS cho thông báo mM, có thể xác minh bởi bất cứ người dùng B nào có khoá công khai VA của A

(a)- Chọn một số kK.

(b)- Tính m~ = h(m) và s* = SA,k (m~).

(c)- Chữ kí của A trên m là s*. Cả m và s* được dùng để xác minh chữ kí.

b- Thuật toán xác minh: B làm như sau: (a)-Lấy khoá công khai VA

(b)-Tính m~ = h(m) và u = VA (m~,s*).

(c)- Chữ kí và tài liệu được chấp nhận nếu u = True. Hình 2.2 dưới đây minh hoạ cho các phép toán kí và phép toán xác minh:

(i)-Với mỗi kK, có thể tính SA,k, VA

(ii)-Ngoài A không ai có thể tìm được mM và s*S sao cho VA (m~,s*) = True với m~=h(m).

(a)- Quá trình kí

(b)- Quá trình xác minh

Hình 2.2 : Mô hình về sơ đồ chữ kí số với phần phụ đính kèm.

Sử dụng hàm băm

Hầu hết các sơ đồ chữ kí khôi phục thông báo thường áp dụng cho các tài liệu có độ dài cố định trong khi sơ đồ chữ kí số với phần phụ đính kèm được dùng cho các tài liệu có độ dài tuỳ ý. Hàm một chiều h trong thuật toán trên được chọn là hàm “băm” không va chạm. Có thể thay thế phép “băm” bằng cách chia thông báo thành các khối có độ dài cố định để kí riêng trên mỗi khối với sơ đồ chữ kí khôi phục thông báo. Trong trường hợp này, thuật toán kí tương đối chậm và không đảm bảo sự toàn vẹn của dữ liệu được kí khi có sự sắp xếp lại

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng giải pháp đảm bảo an toàn thông tin trong hệ thống tàng thư ADN của công an thành phố Hà Nội (Trang 27)

Tải bản đầy đủ (PDF)

(71 trang)