Tin tức
Cơ sở hạ tầng khóa công khai và chứng chỉ điện tử.
16/07/2007

4.4. CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI VÀ CHỨNG CHỈ ĐIỆN TỬ

4.4.1. Mật mã đối xứng

Quá trình mã hoá gồm một thuật toán và một khoá. Khoá là một giá trị không phụ thuộc vào bản rõ. Đầu ra của thuật toán phụ thuộc vào khoá xác định (đây chính là khoá đang được sử dụng tại thời điểm này). Nếu chúng ta thay đổi khoá thì đầu ra của thuật toán cũng thay đổi theo.

Một khi bản mã được tạo ra, nó có thể được truyền đi. Tại nơi nhận, bản mã có thể được biến đổi trở lại dạng bản rõ ban đầu, nhờ một thuật toán giải mã và thuật toán này sử dụng cùng một khoá như đã được sử dụng trong khi mã hoá.

 Độ an toàn của hệ mã này phụ thuộc vào một số yếu tố. Trước hết, thuật toán mã hoá phải đủ mạnh, sao cho việc giải mã một thông báo mà chỉ dựa vào bản mã là không khả thi. Tiếp theo, độ an toàn của mã hoá đối xứng phụ thuộc vào sự bí mật của khoá, chứ không phải là sự bí mật của thuật toán. Có nghĩa là, việc giải mã một thông báo dựa vào bản mã và các thông tin về thuật toán mã hoá/giải mã là không khả thi. Nói cách khác, người ta không cần giữ bí mật thuật toán mà giữ bí mật khoá.

 Chính đặc tính này đã làm cho mã hoá đối xứng được sử dụng rộng rãi. Đó là vì các thuật toán không cần phải giữ bí mật, có nghĩa là các nhà sản xuất có thể sản xuất các chíp thuật toán mã hóa giá thành thấp. Các chíp này có sẵn và dễ dàng ghép với một số sản phẩm khác. Khi sử dụng mã hoá đối xứng, vấn đề an toàn cần được quan tâm hàng đầu chính là sự bí mật của khoá.

 Hình 2: Mô hình mã hóa đối xứng 

 4.4.2. Mật mã khoá công khai

4.4.2.1. Các nguyên lý của các hệ thống mật mã khoá công khai

Khái niệm mật mã khoá công khai nảy sinh khi giải quyết hai vấn đề khó khăn trong mã đối xứng: phân phối khoá và chữ ký số. Như chúng ta đã biết, việc phân phối khoá trong mã hoá đối xứng yêu cầu hai bên liên lạc:

  • Dùng chung một khoá được phân phối theo cách nào đó hoặc:
  • Sử dụng một trung tâm phân phối khoá.

Whitfield Diffie đã suy luận và cho rằng, yêu cầu thứ hai phủ nhận bản chất của mật mã. Bản chất đó là đảm bảo tính bí mật trong liên lạc. Khó có thể tồn tại các hệ thống mật mã không thể phá được, nếu người sử dụng của các hệ thống này bắt buộc phải dùng chung các khoá của một trung tâm phân phối khoá (KDC), lý do là trung tâm này có thể để lộ khoá.

Vấn đề thứ hai mà Diffie đặt ra là "chữ ký số". Nếu việc sử dụng mật mã trở nên phổ biến, không chỉ trong lĩnh vực quân sự mà còn được sử dụng cho các mục đích thương mại và cá nhân, thì các thông báo và tài liệu điện tử cần có các chữ ký và chúng có hiệu lực tương tự như các chữ ký trên giấy tờ.

4.4.2.2. Các hệ thống mật mã khoá công khai

Quá trình mã hóa công khai gồm các bước cơ bản sau:

  • Mỗi hệ thống cuối trên một mạng sinh ra một cặp khóa, cặp khoá này được sử dụng để mã hoá và giải mã các thông báo mà nó nhận được.
  • Mỗi hệ thống công bố khóa mã hoá của mình bằng cách đặt khoá này vào trong một thanh ghi công khai hoặc một file. Đây chính là khoá công khai. Khoá cùng cặp được giữ bí mật.
  • Nếu A muốn gửi cho B một thông báo, nó mã hoá thông báo bằng khoá công khai của B.
  • Khi B nhận được thông báo, B giải mã thông báo bằng khoá riêng của B. Không một người nhận nào khác có thể giải mã thông báo, bởi vì chỉ có B mới biết khoá riêng của mình.

Biểu 5. Bảng so sánh tính chất của hai công nghệ mã hoá

Loại mã

Mã đối xứng

Mã khoá công khai

Các yêu cầu khi sử dụng

Quá trình mã hoá và giải mã sử dụng cùng một thuật toán với cùng một khoá.

 

Người gửi và người nhận phải sử dụng chung thuật toán và khoá.

