MẬT MÃ VÀ CÁC YÊU CẦU BẢO MẬT THÔNG TIN

Một phần của tài liệu nghiên cứu các lược đồ chữ ký số dựa trên hệ mật rsa, ứng dụng trong hệ thống tiền điện tử (Trang 30 - 70)

Mật mã học là một lĩnh vực liên quan với các kỹ thuật ngôn ngữ và toán học để đảm bảo an toàn thông tin, cụ thể là trong thông tin liên lạc. Về phƣơng diện lịch sử, mật mã học gắn liền với quá trình mã hóa. Điều này có nghĩa là nó gắn với các cách thức để chuyển đổi thông tin từ dạng này sang dạng khác nhƣng ở đây là từ dạng thông thƣờng có thể nhận thức đƣợc thành dạng không thể nhận thức đƣợc, làm cho thông tin trở thành dạng không thể đọc đƣợc nếu nhƣ không có các kiến thức bí mật. Quá trình mã hóa đƣợc sử dụng chủ yếu để đảm bảo tính bí mật của các thông tin quan trọng, chẳng hạn trong công tác tình báo, quân sự hay ngoại giao cũng nhƣ các bí mật về kinh tế, thƣơng mại.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 2.1 Quá trình mã hóa và giải mã

Nhƣ vậy mật mã là một lĩnh vực nghiên cứu về các kĩ thuật toán học có liên quan tới lĩnh vực bảo mật thông tin nhƣ bí mật, tính xác thực và toàn vẹn dữ liệu. Để dảm bảo an toàn cho các thông tin mật mã học yêu cầu các thuộc tính sau:

- Bí mật - Toàn vẹn dữ liệu - Xác thực - Không chối bỏ đƣợc - Chống lặp lại 2.3. MÃ HÓA 2.3.1. Khái niệm hệ mật mã

Đối tƣợng cơ bản của mật mã là tạo ra khả năng liên lạc trên một kênh không mật cho hai ngƣời sử dụng (Giả sử là ngƣời A và ngƣời B) sao cho đối phƣơng không thể hiểu đƣợc thông tin đƣợc truyền đi. Kênh này có thể là một đƣờng dây điện thoại hoặc một mạng máy tính. Thông tin mà B muốn gửi cho A (bản rõ) có thể là một văn bản tiếng Anh, các dữ liệu bằng số hoặc bất cứ tài liệu nào có cấu trúc tuỳ ý. Khi đó, B sẽ mã hoá bản rõ bằng một khoá đã đƣợc xác định trƣớc và gửi bản mã kết quả trên kênh. Đối phƣơng có bản mã thu trộm đƣợc trên kênh song

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

không thể xác định nội dung của bản rõ, nhƣng A (ngƣời đã biết khoá mã) có thể giải mã và thu đƣợc bản rõ.

Ta sẽ mô tả hình thức hoá nội dung bằng cách dùng khái niệm toán học nhƣ sau: Một hệ mật là một bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau:

- P (Plaintext): Là một tập hữu hạn các bản rõ có thể. - C (Ciphertext): Là một tập hữu hạn các bản mã có thể. - K (Key): Là tập hữu hạn các khoá có thể.

- E (Encryption): Là tập các hàm mã hoá. - D (Decryption): Là tập các hàm giải mã.

Đối với mỗi k K có một quy tắc mã ek: P C và một quy tắc giải mã tƣơng ứng dk D. Mỗi ek: P C và dk: C P là những hàm mà: dk (ek (x)) = x với mọi bản rõ x P.

2.3.2. Phân loại các hệ thống mật mã

Theo cơ chế mã hoá và giải mã gồm

Hệ mã cổ điển ( hệ mã đối xứng): dùng 1 khoá để mã hoá và giải mã.

Hệ mã hiện đại ( hệ mã bất đối xứng): dùng một khoá để mã hoá và 1 khoá để giải mã. Khoá mã hoá có thể công khai ,khoá giải mã phải giữ bí mật

Theo cách mã hoá

Mã khối: mã hoá sử dụng các thuật toán khối , dữ liệu đƣợc chia thành khối trƣớc khi mã với kích thƣớc tuỳ ý nhƣng phải cố định

Mã dòng: là thuật toán việc mã hoá và giải mã thực hiện theo từng bit tại mỗi thời điểm .

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

Theo [3] mã hóa khóa đối xứng là hệ mã hóa có khóa lập mã và khóa giải mã ―giống nhau‖, theo nghĩa biết đƣợc khóa này thì ―dễ‖ tính đƣợc khóa kia. Đặc biệt một số hệ mã hóa loại này có khoá lập mã và khoá giải mã trùng nhau (ke = kd).

