2.2.1 PKI là gì ?
Internet đã xuất sắc trong việc trở thành bệ phóng số một cho thương mại và giao dịch toàn cầu. Tính phổ biến rộng rãi một mặt đã thúc đẩy bùng nổ Internet, tuy nhiên, mặt khác khó mà bảo đảm rằng những giao dịch trên Internet luôn an toàn. Các tổ chức chính phủ, doanh nghiệp và các cá nhân đòi hỏi máy móc không những phải bảo vệ toàn vẹn thông tin lưu chuyển trên Internet mà còn phải cho họ cảm giác tin cậy giống như khi giao dịch trên giấy tờ. Trước khi giao phó các giao dịch nhạy cảm của mình cho Internet, người sử dụng đòi hỏi mức an toàn đặc biệt. Họ muốn rằng giao dịch điện tử phải đáng tin cậy và phải được bảo vệ chống xem trộm. Họ muốn được chắc chắn rằng những người tham gia giao dịch phải là những người mà họ thỉnh cầu, và họ muốn được bảo đảm rằng không ai có thể phủ nhận hành vi liên quan của mình trong giao dịch khi có sự cố xảy ra. Cơ sở hạ tầng chìa khóa công cộng (PKI) đã đáp ứng cho những yêu cầu trên. Dựa trên cách sử dụng của chìa khóa mật mã công cộng và chữ ký
điện tử, một PKI chính là bộ khung của các chính sách, dịch vụ và phần mềm mã hóa, đáp ứng nhu cầu bảo mật của người sử dụng khi gởi đi những thông tin quan trọng qua Internet và các mạng khác. Chìa khóa mật mã công cộng (Public Key cryptography) bảo đảm độ tin cậy đối với các thông tin hoặc thông điệp quan trọng bằng cách sử dụng các thuật toán, hay còn gọi là chìa khóa, để mã hóa dữ liệu và một chìa khóa để giải mã chúng. Trong dịch vụ Chìa khóa mật mã công cộng, người sử dụng nhận được phần mềm mã hóa đặc biệt và một cặp chìa khóa, trong đó có một chìa là chìa khóa công cộng (Public key) để có thể sử dụng dịch vụ, chìa còn lại là chìa khóa cá nhân (Private key) mà người sử dụng phải giữ bí mật. Hai chìa khóa này có liên quan mật thiết đến nhau, sao cho một thông điệp được mã hóa bởi một chìa khóa mật mã công cộng thì chỉ giải mã được bởi một chìa khóa cá nhân tương ứng. Một người sử dụng, ví dụ là Bob, mã hóa một thông điệp gởi đi bằng chìa khóa công cộng của người nhận là Alice. Khi nhận được thông điệp này, Alice sẽ giải mã nó bằng chìa khóa cá nhân của mình. Tất cả các chìa khóa công cộng đều được phát hành trong những cuốn niên giám điện tử. Tổ chức cấp giấy chứng nhận là một thành phần chính của PKI. Nó là một tổ chức thứ ba đáng tin cậy chịu trách nhiệm phát hành giấy chứng nhận kỷ thuật số và quản lý chúng trong thời hạn có hiệu lực. Chứng nhận kỷ thuật số là những tập tin điện tử chứa các chìa khóa mật mã công cộng và các thông tin nhận dạng đặc biệt về người sử dụng. Các giấy chứng nhận này có "dán tem" xác nhận và không thể làm giả được. Cũng giống như việc phát hành hộ chiếu, tổ chức cấp giấy chứng nhận xác nhận rằng cá nhân được cấp giấy chứng nhận kỷ thuật số là người đáp ứng đủ điều kiện. Chữ ký điện tử là một xác minh điện tử ngang bằng với một chữ ký truyền thống trên giấy - tức là có giá trị duy nhất, có thể kiểm chứng được và chỉ người ký mới có thể tạo ra nó. Thông điệp hay tài liệu dù đã được mã hóa hay chưa, hễ có chữ ký điện tử thì cũng đảm bảo được rằng thông tin trong đó không bị xâm phạm trong quá trình lưu chuyển. Các chính phủ, doanh nghiệp, cá nhân hội nhập vào cuộc cách mạng số hóa đều sẽ dùng chứng nhận kỹ thuật số. Khi phát hành một số lượng lớn giấy chứng nhận như vậy thì cần phải đề ra biện pháp quản lý việc sử dụng. Quản lý giấy chứng nhận là một công việc về lâu về dài của tổ chức cấp giấy chứng nhận PKI. Trên khắp thế giới, các công ty lớn và nhỏ đều đầu tư cho cơ
sở hạ tầng chìa khóa công cộng như là một giải pháp hữu hiệu cho sáng tạo tập trung, phân phối, quản lý, chứng nhận cải tiến và đổi mới.
2.2.2 PKI hoạt động như thế nào ?
Bob và Alice muốn liên lạc với nhau qua Internet, dùng PKI để chắc chắc rằng thông tin trao đổi giữa họ được bảo mật. Bob đã có chứng nhận kỹ thuật số, nhưng Alice thì chưa. Để có nó, cô phải chứng minh được với tổ chức cấp giấy chứng nhận cô thực sự là Alice. Một khi các thông số nhận dạng của Alice đã được tổ chức thông qua, họ sẽ phát hành cho cô một chứng nhận kỹ thuật số. Chứng nhận điện tử này có giá trị thực sự, giống như tấm hộ chiếu vậy, nó đại diện cho Alice. Nó gồm có những chi tiết nhận dạng Alice, một bản sao chìa khóa công cộng của cô và thời hạn của giấy chứng nhận cũng như chữ ký kỹ thuật số của Tổ chức chứng nhận. Alice cũng nhận được chìa khóa cá nhân kèm theo chìa khóa công cộng. Chìa khóa cá nhân này được lưu ý là phải giữ bí mật, không được san sẻ với bất cứ ai. Bây giờ thì Alice đã có chứng nhận kỷ thuật số, Bob có thể gởi cho cô những thông tin quan trọng được số hóa. Bob có thể xác nhận với cô là thông điệp đó xuất phát từ anh ta cũng như được bảo đảm rằng nội dung thông điệp không bị thay đổi và không có ai khác ngoài Alice đọc nó. Diễn biến thực tế không phải mất nhiều thời gian như những giải thích trên, phần mềm tại máy trạm của Bob tạo ra một chữ ký điện tử và mã hóa thông điệp có chứa chữ ký đó. Phần mềm sử dụng chìa khóa cá nhân của Bob để tạo ra chữ ký điện tử và dùng chìa khóa công cộng của Alice để mã hóa thông điệp. Khi Alice nhận được thông điệp đã được mã hóa có chữ ký của Bob, phần mềm sẽ dùng chìa khóa cá nhân của cô để giải mã thông điệp. Vì chỉ có duy nhất chìa khóa cá nhân của Alice mới có thể giải mã thông điệp đã được mã hóa bằng chìa khóa công cộng của cô, cho nên độ tin cậy của thông tin hoàn toàn được bảo đảm. Sau đó, phần mềm dùng chìa khóa công cộng của Bob xác minh chữ ký điện tử, để đảm bảo rằng chính Bob đã gởi thông điệp đi, và thông tin không bị xâm phạm trên đường di chuyển. Bảng sau đây minh họa cho tiến trình của chữ ký điện tử và độ tin cậy cao đáp ứng cho yêu cầu giao dịch điện tử an toàn của Bob và Alice.
Bob muốn chuyển một thư điện tử đến cho Alice, với yêu cầu rằng giao dịch phải chứng minh được chính anh đã gởi nó đi và nội dung bức thư không bị thay đổi.
Phần mềm PKI dùng chìa khóa cá nhân của Bob tạo ra một chữ ký điện tử cho bức thư
Bob muốn chắc chắn rằng không ai ngoài Alice đọc được bức thư này
Phần mềm PKI của Bob dùng chìa khóa công cộng của Alice để mã hóa thông điệp của Bob.
Alice muốn đọc thư do Bob gởi
Phần mềm PKI dùng chìa khóa cá nhân của Alice để để giải mã thông điệp.
Alice muốn kiểm chứng rằng chính Bob đã gởi đi thông điệp đó và nội dung thông điệp không bị chỉnh sửa.
Phần mềm PKI của Alice dùng chìa khóa công cộng của Bob để kiểm chứng chữ ký điện tử của anh ta.
2.2.3 Thành phần của PKI
Mặc dù các thành phần cơ bản của PKI đều được phổ biến, nhưng một số nhà cung cấp đang muốn đưa ra những chuẩn PKI riêng khác biệt. Một tiêu chuẩn chung về PKI trên Internet cũng đang trong quá trình xây dựng. Một cơ sở hạ tầng khóa công khai bao gồm:
- Một nhà cung cấp chứng chỉ số (CA) chuyên cung cấp và xác minh các chứng chỉ số.
- Một nhà quản lý đăng ký (RegistrationAuthority - RA) đóng vai trò như một người thẩm tra cho CA trước khi CA cấp phát một chứng chỉ số.
- Các dịch vụ lưu trữ phục vụ các nhu cầu tra cứu, lấy khóa công khai của các đối tác cần thực hiện giao dịch chứng thực số.
Trong cơ sở hạ tầng khóa công khai PKI, CA sẽ kiểm soát cùng với nhà quản lý đăng ký để xác minh thông tin về chứng chỉ số mà người ta yêu cầu xác thực. RA xác minh thông tin về chứng chỉ số mà người ta yêu cầu xác thực và sau đó CA cấp chứng chỉ.
Hình 2.1
Lợi ích cơ bản của hệ thống cấp chứng chỉ là một người sử dụng khóa công khai có thể biết được phần lớn khóa công khai của các thành viên khác một cách đáng tin cậy nhờ khóa công khai của CA. Lưu ý rằng các chứng chỉ số chỉ hữu ích khi người dùng khóa công khai tin cậy CA phát hành các chứng chỉ hợp lệ.
2.2.4 Phân phối khóa công khai
Khi khóa công khai được gửi đến cho người sử dụng thì không cần thiết phải giữ bí mật khóa công khai này. Tuy nhiên người dùng người dùng khóa công khai phải đảm bảo rằng khóa công khai này được sử dụng, đúng là dành cho các thành viên khác( có thể là người nhận thông điệp có chủ định hoặc là bộ sinh chữ ký số được yêu cầu).Nếu kẻ phá hoại dùng khóa công khai khác để thay thế khóa công khai hợp lệ, nội dung các thông điệp đã mã hóa có thể bị lộ. Như vậy thành viên không chủ định khác có thể biết được các thông điệp hay các chữ ký số có thể bị làm giả. Nói cách khác, cách bảo vệ (được tạo ra từ các
kỹ thuật này) bị ảnh hưởng nếu kẻ truy nhập thay thế các khóa công khai không xác thực.
Đối với các nhóm thành viên nhỏ yêu cầu này có thể được thỏa mãn dễ dàng. Ví dụ hai người quen biết nhau, khi người này muốn truyển thông an toàn với người kia, họ có thể có các khóa công khai bằng cách trao đổi các đĩa nhớ có chứa các khóa công khai của từng người, như vậy đảm bảo rằng các khóa công khai được lưu trữ an toàn trên hệ thống cục bộ của từng người. Đây chính là hình thức phân phối khóa công khai thủ công.
Tuy nhiên hình thức phân phối khóa công khai này được xem là không thực tế, không đấp ứng được nhu cầu khi một số lượng người sử dụng quá lớn hoặc phân tán. Các chứng chỉ khóa công khai giúp cho việc phân phối khóa công khai trở nên có hệ thống.
Hệ thống cấp chứng chỉ khóa công khai làm việc nhu sau:
Một CA phát hành các chứng chỉ cho những người nắm giữ cặp khóa công khai và khóa riêng. Một chứng chỉ gồm khóa công khai và nhân dạng duy nhất chủ thể của chứng chỉ. Chủ thể của chứng chỉ có thể là một người, một thiệt bị, hoặc một thực thể có nắm giữ khóa riêng tương ứng. Khi chủ thể của chứng chỉ là một người hay một thực thể hợp pháp nào đó, chủ thể thường được nhắc đến như là một thực thể của CA. Chứng chỉ được CA ký bằng khóa riêng của họ.
Một khi hệ thống các chứng chỉ được thiết lập, công việc của người dùng khóa công khai rất đơn giản. Người dùng cần khóa công khai của một trong các thuê bao của CA, họ chỉ cần lấy bản sao chứng chỉ của thuê bao, lấy ra khóa công khai, kiểm tra xem chữ ký của CA có trên chứng chỉ hay không. Người dùng khóa công khai sử dụng các chứng chỉ như cách trên được gọi là các thành viên đáng tin cậy. Kiểu hệ thống này tương đối đơn giản và kinh tế khi triển khai trên diện rộng theo hình thức tự động. Bởi vì một trong những đặc tính quan
trọng của chứng chỉ là: “ các chứng chỉ có thể được phát hành mà không cần
phải bảo vệ thông qua các dịch vụ an toàn truyền thông để đảm bảo sự tin cẩn xác thực và toàn vẹn”
Chúng ta không cần giữ bí mật khóa công khai, như vậy các chứng chỉ không phải là bí mật. Hơn nữa ở đây không yêu cầu tính xác thực và toàn vẹn do các chứng chỉ tự bảo vệ (chữ ký số của CA có trong chứng chỉ khi cấp bảo vệ xác thực và toàn vẹn). Một kẻ truy nhập trái phép định làm giả chứng chỉ số khi nó đang được phát hành cho những người đang sử dụng khóa công khai. Những người dùng này sẽ phát hiện ra giả mạo vì chữ ký số của CA được kiểm tra chính xác.
Lợi ích cơ bản của hệ thống cấp chứng chỉ là một người sử dụng khóa công khai có thể dễ dàng có được một số lượng lớn khóa công khai của các người dùng khác một cách đáng tin cậy nhờ khóa công khai của CA. Lưu ý rằng chứng chỉ số chỉ hữu ích khi người dùng khóa công khai tin cậy CA phát hành các chứng chỉ hợp lệ.
2.3 Thời hạn tồn tại và việc thu hồi chứng chỉ
Chứng chỉ cơ bản và các mô hình đường dẫn chứng thực được mô tả như trên đòi hỏi một yêu cầu nào đó đối với từng ứng dụng thực tế. Trước hết phải nhân ra tính đúng lúc, cặp khóa riêng và khóa công khai không phải lúc nào cũng hợp lệ mãi mãi.
Trong hệ thống kỹ thuật, cặp khóa bất kỳ có thời hạn tồn tại nhất định nhằm hạn chế cơ hội thám mã và hạn chế thời gian có thể xảy ra tấn công thỏa hiệp. Vì vậy một chứng chỉ có thời gian tồn tại hợp lệ được quy định trước, xác định ngày giờ bắt đầu và ngày giờ kết thúc. Sau khi chứng chỉ số hết hạn, sự giàng buộc giữa khóa công khai và chủ thể không còn hợp lệ nữa và chứng chỉ không còn đáng tin cậy. Một người sử dụng khóa công khai không nên dùng chứng chỉ đã hết hạn trừ khi muốn chứng thực lại các hoạt động trước đó, ví dụ như kiểm tra chữ ký trên tài liệu cũ.
Dựa vào thời hạn kết thúc chứng chỉ nếu chủ thể vẫn còn giữu khóa công khai hợp lệ thì CA có thể cấp chứng chỉ mới cho thuê bao này. Hơn thế nữa, việc thỏa hiệp khóa bị phát hiện hoặc nghi ngờ có sự thỏa hiệp khóa thì thời hạn kết thúc của chứng chỉ có thể bảo vệ người dùng chống lại việc tiếp tục sử dụng khóa công khai thông qua việc phat hành chứng chỉ trước khi thỏa hiệp. Có nhiều trường hợp CA có thể thu hồi chứng chỉ trước khi hết hạn của chứng chỉ nếu như phát hiện khóa riêng bị lô hay có sự thoa hiệp khóa riêng tương ứng.
2.4 Nhà cấp chứng chỉ số (Certificate Authority - CA)
2.4.1 CA là gì ?
Một tổ chức tin cậy phát hành các chứng thực điện tử (electronic certificate) cho các đối tác cần trao đổi thông tin, giao dịch với nhau thông qua các phương tiện giao tiếp điện tử như: Internet, Smart card, Security card…
CA cung cấp và quản lý các electronic certificates cho các đối tác như: kiểm tra đối tác đăng ký (registration) cấp phát (issue), thu hồi certificate (revocation).
CA được cấu trúc theo mô hình phân cấp X.500 và cho phép các phân cấp con có thể tiếp tục chứng thực cho các đối tác khác (intermediate). Các thông tin trong một certificate bao gồm gồm public key của site's server, tên của đối tác đăng ký, Algorithm ID được dùng để ký lên certificate, ngày hết hạn certificate, tên của tổ chức CA cấp phát…
Các trusted CA bảo đảm được đầy đủ ba yếu tố cho một đối tác khi sử
dụng trusted certificates: CONFIDENTIALITY, INTEGRITY, và
AUTHENTICATION.
CONFIDENTIALITY: Không ai có thể đọc được nội dung data khi đang giao dịch.
INTEGRITY: Bảo đảm được tính toàn vẹn của data, không ai có thể sửa đổi lại dữ liệu.
AUTHENTICATION: Bảo đảm được tính xác thực của đối tác đăng ký, không ai có thể giả mạo được.
2.4.2 Mô hình CA
Nếu việc thiết lập một CA cung cấp các chứng chỉ khóa công khai cho tất cả những người nắm giữ các cập khóa công khai trên thế giới là khả thi và được tất cả mọi người sủ dụng khóa công khai tin tưởng vào các chứng chỉ do CA cấp