Một thuật toán sử dụng một cặp khoá khi mã hoá và giải mã, một khoá được sử dụng khi mã hóa, khoá còn lại được sử dụng khi giải mã.

Người gửi và người nhận, mỗi người có một khoá trong cặp khoá.

Các yêu cầu an toàn

 Khóa phải được giữ bí mật

 Không thể giải mã được thông báo nếu không có các thông tin có giá trị khác.

Các thông tin về thuật toán, các mẫu bản mã không đủ để xác định khoá.

Một trong hai khóa phải được giữ bí mật.
Không thể giải mã được thông báo    nếu không có các thông tin có giá trị khác.

Các thông tin về thuật toán, một trong các khoá và các mẫu bản mã không đủ để xác định khoá còn lại.

 Với cách giải quyết này, tất cả các thành viên tham gia truyền thông có thể truy nhập vào các khoá công khai. Khoá riêng do mỗi thành viên sinh ra không bao giờ được phân phối. Quá trình liên lạc chỉ an toàn chừng nào hệ thống còn kiểm soát được khoá riêng của mình. Một hệ thống có thể thay đổi các khoá riêng của nó bất cứ lúc nào, đồng thời công bố các khoá công khai cùng cặp để thay thế khoá công khai cũ.

Chúng ta đã biết, một trong hai khoá trong cặp khoá có thể được sử dụng để mã hoá, khoá còn lại được sử dụng để giải mã. Điều này cho phép thực hiện một lược đồ mật mã hơi khác một chút.

4.4.2.3. Các ứng dụng hệ thống khoá công khai :

Tuỳ thuộc vào ứng dụng, người gửi sử dụng khoá riêng của người gửi hoặc khoá công khai của người nhận, hoặc cả hai. Nói cách khác, chúng ta có thể sử dụng các hệ thống mật mã khoá công khai thành 3 loại:

  • Mã hoá/ giải mã: Người gửi mã hoá một thông báo bằng khoá công khai của người nhận.
  • Chữ ký số: Người gửi "ký" thông báo bằng khoá riêng của mình. Quá trình ký được thực hiện nhờ dùng một thuật toán mật mã đối với thông báo hoặc một khối dữ liệu nhỏ.
  • Trao đổi khoá: Hai thành viên trao đổi một khoá phiên. Có một vài hướng giải quyết khác nhau, cần đến một (hoặc nhiều) khoá riêng của một hoặc hai thành viên.

4.4.2.4. Các vấn đề về quản lý khoá

Một trong các vai trò chính của mã hoá khoá công khai là giải quyết vấn đề phân phối khoá. Khi sử dụng mã hoá khoá công khai, chúng ta cần phân biệt hai khái niệm sau:

  • Phân phối các khoá công khai.
  • Sử dụng mã hoá khoá công khai để phân phối các khoá bí mật.

Chúng ta sẽ xem xét từng khái niệm sau đây.

a- Phân phối các khoá công khai

Người ta đã đề xuất một số kỹ thuật phân phối khoá công khai. Các đề xuất này có thể được nhóm lại như sau:

  • Khai báo công khai
  • Thư mục công khai
  • Cơ quan quản lý khoá công khai
  • Các chứng chỉ khoá công khai

Khai báo công khai các khoá công khai

Xuất phát điểm của mật mã khoá công khai là khoá công khai được công bố công khai. Do vậy, nếu có một thuật toán được chấp nhận rộng rãi, chẳng hạn như RSA, bất kỳ thành viên nào cũng có thể gửi khoá công khai của mình cho thành viên khác hoặc quảng bá cho cộng đồng lớn.

Mặc dù giải pháp này khá thích hợp, nhưng nó có nhược điểm là bất kỳ ai cũng có thể giả mạo một khoá công khai. Có nghĩa là, một người sử dụng nào đó có thể giả danh là người sử dụng A và gửi một khoá công khai cho thành viên khác. Khoảng thời gian cho đến khi người sử dụng A phát hiện ra sự gian lận và thông báo cho các thành viên khác, đối tượng giả mạo có thể đã đọc toàn bộ các thông báo mã hoá gửi cho A và có thể sử dụng các khoá giả cho xác thực.

Thư mục công khai

Chúng ta có thể có được độ an toàn cao, bằng cách duy trì một thư mục công khai. Việc duy trì và phân phối thư mục công khai thuộc trách nhiệm của một tổ chức tin cậy nào đó.

