chương 1 Trong chương này luận văn đã trình bày tổng quan về cơ sở lý thuyết mật mã và một số thuật toán mã hóa công khai như: thuật toán RSA, hệ mật Elgamal trên đường cong Elliptic, thuật toán chữ ký số Elliptic (ECDSA). Trên cơ sở các thuật toán, tác giả cũng đã phân tích rõ sự so sánh giữa các thuật toán đã nêu, làm cơ sở hướng nghiên cứu chương tiếp theo trong luận văn này. 15 CHƯƠNG 2 CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI Nội dung của chương luận văn này sẽ tập trung trình bày về tổng quan cơ sở hạ tầng khóa công khai như: nêu được các khái niệm về khóa công khai PKI, các thành phần dịch vụ của PKI, cũng như các ứng dụng của khóa công khai trong bảo mật dữ liệu thực tế hiện nay. Khái niệm về PKI và các khái niệm cơ bản trong PKI 2.
Khái niệm PKI PKI là cơ sở của một hạ tầng an toàn rộng khắp, các dịch vụ của nó được cài đặt và thực hiện bằng cách sử dụng các khái niệm và kỹ thuật của khoá công khai [14]. Các khái niệm cơ bản trong PKI 2. Chứng thư số Chứng thư số là một tài liệu sử dụng chữ ký số kết hợp với khóa công khai với một định danh thực thể (cá nhân, tổ chức, máy chủ, dịch vụ, … ) Chứng thư số không chứa bất kỳ một thông tin bí mật nào. Về cơ bản, chứng thư số chứa những thông tin cần thiết như khóa công khai, chủ thể (người sở hữu), bên cấp chứng thư số và một số thông tin khác.
Tính hợp lệ của các thông tin được đảm bảo bằng chữ ký số của bên Hình 2. Chứng thư số cấp chứng thư số. Người dùng muốn sử dụng chứng thư số trước hết sẽ kiểm tra chữ ký số trong chứng thư số. Nếu chữ ký đó hợp lệ thì có thể sử dụng chứng thư số đó.Có nhiều loại chứng thư số, một trong số đó là: 16 Chứng thư số khóa công khai X.509 Chứng thư số khóa công khai đơn giản (Simple Public Key Certificate - SPKC) Chứng thư số PGP Chứng thư số thuộc tính (Attribute Certificate – AC) Tất cả các loại chứng thư số này đều có cấu trúc dạng riêng biệt.
Hiện nay chứng thư số khóa công khai X.509 được sử dụng phổ biến trong hầu hết các hệ thống PKI. Chứng thư số X.509 được Hiệp hội viễn thông quốc tế (ITU) đưa ra lần đầu tiên năm 1998. Chứng thư số này gồm 2 phần: phần đầu là những trường cơ bản cần thiết phải có trong chứng thư số, phần thứ hai là phần chứa một số các trường phụ, hay còn gọi là trường mở rộng. Các trường mở rộng thường được dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống.
Cấu trúc chứng thư số X.509 [4, 14]: Version : phiên bản của chứng thư số. Serial Number: số serial của chứng thư số, là định danh duy nhất của chứng thư số, có giá trị nguyên. Certificate-Signature--Algorithm: thuật toán CA sử dụng để ký chứng thư số. Issuer: Tên chủ thể phát hành chứng thư số.
Validity: Thời hạn của chứng thư số. Subject: Tên chủ thể của chứng thư số. Subject Public Key Info ◦ Subject Public Key Algorithm: Thuật toán sinh khóa công khai. ◦ Subject's Public Key: Khóa công khai.
Extensions: Phần mở rộng. Kho chứng thư số Chứng thư số được cấp bởi CA kết hợp với khóa công khai với nhận dạng của thực thể B. Tuy nhiên nếu thực thể A không có khả năng xác định vị trí chứng thư số này một cách dễ dàng thì anh ta cũng không có hiệu quả gì hơn so với việc chứng thư số này chưa được tạo ra. 17 Do đó, phải có một kho chứng thư số trực tuyến (online repositories), quy mô lớn và mềm dẻo và phải được đặt ở vị trí mà A có thể xác định vị trí chứng thư số mà anh ta cần để truyền thông an toàn.
Thu hồi chứng thư số Trong một số trường hợp như khóa bị xâm hại, hoặc người sở hữu chứng thư số thay đổi vị trí, cơ quan … thì chứng thư số đã được cấp không có hiệu lực. Do đó, cần phải có một cơ chế cho phép người sử dụng chứng thư số kiểm tra được trạng thái thu hồi chứng thư số. Chứng thư số X.509 cho phép kiểm tra chứng thư số trong các trường hợp sau [14]: Chứng thư số không bị thu hồi. Chứng thư số đã bị CA cấp thu hồi.
Chứng thư số do một tổ chức có thẩm quyền mà CA ủy thác có trách nhiệm thu hồi chứng thư số. Công bố và gửi thông báo thu hồi chứng thư số Danh sách huỷ bỏ chứng thực điện tử bao gồm các chứng thực đã hết hạn hoặc đã bị thu hồi. Tất cả các xác thực đều có thời hạn. Đây là một quy định mang tính thiết kế, tuy nhiên trước đây, rất khó thực hiện quy định này bởi việc gia hạn chứng thực thường phải được thông báo tới tất cả người dùng sử dụng chứng thực đó.
Tính năng này bảo đảm rằng các chứng thực hết hạn sẽ được gia hạn tự động khi đến thời hạn. Với một số lý do nhất định cần thiết phải huỷ bỏ chứng thực chứ không chỉ đơn thuần là làm cho nó hết hạn. Công việc này có thể được thực hiện thông qua cơ chế danh sách huỷ bỏ chứng thực tự động. Các chủ thể có thẩm quyền cấp phép chứng thực (CA) thông thường sẽ làm công việc gửi các danh sách này tới người dùng, tuy nhiên họ cũng có thể uỷ nhiệm cho một bộ phận khác.Thông thường chứng thư số sẽ hợp lệ trong khoảng thời gian có hiệu lực.
Nhưng trong một số trường hợp chứng thư số lại không hợp lệ trước thời gian hết hạn, ví dụ như: Khóa riêng của chủ thể bị xâm phạm. Thông tin chứa trong chứng thư số bị thay đổi. Khóa riêng của CA cấp chứng thư số bị xâm phạm. 18 Trong những trường hợp này cần có một cơ chế để thông báo đến những người sử dụng khác.
Một trong những phương pháp để thông báo đến người sử dụng về trạng thái của chứng thư số là công bố CRLs(Certificate Revocation Lists) định kỳ hoặc khi cần thiết. Ngoài ra, có một số cách lựa chọn khác để thông báo đến người sử dụng như dùng phương pháp trực tuyến Online Certificate Status Protocol. CRLs (Certificate Revocation Lists) là cấu trúc dữ liệu được ký như chứng thư số người sử dụng. CRLs chứa danh sách các chứng thư số đã bị thu hồi và những thông tin cần thiết khác của người sử dụng.
CRL thường do một CA cấp. Tuy nhiên CRLs cũng có thể được sử dụng để cung cấp thông tin cho nhiều CA nếu nó được định nghĩa như một CRLs gián tiếp. Sao lưu dự phòng Trong bất kỳ một môi trường PKI đang hoạt động, khả năng làm mất hoặc sai các mã khoá riêng của người dùng là rất lớn, do đó cần phải có một cơ chế lưu trữ dự phòng và khôi phục mã khoá. Không có khoá riêng, việc khôi phục tài liệu là không thể được xét trên thực tế.
Nguyên nhân có thể là do [9]: Quên mật khẩu: Khoá bí mật của người dùng vẫn còn về mặt vật lý nhưng không thể truy cập được. Phương tiện bị hỏng hóc: Ví dụ như đĩa cứng bị hỏng hoặc thẻ thông minh bị gãy. Sự thay thế của phương tiện: Hệ điều hành được tải lại (ghi đè lên các giấy tờ uỷ nhiệm cục bộ) hoặc một mô hình máy tính cũ hơn được thay thế bằng một mô hình máy tính mới hơn và các giấy tờ uỷ nhiệm không được chuyển trước khi đĩa cũ bị format. Giải pháp đưa ra là thực hiện việc sao lưu và dự phòng khóa bí mật dùng để mã hóa để tài liệu đã mã hóa có thể được giải mã trong những trường hợp mất khóa.
Việc sao lưu và dự phòng khóa là cần thiết, nó tạo nên một phần mở rộng trong định nghĩa PKI. Lịch sử khóa Trong suốt quá trình sử dụng PKI, một người dùng có thể có nhiều chứng thư số cũ và có ít nhất một chứng thư số hiện tại. Tập hợp các chứng thư số này với các 19 khoá bí mật tương ứng được gọi là lịch sử khoá (key history) hay còn gọi là lịch sử khoá và chứng thư số. Cũng giống như sự cập nhật khoá, quản lý lịch sử khoá phải được thực hiện và duy trì tự động trong PKI.
PKI cần phải nắm giữ được tất cả các khoá trong lịch sử, thực hiện sao lưu và dự phòng tại vị trí thích hợp. Hỗ trợ chống chối bỏ Trong môi trường hoạt động của PKI, mỗi hành động của người dùng luôn gắn với định danh của họ. Nếu một người dùng ký số văn bản của mình, thì có nghĩa người dùng đó khẳng định rằng văn bản đó xuất phát từ phía mình. PKI cần phải đảm bảo rằng người dùng đó không thể chối bỏ trách nhiệm mà mình đã thực hiện.
Cơ chế này được gọi là cơ chế hỗ trợ chống chối bỏ. Để thực hiện được cơ chế hỗ trợ chống chối bỏ, PKI cần phải cung cấp một vài các bằng chứng kỹ thuật được yêu cầu, như là xác thực nguồn gốc dữ liệu và chứng thực thời gian mà dữ liệu được ký. Tem thời gian Một nhân tố quan trọng trong việc hỗ trợ các dịch vụ chống chối bỏ là sử dụng tem thời gian an toàn (secure time stamping) trong PKI. Nghĩa là nguồn thời gian phải được tin cậy và giá trị thời gian phải được truyền đi một cách an toàn.
Do đó cần phải có một nguồn thời gian có thể tin tưởng được cho tất cả người dùng trong PKI. Phần mềm phía client Trong mô hình PKI, các server sẽ thực hiện những nhiệm vụ sau [5]: CA cung cấp các dịch vụ chứng thư số. Kho chứng thư số sẽ lưu giữ các thông tin chứng thư số và hủy bỏ chứng thư số. Máy chủ sao lưu và dự phòng sẽ quản lý lịch sử khóa một cách phù hợp.
Máy chủ tem thời gian sẽ kết hợp các thông tin thời gian có thể tin tưởng được với các tài liệu văn bản. Server không thể thực hiện bất kỳ điều gì cho các máy khách nếu như máy khách không đưa ra các yêu cầu dịch vụ. Do đó nhiệm vụ của máy khách sẽ là: Máy khách đưa ra yêu cầu các dịch vụ chứng thực. 20 Máy khách yêu cầu chứng thư số và xử lý các thông tin hủy bỏ chứng thư số có liên quan.
Máy khách phải biết lịch sử khóa và phải biết khi nào cần yêu cầu cập nhật khóa hoặc hủy bỏ khóa.