Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
Mụ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
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 .
Để đạt được thành quả như ngày hôm nay, nhóm nghiên cứu xin chân thành cảm
Nhóm nghiên cứu khoa học 3 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
ơ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 Minh
Trần Thanh Nga
Lê Tâm Đắc
Trịnh Đình Biên
Nguyễn Trọng Dũng
Nhóm nghiên cứu khoa học 4 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
Nhóm nghiên cứu khoa học 5 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
Tuy 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ó.
II. Chữ ký số.
Chữ ký số là thông tin đi kèm theo dữ liệu (văn bản, hình ảnh, video, … ) nhằm
mục đích xác định người chủ của dữ liệu đó.
Để sử dụng chữ ký số thì dữ liệu cần phải được mã hóa bằng hàm băm (dữ liệu
được "băm" ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau đó dùng
khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số. Khi cần kiểm tra,
bên nhận giải mã (với khóa công khai) để lấy lại chuỗi gốc (được sinh ra qua hàm băm
ban đầu) và kiểm tra với hàm băm của văn bản nhận được. Nếu 2 giá trị (chuỗi) này
khớp nhau thì bên nhận có thể tin tưởng rằng dữ liệu xuất phát từ người sở hữu khóa bí
mật
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ố
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
Nhóm nghiên cứu khoa học 8 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
cho 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.
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
Nhóm nghiên cứu khoa học 10 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
toá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ỉ
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ẽ
Nhóm nghiên cứu khoa học 12 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
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ý.
Nhóm nghiên cứu khoa học 13 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
2.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ản
Phầ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 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
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
thích hợp hay không được xem như là quá trình kiểm tra tính hiệu lực của chứng chỉ.
Nhóm nghiên cứu khoa học 17 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
Quá 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
báo về ngày hết hạn. Hệ thống sẽ thông báo về tình huống này trong một thời gian
nhất định. Chứng chỉ mới sẽ được người cấp công bố tự động sau thời gian hết
hạn.
• Xâm hại khóa: Đây là trường hợp không bình thường nhưng nếu xảy ra thì khoá
mới sẽ được công bố và tất cả người sử dụng trong hệ thống sẽ nhận thấy điều
này. Xâm hại đến khoá của CA là một trường hợp đặc biệt. Và trong trường hợp
này thì CA sẽ công bố lại tất cả các chứng chỉ với CA-certificate mới của mình
• Thu hồi: Chứng chỉ được công bố sẽ được sử dụng trong khoảng thời gian có
hiệu lực Nhưng trong trường hợp khoá bị xâm hại hay có sự thay đổi trong thông
tin của chứng chỉ thì chứng chỉ mới sẽ được công bố, chứng chỉ cũ sẽ bị thu hồi.
• Công bố và gửi thông báo thu hồi chứng chỉ: Một chứng chỉ được cấp cho
người sử dụng cuối sẽ được gửi đến cho người nắm giữ và hệ thống lưu trữ để có
thể truy cập công khai. Khi một chứng chỉ bị thu hồi vì một lý do nào đó, tất cả
người sử dụng trong hệ thống sẽ được thông báo về việc này. Phương thức để
công bố và gửi những thông báo thu hồi đã được đề cập chi tiết trong nội dung về
chứng chỉ số ở phần trên.
• Xác thực chéo: Xác thực chéo là một trong những đặc tính quan trọng nhất của
hệ thống PKI. Chức năng này được sử dụng để nối hai miền PKI khác nhau. Xác
thực chéo là cách để thiết lập môi trường tin cậy giữa hai CA dưới những điều
kiện nhất định. Những điều kiện này được xác định theo yêu cầu của người sử
dụng. Những người sử dụng ở các miền khác nhau chỉ có thể giao tiếp an toàn với
người khác sau khi việc xác thực chéo giữa các CA thành công. Xác thực chéo
được thiết lập bằng cách tạo chứng chỉ CA xác thực lẫn nhau. Nếu CA-1 và CA-2
muốn thiết lập xác thực chéo thì cần thực hiện một số bước sau:
◦ CA-1 công bố CA – certificate cho CA-2.
◦ CA-2 công bố CA – certificate cho CA-1.
Nhóm nghiên cứu khoa học 19 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
◦ CA-1 và CA-2 sẽ sử dụng những trường mở rộng xác định trong chứng chỉ để
đặt những giới hạn cần thiết trong CA-certificate. Việc xác thực chéo đòi hỏi
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
Nhóm nghiên cứu khoa học 21 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
khóa và định dạng người dùng. Nhờ vậy người dùng có thể sử dụng trong một số ứng
dụng như:
• Mã hóa email hoặc xác thực người gửi email.
• Mã hóa hoặc xác thực văn bản.
• Xác thực người dùng ứng dụng.
• Xác giao thức truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL):
trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng.
Nhóm nghiên cứu khoa học 22 Học viện Kỹ Thuật Mật Mã
Nghiên cứu, xây dựng hạ tầng khóa công khai PKI dựa trên OpenCA.
Chương III: Xây dựng hệ thống PKI với
OpenCA.
I. Giới thiệu về OpenCA
Cơ sở hạ tầng khoá công khai là một trong những nhu cầu thiết yếu của tương lai.
Nhưng vấn đề là hầu hết các ứng dụng có thể được đảm bảo an toàn bằng chứng chỉ và
khoá thì lại rất khó và đắt đề cài đặt PKI, lý dó là phần mềm trung tâm tin cậy có tính
linh hoạt thì lại rất đắt. Đây là điểm khởi đầu của OpenCA. Mục đích là sản phẩm của hệ
thống trung tâm tin cậy nguồn mở để hỗ trợ cộng đồng với các giải pháp tốt, rẻ (chi phí
hợp lý) và mang tính xu hướng trong tương lai.
Dự án OpenCA được bắt đầu vào năm 1998. Ý tưởng OpenCA ban đầu được phát
triển bởi Massimiliano Pala. Mã nguồn ban đầu của dự án được viết bởi đoạn script rất
dài. Khi phiên bản đầu tiên của phần mềm được xây dựng thì dự án OpeSL vẫn có tên là
SSLeay. Rất nhiều chức năng vẫn còn lỗi và nhiều thứ khác nữa đều đang bị bỏ qua.
Phiên bản đầu tiên của OpenCA rất đơn giản, nhiều chức năng được xây dựng chủ
yếu chỉ được dùng để cấp phát chứng chỉ, CRL và các phương thức cài đặt thì khá đơn
sơ, không có tính tiện dụng cho bất kỳ tiện ích cấu hình nào, đoạn script chỉ có thể tương
thích với bash.
Các phiên bản tiếp theo được bổ sung thêm nhiều tính năng hơn cho dự án và do
hiện việc sinh khóa bí mật chúng ta phải chọn thuật toán khóa, thuật toán mã hóa
khóa và độ dài của khóa.
Nhóm nghiên cứu khoa học 25 Học viện Kỹ Thuật Mật Mã