Hệ mã hóa khóa đối xứng còn có tên gọi là Hệ mã hóa khoá bí mật, vì phải giữ bí mật cả 2 khóa. Trƣớc khi dùng hệ mã hóa khóa đối xứng, ngƣời gửi và ngƣời nhận

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

phải thoả thuận thuật toán mã hóa và một khoá chung (lập mã hay giải mã), khoá này phải đƣợc giữ bí mật. Độ an toàn của hệ mã hóa loại này phụ thuộc vào khoá.

Ví dụ

Hệ mã hóa cổ điển thuộc loại mã hóa khóa đối xứng: dễ hiểu, dễ thực thi, nhƣng có độ an toàn không cao. Vì giới hạn tính toán chỉ trong phạm vi bảng chữ cái, sử dụng trong bản tin cần mã, ví dụ là Z26 nếu dùng các chữ cái tiếng Anh, là Z256 nếu dùng bảng mã ASCII . . . Với hệ mã hóa cổ điển, nếu biết khoá lập mã hay thuật toán lập mã, ngƣời ta có thể ―dễ‖ xác định đƣợc bản rõ, vì ―dễ‖ tìm đƣợc khoá giải mã.

Hệ mã hóa DES(1973) là mã hóa khóa đối xứng hiện đại, có độ an toàn cao.

Các đặc điểm của hệ mã hóa khóa đối xứng

Ƣu điểm:

- Mã hóa khóa đối xứng mã hóa và giải mã nhanh hơn mã hóa khóa công khai.

Hạn chế:

- Mã hóa khóa đối xứng chƣa thật an toàn vì: Ngƣời mã hoá và ngƣời giải mã phải có ―chung‖ một khoá. Khóa phải đƣợc giữ bí mật tuyệt đối, vì ―dễ‖ xác định khoá này nếu biết khoá kia. Khi hai ngƣời (lập mã, giải mã) cùng biết ―chung‖ một bí mật, thì khó giữ đƣợc bí mật !

- Vấn đề thỏa thuận khoá và quản lý khóa chung là khó khăn và phức tạp. Ngƣời gửi và ngƣời nhận phải luôn thống nhất với nhau về khoá. Việc thay đổi khoá là rất khó và dễ bị lộ. Khóa chung phải đƣợc gửi cho nhau trên kênh an toàn.

- Không thể tạo ra chữ ký số.

Phạm vi áp dụng hệ mã hóa đối xứng

- Hệ mã hóa khóa đối xứng thƣờng đƣợc sử dụng trong môi trƣờng mà khoá chung có thể dễ dàng trao chuyển bí mật, chẳng hạn trong cùng một mạng nội bộ.

- Hệ mã hóa khóa đối xứng dùng để mã hóa những bản tin lớn, vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hệ mã hóa khoá công khai do Diffie và Hellman phát minh vào những năm 1970.

Mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mã khác nhau (ke ≠ kd), biết đƣợc khóa này cũng ―khó‖ tính đƣợc khóa kia. Hệ mã hóa này đƣợc gọi là hệ mã hoá khóa công khai, vì:

- Khoá lập mã cho công khai, gọi là khoá công khai (public key). - Khóa giải mã giữ bí mật, còn gọi là khóa riêng (private key).

- Một ngƣời bất kỳ có thể dùng khoá công khai để mã hoá bản tin, nhƣng chỉ ngƣời nào có đúng khoá giải mã tƣơng ứng thì mới có khả năng xem đƣợc bản rõ.

Các đặc điểm của hệ mã khoá công khai

Ưu điểm:

- Ngƣời mã hoá dùng khóa công khai, ngƣời giải mã giữ khóa bí mật. Vì thế khả năng lộ khóa bí mật khó hơn do khóa bí mật chỉ có một ngƣời giữ.

- Nếu kẻ phá hoại biết khoá công khai, cố gắng tìm khoá bí mật thì chúng phải đƣơng đầu với bài toán ―khó‖.

- Khi biết các tham số ban đầu của hệ mã hóa, việc tính ra cặp khoá công khai và bí mật 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 mã C.

- Ngƣời nhận có bản mã C và khoá bí mật, thì ―dễ‖ giải đƣợc thành bản rõ P. - Nếu kẻ phá hoại biết khoá công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán ―khó‖, số phép thử là vô cùng lớn, không khả thi.

- Hệ mã hóa khóa công khai còn tiện lợi hơn Hệ mã hóa khóa đối xứng bởi vì: - Thuật toán đƣợc viết một lần, công khai cho nhiều lần dùng và cho nhiều ngƣời dùng, chỉ cần giữ bí mật khóa riêng.

Hạn chế:

