Khi một khoá mới đƣợc sinh ra, cần chuẩn bị chuyển giao an toàn:
Chuyển giao khoá riêng cho đối tƣợng nắm giữ cặp khoá của hệ thống. Nếu có yêu cầu sao chép dự phòng, cần chuyển giao khoá riêng cho hệ thống này, và
Chuyển giao khoá công khai cho một hoặc nhiều CA sử dụng trong quá trình tạo chứng chỉ.
Một cặp khoá đƣợc sinh ra ở một trong hai nơi (là hai lựa chọn cơ bản):
Hệ thống lưu giữ cặp khoá (Key-pair holder system): Cặp khoá đƣợc sinh ra trong cùng một hệ thống (trong cùng một thẻ bài phần cứng hoặc môđun phần mềm), sau đó khoá riêng sẽ đƣợc lƣu giữ và sử dụng. Đối với các cặp khoá dùng cho chữ ký số, chúng đƣợc sử dụng để hỗ trợ cho các yêu cầu chống chối bỏ, đây là một bƣớc chuẩn bị quan trọng vì khoá riêng không bao giờ bị tách ra khỏi môi trƣờng tự nhiên của nó trong thời gian tồn tại, điều này tạo ra sự tin cậy, không một
51
thành viên nào khác có thể có đƣợc thông tin về khoá riêng này.
Hệ thống trung tâm (Central system): Cặp khoá đƣợc sinh ra trong một hệ thống trung tâm nào đó, có thể liên kết với một CA và khoá riêng đƣợc chuyển tới hệ thống lƣu giữ cặp khoá (đƣợc trình bày ở trên) một cách an toàn. Hình thức này thuận lợi hơn việc sinh ra cặp khoá trong một hệ thống lƣu giữ trên vì hệ thống trung tâm có thể có các tài nguyên rất lớn và các kiểm soát mạnh hơn, do đó có khả năng sinh ra một cặp khoá chất lƣợng tốt hơn (ít có khả năng phán đoán và tính toán). Nếu khoá riêng của một cặp khoá đƣợc sao lƣu dự phòng hoặc lƣu trữ trong một hệ thống trung tâm thì đây là một bƣớc chuẩn bị thích hợp bởi vì hệ thống tƣơng tự hoặc các hệ thống liên quan chặt chẽ thực hiện các chức năng sinh khoá và sao lƣu dự phòng hoặc lƣu trữ khoá.
Cả hai lựa chọn sinh khoá trên cần đƣợc làm cho phù hợp và cả hai có các thủ tục tạo ra chứng chỉ khác nhau. Trong thực tế, nó không giống với một CA và một thuê bao có thể có các cách tiếp cận khác nhau tới các kiểu cặp khoá khác nhau; ví dụ, sinh một cặp khoá dùng cho chữ ký số trong hệ thống lƣu giữ cặp khoá, sinh ra một cặp khoá dùng cho việc thiết lập khoá mã trong hệ thống trung tâm. Cũng lƣu ý rằng, nó có thể chứng tỏ sự tiện lợi khi kết hợp tất cả các chức năng của CA, ví dụ nhƣ sinh cặp khoá và sao lƣu dự phòng hoặc lƣu trữ cặp khoá trong một phƣơng tiện trung tâm (hoặc một tập hợp các phƣơng tiện liên quan).
Bảo vệ khoá riêng
Lƣu ý rằng, việc sử dụng kỹ thuật và các chứng chỉ khoá công khai phụ thuộc vào khoá riêng mà chỉ những đối tƣợng đƣợc nhận dạng thông qua một chứng chỉ khoá công khai có khả năng sử dụng. Vì vậy, việc bảo vệ khoá riêng không bị truy nhập trái phép là hết sức quan trọng.
Các khoá riêng đƣợc bảo vệ thông qua các giải pháp sau:
(a)Lƣu giữ trong một mô-đun phần cứng thƣờng trú hoặc thẻ bài. Ví dụ nhƣ một thẻ thông minh hoặc thẻ PCMCIA.
52
hoặc một thiết bị lƣu giữ dữ liệu thông thƣờng.
Trong trƣờng hợp khác, cần tránh truy nhập vào khoá thông qua một hoặc nhiều kỹ thuật xác thực cá nhân. Nói chung, việc xác thực cá nhân cần có mật khẩu hoặc PIN (Số hiệu nhận dạng cá nhân). Còn có các giải pháp xác thực cá nhân khác nhƣ sở hữu một thẻ bài vật lý hoặc kiểm tra sinh trắc học, đặc biệt các giải pháp này đƣợc sử dụng kết hợp với giải pháp (a).
Nói chung, giải pháp (a) có thể cho an toàn cao hơn giải pháp (b) nhƣng chi phí lại quá cao. Giải pháp (b) đôi khi đƣợc sử dụng để bảo vệ một hoặc nhiều khoá riêng và/hoặc thông tin nhạy cảm trong cơ sở dữ liệu.
Cập nhật cặp khoá
Để đảm bảo an toàn tốt, việc cập nhật các cặp khoá công khai và khoá riêng sẽ đƣợc thực hiện một cách thƣờng xuyên và định kỳ, đáp ứng các điều kiện đặc biệt, ví dụ khi nghi ngờ khoá riêng bị lộ. Khi một cặp khoá mới đƣợc sinh ra, cần phải tạo ra một chứng chỉ mới cho khoá công khai này. Tuỳ thuộc vào các điều kiện đặc biệt xung quanh việc cập nhật khoá, ngƣời ta có thể thu hồi chứng chỉ trƣớc đó. Thời gian tồn tại của cặp khoá và một chứng chỉ đƣợc thảo luận chi tiết sau.
Các yêu cầu quản lý đối với các kiểu cặp khoá khác nhau:
Một ngƣời sử dụng sẽ thƣờng xuyên có nhiều hơn một cặp khoá và do đó có nhiều hơn một chứng chỉ. Trong tƣơng lai sẽ có nhiều khoá và nhiều chứng chỉ đƣợc sử dụng thông qua các ứng dụng, mọi ngƣời có thể cần đến chúng ngoài thẻ tín dụng. Ngoài các lý do trên, ngƣời sử dụng có thể sử dụng các khoá và các chứng chỉ khác nhau cho các mục đích chữ ký số và mã hoá, thoả mãn hoàn toàn các nguyên tắc quản lý vòng đời của khoá.
Nhƣ chúng ta đã biết, thuật toán RSA có đặc tính hấp dẫn. ít nhất về mặt lý thuyết, một cặp khoá có thể đƣợc sử dụng cho cả hai mục đích là mã hoá và chữ ký số. Ví dụ, A và B muốn truyền thông an toàn với nhau và B có một cặp khoá RSA. A có thể gửi cho B một khoá đối xứng (khoá này đã đƣợc mã hoá bằng khoá công
53
khai của B). Bằng cách sử dụng cùng một cặp khoá, B có thể ký một thông báo gửi cho A; B sinh ra một chữ ký bằng khoá riêng của B và A kiểm tra chữ ký bằng khoá công khai của B. Tuy nhiên, nếu quan sát kỹ các vấn đề xung quanh việc quản lý khoá, rõ ràng là việc tái sử dụng một cặp khoá là không khôn ngoan.
Bây giờ chúng ta xem xét các yêu cầu quản lý đối với các kiểu cặp khoá. Trƣớc hết với các cặp khoá dùng cho chữ ký số, có các yêu cầu nhƣ sau:
(a) Khoá riêng của một cặp khoá đƣợc sử dụng cho các mục đích chữ ký số phải đƣợc lƣu giữ an toàn trong suốt thời gian tồn tại của nó, chỉ có đối tƣợng sở hữu đƣợc truy nhập vào nó. Yêu cầu này là rất cần thiết nhằm hỗ trợ chống chối bỏ. Điều đƣợc khuyến nghị thƣờng xuyên là một khoá riêng dùng cho chữ ký số không bao giờ đƣợc đƣa ra khỏi thiết bị sử dụng - khoá đƣợc sinh ra, đƣợc sử dụng và huỷ bỏ trong một môđun bí mật.
(b)Nói chung, chúng ta không cần sao lƣu một khoá riêng dùng cho chữ ký số phòng trƣờng hợp mất khoá - nếu một khoá bị mất, một cặp khoá mới có thể đƣợc sinh ra một cách dễ dàng. Hơn nữa việc sao lƣu sẽ mâu thuẫn với yêu cầu (a).
(c)Khoá riêng dùng cho chữ ký số không cần phải sao lƣu vì việc sao lƣu này sẽ mâu thuẫn với yêu cầu (a). Trong thực tế, khoá riêng dành cho chữ ký số phải đƣợc huỷ bỏ một cách an toàn khi thời gian tồn tại của nó kết thúc. Nếu một khoá riêng bị lộ, thậm chí bị lộ sau khi không còn đƣợc sử dụng một thời gian dài, nó vẫn có thể đƣợc dùng để làm giả các chữ ký trên các tài liệu cũ đã đƣợc công khai thừa nhận. Việc gán nhãn thời gian an toàn đối với các tài liệu đƣợc ký có thể làm giảm các rủi ro làm giả mà không bị phát hiện, nhƣng việc gán nhãn thời gian an toàn này lại không đƣợc sử dụng rộng rãi.
(d)Khoá công khai dành cho chữ ký số cần phải sao lƣu. Khoá này đƣợc dùng để kiểm tra các chữ ký cũ tại một thời điểm bất kỳ sau khi khoá riêng tƣơng ứng đƣợc sinh ra và đƣợc sử dụng.
Đối với các cặp khoá đƣợc sử dụng để hỗ trợ cho việc mã hoá, cần bổ sung thêm các yêu cầu quản lý khoá khác nhƣ sau:
54
(e)Khoá riêng đƣợc sử dụng để mã hoá cần đƣợc sao lƣu. Bởi vì sao lƣu là một cách để khôi phục lại thông tin đã đƣợc mã hoá. Nếu khoá bị mất (ví dụ, do lỗi thiết bị hoặc quên mật khẩu) thì tất cả thông tin đƣợc mã hoá bằng khoá này cũng bị mất.
(f) Do phụ thuộc vào thuật toán nên khoá công khai đƣợc sử dụng để mã hoá có thể không cần sao lƣu. Với khoá RSA, việc khôi phục lại dữ liệu đã đƣợc mã hoá không cần đến khoá công khai, vì vậy không cần phải sao lƣu khoá công khai này. Theo thoả thuận khoá Diffie-Hellman, khi khôi phục lại dữ liệu (đã đƣợc mã hoá và đƣợc lƣu giữ) cần sử dụng khoá công khai nên khoá công khai này cần đƣợc sao lƣu.
(g)Khoá riêng (đƣợc sử dụng cho việc mã hoá) không cần phải huỷ bỏ một cách an toàn khi thời gian tồn tại của nó đã kết thúc. Theo (e), khoá riêng này không nên bị huỷ bỏ.
Rõ ràng là, các yêu cầu từ (a) đến (d) và các yêu cầu từ (e) đến (g) mâu thuẫn nghiêm trọng với nhau. Nếu một ngƣời cố gắng sử dụng cùng một cặp khoá cho cả hai mục đích là chữ ký số và thiết lập khoá mã, thì sẽ không thể thoả mãn tất cả các yêu cầu này. Khi sử dụng các cặp khoá khác nhau cho các mục đích chữ ký số và thiết lập khoá mã cần có thêm các yêu cầu sau:
Các khoá công khai đƣợc sử dụng để mã hoá thƣờng phải chịu nhiều kiểm soát xuất khẩu nghiêm ngặt hơn so với các khoá công khai đƣợc sử dụng cho chữ ký số. Ví dụ, độ dài của khoá dùng cho mã hoá có thể bị hạn chế nhỏ hơn, so với độ dài khoá cho phép dùng trong chữ ký số. Nếu sử dụng cùng một thuật toán cho cả hai mục đích, không cần thiết phải hạn chế sự phức tạp của quá trình ký số.
Các cặp khoá có thể có các chu kỳ sử dụng khác nhau. Cặp khoá có thể đƣợc cập nhật thƣờng xuyên do các yêu cầu về chu kỳ sử dụng. Tuy nhiên, tất cả các khoá công khai cần đƣợc sao lƣu do yêu cầu chữ ký số. Điều này dẫn đến kết quả là cần phải sao lƣu nhiều hơn.
Không phải tất cả các thuật toán khoá công khai đều có tính chất nhƣ RSA. Ví dụ, thuật toán DSA có thể đƣợc sử dụng cho mục đích chữ ký số, nhƣng không
55
dùng cho mục đích thiết lập khoá. Nếu sử dụng thuật toán mềm dẻo, trong tƣơng lai sẽ giúp ích cho việc thiết kế một hệ thống hiện tại, trong đó các thuật toán khác nhau và các cặp khoá khác nhau sẽ đƣợc sử dụng cho cả chữ ký số và thiết lập khoá.
Ở đây có thể có yêu cầu làm cho việc sử dụng các khoá riêng trong mã hoá có hiệu lực đối với các công chức chính phủ (nhƣ một phần của một hệ thống uỷ nhiệm khoá). Các khoá riêng dùng cho chữ ký số không nên bị chính phủ phát hiện theo cách này. Nếu có lý lẽ thuyết phục đối với một cơ quan của chính phủ (đƣợc uỷ quyền để nghe trộm trên các cuộc truyền thông đã đƣợc mã hoá), thì việc yêu cầu một cơ quan của chính phủ cho phép làm giả chữ ký của mọi ngƣời có thể là yêu cầu bất hợp pháp.
Các yêu cầu trên nằm trong các thiết kế của các hệ thống gửi tin điện tử PEM (Privacy Enhanced Mail) và PGP (Pretty Good Privacy) ban đầu, trong đó sử dụng một cặp khoá RSA đơn lẻ cho cả hai mục đích là chữ ký số và thiết lập khoá mã.