Một lược đồ như vậy gồm các yếu tố sau :

  • Cơ quan quản lý duy trì một thư mục, mỗi thành viên có một đầu vào (entry) {tên, khoá công khai}.
  • Mỗi thành viên đăng ký một khoá công khai với cơ quan quản lý thư mục. Việc đăng ký này có thể được thực hiện bởi một cá nhân hoặc qua hình thức liên lạc có xác thực an toàn nào đó.
  • Một thành viên có thể thay thế một khoá mới bất kỳ lúc nào, chẳng hạn khi họ muốn thay thế một khoá công khai đã được sử dụng nhiều, hoặc khi khoá riêng cùng cặp bị lộ.
  • Cơ quan quản lý công bố toàn bộ thư mục hoặc cập nhật thư mục một cách định kỳ.

Cơ quan quản lý khoá công khai

Việc phân phối khoá công khai được đảm bảo an toàn cao hơn nếu cung cấp các kiểm soát chặt chẽ khi phân phối khoá công khai từ thư mục. Một cơ quan trung tâm duy trì một thư mục khoá công khai động cho tất cả các thành viên. Mỗi thành viên biết một khoá công khai nhưng chỉ có cơ quan này biết khoá riêng cùng cặp.

Các chứng chỉ khoá công khai

Cơ quan quản lý khóa công khai như trên cũng có một số nhược điểm. Cơ quan quản lý khoá công khai gần giống như một cổ chai trong hệ thống. Người sử dụng phải yêu cầu cơ quan quản lý cấp khoá công khai cho người sử dụng khác khi họ muốn liên lạc. Như đã trình bày từ trước, cơ quan quản lý duy trì thư mục (mỗi đầu vào bao gồm tên và khoá công khai) - đây cũng là chính là điểm yếu dễ bị giả mạo.

Một giải pháp lựa chọn là sử dụng chứng chỉ. Các thành viên sử dụng chứng chỉ này để trao đổi khoá mà không cần liên lạc với cơ quan quản lý khoá công khai. Mỗi chứng chỉ chứa một khoá công khai và các thông tin khác. Nó được một cơ quan quản lý chứng chỉ tạo ra và phát hành cho các thành viên. Một thành viên chuyển thông tin khoá của mình cho thành viên khác thông qua các chứng chỉ. Các thành viên khác có thể kiểm tra chứng chỉ do cơ quan quản lý tạo ra.

Chúng ta có thể đưa vào lược đồ này các yêu cầu như sau:

  • Một thành viên có thể đọc chứng chỉ để xác định tên và khoá công khai của người sở hữu chứng chỉ.
  • Mọi thành viên có thể kiểm tra: chứng chỉ có nguồn gốc từ cơ quan quản lý chứng chỉ và nó không bị giả mạo.
  • Chỉ có cơ quan quản lý chứng chỉ mới có thể tạo ra và cập nhật các chứng chỉ.
  • Mọi thành viên có thể kiểm tra sự lưu hành của chứng chỉ.

4.4.3. Chữ ký số

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

Xác thực thông báo sẽ bảo vệ hai thành viên (trao đổi các thông báo qua thành viên thứ ba). Tuy nhiên, hai thành viên không bảo vệ lẫn nhau. Ví dụ, giả thiết John gửi một thông báo đã được xác thực cho Mary. Có thể xảy ra một số dạng tranh chấp giữa hai thành viên như sau:

Mary có thể làm giả một thông báo khác và tuyên bố rằng thông báo này có nguồn gốc từ John. Mary có thể tạo ra một thông báo và gắn mã xác thực một cách đơn giản bằng khoá chung của họ.

John có thể chối bỏ đã gửi thông báo. Vì Mary có thể làm giả thông báo và vì vậy không có cách nào để chứng minh John đã gửi thông báo.

Các tranh chấp xảy ra do giữa người gửi và người nhận không có sự tin cậy tuyệt đối. Giải pháp hiệu quả nhất cho vấn đề này là chữ ký số. Chữ ký số tương tự như chữ ký bằng tay. Nó phải có một số tính chất như sau:

  • Có khả năng xác thực tác giả và thời gian ký.
  • Có khả năng xác thực các nội dung tại thời điểm ký.
  • Các thành viên thứ ba có thể kiểm tra chữ ký để giải quyết các tranh chấp.

Vì vậy, chức năng chữ ký số bao hàm cả chức năng xác thực. Dựa vào các tính chất cơ bản này, chúng ta có thể đưa ra các yêu cầu sau đây đối với một chữ ký số:

  • Chữ ký phải là một mẫu bit phụ thuộc vào thông báo được ký.
  • Chữ ký phải sử dụng một thông tin duy nhất nào đó từ người gửi, nhằm ngăn chặn tình trạng làm giả và chối bỏ.
  • Tạo ra chữ ký số dễ dàng. 
  • Dễ dàng nhận ra và kiểm tra chữ ký số.
  • Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho một chữ ký số hiện có, hoặc tạo ra một chữ ký số giả cho một thông báo cho trước.
  • Trong thực tế, cần phải lưu giữ một bản sao của chữ ký số.