- Mã hóa khóa công khai mã hóa và giải mã chậm hơn mã hóa khóa đối xứng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Hệ mã hóa khóa công khai đƣợc sử dụng chủ yếu trên các mạng công khai nhƣ Internet, khi mà việc trao chuyển khoá bí mật tƣơng đối khó khăn. Đặc trƣng nổi bật của hệ mã hoá công khai là cả khoá công khai (public key) và bản mã (ciphertext) đều có thể gửi đi trên một kênh truyền tin không an toàn.

2.4. CHỮ KÝ SỐ 2.4.1. Giới thiệu 2.4.1. Giới thiệu

Kỹ thuật chữ ký số hay chữ ký điện tử là kỹ thuật sử dụng kỹ thuật số để mô phỏng chữ ký bằng tay. Kỹ thuật số đƣợc dùng để xác định ngƣời đã tạo ra và chịu trách nhiệm với thông tin mà ngƣời đó ký vào. Kỹ thuật chữ ký số gồm 2 phần : thuật toán ký tên và thuật toán xác nhận và kiểm tra chữ ký. Theo kỹ thuật này thì chỉ có ngƣời tạo ra thông điệp mới có thể ký tên và tất cả mọi ngƣời đều có thể kiểm chứng chữ ký. Mô hình chữ ký số cũng giống nhƣ mô hình mã hóa công khai. Do vậy, thuật toán RSA có thể đƣợc áp dụng để xây dựng chữ ký số. Hiện nay, có 3 thuật toán chữ ký số thông dụng là chữ ký RSA, chữ ký Elgamal và chữ ký DSS (Digital Signature Standard).

2.4.2. Yêu cầu chữ ký số

Các yêu cầu chữ ký số (chữ ký điện tử) cần : - Chữ ký phải dựa vào thông điệp ký.

- Chữ ký phải chứa vài thông tin quan trọng duy nhất đối với ngƣời gởi để ngăn chặn sự giả mạo.

- Dễ dàng tạo ra chữ ký điện tử.

- Dễ dàng nhận diện và xác nhận chữ ký điện tử. - Không dễ dàng giả mạo một chữ ký điện tử.

Để có thể tạo ra và sử dụng chữ ký số ta cần phải sử dụng một hàm băm để rút gọn một thông điệp có chiều dài bất kỳ thành một giá trị. Gía trị này có thể đƣợc sử dụng để kiểm tra sự toàn vẹn của thông tin.

2.4.3. Đặc điểm của chữ ký số

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Tính an toàn: không thể làm giả chứ ký nếu nhƣ không biết thông tin bí mật để tạo chữ ký.

- Không thể dùng lại: một chữ ký điện tử không thể dùng cho một tài liệu khác - Không thể phủ nhận: một khi ngƣời ký không thể phủ nhận chữ ký đó.

- Tính hiệu quả: ký và xác nhận nhanh chóng dễ dàng.

2.4.4. Tồn tại của chữ ký số

Khi công nhận một chữ ký số, một lời khuyên cho bạn với với sự tồn tại của publickey. Nhƣng bạn sẻ hiểu nhƣ thế nào nếu publickey là không đúng? Nếu bạn không cho lập tức một publickey vào trong bảo mật thì bạn không chắc chắn puplickey là đúng. Chứng thực số sẽ cố gắng(Digital certificates) giải quyết những vấn đề này, việc đồng nhất một publickey vào trong là cách không thể giải đƣợc, chúng ta sẽ sử dụng certificates vào đồng nhất biến.

2.4.5. Phân loại chữ ký theo mức an toàn

Chữ ký “không thể phủ nhận”

Nhằm tránh việc nhân bản chữ ký để sử dụng nhiều lần, tốt nhất là ngƣời gửi tham gia trực tiếp vào việc kiểm thử chữ ký. Điều đó đƣợc thực hiện bằng một giao thức kiểm thử, dƣới dạng một giao thức mời hỏi và trả lời.

Ví dụ: Chữ ký không thể phủ định Chaum - van Antwerpen.

Chữ ký “một lần”

Để bảo đảm an toàn, ―Khóa ký‖ chỉ dùng 1 lần (one- time) trên 1 tài liệu. Ví dụ: Chữ ký Lamport, chữ ký Fail - Stop (Van Heyst & Pedersen) [6].

2.4.6. So sánh chữ ký thông thƣờng và chữ ký số

