2.1 CHỨNG THƯ SỐ DIGITAL CERTIFICATES 2.1.1 Giới thiệu Như đã nói đến ở trên, mật mã khoá cơng khai sử dụng hai khố khác nhau khố cơng khai và khoá bí mật để đảm bảo yêu cầu “bí mật, xác
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
**********
LÊ TRẦN VŨ ANH
Nghiên cứu giải pháp ứng dụng hạ tầng khóa công
khai trong hệ thống thanh toán điện tử liên ngân hàng - ngân hàng nhà nước Việt Nam
Luận văn thạc sĩ khoa học ngành: Công nghệ thông tin
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
**********
LÊ TRẦN VŨ ANH
Nghiên cứu giải pháp ứng dụng hạ tầng khóa công
khai trong hệ thống thanh toán điện tử
Chuyên ngành: Công nghệ thông tin
Luận văn thạc sĩ khoa học
Người hướng dẫn khoa học:
Trang 3MỤC LỤC Error! Bookmark not defined DANH MỤC HÌNH VẼ Error! Bookmark not defined DANH MỤC TỪ VIẾT TẮT Error! Bookmark not defined.
MỞ ĐẦU Error! Bookmark not defined.
CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ Error! Bookmark not defined.
1.1 GIỚI THIỆU CHUNG Error! Bookmark not defined 1.2 KHÁI NIỆM HỆ MẬT MÃ Error! Bookmark not defined 1.3 HỆ MẬT MÃ KHOÁ ĐỐI XỨNG Error! Bookmark not defined 1.4 HỆ MẬT MÃ KHOÁ CÔNG KHAI Error! Bookmark not defined 1.5 CHỮ KÝ SỐ Error! Bookmark not defined 1.6 HÀM BĂM Error! Bookmark not defined.
CHƯƠNG 2 CHỨNG THƯ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI Error! Bookmark not defined.
2.1 CHỨNG THƯ SỐ (DIGITAL CERTIFICATES) Error! Bookmark not defined.
2.1.1 Giới thiệu Error! Bookmark not defined 2.1.2 Chứng thư số khoá công khai X.509 Error! Bookmark not defined 2.1.3 Thu hồi chứng thư số Error! Bookmark not defined 2.1.4 Chính sách của chứng thư số Error! Bookmark not defined 2.1.5 Công bố và gửi thông báo thu hồi chứng thư số Error! Bookmark not defined.
2.2 CÁC THÀNH PHẦN CỦA PKI Error! Bookmark not defined.
2.2.1 Tổ chức chứng thực (Certification Authority) Error! Bookmark not defined 2.2.2 Trung tâm đăng ký (Registration Authorities) Error! Bookmark not defined 2.2.3 Thực thể cuối (Người giữ chứng thư số và Clients) Error! Bookmark not defined 2.2.4 Hệ thống lưu trữ (Repositories) Error! Bookmark not defined.
2.3 CHỨC NĂNG CƠ BẢN CỦA PKI Error! Bookmark not defined.
2.3.1 Chứng thực (certification) Error! Bookmark not defined 2.3.2 Thẩm tra (validation) Error! Bookmark not defined 2.3.3 Một số chức năng khác Error! Bookmark not defined.
2.4 MÔ HÌNH TIN CẬY CHO PKI Error! Bookmark not defined.
CHƯƠNG 3 TỔNG QUAN VỀ GIẢI PHÁP PKI CỦA ENTRUST Error! Bookmark not defined 3.1 CÁC TÍNH NĂNG NỔI BẬT CỦA ENTRUST CA Error! Bookmark not defined 3.2 KIẾN TRÚC HỆ THỐNG ENTRUST CA Error! Bookmark not defined 3.3 CẤP PHÁT CHỨNG THƯ SỐ THEO MÔ HÌNH WEB BASED CỦA ENTRUST CA - Error! Bookmark not defined 3.4 VẤN ĐỀ TÍCH HỢP HỆ THỐNG Error! Bookmark not defined.
CHƯƠNG 4 HỆ THỐNG “QUẢN LÝ VÀ CẤP PHÁT MÃ KHÓA CÔNG KHAI NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM” Error! Bookmark not defined.
4.1 MỤC TIÊU CHUNG CỦA HỆ THỐNG Error! Bookmark not defined 4.2 KIẾN TRÚC HỆ THỐNG Error! Bookmark not defined.
4.2.1 Mô hình hệ thống Error! Bookmark not defined 4.2.2 Các thành phần hệ thống Error! Bookmark not defined 4.2.3 Các chức năng chính của hệ thống Error! Bookmark not defined.
Trang 44.3 MỘT SỐ CÁC QUY TRÌNH CƠ BẢN Error! Bookmark not defined.
4.3.1 Quy trình cấp mới chứng thư số Error! Bookmark not defined 4.3.2 Quy trình xin gia hạn (cập nhật) chứng thư số Error! Bookmark not defined 4.3.3 Quy trình hủy bỏ chứng thư số Error! Bookmark not defined.
4.4 NHẬN XÉT Error! Bookmark not defined.
CHƯƠNG 5 HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT
NAM Error! Bookmark not defined 5.1 TỔNG QUAN Error! Bookmark not defined 5.2 KIẾN TRÚC HỆ THỐNG Error! Bookmark not defined.
5.2.1 Mô hình hệ thống Error! Bookmark not defined 5.2.2 Các tiểu hệ thống Error! Bookmark not defined 5.2.3 Các thành phần của hệ thống Error! Bookmark not defined 5.2.4 Thành viên của hệ thống Error! Bookmark not defined.
5.3 CÁC LOẠI DỊCH VỤ TRONG HỆ THỐNG Error! Bookmark not defined 5.4 NHẬN XÉT Error! Bookmark not defined.
CHƯƠNG 6 PHÂN TÍCH VẤN ĐỀ AN TOÀN BẢO MẬT HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN
HÀNG Error! Bookmark not defined 6.1 AN TOÀN BẢO MẬT CỦA HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG (IBPS) Error! Bookmark not defined.
6.1.1 Vấn đề bảo mật của hệ thống hiện tại Error! Bookmark not defined 6.1.2 Tổng quát về yêu cầu an toàn hệ thống Error! Bookmark not defined.
6.2 PHÂN TÍCH HIỆN TRẠNG BẢO MẬT TẤNG ỨNG DỤNG TRONG HỆ THỐNG Error! Bookmark not defined.
6.2.1 Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu Error! Bookmark not defined 6.2.2 Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông Error! Bookmark not defined.
6.3 NHẬN XÉT Error! Bookmark not defined.
CHƯƠNG 7 ĐÁNH GIÁ HIỆN TRẠNG HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG TÍCH HỢP HỆ THỐNG CA Error! Bookmark not defined 7.1 HIỆN TRẠNG TÍCH HỢP HỆ THỐNG CA VỚI HỆ THỐNG IBPS Error! Bookmark not defined 7.2 CÁC TIẾN TRÌNH XỬ LÝ Error! Bookmark not defined.
7.2.1 Đồng bộ chứng thư số và danh sách chứng thư số bị thu hồi Error! Bookmark not defined.
7.2.2 Quy trình ký và xác thực tin điện tại PPC Error! Bookmark not defined 7.2.3 Quy trình ký và xác thực tin điện đối với CI sử dụng chứng thư số Error! Bookmark not defined.
7.3 ĐÁNH GIÁ Error! Bookmark not defined.
7.3.1 Vấn đề ‘Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu’ Error! Bookmark not defined.
7.3.2 Vấn đề ‘Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông’ Error! Bookmark not defined.
7.3.3 Vấn đề khác Error! Bookmark not defined.
Trang 58.1 ĐẶT VẤN ĐỀ Error! Bookmark not defined 8.2 ĐỀ XUẤT GIẢI PHÁP Error! Bookmark not defined.
8.2.1 Xử lý nghiệp vụ và xác thực dữ liệu tại PPC Error! Bookmark not defined 8.2.2 Vấn đề xác thực thể và mã hóa dữ liệu trong quá trình truyền thông Error! Bookmark not defined.
8.2.3 Tăng khả năng đồng bộ dữ liệu từ LDAP tại PPC Error! Bookmark not defined 8.2.4 Tăng khả năng đồng bộ dữ liệu từ LDAP tại CIs Error! Bookmark not defined 8.2.5 Kết hợp hai giải pháp đồng bộ dữ liệu LDAP tại PPCs/CIs Error! Bookmark not defined.
8.2.6 Gán nhãn thời gian cho quá trình ký và xác thực tin điện Error! Bookmark not defined.
8.3 CÁC TIẾN TRÌNH CẢI TIẾN Error! Bookmark not defined.
8.3.1 Kết nối/ khởi tạo phiên làm việc với ứng dụng Server Error! Bookmark not defined 8.3.2 Đồng bộ dữ liệu LDAP tại PPC Error! Bookmark not defined 8.3.3 Quy trình xác thực tin điện tại PPC Error! Bookmark not defined 8.3.4 Cập nhật thông tin người dùng tại NPSC .Error! Bookmark not defined 8.3.5 Quy trình ký và xác thực tin điện đối với CIs Error! Bookmark not defined.
8.4 KIỂM NGHIỆM Error! Bookmark not defined.
8.4.1 Xây dựng chương trình .Error! Bookmark not defined 8.4.2 Môi trường Error! Bookmark not defined 8.4.3 Một số kết quả Error! Bookmark not defined 8.4.4 Đánh giá Error! Bookmark not defined.
8.5 HƯỚNG PHÁT TRIỂN Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO Error! Bookmark not defined PHỤ LỤC Error! Bookmark not defined.
1 MỘT SỐ CHUẨN MẬT MÃ KHOÁ CÔNG KHAI (PKCS) Error! Bookmark not defined.
2 IKEY 1032 Error! Bookmark not defined.
Trang 6LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và bày tỏ lòng biết ơn sâu sắc nhất tới PGS TS Nguyễn Thị Hoàng Lan, gười đã cho tôi những định hướng và N
những ý kiến rất quý báu về công nghệ PKI Đặc biệt là những ý kiến qu ý
báu trong những v ấn đề c ụ thể để hoàn thành luận ă v n
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy cô, bạn bè cùng khoá đã dìu dắt, giúp
đỡ tôi tiến bộ trong suốt những năm học qua Xin cảm ơn gia đình và bè bạn, những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh khó khăn Tôi xin cảm ơn các bạn đồng nghiệp đã hết sức tạo điều kiện cho tôi trong quá trình học và làm luận văn này
Được hoàn thành trong thời gian rất hạn hẹp, luận văn này chắc chắn còn nhiều khiếm khuyết Tôi xin cảm ơn những thầy cô, bạn bè và người thân đã
và sẽ có những góp ý chân tình cho nội dung của luận văn này, để tôi có thể tiếp tục đi sâu tìm hiểu và đưa PKI vào ứng dụng trong thực tiễn công việc
Lê Trần Vũ Anh
Trang 7MỤC LỤC
MỤC LỤC 2
DANH MỤC HÌNH VẼ 5
DANH MỤC TỪ VIẾT TẮT 7
MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ 11
1.1 GIỚI THIỆU CHUNG 11
1.2 KHÁI NIỆM HỆ MẬT MÃ 11
1.3 HỆ MẬT MÃ KHOÁ ĐỐI XỨNG 12
1.4 HỆ MẬT MÃ KHOÁ CÔNG KHAI 13
1.5 CHỮ KÝ SỐ 16
1.6 HÀM BĂM 19
CHƯƠNG 2 CHỨNG THƯ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI 21
2.1 CHỨNG THƯ SỐ (DIGITAL CERTIFICATES) 22
2.1.1 Giới thiệu 22
2.1.2 Chứng thư số khoá công khai X.509 23
2.1.3 Thu hồi chứng thư số 26
2.1.4 Chính sách của chứng thư số 27
2.1.5 Công bố và gửi thông báo thu hồi chứng thư số 27
2.2 CÁC THÀNH PHẦN CỦA PKI .30
2.2.1 Tổ chức chứng thực (Certification Authority) 30
2.2.2 Trung tâm đăng ký (Registration Authorities) 31
2.2.3 Thực thể cuối (Người giữ chứng thư số và Clients) 32
2.2.4 Hệ thống lưu trữ (Repositories) 32
2.3 CHỨC NĂNG CƠ BẢN CỦA PKI 32
2.3.1 Chứng thực (certification) 32
2.3.2 Thẩm tra (validation) 33
2.3.3 Một số chức năng khác 33
2.4 MÔ HÌNH TIN CẬY CHO PKI 36
CHƯƠNG 3 TỔNG QUAN VỀ GIẢI PHÁP PKI CỦA ENTRUST 38
3.1 CÁC TÍNH NĂNG NỔI BẬT CỦA ENTRUST CA 38
3.2 KIẾN TRÚC HỆ THỐNG ENTRUST CA 39
3.3 CẤP PHÁT CHỨNG THƯ SỐ THEO MÔ HÌNH WEB BASED CỦA ENTR - UST CA 40
3.4 VẤN ĐỀ TÍCH HỢP HỆ THỐNG 43
CHƯƠNG 4 HỆ THỐNG “QUẢN LÝ VÀ CẤP PHÁT MÃ KHÓA CÔNG KHAI NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM” 44
4.1 MỤC TIÊU CHUNG CỦA HỆ THỐNG .44
4.2 KIẾN TRÚC HỆ THỐNG 44
4.2.1 Mô hình hệ thống 44
4.2.2 Các thành phần hệ thống 45
Trang 84.2.3 Các chức năng chính của hệ thống 47
4.2.4 Các chức năng chính của người quản trị hệ thống 48
4.3 MỘT SỐ CÁC QUY TRÌNH CƠ BẢN 51
4.3.1 Quy trình cấp mới chứng thư số 51
4.3.2 Quy trình xin gia hạn (cập nhật) chứng thư số 52
4.3.3 Quy trình hủy bỏ chứng thư số 53
4.4 NHẬN XÉT 54
CHƯƠNG 5 HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM 55
5.1 TỔNG QUAN 55
5.2 KIẾN TRÚC HỆ THỐNG 56
5.2.1 Mô hình hệ thống 56
5.2.2 Các tiểu hệ thống 57
5.2.3 Các thành phần của hệ thống 57
5.2.4 Thành viên của hệ thống 59
5.3 CÁC LOẠI DỊCH VỤ TRONG HỆ THỐNG 60
5.4 NHẬN XÉT 61
CHƯƠNG 6 PHÂN TÍCH VẤN ĐỀ AN TOÀN BẢO MẬT HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG 62
6.1 AN TOÀN BẢO MẬT CỦA HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG (IBPS) .62
6.1.1 Vấn đề bảo mật của hệ thống hiện tại 62
6.1.2 Tổng quát về yêu cầu an toàn hệ thống 63
6.2 PHÂN TÍCH HIỆN TRẠNG BẢO MẬT TẤNG ỨNG DỤNG TRONG HỆ THỐNG 66
6.2.1 Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu 66
6.2.2 Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông 70
6.3 NHẬN XÉT 75
CHƯƠNG 7 ĐÁNH GIÁ HIỆN TRẠNG HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG TÍCH HỢP HỆ THỐNG CA 76
7.1 HIỆN TRẠNG TÍCH HỢP HỆ THỐNG CA VỚI HỆ THỐNG IBPS .76
7.2 CÁC TIẾN TRÌNH XỬ LÝ 78
7.2.1 Đồng bộ chứng thư số và danh sách chứng thư số bị thu hồi 78
7.2.2 Quy trình ký và xác thực tin điện tại PPC 81
7.2.3 Quy trình ký và xác thực tin điện đối với CI sử dụng chứng thư số .83
7.3 ĐÁNH GIÁ 87
7.3.1 Vấn đề ‘Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu’ 88
7.3.2 Vấn đề ‘Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông’ 89
7.3.3 Vấn đề khác 89
CHƯƠNG 8 ĐỀ XUẤT CÁC GIẢI PHÁP CHO HỆ THỐNG TÍCH HỢP 90
8.1 ĐẶT VẤN ĐỀ 90
8.2 ĐỀ XUẤT GIẢI PHÁP 92
8.2.1 Xử lý nghiệp vụ và xác thực dữ liệu tại PPC 92
Trang 98.2.2 Vấn đề xác thực thể và mã hóa dữ liệu trong quá trình truyền thông 93
8.2.3 Tăng khả năng đồng bộ dữ liệu từ LDAP tại PPC 97
8.2.4 Tăng khả năng đồng bộ dữ liệu từ LDAP tại CIs 99
8.2.5 Kết hợp hai giải pháp đồng bộ dữ liệu LDAP tại PPCs/CIs 101
8.2.6 Gán nhãn thời gian cho quá trình ký và xác thực tin điện 102
8.3 CÁC TIẾN TRÌNH CẢI TIẾN 103
8.3.1 Kết nối/ khởi tạo phiên làm việc với ứng dụng Server 103
8.3.2 Đồng bộ dữ liệu LDAP tại PPC 108
8.3.3 Quy trình xác thực tin điện tại PPC 109
8.3.4 Cập nhật thông tin người dùng tại NPSC 111
8.3.5 Quy trình ký và xác thực tin điện đối với CIs 112
8.4 KIỂM NGHIỆM 119
8.4.1 Xây dựng chương trình 119
8.4.2 Môi trường 123
8.4.3 Một số kết quả 125
8.4.4 Đánh giá 126
8.5 HƯỚNG PHÁT TRIỂN .126
KẾT LUẬN 127
TÀI LIỆU THAM KHẢO 129
PHỤ LỤC .130
1 MỘT SỐ CHUẨN MẬT MÃ KHOÁ CÔNG KHAI (PKCS) .130
2 IKEY 1032 .131
Trang 10DANH MỤC HÌNH VẼ
Hình 1.1: Quá trình mã hoá và giải mã 12
Hình 1.2: Mã hoá thông điệp sử dụng khoá công khai P 13
Hình 1.3: Giải mã thông điệp sử dụng khoá bí mật của người nhận 13
Hình 1.4: Sơ đồ hệ mật mã RSA .14
Hình 1.5: Mã hoá thông điệp sử dụng khoá bí mật S để mã thông điệp và khoá công khai P để mã khoá bí mật S .15
Hình 1.6: Giải mã thông điệp sử dụng khoá bí mật S để giải mã thông điệp và khoá bí mật P để giải mã khoá bí mật S 15
Hình 1.7: Sơ đồ chữ ký RSA 17
Hình 1.8 a: Băm thông điệp 17
Hình 1.8 b: Ký trên bản băm 17
Hình 1.8 c: Truyền dữ liệu thông tin cần gửi 18
Hình 1.8: Sơ đồ mô tả các công đoạn người A làm trước khi gửi thông điệp cho người B (sử dụng hàm băm rồi ký số) .18
Hình 1.9 a: Xác minh chữ ký 18
Hình 1.9 b: Tiến hành băm thông điệp x đi kèm 18
Hình 1.9 c: Kiểm tra tính toàn vẹn của thông điệp 18
Hình 1.9: Sơ đồ mô tả các công đoạn kiểm tra chữ ký sau khi người B nhận được thông điệp 18
Hình 1.10: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số 19
Hình 2.1: Chứng thư số 22
Hình 2.2: Khuôn dạng chứng thư số X.509 23
Hình 2.3: Nội dung chi tiết của chứng thư số 26
Hình 2.4: Khuôn dạng danh sách chứng thư số bị thu hồi 28
Hình 2.5: Dịch vụ kiểm tra online 29
Hình 2.6: Các thành phần PKI 30
Hình 2.7: Đường dẫn chứng thư số chéo 35
Hình 2.8: Mô hình root 36
Hình 3.1: Các thành phần của hệ thống Entrust CA chuẩn 39
Hình 3.2: Kiến trúc mô hình lấy chứng thư số qua giao diện Web 41
Hình 3.3: Cấp phát chứng thư số qua Web 42
Hình 3.4: Quy trình cấp phát chứng thư số qua Web 43
Hình 4.1: Mô hình CA của NHNN Việt Nam 45
Hình 4.2: minh họa về sự phân cấp bảo mật của người sử dụng hệ thống Entrust PKI 48
Hình 4.3: Quy trình cấp mới chứng thư số 51
Hình 4.4: Quy trình xin gia hạn (cập nhật) chứng thư số 52
Hình 5.1: Mô hình triển khai của IBPS .56
Hình 5.2: Kiến trúc của IBPS 56
Hình 5.3: Các modul phần mềm chính tại NPSC 57
Hình 5.4: Các modul phần mềm chính tại PPC 58
Hình 5.5: Các modul phần mềm chính tại Br/CI .59
Hình 6.1: Các mối đe dọa tính an toàn bảo mật hệ thống IBPS 63
Hình 6.2: Hiện trạng bảo mật ứng dụng IBPS .66
Hình 6.3: Mã xác thực 67
Hình 6.4: Sơ đồ mô tả phương thức phân phối mã xác thực AAC cho người kiểm soát tại các CI 68
Hình 6.5: Sơ đồ sau thể hiện quy trình tạo và kiểm tra E-Sign trong hệ thống IBPS 69
Trang 11Hình 6.6: Luồng xử lý tin điện giao dịch giữa CI và PPC hiện tại .70
Hình 6.7: Luồng xử lý file giao dịch giữa CI và PPC hiện tại 72
Hình 6.8: Luồng xử lý file giao dịch giữa CI và PPC hiện tại 74
Hình 7.1: Mô hình tích hợp hệ thống CA với hệ thống IBPS 76
Hình 7.2: Giao diện với hệ thống IBPS 77
Hình 7.3: Xác thực với mã khóa công khai 78
Hình 7.4: Quy trình đồng bộ chứng thư số đầu ngày 79
Hình 7.5: Quy trình đồng bộ chứng thư số trong ngày 80
Hình 7.6: Quy trình xác thực tin điện tại PPC .81
Hình 7.7: Quy trình ký tại PPC 82
Hình 7.8: Quy trình ký tại CI 83
Hình 7.9: Quy trình xác thực tại CI 85
Hình 7.10: Quy trình xử lý đồng bộ chứng thư tại CI 86
Hình 7.11: Hiện trạng bảo mật hệ thống IBPS khi tích hợp 87
Hình 8.1: Mô hình đề xuất 91
Hình 8.2: Quy trình xử lý nghiệp vụ và xác thực tại PPC 92
Hình 8.3: Quy trình đề xuất xử lý nghiệp vụ và xác thực tại PPC 93
Hình 8.4: Luồng xử lý tin điện giao dịch CI PPC khi sử dụng CA 94
Hình 8.5: Luồng xử lý cho file giao dịch khi sử dụng CA .95
Hình 8.6: Luồng xử lý cho file giao dịch khi sử dụng CA .96
Hình 8.7: Quy trình đề xuất đồng bộ Dữ liệu LDAP tại PPC 98
Hình 8.8: Quy trình đồng bộ Dữ liệu LDAP tại CIs 99
Hình 8.9: Quy trình đề xuất đồng bộ Dữ liệu LDAP tại CIs 100
Hình 8.10: Quy trình đề xuất đồng bộ Dữ liệu LDAP tại PPC/CIs 101
Hình 8.11: Kết nối/ khởi tạo phiên làm việc với ứng dụng Server PPC 103
Hình 8.12: Kết nối/ khởi tạo phiên làm việc tại CI 104
Hình 8.13: Kết nối/ khởi tạo phiên làm việc tại PPC .105
Hình 8.14: Xử lý khởi tạo phiên làm việc .106
Hình 8.15: Mô hình đồng bộ chứng thư số trong ngày tại PPC .108
Hình 8.16: Quy trình xác thực tin điện tại PPC 110
Hình 8.17: Cập nhật thông tin người dùng tại NPSC 112
Hình 8.18: Quy trình ký tại CI 113
Hình 8.19: Quy trình xác thực tin điện tại CI 115
Hình 8.20: Hình ảnh giao diện ký 120
Hình 8.21: Hình ảnh giao diện xác thực chữ ký 121
Hình 8.22: Hình ảnh giao diện mã hóa .121
Hình 8.23: Hình ảnh giao diện giải mã 122
Trang 12DANH MỤC TỪ VIẾT TẮT
ARLs Authority Revocation Lists
CA Certificate Authority
CAO Certificate Authority Operator
C MS Cryptographic Message Syntax
COST Commercial of the Shelf
CRLs Certificate Revocation Lists
CRR Certificate Revocation Request
CSP Certification Service Provider
DAP Directory Access Protocol
DES Data Encryption Standard
DSS Digital Signature Standard
ECC Elliptic Curve Cryptography
HTTPS Secure Hypertext Transaction Standard
IANA Internet Assigned Numbers Authority
IBPS Inter- Bank Payments Systems
IEEE Institute of Electrical & Electronic Engineers
IETF Internet Engineering Task Force
ISO International Organization for Standardization
ITU-T Internet Telecommumications Union-
Telecommunication LDAP Lightweight Directory Access Protocol
MD5 Message Digest 5 Hash Algorithm
OCSP Online Certificate Status Protocol
PEM Privacy Enhanced Mail
PGP Pretty Good Privacy
PKC Public Key Certificate
PKCS Public Key Cryptography Standards
PKI Public Key Infrastructure
PKIX Extended Public Key Infrastructure
RA Registration Authori ties
RAO Registration Authorities Operator
RFC Request For Comments
S/MIME Secure Multipurpose Internet Mail Extensions
SHA 1 Secure Hash Standard
SSL Secure Socket Layer
TLS Transport Layer Security
IBPS (Inter - Bank Payment
System) Hệ thống thanh toán điện tử liên ngân hàng, bao gồm các tiểu hệ thống HVSS, LVSS, SAPS HVSS (High Value Sub -
System) Tiểu hệ thống của IBPS có nhiệm vụ xử lý giao dịch giá trị cao quyết toán tổng tức thời LVSS (Low Value Sub -
System) Tiểu hệ thống của IBPS có nhiệm vụ xử lý giao dịch giá trị thấp và xử lý bù trừ giá trị thấp
Trang 13SAPS (Settlement Account
Processing System) Hệ thống duy trì và xử lý tài khoản; thực hiện quyết toán tổng tức thời, quyết toán kết quả thực hóa NPSC (National Processing and
O-PPC (Originating Provincial
Processing Center) Trung tâm xử lý cấp tỉnh mà Ngân hàng phát lệnh giao dịch (Bank A) kết nối tới R- PPC (Receiving P rovincial
Processing Center) Trung tâm xử lý cấp tỉnh mà Ngân hàng nhận lệnh giao dịch (Bank B) kết nối tới Originator Tổ chức hoặc cá nhân thực hiện yêu cầu giao dịch thanh toán
tại ngân hàng
Recipient Tổ chức hoặc cá nhân nhận lệnh thanh toán
Bank A Ngân hàng cung cấp dịch vụ cho Originator
Bank B Ngân hàng cung cấp dịch vụ cho Recipient
O-CIHO (Originating Credit
Institution Head Office)
Hội sở chính của ngân hàng A
O-CIBH (Originating Credit
Institution Branch)
Chi nhánh của ngân hàng A
O- IPC (Originating Credit
Institution Processing Center)
Trung tâm xử lý của Ngân hàng A, thực hiện kết nối với O - PPC
O-CI (Originating Credit
Institution) Tổ chức tín dụng khởi phát lệnh thanh toán (tên dùng chung cho O - CIHO, O CIBH, O CIPC) - - R-CIHO (Receiving Credit
Institution Head Office)
Hội sở chính của ngân hàng B
R-CIBH (Receiving Credit
Institution Branch)
Chi nhánh của Ngân hàng B
R-CIPC (Receiving Credit
Institution Processing Center)
Trung tâm xử lý của Ngân hàng B, thực hiện kết nối với R - PPC
R-CI (Receiving Credit
Institution)
Tổ chức tín dụng nhận lệnh thanh toán (tên dùng chung cho
R - CIHO, R - CIBH, R - CIPC).
SBV OC (State Bank of Viet
Nam Operating Center)
Sở giao dịch của Ngân hàng nhà nước Việt Nam; nơi duy trì, quản lý hệ thống tài khoản của các Ngân hàng
SBV Br (State Bank of Viet
Nam Branch) Chi nhánh Ngân hàng nhà nước tại mỗi tỉnh
SA (Settlement Account) Tài khoản quyết toán của các tổ chức tín dụng mở tại ngân
hàng Nhà nước
FTA (Fund Transfer Acco unt) Tài khoản chuyển tiền của các chi nhánh ngân hàng Nhà
nước
TAD (Terminal Access Divice) Thiết bị truy cập đầu cuối; Phần mềm mà CI dùng để thực
hiện kết nối và giao dịch với hệ thống thanh toán điện tử liên ngân hàng
SCC TAD Chương trình kiểm so hệ thống IBPS át
OP TAD Chương trình vận hành hệ thống IBPS
TAD ID Mã tổ chức tín dụng
Confirm ID Mã xác nhận của tổ chức tín dụng
Trang 14MỞ ĐẦU
Trong một vài năm lại đây, hạ tầng truyền thông công nghệ thông tin càng ngày càng được mở rộng khi 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ư khách hàng trên cácmạng công cộng Hầu hết các thông tin nhạy cảm và quan trọng được lưu trữ và traođổi dưới hình thức điện tử trong các cơ quan văn phòng, doanh nghiệp, ngân hàng
Sự thay đổi trong các hoạt động truyền thông này đồng nghĩa với việc cần phải có biện pháp bảo vệ đơn 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 đó ạ tầng mã Hkhoá cô ngkhai (PKI - Public Key Infrastructure) cùng các tiêu chuẩn và 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
Các hệ thống ứng dụng PKI trên thế giới đã và đang được triển khai một cách mạnh
mẽ Việt Nam chúng ta cũng không nằm ngoài xu hướng này Gần đây, Chính phủ
và các cơ quan bộ ngành (trong đó có Ngân Hàng Nhà Nước) cũng đã chuẩn bị dự thảo các văn bản pháp lý, quy định về việc xây dựng, áp dụng công nghệ này Với vai trò là cơ quan đầu ngành của Ngân Hàng Nhà Nước Việt Nam trong lĩnh vực công nghệ tin học, Cục công nghệ tin học là đơn vị đi đầu trong công tác nghiên cứu và triển khai công nghệ này Việc xây dựng hệ thống bảo mật “Quản lý và cấp phát mã khóa công khai ngân hàng nhà nước Vi ệt Nam (NHNN) (h th” ệ ống CA NHNN) phần nào thể hiện điều đó
M ột trong những ứng ụng đầu d tiên của ệ thống CA NHNN l được h à tích hợp ới v
h thệ ống thanh to i t liên ngân hán đ ện ử àng (Int -Banking Payment System - IBPS) er
H thệ ống tích h nợp ày đã được ực ện th hi và tri khai giai o ển đ ạn 1 vào tháng 3/2008
Vi nghiêệc n cứu và t hi h thìm ểu ệ ống tích hợp ày là c thi n ần ết, bởi ết k qu c quá ả ủatrình nghiên cứu, tìm hiểu không chỉ cho nhữn đánhg giá v ề hiệu quả ủa ứng ụng c d
h tạ ầng khóa công khai, mà c rút òn ra những kinh nghiệm th t dành ực ế cho việc
nâng cấp ệ thống h tích h hi t ho ợp ện ại ặc cho những ự án ứng ụng ạ ầng d d h t khóa
công với các hệ thống khác của NHNN Đây cũng ch ính là m ục đích mà lu vận ăn này hướng ới Hy vọng ới t v những ải gi ph kh áp ả thi, kết qu c lu vả ủa ận ăn sẽ đónggóp v th t ào ực ế trong việc nâng cấp h thệ ống tích hợp ện ại của hi t ngân hàng nhà
Trang 15Chương 2: CHỨNG THƯ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI Trình bày khái niệm chứng thư số và một số vấn đề liên quan; khái niệmPKI, chức năng và các thành phần của PKI; các mô hình tin tưởng của PKI,
ưu và nhược điểm của các mô hình này
Phần 2 t trung nghiêập n cứu, tìm hi v h ểu ề ệ thống CA NHNN, hệ ống thanh toán th
điện t liên ngân hàng ử
Chương 3: TỔNG QUAN VỀ GIẢI PHÁP PKI CỦA ENTRUST
Phần này sẽ đưa ra cái nhìn tổng quan về mô hình và các thành phần của giải pháp PKI của Entrust giải pháp được ứng dụng để xây dựng trung tâm CA - NHNN
Chương 4: HỆ THỐNG “QUẢN LÝ VÀ CẤP PHÁT MÃ KHÓA CÔNG KHAI NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM”
Trình bày ki trúc h thến ệ ống ủa ệ thống “Quản lý và cấp phát mã khóa c hcông khai Ngân hàng à nnh ước Việt Nam” ( ệ ốngh th CA), c thành ph và ác ầntính n ng k thu t c h th g CA ă ỹ ậ ủa ệ ốn
Chương 5: HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
Trình bày các kiến úc ệ ống, c c th tr h th á ành ph và cáần c loại ịch ụ ủa ệ d v c h
th g thanh to liên i t ngân hốn án đ ện ử àng
Phần 3 Phân tích, đánh giá và xu cáđề ất c giải ph nháp ằm nâng cao hiệu qu ả an
to b m t c h thàn ảo ậ ủa ệ ống thanh to liên ng hàng án ân
Chương 6: PHÂN TÍCH VẤN ĐỀ AN TOÀN BẢO MẬT HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG
Tổng quan các vấn đề an toàn ảo b m c h thật ủa ệ ống IBPS P n thâ ích hi ện
trạng ảo b m tật ầng ứng dụng và c v ác ấn đề xem xét để tích hợp mã khóacông khai
Chương 7: ĐÁNH GIÁ HIỆN TRẠNG HỆ THỐNG THANH TOÁN ĐIỆN
TỬ LIÊN NGÂN HÀNG TÍCH HỢP HỆ THỐNG CA
Trình bày hi tr ng và ện ạ đánh giá hi trện ạng ệ ống h th tích hợp Dựa ào v phân tích hi trện ạng và c v ác ấn đề đánh giá có nh ng xu h lý để ữ đề ất ợp
Chương 8: ĐỀ XUẤT CÁC GIẢI PHÁP CHO HỆ THỐNG TÍCH HỢP
Trình bày các giải pháp đề xuất nhằm nâng cao hiệu an toàn ảo ật của hệ b m thống tích hợp
Hà nội, tháng 11 m 2008 nă
Lê Tr V Anhần ũ
Trang 16CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ
Để hiểu về Hạ tầng khóa công khai, trước hết ầ tìm hiểu về mật mã, các hệ mật c n
mã và chữ ký Chương 1 s t trung trình bẽ ập ày các vấn đề ày n
1.1 GIỚI THIỆU CHUNG
Mật mã đã được con người sử dụng từ lâu đời Các hình thức mật mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông tin Ví dụ muốn gửi một văn bản từ một ngườigửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tương ứng
và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận được bản mã mật
và khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình Do văn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài
có thể “lấy trộm” được, nhưng vì đó là bản mật mã nên không đọc hiểu được; Còn
A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được
là do hai người đã có một thoả thuận về một chìa khoá chung, chỉ với khoá chung này thì A mới tạo được bản mã mật từ bản rõ và B mới khôi phục được bản rõ từ bản mã mật Khoá chung đó được gọi là khoá mật mã Để thực hiện được một phép mật mã, ta còn cần có một thuật toán biến bản rõ cùng với khoá mật mã thành bản
mã mật và một thuật toán ngược lại biến bản mật cùng với khoá mật mã thành bản
rõ Các thuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cần được giữ bí mật là khoá mật mã Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là mã thám hay phá khoá [3]
5 D là tập các hàm giải mã Với mỗi k ∈ K, có một hàm lập mã ek E, ek: ∈ P
→C và một hàm giải mã dk∈ D, dk: C P sao cho dk k(x)) = x, → (e ∀ x P ∈
Trang 17Hình 1.1: Quá trình mã hoá và giải mã
1.3 HỆ MẬT MÃ KHOÁ ĐỐI XỨNG
Các phương pháp mật mã cổ điển đã được biết đến từ khoảng 4000 năm rước Một t
số kỹ thuật đã được những người Ai Cập sử dụng từ nhiều thế kỷ trước Những kỹ thuật này chủ yếu sử dụng hai phương pháp chính là: phép thay thế và phép chuyển dịch Trong phép thay thế, một chữ cái này được thay thế bởi chữ cái khác và trong phép chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác
Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầu của Văn phòng quốc gia về chuẩn (NBS) và được sự thẩm định của an ninh quốc gia là một
ví dụ về mật mã cổ điển DES kết hợp cả hai phương pháp thay thế và chuyển dịch DES thực hiện mã hoá trên từng khối bản rõ là một xâu 64 bit, có khoá là một xâu
56 bit và cho ra bản mã cũng là một xâu 64 bit Hiện nay, DES và biến thể của nó (3DES) vẫn được sử dụng thành công trong nhiều ứng dụng
Trong các hệ mã đối xứng chỉ có một khoá được chia sẻ giữa các bên tham gia liên lạc Cứ mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B cùng thoả thuận trước với nhau một khoá chung K, sau đó người gửi dùng e để lập mãK cho thông báo gửi đi và người nhận dùng d để giải mã bản mật mã nhận được Người gửi và K người nhận có cùng một khoá chung K, được giữ bí mật dùng cho cả lập mã và giải
mã Những hệ mật mã cổ điển với cách sử dụng trên được gọi là mật mã khoá đối xứng hay còn gọi là mật mã khoá bí mật
Độ an toàn của hệ mật mã đối xứng phụ thuộc vào khoá Nếu để lộ khoá thì bất kỳ người nào cũng có thể mã hoá và giải mã thông điệp
Ưu và nhược điểm của hệ mật mã khoá đối xứng
Ưu điểm nổi bật của các hệ mật mã khoá đối xứng là việc xây dựng một hệ mật mã
có độ bảo mật cao khá dễ dàng về mặt lý thuyết Nhưng như nếu không kể đến việc cần có một nguồn sinh khoá ngẫu nhiên thì việc phân phối, lưu trữ bảo mật và thoả thuận khoá là một vấn đề khó chấp nhận được trong mạng truyền thông ngày nay
Trong một mạng có n người dùng, nếu cần khoá cho từng cặp thì cần n(n+1)/2 khoá
Để khắc phục hiện tượng không thể lưu trữ một khối lượng khoá quá lớn đáp ứng được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệ mật mã khối với
độ dài không lớn lắm như DES… hoặc các hệ mật mã dòng mà khoá được sinh ra từ một nguồn giả ngẫu nhiên bằng thuật toán
Trang 18Mặc dù đã thực hiện việc mã hoá và giải mã bằng các hệ mật mã khối hay bằng thuật toán sinh khoá như đã nêu ở trên thì vấn đề phân phối và thoả thuận khoá vẫn phải được thực hiện Như vậy phân phối và thoả thuận khoá là một vấn đề chưa thể được giải quyết trong các hệ mật mã khoá đối xứng
1.4 HỆ MẬT MÃ KHOÁ CÔNG KHAI
Để giải quyết vấn đề phân phối và thoả thuận khoá của mật mã khoá đối xứng, năm
1976 Diffie và Hellman đã đưa ra khái niệm về hệ mật mã khoá công khai và một phương pháp trao đổi công khai để tạo ra một khoá bí mật chung mà tính an toàn được bảo đảm bởi độ khó của một bài toán toán học cụ thể (là bài toán tính “logarit rời rạc”) Hệ mật mã khoá công khai hay còn được gọi là hệ mật mã phi đối xứng sử dụng một cặp khoá, khoá mã hoá còn gọi là khoá công khai (public key) và khoá giải mã được gọi là khoá bí mật hay khóa riêng (private key) Trong hệ mật này, khoá mã hoá khác với khoá giải mã Về mặt toán học thì từ khoá công khai rất khó tính được khoá bí mật Biết được khoá này không dễ dàng tìm được khoá kia Khoá giải mã được giữ bí mật trong khi khoá mã hoá được công bố công khai Một người bất kỳ có thể sử dụng khoá công khai để mã hoá tin tức, nhưng chỉ có người nào có đúng khoá giải mã mới có khả năng xem được bản rõ
Người gửi A sẽ mã hoá thông điệp bằng khóa công của người nhận và người nhận B
sẽ giải mã thông điệp với khoá bí mật tương ứng của mình
Quá trình này được mô tả trong hình 1.2 và 1.3
Hình 1.2: Mã hoá thông điệp sử dụng khoá công khai P
Trang 19Có nhiều hệ thống khoá công khai được triển khai rộng rãi như hệ RSA, hệ ElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman và nổi lên trong nhữngnăm gần đây là hệ đường cong Elliptic Trong số các hệ mật mã trên thì hệ RSA là
hệ được cộng đồng chuẩn quốc tế và công nghiệp chấp nhận rộng rãi trong việc thực thi mật mã khoá công khai
Hệ mật mã RSA, do Rivest, Shamir và Adleman [8] tìm ra, đã được công bố lần đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American Hệ mật mã RSA được
sử dụng rộng rãi trong thực tiễn đặc biệt cho mục đích bảo mật và xác thực dữ liệu
số Tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố
Hệ mật mã RSA được mô tả như hình 1.4
Hình 1.4: Sơ đồ hệ mật mã RSA
Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách mạng” trong công nghệ an toàn thông tin điện tử Nhưng thực tiễn triễn khai cho thấy tốc độ mã hoá khối dữ liệu lớn bằng các thuật toán mã hoá công khai chậm hơn rất nhiều so với hệ mã hoá đối xứng Ví dụ, để đạt được độ an toàn như các hệ mã đối xứng mạnh cùng thời, RSA đòi hỏi thời gian cho việc mã hoá một văn bản lâu hơn ấp hàng ngàn lần Do đó, thay bằng việc mã hoá văn bản có kích thước lớn bằng lược
đồ khoá công khai thì văn bản này sẽ được mã hoá bằng một hệ mã đối xứng có tốc
độ cao như DES, IDEA,…sau đó khoá được sử dụng trong hệ mã đối xứng sẽ được
mã hoá sử dụng mật mã khoá công khai Phương pháp này rất khả thi trong việc mã
và giải mã những văn bản có kích thước lớn như được mô tả trong hình 1.5 và 1.6
Trang 20Hình 1.5: Mã hoá thông điệp sử dụng khoá bí mật S để mã thông điệp và
khoá công khai P để mã khoá bí mật S
Hình 1.6: Giải mã thông điệp sử dụng khoá bí mật S để giải mã thông điệp và
khoá bí mật P để giải mã khoá bí mật S
Ưu và nhược điểm của hệ mật mã khoá công khai
Vấn đề còn tồn đọng của hệ mật mã khoá đối xứng được giải quyết nhờ hệ mật mã khoá công khai Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề xuất, đánh giá các hệ mật mã công khai Nhưng do bản thân các hệ mật mã khoá công khai đều dựa vào các giả thiết liên quan đến các bài toán khó nên đa số các hệ mật mã này đều có tốc độ mã dịch không nhanh lắm Chính nhược điểm này làm cho các hệ mật
mã khoá công khai khó được dùng một cách độc lập
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là việc xác thực
mà trong mô hình hệ mật mã đối xứng không đặt ra Do các khoá mã công khai được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khoá được công bố có đúng là của đối tượng cần liên lạc hay không?” là một kẽ hở có thể bị lợi dụng Vấn đề xác thực này được giải quyết cũng chính bằng các hệ mật mã khoá công khai Nhiều thủ tục xác thực đã được nghiên cứu và sử dụng như Kerberos, X.509… Một ưu điểm nữa của các hệ mật mã khoá công khai là các ứng dụng của
Trang 21nó trong lĩnh vực chữ ký số, cùng với các kết quả về hàm băm, thủ tục ký để bảo đảm tính toàn vẹn của một văn bản được giải quyết
1.5 CHỮ KÝ SỐ
Mật mã khoá công khai có thể được sử dụng theo nhiều cách khác nhau Chữ ký số
là một ví dụ minh chứng cho việc đảm bảo xác thực người dùng và toàn vẹn dữ liệu Nếu người gửi A mã hoá thông điệp hay tài liệu với khoá bí mật của mình thì bất kỳ
ai cũng có thể giải mã thông điệp với khoá công khai của A Do đó, người nhận cóthể chắc chắn rằng thông điệp mình nhận chỉ có thể do A mã vì chỉ A mới có khoá
bí mật của mình Quá trình mã hoá thông điệp với khoá bí mật của người gửi gọi làquá trình “ký số”
Trong thực tế, quá trình ký số thường khó hơn Thay bằng việc mã bản thông điệp gốc với khoá bí mật của người gửi thì chỉ có bản đại diện thông điệp (bản băm) có
độ dài cố định được mã hoá với khoá bí mật của người gửi và bản băm đã được mã hoá này được gắn vào với thông điệp gốc Người nhận B sau khi nhận được thông điệp đầu tiên sẽ giải mã bản băm với khoá công khai của người gửi, sau đó băm thông điệp đi kèm bằng thuật toán băm tương ứng với thuật toán băm người gửi đã
sử dụng B so sánh hai giá trị băm nếu giống nhau thì chắc chắn rằng thông điệp A gửi cho B còn nguyên vẹn, đồng thời xác thực được người gửi thông tin là ai
Tính toàn vẹn của thông điệp được đảm bảo vì chỉ thay đổi một bit trong thông điệp gửi đi thì kết quả hai giá trị băm sẽ khác nhau Tính xác thực của người gửi cũng được đảm bảo vì chỉ có người gửi A mới có khoá bí mật để mã bản băm Chữ ký số cũng chứng minh được tính chống chối bỏ bản gốc vì chỉ có A mới có khoá bí mậtdùng để ký số Sơ đồ chữ ký được định nghĩa như sau:
Sơ đồ chữ ký là một bộ năm (P, A, K, S, V), trong đó:
1 P là một tập hữu hạn các văn bản có thể
2 A là một tập hữu hạn các chữ ký có thể
3 K là một tập hữu hạn các khoá có thể
4 S là tập các thuật toán ký
5 V là tập các thuật toán kiểm thử
6 Với mỗi k ∈ K, có một thuật toán ký sigk S, sig∈ k: P → A và một thuật toán kiểm thử verk ∈V, verk: P x A →{đúng, sai}, thoả mãn điều kiện sau đây với mọi x ∈ P, y A: ∈
verk (x,y) = đúng, nếu y = sigk(x)
sai, nếu y ≠ sigk(x) RSA cũng là thuật toán được dùng nhiều cho mục đích ký số Sơ đồ chữ ký RSA được mô tả như trong hình 1.7 [4] Ngoài ra, còn có một số thuật toán công khai khác được dùng để ký số, ví dụ như chuẩn chữ ký số DSS
Trang 22Hình 1.7: Sơ đồ chữ ký RSA
Quá trình ký và kiểm tra chữ ký được mô tả trong hình 1.8 và hình 1.9
Giả sử A muốn gửi cho B thông điệp A thực hiện các bước sau:x
1 A băm thông điệp (Hình 1.8 a), thu được bản đại diện z = x h(x) - có kíchthước cố định 128 bit hoặc 160 bit
2 A ký số trên bản đại diện z (Hình 1.8 b), bằng khóa bí mật của mình, thuđược bản ký số y = sigK (z)
3 A gửi (x, y) cho B (Hình 1.8 c)
Hình 1.8 a: Băm thông điệp
Hình 1.8 b: Ký trên bản băm
Trang 23Hình 1.8 c: Truyền dữ liệu thông tin cần gửi
Hình 1.8: Sơ đồ mô tả các công đoạn người A làm trước khi gửi thông điệp
cho người B (sử dụng hàm băm rồi ký số)
Khi B nhận được (x, y) B thực hiện các bước sau:
1 B kiểm tra chữ ký số để xác minh xem thông điệp mà mình nhận được có phải được gửi từ A hay không bằng cách giải mã chữ ký số y, bằng khóa công khai của A, được z (Hình 1.9 a)
2 B dùng một thuật toán băm tương ứng với thuật toán băm mà A dùng để - - băm thông điệp x đi kèm, nhận được h(x) (Hình 1.9 b)
3 B so sánh 2 giá trị băm z và h(x), nếu giống nhau thì chắc chắn rằng thông điệp x mà A muốn gửi cho B còn nguyên vẹn, bên cạnh đó cũng xác thực - - được người gửi thông tin là ai (Hình 1.9 c)
Hình 1.9 a: Xác minh chữ ký
Hình 1.9 b: Tiến hành băm thông điệp x đi kèm
Hình 1.9 c: Kiểm tra tính toàn vẹn của thông điệp Hình 1.9: Sơ đồ mô tả các công đoạn kiểm tra chữ ký sau khi người B nhận
được thông điệp
Trang 241.6 HÀM BĂM
Việc sử dụng các hệ mật mã và sơ đồ chữ ký số thường là mã hóa và ký số trên
từng bit của thông tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung lượng của
thông tin Thêm vào đó có thể xảy ra trường hợp: với nhiều bức thông điệp đầu vào khác nhau, sử dụng hệ mật mã, sơ đồ ký số giống nhau (có thể khác nhau) thì cho ra kết quả bản mã, bản ký số giống nhau (ánh xạ N 1: nhiều một), như- - hình 1.10 Điều này sẽ dẫn đến một số rắc rối về sau cho việc xác thực thông tin
Hình 1.10: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số
Các sơ đồ ký số thường chỉ được sử dụng để ký các bức thông điệp (thông tin) có kích thước nhỏ và sau khi ký, bản ký số có kích thước gấp đôi bản thông điệp gốc -
ví dụ với sơ đồ chữ ký chuẩn DSS ký trên các bức thông điệp có kích thước 160 bit, bản ký số sẽ có kích thước 320 bit Trong khi đó trên thực tế, ta cần phải ký các thông điệp có kích thước lớn hơn nhiều, chẳng hạn vài chục MegaByte Hơn nữa, để đáp ứng yêu cầu xác thực sau khi thông tin đến người nhận, dữ liệu truyền qua mạng không chỉ là bản thông điệp gốc, mà còn bao gồm cả bản ký số (có dung lượng gấp đôi dung lượng bản thông điệp gốc) Một cách đơn giản để gi quyết vấn ải
đề trên (với thông điệp có kích thước lớn) này là chặt thông điệp thành nhiều đoạn
160 bit, sau đó ký lên các đoạn đó độc lập nhau Nhưng, sử dụng biện pháp này sẽ
có một số vấn đề gặp phải trong việc tạo ra các chữ ký số:
- Thứ nhất: với một thông điệp có kích thước , thì sau khi ký kích thước của chữ a
ký sẽ là 2 (trong trường hợp sử dụng DSS).a
- Thứ hai: với các chữ ký “an toàn” thì tốc độ chậm vì chúng dùng nhiều phép tính
số học phức tạp như số mũ modulo
Trang 25- Thứ ba: vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thông
điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị mất mát, trong khi người nhận cần phải xác minh lại thông điệp Do đó, ta cần phải bảo đảm tính toàn vẹn của thông điệp
Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ giúp cho việc ký số Hàm băm - hiểu theo một nghĩa đơn giản là hàm cho tương ứng một mảng dữ liệu lớn với một mảng dữ liệu nhỏ hơn được sử dụng rộng rãi trong nhiều - ứng dụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học [2]
Hàm băm được đề cập đến trong phạm vi luận văn là hàm băm một chiều, có tác dụng trợ giúp cho các sơ đồ ký số nhằm làm giảm dung lượng của dữ liệu cần thiết
để truyền qua mạng Hàm băm ở đây được hiểu là các thuật toán không sử dụng khoá để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hoá”), nó có nhiệm
vụ băm thông điệp được đưa vào theo một thuật toán h một chiều nào đó, rồi đưa ra một bản băm - văn bản đại diện - có kích thước cố định Giá trị của hàm băm là duy nhất và không thể suy ngược lại được nội dung thông điệp từ giá trị băm này Hàm băm một chiều h có một số đặc tính quan trọng sau:
- Với thông điệp đầu vào thu được bản băm z = x h(x) là duy nhất
- Nếu dữ liệu trong thông điệp thay đổi hay bị xóa để thành thông điệp x’ thì x h(x’) ≠ h ) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1 bit dữ liệu (xcủa thông điệp thì giá trị băm cũng vẫn thay đổi Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau
- Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm Nghĩa là với thông điệp x thì dễ dàng tính được z = h(x), nhưng lại không thể (thực chất là khó) suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x)
Một số thuật toán băm được biết đến nhiều là hàm băm dòng và hàm băm chuẩn như: [MD2], [MD4], [MD5], [SHA-1]…
Trang 26CHƯƠNG 2 CHỨNG THƯ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI
Mật mã khoá công khai cho đến nay được xem là giải pháp tốt nhất để đảm bảo được các yêu cầu về an toàn thông tin mạng: “bảo mật”, “toàn vẹn”, xác thực” và
“chống chối bỏ” Mặc dù vẫn còn mới khi so sánh với các phương pháp mã cổ điển nhưng mật mã khoá công khai đã nhận được sự tin cậy rộng rãi của thế giới Internet
vì những công cụ có khả năng phát triển cho vấn đề quản lý khoá
Như đã đề cập ở trên, vấn đề chính của hệ mã khoá đối xứng là vấn đề quản lý khoá
và để giải quyết vấn đề này hệ mã khoá công khai đã được đưa ra như một giải pháp Trong hệ thống mật mã khoá công khai, khoá bí mật (khoá riêng) được người dùng giữ bí mật trong khi khoá công khai với tên của người sở hữu tương ứng lại được công bố công khai Đối với hệ thống như thế này, ta cần xác định và trả lời một số câu hỏi như:
- Ai sẽ tạo ra cặp khoá công khai bí mật? -
- Dữ liệu sẽ được lưu dưới định dạng như thế nào trong hệ thống lưu trữ (khoá công khai, định danh của người sở hữu và các thông tin khác)?
- Có cơ chế nào để giữ cho thông tin không bị thay đổi trên hệ thống lưu trữ?
- 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ể yêu cầu có khoá công khai?
- Làm thế nào để người sử dụng có thể truy cập được đến nơi lưu trữ?
- Làm thế nào người sử 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ữ?
- Điều gì sẽ xảy với khoá công khai nếu khoá bí mật tương ứng bị xâm hại?
- Có một chính sách nào cho tất cả những vấn đề nêu trên không?
Để trả lời cho những câu hỏi trên có một giải pháp là sử dụng hạ tầng khoá công khai - PKI Cho đến nay có nhiều định nghĩa về PKI, nhưng chưa định nghĩa nào được công nhận chính thức Có một số định nghĩa về PKI như sau:
“PKI là một tập các phần cứng, phần mềm, con người, chính sách và các thủ tục cần thiết để tạo, quản lý, lưu trữ, phân phối và thu hồi chứng thư khoá công khai dựa trên mật mã khoá công khai”[25]
“PKI là hạ tầng cơ sở có thể hỗ trợ quản lý khoá công khai để hỗ trợ các dịch vụ xác thực, mã hoá, toàn vẹn hay chống chối bỏ” [10]
“PKI là hạ tầng cơ sở bảo mật có những dịch vụ được triển khai và chuyển giao sử dụng công nghệ và khái niệm khoá công khai” [5]
Nhìn chung, PKI có thể được định nghĩa như một hạ tầng cơ sở sử dụng công nghệ thông tin để cung cấp dịch vụ mã hoá khoá công khai và chữ ký số Một mục đích
Trang 27quan trọng khác của PKI là để quản lý khoá và chứng thư được sử dụng trong hệ thống
Chứng thư là cấu trúc dữ liệu đặc biệt, gắn kết khoá công khai với chủ sở hữu của
nó Việc gắn kết này được đảm bảo bằng chữ ký số của nơi được uỷ quyền cấp chứng thư
2.1 CHỨNG THƯ SỐ (DIGITAL CERTIFICATES)
2.1.1 Giới thiệu
Như đã nói đến ở trên, mật mã khoá công khai sử dụng hai khoá khác nhau (khoá công khai và khoá bí mật) để đảm bảo yêu cầu “bí mật, xác thực, toàn vẹn và chống chối bỏ ” của những dịch vụ an toàn Một đặc tính quan trọng khác của lược đồ khoá công khai là phần khoá công khai được phân phối một cách tự do Ngoài ra, trong hạ tầng mã khoá công khai thì khoá công khai ngoài việc phải luôn sẵn có để mọi người trong hệ thống có thể sử dụng còn phải được đảm bảo về tính toàn vẹn.Khoá công được đặt ở vị trí công khai trong một định dạng đặc biệt Định dạng này được gọi là chứng thư Chứng thư (thực ra là chứng thư khoá công khai - public key certificate (PKC)) là sự gắn kết giữa khoá công khai của thực thể và một hoặc nhiềuthuộc tính liên quan đến thực thể [9] Thực thể có thể là người, thiết bị phần cứngnhư máy tính, router hay một phần mềm xử lý Một chứng thư khoá công khai (PKC) được người cấp ký bằng chữ ký có hiệu lực đưa ra một bảo bảm đầy đủ về sự gắn kết giữa khoá công khai, thực thể sở hữu khoá công khai này và tập các thuộc tính khác được viết trong chứng thư số
PKC còn được gọi là “digital certificate” chứng thư số, “digital ID”, hay đơn giản -
là chứng thư Hình 2.1 là một ví dụ về chứng thư số xem từ trình duyệt Internet Explorer 6.x:
Hình 2.1: Chứng thư số
Trang 28Chứng thư số chứa những thông tin cần thiết như khóa công khai, chủ thể (người sở hữu) khoá công khai, người cấp và một số thông tin khác Tính hợp lệ của các thông tin được đảm bảo bằng chữ ký số của người cấp chứng thư số Người nào muốn sử dụng chứng thư số trước hết sẽ kiểm tra chữ ký số trong chứng thư số Nếu đó là chữ ký hợp lệ thì sau đó có thể sử dụng chứng thư số theo mục đích mong muốn.
Có nhiều loại chứng thư ố một trong số đó là: s ,
- Chứng thư ố s khoá công khai X.509
- Chứng thư ố khoá công s khai đơn giản (Simple Public Key Certificates - SPKC)
- Chứng thư ố s Pretty Good Privacy (PGP)
- Chứng thư ố thuộc tính (Attribute Certificates s - AC)
Tất cả các loại chứng thư số này đều có cấu trúc định dạng riêng Hiện nay chứng thư ố khoá công khai X.509 được sử dụng phổ biến trong hầu hết các hệ thống s PKI Hệ thống chương trình cấp chứng thư số thử nghiệm cũng sử dụng định dạngchứng thư ố s theo chuẩn X.509, nên luận văn này tập trung vào xem xét chi tiết chứng thư ố s công khai chuẩn X.509 Trong luận văn, thuật ngữ chứng thư ố s
“certificate” được sử dụng đồng nghĩa với chứng thư ố s khoá công khai X.509 v3
2.1.2 Chứng thư số khoá công khai X.509
Chứng thư số X.509 v3 là định dạng chứng thư số được sử dụng phổ biến và đượchầu hết các nhà cung cấp sản phẩm PKI triển khai
Chứng thư khoá công khai X.509 được Hội viễn thông quốc tế (ITU) đưa ra lần đầu tiên năm 1988 như là một bộ phận của dịch vụ thư mục X.500 Chứng thư số 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 thư số Phần thứ hai chứa thêm một số trường phụ, những trường phụ nà được gọi là trường mở y rộng dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống Khuôn dạng của chứng thư số X.509 được chỉ ra như trong hình 2.2
Trang 29 Những trường cơ bản của chứng thư số X.509
- Version: xác định số phiên bản của chứng thư số
- Certificate Serial Number: do CA gán, là định danh duy nhất của chứng thư số
- Signature Algorithm ID: chỉ ra thuật toán CA sử dụng để ký số chứng thư
- Có thể là thuật toán RSA hay DSA…
- Issuer Unique ID (Optional): là trường không bắt buộc, trường này chophép sử dụng lại tên người cấp Trường này hiếm được sử dụng trong triển khai thực tế
- Subject Unique ID (Optional): là trường tuỳ chọn cho phép sử dụng lại têncủa subject khi quá hạn Trường này cũng ít được sử dụng
- Extensions (Optional): chỉ có trong hứng thư sốc v.3
- Certification Authority’s Digital Signature: chữ ký số của CA được tính từnhững thông tin trên chứng thư số với khoá bí mật và thuật toán ký số được chỉ ra trong trường Signature Algorithm Identifier của chứng thư số
Tính toàn vẹn của ứng thư số được đảm bảo bằng chữ ký số của CA trênch chứng thư số Khoá công khai của CA được phân phối đến người sử dụng chứng thư số theo một số cơ chế bảo mật trước khi thực hiện các thao tác PKI Người sử dụng kiểm tra hiệu lực của chứng thư số được cấp với chữ ký số của CA và khoá công khai của CA
Những trường mở rộng của chứng thư số X.509
Phần mở rộng là những thông tin về các thuộc tính cần thiết được đưa vào để gắn những thuộc tính này với người sử dụng hay khoá công khai Những thông tin trongphần mở rộng thường được dùng để quản lý xác thực phân cấp, chính sách chứng thư số, thông tin về chứng thư số bị thu hồi…Nó cũng có thể được sử dụng để định nghĩa phần mở rộng riêng chứa những thông tin đặc trưng cho cộng đồng nhất định Mỗi trường mở rộng trong chứng thư số được thiết kế với cờ “critical” hoặc
“uncritical”
- Authority Key Indentifier: chứa ID khoá công khai của CA, ID này là duynhất và được dùng để kiểm tra chữ ký số trên chứng thư số Nó cũng được sử dụng để phân biệt giữa các cặp khoá do một CA sử dụng (trong trường hợp nếu CA có nhiều hơn một khoá công khai) Trường này được sử dụng cho tất
cả các chứng thư số tự ký số (CA - certificates)
Trang 30- Subject Key Identifier: chứa ID khoá công khai có trong chứng thư số và được sử dụng để phân biệt giữa các khoá nếu như có nhiều khoá được gắn vào trong cùng chứng thư số của người sử dụng (Nếu chủ thể có nhiều hơn một khoá công khai)
- Key Usage: chứa một chuỗi bit được sử dụng để xác định (hoặc hạn chế)chức năng hoặc dịch vụ được hỗ trợ qua việc sử dụng khoá công khai trong chứng thư số
- Extended Key Usage: chứa một hoặc nhiều OIDs (định danh đối tượng - Object Identifier) để xác định cụ thể việc sử dụng khoá công khai trong chứng thư số Các giá trị có thể là (1) xác thực server TLS, (2) xác thực : client TLS, (3) Ký Mã, (4) bảo mật e mail (5) Tem thời gian.- ,
- CRL Distribution Point: chỉ ra vị trí của CRL tức là nơi hiện có thông tinthu hồi chứng thư số Nó có thể là URI (Uniform Resource Indicator), địa chỉ của X.500 hoặc LDAP server
- Private Key Usage Period: trường này cho biết thời gian sử dụng của khoá
bí mật gắn với khóa công khai trong chứng thư số
- Certificate Policies: trường này chỉ ra dãy các chính sách OIDs gắn với việc cấp và sử dụng chứng thư số
- Policy Mappings: trường này chỉ ra chính sách xác thực tương đương giữahai miền CA Nó được sử dụng trong việc thiết lập xác thực chéo và kiểm tra đường dẫn chứng thư số Trường này chỉ có trong chứng thư số CA
- Subject Alternative Name: chỉ ra những dạng tên lựa chọn gắn với người sở hữu chứng thư số Những giá trị có thể là: địa chỉ e mail, địa chỉ IP, địa chỉ -URI…
- Issuer Alternative Name: chỉ ra những dạng tên lựa chọn gắn với người cấp chứng thư số
- Subject Directory Attributes: trường này chỉ ra dãy các thuộc tính gắn vớingười sở hữu chứng thư số Trường mở rộng này không được sử dụng rộng rãi Nó được dùng để chứa những thông tin liên quan đến đặc quyền
- Basic Constraints Field: trường này cho biết đây có phải là chứng thư số
CA hay không bằng cách thiết lập giá trị logic (true) Trường này chỉ cótrong chứng thư số CA Chứng thư số CA dùng để thực hiện một số chức năng Chứng thư số này có thể ở một trong hai dạng Nếu CA tạo ra chứng thư số để tự sử dụng, chứng thư số này được gọi là chứng thư số CA tự ký Khi một CA mới được thiết lập, CA tạo ra một chứng thư số CA tự ký để ký lên chứng thư số của người sử dụng cuối trong hệ thống Và dạng thứ hai là
CA cấp chứng thư số cho những CA khác trong hệ thống
- Path Length Constraint: trường này chỉ ra số độ dài tối đa của đường dẫnchứng thư số có thể được thiết lập Giá trị “zero” chỉ ra rằng CA chỉ có thể cấp chứng thư số cho thực thể cuối không cấp chứng thư số cho những CA , khác (Trường này chỉ có trong chứng thư số của CA)
Trang 31- Name Constrainsts: được dùng để bao gồm hoặc loại trừ các nhánh trongnhững miền khác nhau trong khi thiết lập môi trường tin tưởng giữa các miền PKI
- Policy Constraints: được dùng để bao gồm hoặc loại trừ một số chính sách chứng thư số trong khi thiết lập môi trường tin tưởng giữa các miền PKI
Hình 2.3 là nội dung chi tiết một chứng thư số xem từ trình duyệt Internet Explorer 6.x:
Hình 2.3: Nội dung chi tiết của chứng thư số
2.1.3 Thu hồi chứng thư số
Trong một số trường hợp như khoá bị xâm hại, hoặc người sở hữu chứng thư số thay đổi vị trí, cơ quan…thì chứng thư số đã đượ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 thư số kiểm tra được trạng thái thu hồi chứng thư số X.509 cho phép kiểm tra chứng thư số trong các trường hợp sau:
- Chứng thư số không bị thu hồi
- Chứng thư số đã bị CA cấp thu hồi
- Chứng thư số do một tổ chức có thẩm quyền mà CA uỷ thác có trách nhiệm thu hồi chứng thư số thu hồi
Cơ chế thu hồi X.509 xác định là sử dụng danh sách thu hồi chứng thư số (CRLs) X.509 đưa ra sự phân biệt giữa ngày, thời gian chứng thư số bị CA thu hồi và ngày, thời gian trạng thái thu hồi được công bố đầu tiên Ngày thu hồi thực sự được ghi cùng với đầu vào chứng thư số trong CRL Ngày thông báo thu hồi được xác địnhtrong header của CRL khi nó được công bố Vị trí của thông tin thu hồi có thể khác nhau tuỳ theo CA khác nhau Bản thân chứng thư số có thể chứa con trỏ đến nơi thông tin thu hồi được xác định vị trí Người sử dụng chứng thư số có thể biết thư
Trang 32mục, kho lưu trữ hay cơ chế để lấy được thông tin thu hồi dựa trên những thông tin cấu hình được thiết lập trong quá trình khởi sinh.
Để duy trì tính nhất quán và khả năng kiểm tra, CA yêu cầu:
- Duy trì bản ghi kiểm tra chứng thư số thu hồi
- Cung cấp thông tin trạng thái thu hồi
- Công bố CRLs khi CRL là danh sách trống
2.1.4 Chính sách của chứng thư số
Như được giới thiệu trong phần trên, một số mở rộng liên quan đến chính sách có trong chứng thư số Những mở rộng liên quan đến chính sách này được sử dụng trong khi thiết lập xác thực chéo giữa các miền PKI Một chính sách chứng thư số trong X.509 được định nghĩa là “tên của tập các qui tắc chỉ ra khả năng có thể sử dụng của chứng thư số cho một tập thể đặc thù và một lớp ứng dụng với những yêu cầu bảo mật chung” [10]
Chính sách có định danh duy nhất (được biết đến như định danh đối tượng hay OID) và định danh này được đăng ký để người cấp và người sử dụng chứng thư số có thể nhận ra và tham chiếu đến Một chứng thư số có thể được cấp theo nhiều chính sách Một số có thể là thủ tục và mô tả mức đảm bảo gắn với việc tạo và quản lý chứng thư số Những chính sách khác có thể là kỹ thuật và mô tả mức đảm bảo gắn với an toàn của hệ thống được sử dụng để tạo chứng thư số hay nơi lưu trữ khoá [7] Một chính sách chứng thư số 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 thư số được công bố theo nhữngchính sách này Chính sách chứng thư số Certificate Policies (CP) được chứa trong - trường mở rộng chuẩn của chứng thư số X.509 Bằng việc kiểm tra trường này trong chứng thư số, hệ thống sử dụng chứng thư số có thể xác định được một chứng thư số cụ thể có thích hợp cho mục đích sử dụng hay không
Một thuật ngữ chuyên môn khác “Certificate Practice Statement (CPS)” được sử dụng để mô tả chi tiết những thủ tục hoạt động bên trong của CA và PKI cấp chứng thư số với chính sách chứng thư số đã qui định
Chính sách chứng thư số đặc biệt quan trọng khi đưa ra quyết định để xác nhậnchéo hai PKI khác nhau
2.1.5 Công bố và gửi thông báo thu hồi chứng thư số
Thông thường chứng thư số 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 thư số lại không hợp lệ trước thời gian hết hạn, ví
dụ như:
- Khoá bí mật của chủ thể bị xâm phạm
- Thông tin chứa trong chứng thư số bị thay đổi
- Khoá bí mật của CA cấp chứng thư số 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 thư số là công bố CRLs định kỳ hoặc khi cần thiết Ngoài ra, có một
Trang 33số 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 [13]
2.1.5.1 Certificate Revocation Lists (CRLs)
CRLs là cấu trúc dữ liệu được ký như chứng thư số người sử dụng CRLs chứa danh sách các chứng thư số đã 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 Những thông tin này được chứa trong trường mở rộng CRL Scope
Hình 2.4 là khuôn dạng danh sách chứng thư số bị thu hồi
Hình 2.4: Khuôn dạng danh sách chứng thư số bị thu hồi
Trong đó:
- Version number: chỉ ra phiên bản của CRL
- Signature: nhận biết loại hàm băm và thuật toán ký được sử dụng để kýdanh sách thu hồi CRL
- Issuer: tên của thực thể cấp và ký CRL
- This Update: chỉ ra ngày và thời gian CRL được công bố
- Next Update: chỉ ra ngày và thời gian danh sách thu hồi kế tiếp được cấp
- List of revoked certificates: chứa danh sách cùng với serial của nhữngchứng thư số bị thu hồi
Những chứng thư số đã bị CA thu hồi được ghi vào danh sách theo thứ tự củarevokedCertificates Mỗi đầu vào nhận biết chứng thư số thông qua số serial và ngày thu hồi trên đó có ghi rõ thời gian và ngày khi chứng thư số bị CA thu hồi
Trang 342.1.5.2 Authority Revocation List (ARLs)
ARL là một CRL đặc biệt chứa thông tin thu hồi về chứng thư số CA ARLs không chứa chứng thư số của người sử dụng cuối Những thay đổi thông thường trongARL thường hiếm khi xảy ra bởi vì chứng thư số của CA chỉ bị thu hồi khi khoá bí mật của CA bị xâm hại và đó lại là trường hợp không thường xảy ra Nếu chứng thư
số chéo bị thu hồi thì người cấp chứng thư số chéo này sẽ công bố một ARL mới để thông báo với tất cả các thực thể khác về tình huống này ARLs được sử dụng chủ yếu trong quá trình thẩm tra đường dẫn chứng thư số nếu môi trường tin cậy bao gồm CA có chứng thư số xác thực chéo
2.1.5.3 Cơ chế truy vấn On-line (On-line Query Mechanisms)
CRLs và ARLs giúp người sử dụng cuối nhận biết được về tình trạng thu hồi chứng thư số Nhưng có một vấn đề nảy sinh là điều gì sẽ xảy ra nếu CA thu hồi chứng thư
số ngay sau khi vừa công bố CRL Không có người sử dụng nào nhận biết được vềviệc thu hồi này đến khi một CRL mới được thông báo
Một lược đồ khác để kiểm soát được trạng thái của chứng thư số do IETF pháttriển
là OCSP (Online Certificate Status Protocol) Lược đồ này dựa trên cơ chế truy vấn trực tiếp hơn việc công bố định kỳ CRLs và ARLs OCSP là giao thức yêu cầu/ trả lời đưa ra cơ chế để nhận được thông tin thu hồi trực tuyến từ thực thể tin cậy là
“OCSP Responder” Người sử dụng cuối thực hiện yêu cầu với “OCSP Request” với một danh sách các chứng thư số cần được kiểm tra, OCSP Responder trả lời yêu cầu “OCSP Reply” với trạng thái của mỗi chứng thư số Chứng thư số có thể ở một trong ba trạng thái sau: “good”, “revoked” và “unknown”
Sử dụng dịch vụ online có một số ưu điểm sau:
- Trả lời thường xuyên và luôn có tính chất mới
- Thời gian trả lời nhanh
- Giảm thiểu việc sử dụng băng thông mạng sẵn có
- Tổng phí xử lý phía client thấp
Tuy nhiên dịch vụ online có hạn chế trong trường hợp cần kiểm tra trạng thái thu hồi nhưng không online Vấn đề về bảo mật cũng được đặt ra khi sử dụng dịch vụ này Hình 2.5 là dịch vụ kiểm tra online với OCSP Responder là dịch vụ khác nhau
Hình 2.5: Dịch vụ kiểm tra online
Trang 352.2 CÁC THÀNH PHẦN CỦA PKI
Một hệ thống PKI gồm 4 thành phần sau:
- Certification Authorities (CA): Cấp và thu hồi chứng thư số
- Registration Authorities (RA): Gắn kết giữa khoá công khai và định danh của người giữ chứng thư số
Hình 2.6: Các thành phần PKI
2.2.1 Tổ chức chứng thực (Certification Authority)
Trong hạ tầng cơ sở khoá công khai, chứng thư số có vai trò gắn kết giữa định danh với khoá công khai 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 thư số đã được thảo luận ở phần trước Một certificate
Trang 36authority (CA) là một thực thể PKI có trách nhiệm cấp chứng thư số cho các thực thể khác trong hệ thống.
Tổ chức chứng thực CA cũng được gọi là bên thứ ba được tin tưởng vì người sử - dụng cuối tin tưởng vào chữ ký số của CA trên chứng thư số trong khi thực hiện những hoạt động mã hoá khoá công khai cần thiết Tổ chức cung cấp dịch vụ chứng thực - Certification Service Provider (CSP) là một thuật ngữ khác nhắc đến CA được sử dụng trong luận văn
Thông thường, CA thực hiện chức năng xác thực bằng cách cấp chứng thư số cho các CA khác và cho thực thể cuối (người giữ chứng thư số) 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 thư số cho những CA ởmức thấp hơn thì chứng thư số này được gọi là chứng thư số gốc “root certificate”
2.2.2 Trung tâm đăng ký (Registration Authorities)
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 thư số
- 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 thư số được yêu cầu
- Kiểm tra xem chủ thể có thực sự sở hữu khoá bí mật đang được đăng ký haykhông - điều này thường được đề cập đến như sự chứng minh sở hữu (proof
of possession - POP)
- Tạo cặp khoá bí mật /công khai
- Phân phối bí mật được chia sẻ đến thực thể cuối (ví dụ: khoá 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ữ khoá bí mật
- Khởi sinh qúa trình khôi phục khoá
- Phân phối thẻ bài vật lý (ví dụ như thẻ thông minh) chứa khoá bí mật Nhìn chung, RA xử lý việc trao đổi (thường liên quan đến tương tác người dùng) giữa chủ thể thực thể cuối và quá trình đăng ký, phân phối chứng thư số và quản lý vòng đời chứng thư số/khoá Tuy nhiên, trong bất kỳ trường hợp nào thì RA cũng chỉ đưa ra những khai báo tin cậy ban đầu về chủ thể Chỉ CA mới có thể cấp chứng thư số hay đưa ra thông tin trạng thái thu hồi chứng thư
số như CRL
Trang 372.2.3 Thực thể cuối (N gười giữ chứng thư số và Clients)
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ố)
2.2.4 Hệ thống lưu trữ (Repositories)
Chứng thư số (khoá công khai) và thông tin thu hồi chứng thư số phải được phân phối sao cho những người cần đến chứng thư số đều có thể truy cập và lấy được Có
2 phương pháp phân phối chứng thư số:
2.2.4.1 Phân phối cá nhân
Phân phối cá nhân 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 thư số 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 thư số đượ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ânphối bằng cách gắn chứng thư số trong e-mail để 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ý
2.2.4.2 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 thư số (và thông tin thu hồi chứng thư số) là công bố các chứng thư số rộng rãi, các chứng thư số 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
2.3 CHỨC NĂNG CƠ BẢN CỦA 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
2.3.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 rachứng thư số cho phần khoá công khai của cặp khoá
Trang 38- Người sử dụng tự tạo cặp khoá và đưa khoá công khai cho CA để CA tạo chứng thư số cho khoá công khai đó Chứng thư số đả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.
2.3.2 Thẩm tra (validation)
Quá trình xác định liệu chứng thư số đã đư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 thư số 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 thư sốhay không (xử lý theo đường dẫn chứng thư số)
- Kiểm tra chữ ký số của CA trên chứng thư số để kiểm tra tính toàn vẹn
- Xác định xem chứng thư số còn ở trong thời gian có hiệu lực hay không
- Xác định xem chứng thư số đã bị thu hồi hay chưa
- Xác định xem chứng thư số đ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 thư số hay mở rộng việc sử dụng khoá)
2.3.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ý
Đă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 thư số 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 thư
số được cung cấp với mục đích dùng cho những hoạt động bí mật thì sử dụngphương pháp gặp mặt trực tiếp Nếu chứng thư số 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 khai của
CA, chứng thư số 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
Trang 39Tuỳ 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á bí mật 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 lẫn có thể xảy ra trong tương lai Hệ thống PKI có những công cụ để thực hiện chức năng sao lưu và khôi phục khoá
Tạo khoá
Cặp khoá công khai/bí mật có thể được tạo ở nhiều nơi Chúng có thể được tạo ra bằng phần mềm phía client và được gửi đến CA để chứng thực CA cũng có thể tạo ra cặp khoá trước khi chứng thực Trong trường hợp này, CA tự tạo cặp khoá và gửi khoá bí mật này cho người sử dụng theo một cách an toàn Nếu khoá do bên thứ ba tạo ra thì những khoá này phải được CA tin cậy trong miền xác nhận trước khi sử dụng
Hạn sử dụng và cập nhật khoá
Một trong những thuộc tính của chứng thư số là thời gian hiệu lực Thời gian hiệu lực của mỗi cặp khoá được xác định theo chính sách sử dụng Các cặp khoá của người sử dụng nên được cập nhật khi có thô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 thư số 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 khoá
Đâ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 thư số với CA certificate mới của mình-
Thu hồi
Chứng thư số đượ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 thư số thì chứng thư số mới sẽ được công bố, chứng thư số cũ sẽ bị thu hồi
Công bố và gửi thông báo thu hồi chứng thư số
Một chứng thư số đượ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 thư số bị thuhồ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 thư 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
Trang 40Xác thực chéo được thiết lập bằng cách tạo chứng thư số 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
- CA-1 và CA 2 sẽ sử dụng những trường mở rộng xác định trong chứng thư
-s ố để đặ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 phải có sự kiểm tra cẩn thận các chính sách PKI Nếu cả hai đều có cùng hoặc tương tự chính sách của nhau thì việc xác thực chéo sẽ có ý nghĩa Ngược lại, sẽ có những tình huống không mong muốn xuất hiện trong trường hợp chính sách PKI của một miền trở thành một phần của miền khác
Trường mở rộng “Policy mapping”, “name constraints” và “policy constraints” của chứng thư số X.509 chuẩn được sử dụng trong xác thực chéo để đưa ra một số giới hạn trong môi trường tin cậy
Hình 2.7 minh hoạ đường dẫn cấp chứng thư số được xây dựng giữa 2 CA (2 CA này đã thiết lập mối quan hệ tin cậy sử dụng xác thực chéo ngang hàng)
Mô hình chỉ ra chứng thư số chéo được cấp giữa mỗi CA và chứng thư số thực thể cuối được CA cấp Người cấp của một chứng thư số là chủ thể của chứng thư sốkhác Khoá công khai được xác nhận trong một chứng thư số tương ứng với khoá bí mật được sử dụng để ký chứng thư số khác