Thành phần cốt lõi của hệ thống PKI là các chứng thực điện tử, trên đó chứa hai thành phần thông tin cơ bản là định danh và khoá công khai của đối tượng sử dụng.. Trong kỹ thuật này, kho
Trang 1Bộ giáo dục và đào tạo trường đại học bách khoa hà nội
-
Luận văn thạc sĩ khoa học
Bảo mật thông tin sử dụng cơ sở hạ tầng
khoá công khai (PKI)
Trang 2M ỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT 4
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 7
Chương 1 TỔNG QUAN VỀ PKI 9
1.1 Khái quát 9
1.2 Kỹ thuật mật mã 10
1.2.1 Mật mã khoá bảo mật 10
1.2.2 Mật mã khoá công khai 11
1.2.3 Kết hợp kỹ thuật mã hoá đối xứng và bất đối xứng 12
1.3 Các phần tử cơ bản của hệ thống PKI 13
1.3.1 Khoá 14
1.3.2 Chữ ký số 15
1.3.3 Chứng thực điện tử 17
1.3.4 Chủ thể và các đối tượng sử dụng (EE) 19
1.3.5 Đối tượng quản lý chứng thực điện tử (CA) 19
1.3.6 Đối tượng quản lý đăng ký chứng thực điện tử (RA) 20
1.4 Các dịch vụ và phạm vi ứng dụng của PKI 21
1.4.1 Các yêu cầu cơ bản của an toàn an ninh thông tin 21
1.4.2 Khả năng đáp ứng của các dịch vụ sử dụng PKI 22
1.4.3 Các ứng dụng bảo mật dựa trên hệ thống PKI 23
Chương 2 CÁC MÔ HÌNH TRIỂN KHAI HỆ THỐNG PKI 26
2.1 Kiến trúc CA đơn nhất 26
2.1.1 Ưu điểm của kiến trúc CA đơn nhất 27
2.1.2 Nhược điểm của kiến trúc CA đơn nhất 27
2.2 Kiến trúc danh sách tin cậy 27
2.2.1 Ưu điểm của kiến trúc PKI danh sách tin cậy 29
2.2.2 Nhược điểm của kiến trúc PKI danh sách tin cậy 29
2.3 Kiến trúc PKI phân cấp 30
2.3.1 Ưu điểm của kiến trúc PKI phân cấp 32
2.3.2 Khuyết điểm của kiến trúc PKI phân cấp 34
2.4 Kiến trúc PKI mạng lưới 34
2.4.1 Ưu điểm của kiến trúc PKI mạng lưới 36
2.4.2 Nhược điểm của kiến trúc PKI mạng lưới 37
2.5 Kiến trúc PKI lai ghép 37
2.5.1 Kiến trúc danh sách mở rộng 39
2.5.2 Kiến trúc PKI xác minh chéo 40
Trang 32.5.3 Kiến trúc CA cầu nối 42
2.6 Lựa chọn kiến trúc PKI 45
Chương 3 CÁC CHUẨN VÀ GIAO THỨC QUẢN LÝ PKI 46
3.1 Các giao thức quản lý PKI 46
3.1.1 PKCS#10 46
3.1.2 PKCS#7 51
3.1.3 Giao thức quản lý chứng thực điện tử CMP 58
3.1.4 Quản lý chứng thực sử dụng CMS (CMC) 61
3.1.5 Giao thức cung cấp thông tin đăng ký chứng thực đơn giản 62
3.2 Họ các chuẩn X 63
3.2.1 X.500 64
3.2.2 X.509 66
Chương 4 QUẢN LÝ CHỨNG THỰC ĐIỆN TỬ 69
4.1 Chính sách và tài liệu cam kết thực hiện chứng thực điện tử 69
4.2 Yêu cầu đăng ký chứng thực điện tử và RA 70
4.2.1 Đăng ký chứng thực điện tử 71
4.2.2 Tạo khóa 72
4.3 Bảo trì khoá và chứng thực điện tử 72
4.3.1 Sao lưu khoá 72
4.3.2 Chứng thực hết hạn và lưu giữ chứng thực 73
4.3.3 Cập nhật chứng thực điện tử 73
4.3.4 Phát hành nhiều chứng thực cho người sử dụng 74
4.4 Tìm kiếm và xác minh chứng thực điện tử 75
4.4.1 Tìm kiếm chứng thực điện tử 75
4.4.2 Xác minh tính hợp lệ của chứng thực điện tử 76
4.5 Các phương pháp thu hồi chứng thực điện tử 78
4.5.1 CRL 78
4.5.2 Giao thức xác minh trực tuyến trạng thái chứng thực điện tử 83
Chương 5 THIẾT KẾ HỆ THỐNG CHỨNG THỰC ĐIỆN TỬ ỨNG DỤNG TRONG NGÀNH HẢI QUAN 86
5.1 Quy trình nghiệp vụ hệ thống thông quan điện tử hải quan 87
5.2 Mô hình truyền thông 88
5.3 Thiết kế hệ thống chứng thực điện tử cho ngành Hải quan 91
5.3.1 Mô hình tổ chức của ngành Hải quan 92
5.3.2 Lựa chọn mô hình thiết kế CA 93
5.3.3 Các thành phần và chức năng của hệ thống CA 98
5.3.4 Các thông số kỹ thuật của Entrust 103
5.3.5 Thời gian hiệu lực của khoá 104
Trang 45.3.7 Lựa chọn mô hình tích hợp cùng hệ thống Windows Active
Directory 105
5.3.8 Thiết kế vai trò và chính sách người dùng 109
5.3.9 Chính sách người dùng của hệ thống Security Manager 112
5.3.10 Quyền hạn của người dùng hệ thống Entrust CA đối với hệ thống dịch vụ thư mục 113
5.3.11 Thiết kế vật lý hệ thống CA 114
5.3.12 Lựa chọn thiết bị 116
KẾT LUẬN 118
TÀI LIỆU THAM KHẢO 119
TÓM TẮT LUẬN VĂN 120
Trang 5DANH M ỤC CÁC CHỮ VIẾT TẮT
CPS Certification Practice Statement
IDEA International Data Encryption Algorithm
LDAP Lightweight Directory Access Protocol
NIST The National Institute of Standards and Technology OCSP Online Certificate Status Protocol
PPTP Point-to-Point Tunneling Protocol
SCEP Simple Certificate Enrollment Protocol
Trang 6DANH M ỤC CÁC HÌNH VẼ
Hình 1.1 Mật mã khoá đối xứng 11
Hình 1.2 Mật mã khoá công khai 11
Hình 1.3 Kết hợp hai kỹ thuật mật mã trong tuyền tin 13
Hình 1.4 Các phần tử trong hệ thống PKI 14
Hình 1.5 Quá trình tạo chữ ký số 16
Hình 1.6 Xác thực bản tin bằng chứ ký số 17
Hình 1.7 Chứng thực điện tử 18
Hình 1.8 Các ứng dụng dựa trên PKI 24
Hình 2.1 Kiến trúc CA đơn nhất 26
Hình 2.2 Kiến trúc PKI danh sách tin cậy 28
Hình 2.3 Tin cậy 2 CA 29
Hình 2.4 Kiến trúc PKI phân cấp 31
Hình 2.5 Đường dẫn chứng thực trong kiến trúc PKI phân cấp 32
Hình 2.6 Đưa thêm một CA mới vào mức dưới CA gốc 33
Hình 2.7 Đưa thêm một CA mới vào mức dưới một CA cấp cao 33
Hình 2.8 Kiến trúc PKI mạng lưới 35
Hình 2.9 Đường dẫn chứng thực trong kiến trúc PKI mắt lưới 36
Hình 2.10 Kiến trúc PKI lai ghép 38
Hình 2.11 Danh sách tin cậy mở rộng 39
Hình 2.12 Kiến trúc PKI xác minh chéo 41
Hình 2.13 Đường dẫn chứng thực trong kiến trúc PKI xác minh chéo 42
Hình 2.14 Kiến trúc CA cầu nối 44
Hình 2.15 Đường dẫn chứng thực trong kiến trúc CA cầu nối 44
Hình 3.1 Khuôn dạng yêu cầu chứng thực sử dụng PKCS#10 47
Hình 3.2 Cây thông tin thư mục (DIT) 64
Hình 3.3 X.509 v3 68
Hình 3.4 Tạo chữ ký số cho chứng thực 68
Hình 4.1 Quá trình đăng ký chứng thực 72
Hình 4.2 Đường dẫn chứng thực từ Alice tới Bob 77
Hình 4.3 CRL V2 80
Hình 4.4 Xác minh chứng thực nhờ sử dụng redirect CRL 83
Hình 4.5 Truy vấn thông tin trạng thái chứng thực 84
Hình 5.1 Mạng WAN của Hải quan 89
Hình 5.2 Cấu trúc toàn ngành Hải Quan 92
Hình 5.3 Mô hình logic hệ thống CA của TCHQ 94
Hình 5.4 Khai báo hải quan điện tử dùng USB Token 98
Hình 5.5 Thời gian hiệu lực của khoá cho người sử dụng 104
Trang 7Hình 5.6 Mô hình Cross Domain CA – All Domain AD configuration 106
Hình 5.7 Mô hình Subordinate CA in a Child Domain 107
Hình 5.8 Thiết kế vật lý tại tổng cục Hải quan 115
Hình 5.9 Thiết kế vật lý tại các cục Hải quan 116
Trang 8M Ở ĐẦU
Trong vài năm trở lại đây, hạ tầng truyền thông IT ngày càng được mở rộng do phần lớn người sử dụng dựa trên nền tảng này để truyền thông, giao dịch, trao đổi thư điện tử với đồng nghiệp và đối tác kinh doanh Rất nhiều thông tin nhạy cảm, quan trọng đã được lưu trữ và trao đổi dưới hình thức điện tử Sự thay đổi trong các hoạt động truyền thông này đồng nghĩa với nhu cầu phải có biện pháp bảo vệ tổ chức, doanh nghiệp 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 đó Kiến trúc cơ sở hạ tầng khoá công khai (PKI - Public Key Infrastructure) cùng
những tiêu chuẩn, các công nghệ ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập để có thể sử dụng nhằm giải quyết vấn đề này PKI
là công nghệ xác thực, hoàn thiện nhất sử dụng phương pháp mã hoá dựa trên khoá bí mật và khoá công khai, cho phép tạo ra một quan hệ tin cậy giữa các chứng thực của các tổ chức khác nhau PKI cho phép bắt đầu với một phạm vi quan hệ tin cậy không lớn và tạo khả năng mở rộng quy mô trong tương lai
Với mục tiêu tìm hiểu, nghiên cứu những đặc trưng và hoạt động của
hệ thống PKI, luận văn sẽ bàn về những khái niệm, các thành phần và mô hình hoạt động cùng những chức năng cơ bản của hệ thống Trên cơ sở kết quả nghiên cứu sẽ tiến hành thiết kế mô hình PKI áp dụng trong thực tiễn Đây cũng là cách để hiểu rõ hơn về hệ thống PKI, về những yêu cầu của quá trình thiết kế, triển khai hệ thống và những lợi ích mà hệ thống này có thể mang lại
Cuối cùng, em xin chân thành cám ơn PGS.TS Nguyễn Việt Hương,
người đã tận tình hướng dẫn, gợi mở nhiều điều giúp em hoàn thành luận văn này Tôi cũng xin cám ơn các bạn học viên cao học khoá 2004-2006 trong
Trang 9nhóm đã chia sẻ kiến thức, kinh nghiệm để tôi có thể hoàn thiện luận văn của mình một cách tốt nhất
Hà Nội, tháng 11 năm 2006
Học viên
Bùi Ánh Dương
Trang 10Chương 1 TỔNG QUAN VỀ PKI
Ngày nay, Internet được xem là cơ sở hạ tầng thông tin rộng lớn nhất Nhiều tổ chức và cá nhân đang sử dụng Internet để giao dịch trực tuyến cũng như phục vụ các mục đích thương mại Tuy nhiên Internet dựa trên TCP/IP là giao thức truyền thông hầu như không được đề cập tới vấn đề bảo mật trong quá trình thiết kế Do đó, đòi hỏi cần phải có một cơ chế tin cậy để trao đổi thông tin trên Internet một cách an toàn Cơ sở hạ tầng khoá công khai PKI gắn liền với chứng thực điện tử (Digital Certificate) là một trong những giải pháp hữu hiệu cung cấp kênh truyền thông bảo mật để trao đổi thông tin trên Internet
1.1 Khái quát
Có thể nói rằng, TCP/IP là ngôn ngữ của Internet còn PKI sẽ đảm bảo
an toàn cho việc trao đổi thông tin bằng ngôn ngữ đó PKI đảm bảo sự tin cậy (trust) được xây dựng trên cơ sở hạ tầng TCP/IP (Internet)
PKI được xây dựng dựa trên nền tảng các kỹ thuật mật mã Thành phần cốt lõi của hệ thống PKI là các chứng thực điện tử, trên đó chứa hai thành phần thông tin cơ bản là định danh và khoá công khai của đối tượng sử dụng Các chứng thực điện tử này do đối tượng quản lý chứng thực điện tử (CA - Certification Authority) tạo ra và ký với phương thức chữ ký số Trong hệ thống PKI toàn diện, đối tượng quản lý đăng ký cấp phát chứng thực (RA – Registration Authority) thường được tách riêng ra khỏi CA RA không tạo ra các chứng thực điện tử mà làm nhiệm vụ xác minh đối tượng truyền thông để
CA sẽ cấp phát chứng thực điện tử cho đối tượng đó
Như tên gọi của nó, PKI là một dịch vụ nền cho các dịch vụ an toàn an ninh dựa trên các chứng thực điện tử Trong các hệ thống này, PKI đảm nhận
Trang 11vai trò thiết lập, quản lý và phát hành chứng thực điện tử cho các đối tượng truyền thông
1.2 K ỹ thuật mật mã
Khi dữ liệu được truyền qua Internet, chúng có thể bị các tin tặc (hacker) phát hiện và bị lộ Cách tốt nhất để truyền dữ liệu là biến đổi chúng sang một dạng khác vô nghĩa theo một trật tự nào đó Quá trình này gọi là mã hoá dữ liệu (encryption) Khi phía bên nhận thu được dữ liệu đã mã hoá này,
họ có thể khôi phục chúng ngược trở lại dạng có nghĩa ban đầu Quá trình này gọi là giải mã (decryption)
Rất nhiều các thuật toán đã được phát triển để diễn giải cách mã hoá dữ liệu Hầu hết các kỹ thuật mật mã được sử dụng là “mật mã khoá bảo mật” và
“mật mã khoá công khai”
1.2.1 M ật mã khoá bảo mật
Trong mật mã khoá bảo mật (Secret Key Cryptography), một khoá duy nhất, được gọi là khoá đối xứng (symmetric key) hay khoá bí mật (secret key) được dùng cho cả hai quá trình mã hoá và giải mã Điều này giải thích vì sao
“mật mã khoá bảo mật” còn được gọi là “mật mã khoá đối xứng” Sự an toàn
về dữ liệu được đảm bảo do đối tượng thứ ba không hiểu dữ liệu đã được mã hoá Việc mã hoá và giải mã sử dụng một khoá bí mật thường nhanh và dễ dàng do thuật toán yêu cầu tính toán ít phức tạp hơn so với “mật mã khoá công khai” “Mật mã khoá bảo mật” đã đóng một vai trò quan trọng để mã hoá và giải mã dữ liệu trong nhiều giao thức bảo mật trên Internet, chẳng hạn SSL Một số thuật toán thường được sử dụng cho hệ thống mật mã khoá đối xứng gồm: DES, Triple-DES, IDEA, RC2, RC4, RC5, RC6, CAST−128,
được dùng vì bị nghi ngờ về khả năng an toàn
Trang 12Hình 1.1 Mật mã khoá đối xứng
1.2.2 M ật mã khoá công khai
Trong mật mã khóa công khai (Public Key Cryptography), một cặp khoá bất đối xứng (Asymmetric Key Pair) gồm một khoá công khai (public key) và một khoá bí mật (private key) được sử dụng Đối tượng sở hữu khoá chỉ cần bảo vệ các khoá bí mật của họ trong khi các khoá công khai có thể được công bố trên mạng Thuật toán tính toán gắn liền với khoá công khai và khoá bí mật được thiết kế sao cho một bản tin được mã hoá với một khoá chỉ
có thể được giải mã bằng khoá còn lại trong cặp khoá đó, đồng thời một bản tin được mã hoá không thể được giải mã bằng khoá đã được dùng để mã hoá Đây là một nguyên tắc rất quan trọng trong thiết kế của kỹ thuật mật mã khoá công khai, bởi vì khi đó bản tin được mã hoá bởi khoá công khai của người sẽ nhận chúng Trong kỹ thuật này, khoá bí mật của người gửi cũng có thể sử dụng để mã hoá bản tin, và sau đó người nhận có thể sử dụng khoá công khai của người gửi để giải mã và đọc thông tin nhận được Khi đó, người nhận có thể chắc chắn rằng bản tin được thực sự gửi từ ai Trường hợp như vậy thường gắn liền nó với khái niệm “chữ ký số”
Hình 1.2 Mật mã khoá công khai
Cặp khoá bất đối xứng được tạo ra bởi thuật toán tính toán phức tạp hơn nhiều so với khoá đối xứng Mặc dù khoá công khai được phân tán rộng rãi trên mạng nhưng các máy tính cũng không thể tính toán để tạo ra được khoá bí mật tương ứng từ khoá công khai này Điều này giúp tăng cường tính bảo mật, nhưng cũng có nghĩa là kỹ thuật này đòi hỏi thời gian mã hoá lâu hơn, đặc biệt là với dữ liệu số lượng lớn Do vậy, đôi khi, mật mã khoá công khai không được sử dụng để mã hoá toàn bộ bản tin mà chỉ được dùng để mã
Trang 13hoá một phần nhỏ dữ liệu được tạo ra từ bản tin Vấn đề này sẽ được trình bày
ở phần “chữ ký số”
Một số các hệ thống mật mã được dùng cho kỹ thuật khoá công khai gồm: RSA, ECC, DSA
1.2.3 K ết hợp kỹ thuật mã hoá đối xứng và bất đối xứng
Mật mã khoá công khai có nhược điểm là quá trình mã hoá chậm do độ dài của khoá lớn (thường là 1024 tới 4096 bit) Mật mã khoá bảo mật thường nhanh hơn đáng kể trong quá trình mã hoá so với mật mã khoá công khai do
sử dụng khoá có độ dài nhỏ hơn (40 tới 256 bit) Mặt khác, kỹ thuật mật mã khoá bảo mật gặp phải vấn đề trao đổi khoá bí mật để sử dụng chung giữa hai đối tượng tham gia truyền thông Hơn nữa, việc quản lý khoá cũng sẽ trở nên khá bất cập khi một đối tượng tham gia truyền thông với nhiều đối tượng khác Chẳng hạn, nếu một người cần trao đổi thông tin bí mật với N người khác thì mỗi người sẽ phải giữ và quản lý N-1 khoá khác nhau Tuy nhiên, nếu kết hợp cả hai kỹ thuật này với nhau có thể tạo ra một phương pháp mã hoá tối ưu hơn Theo cách này, chúng ta kết hợp các ưu điểm của cả hai kỹ thuật mật mã để khắc phục những nhược điểm của chúng theo các bước sau:
• Mã hoá dữ liệu cần trao đổi bằng khoá đối xứng (khoá bí mật) Sử dụng
mã hoá bất đối xứng (mã hoá khoá công khai) để mã hoá khoá đối xứng bằng khoá công khai của người nhận Sau đó gửi khóa đối xứng đã được
mã hoá cho người nhận để bên nhận sẽ giải mã bằng khoá bí mật của mình
và thu được khoá đối xứng từ phía người gửi
• Tiếp theo, bên gửi sẽ gửi dữ liệu thực sự ở dạng được mã hoá Phía bên nhận sẽ giải mã chúng bằng khoá đối xứng đã nhận được trước đó để thu được thông tin mong muốn
Trang 14Hình 1.3 Kết hợp hai kỹ thuật mật mã trong tuyền tin
Kỹ thuật kết hợp hai kiểu mật mã đã được sử dụng rộng rãi, chẳng hạn trong giao thức SSH (Secure Shell) để gửi thông tin bảo mật giữa một máy chủ và máy khách hoặc dùng trong giao thức SSL (Secure Sockets Layer) để tạo kênh thông tin bảo mật giữa một trình duyệt Web và máy chủ Web
1.3 Các phần tử cơ bản của hệ thống PKI
Ở phần trên, khi bàn về mật mã khoá công khai, chúng ta thấy còn một
số vấn đề cần giải quyết Chẳng hạn, khi người gửi tin sử dụng khoá công khai của người nhận để mã hoá và gửi thông tin, mặc dù người nhận có thể sử dụng khoá bí mật của họ để mở và đọc thông tin nhưng người nhận hoàn toàn không hề chắc chắn được người gửi là ai Một vấn đề khác là khi người gửi
“ký” vào bản tin bằng khoá bí mật của mình, sau đó người nhận giải mã bản tin bằng khoá công khai của người gửi, khi đó người nhận có thể đọc thông tin nhưng người nhận lại không thể chắc chắn được rằng khoá công khai đang
sử dụng thực sự là của người gửi vì không ai có thể xác nhận với người nhận rằng khoá công khai này là của đối tượng nào Trong phần này, chúng ta sẽ
Trang 15bàn về cỏch sử dụng kỹ thuật mật mó khoỏ cụng khai trong cỏc thiết kế an toàn bảo mật thụng tin, chẳng hạn như “chữ ký số”, “chứng thực điện tử” để giải quyết cỏc vấn đề trờn
RA
Đăng tải thẻ xác nhận
Thu thập thông tin
"out-of-band"
Đăng ký/xác thực ban đầu Khôi phục cặp khoá
Cập nhật cặp khoá
Cập nhật thẻ xác nhận Yêu cầu huỷ bỏ
Phát hành thẻ xác nhận Phát hành danh sách thẻ cần huỷ bỏ
Phát hành thẻ xác nhận
Phát hành thông tin
"out-of-band"
Xác nhận ngang hàng Cập nhật thẻ xác nhận ngang hàng
Đối tượng
sử dụng
Hệ thống lưu trữ
CA1
CA2
Hỡnh 1.4 Cỏc phần tử trong hệ thống PKI
1.3.1 Khoỏ
Thuật ngữ “khoỏ” dựng để chỉ thụng tin (thường là một số nhị phõn cú
độ dài nhất định) được sử dụng với một thuật toỏn mật mó cho mục đớch mó hoỏ và giải mó Trong mó hoỏ, “khoỏ” cú tỏc dụng xỏo trộn làm mất đi ngữ nghĩa của thụng tin Trong quỏ trỡnh giải mó, “khoỏ” dựng để khụi phục lại dữ liệu ban đầu trước khi mó hoỏ
Cỏc thuật toỏn mó hoỏ thường được cụng bố rộng rói và mọi đối tượng
cú thể nghiờn cứu chỳng Do đú, khụng phải thuật toỏn mó hoỏ bảo vệ dữ liệu
mà chớnh là “khúa” sẽ bảo vệ dữ liệu Khoỏ bớ mật luụn phải được giữ an toàn
để trỏnh bị xõm hại Hơn nữa, cặp khoỏ bất đối xứng cũn phải được tạo ra bởi cỏc tớnh toỏn hết sức phức tạp Khoỏ bớ mật trong cặp khoỏ khụng thể được tớnh toỏn một cỏch dễ dàng từ cỏc thụng tin đó biết khỏc như khoỏ cụng khai
Trang 16hay các thuật toán được công bố Do đó, việc giải mã nếu không dùng được đúng khoá sẽ vô cùng khó, thậm chí không thể thực hiện được
1.3.2 Ch ữ ký số
Ta thấy rằng “khoá” đóng một vai trò quan trọng trong các quá trình
mã hoá và giải mã dữ liệu Tuy nhiên, bản thân “khoá” không phải lúc nào cũng đáng được tin cậy Như trên đã nói, đối với “mật mã khoá công khai”, người nhận hoàn toàn không thể biết được ai là người thực sự đã gửi thông tin đến cho mình Do đó việc giả mạo danh tính người gửi là điều có thể xảy ra Trong trường hợp mật mã khoá bí mật, nếu người nhận có được thông tin gửi đến thì cũng chưa thể khẳng định được rằng chúng được gửi đến từ nguồn tin cậy do khóa bí mật có thể bị lộ trong quá trình trao đổi khoá
Để có thể xác thực tốt hơn, ý tưởng về “chữ ký số” đã được đưa ra Có thể hiểu “chữ ký số” giống như chữ ký thường dùng để ký vào một tài liệu cũng như để kiểm tra xác nhận tính hợp lệ của một tài liệu nào đó Chữ ký số (digital signature) là đoạn dữ liệu ngắn, đính kèm với văn bản gốc để chứng thực tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản gốc Chữ ký số được tạo ra bằng cách áp dụng thuật toán băm một chiều (hash function) trên văn bản gốc để tạo ra chuỗi dữ liệu có độ dài
cố định đặc trưng cho văn bản đó, chuỗi này được gọi là 3digest,3 fingerprint hay giá trị “băm”, sau đó giá trị “băm” này được mã hóa bằng khoá bí mật của người gửi để tạo ra chữ ký số và đính kèm với văn bản gốc để gửi đi Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại 3digest3 để
so sánh với 3digest3cũ cũng được phục hồi từ việc giải mã chữ ký số
Trang 17Hình 1.5 Quá trình tạo chữ ký số
Hàm băm không phải là một cơ chế mã hoá và giải mã, mà là công cụ
để tạo ra một mẫu phân tích (digest) của bản tin Một hàm băm có ba đặc tính chính sau đây:
• Hàm băm nhận một bản tin với bất kỳ kích thước nào và tạo ra một đoạn
dữ liệu nhỏ có độ dài cố định từ bản tin đó, đoạn dữ liệu này được gọi là
digest hay hash value Nếu tính toán lại hàm băm trên cùng một bản tin sẽ
luôn thu được cùng một kết quả là các digest giống nhau
• Bất cứ một thay đổi nào trong bản tin gốc sẽ ảnh hưởng đến kết quả của digest được tạo ra
• Không có bất kỳ phương pháp nào có thể tạo ra dữ liệu gốc từ giá trị digest của nó
Như vậy, hàm “băm” sẽ nhận một lượng dữ liệu lớn và tạo ra một chuỗi
có chiều dài cố định gọi là digest đặc trưng cho dữ liệu gốc Một số thuật toán
“băm” thường được sử dụng là MD2, MD4, MD5, SHA-1, RIPEMD−160 Trong quá trình truyền thông, chữ ký số được gắn kèm vào bản tin gốc và gửi tới người nhận Khi người nhận có được toàn bộ bản tin (chứa chữ ký số), họ
sẽ thực hiện các bước sau để kiểm tra nhằm đảm bảo rằng bản tin còn nguyên vẹn không bị sửa đổi cũng như được gửi đi từ một đối tượng hợp lệ:
• Đối với phần bản tin, người nhận sẽ tạo một digest nhờ sử dụng cùng một hàm băm giống như bên gửi (được thoả thuận trước)
Trang 18• Đối với phần chữ ký số, người nhận sẽ giải mã nó bằng khoá công khai của người gửi để thu được một digest
• Sau cùng, người nhận sẽ so sánh các digest thu được với nhau Nếu hai digest này giống nhau thì kết luận rằng bản tin đã được gửi từ đối tượng hợp pháp và không bị thay đổi trong quá trình truyền thông
Như vậy, nhờ gửi kèm chữ ký số cùng với bản tin gốc sẽ đảm bảo cho người nhận rằng đối tượng gửi thực sự là người đã tạo ra bản tin cũng như bản tin không bị thay đổi, điều này có nghĩa là quá trình xác thực và tính toàn vẹn dữ liệu được đảm bảo tin cậy
Hình 1.6 Xác thực bản tin bằng chứ ký số
1.3.3 Ch ứng thực điện tử
Ở phần trên, chúng ta đã chỉ ra cách sử dụng mật mã khoá công khai để gửi khoá bí mật (session key) dùng cho mã hóa và giải mã nội dung dữ liệu tới người nhận một cách an toàn Tuy nhiên, làm thế nào để có thể đảm bảo rằng một khoá công khai thực sự là của đối tượng gửi hợp lệ ? Cơ chế để thực hiện tính năng xác thực này là nhờ sử dụng các “chứng thực điện tử”
Trang 19Chứng thực điện tử (Digital Certificates) có vai trò giống như chứng minh thư hoặc hộ chiếu, chúng được dùng làm phương tiện nhận diện các đối tượng tham gia truyền thông trên mạng như người dùng, máy chủ, thiết bị mạng và ứng dụng Một chứng thực điện tử có thể được tạo ra nhiều các bản sao và phân tán tự do trên mạng mà không có một hạn chế nào, trong khi hộ chiếu luôn phải được giữ gìn cẩn thận bởi người sở hữu nó
Về mặt kỹ thuật, chứng thực điện tử là một cấu trúc dữ liệu chứa khóa công khai, các thông tin chi tiết về chủ sở hữu khoá Tất cả các thông tin đó được ký xác nhận tính hợp lệ bởi một đối tượng tin cậy thứ 3 (trusted party) gọi là đơn vị chứng thực chữ ký số CA (Certificate Authority)
Hình 1.7 Chứng thực điện tử
Khi ai đó muốn gửi một bản tin tới người nhận, anh ta không gắn khoá công khai vào bản tin mà thay vào đó là chứng thực điện tử Khi người nhận
có được bản tin với chứng thực điện tử của người gửi, anh ta sẽ kiểm tra chữ
ký số của đối tượng thứ ba trên chứng thực này Nếu chữ ký đó đã được ký bởi một tổ chức (CA) được người nhận tin tưởng (trust) thì người nhận hoàn toàn công nhận rằng khoá công khai được chứa trong chứng thực là thật sự thuộc về người gửi hợp lệ Bằng cách này sẽ ngăn cản được khả năng ai đó sử
Trang 20dụng một khoá công khai của họ để giả mạo người gửi Một chứng thực điện
tử cũng có thể chứa các thông tin bổ sung để chỉ ra hoặc giới hạn phạm vi sử dụng của chứng thực điện tử
1.3.4 Ch ủ thể và các đối tượng sử dụng (EE)
Khái niệm 2chủ thể2 2hay đối tượng sử dụng 2dùng để chỉ đối tượng được ghi tên trong trường s2ubject2 của một chứng thực điện tử Trong quá trình cấp phát chứng thực điện tử, một chủ thể có thể là CA hoặc EE (End-Entity)
Khái niệm đối tượng sử dụng không chỉ bao hàm những người dùng các dịch vụ mà còn là chính bản thân các dịch vụ đó khi hoạt động của chúng dựa trên chứng thực điện tử Ta có thể coi các đối tượng sử dụng là những đối tượng không thuộc loại các đối tượng quản lý hệ thống PKI
Tất cả các đối tượng sử dụng ít nhất phải có khả năng quản lý và truy cập một cách an toàn đến các thông tin sau:
• Tên của chính đối tượng đó
• Khoá riêng của đối tượng đó
• Tên của CA được chính đối tượng này tin tưởng (trusted CA)
Khoá công khai của CA này
1.3.5 Đối tượng quản lý chứng thực điện tử (CA)
Khi các thực thể đầu cuối sử dụng chứng thực điện tử trong quá trình truyền thông với các đối tác thì cần phải có vai trò của ít nhất một tổ chức chứng thực tin cậy (CA) Trước khi một CA có thể ký và tạo ra chứng thực điện tử cho các thực thể đầu cuối, nó phải thực hiện các bước tương tự đối với chính mình sao cho định danh (identity) của nó được thể hiện bởi chính chứng thực điện tử của nó Nghĩa là CA phải thực hiện các bước sau:
Trang 21• CA tạo cặp khoá của nó một cách ngẫu nhiên
• CA cất giữ và bảo vệ khoá bí mật của nó
• CA tạo chứng thực điện tử của riêng nó
• CA ký chứng thực điện tử này bằng khoá bí mật của nó
Chức năng cơ bản của CA là tạo và phát hành chứng thực điện tử tới các EE Một chức năng quan trọng khác của CA là thu hồi và huỷ bỏ chứng thực trong một số trường hợp như khoá bí mật của đối tượng sử dụng bị lộ, thông tin trên chứng thực cần được thay đổi, vv… Các chứng thực bị thu hồi
sẽ được liệt kê trong một danh sách gọi là “danh sách chứng thực bị thu hồi” (CRL - Certificate Revocation List), danh sách này có thể được truy cập bởi các EE để kiểm tra trạng thái chứng thực của các EE khác
Vì lý do an toàn, một CA thường phát hành các chứng thực điện tử chỉ
có hiệu lực trong một thời hạn nào đó Bởi vậy, khi một EE cần tiếp tục sử dụng chứng thực sắp hết hạn, nó phải làm các thủ tục phục hồi lại chứng thực của nó Chính sách này giúp đảm bảo rằng toàn bộ các chứng thực đang sử dụng là hợp lệ, và nếu một chứng thực bị hết hạn đồng thời không có EE nào yêu cầu phục hồi lại chứng thực đó thì chứng thực này sẽ bị vô hiệu hoá Do
đó, CA phải cung cấp chức năng phục hồi chứng thực cho các EE
CRL thường được tích hợp trong một thư mục công khai hoặc trong
vùng lưu trữ kết nối với CA để cho phép truy cập rộng rãi đối với các EE
1.3.6 Đối tượng quản lý đăng ký chứng thực điện tử (RA)
Trong nhiều môi trường hoạt động có thể thiết lập các máy chủ riêng biệt, đóng vai trò là một đơn vị đăng ký (RA - Registration Authority), dùng
để xử lý một số tác nghiệp của CA, chẳng hạn như xử lý các yêu cầu chứng thực và xác thực người sử dụng Về bản chất, RA cũng là một đối tượng sử
Trang 22dụng Tất cả các RA đều được xác nhận và có khoá riêng dùng trong việc tạo chữ ký số cho các thông tin mà nó cấp phát RA có thể đảm nhiệm một số chức năng chính sau:
• Xác thực cá nhân đăng ký chứng thực điện tử
• Phân phát các chứng thực điện tử
• Thông báo huỷ bỏ chứng thực điện tử
• Gán tên cho các đối tượng
1.4.1 Các yêu c ầu cơ bản của an toàn an ninh thông tin
An toàn an ninh thông tin bao hàm nhiều vấn đề khác nhau, trong đó, nếu nói đến các biện pháp an toàn an ninh sử dụng các phương pháp mã hoá,
ta có thể kể đến 4 yêu cầu cơ bản sau đây:
1) 2Bí mật thông tin2 (Confidentiality): Đảm bảo rằng nếu A muốn truyền thông tin cho B thì chỉ có B mới đọc được thông tin này
2) 2Toàn vẹn dữ liệu (2Integrity2 ) 2: Thông tin không bị thay đổi bởi những đối tượng không được cấp thẩm quyền
3) 2Xác thực đối tượng (2Authentication2 ) 2: Xác thực đối tượng để các đối tượng truyền tin biết chắc mình đang giao tiếp với đối tượng nào
Trang 234) 2Không thể chối bỏ (2Non-Repudiaton2 ) 2: Các đối tượng không thể chối bỏ những hành động mà mình đã thực hiện
1.4.2 Kh ả năng đáp ứng của các dịch vụ sử dụng PKI
Phần này sẽ lấy ví dụ để minh hoạ khả năng đảm bảo các yêu cầu về an toàn an ninh mà các dịch vụ sử dụng PKI có thể đáp ứng Để tiện minh hoạ, ta lấy phương thức chữ ký số để mô tả trong các ví dụ dưới đây
Đối với khả năng bảo vệ tính toàn vẹn dữ liệu, khi một thông điệp đã được mã hoá (tạo chữ ký số cho thông điệp), mọi thay đổi đối với chữ ký số được tạo ra đều làm cho nó không thể được kiểm chứng bởi đối tượng nhận
Do vậy, nếu đối tượng nhận không thể kiểm chứng được chữ ký số tạo bởi đối tượng truyền thì chứng tỏ thông tin truyền đi đã bị thay đổi hoặc có sai sót
Với vấn đề đảm bảo tính không thể chối bỏ, khi một đối tượng muốn tạo chữ ký số cho một thông điệp, do chỉ đối tượng đó biết được khoá riêng của mình nên nếu ta có thể kiểm chứng được một chữ ký số với khoá công khai của đối tượng nào đó thì chứng tỏ đối tượng đó đã tạo ra chữ ký số với khoá riêng tương ứng Nghĩa là, tính không thể chối bỏ gắn các đối tượng với những hành động mà đối tượng đó đã thực hiện
Với yêu cầu xác thực đối tượng, khi một đối tượng A muốn xác thực định danh của đối tượng B, nó gửi một thông điệp chứa thông tin nhất định đến cho B B thực hiện mã hoá thông điệp nhận được bằng khoá riêng của mình và gửi lại kết quả cho A A thực hiện kiểm chứng bằng cách giải mã thông điệp vừa nhận được bằng khoá công khai của B Nếu thông điệp được kiểm chứng thì A biết chắc mình đang liên lạc với B
Với việc đảm bảo tính bí mật của thông tin, khi A muốn trao đổi thông tin với B, A mã hoá thông tin cần truyền với khoá công khai của B rồi truyền
Trang 24cho B Khoá bí mật được giữ an toàn nên chỉ B mới có thể giải mã và đọc được thông tin
1.4.3 Các ứng dụng bảo mật dựa trên hệ thống PKI
Các ứng dụng và công nghệ có thể dẫn đến yêu cầu triển khai PKI bao gồm:
• Xác thực dựa trên giao thức 802.1x Việc xác thực được áp dụng cho
người dùng hoặc máy tính đang truy cập tới mạng vô tuyến 802.11
• Chữ ký số Các giao dịch được bảo mật trên Internet nhờ cơ chế xác minh
người gửi dữ liệu và nội dung dữ liệu còn nguyên vẹn Chữ ký số cũng cung cấp chức năng “không thể chối bỏ”
• Mã hoá hệ thống file (EFS) Kỹ thuật này mã hoá dữ liệu nhờ sử dụng kết
hợp các phương pháp mã hoá đối xứng và mã hoá bất đối xứng EFS cung cấp 2 cách khôi phục hệ thống: khôi phục dữ liệu và khôi phục khoá Khi khôi phục dữ liệu, phần mềm khôi phục dữ liệu có thể mở toàn bộ các file
đã mã hoá Khi khôi phục khoá, phần mềm khôi phục khoá có thể phục hồi
khoá bí mật từ cơ sở dữ liệu của CA
• Xác thực và mã hoá giao dịch Web Phân bố các chứng thực SSL tới
máy chủ Web cho phép một máy khách dùng trình duyệt Web xác thực định danh của máy chủ Web đồng thời mã hoá toàn bộ dữ liệu được trao đổi giữa chúng Hoặc là chứng thực SSL có thể được phân bố tới máy khách để cho phép chúng trình diện tới máy chủ Web Kỹ thuật này cho
phép xác thực lẫn nhau giữa máy chủ và máy khách Web
• Bảo mật IP (IPSec) Các chứng thực có thể được sử dụng để xác thực 2
điểm đầu cuối hỗ trợ IPSec Khi đã được xác thực, IPSec có thể được sử dụng để mã hoá và ký số toàn bộ thông tin giữa 2 điểm đầu cuối Các
Trang 25chứng thực không đóng vai trò thực sự trong mã hoá và ký dữ liệu IPSec,
chúng chỉ được dùng đề xác thực 2 điểm đầu cuối
Hình 1.8 Các ứng dụng dựa trên PKI
• Thư điện tử bảo mật Kỹ thuật này cho phép truyền thông tin cậy, toàn
vẹn dữ liệu và không thể chối bỏ đối với các thông điệp thư điện tử Chúng
ta có thể tăng cường bảo mật thư điện tử nhờ sử dụng các chứng thực để xác minh các chứng cứ của người gửi, điểm xuất phát thông điệp và tính
xác thực của thông điệp
• Đăng nhập hệ thống bằng thẻ thông minh Kỹ thuật này tăng cường tính
bảo mật nhờ cơ chế xác thực 2 yếu tố Để xác thực với mạng, người dùng phải có thẻ thông minh và biết số PIN (Personal Identification Number)
của thẻ thông minh đó
Trang 26• Đăng nhập một lần (Single sign-on) Người sử dụng có thể giảm số mật
khẩu họ phải nhớ nhờ áp dụng kỹ thuật đăng nhập một lần Thay vì phải xác thực riêng lẻ đối với từng ứng dụng riêng biệt, người sử dụng chỉ cần xác thực tới một nơi lưu trữ thông tin xác thực của PKI, chẳng hạn như thẻ thông minh Sau đó, phần mềm xác thực Client trên máy tính của người sử dụng sẽ tự động lần lượt chặn các yêu cầu xác thực một cách hoàn toàn
trong suốt và cung cấp thông tin xác thực cho mỗi ứng dụng
• Ký mã phần mềm Kỹ thuật này nhằm bảo vệ các máy tính để tránh bị cài
đặt các phần mềm không được xác nhận như trình điều khiển thiết bị, các điều kiểm (control), applet (ứng dụng ký sinh), vv… Khi nội dung đã được
ký, các ứng dụng hỗ trợ ký mã như trình duyệt Web của Microsoft có thể
ngăn chặn truy cập tới các điều kiểm chưa được ký
• Chính sách hạn chế truy cập phần mềm Cho phép chỉ ra các chương
trình được phép hoạt động trên một máy tính nhờ thực hiện chức năng ký
số trên mã nhị phân của ứng dụng
• Mạng riêng ảo (VPN) Người dùng từ xa kết nối tới mạng riêng ảo nhờ
các giao thức đường hầm (tunnenling) như PPTP (Point-to-Point Tunneling Protocol) hay L2TP (Layer 2 Tunneling Protocol) Các chứng thực giúp tăng cường chức năng xác thực người dùng và có thể dùng để
xác thực cho IPSec nếu sử dụng L2TP với mã hoá IPSec
Thông thường, các chứng thực được phát hành cho các đối tượng sau: người sử dụng, máy tính, thiết bị mạng và các dịch vụ phần mềm
Trang 27Chương 2 CÁC MÔ HÌNH TRIỂN KHAI HỆ THỐNG PKI
Hiện nay, PKI đang được thực hiện bởi nhiều tổ chức như một công cụ
để bảo vệ các tài nguyên nhậy cảm Thực hiện PKI là nhằm mang lại sự tin tưởng trong các giao dịch thương mại điện tử và truyền thông trực tuyến Tuy nhiên, do nhu cầu và quá trình kinh doanh thay đổi cũng như sự đa dạng của mỗi doanh nghiệp nên để đưa ra một mô hình PKI chuẩn là không phải dễ dàng Do đó, có nhiều kiến trúc PKI được định nghĩa để một tổ chức có thể triển khai theo mô hình phù hợp nhất với nhu cầu của họ
Việc định ra kiến trúc PKI phù hợp thường dựa trên đặc điểm tổ chức của hệ thống các dịch vụ sử dụng PKI Phần này sẽ tìm hiểu những kiến trúc
hệ thống PKI tiêu biểu
2.1 Kiến trúc CA đơn nhất
Trong kiến trúc CA đơn nhất, chỉ có một CA phát hành và phân bố các chứng thực cũng như CRL tới các thực thể Toàn bộ các thực thể trong hệ thống tin cậy vào CA này đồng thời chúng chỉ sử dụng các chứng thực được phát hành bởi CA đó Không có quan hệ tin cậy CA trong kiến trúc CA đơn nhất do chỉ có một CA Kiến trúc này cũng không cho phép bất kỳ CA mới nào được đưa thêm vào PKI
Hình 2.1 Kiến trúc CA đơn nhất
Trang 28Toàn bộ các thực thể trong kiến trúc này liên hệ với nhau trong một môi trường tin cậy do chỉ có một điểm tin cậy chung, đó chính là CA dùng cho tất cả các thực thể Ví dụ, Alice và Bob là 2 thực thể đã tin cậy CA1, khi
đó cả 2 đối tượng này sẽ xác minh và xác nhận tính hợp lệ các chứng thực của nhau nhờ CA1, sau đó thực hiện trao đổi thông tin Hình 2.1 minh hoạ kiến trúc CA đơn nhất
2.1.1 Ưu điểm của kiến trúc CA đơn nhất
• Thực hiện triển khai rất đơn giản vì chỉ cần thiết lập một CA
• Kiến trúc CA đơn nhất phù hợp trong một tổ chức nhỏ với số lượng người
sử dụng không nhiều và phạm vi hoạt động của tổ chức không lớn
2.1.2 Nhược điểm của kiến trúc CA đơn nhất
• Kiến trúc CA đơn nhất thể hiện một điểm lỗi đơn lẻ Nếu khoá bí mật của
CA bị lộ thì toàn bộ các chứng thực được phát hành bởi nó sẽ bị vô hiệu hoá và hệ thống PKI trở nên mất tác dụng
• Kiến trúc CA đơn nhất cũng có hạn chế về khả năng mở rộng, khi phạm vi hoạt động của tổ chức phát triển rộng ra, chẳng hạn khi công ty có quan
hệ đối tác với tổ chức bên ngoài thì kiến trúc này tỏ ra kém hiệu quả vì không cho phép đưa thêm vào hệ thống các CA mới Để khắc phục nhược điểm này, một cải tiến trong kiến trúc CA đơn nhất được tạo ra và được gọi là mô hình danh sách tin cậy
2.2 Kiến trúc danh sách tin cậy
Trong mô hình danh sách tin cậy, dịch vụ PKI được cung cấp bởi một
số CA Các CA này không thiết lập mối quan hệ tin cậy giữa chúng Các thực thể phải duy trì một danh sách các CA được tin cậy đồng thời chỉ sử dụng các
Trang 29chứng thực và CRL đã được phát hành bởi các CA trong danh sách đó Đây là kiến trúc được áp dụng rộng rãi đối với dịch vụ Web Trong mô hình này, các trình duyệt đều lưu một file riêng chứa các chứng thực điện tử gốc của các
CA được tin cậy File này tồn tại ngay khi trình duyệt được cài đặt Việc quản
lý file này có thể được thực hiện bởi các cá nhân sử dụng trình duyệt Đối với mỗi file này, người sử dụng có thể bổ sung hoặc xóa bớt những chứng thực điện tử khỏi danh sách
Trình duyệt Web có thể sử dụng các cặp khóa công khai/khoá riêng để
ký, kiểm chứng, giải mã hoặc mã hoá các thư điện tử theo chuẩn S/MIME Với chứng thực điện tử, trình duyệt Web cũng có thể thiết lập các phiên truyền thông an toàn SSL
Hình 2.2 Kiến trúc PKI danh sách tin cậy
Theo như kiến trúc danh sách tin cậy, để một đối tượng trao đổi thông tin bí mật với đối tượng khác thì tối thiểu mỗi đối tượng này cần phải thuộc vào một CA khác nhau trong danh sách tin cậy Ví dụ, xét trường hợp khi Alice cần giao tiếp với Bob nhưng cả 2 đối tượng này tin cậy 2 CA khác nhau Alice tin cậy CA−1, và Bob tin cậy CA−2 Để Alice tin cậy Bob thì cô
ta cần nhận được chứng thực từ CA của Bob Hình 2.3 minh hoạ quá trình này
Trang 30Hình 2.3 Tin cậy 2 CA
2.2.1 Ưu điểm của kiến trúc PKI danh sách tin cậy
• Mô hình danh sách tin cậy có ưu điểm là rất đơn giản trong thiết kế Đây là kiến trúc đơn giản, quá trình truyền thông và xác nhận theo một hướng duy nhất, dễ dàng trong triển khai
• Trong kiến trúc này này, các đối tượng sử dụng có toàn quyền quản lý file lưu trữ danh sách chứng thực điện tử của các CA mà mình tin cậy
• Kiến trúc này có thể làm việc rất tốt với giao thức quản lý trạng thái chứng thực điện tử trực tiếp do các nhánh xác thực khá đơn giản Hơn nữa, những yêu cầu về trạng thái chứng thực điện tử chỉ được gửi tới các CA ở trong danh sách các CA được tin cậy
2.2.2 Nhược điểm của kiến trúc PKI danh sách tin cậy
• Người sử dụng có toàn quyền sửa đổi nội dung của file chứa chứng thực điện tử của các CA mà họ tin cậy Do vậy việc quản lý danh sách các CA được tin cậy của một tổ chức là rất khó khăn
• Việc khởi tạo danh sách mặc định các CA được tin cậy khi cài đặt một trình duyệt sẽ dẫn đến việc khó đảm bảo tính xác thực trong quá trình khởi
Trang 31tạo thông tin về khoá công khai của các CA này Đây có thể là một kẽ hở
để các đối tượng tấn công lợi dụng
• Không có những hỗ trợ trực tiếp đối với các cặp chứng thực điện tử ngang hàng (xác thực chéo) Do vậy, nó hạn chế khả năng của CA trong quản lý
sự tin cậy của mình đối với các CA khác
• Hiện tại các trình duyệt không hề hỗ trợ tính năng tự động lấy thông tin trạng thái hoặc huỷ bỏ các chứng thực điện tử
• Trở nên phức tạp theo thời gian Khi số lượng các CA được tin cậy bởi một thực thể tăng lên đồng nghĩa với sự tăng thêm các đầu mục trong danh sách tin cậy Trong trường hợp khoá bí mật của một CA bị lộ thì CA này không thể thông báo về tình trạng bị lộ khoá cho toàn bộ các thực thể
đã đưa CA này vào danh sách tin cậy của chúng vì thực sự không có sự nhận biết của CA đối với các thực thể này
2.3 Kiến trúc PKI phân cấp
Khi các nhu cầu của tổ chức phát triển mở rộng hoặc sự hợp tác giữa các tổ chức khác nhau tăng lên thì sẽ phát sinh nhu cầu uỷ quyền các tác vụ của một CA Điều này đòi hỏi sự phân bố các hoạt động của một CA đơn nhất giữa nhiều CA được bố trí hoặc là trong một kiến trúc phân cấp hoặc là kiến trúc mạng lưới
Kiến trúc PKI phân cấp được áp dụng phổ biến nhất bởi các tổ chức Trong kiến trúc này, dịch vụ PKI được cung cấp bởi nhiều CA Toàn bộ các
CA trong kiến trúc PKI phân cấp chia sẻ một quan hệ tin cậy giữa chúng Các
CA trong kiểu kiến trúc này được liên hệ với nhau thông qua quan hệ cấp trên-cấp dưới Kiến trúc PKI phân cấp có một CA gốc là điểm tin cậy duy nhất trong hệ thống CA gốc cấp các chứng thực điện tử cho những CA thứ
Trang 32cấp hoặc các EE Đến lượt các CA này lại cấp các chứng thực điện tử cho những CA ở mức thấp hơn hoặc cho các EE
CA gèc
CA 3 EE
EE
EE (B)
CA 4
Hình 2.4 Kiến trúc PKI phân cấp
Bất cứ khi nào CA gốc bổ nhiệm một CA cấp dưới, CA gốc sẽ phát hành một chứng thực tới CA cấp dưới này để chỉ thị những hoạt động mà CA cấp dưới đó có thể thực hiện Trong mô hình này, tất cả các đối tượng đều dựa trên sự tin cậy đối với CA gốc duy nhất và phải biết khoá công khai của CA gốc Sự tin cậy này được hình thành theo các cấp từ CA gốc đến các CA thứ cấp và đến các đối tượng sử dụng Tất cả các chứng thực điện tử đều có thể được kiểm chứng bằng cách kiểm tra đường dẫn chứng thực điện tử đó đến
CA gốc Trong kiến trúc PKI phân cấp, đường dẫn chứng thực bắt đầu tại CA gốc và kết thúc tại thực thể cuối cùng Sự hình thành đường dẫn chứng thực được bắt đầu với chứng thực của thực thể cuối cùng Chứng thực của thực thể cuối cùng này gồm 2 phần mở rộng cho việc nhận dạng nhằm giúp tìm ra chính xác chứng thực CA
• Issuer identifier: Phần mở rộng này định vị chứng thực CA trong nơi lưu
trữ bằng cách so sánh giá trị issuer identifier này với giá trị subject identifier trong chứng thực CA
Trang 33• Authority key identifier: Phần mở rộng này nhận dạng khoá được sử dụng
để ký chứng thực
Hình 2.5 Đường dẫn chứng thực trong kiến trúc PKI phân cấp
Như có thể thấy trong hình 2.5, đối với mỗi thực thể sẽ chỉ tồn tại một đường dẫn chứng thực Chẳng hạn các đường dẫn chứng thực có thể được
minh hoạ như sau:
Đường dẫn chứng thực của Alice:
• [Root CA−3]: [CA−3 CA−2]: [CA−2 CA−1]: [CA−1 Alice]
Đường dẫn chứng thực của Bob:
• [Root CA−3]: [CA−3 CA−2]: [CA−2 CA−1]: [CA−1 Bob]
Đường dẫn chứng thực của James:
• [Root CA−4]: [CA−4 James]
2.3.1 Ưu điểm của kiến trúc PKI phân cấp
• Cấu trúc hệ thống quản lý của hầu hết các tổ chức đều có dạng phân cấp Các mối quan hệ trong mô hình phân cấp cũng khá giống với các quan hệ
Trang 34trong các tổ chức Vì vậy, ta có thể coi các nhánh của quá trình xác nhận đối tượng phản ánh các nhánh trong cấu trúc của tổ chức
• Cách thức tìm ra một nhánh xác nhận là theo một hướng nhất định, không
có hiện tượng vòng lặp Do vậy, quá trình xác nhận được thực hiện đơn giản và nhanh chóng
• Tất cả các đối tượng sử dụng đều có nhánh xác nhận hướng về CA gốc, do vậy, nếu một đối tượng sử dụng A cung cấp cho B thông tin về nhánh xác nhận của mình thì B cũng có thể thực hiện xác nhận theo hướng đó vì B cũng biết khoá công khai của CA gốc
• Khả năng mở rộng: Kiến trúc PKI phân cấp hoàn toàn có khả năng mở rộng Chúng có thể dễ dàng đáp ứng nhu cầu tăng trưởng của tổ chức Để đưa thêm vào một thực thể mới trong hệ thống PKI này, CA gốc chỉ cần đơn giản thiết lập một quan hệ tin cậy với CA cấp thấp của thực thể đó
Hình 2.6 Đưa thêm một CA mới vào mức dưới CA gốc
Hình 2.7 Đưa thêm một CA mới vào mức dưới một CA cấp cao
• Dễ triển khai: Do tính chất một hướng “uni−directional”, kiến trúc PKI
phân cấp hoàn toàn có thể triển khai đơn giản Đường dẫn từ thực thể tới
CA phát hành chứng thực có thể được xác định nhanh chóng và dễ dàng
Trang 35• Đường dẫn chứng thực ngắn: Đường dẫn lớn nhất trong kiến trúc PKI này tương đương với chứng thực CA cho mỗi CA cấp thấp cộng thêm với chứng thực của thực thể cuối cùng
2.3.2 Khuy ết điểm của kiến trúc PKI phân cấp
• Trên một phạm vi lớn, không thể chỉ có một CA duy nhất để đảm nhận tất
2.4 Kiến trúc PKI mạng lưới
Trong kiến trúc này, việc các CA thực hiện xác thực ngang hàng sẽ tạo nên một mạng lưới các mối quan hệ tin cậy lẫn nhau giữa các CA ngang hàng Các thực thể biết được khoá công khai của CA gần mình nhất Thông thường, đây là CA cấp cho đối tượng đó chứng thực điện tử Các đối tượng kiểm chứng một chứng thực điện tử bằng cách kiểm tra quá trình xác nhận với đích
là CA đã phát hành chứng thực điện tử đó
Trong mô hình PKI mạng lưới, tất cả các CA cần xác minh chéo (cross−certify) hay xác nhận ngang hàng lẫn nhau Trong quá trình này, một quan hệ tin cậy lẫn nhau được thiết lập giữa hai CA Hai CA sẽ xác minh chéo bất cứ khi nào các thực thể tương ứng của chúng cần giao tiếp bảo mật với nhau Các CA sẽ xác nhận ngang hàng bằng cách phát hành cho nhau
Trang 36những chứng thực điện tử, những cặp chứng thực điện tử này được kết hợp và lưu trong một cấu trúc dữ liệu có tên 2CrossCertificatePair2
EE (A)
EE
EE EE EE (B)
EE
EE
Hình 2.8 Kiến trúc PKI mạng lưới
Trong kiến trúc PKI mạng lưới, quá trình hình thành đường dẫn chứng thực được khởi tạo từ điểm tin cậy và chuyển dần tới CA phát hành chứng thực của thực thể cuối cùng Tuy nhiên CA này có thể khác so với điểm tin cậy đối với thực thể đang xây dựng đường dẫn chứng thực Ngoài ra, CA này
sẽ có nhiều chứng thực được phát hành bởi các CA khác nhau và mỗi chứng thực này dẫn tới một vị trí khác nhau trong lưới Điều đó gây ra nhiều phức tạp khi xây dựng đường dẫn chứng thực vì có nhiều lựa chọn Ngoài ra, kiến trúc mạng lưới đòi hỏi quá trình xây dựng các đường dẫn chứng thực khác nhau bởi những người sử dụng khác nhau
Vì kiến trúc mạng lưới chứa nhiều quan hệ hai hướng giữa các CA nên thường có nhiều hơn một đường dẫn chứng thực giữa bất kỳ thực thể và điểm tin cậy nào Chiều dài đường dẫn chứng thực có thể dài hơn so với mô hình PKI phân cấp Hình 2.9 minh hoạ đường dẫn chứng thực trong kiến trúc PKI mắt lưới
Trang 37Như có thể thấy trong hình 2.9, các đường dẫn chứng thực khác nhau
có thể được hình thành cho mỗi người sử dụng chẳng hạn:
Hình 2.9 Đường dẫn chứng thực trong kiến trúc PKI mắt lưới
Alice có thể xây dựng đường dẫn chứng thực sau cho Bob:
• [CA−1 Bob]
Nhưng, đối với James thì Alice có thể xây dựng các đường dẫn chứng thực sau:
• [CA−1 CA−2]: [CA−2 CA−3]: [CA−3 James]
• [CA−1 CA−3]: [CA−3 James]
2.4.1 Ưu điểm của kiến trúc PKI mạng lưới
• Đây là một kiến trúc linh động, thích hợp với các mối quan hệ tin cậy lẫn nhau trong thực tế giữa nhiều tổ chức
• Một đối tượng sử dụng ít nhất phải tin cậy CA cấp phát chứng thực điện tử cho nó Có thể coi đây là cơ sở để tạo nên tất cả các mối quan hệ tin tưởng lẫn nhau
Trang 38• Các CA có thể xa nhau trong mô hình tổ chức nhưng những đối tượng sử dụng của nó lại làm việc cùng nhau với mức ưu tiên cao có thể xác nhận ngang hàng theo một cách thức có độ ưu tiên cao Độ ưu tiên này chỉ được giới hạn trong phạm vi của các CA này
• Kiến trúc này cho phép các CA có thể xác nhận ngang hàng một cách trực tiếp trong trường hợp các đối tượng sử dụng của chúng liên lạc với nhau thường xuyên để giảm tải lượng đường truyền và thao tác xử lý
• Việc khôi phục hệ thống do khoá riêng của một CA bị tiết lộ sẽ chỉ gồm việc phân phát một cách an toàn khoá công khai mới của CA đến các đối tượng mà CA này cấp phát chứng thực điện tử
• Có nhiều điểm tin cậy trong kiến trúc PKI mắt lưới, và do đó sự tổn hại một CA không thể gây ra làm vô hiệu hoá toàn bộ hệ thống PKI Sự tổn hại CA đó chỉ ảnh hưởng tới các thực thể gắn liền với nó
• Các CA mới có thể dễ dàng được đưa thêm vào kiến trúc PKI mắt lưới Tất cả những gì được yêu cầu để đưa thêm CA mới là các CA hiện tại phát hành một chứng thực tới ít nhất một CA khác trong lưới
2.4.2 Nhược điểm của kiến trúc PKI mạng lưới
• Do cấu trúc của mạng có thể rất phức tạp nên việc tìm kiếm các đối tượng rất khó khăn Do đó, hình thành đường dẫn chứng thực trong kiến trúc PKI mắt lưới rất phức tạp và không định trước
• Một đối tượng không thể đưa ra một nhánh xác nhận duy nhất mà có thể đảm bảo tất cả các đối tượng khác trong hệ thống có thể thực hiện được
2.5 Kiến trúc PKI lai ghép
Có không ít những trường hợp nhiều tổ chức cần hợp tác với các tổ chức khác để kiểm soát các hoạt động kinh doanh của họ Kiến trúc PKI của
Trang 39các tổ chức này có thể không phải lúc nào cũng giống nhau Chẳng hạn, một
tổ chức có thể có một kiến trúc PKI phân cấp, trong khi tổ chức khác có thể
sử dụng kiến trúc PKI mạng lưới Trong các tình huống như vậy, PKI cần cung cấp một giải pháp tối ưu sao cho có thể cho phép các tổ chức hợp tác với nhau trong môi trường tin cậy PKI có thể cung cấp một môi trường như vậy thông qua kiến trúc lai ghép Kiến trúc PKI lai ghép cho phép các tổ chức với nhiều kiến trúc có thể phối hợp hoạt động giữa chúng với nhau
Phần tiếp theo sẽ xét một kiến trúc PKI lai ghép tổng quát bao gồm cả kiến trúc CA đơn nhất, phân cấp và mắt lưới Giả sử 3 tổ chức đang sử dụng 3 kiểu kiến trúc PKI khác nhau Công ty AllSolv sử dụng kiến trúc CA đơn nhất gọi là PKI1, công ty WebEyes sử dụng kiến trúc PKI phân cấp gọi là PKI2, và công ty SureSolv sử dụng kiến trúc mắt lưới gọi là PKI3 Mỗi tổ chức này có các CA cấp thấp tuỳ theo nhu cầu của họ và của các thực thể đầu cuối Tình huống như vậy được minh hoạ trong hình 2.10
Hình 2.10 Kiến trúc PKI lai ghép
Alice và Bob là các thành viên của PKI1, James và Charlie là các thành viên của PKI2, còn Smith và Robert là các thành viên của PKI3 Tất cả những người sử dụng này đã nhận được các chứng thực từ CA tương ứng của họ Có
3 kiểu kiến trúc PKI lai ghép, gồm:
Trang 40• Kiến trúc danh sách tin cậy mở rộng (Extended Trust List architecture):
Mở rộng mô hình danh sách tin cậy để hỗ trợ các đường dẫn chứng thực có
độ dài lớn hơn 1
• Kiến trúc PKI xác minh chéo (Cross−certified PKI architecture): Thiết
lập quan hệ ngang hàng để cho phép truyền thông bảo mật
• Kiến trúc CA cầu nối (Bridge CA architecture): Kiến trúc này hỗ trợ
nhiều kiến trúc PKI
2.5.1 Ki ến trúc danh sách mở rộng
Trong kiến trúc danh sách tin cậy mở rộng, các thực thể đầu cuối duy trì một danh sách nhiều điểm tin cậy Mỗi điểm tin cậy gắn liền với một kiến trúc PKI mà thực thể tin cậy Đó có thể là kiến trúc CA đơn nhất, phân cấp hoặc PKI mắt lưới Như chỉ ra ở hình 2.10, Alice nhận một chứng thực từ CA-1 Theo như kiến trúc danh sách tin cậy mở rộng thì Alice phải tin cậy PKI2 và PKI3 để giao tiếp với James, Charlie, Smith, và Robert Alice có thể tin cậy bất kỳ CA nào trong PKI2 hoặc PKI3, hoặc cô ta có thể đưa toàn bộ tổ chức vào danh sách tin cậy của mình Danh sách tin cậy mở rộng của Alice được chỉ ra trong hình 2.11
Hình 2.11 Danh sách tin cậy mở rộng