Chữ ký thông thƣờng (tức chữ ký viết tay) đƣợc dùng rất phổ biến trong các công việc hàng ngày, nhƣ viết thƣ, rút tiền từ ngân hàng, ký hợp đồng,... Chữ ký đƣợc sử dụng nhƣ là bằng chứng để xác định ngƣời ký tài liệu là ai và khẳng định ngƣời ký đã chấp nhận hay chịu trách nhiệm về nội dung đƣợc đề cập trong tài liệu. Vì vậy, một chữ ký phải có các thuộc tính sau:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Chữ ký không thể giả mạo đƣợc: chữ ký chứng minh chỉ có ngƣời ký đã ký tài liệu một cách chủ định mà không có ai khác.

- Chữ ký không thể đƣợc dùng lại: chữ ký phải là một phần của tài liệu và không thể chuyển chữ ký sang tài liệu khác.

- Tài liệu đã ký không thể thay đổi đƣợc, tức là không thể sửa đổi tài liệu sau khi ký. - Chữ ký không thể chối bỏ: sau khi ký, ngƣời ký không thể phủ nhận chữ ký mà anh ta đã ký.

Trong thời đại bùng nổ công nghệ thông tin ngày nay, hầu nhƣ các hoạt động, giao dịch đều đƣợc thực hiện qua mạng máy tính. Vì vậy, thay vì sử dụng tài liệu giấy với chữ ký viết tay ngƣời ta sử dụng tài liệu điện tử với chữ ký số. Về hình thức, chữ ký số hoàn toàn khác với chữ ký thông thƣờng nhƣng vẫn đảm bảo các thuộc tính của chữ ký nhƣ: tính tin cậy (xác thực), tính không thể giả mạo, tính không thể dùng lại, tính không thể thay đổi, tính không thể chối bỏ. Về mặt thuộc tính chữ ký số và chữ ký thông thƣờng đều có những thuộc tính giống nhau nhƣng về mặt vật lý và cấu trúc có những khác biệt rõ rệt.

- Thứ nhất, chữ ký thông thƣờng là một phần vật lý của tài liệu đƣợc ký. Tuy nhiên, chữ ký số không gắn vào thông điệp đƣợc ký nhƣ chữ ký thông thƣờng, vì thế thuật toán ký phải liên kết giữa chữ ký và thông điệp đƣợc ký.

- Thứ hai, thẩm định chữ ký thông thƣờng thực hiện bằng cách so sánh nó với chữ ký khác (chữ ký tin cậy). Trái lại, thẩm định chữ ký số dùng thuật toán kiểm tra công khai. Do đó, bất kỳ ai cũng có thể thẩm định. Sử dụng sơ đồ chữ ký an toàn sẽ ngăn chặn đƣợc khả năng giả mạo.

Một sự khác biệt nữa giữa chữ ký số và chữ ký thông thƣờng, bản sao của thông điệp số đã ký hoàn toàn giống với bản gốc. Ngƣợc lại, vẫn có thể phân biệt đƣợc bản sao của tài liệu giấy đã ký và bản gốc. Vì thế, phải ngăn chặn việc sử dụng lại thông điệp số đã ký khi quá hạn sử dụng bằng cách thêm thông tin thời gian khi thông điệp đƣợc ký.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

2.5.1. Một số vấn đề với chữ ký số Vấn đề 1 Vấn đề 1

Ký số thực hiện trên từng bit tài liệu, nên độ dài của chữ ký số ít nhất cũng bằng độ dài của tài liệu. Một số chữ ký trên bản tin có kích thƣớc gấp đôi bản tin gốc. Ví dụ khi dùng sơ đồ chữ ký số DSS để ký vào bản tin có kích thƣớc 160 bit, thì chữ ký số này sẽ có kích thƣớc 320 bit.Trong khi đó trên thực tế, ta cần phải ký vào các bản tin có kích thƣớc rất lớn, ví dụ vài chục MegaByte ( tƣơng ứng hàng ngàn trang tin trên giấy ). Nhƣ vậy phải tốn nhiều bộ nhớ để lƣu trữ ―chữ ký‖, mặt khác tốn nhiều thời gian để truyền ―chữ ký‖ trên mạng.

Vấn đề 2

Với một số sơ đồ chữ ký ―an toàn‖ thì tốc độ ký lại chậm vì chúng dùng nhiều phép tính số học phức tạp nhƣ số mũ modulo.

Vấn đề 3

Thực tế có thể xảy ra trƣờng hợp: với nhiều bản tin đầu vào khác nhau, sử dụng hệ mã hóa hay sơ đồ ký giống nhau (có thể khác nhau) nhƣng lại cho ra bản mã hay chữ ký giống nhau ( ánh xạ nhiều – một ). Điều này sẽ dẫn đến phức tạp cho việc xác thực thông tin.

Một phần của tài liệu nghiên cứu các lược đồ chữ ký số dựa trên hệ mật rsa, ứng dụng trong hệ thống tiền điện tử (Trang 30 - 70)

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

(70 trang)