Mỗi người dùng trong hệ thống sẽ được xác định bởi khóa cá nhân và chứng thư số do hệ thống cấp phát ; mỗi giao dịch sẽ được gắn chữ kí số của người tham gia.. Nguyễn Linh Giang, tác giả
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Bùi Trọng Tùng
NGHIÊN CỨU, TRIỂN KHAI, THỬ NGHIỆM VÀ ỨNG DỤNG
GIẢI PHÁP TÍCH HỢP SINH TRẮC VÀO PKI
Chuyên ngành : Kỹ thuật máy tính và truyền thông
LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS NGUYỄN LINH GIANG
Hà Nội – Năm 2010
Trang 22
LỜI CAM ĐOAN
Tôi – Bùi Trọng Tùng- cam kết luận văn Thạc sĩ khoa học này là công trình
nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Nguyễn Linh Giang
Các kết quả nêu trong luận văn là trung thực, không phải là sao chép toàn
văn của bất kỳ công trình nào khác
Toàn văn luận văn đã được sự cho phép công bố của đề tài KC.01.11/06-10
“Nghiên cứu xây dựng hệ thống kiểm soát truy cập mạng và an ninh thông tin dựa
trên sinh trắc học sử dụng công nghệ nhúng” nằm trong Chương trình Khoa
học-Công nghệ trọng điểm cấp nhà nước giai đoạn 2006-2010
Tác giả
Trang 33
MỤC LỤC
TRANG PHỤ BÌA 1
LỜI CAM ĐOAN 2
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC CÁC BẢNG 7
DANH MỤC HÌNH VẼ 8
MỞ ĐẦU 10
Chương 1- TỔNG QUAN VỀ HẠ TẦNG KHÓA CÔNG KHAI PKI 15
1.1 Các khái niệm cơ bản 15
1.1.1 Hệ mật mã khóa bất đối xứng 15
1.1.2 Cơ sở hạ tầng khóa công khai 19
1.2 Các thành phần của PKI 20
1.2.1 Nhà phát hành chứng thư số CA 21
1.2.2 Cơ quan đăng kí chứng thực RA 22
1.2.3 Thực thể đầu cuối 23
1.2.4 Cấu trúc chứng thư số 24
1.2.5 Kho chứng thư số 25
1.3 Các chức năng chính của PKI 26
1.3.1 Yêu cầu chứng thư số 26
1.3.2 Phát hành chứng thư số 26
1.3.3 Công bố chứng thư số 26
1.3.4 Hủy chứng thư số 27
1.3.5 Các hoạt động quản lý khóa 27
1.4 Kiến trúc PKI 28
1.4.1 Kiến trúc PKI đơn có một CA 29
1.4.2 Kiến trúc PKI xí nghiệp 31
Trang 44
1.5 Sản phẩm mã nguồn mở hạ tầng khóa công khai OpenCA 36
1.5.1 Giới thiệu chung về OpenCA 36
1.5.2 Các thành phần chính của OpenCA 37
1.5.3 Các dịch vụ chính của OpenCA 38
1.6 Một số vấn đề của PKI 39
Chương 2 - XÂY DỰNG MÔ HÌNH GIẢI PHÁP VÀ THIẾT KẾ HỆ THỐNG BIOPKI 41
2.1 Vấn đề tích hợp sinh trắc học vào hệ thống PKI 41
2.1.1 Các yêu cầu chung đối với một hệ thống BioPKI 41
2.1.2 Các hướng tiếp cận sinh trắc học vào PKI 42
2.2 Giải pháp xây dựng và phát triển hệ thống BioPKI 47
2.2.1 Giải pháp sử dụng sinh trắc học và công nghệ nhúng bảo vệ khóa cá nhân.47 2.2.2 Giải pháp xây dựng BioPKI trên nền tảng PKI-OpenCA 49
2.3 Mô hình kiến trúc hệ thống mức khung cảnh 53
2.4 Thiết kế chức năng các thành phần trong hệ thống BioPKI 55
2.4.1 Thành phần CA Operator 55
2.4.2 Thành phần RA 58
2.4.3 Thành phần LRA 61
2.4.4 Website quảng bá thông tin 62
2.5 Quy trình hoạt động của hệ thống BioPKI 64
2.5.1 Thiết lập hệ thống ban đầu 64
2.5.2 Cấp phát chứng thư số mới 67
2.5.3 Hủy chứng thư theo yêu cầu 70
Chương 3 - GIẢI PHÁP XÂY DỰNG ỨNG DỤNG CHỮ KÍ SỐ TRÊN NỀN TẢNG HỆ THỐNG BIOPKI 72
3.1 Khái quát chung về chữ kí số 72
3.1.1 Khái niệm chữ kí số 72
3.1.2 Sơ đồ nguyên lý kí số và xác thực chữ kí số 73
Trang 55
3.2 Ứng dụng chữ kí số trên nền tảng hệ thống BioPKI 76
3.3 Giải pháp tích hợp ứng dụng chữ kí số trên nền tảng BioPKI vào các giao dịch điện tử 79
3.3.1 Triển khai chữ kí số cho các dịch vụ trên nền tảng Application-based 79
3.3.2 Triển khai ứng dụng chữ kí số trên các ứng dụng Web-based 81
Chương 4 - TRIỂN KHAI HỆ THỐNG BIOPKI VÀ KẾT QUẢ THỬ NGHIỆM 84
4.1 Đề xuất giải pháp triển khai hệ thống BioPKI 84
4.1.1 Quy trình tác nghiệp tại một cơ quan phát hành và quản lý chứng thư số 84
4.1.2 Quy trình một tác nghiệp trao đổi và xử lí văn bản 87
4.1.3 Triển khai hạ tầng hệ thống BioPKI tại địa chỉ ứng dụng 88
4.2 Kết quả triển khai thử nghiệm 91
4.2.1 Mô hình hệ thống thử nghiệm 91
4.2.2 Nội dung và kết quả thử nghiệm 93
4.2.3 Đánh giá kết quả thử nghiệm 100
KẾT LUẬN VÀ KIẾN NGHỊ 102
TÀI LIỆU THAM KHẢO 104
Trang 6ID Identification
Trang 77
DANH MỤC CÁC BẢNG
Bảng 4.1 Danh sách thiết bị triển khai hệ thống 92
Bảng 4.2 Kết quả thử nghiệm cấp phát chứng thư mới 93
Bảng 4.3 Kết quả thử nghiệm thu hồi chứng thư số hết hạn 94
Bảng 4.4 Kết quả thử nghiệm thu hồi chứng thư số theo yêu cầu 95
Bảng 4.5 Kết quả triển khai chữ kí số trên nền tảng Application-based 96
Bảng 4.6 Kết quả triển khai chữ kí số trên nền tảng Web-based 97
Bảng 4.7 Kết quả thử nghiệm chống tấn công giả mạo nội dung 98
Bảng 4.8 Kết quả thử nghiệm chống tấn công giả danh người dùng 99
Bảng 4.9 Đánh giá kết quả thử nghiệm 100
Trang 88
DANH MỤC HÌNH VẼ
Hình 1.1 Sơ đồ nguyên lý hệ mã hóa khóa công khai đảm bảo tính mật 1
Hình 1.2 Sơ đồ nguyên lý hệ mã hóa khóa công khai đảm bảo tính xác thực 1
Hình 1.3 Các thành phần của PKI 20
Hình 1.4 Cấu trúc của một chứng thư số 24
Hình 1.5 Kiến trúc PKI có một CA 29
Hình 1.6 Mô hình danh sách các CA tin cậy (Basic Trust List Model) 30
Hình 1.7 Mô hình PKI phân cấp 31
Hình 1.8 Mô hình PKI lưới 33
Hình 1.9 Mô hình danh sách điểm tin cậy mở rộng 34
Hình 1.10 Mô hình PKI chứng nhận chéo 35
Hình 1.11 Mô hình CA bắc cầu 35
Hình 2.1 Hướng tiếp cận hệ thống BioPKI 42
Hình 2.2 Một số đặc trưng sinh trắc học 43
Hình 2.3 Hệ thống sinh trắc học 44
Hình 2.4 Mô hình sử dụng thẻ Bio-Etoken bảo vệ khóa cá nhân 48
Hình 2.5 Mô hình kiến trúc hệ thống BioPKI mức khung cảnh 53
Hình 2.6 Biểu đồ phân cấp chức năng của CA Operator 56
Hình 2.7 Sơ đồ phân cấp chức năng của LRA 59
Hình 2.8 Sơ đồ phân cấp chức năng của LRA 62
Hình 2.9 Kịch bản thiết lập CA Operator 64
Hình 2.10 Kịch bản thiết lập RA 65
Hình 2.11 Kịch bản thiết lập LRA 66
Hình 2.12 Quy trình hệ thống cấp chứng thư mới 68
Hình 2.13 Quy trình hệ thống hủy chứng thư theo yêu cầu 71
Hình 3.1 Quá trình tạo và xác thực chữ kí số 74
Hình 3.2 Kịch bản kí số lên bản tin trong hệ thống BioPKI 77
Hình 3.3 Kịch bản xác thực chữ kí số trong hệ thống BioPKI 79
Trang 99
Hình 3.4 Triển khai chữ kí số trên ứng dụng Application-based 80
Hình 3.5 Nền tảng Web-based để xây dựng ứng dụng chữ kí số 82
Hình 4.1 Mô hình triển khai hệ thống BioPKI tại các đơn vị ứng dụng 88
Hình 4.2 Hạ tầng triển khai hệ thống BioPKI 89
Hình 4.3 Sơ đồ hệ thống thử nghiệm 91
Trang 1010
MỞ ĐẦU
Ngay từ khi mới ra đời, mạng máy tính đã chứng minh được vai trò và sức ảnh hưởng lớn lao của nó tới các lĩnh vực có ứng dụng công nghệ thông tin Đặc biệt, sự phát triển mạnh mẽ của mạng Internet kéo theo sự phát triển không ngừng của các giao dịch điện tử trên môi trường mạng, là nền tảng để kéo cộng đồng người dùng tới gần nhau hơn Tuy nhiên, môi trường mạng là một môi trường ảo và
tự do, ai cũng có thể tham gia nên nguy cơ xảy ra giả danh, giả mạo để lừa đảo là rất cao Nhu cầu xây dựng một hệ thống an toàn-an ninh thông tin đảm bảo các giao dịch có định danh và chống từ chối ngày càng trở nên cấp thiết Cơ sở hạ tầng khóa công khai PKI (Public Key Infrastructure), phát triển trên nền tảng các hệ mật khóa bất đối xứng, là một trong những giải pháp được ưa chuộng do tính ưu việt của nó
so với nhiều giải pháp khác Mỗi người dùng trong hệ thống sẽ được xác định bởi khóa cá nhân và chứng thư số do hệ thống cấp phát ; mỗi giao dịch sẽ được gắn chữ
kí số của người tham gia Tuy nhiên, như bất kì một hệ thống thông tin nào khác, PKI cũng có những vấn đề an toàn-bảo mật thông tin; mà chỉ khi nào những vấn đề này được giải quyết thì PKI mới thực sự chứng minh được khả năng ứng dụng của
nó Trong đó, nguy cơ lớn nhất là khóa cá nhân bị mất và được sử dụng bởi một người không phải là chủ sở hữu của nó; đặc biệt nếu khóa cá nhân đó là của quản trị viên hệ thống thì hệ thống sẽ đổ vỡ Với một hệ thống PKI thông thường, các giải pháp kĩ thuật chỉ cho phép xác thực được “Ai đang dùng khóa cá nhân ?” chứ không thể khẳng định được “Khóa cá nhân đó có đúng là của người dùng nó hay không ?” Để tiến tới một giải pháp xác thực chủ thể hiệu quả, cũng như bảo vệ tốt khóa cá nhân, người ta nghĩ tới việc tích hợp yếu tố sinh trắc học, với điểm mạnh chính là tính xác thực dựa trên tính đặc trưng cho từng cá nhân, với hệ thống PKI thành BioPKI
Trong quá trình tham gia đề tài Khoa học công nghệ cấp nhà nước mang mã
số KC01.11/06-10 về “Nghiên cứu, xây dựng hệ thống kiểm soát truy cập mạng và
an ninh thông tin dựa trên sinh trắc học sử dụng công nghệ nhúng”, tác giả đã nhận
Trang 1111
thức được xu thế xây dựng và phát triển hệ thống BioPKI Dưới sự gợi ý và hướng dẫn của TS Nguyễn Linh Giang, tác giả đã nghiên cứu các mô hình xây dựng hệ thống BioPKI cùng với ứng dụng chữ kí số trên nền tảng BioPKI Với tiền đề là những kết quả công việc từ năm 2008 khi tham gia đề tài KC01.11/06-10, tác giả lựa chọn được một giải pháp xây dựng hệ thống BioPKI và ứng dụng chữ kí số để bắt đầu thực hiện luận văn Thạc sĩ khoa học “Nghiên cứu, triển khai, thử nghiệm và ứng dụng giải pháp tích hợp sinh trắc vào PKI” Sau một thời gian nghiên cứu, từ tháng 11/2009 đến 10/2010, tác giả đã đạt được những kết quả sau :
− Tháng 11/2009, cùng với TS Nguyễn Linh Giang, tác giả tham gia Hội nghị
FAIR 2009 với bài báo Mô hình tích hợp sinh trắc tăng cường an ninh cho cơ sở
hạ tầng khóa công khai PKI Bài báo đã được chấp nhận và đang chờ phản biện
− Tháng 6/2010, cùng với TS Nguyễn Linh Giang, tác giả công bố bài báo
“Digital signature using Bio-Etoken in BioPKI system and applications” trên
− Đề xuất mô hình tổng thể hệ thống BioPKI trên cơ sở tích hợp sinh trắc học vào PKI, thiết kế chức năng các thành phần của hệ thống, bảo đảm an toàn khóa cá nhân; đồng thời hệ thống có thể phục vụ cho các quy trình tác nghiệp tại một cơ quan phát hành và quản lý chứng thư số
− Xây dựng giải pháp chữ kí số trên nền tảng hệ thống BioPKI
− Đề xuất giải pháp triển khai hệ thống BioPKI và ứng dụng chữ kí số cho các nghiệp vụ thực tế
Đối tượng nghiên cứu
Trang 12− Nghiên cứu nguyên lí chữ kí số truyền thống, từ đó xây dựng giải pháp chữ kí số trên nền tảng hệ thống BioPKI và đề xuất mô hình triển khai chữ kí số trong các giao dịch điện tử
Phạm vi nghiên cứu
Dựa trên những kết quả nghiên cứu về nguyên lý cơ sở hạ tầng khoá công khai PKI và mô hình lý thuyết các hướng tiếp cận BioPKI, tác giả lựa chọn, đề xuất các giải pháp triển khai một hướng tiếp cận khả thi Trên cơ sở đó, tác giả xây dựng
mô hình tổng thể hệ thống BioPKI với các giải pháp lựa chọn, xây dựng mô hình ứng dụng chữ kí số trên nền tảng BioPKI, thử nghiệm toàn bộ hệ thống và ứng dụng cho các quy trình tác nghiệp trên thực tế
Phương pháp nghiên cứu
Tác giả đã sử dụng các phương pháp nghiên cứu để hoàn thành luận văn, bao gồm :
− Nghiên cứu lý thuyết :
• Nghiên cứu các mô hình lý thuyết về cơ sở hạ tầng khóa công khai PKI
• Nghiên cứu các hướng tiếp cận tích hợp sinh trắc vào PKI
• Nghiên cứu các phương pháp mật mã đảm bảo tính xác thực cho giao dịch điện tử trong môi trường mạng
− Công nghệ :
• Khảo sát công nghệ và lựa chọn giải pháp công nghệ phù hợp và có tính khả thi để xây dựng hệ thống BioPKI
Trang 1313
• Phân tích, đánh giá và xây dựng giải pháp trên cơ sở phân tích các yêu cầu đối với hệ thống BioPKI
− Triển khai thử nghiệm hệ thống và đánh giá kết quả
Những đóng góp mới của tác giả sẽ được trình bày trong nội dung luận văn,
bao gồm :
− Mô hình tổng thể hệ thống BioPKI tích hợp tất cả các thành phần : hệ thống PKI-OpenCA, phân hệ sinh trắc, phân hệ thiết bị nhúng
− Mô hình triển khai chữ kí số trên nền tảng hệ thống BioPKI cho các ứng dụng giao dịch điện tử xây dựng trên hai công nghệ : Application-based và Web-based
− Giải pháp triển khai hạ tầng hệ thống BioPKI cho các nghiệp vụ và ứng dụng trong thực tế
Nội dung chính của luận văn được trình bày theo những luận điểm sau :
− Chương 1 – Tổng quan về hạ tầng khóa công khai PKI Trong chương này, tác
giả trình bày những vấn đề cơ bản của hệ thống PKI, bao gồm : các thành phần chức năng, các dịch vụ lõi, kiến trúc PKI Các vấn đề cơ bản trên được minh họa bằng một sản phẩm mã nguồn mở là hệ thống PKI-OpenCA Cuối chương, tác giả đánh giá một số nguy cơ an toàn bảo mật thông tin trong hệ thống PKI để
cho thấy nhu cầu phải có giải pháp tăng cường an ninh cho hệ thống
− Chương 2 – Xây dựng mô hình giải pháp và thiết kế hệ thống BioPKI Phần
đầu chương này, tác giả trình bày lựa chọn giải pháp tích hợp sinh trắc học và công nghệ nhúng với hệ thống PKI-OpenCA thành hệ thống BioPKI Tác giả đã đưa ra giải pháp công nghệ, phân tích và đánh giá giải pháp phát triển hệ thống BioPKI Trong phần còn lại của chương này, tác giả trình bày thiết kế chức năng cho các thành phần của hệ thống BioPKI theo mô hình và giải pháp công nghệ
Trang 1414
PIN và đặc trưng sinh trắc để đảm bảo chỉ có người sở hữu thực sự của khóa cá nhân mới có thể sử dụng khóa để kí số Tác giả cũng đưa ra mô hình triển khai
chữ kí số cho các ứng dụng trên hai nền tảng : Application-based và Web-based
− Chương 4 – Triển khai hệ thống BioPKI và kết quả thử nghiệm Trong
chương này, tác giả trình bày nội dung triển khai hạ tầng hệ thống BioPKI để đáp ứng các quy trình tác nghiệp cho một cơ quan phát hành và quản lý chứng thư số Tác giả cũng trình bày các kịch bản thử nghiệm và kết quả để kiểm
chứng lại những giải pháp đã đưa ra trong các chương trước
Để có được những kết quả nghiên cứu trên, tác giả xin gửi lời cảm ơn chân thành tới TS Nguyễn Linh Giang, người đã tận tình hướng dẫn trong quá trình tác giả thực hiện luận văn Tác giả cũng xin gửi lời cảm ơn tới PGS.TS Nguyễn Thị Hoàng Lan, chủ nhiệm đề tài KC.01.11/06-10, và các thành viên khác trong đề tài
đã có những đóng góp quý báu để tác giả hoàn thành luận văn này
Trang 1515
Chương 1 - TỔNG QUAN VỀ HẠ TẦNG KHÓA CÔNG KHAI PKI
1.1 Các khái niệm cơ bản
1.1.1 Hệ mật mã khóa bất đối xứng
Mật mã là một công cụ bao gồm các nguyên tắc, phương tiện và phương thức chuyển đổi dữ liệu nhằm ấn dấu nội dung thông tin, củng cố tính xác thực của thông tin, ngăn chặn sự thay đổi, tính từ chối, và việc sử dụng trái phép thông tin Đây là một trong các giải pháp được dùng để đảm bảo an toàn-bảo mật cho dữ liệu của các hệ thống thông tin và truyền thông
Hệ mật mã bất đối xứng hay còn có tên gọi là hệ mật mã mã hóa công khai gồm có 5 thành phần đặc trưng [9]:
Trong đó:
1 Bản tin rõ: Là dạng nguyên bản của thông điệp cần truyền đi, nó được sử
dụng làm đầu vào cho các thuật toán mã hóa
2 Thuật toán mã hóa: được dùng để tạo ra những phép biến đổi khác nhau
lên bản tin rõ trong từng trường hợp cụ thể
3 Khóa công khai và khóa cá nhân: Là cặp khóa được sử dụng trong quá
trình truyền và nhận thông tin Một khóa trong hai khóa được sử dụng cho việc mã hóa, khóa còn lại được sử dụng cho việc giải mã bản tin Cặp khóa này mang giá trị độc lập đối với bản tin rõ và thuật toán mã hóa Thuật toán sẽ tạo ra các giá trị khác nhau phụ thuộc vào việc khoá công khai hay khóa cá nhân nào được sử dụng làm đầu vào trong thời điểm đấy Khóa cá nhân phải được giữ bí mật với tất cả mọi người, trừ người
sở hữu nó, còn khóa công khai có thể được công bố rộng rãi
4 Mã mật: là một bản tin được xuất ra bởi thuật toán mã hóa, nó phụ thuộc
vào bản tin rõ và khóa Với cùng một bản tin rõ, 2 khóa khác nhau sẽ tạo
ra 2 bản mã mật khác nhau
Trang 1616
5 Thuật toán giải mã: Ngược với thuật toán mã hóa, nó dùng mã mật làm
đầu vào và sử dụng cặp khóa công khai/ khóa cá nhân để tạo ra bản tin rõ ban đầu
Trong phương pháp mã hóa bằng khóa công khai, cặp khoá công khai/khóa
cá nhân của một người mang tính chất duy nhất, vì thế có thể coi đó là đặc trưng cho người sử dụng khóa Nguyên tắc sử dụng cặp khóa này là:
− Bản tin được mã hóa bằng một trong hai khoá thì chỉ có thể được giải mã bằng khóa còn lại trong cặp khóa đó
− Không thể tìm ra được khóa giải mã nếu biết thuật toán và khóa mã hóa
− Bản tin không thể được giải mã bằng khóa đã dùng để mã hóa nó
Nhờ những nguyên tắc trên mà phương pháp mã hóa công khai trở nên rất thích hợp trong việc sử dụng các chứng thư số và các dịch vụ chống phủ nhận
Một đặc trưng của công nghệ mã hóa công khai đó là: đảm bảo được tính mật và tính xác thực Trong các hệ mật sử dụng mã hóa công khai, người ta có thể
áp dụng từng tính chất này hoặc kết hợp cả hai để đạt được hiệu quả an ninh tốt nhất
X
Bản tin đích
Thám mã
Y
Tạo cặp khóa Bản tin gốc
Hình 1.1 Sơ đồ nguyên lý hệ mã hóa khóa công khai đảm bảo tính mật
Trang 1717
Giả sử bên A cần gửi một bản tin X cho B B sẽ tạo ra một cặp khóa bất đối xứng, trong đó: khóa công khai của B là PUb và khóa cá nhân tương ứng là PRb Chỉ mình B mới biết được PRb trong khi đó PUb được công khai, do đó A có thể sử dụng được khóa này
Sử dụng bản tin X và khóa công khai PUb làm đầu vào cho thuật toán giải
b Mô hình đảm bảo tính xác thực [9]
Như đã nói ở trên, việc sử dụng cặp khóa bất đối xứng, một để mã hóa dữ liệu, một
để giải mã không những chỉ đảm bảo được tính mật cho hệ thống mà còn có thể cung cấp cả tính năng xác thực như hình 1.2
Trong trường hợp này, khi bên A muốn gửi một bản tin X đến B, A sẽ sử dụng khóa cá nhân PRa của mình để mã hóa dữ liệu trước khi truyền Mã mật Y = E (PRa, X) sẽ được nhận bởi B B có thể giải mã Y để thu được bản tin gốc bằng cách
sử dụng khóa công khai PUa của A: X = D (PUa, Y)
Trang 1818
Nếu giải mã thành công thì chứng tỏ bản tin này đã được gửi đi bởi A vì chỉ
A mới có khóa cá nhân PRa để mã hóa bản tin Việc mã hóa dữ liệu kiểu này vì thế
có thể coi như là một chữ kí điện tử Nó không những chỉ đảm bảo cho việc xác thực nguồn gốc của dữ liệu mà còn đảm bảo được cả tính toàn vẹn của dữ liệu
Thám mã mong muốn sẽ khôi phục được khóa cá nhân PRa để có thể giả mạo nội dung bản tin gốc hoặc giả danh A trong giao dịch
Từ hai sơ đồ trên, chúng ta thấy Vấn đề bảo vệ bí mật an toàn khóa cá nhân của chủ sở hữu là điểm mấu chốt của hệ thống khóa công khai
Đánh giá công nghệ mã hóa công khai
− Thời hạn sử dụng cặp khóa dài hơn so với hệ mật mã khóa đối xứng
Thuật toán
mã hóa
X
Thuật toán giải mã
X
Bản tin đích
Thám mã
Y
Tạo cặp khóa Bản tin gốc
Hình 1.2 Sơ đồ nguyên lý hệ mã hóa khóa công khai đảm bảo tính xác thực
Trang 191.1.2 Cơ sở hạ tầng khóa công khai
Trong quá trình nghiên cứu và phát triển hệ mã hóa công khai người ta gặp phải một số vấn đề sau :
− Cơ quan, tổ chức hay cá nhân nào sẽ tạo ra cặp khoá công khai – cá nhân ?
− Dữ liệu (khoá, định danh người dùng, các thông tin khác) được lưu dưới định dạng nào trong hệ thống lưu trữ ?
− Có cơ chế nào để sinh và phân phối khoá và chứng thư số ?
− Làm thế nào để đảm bảo việc gắn kết giữa khoá công khai và định danh của thực thể có khoá đó là chính xác và đáng tin cậy ?
− Làm thế nào để người dùng có thể truy cập được đến nơi lưu trữ ?
− Làm thế nào để người dùng nhận biết được có sự thay đổi trong dữ liệu đang được lưu trên hệ thống lưu trữ ?
− Vấn đề gì sẽ xảy ra đối với khoá công khai nếu khoá bí mật bị xâm hại ?
Để trả lời cho những câu hỏi, nếu chỉ đơn thuần sử dụng mã hoá khoá công khai, là chưa đủ Cần phải có một hạ tầng cơ sở xác thực và phân phối đáng tin cậy
để quản lý và hỗ trợ cho những ứng dụng của mật mã khoá công khai trên mạng máy tính, nhằm tận dụng được những ưu điểm vượt trội mà mật mã khoá công khai đem lại Giải pháp được sử dụng ở đây là cơ sở hạ tầng khoá công khai – PKI (Public Key Infrastructure)
Cơ sở hạ tầng khoá công khai PKI là một tập hợp phần cứng và phần mềm
hệ thống, cùng với các chính sách, các thủ tục để quản lý và phân phối khóa, quản
Trang 20- Cơ quan đăng kí chứng thực – RA (Registration Authority): là đối tượng được
CA ủy quyền để chứng nhận những thông tin đăng kí cấp phát chứng thư
- Thực thể đầu cuối (End –Entity) là tất cả những thực thể có thể được định danh
Trang 2121
1.2.1 Nhà phát hành chứng thư số CA
Trung tâm phát hành chứng thư số gọi tắt là CA (Certificate Authority) là hạt nhân của hệ thống PKI Chỉ có CA mới có quyền phát hành chứng thư số cho một đối tượng sau khi kiểm tra những thông tin về đối tượng đó Trong hệ thống PKI,
CA đóng vai trò là một bên thứ ba mà các ứng dụng sử dụng chứng thư số trong hệ thống phải tin tưởng Muốn kiểm tra chữ kí của CA trên chứng thư số, hệ thống sử dụng khoá công khai của nhà phát hành CA được CA tự chứng thực hoặc được chứng thực bởi một CA khác mà hệ thống tin tưởng Mỗi chứng thư số có một thời gian sống nhất định Sau khoảng thời gian này chứng thư số cần được thu hồi và cấp phát mới cho đối tượng sử dụng Mặt khác do một điều kiện nào đó việc sử dụng chứng thư số là không còn hợp lệ ví dụ như khoá bí mật của chủ thể chứng thư
số bị tiết lộ; chứng thư số cần được thu hồi Nhà phát hành chứng thư số cần quản
lý trạng thái thu hồi của chứng thư số để chương trình sử dụng đầu cuối sử dụng chứng thư số một cách an toàn Như vậy CA không những quản lý chứng thư số khi
nó được khởi tạo mà CA còn phải quản lý cả chứng thư số trong quá trình sử dụng
Các chức năng của CA
- Xác thực yêu cầu cấp phát chứng thư số Đây là quá trình kiểm tra thông
tin định danh, cũng như cặp khoá mã hoá của đối tượng yêu cầu cấp phát chứng thư
số Quy trình diễn ra tuỳ thuộc hệ thống mà ta xây dựng Việc xác minh này có thể được thực hiện gián tiếp thông qua một bên trung gian, như các trung tâm đăng kí địa phương, hoặc xác minh trực tiếp thông qua tiếp xúc trực tiếp
- Phát hành chứng thư số Sau khi xác minh thông tin định danh, khoá mã
hoá của đối tượng yêu cầu chứng thư số, hoặc nhận được yêu cầu từ một RA, CA tiến hành cấp phát chứng thư số cho đối tượng
- Phân phối chứng thư số Nhà phát hành chứng thư số còn cung cấp các dịch
vụ để các hệ thống sử dụng chứng thư số truy cập và lấy về các chứng thư số mà nó cần Các dịch vụ này rất đa dạng nhưng sử dụng phổ biến nhất là dịch vụ email và dịch vụ thư mục LDAP
Trang 2222
- Thu hồi chứng thư số Khi một chứng thư số được yêu cầu huỷ bỏ, hoặc do
một nguyên nhân nào đó mà việc sử dụng chứng thư số không còn an toàn, thì CA phải thu hồi chứng thư số đó và phải thông báo cho toàn bộ hệ thống biết danh sách các chứng thư số bị thu hồi cho toàn hệ thống thông qua các CRL (Certificate Revocation List )
- Treo chứng thư số Trong trường hợp CA phát hiện ra các dấu hiệu khả nghi
việc sử dụng chứng thư số là không còn an toàn nữa thì CA sẽ phải treo chứng thư
số, tức là chứng thư số đó bị thu hồi tạm thời, nhưng nếu CA tìm được thông tin chứng minh rằng việc sử dụng chứng thư số vẫn đảm bảo an toàn thì chứng thư số
sẽ được thay đổi lại trạng thái bị thu hồi
- Gia hạn chứng thư số Trong trường hợp chứng thư số hết thời hạn sử dụng,
nhưng chứng thư số vẫn đảm bảo tính bí mật khi sử dụng, thì nó có thể được cấp lại( tùy thuộc vào yêu cầu của chủ thể chứng thư số) Tức là gia hạn thêm thời gian
sử dụng cho chứng thư số Chứng thư số được cấp mới không có gì thay đổi, ngoại trừ trường thời gian hết hạn được thay, tất nhiên là kéo theo cả chữ kí của nhà phát hành chứng thư số cũng thay đổi
- Quản lý trạng thái chứng thư số Thông qua các CRL không những giúp
cho các nhà phát hành chứng thư số quảng bá thông tin về những chứng thư số bị thu hồi mà còn giúp cho CA quản lý trạng thái thu hồi của chứng thư số Việc quản
lý trạng thái thu hồi này là rất quan trọng Vì nếu các ứng dụng đầu cuối sử dụng những chứng thư số bị thu hồi thì hệ thống không còn an toàn nữa
1.2.2 Cơ quan đăng kí chứng thực RA
Trong các hệ thống với phạm vi vật lý rộng lớn, việc CA chứng nhận thông tin định danh của đối tượng là rất khó khăn Một giải pháp cho vấn đề này là CA sử dụng các cơ quan đăng kí địa phương - RA làm đại diện cho CA trong một cộng đồng nhỏ Các RA không trực tiếp phát hành chứng thư số, hay quản lý chứng thư
số mà nó chỉ thực hiện công việc xác nhận những thông tin người dùng cho CA
Trang 23- Gửi yêu cầu phát hành chứng thư số đến CA Nhận các chứng thư số từ CA
và trao nó cho chủ thể chứng thư số
- Nhận yêu cầu thu hồi chứng thư số từ phía người dùng, kiểm tra yêu cầu thu hồi và gửi những yêu cầu này cho CA
1.2.3 Thực thể đầu cuối
Là đối tượng được CA cấp phát chứng thư số để chứng nhận những thông tin định danh về đối tượng, đồng thời còn chứng minh rằng đối tượng sở hữu một khoá
bí mật tương ứng khoá công khai trong chứng thư số
Trong vai trò chủ thể của chứng thư số mỗi đối tượng có những quyền sau trong hệ thống
- Yêu cầu cấp phát chứng thư số Sau khi tạo được cặp khóa công khai/bí
mật, đối tượng yêu cầu chứng thư số có quyền yêu cầu một trung gian RA , hoặc yêu cầu trực tiếp với CA để được cấp phát chứng thư số Sau khi xác thực những thông tin mà đối tượng yêu cầu chứng thư số cung cấp, nhà phát hành chứng thư số
CA có thể kí, cung cấp một chứng thư số mới cho đối tượng yêu cầu chứng thư số
- Yêu cầu thu hồi chứng thư số Khi đối tượng sử dụng chứng thư số không
cần chứng thư số nữa, hoặc lộ mất khóa bí mật, chủ thể chứng thư số hoàn toàn có quyền yêu cầu hệ thống thu hồi chứng thư số của chính nó
- Yêu cầu thay đổi thông tin trên chứng thư số Tức là thay chứng thư số cũ
bằng chứng thư số mới nhưng giữ nguyên các trường thông tin, chỉ thay đổi những trường thông tin theo yêu cầu của chủ thể chứng thư số
Trang 2424
1.2.4 Cấu trúc chứng thư số
Hình 1.4 Cấu trúc của một chứng thư số
Các chứng thư số hiện nay được xây dựng theo chuẩn X.509, bao gồm những trường thông tin chính sau:
1 Phiên bản: phiên bản của chứng thư số, ví dụ: X.509 v1, v2 hoặc v3
2 Số serial: một số duy nhất (ID) để nhận dạng chứng thư số này so với những chứng thư số khác của CA
Trang 255 Hiệu lực (Validity): Khoảng thời gian có hiệu lực của chứng thư số
6 Chủ thể (Subject): Tên phân biệt của người sở hữu chứng thư số Trường này không được để trống trừ khi có một trường khác như trường Mở rộng (Extension) thay thế
7 Thông tin về khóa công khai của chủ thể (Subject Public Key Info): khoá công khai của chủ thể và ID của các thuật toán mã hóa đã sử dụng Trường này luôn phải có
8 Số ID của người phát hành (Issuer Unique ID): chỉ có ở phiên bản 2 và 3
9 Số ID của chủ thể (Subject Unique ID): chỉ có ở phiên bản 2 và 3
Trong chuẩn X.500, kho lưu trữ này là một thư mục máy chủ mà máy khách
có thể truy cập qua giao thức LDAP (Lightweight Directory Access Protocol), hoặc lấy file trên máy chủ qua giao thức FTP (File Transfer Protocol), giao thức HTTP (Hyper Text Transfer Protocol)
Trang 2626
1.3 Các chức năng chính của PKI
1.3.1 Yêu cầu chứng thư số
Một yêu cầu tạo chứng thư số được gửi từ người dùng tới CA thông qua RA
Có nhiều chuẩn khác nhau quy định nội dung một yêu cầu, thông dụng nhất là chuẩn PKCS#10, trong đó yêu cầu có các thông tin sau:
− Tên của CA
− Khóa công khai của người dùng
− Thuật toán tương ứng
− Chữ kí số của người dùng được tạo ra từ khóa cá nhân
Yêu cầu được người dùng gửi tới CA thông qua một kênh truyền an toàn Nếu kênh truyền không an toàn, người dùng cần lấy khóa công khai của CA về và
mã hóa thông điệp yêu cầu bằng khóa này, sau đó gửi đến CA
1.3.2 Phát hành chứng thư số
Sau khi đã thực hiện xác minh người đăng kí, CA tiến hành tạo chứng thư số dựa trên các thông tin có trong yêu cầu phát hành Tiếp đến, CA dùng khóa cá nhân
kí lên chứng thư số, đảm bảo tính toàn vẹn nội dung và khẳng định sự tin cậy của
CA đối với chứng thư số
Chứng thư số sau khi phát hành cần được công bố rộng rãi cho bất kỳ ai có nhu cầu trao đối thông tin với chủ thể của chứng thư số đó
1.3.3 Công bố chứng thư số
Nguyên tắc cơ bản của hệ thống PKI là cần công bố rộng rãi chứng thư số sao cho mọi người đều truy cập được PKI thường dùng một số phương pháp công
bố chứng thư số như sau:
− Dịch vụ thư mục: Phương pháp này dành cho các chứng thư số theo chuẩn X.509 Dịch vụ thư mục dành cho PKI phổ biến là X.509/LDAP theo chuẩn của IETF
Trang 2727
− Trang Web: các chứng thư số được đưa lên trang Web để mọi người có thể truy cập
− Các phương tiện khác như email, ổ đĩa di động…
Với mô hình PKI dạng lưới, các chứng thư số có thể được công bố phân tán bằng cách truyền từ người này qua người kia
1.3.4 Hủy chứng thư số
Chứng thư số chỉ được dùng để định danh người dùng trong một khoảng thời gian cho trước thể hiện qua thông tin ngày hết hiệu lực Tuy nhiên, chứng thư số có thể bị mất tính hợp lệ trước thời hạn Nguyên nhân có thể là do khóa cá nhân của
CA chứng thực cho chứng thư số đó bị mất, dẫn đến CA đó không còn tin cậy, hoặc người chủ sở hữu chứng nhận không còn dùng đến chứng thư số đó nữa… Trong các trường hợp như vậy, cần thiết phải thực hiện việc hủy bỏ chứng thư số
Khi một chứng thư số bị hủy bỏ, nó cần được công bố rộng rãi cho mọi người dùng khác rằng chứng thư số này không còn hiệu lực nữa Có hai cách công
bố là: đưa thông báo lên một máy chủ để cảnh báo mọi người hoặc đưa chứng thư
số bị hủy bỏ vào một danh sách chứng nhận hết hiệu lực (Certificate Revocation Lists - CRL) Nhằm đảm bảo danh sách này không quá dài, khi một chứng thư số trong danh sách này tới ngày hết hạn, nó sẽ bị xóa khỏi danh sách CA thực hiện quản lý CRL và phân phát thường xuyên theo chu kỳ xác định Chu kỳ cần phải đủ nhỏ nhằm tránh tình trạng sử dụng bất hợp pháp chứng thư số đã bị hủy trong khi CRL chưa được cập nhật
1.3.5 Các hoạt động quản lý khóa
Bảo vệ khóa cá nhân
Khóa cá nhân cần phải giữ bí mật, do vậy trong thực tế, khóa cá nhân luôn phải bảo vệ trong một phương tiện lưu trữ an toàn như smart card hay file đã mã hóa Truy cập tới khóa cá nhân cần phải có thông tin xác thực như PIN hay mật khẩu Riêng với khóa cá nhân của CA gốc cần phải được bảo vệ rất chặt chẽ (mất khóa đó thì toàn bộ hệ thống không còn giá trị), nên được chứa trong một thiết bị
Trang 28- Tạo một cặp khóa mới
- Tạo một chứng thư số có chứa khóa công khai cũ của CA, được kí bằng khóa
cá nhân mới của CA Thời gian hoạt động của chứng thư số này tính từ ngày tạo cho tới ngày hết hạn của chứng thư số cũ
- Tạo một chứng thư số có chứa khóa công khai mới của CA, được kí bằng khóa cá nhân cũ của CA Chứng thư số này có hiệu lực từ ngày kí cho tới ngày hết hạn của chứng thư số cũ
- Tạo một chứng thư số có chứa khóa công khai mới của CA, được kí bằng khóa cá nhân mới của CA Đây là chứng thư số có tính ổn định, hoạt động cho tới khi cần phải cập nhật khóa cho CA lần tiếp theo
Sao lưu/phục hồi
Chức năng này cho phép người dùng lấy lại khóa cá nhân trong trường hợp
bị mất Việc sao lưu và phục hồi khóa phải được tiến hành bằng một đối tác tin tưởng (như một CA), có trách nhiệm giữ bí mật các khóa cá nhân Chức năng này
có công dụng lấy lại khóa cá nhân, nhưng đồng thời làm giảm khả năng chống phủ nhận của hệ thống khi không chỉ mình người dùng biết khóa của họ Tuy nhiên trong thực tế, giải pháp này vẫn được chấp nhận nhằm tránh mất mát thông tin
1.4 Kiến trúc PKI
Kiến trúc PKI rất đa dạng, tương ứng theo mô hình hoạt động của mỗi tổ chức Do vậy, hiện chưa có một kiến trúc PKI chuẩn Mỗi tổ chức có thể chọn mô
Trang 2929
hình PKI phù hợp nhất với mình, kiến trúc đó phải đảm bảo sự tin cậy Bản tin muốn xác nhận được gửi từ người dùng nào thì phải kiểm tra bằng khóa công khai của người đó Độ tin cậy thể hiện ở chỗ khóa công khai phải thực sự là của người gửi PKI thực hiện việc phân phối khóa công khai và chứng nhận khóa công khai dưới hình thức các chứng thư số Trong chứng thư số có thông tin định danh về một người dùng kèm theo khóa công khai của người đó Toàn bộ nội dung chứng thư số được đảm bảo tính toàn vẹn bằng chữ kí số của CA Người dùng cần lấy khóa công khai của CA để kiểm tra tính đúng đắn của chứng thư số Để đảm bảo không bị giả mạo, CA phải phân phối khóa công khai của mình thông qua một kênh mật sao cho người dùng có thể tin cậy được Một CA có thể được chứng nhận bởi một CA khác
Do đó việc phân phối khóa công khai diễn ra đơn giản hơn Các CA được chứng nhận này lại chứng nhận CA khác, tạo nên chuỗi các chứng nhận của CA Chuỗi này được gọi là một đường dẫn chứng nhận (certificate path) Số lượng các CA trong một đường dẫn chứng nhận và tổ chức của các CA cho biết các kiến trúc PKI khác nhau
Các kiến trúc PKI sau được phân loại dựa trên số lượng CA, tổ chức và mối quan hệ giữa chúng [2,6,9]:
• Kiến trúc PKI đơn có một CA (Single CA Architecture)
• Kiến trúc PKI xí nghiệp (Enterprise PKI)
• Kiến trúc PKI lai (Hybrid PKI)
1.4.1 Kiến trúc PKI đơn có một CA
Hình 1.5 Kiến trúc PKI có một CA
Trang 3030
Đây là mô hình kiến trúc PKI đơn giản nhất, thường chỉ đáp ứng nhu cầu cho
tổ chức có quy mô nhỏ Trong mô hình này, chỉ có duy nhất một CA làm nhiệm vụ phát hành, phân phối chứng thư số và quản lý danh sách chứng thư số bị hủy bỏ (CRL) Mọi thực thể trong hệ thống đều tin tưởng vào CA này Việc mở rộng, bổ sung thêm CA vào hệ PKI dạng này không được hỗ trợ Mô hình thể hiện của kiến trúc này như hình 1.5
Mô hình trên gặp giới hạn khi hai thực thể sử dụng các CA khác nhau có nhu cầu liên lạc và xác minh định danh Do chỉ hỗ trợ duy nhất một CA nên kiến trúc PKI này không thể thực hiện được tình huống đó Một giải pháp được đưa ra là sử dụng mô hình danh sách các CA tin cậy (Basic Trust List Model) như sau hình 1.6
PKI sử dụng nhiều CA, giữa các CA này không có sự liên hệ tin cậy chung
Do đó không tồn tại đường dẫn chứng nhận ở đây Các thực thể trong PKI sử dụng một danh sách các CA mà họ tin cậy, kèm theo là các chứng thư số và danh sách chứng thư số bị hủy bỏ của từng CA Khi hai thực thể muốn liên lạc với nhau, trước tiên họ kiểm tra xem trong danh sách các CA tin cậy của mỗi bên có cùng chung một CA hay không Nếu có, quá trình xác minh định danh và thiết lập sự tin cậy được diễn ra Còn không, hai thực thể không thể tiến hành xác minh định danh của nhau
Hình 1.6 Mô hình danh sách các CA tin cậy (Basic Trust List Model)
Nhược điểm của mô hình này là quá trình đồng bộ thông tin khi có nhu cầu sửa đổi diễn ra chậm và phức tạp, do có nhiều thông tin trùng lặp được lưu trữ trên các CA khác nhau Ngoài ra, khi một thực thể đưa một CA nào đó vào trong danh sách tin cậy mà không thông báo cho CA đó, có thể dẫn đến tình huống nguy hiểm
Trang 3131
sau: nếu CA ngừng cung cấp dịch vụ (có thể do khóa cá nhân bị lộ), nó sẽ thông báo đến tất cả các thực thể có sử dụng dịch vụ của CA Nhưng với thực thể không nằm trong danh sách quản lý của CA, sẽ không nhận được thông tin, và vẫn tiếp tục sử dụng CA này như bình thường cho tới khi biết tin Với nhược điểm như vậy, trong các hệ thống tổ chức phức tạp và có nhu cầu nâng cấp mở rộng, PKI không sử dụng
mô hình này mà sử dụng kiến trúc PKI xí nghiệp
1.4.2 Kiến trúc PKI xí nghiệp
Mô hình kiến trúc xí nghiệp được thiết kế với mục đích sử dụng nhiều CA phân tán Quan hệ giữa các CA có thể theo mô hình phân cấp hoặc mô hình ngang hàng (mô hình lưới)
1.4.2.1 Mô hình PKI phân cấp
Hình 1.7 Mô hình PKI phân cấp
Trang 32Khi thêm một CA mới vào kiến trúc PKI hiện tại, chỉ việc đặt quan hệ CA mới trở thành con của một CA trong hệ thống và để CA cha tạo chứng thư số cho CA con
Đường dẫn chứng nhận (Certificate path) trong mô hình PKI phân cấp khởi đầu ở
root CA và kết thúc ở thực thể cuối Ví dụ trong mô hình vẽ ở trên thì đường dẫn chứng nhận của thực thể cuối là UserX có thể được miêu tả như sau:
[Root CA Æ CA -1]:[CA-1 Æ CA-3]:[CA-3 Æ UserX]
Các đặc tính nổi bật của kiến trúc PKI phân cấp:
− Tính khả mở: Kiến trúc này đáp ứng việc nâng cấp, mở rộng hệ thống
− Dễ dàng triển khai: kiến trúc phân cấp triển khai dễ dàng, đường dẫn chứng nhận từ CA gốc cho tới thực thể hoàn toàn xác định một cách nhanh chóng và đơn giản
− Đường dẫn chứng nhận ngắn: Do tổ chức theo mô hình cây, độ dài đường dẫn chứng nhận tối đa trong hệ thống PKI phân cấp bằng độ cao của cây
Điểm yếu duy nhất trong mô hình này là sự an toàn bảo mật của CA gốc Trường hợp CA gốc bị tấn công và thâm nhập, toàn bộ hệ thống PKI sẽ bị đổ vỡ Nếu chỉ một CA con nào đó bị thâm nhập, CA cha sẽ tiến hành hủy bỏ chứng thư số của nó và xây dựng lại nhánh PKI con bắt đầu từ CA bị hủy chứng thư số
1.4.2.2 Mô hình PKI ngang hàng (mô hình lưới)
Trong mô hình lưới, các CA có mối quan hệ đồng cấp Mọi CA trong lưới PKI đều có chức năng làm điểm tin cậy (trust point), không có CA nào có vai trò quan trọng hơn Tổ chức của mô hình PKI lưới tương tự như đồ thị vô hướng Do các CA thực hiện chứng nhận lẫn nhau, chúng tạo nên các mối quan hệ tin cậy tương hỗ
Trang 3333
Hình 1.8 Mô hình PKI lưới
Do không có CA nào là điểm tin cậy trung tâm, một CA bị thâm nhập chỉ gây sự cố tới các thực thể mà nó phát hành chứng thư số, không ảnh hưởng tới toàn
hệ thống PKI
Bổ sung thêm CA mới vào hệ tiến hành đơn giản CA mới chỉ cần được một
CA đã có trong hệ thống phát hành chứng thư số đối với nó
Việc xây dựng đường dẫn chứng nhận trong mô hình lưới phức tạp hơn trong
mô hình phân cấp Không như ở mô hình phân cấp, thực hiện xây dựng đường dẫn chứng nhận ở mô hình lưới có thể là không hữu hạn Ví dụ với mô hình lưới như trên, đối với Bob, Alice có thể xây dựng đường dẫn chứng nhận là [CA−1 Æ Bob] Nhưng đối với James, Alice có thể xây dựng ít nhất hai đường dẫn chứng nhận như sau:
[CA - 1 Æ CA - 2] : [CA – 2 Æ CA - 4] : [CA – 4 Æ James]
Hoặc :
[CA – 1 Æ CA - 3] : [CA – 3 Æ CA - 2] : [CA – 2 Æ CA - 4] : [CA – 4 Æ James]
Trang 3434
1.4.2.3 Kiến trúc PKI lai
Các kiến trúc PKI đơn, PKI phân cấp, PKI lưới thường được triển khai cho một tổ chức Khi cần thiết phải liên kết các kiểu kiến trúc PKI của các tổ chức khác nhau, ví dụ như PKI phân cấp với PKI lưới, lúc này phải có một cơ chế đảm bảo môi trường tin cậy của PKI, đó là kiến trúc lai Kiến trúc lai cho phép các tổ chức
sử dụng nhiều kiến trúc PKI khác nhau có khả năng tương tác và hoạt động bình thường
Có ba loại mô hình trong kiến trúc PKI lai:
− Mô hình danh sách điểm tin cậy mở rộng (Extended Trust List): mỗi phần tử trong danh sách có thể là CA của bất cứ kiến trúc nào Đây là loại hình phổ biến được các trình duyệt sử dụng
Hình 1.9 Mô hình danh sách điểm tin cậy mở rộng
− Mô hình PKI chứng nhận chéo ( Cross-certified PKI): kết hợp các hệ thống PKI cấp thấp nhằm thành lập mô hình lưới PKI cao hơn
Trang 3535
Hình 1.10 Mô hình PKI chứng nhận chéo
− Mô hình CA bắc cầu (Bridge CA architecture): khi số lượng các PKI trong mô hình chứng nhận chéo lớn, dẫn tới số lượng chứng thư số tăng lên Giải pháp là tạo một CA bắc cầu làm nhiệm vụ trung gian khi thực hiện xác thực giữa hai hệ thống PKI CA này không được coi là một điểm tin cậy
Hình 1.11 Mô hình CA bắc cầu
Trang 3636
1.5 Sản phẩm mã nguồn mở hạ tầng khóa công khai OpenCA
1.5.1 Giới thiệu chung về OpenCA
OpenCA là một hệ thống mã nguồn mở, mã nguồn của nó được cung cấp rộng rãi trên trang Web www.openca.org, được phát triển bởi nhiều nhà lập trình trên toàn thế giới, có tiềm năng to lớn nhằm ứng dụng vào các dự án bảo mật từ mức độ thấp như mã hóa dữ liệu, chữ kí số cho đến việc xây dựng hệ thống nhận dạng và mã hóa dữ liệu cao cấp mà lõi của nó là OpenCA
PKI là một trong những hạ tầng bảo mật được ứng dụng rộng rãi trong các hệ thống an ninh thông tin Vấn đề ở đây là hầu hết các ứng dụng đều có thể được bảo mật với chứng thư số và khóa nhưng cho tới thời điểm hiện nay, việc xây dựng các PKI là khá khó khăn và tốn kém thậm chí cả trên môi trường mã nguồn mở như Unix OpenCA được xây dựng để đáp ứng cho nhu cầu này, mọi người dễ dàng có một hạ tầng cơ sở để từ đó phát triển PKI như mọi người mong muốn OpenCA được xây dựng với các ứng dụng lõi nền tảng và cơ bản nhất, OpenCA chỉ là hệ lõi đáp ứng những nhu cầu cơ bản nhất cho một hệ lõi PKI, bản thân OpenCA chưa phải là hệ đầy đủ để tác nghiệp Để OpenCA trở thành hệ PKI ứng dụng tác nghiệp, người phát triển cần phải thiết kế phát triển và xây dựng nó đáp ứng các yêu cầu ứng dụng
OpenCA được thiết kế cho một hạ tầng phân tán Nó không chỉ có khả năng quản lý một CA offline, một RA online mà còn có thể sử dụng nó để xây dựng một
hệ thống đa cấp với ít nhất là 3 tầng
OpenCA không chỉ đủ khả năng phục vụ cho các hệ thống vừa và nhỏ như các nhà máy hay doanh nghiệp mà nó còn có thể đáp ứng nhu cầu cho một tổ chứ lớn như các trường đại học, các viện nghiên cứu hay công ty đa quốc gia
Với khả năng cài đặt triển khai khác linh hoạt, OpenCA cho phép người sử dụng tùy vào yêu cầu mà có thể cài đặt và sử dụng toàn bộ hệ thống hoặc chỉ các thành phần cơ bản của một hệ PKI
Trang 37Chúng ta có thể cấu hình với các luật khác để đồng bộ hóa với các node ở các mức cao hơn hoặc thấp hơn của cấu trúc phân cấp Nó cũng bao gồm các cấu hình của các đối tượng và trạng thái có thể bị thay đổi Các cấu hình về bộ lọc có thể cho phép ngăn ngừa các trạng thái có thể gây tổn hại tới hệ thống từ các mức thấp hơn
CA (Certification Authority)
Giao diện CA cung cấp các chức năng để người quản trị phê duyệt, cấp phát chứng thư số và lên danh sách thu hồi chứng thư số Ngoài ra, CA cũng cung cấp các chức năng để người quản trị có thể sử dụng để thay đổi cấu hình của hệ thống thông qua giao diện Web, tất nhiên chức năng này chỉ cho phép thiết đặt các cấu hình ở mức nào đó, đáp ứng nhu cầu cơ bản nhất của người quản trị hệ thống
RA (Registration Authority)
RA của OpenCA cho phép người quản trị RA xem xét các yêu cầu cấp phát chứng thư số được gửi lên từ người sử dụng, tiến hành phê duyệt các yêu cầu, tiến hành tạo và cấp khóa cho người sử dụng đã có yêu cầu hợp lệ, gửi các yêu cầu hợp
lệ lên CA với sự xác nhận đảm bảo của RA (chức năng này có cho phép thực hiện
kí – là điểm có thể tham khảo với định hướng trước mắt), xóa các yêu cầu không hợp lệ và gửi thư thông báo đến người sử dụng
Trang 3838
LDAP
Giao diện của module LDAP được thực thi cho các quản lý LDAP riêng biệt
Nó cần thiết vì có rất nhiều chức năng thực sự đặc trưng riêng biệt cho quản trị LDAP, tuy nhiên chỉ một số ít người sử dụng cần đến điều này
Trong OpenCA, LDAP đóng vai trò đảm bảo sự toàn vẹn dữ liệu Công dụng của nó chỉ thể hiện với một mô hình PKI triển khai đa cấp với nhiều nút khác nhau Khi đó LDAP sẽ đóng vai trò trong việc bảo đảm cập nhật và thống nhất dữ liệu ở các root server và truy xuất dữ liệu khi có một máy sub-server đưa ra yêu cầu cần truy xuất dữ liệu vượt cấp
Pub
Giao diện Pub cung cấp tất cả những tiện ích và tác vụ mà người sử dụng cuối của hệ thống cần Tuy nhiên, trên thực tế nó chưa hoàn thiện và chỉ có một danh sách nhỏ các dịch vụ được cung cấp như: các yêu cầu cấp chứng thư số, cập nhật chứng thư số, cập nhật danh sách thu hồi chứng thư số, hỗ trợ hai cách khác nhau để thu hồi chứng thư số, tìm kiếm chứng thư số, xác nhận chứng thư số của người sử dụng trên trình duyệt
1.5.3 Các dịch vụ chính của OpenCA
Giao diện Web dành cho người sử dụng cuối (Pub), cung cấp các dịch vụ cho phép người dùng xin cấp phát chứng thư số, lấy chứng thư số đã được CA cấp phát, yêu cầu thu hồi chứng thư số hay các tác vụ quản lý các yêu cầu đã được gửi, quản
lý các chứng thư số đang có, ngày hết hạn và các chứng thư số đã bị thu hồi Tuy nhiên, Pub lại không cung cấp một cơ chế xác thực người dùng nào để quản lý người dùng, đây có thế coi là hệ thống phục vụ cho một người dùng duy nhất, đây cũng là điểm đang được nghiên cứu để phát triển
Các dịch vụ hệ lõi PKI-OpenCA cung cấp bao gồm :
− Yêu cầu cấp chứng thư số: tạo các yêu cầu cấp chứng thư số với nhiều loại yêu
cầu được hỗ trợ sẵn: yêu cầu cấp chứng thư số tự động phát hiện loại trình duyệt trên máy client hoặc các yêu cầu với từng loại trình duyệt của các hãng khác nhau, yêu cầu cấp một phần cứng thẻ từ RA (smart card); các loại yêu cầu này
Trang 3939
khi được chọn đều đưa ra form cho người sử dụng điền thông tin và sau đó yêu cầu lên RA và cho người dùng một số serial của chứng thư số đã được yêu cầu
− Lấy chứng thư số: chứng thư số sau khi yêu cầu được RA xét duyệt hợp lệ và
gửi yêu cầu lên CA, CA tiến hành cấp chứng thư số cho người sử dụng Đấy là chức năng mà người dùng lấy chứng thư số đã được CA cấp về, thông qua số serial của chứng thư số
− Yêu cầu thu hồi chứng thư số: đưa ra yêu cầu thu hồi chứng thư số cùng với lí
do thu hồi
− Quản lý chứng thư số: hiển thị danh sách chứng thư số đã được cấp cho người
dùng và còn hạn dùng, danh sách chứng thư số đã hết hạn, danh sách chứng thư
số đã bị thu hồi
− Công bố chứng thư số gốc của CA: cài đặt chứng thư số của CA, tạo mối liên
hệ tin tưởng với CA: dịch vụ này cho phép người sử dụng có thể lấy được chứng thư số của CA và cài đặt lên máy đang sử dụng, tùy vào mục đích của máy đang dùng mà có nhiều định dạng chứng thư số được cấp khác nhau: cho máy server (
có thể là RA server hoặc các CA server cấp dưới), cho trình dyệt trên máy client…
− CRLs: Danh sách thu hồi chứng thư số: cho phép tải về máy người dùng danh
sách các chứng thư số đang được thu hồi, có định dạng phù hợp với máy server hoặc trình duyệt trên máy client
1.6 Một số vấn đề của PKI
Một hệ PKI về cơ bản vẫn tồn tại một số rủi ro về bảo mật sau: Mất khóa cá nhân, giả mạo khóa công khai, giả mạo định danh chủ thể [1]
An toàn khóa cá nhân Trong hệ thống PKI hiện nay, khóa cá nhân được lưu trữ
trên phương tiện truyền thống như trên máy tính của người dùng, hoặc smartcard và phương tiện này được bảo vệ truy cập bằng một mật khẩu được bảo vệ truy cập bằng một mật khẩu độ dài 6 đến 8 kí tự, độ an toàn của khóa cá nhân phụ thuộc cả vào mật khẩu này Cơ chế đảm bảo an toàn cho khóa cá nhân bằng mật khẩu không
Trang 4040
thể hiện được tính chống phủ nhận trong mật mã học Bản thân mật khẩu có nhiều nguy cơ dễ bị lộ, hoặc bị mất bởi virus, bị đánh cắp bởi các chương trình mã độc hại Khi khóa cá nhân để mất sẽ rất nguy hiểm, thì bất cứ ai cũng có thể giả mạo người đó và không chỉ là mất thông tin mà còn có thể dẫn đến đổ vỡ cả hệ thống
Giả mạo khóa công khai.Trường hợp khóa này được bảo vệ bằng chữ kí của CA,
tức là kiểm tra được bằng khóa công khai của CA, có nguy cơ kẻ tấn công thay thế khóa của CA trên máy người dùng, sau đó tiến hành thay thế khóa công khai của người dùng bằng khóa giả Giả mạo khóa công khai dẫn đến lộ thông tin trong hệ thống
Định danh đối tượng Chứng thư số có chứa tên của đối tượng và phải có thêm các
thông tin bổ sung đủ để tránh trường hợp định danh sai do các thông tin cá nhân của người dùng trùng nhau
Trong các nguy cơ về bảo mật kể trên, nguy cơ lớn nhất trong PKI là bị mất khóa cá nhân Vấn đề này có thể được giải quyết bằng một cơ chế xác thực định danh mạnh hơn mật khẩu truyền thống; đó là sinh trắc học Do sinh trắc học mang bản chất chống phủ nhận, khả năng giả mạo, mất trộm đặc trưng sinh trắc học thấp hơn nhiều so với mật khẩu, nên đây là giải pháp tương đối hoàn thiện cho vấn đề an toàn và sử dụng khóa cá nhân