Trong lĩnh vực mật mã học, hạ tầng mã hóa công khai (tiếng Anh: public key infrastructure, viết tắt PKI) là hệ thống cho phép bên thứ ba (thường là nhà cung cấp chứng thực số) cấp phát và xác thực danh tính các bên tham gia trong quá trình trao đổi thông tin. Hệ thống này cũng cung cấp cho mỗi người dùng một cặp khóa công khai và khóa bí mật. Những quy trình này thường được thực hiện bởi phần mềm trung tâm và các phần mềm hỗ trợ tại các địa điểm của người dùng. Khóa công khai thường được phân phối qua chứng thực khóa công khai.
Khái niệm hạ tầng mã hóa công khai (PKI) thường chỉ toàn bộ hệ thống bao gồm nhà cung cấp chứng thực số (CA) và các cơ chế liên quan cùng với việc sử dụng các thuật toán mã hóa khóa công khai trong trao đổi thông tin. Tuy nhiên, phần sau không hoàn toàn chính xác vì các cơ chế trong PKI không nhất thiết phải sử dụng các thuật toán mã hóa khóa công khai.
Mục tiêu và chức năng
PKI cho phép các bên xác thực lẫn nhau và sử dụng thông tin từ chứng thực khóa công khai để mã hóa và giải mã thông tin trong quá trình trao đổi. Thông thường, PKI bao gồm phần mềm máy khách (client), phần mềm máy chủ (server), phần cứng (như thẻ thông minh) và các quy trình liên quan. Người dùng có thể ký các tài liệu điện tử bằng khóa bí mật của mình, và mọi người có thể kiểm tra bằng khóa công khai của họ. PKI đảm bảo các giao dịch điện tử diễn ra với tính bảo mật, toàn vẹn và xác thực mà không cần trao đổi thông tin mật trước đó.
Hệ thống mẫu
Hầu hết các hệ thống PKI trong doanh nghiệp đều dựa vào chuỗi chứng thực để xác minh các thực thể. Chứng thực của người dùng được cấp bởi một nhà cung cấp chứng thực số, và nhà cung cấp này lại có chứng thực từ một tổ chức cấp cao hơn... Hệ thống thường bao gồm nhiều máy tính từ các tổ chức khác nhau với phần mềm tương thích từ nhiều nguồn. Do đó, tiêu chuẩn là yếu tố quan trọng trong hoạt động của các PKI. Hiện nay, các tiêu chuẩn về PKI chủ yếu do nhóm PKIX của IETF biên soạn.
Các hệ thống PKI doanh nghiệp thường tổ chức theo mô hình danh bạ, trong đó khóa công khai của mỗi người dùng được lưu trữ (trong các chứng thực số) cùng với thông tin cá nhân như số điện thoại, email, địa chỉ, nơi làm việc... Công nghệ danh bạ tiên tiến hiện nay là LDAP, và định dạng chứng thực phổ biến nhất (X.509) được phát triển từ mô hình tiền nhiệm của LDAP (X.500).
Các lựa chọn khác
Mạng lưới tin cậy
Một phương pháp khác để xác thực khóa công khai là mô hình mạng lưới tín nhiệm (web of trust). Trong mô hình này, mỗi người dùng tự ký chứng thực cho chính mình, và các bên thứ ba (không tham gia trực tiếp vào giao dịch) sẽ xác minh các chữ ký đó. Ví dụ về mô hình này bao gồm GPG (The GNU Privacy Guard) và PGP (Pretty Good Privacy). Do PGP và các biến thể của nó được sử dụng phổ biến trong email, mô hình mạng lưới tín nhiệm của PGP hiện là phương thức PKI hai chiều phổ biến nhất tính đến năm 2004.
Hạ tầng khóa công cộng đơn giản
Hạ tầng khóa công cộng đơn giản (SPKI) là một phương pháp PKI mới được phát triển để giải quyết sự phức tạp của giao thức X.509 và tính tự phát của mô hình tín nhiệm PGP. SPKI kết nối mỗi thực thể (người dùng/hệ thống) trực tiếp với một khóa bằng mô hình tín nhiệm nội bộ (local trust model). Mô hình này về cơ bản tương tự như mô hình mạng lưới tín nhiệm của PGP, với thêm phần cấp phép.
Nhà cung cấp chứng thực số tự động (Robot CA)
Các rô bốt CA là các chương trình máy tính tự động có khả năng kiểm tra và xác minh một số khía cạnh của khóa công khai. Những rô bốt này có thể giảm đáng kể các cuộc tấn công vào hệ thống, đặc biệt là các tấn công làm lệch hướng thông tin trên mạng. Các khía cạnh của khóa công khai thường được kiểm tra bao gồm: (a) khóa được công bố với sự biết của người sở hữu địa chỉ email liên kết (b) người sở hữu địa chỉ email có khóa bí mật (c) trạng thái sử dụng khóa.
Lịch sử
Việc công bố nghiên cứu về trao đổi khóa an toàn và thuật toán mã hóa khóa công khai của Diffie, Hellman, Rivest, Shamir, và Adleman vào năm 1976 đã cách mạng hóa việc trao đổi thông tin mật. Sự phát triển của các hệ thống truyền thông điện tử tốc độ cao (như Internet) đã làm gia tăng nhu cầu bảo mật thông tin. Đồng thời, cần thiết phải xác định rõ định dạng của các bên tham gia giao tiếp. Vì vậy, ý tưởng kết hợp định dạng người dùng với chứng thực bảo vệ bằng kỹ thuật mật mã đã phát triển mạnh mẽ.
Nhiều giao thức mới sử dụng kỹ thuật mật mã đã được phát triển và phân tích. Với sự ra đời và phổ biến của World Wide Web, nhu cầu về bảo mật thông tin và xác thực người sử dụng càng trở nên quan trọng. Chỉ riêng các ứng dụng thương mại như giao dịch điện tử và truy cập cơ sở dữ liệu qua web đã thu hút sự quan tâm lớn từ các nhà phát triển. Taher ElGamal và nhóm tại Netscape đã phát triển giao thức SSL (https trong địa chỉ web) bao gồm thiết lập khóa và xác thực máy chủ. Các hệ thống PKI sau đó được thiết lập để đáp ứng nhu cầu truyền thông an toàn.
Các doanh nghiệp, nhận thấy tiềm năng lớn, đã thành lập các công ty và dự án mới liên quan đến PKI, đồng thời vận động các chính phủ để xây dựng khung pháp lý cho lĩnh vực này. American Bar Association đã công bố nghiên cứu về các vấn đề pháp lý liên quan đến PKI (xem thêm: hướng dẫn chữ ký số ABA). Không lâu sau, một số tiểu bang của Hoa Kỳ, đầu tiên là Utah (năm 1995), đã thông qua các luật và quy định đầu tiên về PKI. Các nhóm bảo vệ quyền lợi người tiêu dùng cũng nêu lên các vấn đề về quyền riêng tư và trách nhiệm pháp lý.
Tuy nhiên, các luật và quy định về PKI không đồng bộ trên toàn cầu. Hơn nữa, những khó khăn kỹ thuật và vận hành đã khiến việc triển khai PKI phức tạp hơn nhiều so với kỳ vọng ban đầu.
Vào đầu thế kỷ 21, người ta nhận thấy rằng việc thực hiện các kỹ thuật mật mã và quy trình/giao thức là rất khó khăn và các tiêu chuẩn hiện tại không đáp ứng đầy đủ các yêu cầu đề ra.
Thị trường PKI đã phát triển nhưng không đạt được quy mô mong đợi như dự kiến từ giữa thập kỷ 1990. PKI chưa giải quyết được tất cả các vấn đề mà nó được kỳ vọng. Các phiên bản PKI thành công nhất hiện nay thường là do các chính phủ triển khai.
Các ứng dụng phổ biến
Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định dạng người dùng, từ đó người dùng có thể áp dụng vào các ứng dụng như:
- Mã hóa email hoặc xác thực người gửi email (OpenPGP hoặc S/MIME).
- Mã hóa hoặc xác thực văn bản (Các tiêu chuẩn Chữ ký XML * hoặc mã hóa XML * khi văn bản được trình bày dưới dạng XML).
- Xác thực người dùng ứng dụng (Đăng nhập bằng thẻ thông minh, xác thực người dùng trong SSL).
- Các giao thức truyền thông an toàn sử dụng kỹ thuật Bootstrapping (IKE, SSL): trao đổi khóa bằng khóa bất đối xứng, mã hóa bằng khóa đối xứng.
Các hệ thống PKI nổi bật
Dưới đây là danh sách một số hệ thống PKI, lưu ý rằng một số nhà cung cấp chứng thực số hàng đầu như VeriSign không được đề cập vì phần mềm của họ không được công khai.
- Hệ thống chứng thực Red Hat
- Computer Associates eTrust PKI
- Entrust
- Microsoft
- Cơ quan chứng thực của chính phủ Mỹ (ECA)
- Nexus Lưu trữ 2005-10-14 tại Wayback Machine
- OpenCA (Một mô hình PKI mã nguồn mở)
- RSA Security
- phpki
- GenCerti Lưu trữ 2007-09-30 tại Wayback Machine
- ejbca
- newpki Lưu trữ 2006-03-14 tại Wayback Machine
- Papyrus CA Software Lưu trữ 2005-10-29 tại Wayback Machine
- pyCA
- IDX-PKI Lưu trữ 2005-03-24 tại Wayback Machine
- EuropePKI Lưu trữ 2017-10-16 tại Wayback Machine
- TinyCA Lưu trữ 2013-07-06 tại Wayback Machine
- ElyCA Lưu trữ 2005-12-12 tại Wayback Machine
- SimpleCA Lưu trữ 2005-11-01 tại Wayback Machine
- SeguriData
- Safelayer Secure Communications
- Mạng lưới tín nhiệm
- Mật mã khóa công khai
- Xác thực khóa
- Danh sách chứng thực số bị thu hồi
- Microsoft CAPI
- FIPS 201 PIV (Kiểm tra định dạng cá nhân cho nhân viên và nhà thầu của chính phủ)
- PKCS Các tiêu chuẩn mã hóa khóa công khai
Liên kết tham khảo
- Hướng dẫn PKI của Peter Gutmann
- Nhóm công tác PKIX
- Giải thích về PAIN Lưu trữ 2005-04-08 tại Wayback Machine — giải thích chi tiết về PKI bao gồm quyền riêng tư, xác thực, tính toàn vẹn và không thể phủ nhận (PAIN)
- Chương trình PKI của NIST Lưu trữ 2005-11-24 tại Wayback Machine — nơi Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) đang cố gắng phát triển cơ sở hạ tầng khóa công khai
- Dự án PKI nguồn mở của Mozilla
- NewPKI Lưu trữ 2006-03-14 tại Wayback Machine — một PKI dựa trên API thấp của OpenSSL
Cung cấp chứng thực số tự động
OpenPGP
- cardboard.net llc 'hiện đang bị lỗi'
- Imperial Violet (Adam Langley) Lưu trữ 2005-03-19 tại Wayback Machine
- Chứng thực Robot, tại JamesHoward.us
- Toehold (Kyle Hasselbacher) Lưu trữ 2005-11-24 tại Wayback Machine
- signedtimestamp.org Lưu trữ 2006-05-19 tại Wayback Machine
- PGP Corporation
SSL
- Chứng chỉ miễn phí của Ascertia PVT Ltd Lưu trữ ngày 25-11-2005 tại Wayback Machine
- CAcert.org
- Chứng chỉ CertifyID
- Chứng chỉ SSL của Thawte.com
- Chứng chỉ SSL QuickSSL của Geotrust
- Chứng chỉ SSL Turbo của Godaddy
- Chứng chỉ SSL của Comodo
- Chứng chỉ SSL của DigiCert
- Chứng chỉ SSL của VeriSign