Có rất nhiều hướng tiếp cận được đề xuất cho chữ ký số. Các hướng tiếp cận này chia thành 2 loại: chữ ký số trực tiếp và chữ ký số của thành viên thứ ba.

4.4.3.2. Chữ ký số trực tiếp

Chữ ký số trực tiếp chỉ bao gồm các thành viên tham gia truyền thông (nguồn và đích). Giả thiết đích biết khoá công khai của nguồn. Một chữ ký số được tạo ra bằng cách mã hoá toàn bộ thông báo bằng khoá riêng của người gửi, hoặc mã hoá mã băm của thông báo bằng khoá riêng của người gửi.

Có thể đảm bảo tính bí mật bằng cách mã hoá toàn bộ thông báo và chữ ký hoặc bằng khoá công khai của người nhận (nếu dùng mã khoá công khai), hoặc khoá bí mật chung (nếu dùng mã đối xứng); Trong trường hợpxảy ra tranh chấp, thành viên thứ ba phải xem xét thông báo và chữ ký của nó. Nếu ký sau - mã hoá trước, thành viên thứ ba cần phải có khoá giải mã để đọc thông báo gốc. Tuy nhiên, nếu ký trước - mã hoá sau, thì người nhận có thể lưu giữ thông báo ở dạng rõ và chữ ký của nó, phòng trường hợp xảy ra tranh chấp.

Tất cả các lược đồ trực tiếp đều có chung một điểm yếu là tính hợp lệ của lược đồ phụ thuộc vào sự an toàn của khoá riêng của người gửi. Sau đó, nếu người gửi muốn chối bỏ việc anh ta đã gửi một thông báo, anh ta có thể tuyên bố: khoá riêng bị mất hoặc bị đánh cắp, một người nào đó đã làm giả chữ ký của anh ta. Để ngăn chặn tình trạng này, cần phải thực hiện các biện pháp kiểm soát quản lý (liên quan đến sự an toàn của các khoá riêng), nhưng hiểm hoạ vẫn còn tồn tại. Ví dụ, yêu cầu tất cả các thông báo được ký phải có nhãn thời gian (ngày và giờ), yêu cầu báo cáo cho cơ quan trung tâm về tình trạng các khoá bị lộ.

Một đe doạ khác là khoá riêng nào đó có thể bị X đánh cắp tại thời điểm T. Sau đó, đối phương có thể gửi thông báo đã được ký với chữ ký của X và gán một nhãn thời gian trước hoặc đúng thời điểm T.

4.4.3.3. Chữ ký số của thành viên thứ ba - thành viên trọng tài

Có thể giải quyết các vấn đề liên quan đến chữ ký số trực tiếp nhờ một thành viên thứ ba. Có một số lược đồ chữ ký của thành viên thứ ba như sau:

Khi X muốn gửi các thông báo cho Y, X ký tất cả các thông báo, sau đó chuyển chúng cho thành viên thứ ba A trước khi gửi cho Y. A kiểm tra nguồn gốc, nội dung của thông báo và chữ ký của nó. Sau đó, thông báo được gán nhãn thời gian và gửi cho Y với chỉ báo là thông báo đã được thành viên thứ ba kiểm tra. Sự xuất hiện của A có thể giải quyết vấn đề (X chối bỏ thông báo) trong các lược đồ chữ ký số trực tiếp. Thành viên thứ ba đóng một vai trò nhạy cảm và quyết định trong kiểu lược đồ này.

4.4.4. Chứng chỉ điện tử

Chứng chỉ là một “tài liệu có chứa một tuyên bố được chứng thực, như là sự đúng đắn của một điều gì đó”. Trong lĩnh vực điện tử, một chứng chỉ là một tài liệu chứa một tập hợp thông tin có chữ ký số của một người có thẩm quyền và người này được cộng đồng những người sử dụng chứng chỉ chấp nhận và tin cậy.

Trong thương mại điện tử, nhiều kiểu chứng chỉ được sử dụng cho các mục đích khác nhau. Một trong các kiểu chứng chỉ quan trọng là chứng chỉ khoá công khai. Trong đó, một khoá công khai được gắn kết chặt chẽ với một cá nhân, một thiết bị, hoặc một thực thể riêng biệt khác. Chứng chỉ khoá công khai được cơ quan chứng thực, CA (người hay thực thể) ký. CA chứng thực nhận dạng hoặc các thuộc tính khác của đối tượng (con người, thiết bị, hoặc thực thể nào đó) nắm giữ khoá riêng tương ứng. Các kỹ thuật mã hoá khoá công khai và chữ ký số là các yếu tố thiết yếu để đảm bảo an toàn thương mại điện tử; các chứng chỉ khoá công khai là yếu tố cần thiết để áp dụng các kỹ thuật này trên một phạm vi đủ rộng.

 

 

Ý kiến bạn đọc