Để sử dụng được cách mã hóa này, cần phải có một chứng chỉ số từ tổ chức quản trị được gọi là nhà cung cấp chứng chỉ số CA Certificate Authority , nhóm nghiên cứu đã chọn đề tài nghiên c
Trang 1Mục lục
Lời nói đầu 3
Chương I: Mật mã hóa khóa công khai và chữ ký số 5
I Mật mã hóa khóa công khai 5
1 Khái niệm 5
2 Các thuật toán sử dụng trong mật mã khóa công khai 5
2.1 Thuật toán RSA 5
2.2 Thuật toán thỏa thuận khóa Diffie-Hellman 6
II Chữ ký số 6
Chương II: Tổng quan về hạ tầng khóa công khai – PKI 8
I Hạ tầng khóa công khai – PKI 8
1 Khái niệm PKI 8
2 Các khái niệm trong PKI 10
2.1 Chứng chỉ 10
2.2 Kho chứng chỉ 11
2.3 Thu hồi chứng chỉ 11
2.4 Công bố và gửi thông báo thu hồi chứng chỉ 11
2.5 Sao lưu và dự phòng khóa 12
2.6 Cập nhật khóa tự động 12
2.7 Lịch sử khóa 13
2.8 Chứng thực chéo 13
2.9 Hỗ trợ chống chối bỏ 13
2.10 Tem thời gian 14
2.11 Phần mềm phía người dùng 14
2.12 Chính sách của chứng chỉ 14
3 Các thành phần của một hệ thống PKI 15
3.1 Tổ chức chứng thực (Certification Authority) 15
3.2 Trung tâm đăng ký (Registration Authorites) 16
3.3 Thực thể cuối (end entity) 16
3.4 Hệ thống lưu trữ (Repositories) 16
4 Chức năng cơ bản PKI 17
4.1 Chứng thực (certification) 17
4.2 Thẩm tra (validation) 17
4.3 Một số chức năng khác 18
5 Mục tiêu của PKI 21
Chương III: Xây dựng hệ thống PKI với OpenCA 23
Trang 2II Mô hình hệ thống PKI với OpenCA 23
1 RootCA 23
1.1 Khởi tạo CA 25
1.2 Khởi tạo chứng chỉ cho người quản trị 30
2 SubCA 35
3.RA 35
Chương IV: Đánh giá và định hướng phát triển 36
Kết luận 37
Trang 3Lời nói đầu
Ngày nay, việc giao tiếp qua mạng Internet đang trở thành một nhu cầu cấp thiết Các thông tin truyền trên mạng đều rất quan trọng, như mã số tài khoản, thông tin mật… Tuy nhiên, với các thủ đoạn tinh vi, nguy cơ bị ăn cắp thông tin qua mạng cũng ngày càng gia tăng Hiện giao tiếp qua Internet chủ yếu dựa vào giao thức TCP/IP Đây là giao thức cho phép các thông tin được gửi từ máy tính này tới máy tính khác thông qua một loạt các máy trung gian hoặc các mạng riêng biệt Chính điều này đã tạo cơ hợi cho những kẻ trộm công nghệ cao có thể thực hiện các hành động phi pháp Các thông tin truyền trên mạng có thể bị nghe trộm (Eavesdropping), giả mạo (Tampering), mạo danh (Impersonation)… Các biện pháp bảo mật hiện nay, chẳng hạn như dùng mật khẩu, đều không đảm bảo vì có thể bị nghe trộm hoặc bị dò ra nhanh chóng
Do vậy, để bảo mật, các thông tin truyền trên Internet này nay đều có xu hướng được mã hóa Trước khi truyền qua mạng Internet, người gửi mã hóa thông tin, trong quá trình truyền, dù có “chặn” được các thông tin này, kẻ trộm cũng không thể đọc được
vì đã bị mã hóa Khi tới đích, người nhận sẽ sử dụng một công cụ đặc biệt để giải mã Phương pháp mã hóa và bảo mật phổ biến nhất dang được thế giới áp dụng là chứng chỉ
số (Digital Certificate) Với chứng chỉ số, người sử dụng có thể mã hóa thông tin một cách hiệu quả, chống giả mạo, xác thực, chống chỗi cãi nguồn gốc
Một cách mã hóa dữ liệu đảm bảo an toàn đó là mã hóa khóa công khai Để sử dụng được cách mã hóa này, cần phải có một chứng chỉ số từ tổ chức quản trị được gọi
là nhà cung cấp chứng chỉ số CA (Certificate Authority ), nhóm nghiên cứu đã chọn đề tài nghiên cứu, xây dựng hệ thống hạ tầng khóa công khai PKI dựa trên OpenCA để làm
rõ vấn đề trên
Trang 4ơn các thầy cô giáo đã luôn đào sâu kiến thức để truyền đạt cho chúng em , đặc biệt thầy giáo Hoàng Đức Thọ đã nhiệt tình giúp đõ chúng em để chúng em hoành thành tốt đề tài này
Trong quá trình thực hiện đề tài ,đề tài không tránh khỏi thiếu xót, kính mong sự chỉ bảo đóng góp nhiệt tình của thầy cô và các bạn để đề tài nghiên cứu được hoàn thiện tốt hơn
Xin chân thành cảm ơn
Nhóm sinh viên thực hiện
Lê Quang MinhTrần Thanh Nga
Lê Tâm ĐắcTrịnh Đình BiênNguyễn Trọng Dũng
Trang 5Chương I: Mật mã hóa khóa công khai và chữ
là khóa công khai và khóa cá nhân
Trong mật mã hóa khóa công khai, khóa cá nhân phải được giữ bí mật trong khi khóa công khai được phổ biến công khai Trong 2 khóa, một dùng để mã hóa và khóa còn lại dùng để giải mã Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai
Hệ thống mật mã hóa khóa công khai vó thể sử dụng với các mục đích:
• Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được
• Tạo chữ ký số: cho phép kiểm tra một văn bản có phải đã được tạo bởi một khóa bí mật nào đó không
• Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thông tin mật giữa 2 bên
2 Các thuật toán sử dụng trong mật mã khóa công khai
2.1 Thuật toán RSA
Trong mật mã học, RSA là một thuật toán mã hóa khóa công khai Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã trong việc sử dụng khóa công khai RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn
Thuật toán RSA có hai khóa: khóa công khai và khóa bí mật Mỗi khóa là những
số cố định sử dụng trong qúa trình mã hóa và giải mã Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa bí mật mới có thể giải mã được
Trang 6Tuy nhiên RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã hóa đối xứng khác, Trên thực tế, người ta sử dụng một thuật toán mã hóa đối xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng RSA để mã hóa khóa để giải mã.
2.2 Thuật toán thỏa thuận khóa Diffie-Hellman
Đây là sơ đồ khóa công khai đầu tiên Tuy nhiên, đó không phải là một sơ đồ mã hóa khóa công khai thực sự, mà chỉ dùng cho trao đổi khóa Các khóa bí mật được trao đổi bằng cách sử dụng các trạm trung gian riêng tin cậy Phương pháp này cho phép các khóa bí mật được truyền an toàn thông qua các môi trường không bảo mật
Tính bảo mật của trao đổi khóa Diffie-Hellman nằm ở chỗ: tính hàm mũ modul của một số nguyên tố là khá dễ dàng nhưng tính logarit rời rạc là rất khó
Chữ ký số khóa công khai dựa trên nền tảng mật mã hóa khóa công khai Để có thể trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa: khóa công khai và khóa bí mật Khóa công khai được công bố rộng rãi còn khóa bí mật phải được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa công khai
Toàn bộ quá trình gồm 3 thuật toán:
• Thuật toán tạo khóa
• Thuật toán tạo chữ ký số
• Thuật toán kiểm tra chữ ký số
Trang 7Hình 1: Sơ đồ tạo và kiểm tra chữ ký số
Trang 8Chương II: Tổng quan về hạ tầng khóa công
khai – PKI
I Hạ tầng khóa công khai – PKI.
1 Khái niệm PKI.
Trong một vài năm lại đây, hạ tầng truyền thông IT càng ngày càng được mở rộng khi mà người sử dụng dựa trên nền tảng này để truyền thông và giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như việc khách hàng dùng email trên các mạng công cộng Hầu hết các thông tin kinh doanh nhạy cảm và quan trọng được lưu trữ và trao đổi dưới hình thức điện tử Sự thay đổi trong các hoạt động truyền thông doanh nghiệp này đồng nghĩa với việc người sử dụng phải có biện pháp bảo vệ tổ chức, doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn công, phá hoại hoặc vô tình tiết lộ các thông tin đó Cấu trúc hạ tầng PKI cùng các tiêu chuẩn và các công nghệ ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể sử dụng để giải quyết vấn đề này
• Khả năng bảo mật (Secure): Đạt tiêu chuẩn quốc tế về bảo mật EAL4+, đáp ứng hầu hết các thiết bị HSM và Smartcard
• Khả năng mở rộng (Scalable): Dựa trên kiến trúc PKI hiện đại, được thiết kế theo
mô hình có độ sẵn sàng cao, có khả năng mở rộng để cấp phát số lượng lớn chứng thư số một cách dễ dàng
• Khả năng sẵn sàng (Available): Tất cả chính sách, log, dữ liệu về chứng thư số và CRL được lưu trữ trên cơ sở dữ liệu tin cậy và bảo mật ví dụ: Oracle hệ cơ sở dữ liệu lớn nhất và đáng tin cậy nhất trên thế giới
• Khả năng mở, tương thích (Open): Được thiết kế để tuân thủ các tiêu chuẩn mở quốc tế như X509, PKIX, LDAP
• Khả năng kiểm soát bằng chính sách (Policy Driven): Hệ thống có khả năng áp dụng các chính sách khác nhau với việc đăng ký các loại chứng thư số khác nhau
• Khả năng linh động (Flexible): Có thể hỗ trợ nhiều phương thức đăng ký chứng thư số khác nhau: Web, Email, Face-to-face, CMP, SCEP
Trong mật mã học, hạ tầng khóa công khai (Public Key Infracstructure – PKI) là một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng thực số) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin Cơ chế này cũng
Trang 9cho phép gán cho mỗi người sử dụng trong hệ thống một cặp khóa công khai và khóa bí mật Các quá trình này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm phối hợp khác 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 trong chứng thực khóa công khai.
Khái niệm hạ tầng khóa công khai (PKI) thường được dùng để chỉ toàn bộ hệ thống bao gồm nhà cung cấp chứng thực số (Certificate Authority) cùng các cơ chế liên quan đồng thời với toàn bộ 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
PKI bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa mang tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các chứng thực điện tử (digital certificate) cũng như các mã khoá công cộng và cá nhân
Tới nay, những nỗ lực hoàn thiện PKI vẫn đang được đầu tư và thúc đẩy Và để hiện thực hoá ý tưởng này, các tiêu chuẩn cần phải được nghiên cứu phát triển ở các mức độ khác nhau bao gồm: mã hoá, truyền thông và liên kết, xác thực, cấp phép và quản lý Nhiều chuẩn bảo mật trên mạng Internet, chẳng hạn Secure Sockets Layer/Transport Layer Security (SSL/TLS) và Virtual Private Network (VPN), chính là kết quả của sáng kiến PKI
Quá trình nghiên cứu và phát triển PKI là một quá trình lâu dài và cùng với nó, mức độ chấp nhận của người dùng cũng tăng lên một cách khá chậm chạp PKI có thể đảm bảo một cơ chế bảo mật và tổng hợp để lưu trữ và chia sẻ các tài sản trí tuệ cả trong
và ngoài phạm vi công ty Tuy nhiên, chi phí và/hoặc sự phức tạp của nó có thể gây ra những rào cản nhất định đối với khả năng ứng dụng
Đa phần các giao dịch truyền thông của doanh nghiệp với khách hàng, chính quyền và các đối tác khác đều được diễn ra một cách điện tử Ngày nay, một giải pháp
an ninh toàn diện cạnh tranh với PKI thực sự chưa được tìm thấy Từ góc độ giải pháp công nghệ, điều này làm cho việc chọn lựa trở nên đơn giản hơn Nhiều hãng khác cũng cung cấp các giải pháp PKI Những tính năng này, cùng khả năng quản lý và liên kết PKI, đã được tích hợp vào hệ điều hành và các ứng dụng có liên quan
PKI là công nghệ xác thực đầu tiên và hoàn thiện nhất sử dụng phương pháp mã hoá dựa trên khoá bí mật và khoá công cộng Tuy nhiên, PKI cũng bao gồm cả việc ứng dụng rộng rãi các dịch vụ bảo mật khác, bao gồm dịch vụ dữ liệu tin cậy, thống nhất dữ liệu về tổng thể và quản lý mã khoá
Trang 102 Các khái niệm trong PKI
Có nhiều lọai chứng chỉ, một trong số đó là:
• Chứng chỉ khóa công khai X.509
• Chứng chỉ khóa công khai đơn giản (Simple Public Key Certificate – SPKC)
• Chứng chỉ PGP
• Chứng chỉ thuộc tính (Attribute Certificate – AC)
Tất cả các loại chứng chỉ này đều có cấu trúc dạng riêng biệt Hiện nay chứng chỉ 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 chỉ 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 chỉ 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 chỉ, 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 chỉ X.509
• Version : phiên bản của chứng chỉ
• Serial Number: số serial của chứng chỉ,
là định danh duy nhất của chứng chỉ, có
giá trị nguyên
• Certificate Signature Algorithm: thuật
toán CA sử dụng để ký chứng chỉ
• Issuer: Tên chủ thể phát hành chứng chỉ
• Validity: Thời hạn của chứng chỉ
• Subject: Tên chủ thể của chứng chỉ
• Subject Public Key Info
◦ Subject Public Key Algorithm: Thuật
Trang 11toán sinh khóa công khai
◦ Subject's Public Key: Khóa công khai
• Extensions: Phần mở rộng
2.2 Kho chứng chỉ
Chứng chỉ đượ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 chỉ 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 chỉ này chưa được tạo ra
Do đó, phải có một kho chứng chỉ 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 chỉ mà anh ta cần để truyền thông an toàn
2.3 Thu hồi chứng chỉ
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 chỉ thay đổi vị trí, cơ quan … thì chứng chỉ đã đượ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 chỉ kiểm tra được trạng thái thu hồi chứng chỉ X.509 cho phép kiểm tra chứng chỉ trong các trường hợp sau:
• Chứng chỉ không bị thu hồi
• Chứng chỉ đã bị CA cấp thu hồi
• Chứng chỉ 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 chỉ
2.4 Công bố và gửi thông báo thu hồi chứng chỉ
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 chỉ 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 chỉ lại không hợp lệ trước thời gian hết hạn, ví dụ như:
Trang 12• Khóa riêng của chủ thể bị xâm phạm
• Thông tin chứa trong chứng chỉ bị thay đổi
• Khóa riêng của CA cấp chứng chỉ bị xâm phạm
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 chỉ là công bố CRLs đị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 chỉ người sử dụng CRLs chứa danh sách các chứng chỉ đã 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 CRL 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 CRL gián tiếp
2.5 Sao lưu và dự phòng khóa
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:
• 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 Việc sao lưu
và dự phòng khóa mà cần thiết, nó tạo nên một phần mở rộng trong định nghĩa PKI
2.6 Cập nhật khóa tự động
Một chứng chỉ có thời gian sống hữu hạn Khi chứng chỉ bị hết hạn sẽ được thay thế bằng một chứng chỉ mới Thủ tục này được gọi là cập nhật khoá hay cập nhật chứng chỉ Vấn đề đặt ra là người dùng PKI sẽ thường cảm thấy bất tiện khi phải cập nhật khoá thủ công và thông thường thì họ sẽ không nhớ thời hạn hết hạn của chứng chỉ hoặc khi thực hiện cập nhật khoá khi đã hết hạn thường gặp phải nhiều thủ tục phức tạp hơn
Giải pháp đưa ra là xây dựng PKI theo cách mà toàn bộ khoá hoặc chứng chỉ sẽ
Trang 13được cập nhật hoàn toàn tự động mà không cần có sự can thiệp nào của người dùng Mỗi khi chứng chỉ của người sử dụng được dùng đến cho một mục đích bất kỳ, thời gian hợp
lệ của nó sẽ được kiểm tra Khi sắp hết hạn thì hoạt động làm mới chứng chỉ sẽ diễn ra, chứng chỉ mới sẽ được tạo ra thay thế chứng chỉ cũ và giao dịch của được yêu cầu của người dùng sẽ tiếp tục diễn ra
Bởi vì quá trình cập nhật khoá tự động là nhân tố sống còn đối với PKI hoạt động trong nhiều môi trường, do đó, nó tạo nên một phần định nghĩa của PKI
2.7 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 chỉ cũ
và có ít nhất một chứng chỉ hiện tại Tập hợp các chứng chỉ này với các 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 chỉ
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
2.8 Chứng thực chéo
Trong môi trường thực tế, không phải chỉ có một PKI toàn cục duy nhất hoạt động
mà thực tế có rất nhiều PKI được triển khai, hoạt động, phục vụ trong các môi trường và cộng đồng người dùng khác nhau Khi các PKI hoạt động phối hợp, liên kết với nhau, sẽ nảy sinh vấn đề là làm thế nào để đảm bảo an toàn truyền thông giữa các cộng đồng người dùng trong các PKI?
Khái niệm chứng thực chéo đã nảy sinh trong môi trường PKI để giải quyết nhu cầu này nhằm tạo ra mối quan hệ tin tưởng giữa các PKI không có quan hệ với nhau trước đó Chứng thực chéo là cơ chế cho phép người dùng của một cộng đồng PKI này xác nhận tính hợp lệ chứng chỉ của người dùng khác trong một cộng đồng PKI khác
2.9 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ý
Trang 142.10 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
2.11 Phần mềm phía người dùng
Trong mô hình PKI, các server sẽ thực hiện những nhiệm vụ sau:
• CA cung cấp các dịch vụ chứng chỉ
• Kho chứng chỉ sẽ lưu giữ các thông tin chứng chỉ và hủy bỏ chứng chỉ
• 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
• Máy khách yêu cầu chứng chỉ và xử lý các thông tin hủy bỏ chứng chỉ 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
• Máy khách phải biết khi nào nó cần phải yêu cầu tem thời gian trên văn bảnPhần mềm phía client là một thành phần thiết yếu của PKI tích hợp đầy đủ tính năng trên
2.12 Chính sách của chứng chỉ
Chính sách có định danh duy nhất và định danh này được đăng ký để người cấp và người sử dụng chứng chỉ có thể nhận ra và tham chiếu đến Một chứng chỉ có thể được cấp theo nhiều chính sách Một chính sách chứng chỉ cũng có thể được hiểu là việc giải thích những yêu cầu và giới hạn liên quan đến việc sử dụng chứng chỉ được công bố theo những chính sách này
Chính sách chứng chỉ - Certificate Policies (CP) được chứa trong trường mở rộng chuẩn của chứng chỉ X.509 Bằng việc kiểm tra trường này trong chứng chỉ, hệ thống sử dụng chứng chỉ có thể xác định được một chứng chỉ cụ thể có thích hợp cho mục đích sử dụng hay không
Trang 153 Các thành phần của một hệ thống PKI
Một hệ thống PKI gồm các thành phần sau
• Certificate Authorites (CA): cấp và thu hồi chứng chỉ
• Registration Authorites (RA): gắn kết giữa khóa công khai và định danh của người giữ chứng chỉ
• Clients: Người sử dụng cuối hoặc hệ thống là chủ thể của chứng chỉ PKI
• Repositories: Hệ thống lưu trữ chứng chỉ và danh sách các chứng chỉ bị thu hồi Cung cấp cơ chế phân phối chứng chỉ và CRLs đến các thực thể cuối.Các thành phần PKI và các mối quan hệ giữa chúng được chỉ ra như trong hình sau Đây là mô hình kiến trúc PKI do PKIX đưa ra
Hình 3: Các thành phần PKI 3.1 Tổ chức chứng thực (Certification Authority)
Trong hạ tầng cơ sở khoá công khai, chứng chỉ có vai trò gắn kết giữa định danh với khoá công Sự gắn kết này thể hiện trong dạng cấu trúc dữ liệu được ký số được đề cập đến như chứng chỉ đã được thảo luận ở phần trước Một certificate authority (CA) là một thực thể PKI có trách nhiệm cấp chứng chỉ cho các thực thể khác trong hệ thống
Trang 16dụng cuối tin tưởng vào chữ ký số của CA trên chứng chỉ trong khi thực hiện những hoạt động mã hoá khoá công khai cần thiết CA thực hiện chức năng xác thực bằng cách cấp chứng chỉ cho các CA khác và cho thực thể cuối (người giữ chứng chỉ) trong hệ thống Nếu CA nằm ở đỉnh của mô hình phân cấp PKI và chỉ cấp chứng chỉ cho những CA ở mức thấp hơn thì chứng chỉ này được gọi là chứng chỉ gốc “root certificate”.
3.2 Trung tâm đăng ký (Registration Authorites)
Mặc dù CA có thể thực hiện những chức năng đăng ký cần thiết, nhưng đôi khi cần có thực thể độc lập thực hiện chức năng này Thực thể này được gọi là “registration authority” - trung tâm đăng ký Ví dụ khi số lượng thực thể cuối trong miền PKI tăng lên
và số thực thể cuối này được phân tán khắp nơi về mặt địa lý thì việc đăng ký tại một
CA trung tâm trở thành vấn đề khó giải quyết Để giải quyết vấn đề này cần thiết phải có một hoặc nhiều RAs (trung tâm đăng ký địa phương)
Mục đích chính của RA là để giảm tải công việc của CA Chức năng thực hiện của một RA cụ thể sẽ khác nhau tuỳ theo nhu cầu triển khai PKI nhưng chủ yếu bao gồm những chức năng sau:
• Xác thực cá nhân, chủ thể đăng ký chứng chỉ
• Kiểm tra tính hợp lệ của thông tin do chủ thể cung cấp
• Xác nhận quyền của chủ thể đối với những thuộc tính chứng chỉ được yêu cầu
• Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng đang được đăng ký hay không - điều này thường được đề cập đến như sự chứng minh sở hữu (proof of possesion – POP)
• Tạo cặp khóa bí mật, công khai
• Phân phối bí mật được chia sử đến thực thể cuối (ví dụ: khóa công khai của CA)
• Thay mặt chủ thể thực thể cuối khởi tạo quá trình đăng ký với CA
• Lưu trữ khóa riêng
• Khởi sinh quá trình khôi phục khóa
• Phân phối thẻ bài vật lý (thẻ thông minh)
3.3 Thực thể cuối (end entity)
Thực thể cuối trong PKI có thể là con người, thiết bị, và thậm chí là một chương trình phần mềm nhưng thường là người sử dụng hệ thống Thực thể cuối sẽ thực hiện những chức năng mật mã (mã hoá, giải mã và ký số)
3.4 Hệ thống lưu trữ (Repositories)
Chứng chỉ (khoá công khai) và thông tin thu hồi chứng chỉ phải được phân phối
Trang 17sao cho những người cần đến chứng chỉ đều có thể truy cập và lấy được Có 2 phương pháp phân phối chứng chỉ:
• Phân phối cá nhân: Đây là cách phân phối cơ bản nhất Trong phương pháp
này thì mỗi cá nhân sẽ trực tiếp đưa chứng chỉ của họ cho người dùng khác Việc này có thể thực hiện theo một số cơ chế khác nhau Chuyển giao bằng tay chứng chỉ được lưu trong đĩa mềm hay trong một số các môi trường lưu trữ khác Cũng có thể phân phối bằng cách gắn chứng chỉ trong email để gửi cho người khác Cách này thực hiện tốt trong một nhóm ít người dùng nhưng khi
số lượng người dùng tăng lên thì có thể xảy ra vấn đề về quản lý
• Phân phối công khai: Một phương pháp khác phổ biến hơn để phân phối
chứng chỉ (và thông tin thu hồi chứng chỉ) là công bố các chứng chỉ rộng rãi, các chứng chỉ này có thể sử dụng một cách công khai và được đặt ở vị trí có thể truy cập dễ dàng Những vị trí này được gọi là cơ sở dữ liệu Dưới đây là ví
dụ về một số hệ thống lưu trữ:
◦ X.500 Directory System Agents (DSAs)
◦ Lightweight Directory Access Protocol (LDAP ) Server
◦ Online Certificate Status Protocol (OCSP) Responders
◦ Domain name System (DNS) và Web servers
◦ File Transfer Protocol (FTP) Servers và Corporate Databases
4 Chức năng cơ bản PKI.
Những hệ thống cho phép PKI có những chức năng khác nhau Nhưng nhìn chung
có hai chức năng chính là: chứng thực và thẩm tra
4.1 Chứng thực (certification)
Chứng thực là chức năng quan trọng nhất của hệ thống PKI Đây là quá trình ràng buộc khoá công khai với định danh của thực thể CA là thực thể PKI thực hiện chức năng chứng thực Có hai phương pháp chứng thực:
• Tổ chức chứng thực (CA) tạo ra cặp khoá công khai, khoá bí mật và tạo ra chứng chỉ cho phần khoá công của cặp khoá
• Người sử dụng tự tạo cặp khoá và đưa khoá công cho CA để CA tạo chứng chỉ cho khoá công đó Chứng chỉ đảm bảo tính toàn vẹn của khoá công khai và các thông tin gắn cùng
4.2 Thẩm tra (validation)
Quá trình xác định liệu chứng chỉ đã đưa ra có thể được sử dụng đúng mục đích
Trang 18Quá trình này bao gồm một số bước sau:
• Kiểm tra xem liệu có đúng là CA được tin tưởng đã ký số lên chứng chỉ hay không (xử lý theo đường dẫn chứng chỉ)
• Kiểm tra chữ ký số của CA trên chứng chỉ để kiểm tra tính toàn vẹn
• Xác định xem chứng chỉ còn ở trong thời gian có hiệu lực hay không
• Xác định xem chứng chỉ đã bị thu hồi hay chưa
• Xác định xem chứng chỉ đang được sử dụng có đúng mục đích, chính sách, giới hạn hay không (bằng cách kiểm tra những trường mở rộng cụ thể như mở rộng chính sách chứng chỉ hay mở rộng việc sử dụng khoá).
4.3 Một số chức năng khác
Hệ thống PKI thực hiện chức năng chứng thực, thẩm tra cùng với một số chức năng phụ trợ khác Dưới đây là một số chức năng và dịch vụ được hầu hết các hệ thống PKI cung cấp Một số những chức năng khác có thể được định nghĩa tuỳ theo yêu cầu cụ thể của các hệ thống PKI
• Đăng ký: Là quá trình đến hoặc liên lạc với các tổ chức, trung tâm tin cậy để
đăng ký các thông tin và xin cấp chứng chỉ RA và CA là những thực thể trong quá trình đăng ký Quá trình đăng ký phụ thuộc vào chính sách của tổ chức Nếu chứng chỉ được cung cấp với mục đích dùng cho những hoạt động bí mật thì sử dụng phương pháp gặp mặt trực tiếp Nếu chứng chỉ chỉ được sử dụng cho những mục đích, hoạt động thường thì có thể đăng ký qua những ứng dụng viết sẵn hoặc ứng dụng điện tử
• Khởi tạo ban đầu: Khi hệ thống trạm của chủ thể nhận được các thông tin cần
thiết để liên lạc với CA thì quá trình khởi tạo bắt đầu Những thông tin này có thể
là khoá công của CA, chứng chỉ của CA, cặp khóa công /bí mật của chủ thể Một
số hệ thống khác sử dụng cơ chế dựa trên password trong giai đoạn khởi tạo Người dùng cuối liên lạc với CA khi nhận được password và sau đó thiết lập một kênh bảo mật để truyền những thông tin cần thiết Giai đoạn khởi tạo thường tiếp tục với quá trình chứng thực
• Khôi phục cặp khóa: Hầu hết hệ thống PKI tạo ra hai cặp khoá cho người sử
dụng cuối, một để ký số và một để mã hoá Lý do để tạo hai cặp khoá khác nhau xuất phát từ yêu cầu khôi phục và sao lưu dự phòng khoá Tuỳ theo chính sách của tổ chức, bộ khoá mã (mã và giải mã) và những thông tin liên quan đến khoá của người sử dụng phải được sao lưu để có thể lấy lại được dữ liệu khi người sử dụng mất khoá riêng hay rời khỏi đơn vị Còn khoá để ký số được sử dụng tuỳ theo mục đích cá nhân nên không được sao lưu Riêng khoá bí mật của CA thì được lưu giữ dự phòng trong một thời gian dài để giải quyết những vấn đề nhầm