4 QUÁ TRÌNH XÂY DỰNG HỆ THỐNG
4.2.7.1. Khởi tạo CA
Giới thiệu về hoạt động khởi tạo
Việc khởi tạo CA trong hệ thống được hiểu là tiến hành các thủ tục cần thiết khi PKI gia nhập hệ thống. Nếu hình dung trong một phạm vi hẹp thì ta có một tính huống như sau: Hiện đang có một nhóm các đối tượng sử dụng của hệ thống PKI và ta cần bổ sung một CA để quản lý thông tin thẻ xác nhận cho nhóm này. Khi đó, CA phải thực hiện các thủ
tục để làm cho các EE nhận biết được sự tồn tại của mình trong hệ thống. Đồng thời, CA cũng phải chứng minh cho các EE biết mình là một CA thực sự chứ không phải một đối tượng giả danh nào đó.
Bắt đầu
Đóng gói thông điệp dữ liệu và khoá phiên Mã hoá khoá phiên với
khoá trao đổi khoá Tạo khoá phiên Mã hoá dữ liệu với khoá phiên tạo được Dữ liệu chưa mã Dữ liệu đã mã hoá Khoá phiên đã mã hoá Thông điệp sẽ truyền đi
Nếu xét đầy đủ hơn, CA còn phải thực hiện khởi tạo thông tin về các chính sách, về các thẻ xác nhận, về danh sách thẻ bị huỷ bỏ (CRL) và danh sách các CA tin cậy. Tuy nhiên, hoạt động cơ bản nhất của CA vẫn là khởi tạo các thông tin liên quan đến các dịch vụ mã hoá bảo mật mà hệ thống cần quản lý. Đểđơn giản cho việc lập trình thực thi, trong chức năng khởi tạo hệ thống, ta chỉ thực hiện thủ tục cơ bản này cùng với việc khởi tạo các tuyến truyền thông để chờ các kết nối từ EE. Các thông tin để kết nối đến CA được coi là biết trước và được định nghĩa như một chuẩn. Trong đó, quan trọng nhất là địa chỉ IP và cổng chờ của CA.
Thông thường, các thủ tục trong chức năng này được thực hiện thông qua các kênh truyền thông riêng để tránh những hình thức tấn công theo kiểu giả danh. Ở giai đoạn này, hệ thống PKI rất dễ bị tấn công vì chưa có nhiều hình thức bảo vệ cho các thông
điệp được gửi đi. Việc xác thực thông tin và đối tượng truyền thông cũng rất khó khăn vì các đối tượng chưa hề biết thông tin về khoá công khai của nhau. Thông thường, trong giai đoạn này, người quản trị CA sẽđảm nhận việc phân phát các thông tin ban đầu cần thiết (khoá công khai của CA) cho các đối tượng sử dụng.
Những giải pháp cho quá trình khởi tạo CA
Quá trình khởi tạo được thực hiện trên cơ sở những thông tin cơ bản nhất của hệ thống. Nhưđã trình bày trong phần tước đây, bất ký đối tượng nào muốn tham gia vào hệ thống PKI đều phải có một cặp khoá công khai và khoá riêng. Với CA cũng vậy, khi khởi tạo cho CA, ta cũng cần có được thông tin về cặp khoá của đối tượng này. Theo các chức năng của CSP, mỗi cặp khóa sẽ thuộc về một đối tượng lưu trữ khoá (Key Container - KC) nào
đó. Đối tượng này thường được tổ chức để lưu các cặp khoá của một đối tượng sử dụng nào đó trên một máy tính cụ thể.
Giải pháp cho quá trình này như sau: Khi một người quản trị CA muốn sử dụng hệ thống, ta sẽ yêu cầu người sử dụng đó nhập một cặp tên và mật khẩu của đối tượng sử dụng
được cho phép. Việc quản trị danh sách những người có quyền sử dụng hệ thống sẽ do người quản trị CA có quyền cao nhất đảm nhận. Nguyên tắc lưu trữ khoá của hệ thống là lấy tên người sử dụng để đặt cho KC đối tượng ấy. Do vậy, khi tên sử dụng đã được cung cấp, hệ thống sẽ kiểm tra xem đã có một KC nào ứng với tên đó chưa. Nếu chưa có thì nó sẽ tạo một KC mới ứng với tên vừa nhập vào. Nếu KC với tên tương ứng đã tồn tại thì nó sẽ kiểm tra xem đã có cặp khoá nào được lưu trong đó chưa. Trường hợp chưa có cặp khoá nào cũng giống với trường hợp tạo mới một KC, khi đó, hệ thống sẽ hỏi người sử dụng xem có muốn tạo ngay một cặp khoá hay không. Nếu có thì hệ thống sẽ tạo cho
đối tượng sử dụng một cặp khoá và lưu vào KC này. Có trường hợp, người sử dụng đã có một cặp khoá những đã được tạo ở một nơi khác. Nêu người sử dụng chỉ muốn lưu lại cặp khoá này vào KC trên máy hiện tại, hệ thống sẽ có một công cụđể thu thập thông tin về khoá của đối tượng sử dụng thông qua các dữ liệu đã được xuất ra các phương tiện lưu trữ.
Việc khởi tạo các dịch vụ truyền thông cũng cần được thực hiện trong giai đoạn này. Hệ
thống sẽ phải tạo một socket để lắng nghe các yêu cầu kết nối đến từ các đối tượng khác. Đồng thời, nó sẽ phải tạo ra một danh sách để lưu các socket cho từng phiên làm việc với các đối tượng khác nhau. Sau này, khi socket nghe chấp nhận một yêu cầu kết nối nào đó, nó sẽ tạo một socket phiên và đưa socket đó vào danh sách này.
Quá trình xây dựng hệ thống HẠ TẦNG KHOÁ CÔNG KHAI
56
Người sử dụng cũng có thể không cần lưu ngay bất kỳ cặp khoá nào vào KC lúc đăng nhập nhưng trong hầu hết các chức năng sau này của hệ thống, cặp khoá của người sử
dụng CA là rất quan trọng. Có thể, các cặp khoá sẽ bắt buộc phải được tạo ra sau đó.
Lưu đồ thuật toán thực hiện chức năng
Để có được một hình dung trực quan hơn về quá trình thực hiện các thủ tục của chức năng này, ta hãy xét lưu đồ thuật toán trong hình dưới đây:
Hình 4-3: Lưu đồ thuật toán khởi tạo CA