Giới thiệu.

Một phần của tài liệu Giáo án môn An toàn và bảo mật hệ thống thông tin doc (Trang 99 - 102)

. Các chỉ số trùng hợp tương hỗ quan sát được

5.1.Giới thiệu.

0(e + n n)

5.1.Giới thiệu.

Trong chương này, chúng ta xem xét các sơ đồ chữ kí số (còn được gọi là chữ kí số). Chữ kí viết tay thông thường trên tài liệu thường được dùng để xác người kí nó. Chữ kí được dùng hàng ngày chẳng hạn như trên một bức thư nhận tiền từ nhà băng, kí hợp đồng…

Sơ đồ chữ kí là phương pháp kí một bức điện lưu dưới dạng điện tử. Chẳng hạn một bức điện có ký hiệu được truyền trên mạng máy tinh. Chương này trình bày một vài sơ đồ chữ kí số. Ta sẽ thảo luận trên một vài khác biệt cơ bản giữa các chữ kí thông thường và chữ kí số.

Đầu tiên là một vấn đề kí một tài liệu. Với chữ kí thông thường, nó là một phần vật lý của tài liệu. Tuy nhiên, một chữ kí số không gắn theo kiểu vật lý vào bức điện nên thuật toán được dùng phải “không nhìn thấy” theo cách nào đó trên bức điện.

Thứ hai là vấn đề về kiểm tra. Chữ kí thông thường được kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác. Ví dụ, ai đó kí một tấm séc để mua hàng, người bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt sau của thẻ tín dụng để kiểm tra. Dĩ nhiên, đây không phải là phươg pháp an toàn vì nó dể dàng giả mạo. Mắt khác, các chữ kí số có thể được kiểm tra nhờ dùng một thuật toán kiểm tra công khai. Như vậy, bất kỳ ai cũng có thể kiểm tra dược chữ kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăn chặn được khả năng giả mạo.

Sự khác biệt cơ bản khác giữa chữ kí số và chữ kí thông thường bản copy tài liệu được kí băng chữ kí số đồng nhất với bản gốc, còn copy tài liệu có chữ kí trên giấy thường có thể khác với bản gốc. Điều này có nghĩa là phải cẩn thận ngăn chăn một bức kí số khỏi bị dung lại. Vì thế, bản thân bức điện cần chứa thông tin (chẳng hạn như ngày tháng) để ngăn nó khỏi bị dùng lại.

Một sơ đồ chữ kí số thường chứa hai thành phần: thuật toán kí và thuật toán xác minh. Bob có thể kí bức điện x dùng thuật toán kí an toàn. Chữ kí

y=sig(x) nhận được có thể kiểm tra bằng thuật toán xác minh công khai ver(x,y). Khi cho trước cặp (x,y), thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí được thực như thế nào. Dưới đây là định nghĩa hình thức của chữ kí: Đị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ức điện 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à là 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 than đa thức. Verk sẽ là hàm công khai sigk là mật. Không 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ữ số y có thể có trên bức điện x nhờ ung thuật toán ver công khai cho đến khi anh ta tìm thấy một chữ kí đúng. Vi 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 toan về mặt tính toán.

Xem thấy rằng, hệ thống mã khoá công khai RSA có thể ung làm sơ đồ chữ kí số.

Như vậy, Bob kí bức điện x dùng qui tắc giải mã RSA là dk. Bob là người tạo ra chữ kí vì dk = sigk là mật. Thuật toán xác minh dùng qui tắc mã RSA ek. Bất kì ai cũng có thể xác minh chữ kí vi ekđược công khai.

Chú ý rằng, ai đó có thể giả mạo chữ kí của Bob trên một bức điện “ ngẫu nhiên” x bằng cách tìm x=ek(y) với y nào đó, khi đó y= sigk(x). Một giải pháp xung quanh vấn đề khó khăn này là yêu cầu bức điện chưa đủ phần dư để chữ kí giả mạo kiểu này không tương ứng với bức điện. Nghĩa là x trừ một xác suất rất bé. Có thể dùng các hàm hash trong việc kết nối với các sơ đồ chữ kí số sẽ loại trừđược phương pháp giả mạo này.

Sơ đồ chữ kí RSA

Ta xét tóm tắt cách kết hợp chữ kí và mã khoá công khai. Giả sử rằng, Alice tính toán chữ kí y= sigAlice(x) và sau đó mã cả x và y bằng hàm mã khoá công khai eBob của Bob, khi đó cô ta nhận được z = eBob(x,y). Bản mã z sẽ được truyền tới Bob. Khi Bob nhận được z, anh ta sẽ trước hết sẽ giải mã hàm dBob để nhận được (x,y). Sau đó anh ta ung hàm xác minh công khai của Alice để kiểm tra xem verAlice(x,y) có bằng True hay không.

Song nếu đầu tiên Alice mã x rồi sau đó mới kí tên bản mã nhận được thì khi đó cô tính :

y= sigAlice(eBob(x)).

Alice sẽ truyền cặp (z,y) tới Bob. Bob sẽ giải mã z, nhận x và sau đó xác minh chữ kí y trên x nhờ dùng verAlice. Một vấn đề tiểm ẩn trong biện pháp này là nếu Oscar nhận được cặp (x,y) kiểu này, được ta có thay chữ kí y của Alice bằng chữ kí của mình.

Y, = sigOscar(eBob(x)).

Cho n= p.q, p và q là các số nguyên tố. Cho P =A= Zn

ab ≡1(mod(φ(n))). Các giá trị n và b là công khai, a giữ bí mật. Hàm kí:

sigk(x)= xa mod n và kiểm tra chữ kí:

verk (x,y)= true ⇔ x≡ yb (mod n) (x,y ∈ Zn)

(Chú ý, Oscar có thể kí bản mã eBob(x) ngay cả khi anh ta không biết bản rõ x). Khi đó nếu Oscar truyền (x, y ) đến Bob thì chữ kí Oscar được Bob xác minh bằng verOscar và Bob có thể suy ra rằng, bản rõ x xuất phát từ Oscar. Do khó khăn này, hầu hết người sử dụng được khuyến nghị nếu kí trước khi mã.

Một phần của tài liệu Giáo án môn An toàn và bảo mật hệ thống thông tin doc (Trang 99 - 102)