- Chứng thực số được sử dụng để các đối tác của người sử dụng biết và xác định được chữ ký, chứng thư của mình là đúng 1.2 Nhu cầu phát triển Tuy nhiên, cùng với sự phát triển nhanh ch
Trang 1- 1 -
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐOÀN VĂN PHI
XÂY DỰNG GIẢI PHÁP PKI TRÊN SIM
LUẬN VĂN THẠC SĨ
HÀ NÔI, 2015
Trang 2- 2 -
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐOÀN VĂN PHI
XÂY DỰNG GIẢI PHÁP PKI TRÊN SIM
Ngành : Công nghệ thông tin Chuyên ngành : Công nghệ phần mềm
LUẬN VĂN THẠC SĨ
HƯỚNG DẪN KHOA HỌC: TS TRƯƠNG NINH THUẬN
Trang 3- 3 -
LỜI CAM ĐOAN Tôi xin cam đoan những kết quả đạt được trong luận văn này là do tôi nghiên cứu, sưu tầm, tổng hợp và sắp xếp lại phù hợp với yêu cầu của luận văn Toàn bộ những điều được trình bày trong khóa luận hoặc là của cá nhân, hoặc được tham khảo và tổng hợp từ các nguồn tài liệu khác nhau Tất cả tài liệu tham khảo, tổng hợp đều được trích dẫn với nguồn gốc rõ ràng
Toàn bộ chương trình, mã nguồn là do tôi thiết kế và xây dựng trong quá trình đã đang tham gia và phát triển hệ thống, không sao chép của bất kỳ ai và chưa được công bố trên bất kỳ phương tiện nào
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình Nếu có điều gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo qui định
Hà Nội, tháng năm 2015
Học viên
Đoàn Văn Phi
Trang 4- 4 -
Trước tiên tôi xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy giáo
PGS.TS Trương Ninh Thuận giảng viên Bộ môn Công nghệ phần mềm - Khoa Công nghệ thông tin Trường Đại học Công nghệ - ĐHQGHN Trong suốt thời gian học và làm luận văn tốt nghiệp, thầy đã dành rất nhiều thời gian quí báu để tận tình chỉ bảo, hướng dẫn, định hướng cho tôi trong việc nghiên cứu, thực hiện luận văn
Tôi xin được cảm ơn các thầy cô giáo đã giảng dạy trong quá trình học tập, thực hành, làm bài tập, đọc và nhận xét luận văn của tôi, giúp tôi hiểu thấu đáo hơn lĩnh vực
mà tôi nghiên cứu và những hạn chế cần khắc phục trong việc học tập, nghiên cứu và thực hiện bản luận văn này
Tôi cũng xin chân thành cảm ơn nhóm phát triển của Trung Tâm Giải Pháp Cộng Đồng – Tập Đoàn Viễn Thông Quân Đội Viettel đã tạo điều kiện để tôi có thể hoàn thành tốt luân văn của mình
Xin cảm ơn các bạn, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ trong suốt quá trình học tập và làm luận văn tốt nghiệp
Xin chân thành cảm ơn!
Hà Nội, ngày tháng năm 2015
Học viên
Đoàn Văn Phi
Trang 5- 5 -
MỤC LỤC
LỜI CAM ĐOAN 3
CHƯƠNG 1 – ĐẶT VẤN ĐỀ 8
1.1 Bối cảnh chung 8
1.2 Nhu cầu phát triển 9
1.3 Giải pháp 10
1.4 Cấu trúc của luận văn 10
CHƯƠNG 2 – CÁC KHÁI NIỆM VÀ THÀNH PHẦN TRONG PKI 12
2.1 Chữ ký số 12
2.1.1 Khái niệm 12
2.1.2 Ưu điểm khi sử dụng chữ ký số 12
2.2 Chứng thư số 14
2.3 Các khái niệm về ký và mã hóa 14
2.3.1 Phương pháp mã hóa đối xứng 14
2.3.2 Phương pháp mã hóa phi đối xứng 15
2.3.3 Quá trình băm 16
2.3.4 Quá trình mã hóa 16
2.3.5 Quá trình ký 18
2.4 Tổng quan về PKI 20
2.4.1 Khái niệm về PKI 20
2.4.2 Các thành phần của PKI 21
2.4.3 Các mô hình tổ chức 28
2.4.4 Các chuẩn được áp dụng cho PKI 35
CHƯƠNG 3 – XÂY DỰNG GIẢI PHÁP PKI TRÊN SIM 38
3.1 Giới thiệu về dịch vụ 38
Trang 6- 6 -
3.2 Mô hình trực tuyến 39
3.2.1 Mô tả các thành phần 39
3.2.2 Tương tác giữa các thành phần 40
3.2.3 Các chuẩn chung để giao tiếp giữa các thành phần 41
3.3 Mô hình ca sử dụng 41
3.3.1 Đăng ký 42
3.3.2 Kích hoạt dịch vụ 43
3.3.3 Ký điện tử 46
3.3.4 Xem thông tin chứng thư 50
3.3.5 Tra cứu giao dịch 51
3.3.6 Gia hạn chứng thư số 51
3.3.7 Thu hồi chứng thư số 52
3.3.8 Tạm ngưng chứng thư số 53
3.4 Giải pháp trên thiết bị offline (Dcom, UsbToken,…) 54
3.4.1 Mô tả các thành phần 56
3.4.2 Mô tả luồng hoạt động 57
3.4.3 Mô hình ca sử dụng 57
CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
Trang 7- 7 -
BẢNG CHỮ CÁI VIẾT TẮT Viết tắt Tên đầy đủ
PKI Public Key Infrastructure
CNTT Công nghệ thông tin
HSM Hardware Security Module
CA Certificate Authority (Nhà cung cấp chứng số số)
DES Data Encryption Standard (Thuật toán mã hóa DES)
CBC Cipher Block Chaining (Mô hình mã hóa theo dãy)
RA Registration Authority (Nhà cung cấp dịch vụ đăng ký chứng thư số)
CP Certificate Policy (Chính sách về chứng thư số)
CPS Certificate Practice Statement (CPS)
mạng viễn thông)
EE End Entity (Thực thể cuối)
CAM CAManager (Ứng dụng thao tác với SIM)
Trang 8sẽ bị đẩy ra khỏi vòng trôi của thời đại” Không nằm ngoài phát triển đó, tại Việt Nam, Internet đang bùng nổ, sức mạnh và tầm quan trọng của nó ảnh hưởng tới mọi hoạt động kinh tế – văn hóa – xã hội, nhất là thương mại điện tử và chính phủ điện tử Thật vậy, chính phủ điện tử giúp bộ máy hành chính cồng kềnh hoạt động hiệu quả, giảm thiểu chi phí giao dịch Ý nghĩa hơn nữa, chính phủ điện tử giúp nhà nước xây dựng lòng tin, thúc đẩy tính minh bạch và tăng cường sự tham gia của cộng đồng đối với quá trình ra quyết định của chính phủ
Thế giới đang chứng kiến sự ảnh hưởng ngày càng sâu rộng của CNTT vào từng lĩnh vực kinh tế và xã hội, bất kỳ một quốc gia nào, tập đoàn nào cũng xác định lấy CNTT làm then chốt trong sự phát triển kinh tế cho cả tương lai Ngoài ra, trong xã hội ngày nay, việc sử dụng những chiếc điện thoại thông minh (Smart phone) lại càng phổ biến hơn nữa Người ta đã nghĩ ngay đến việc là sẽ thực hiện những giao dịch qua mạng ngay trên chiếc điện thoại của mình Điều này đã khiến cho nhiều nhà viễn thông tại Việt Nam xác định xây dựng những ứng dụng trên SIM để có thể đem lại sự tiện lợi cho khách hàng
Trong các giao dịch truyền thống, chúng ta vẫn sử dụng giấy tờ, công văn cùng với chữ ký và con dấu Việc giao dịch, trao đổi thông tin trên môi trường internet cũng cần có một cơ chế tương tự và chữ ký số được sử dụng để phục vụ cho môi trường này Khác với chữ ký thường có thể phải mất nhiều thời gian để giám định khi cần thiết, chữ ký số
có thể được giám định, xác nhận nhanh với các công cụ điện tử Cũng thế, chứng thực số
là một dịch vụ trên internet tương tự như việc công chứng giấy tờ, văn bản thông thường
Cụ thể, chữ ký số là một giải pháp công nghệ đảm bảo tính duy nhất cho một người khi giao dịch thông tin trên mạng, đảm bảo các thông tin cung cấp là của người đó Liên quan đến vấn đề này có ba yếu tố: Chữ ký số, chứng thư số và chứng thực số
Trang 9- 9 -
Hiện nay, trên thị trường có nhiều nhà cung cấp chữ ký số như: Root CA, BKAVCA, FPT-CA, Viettel-CA, VNPTCA, CA2, CKCA, Safe-CA,… với dòng thiết bị điển hình là usb token Ngoài ra còn có thiết bị Dcom CA với SIM không chỉ có thể cho phép truy cập internet mà còn lưu thông tin chứng thư số Điều này làm cho khách hàng
có thể ký giao dịch ở bất cứ nơi đâu, tạo nên sự tiện dụng cho khách hàng
Như vậy, liên quan đến vấn đề này có 3 yếu tố: chữ ký số, chứng thư số và chứng thực số
- Chữ ký số do người sử dụng tạo ra sau khi được nhà cung cấp dịch vụ cung cấp chứng thư số
- Chứng thực số được sử dụng để các đối tác của người sử dụng biết và xác định được chữ ký, chứng thư của mình là đúng
1.2 Nhu cầu phát triển
Tuy nhiên, cùng với sự phát triển nhanh chóng mặt, việc trao đổi thông tin qua mạng Internet ngày càng xuất hiện nhiều lỗ hổng Khi thực hiện các trao đổi thông tin qua mạng với ai đó, chúng ta sẽ không thể chắc chắn người đó là người mình mong muốn, và chúng ta cũng không chắc chắn rằng thông tin chúng ta gửi có bị thay đổi trước khi đến đích Khả năng bị kẻ xấu nghe trộm, giả mạo, lừa đảo qua mạng cũng ngày càng tăng Thật vậy, theo thống kê của thông tin công nghệ Việt Nam, chỉ trong 2012, tội phạm công nghệ cao gây thiệt hại cho riêng nước Mỹ là 400 tỷ USD Còn ở Việt Nam, theo thống kê của Cục Công nghệ tin học nghiệp vụ (E15), Tổng cục kỹ thuật – Bộ Công an, năm 2012, tội phạm công nghệ cao đã gay thiệt hại trên 2000 tỷ đồng, tấn công nhằm vào các lĩnh vực tài chính, chứng khoán, ngân hàng, mua bán ngoại tệ qua Internet Quả thật, những tiềm ẩn rủi ro qua mạng đã trở thành vấn đề nhức nhối Nguy hiểm hơn đối với tiến trình thực hiện Chính phủ điện tử ở nước ta, nếu để kẻ xấu lợi dụng những điểm yếu trên, thì thiệt hại không thể tính được bằng tiền Ví dụ như một công văn, nghị quyết bị kẻ phá hoại giả mạo một quan chức để chống phá chính quyền, làm mật lòng tin của nhân dân
Vì những hiểm họa luôn song hành cùng sự trao đổi thông tin qua mạng, hai nhu cầu lớn được nhắc đến Thứ nhất, để tránh giả mạo, người dùng sẽ cần một phương thức để xác minh ai là người đưa ra thông tin và xác minh sự toàn vẹn của thông tin Thứ hai, để tránh bị lộ thông tin, người dùng sẽ cần một phương thức để đảm bảo chỉ có người họ gửi thông tin cho mới đọc được những thông tin đó Nếu giải quyết được hai nhu cầu này, sự
an toàn khi trao đổi thông tin trên mạng sẽ tăng lên đáng kể
Trang 10- 10 -
1.3 Giải pháp
Để đáp ứng được hai nhu cầu cấp thiết đó, một giải phá đã được thế giới đề ra Đó
là, mỗi người tham gia giao dịch điện tử được cấp một chứng thư số, chứng thư này sẽ chứng minh họ là ai, nó như là một chứng minh thư số Họ có thể dùng chứng thư này để
ký điện tử lên các tài liệu, giao dịch họ công bố để người khác biết chắc họ là tác giả và kiểm tra sự toàn vẹn của tài liệu Họ cũng có thể dùng chứng thư này để giải mã các thông tin mà được mã hóa khi gửi cho họ, với mong muốn rằng chỉ mình họ là có thể giải
mã được những thông tin này Cũng như mọi chứng thư thông thường, chứng thư số cần
có nhà cung cấp mà được mọi người tin tưởng Khi đó, nó mới có giá trị giao dịch Nhà cung cấp này được gọi là Certificate Authority (CA) Tuy nhiên, không phải chỉ đơn giản thế, để chứng thư số phát huy hết khả năng của nó, thì cần một hệ thống cung cấp, tổ chức và quản lý các chứng thư này Hệ thống đó chính là Public Key Infrastructure (PKI – Cơ sở hạ tầng khóa công khai) Đây là một hệ thống có cấu trúc cũng như các đặc điểm
về công nghệ rất phức tạp Tuy thế, nói một cách đơn giản, PKI sẽ tạo ra một cơ sở vững chắc để mọi người có thể tin tưởng, đăng ký và sử dụng chứng thư số Nhờ vậy, việc bảo
vệ cũng như công bố thông tin qua mạng của người dùng sẽ được đảm bảo an toàn Việc triển khai thành công hệ thống PKI sẽ có ảnh hưởng tích cực tới rất nhiều lĩnh vực, từ các định chế tài chính, lớn các tổ chức của chính phủ cho tới từng người dùng cá nhân trong toàn xã hội
1.4 Cấu trúc của luận văn
Nội dung chính của luận văn gồm có 4 chương
Chương 1: Đặt vấn đề
Chương này giúp người đọc hiểu được bối cảnh chung về Internet trong xã hội thời nay, nhu cầu phát triển, những giải pháp được đưa ra và tình hình triển khai PKI trên thực tế của thế giới nói chung và Việt Nam nói riêng
Chương 2: Các khái niệm và thành phần trong PKI
Tìm hiểu về PKI gồm các mục như:
- Khái niệm về PKI, ký số và các phương pháp mã hóa trong PKI
- Các thành phần của PKI
- Các mô hình tổ chức CA
Trang 11- 11 -
- Các chuẩn áp dụng cho PKI và các thiết bị lưu trữ hiện nay
Chương 3: Xây dựng giải pháp dịch vụ chữ ký số trên SIM
Xây dựng mô hình tổng quan về việc sử dụng dịch vụ chữ ký số trên SIM Mô hình hướng đến tác nhân là người dùng sử dụng dịch vụ và thực hiện những giao dịch như: chuyển tiền trực tuyến, thanh toán tiền trực tuyến, ký văn bản mềm, nộp những tờ khai thuế trực tuyến, …Với mỗi giao dịch trước khi gửi đi, người dùng phải thực hiện ký
số trên những giao dịch đó Và để xác thực chữ ký đó có hợp lệ hay không, hệ thống cung cấp dịch vụ sẽ phải xác thực chứ ký đó
Chương 4: Kết luận và hướng phát triển
Tổng kết lại các vấn đề trong luận văn, nói lên những vấn đề mà luận văn đã đạt được và hướng phát triển tiếp theo cần phải tìm hiểu thêm
Trang 122.1.2.1 Khả năng xác định nguồn gốc
Các hệ thống mã hóa công khai cho phép mã hóa văn bản với khóa bí mật mà chỉ
có người chủ của khóa biết Để sử dụng chữ ký số thì văn bản cần được phải được mã hóa bằng hàm băm (văn bản được “băm” ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau đó dùng khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số Khi cần kiểm tra, bên nhận giải mã( với khóa công khai) để lấy lại chuỗi gốc (được sinh ra qua hàm băm ban đầu) và kiểm tra với hàm băm của văn bản nhận được Nếu hai giá trị (chuỗi) này khớp nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật đã không bị thay đổi gì Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ [2]
Vấn đề xác định nguồn gốc đặc biệt quan trọng đối với các giao dịch tài chính Chẳng hạn một chi nhánh ngân hàng gửi một gói tin về trung tâm dưới dạng (a, b) trong
đó a là số tài khoản và b là số tiền chuyển vào tài khoản đó Một kẻ lừa đảo có thể gửi một số tiền nào đó để lấy nội dung gói tin và truyền lại gói tin thu được nhiều lần để thu lợi (kiểu tấn công truyền lại gói tin)
2.1.2.2 Tính toàn vẹn
Cả hai bên tham gia vào quá trình truyền thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền Vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức phát hiện Quy trình mã hóa sẽ ẩn nội dung đối với bên thứ ba
2.1.2.3 Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó do mình gửi Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải kèm chữ ký số với văn bản Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba giải quyết
Trang 13- 13 -
Ngoài ra còn có một số lợi ích của chữ ký số trong trong doanh nghiệp:
- Việc ứng dụng chữ ký số giúp doanh nghiệp tiết kiệm thời gian, chi phí hành
chính Hoạt động giao dịch điện tử cũng được nâng tầm đẩy mạnh Không mất
thời gian đi lại, chờ đợi
- Không phải in ấn các hồ sơ
- Việc ký kết các văn bản ký điện tử có thể diễn ra ở bất kỳ đâu, bất kỳ thời gian
nào
- Việc chuyển tài liệu, hồ sơ đã ký cho đối tác, khách hàng, cơ quan quản lý …
diễn ra tiện lợi và nhanh chóng
Sơ đồ mô tả quá trình sử dụng chữ ký số để giao dịch điện tử (sơ đồ thể hiện
quá trình nộp tờ khai thuế)
Hình 2.1.2.3 Sơ đồ sử dụng chữ ký số để giao dịch điện tử nộp tờ khai thuế
Trang 14- 14 -
2.2 Chứng thư số
Chứng thư số là một dạng chứng nhận điện tử cho phép chứng thực các cặp khóa với chủ nhân của nó, do đó sẽ đảm bảo xác thực được các bên tham gia trong các giao dịch điện tử sử dụng chữ ký số
2.3 Các khái niệm về ký và mã hóa
Một khóa công khai có thể được dùng vào nhiều mục đích với các tên gọi cụ thể khác nhau Tuy nhiên, về bản chất, chúng chỉ thuộc vào một trong hai phạm trù “ký” hoặc “mã hóa” Trong phần này sẽ chỉ ra những khái niệm về hai phạm trù này, bao gồm các khái niệm về mã hóa đối xứng, mã hóa phi đối xứng, quá trình ký, quy trình mã hóa, các thuật toán được sử dụng
2.3.1 Phương pháp mã hóa đối xứng
Các thuật toán mã hóa đối xứng là những thuật toán mã hóa mà sử dụng các khóa
mã hóa có quan hệ tầm thường với nhau, thường là giống hệt nhau cho cả hai quá trình
mã hóa và giải mã Khóa mã hóa có quan hệ tầm thường với khóa giải mã có nghĩa là chúng có thể giống hệt nhau hoặc là có một cách chuyển đổi đơn giản mà từ khóa này có thể suy ra được khóa kia Trong thực tế, những khóa này được dùng bởi hai hay nhiều bên để duy trì một liên kết thông tin cá nhân giữa họ, giúp họ mã hóa các thông tin gửi cho nhau
Các thuật toán mã hóa đối xứng có thể được chia thành mật mã luồng (stream cipher) và mật mã khối (block cipher) Mật mã luồng mã hóa tất cả các bit của một thông điệp một lần duy nhất, trong khi mật mã khối tách thông điệp ra thành các khối, mỗi khối
có một số lượng bit cố định nào đó và mã hóa chúng thành từng đơn vị riêng rẽ Đối với từng chuẩn mật mã khối, số byte này có thể là khác nhau Ví dụ, nó là 64 bit với Data Encryption Standard (DES) và TripleDES, là 128 bit (theo mặc định, 192 bit hoặc 256 bit theo Advanced Encryption Standard) Những dữ liệu mà nhiều hơn số bit n cho một khối phải được mã hóa theo từng khối n bit một Những dữ liệu mà nhở hơn n bit phải được
mở rộng thành n bit để mã hóa
Một cách để xâm hại các thuật toán mã hóa đối xứng có sử dụng vector khởi tạo là
dò tất cả các khóa có thể Tùy thuộc vào kích cỡ của khóa mà được dùng để mã hóa, công việc tìm kiếm này sẽ có thể là rất tốn thời gian, ngay cả khi dùng những hệ thống máy tính nhanh nhất, và do đó là trở nên không thực tế Kích cỡ key càng lớn thì việc bẻ khóa
sẽ càng khó Mặc dù việc mã hóa không làm cho việc bẻ khóa trở thành không thể, nó làm cho chi phí cần có để bẻ khóa tăng lên rất nhiều; đủ nhiều để khiến việc bẻ khóa trở
Trang 15- 15 -
nên không thực tế Ví dụ như nếu ta phải mất ba tháng để giải mã và lấy được một thông tin chỉ đáng giá ba ngày thì ta sẽ đương nhiên không dùng biện pháp giải mã đó
Sự bất lợi của thuật toán mã hóa đối xứng là nó phải coi như là các bên tham gia
đã đồng thuận về một khóa, vector khởi tạo và trao đổi các giá trị này cho nhau Vector khởi tạo không được coi là bí mật và có thể được truyền đi dưới dạng plaintext trong một thông điệp Tuy nhiên, khó thì phải là bí mật (đối với các đối tượng không xác thực) Do vậy, mã hóa đối xứng thường được sử dụng kết hợp với mã hóa phi đối xứng để thực hiện việc trao đổi các giá trị này giữa các đối tượng liên quan Việc tại sao lại phải kết hợp mà không dùng luôn thuật toán mã hóa phi đối xứng là do thuật toán mã hóa phi đối xứng cũng có những bất lợi riêng của nó [2]
2.3.2 Phương pháp mã hóa phi đối xứng
Mã hóa phi đối xứng (hay còn gọi là mã hóa công khai) sử dụng một cặp khóa để
mã hóa Chúng gồm một khóa bí mật mà phải luôn luôn được giữ bí mật và một khóa công khai mà có thể được công khai cho bất kỳ ai Khóa công khai và bí mật có quan hệ toán học với nhau, dữ liệu mà được mã hóa bởi khóa công khai thì chỉ có thể được giải
mã bằng khóa bí mật tương ứng và ngược lại Khóa công khai được công khai với tất cả mọi người là để mọi người mã hóa những thông tin mà họ muốn gửi cho người đang giữ khóa bí mật tương ứng, đồng thời là để mọi người có thể giải mã các dữ liệu được mã hóa bởi khóa bí mật này khi cần Gọi là phi đối xứng là do dùng các thuật toán mã hóa này dùng một khóa để mã hóa và một khóa khác để giải mã Trong mã hóa thông thường, các khóa thường là bị cấm được dùng lại hơn một lần Tuy nhiên, trong mã hóa phi đối xứng, cặp khóa thường là có vòng đời khá dài, có thể lên tới vài năm [2]
Một vài so sánh giữa mã hóa phi đối xứng và đối xứng
- Bị giới hạn về độ lớn của dữ liệu được
mã hóa
- Không bị giới hạn
- Có không gian khóa lớn hơn nên khó
bị bẻ khóa bằng cách tấn công theo
kiều dò khóa
- Dễ bị tấn công hơn
- Dễ phân phối hơn do khóa công khai
không cần được an ninh
- Khó phân phối hơn
Trang 16- Vòng đời của khóa dài hơn - Vòng đời của khóa ngắn hơn
Bảng 2.3.2 - Bảng so sánh mã hóa đối xứng và phi đối xứng
Do những ưu nhược điểm riêng của cả mã hóa phi đối xứng và đối xứng, người ta thường kết hợp chúng để chúng lấy ưu điểm của mình để bù đắp cho nhược điểm của cái còn lại Chi tiết cụ thể hơn sẽ được trình bày trong phần về quá trình mã hóa ở dưới 2.3.3 Quá trình băm
Các giải thuật băm (hash) ánh xạ các giá trị nhị phân có độ dài tùy ý thành những giá trị nhị phân nhỏ hơn có một độ dài quy định trước, kết quả được biết tới như là các giá trị băm Một giá trị băm như là một số đại diện cho một dữ liệu duy nhất Nếu ta băm một đoạn plaintext và sau đó chỉ cần thay đổi dù chỉ một chữ cái trong đoạn đó, ta cũng
sẽ thu được một kết quả băm hoàn toàn khác (một trong những đặc điểm của một hàm băm mạnh là hai dữ liệu gần giống nhau sẽ có hai kết quả băm khác xa nhau) [5]
Dữ liệu đầu vào(Input) Giải thuật Dữ liệu đầu ra(output)
2.3.4 Quá trình mã hóa
Ta mã hóa thông điệp gửi đi khi ta muốn chỉ có người mà ta gửi thông điệp đó cho
có thể hiểu được thông điệp Nhu cầu này xuất hiện khá thường xuyên trong thực tế, ví
dụ như trong quân sự, gián điệp, thông tin nội bộ của tổ chức nào đó Nói chung là khi
Trang 17- 17 -
mà thông điệp gửi đi là cần hạn chế số người có thể hiểu nó Để đảm bảo an toàn, không
bị lộ thông tin thì cần có một phương pháp mã hóa thông tin trước khi gửi đi, ở phía nhận
sẽ thực hiện giải mã thông tin để có thể đọc được [2] [6]
Hình 2.3.4 - Mô phỏng quá trình mã hóa Hình trên mô phỏng quá trình Alice (A) mã hóa một thông điệp rồi gửi tới cho Bob (B) Diễn biến như sau:
- Msg là thông điệp mà A muốn gửi cho B
- Sau khi thông điệp được mã hóa bằng hàm Encrypt với đầu vào là Msg và khóa công khai U_B và B, A thu kết quả C_tx
- A gửi C_tx sang cho B
- B nhận C_tx, giải mã nó bằng hàm Decrypt với đầu vào là C_tx và khóa bí mật của B, thu được Msg là thông điệp gốc mà A muốn gửi cho B
Một hệ mã hóa phải đảm bảo thông tin sau khi giải mã (Msg) phải trùng với thông tin trước khi được mã hóa Mã hóa ở đây có thể là mã hóa phi đối xứng hoặc đối xứng Tuy nhiên, trong thực thế, người ta thường dùng kết hợp cả hai loại mã hóa này Mã hóa đối xứng thường được sử dụng để mã hóa thông điệp được giửi đi cho người khác Sau
đó, khóa công khai trong mã hóa bất đối xứng được sử dụng để mã hóa khóa phiên (session key) được sử dụng trong mã đối xứng Thông điệp đã được mã hóa và khóa phiên được mã hóa được gửi tới địa chỉ của người nhận Phía người nhận sẽ sử dụng khóa
bí mật của mình để giải mã khóa phiên được sử dụng Sau khi có khóa phiên đó rồi thông tin ban đầu thu được bằng cách sử dụng khóa phiên đó để giải mã Như vậy, việc mã hóa
đã thỏa mã được mong muốn trao đổi thông tin bí mật được đề cập ở trên
Ưu điểm của việc dùng kết hợp này là:
- Do tốc độ của mã hóa đối xứng là nhanh hơn rất nhiều so với mã hóa phi đối xứng, nên việc mã hóa dữ liệu bằng mã hóa đối xứng là nhanh hơn và thuật tiện hơn rất nhiều Đặc biệt trong trường hợp thông điệp phải được gửi cho nhiều người (cho là 20), nếu chỉ sử dụng mã hóa phi đối xứng, ta sẽ phải mã hóa 20 lần
Trang 18- 18 -
thông điệp này bằng 20 khóa công khai khác nhau, như vậy sẽ rất chậm Nếu ta dùng mô hình kết hợp, ta chỉ phải mã hóa một lần thông điệp bằng mã hóa đối xứng (với tốc độ nhanh hơn, và ít lần hơn) Sau đó ta mã hóa 20 lần khóa phiên bằng 20 khóa công khai khác nhau để gửi đi Do độ lớn của khóa phiên hầu hết các trường hợp là nhỏ hơn nhiều so với thông điệp nên việc mã hóa sẽ phù hợp với thiết kế của mã hóa phi đối xứng (nằm trong giới hạn về độ lớn dữ liệu được cho phép) và sẽ diễn ra nhanh hơn Do vậy, nhược điểm về tốc độ và giới hạn độ lớn
dữ liệu được mã hóa của mã hóa phi đối xứng được khắc phục
- Việc sử dụng mã hóa phi đối xứng để mã hóa khóa phiên làm việc cho việc trao đổi khóa đối xứng giữa các bên là an toàn Do vậy, khắc phục nhược điểm của mã hóa đối xứng
Quá trình mã hóa và giải mã trên coi như là người gửi (người mã hóa dữ liệu) đã
có đúng khóa công khai của người nhận Việc trao đổi khóa phải được thực hiện một cách
an toàn để người nhận xác nhận được đúng khóa công khai nhận được được sở hữu bởi người gửi Việc trao đổi an toàn khóa công khai này được đảm nhiệm bởi các hệ thống PKI [1]
2.3.5 Quá trình ký
Trong thực tế, ta cần dùng chữ ký lên một văn bản khi ta muốn người đọc văn bản sau đó biết rằng văn bản đó đã được thông qua hay là do ta ban hành Nhu cầu này cũng tồn tại trong giao dịch điện tử và chữ ký điện tử được sinh ra để thỏa mã nó Trong một
số mặt, chữ ký điện tử còn làm tốt hơn rất nhiều so với chữ kỹ thật Chữ ký điện tử là khó giả mạo hơn và nó còn làm được một điều rất quan trọng là cho phép người đọc văn bản
có thể chắc rằng, kể từ khi được ký lên, văn bản vẫn chưa bị thay đổi
Hinh dưới đây mô tả quá trình ký một văn bản được ký điện tử lên và quá trình người nhận được văn bản xác minh chữ ký đó Ký và xác minh chữ ký là hai quá trình quan trọng liên quan tới chữ ký điện tử Sau đây ta sẽ làm rõ cả hai quá trình này thông qua hình minh họa
Giả sử, Alice có một văn bản muốn công bố và cô muốn rằng bất kỳ ai tiếp xúc với văn bản cũng có thể xác minh rằng văn bản này là do cô ban hành ra, đồng thời nó chưa bị thay đổi kể từ khi cô ban hành Alice lúc này sẽ ký điện tử lên văn bản Các bước tuần tự như sau:
- Văn bản được đi qua một hàm băm H để thu được kết quả băm, ví dụ là
“1AFFF12CF” như trong hình
Trang 19- 19 -
- Alice sau đó sẽ mã hóa kết quả băm này bằng khóa riêng bí mật của cô
- Alice tập hợp kết quả băm được mã hóa này, khóa công khai của cô (hay chứng thư số có chứa khóa công khai này của cô) để thu được một gói gọi là chữ ký điện tử
- Alice công bố văn bản này kèm với chữ ký điện tử trên
File đã được
ký chữ ký số
Hình 2.3.5-1 Minh họa quá trình ký Tiếp theo sẽ là xác minh chữ ký Giả sử Bob là người nhận được văn bản trên kèm chữ ký điện tử của Alice Ở đây, ta sẽ giả sử rằng Bob đã có khóa công khai của Alice và xác minh được nó bằng một cách nào đó rằng đây đúng là khóa công khai của Alice Các bước tuần tự mà Bob sẽ thực hiện để xác minh chữ ký của Alice như sau:
- Bob nhận được văn bản kèm chữ ký điện tử của Alice lên văn bản và tách riêng chúng ra
- Bob cho văn bản này qua cùng hàm băm mà Alice sử dụng và thu được kết quả
“XXXXXXXXX”
- Bob lấy khóa công khai của Alice để giải mã kết quả băm được mã hóa trong chữ ký và thu được “1AFFF12CF”
Trang 20- 20 -
- Bob so sánh “1AFFF12CF” với “XXXXXXXXX” thu được ở trên, nếu bằng nhau Bob có thể khẳng định được hai điều Do hai kết quả băm là bằng nhau, Bob có thể khẳng định văn bản đi kèm chữ ký đúng là văn bản chữ ký điện tử
ký lên và nó chưa bị thay đổi kể từ khi được ký lên Do khóa công khai của Alice giải mã được kết quả băm bị mã hóa để thu được kết quả băm đúng, Bob
có thể khẳng định rằng chính Alice là người ký điện tử lên văn bản
Hình 2.3.5-2 Mô hình xác minh chữ ký
2.4 Tổng quan về PKI
2.4.1 Khái niệm về PKI
PKI là viết tắt của “Public Key Infrastructure” Trong mã hóa phi đối xứng (mà sẽ được trình bày kỹ hơn ở dưới), người ta dùng một cặp khóa để mã hóa và giải mã thông tin Cặp khóa này là khóa công khai (public key) và khóa bí mật (private key) Khi một thông tin được mã hóa bằng khóa công khai thì ta chỉ có thể dùng khóa bí mật tương ứng
để giải mã, và ngược lại Khóa công khai là khóa mà ta sẽ công khai cho tất cả mọi người khác biết để họ giải mã các thông tin được mã hóa bởi khóa bí mật; hoặc là để mã hóa những thông tin họ gửi cho chúng ta mà chỉ chúng ta giải mã được Khóa công khai được
Trang 21- 21 -
công khai hóa thông qua việc được gắn vào trong, là một thành phần của một chứng thư
số Khóa công khai trong thực tế là một xâu gồm rất nhiều bit (có thể lên tới hàng nghìn bit)
PKI là tập các đối tượng phần cứng, phần mềm, con người, các chính sách, các thủ tục mà cần thiết để tạo ra, quản lý, lưu trữ, phân phối và thu hồi chứng thư số
- Phần cứng ở đây có thể là các máy chủ, các Hardware Security Module (HSM – thiết bị phần cứng để lưu và sử dụng các khóa bí mật quan trọng) …
- Phần mềm ở đây có thể là các ứng dụng server chạy trên các máy chủ để cung cấp dịch vụ, các ứng dụng client chạy trên máy tính cá nhân để người dùng cung cấp dịch vụ, các ứng dụng web, các công cụ, plug-in hỗ trợ …
- Con người ở đây là những người tham gia vào các quá trình của một hệ thống PKI như người sở hữu chứng thư số, người nhận được chứng thư số, quản trị viên, kĩ thuật viên …
- Các chính sách là các văn bản mô tả về vai trò, quyền lợi của khách hàng trong từng trường hợp cụ thể, mô tả về các yêu cầu kĩ thuật cụ thể trong các giao dịch, dịch vụ cụ thể (cho người phát triển ứng dụng) …
- Các thủ tục có thể là các bước một người dùng cần thực hiện để sử dụng dịch vụ (ví dụ như khai báo thông tin cá nhân khi đăng ký xin cấp chứng thư số), các quy định về thứ tự request, các tham số cần cung cấp trong các giao thức dành cho các nhà phát triển ứng dụng mà muốn xây dựng các ứng dụng client có thể tương thích được với server của nhà cung cấp …
2.4.2 Các thành phần của PKI
Như đã được giới thiệu ở trên, PKI chính là hệ thống đề cấp cho mỗi người một (hay một vài) khóa công khai và trả lời ba câu hỏi về khóa công khai: Khóa của ai? Để làm gì? Còn hạn sử dụng không? Đó chỉ là một cách nói đơn giản hóa đi khái niệm của
về PKI Cũng như giới thiệu ở trên, khóa công khai của mỗi người sẽ được gắn vào trong một chứng thư số của người đó và được tạo ra, phân phối và quản lý bởi hệ thống PKI
Để hệ thống PKI hoạt động trơn chu thì nó cần nhiều hơn các thành phần hỗ trợ khác bên cạnh nhà phát hành chứng thư CA (Certificate Authority) và người sở hữu chứng thư
Phần này sẽ gồm bảy phần con, mỗi phần sẽ nói về một thành phần quan trọng của PKI, bao gồm:
Trang 22- 22 -
- Người sử dụng
- Xác minh
- Nhà cung cấp chứng thư số (CA)
- Nhà cung cấp dịch vụ đăng ký chứng thư số (RA)
- Các thành phần khác
- Chính sách về chứng thư số (CP)
- Thủ tục chứng nhận (CPS)
2.4.2.1 Certificate Authority (CA) – Nhà cung cấp chứng thư số
Trong cơ sở hạ tầng khóa công khai, chứng thư số có vai trò gắn kết giữa đối tượng sử dụng với khóa công khai Một certificate authority (CA) là một thực thể trong PKI có trách nhiệm cấp chứng thư cho các thực thể khác trong hệ thống
Nhà cung cấp chứng thư số – CA cũng được coi là bên thứ ba được tin tưởng vì người sử dụng chứng thư và các dịch vụ tin tưởng vào chữ ký của CA trên chứng thư trong khi thực hiện những hoạt động ký và mã hóa khóa công khai cần thiết CA là một thành phần quan trọng trong hệ thống PKI, hay có thể nói rằng CA là trung tâm trong cơ
sở hạ tầng khóa công khai (PKI) Các thành phần khác sẽ hỗ trợ hoạt động của CA, bổ sung những dịch vụ cần thiết để CA có thể hoạt động tốt hơn
Chứng năng của CA
- Cấp chứng thư số chứa khóa công khai của người sử dụng, chức năng này được thực hiện khi người sử dụng đăng ký và yêu cầu CA cấp chứng thư cho subject của mình Tất cả các chứng thư đều được ký bởi chữ ký của chính CA đã ban hành ra chứng thư đó
- Quản lý các yêu cầu và dịch vụ liên quan đến chứng thư như đăng ký mơi, thay đổi khóa, thu hồi chứng thư, …
- Cung cấp chứng thư số và danh sách chứng thư đã bị thu hồi cho người sử dụng khi họ yêu cầu sử dụng chứng thư hoặc danh sách thu hồi này
- Quản lý lưu trữ cơ sở dữ liệu về chứng thư số, cung cấp các dịch vụ backup, restore và các dịch vụ khác đi kèm
Trang 23- 23 -
Phân loại CA
- Root CA: là CA được tin tưởng trực tiếp bởi tất cả các thực thể RootCA tự ký
và cấp chứng thư cho chính mình RootCA là CA ở mức tin tưởng cao nhất trong mô hình PKI Sự tin tưởng đối với RootCA có được qua các con đường phi điện tử như đăng ký cung cấp dịch vụ với các cơ quan chức năng hoặc chính phủ…
- Subordinate CA (subCA): là các CA ở cấp dưới, các CA này được CA ở cấp trên cấp chứng thư Sự tin tưởng đối với Subordinate CA có được qua việc CA
ở cấp trên đã được tin tưởng cấp chứng thư chứng nhận cho nó
2.4.2.2 Registration Authority (RA)
Registration Authority (RA) – Nhà cung cấp dịch vụ đăng ký chứng thư số
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” – nhà cung cấp dịch vụ đăng ký chứng thư số Mục đích của việc này là làm giảm khả năng bị quá tải cho CA và tao ra sự an toàn và đảm bảo trong hệ thống PKI 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 RA (trung tâm đăng
ký địa phương) Hoặc khi một công ty hay tổ chức không muốn hay không đủ khả năng thực hiện đầy đủ các chức năng của CA, thì RA là một sự lựa chọn hợp lý cho họ Khi đó
họ đóng vai trò là RA trong hệ thống và các dịch vụ khác mà RA không hỗ trợ thì sẽ yêu cầu các thành phần khác trong hệ thống
Chức năng thực hiện của một RA cụ thể sẽ khác nhau tùy theo nhu cầu triển khai PKI nhưng chủ yếu bao gồm những chức năng sau (có thể chỉ có một số chức năng trong các chức năng được liệt kê dưới đây, tùy thuộc nhu cầu mà người xây dựng triển khai hệ thống đề ta):
- Xác thực cá nhân chủ thể đăng ký chứng thư
- 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ư được yêu cầu
Trang 24- 24 -
- Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng đang được đăng ký hay không Điều này thường được đề cập đến như sự chứng minh sở hữu (proof of possession – POP)
- Phân phối thông tin bí mật được chia sẻ đến thực thể cuối
- Thay mặt chủ thể của thực thể cuối khởi tạo quá trình đăng ký với CA
Các Subcriber nhận các chứng thư số từ một CA bao gồm các nhân viên của một
tổ chức trong chính CA, trong ngân hàng, tổ chức thương mại, hay bất kỳ một cá nhân mong muốn sử dụng các dịch vụ của hệ thống PKI…
Mỗi Subcriber muốn sở hữu chứng thư số cần phải đăng ký với CA, văn bản thể hiện cho hoạt động này được gọi là Subcriber Agreement Đó là một hợp đồng giữa CA
và người đăng ký để thiết lập quyền lợi và nghĩa vụ của các bên, với mục đích cung cấp
và quản lý các chứng thư số về sau
2.4.2.4 Relying Party
Relying Party (RP) là một thực thể mà xác minh chữ ký điện tử từ một chủ sở hữu chứng thư khi mà chữ ký này ký lên email, một webform, một văn bản điện tử hay bất kỳ một dạng dữ liệu nào khác Nói cách khác, RP chính là các đối tượng, thực thể hoạt động
và tin tưởng những chứng thư, hay những chữ ký có nguồn gốc từ hệ thống PKI Những
RP này có thể là một Subcriber hoặc không RP là một phần không thể thiếu trong một hệ thống PKI, họ là một trong hai bên cần tới PKI để chứng thư có thể hoàn tất nhiệm vụ của nó bên cạnh người đăng ký chứng thư từ PKI Ta có thể lấy một vài ví dụ về RP như những nhân viên của một tổ chức có riêng CA của họ mà nhận được những email được
ký điện tử từ những nhân viên khác Những người mua hàng hay dịch vụ từ những trang thương mại điện tử…
2.4.2.5 Certificate Policy
Khái niệm
Trang 25- 25 -
Khi một CA ban hành cho thực thể đăng ký một chứng thư, nó chứng nhận rằng khóa công khai trong chứng thư là được gắn với subject của chứng thư bằng việc đăng ký lên chứng thư đó Khi dùng chứng thư này, các bên phụ thuộc (thường được gọi là Relying Party – RP) sẽ có nhu cầu được biết CA quy định như thế nào về các vấn đề xung quanh các chứng thư mà nó ban hành Ví dụ như quá trình đăng ký, thu hồi, cách nó xử lý các tình huống xảy ra đối với người dùng, phạm vi sử dụng của chứng thư, quyền lợi của khách hàng, trách nhiệm của nhà cung cấp… Tất cả những điều này sẽ được công bố công khai tới bất kỳ ai muốn biết bằng một văn bản gọi là Certificate Policy (chính sách
về chứng thư – CP)
CP được định nghĩa là “một tập các luật mà chỉ ra những phạm vi có thể ứng dụng của một chứng thư đối với một cộng đồng cụ thể hoặc tập các ứng dụng với những đòi hỏi về an ninh thông thường” Một RP có thể dùng CP để quyết định xem có nên tin một chứng thư, khóa công khai liên quan, hay bất kỳ chữ ký điện tử nào được xác minh thông qua việc dùng khóa công khai cho một mục đích cụ thể nào đó hay không
Phân loại
Thông thường CP được xếp vào hai loại Loại đầu là những CP mà xác định phạm
vi ứng dụng của một chứng thư đối với một cộng đồng cụ thể nào đó Những CP dạng này xác định những yêu cầu về việc sử dụng chứng thư và những yêu cầu về các thành viên của cộng đồng Ví dụ là khi ta tổ chức một CA ban hành chứng thư cho toàn thành viên của một diễn đàn, CP mà áp dụng lên cho CA đó sẽ quy định rõ chứng thư cho thành viên diễn đàn này được dùng vào việc gì (VD là để mã hóa khi gửi mail cho nhau) và quy định các thành viên sẽ phải làm gì đối với các trường hợp cụ thể phát sinh trong quá trìn
sử dụng chứng thư của họ
Dạng thứ 2 là những CP mà xác định phạm vi ứng dụng của chứng thư cho một lớp ứng dụng với những yêu cầu thông thường về an ninh Nững CP này xác định ra một tập các ứng dụng hay việc sử dụng chứng thư mà nói rằng những ứng dụng hay việc sử dụng này yêu cầu một mức độ an ninh nào đó Sau đó những CP này sẽ đề ra các yêu cầu
mà là phù hợp với những ứng dụng hay việc sử dụng này Một CP thuộc dạng này thường tạo ra một tập các yêu cầu phù hợp với một mức đảm bảo nào đó được nói rõ, ứng với chứng thư mà sẽ được ban hành tuân theo CP này Những mức bảo đảm này có thể ứng với các “class” hay “type” của chứng thư Ví dụ là khi ta tổ chức một CA mà chỉ ban hành chứng thư cho các nhân viên của Bộ Quốc Phòng Do tính chất của Bộ là nắm giữ nhiều bí mật liên quan tới an ninh quốc gia, nhiều biện pháp an ninh sẽ được áp dụng chặt chẽ hơn Do vậy, CP của CA này chắc chắn sẽ đưa ra nhiều tiêu chuẩn về an ninh chặt
Trang 26- 26 -
chẽ, rõ ràng hơn so với CP cho CA ban hành chứng thư cho các thành viên của diễn đàn ở trên Ví dụ, CP này có thể sẽ chỉ rõ khi đăng ký, nhân viên phải làm việc mặt đối mặt với nhân viên của một bộ phận nào đó của Bộ chuyên trách về vấn dề giải quyết đăng ký chứng thư này
CP trong chứng thư
CP thường được xuất hiện ngay trong bản thân chứng thư dưới một số (mà là duy nhất, đại diện cho CP) gọi là “Object Identifier” (OID) OID này là cần phải đăng ký để được sử dụng Quá trình đăng ký và sử dụng này là nằm ngoài phạm vi của luận văn
Một chứng thư có thể được chỉ ra trong nó là được ban hành dưới một hoặc nhiều
CP, miễn là CA ban hành ra nó phải chắc rằng nó có thể phù hợp với bất kỳ một CP nào trong số các CP mà nó được chỉ ra là được ban hành dưới
Tổng quan về nội dung của CP
Nội dung của một CP đã được quy định chi tiết trong RFC 3647 “Internet X509 Public Key Infrastructure Certificate Policy and Certification Pratises Framework” [3]
2.4.2.6 Certification Practice Statement (CPS)
Certification Practice Statement (phát biểu về thủ tục chứng nhận – CPS) được định nghĩa là một quy định về các thủ tục mà một CA sử dụng trong việc ban hành các chứng thư Một CPS chỉ ra các thủ tục liên quan tới các dịch vụ trong vòng đời của chứng thư bên cạnh việc ban hành Ví dụ như việc quản lý chứng thư (bao gồm việc công bố và lưu trữ), thu hồi và làm mới hay thay khóa
CPS có thể có dạng của một tuyên bố của CA về từng chi tiết về hệ thống đáng tin cậy của nó và những thủ tục mà nó sử dụng trong các hoạt động cũng như trong việc hỗ trợ ban hành một chứng thư Dạng CPS này là phổ biến nhất và có độ dài cũng như độ chi tiết thay đổi tùy vào tổ chức ban hành ra nó
Một vài PKI có thể không cần tạo ra một bản quy định chi tiết về các thủ tục Ví
dụ, CA có thể tự bản thân nó là RP của nó và có thể tự bản thân nó nhận thức được các đặc điểm và sự đáng tin cậy của các dịch của bản thân nó Trong các trường hợp khác, một PKI có thể tạo ra các chứng thư mà cung cấp một mức độ bảo đảm ở mức rất thấp
mà những án dụng được an ninh có thể đưa ra duy nhất giới hạn bị nguy hiểm là khi bị xâm hại Trong trường hợp này, tổ chức mà triển khai PKI đó có thể muốn rằng họ chỉ cần việt một bản thỏa thuận (không đầy đủ như CPS) dành cho khách hàng, cho các phụ thuộc, hoặc là cho cả hai trong một văn bản
Trang 27- 27 -
Mặt khác, do một CPS chi tiết có thể chứa những thông tin nhạy cảm liên quan tới
hệ thống, một CA có thể sẽ không công bố bản đầy đủ của CPS, mà thay vào đó sẽ là bản tóm lược Bản tóm lược này chỉ bao gồm các thông tin mà CA thấy là thích hợp với các bên tham gia trong PKI Bản tóm lược đương nhiên sẽ không gồm có những tông tin được cho là nhạy cảm về hệ thống mà sẽ hữu ích cho những kẻ muốn tấn công vào hệ thống
Bản thân CPS không có chức năng cảu một bản hợp đồng, và nó không tự động gắn các bên tham gia PKI vào một hợp đồng nào đó Lý do là bản thân CPS không bao gồm cả sự đồng thuận từ phía khách hàng và các bên phụ thuộc mà có xuất hiện trong CPS Trong tương lai, có thể có khả năng một tòa án, hay một đối tượng lập pháp nào đó
sẽ có thể quy định rằng một chứng thư, tự bản thân nó là một văn bản mà có khả năng tạo
ra một quan hệ giao kèo giữa các bên tham gia
Các CA có thể cũng công bố CPS của mình thông qua các trường trong chứng thư Cách thức thì cũng tương tự như CP
Mối quan hệ giữa CP và CPS
CP và CPS thường được xếp cạnh nhau trong các chủ đề mà muốn nói về các bên phụ thuộc có gắn với mức độ và mục đích mà chứng thư khóa công khai nên được tin tưởng Sự khác biệt chính giữa chúng là chúng tập trung vào các điều khoản khác nhau Một CP sẽ quy định những yêu cầu và chuẩn được đòi hỏi bởi PKI về rất nhiều chủ đề Nói cách khác, mục đích của CP là để ban hành ra những gì mà các bên tham gia phải làm theo Một CPS, ngược lại, sẽ quy định bằng cách nào mà một CA và các bên tham gia trong một khu vực nào đó với những thủ tục và các sự giám sát cơ thể đạt được các yêu cầu mà được nêu ra bởi CP
Sự khác nhau thứ hai giữa CP và CPS là pham vi áp dụng của hai dạng văn bản này Một CP là một quy định về các yêu cầu Nó phục vụ tốt nhất khi là một phương tiện
để hướng dẫn các chức năng liên tối thiểu mà phải có để có thể tương tác với PKI Do vậy, một CP thường được ứng dụng cho nhiều CA, nhiều tổ chức hoặc nhiều domain Ngược lại, một CPS chỉ được ứng dụng cho một CA hoặc một tổ chức cụ thể và thường thì không phải là phương tiện để làm cho việc tương thích với PKI dễ dàng hơn
Một CA với một CPS có thể hỗ trợ nhiều CP ( được dùng cho nhiều mục đích ứng dụng khác nhau hoặc bởi nhiều cộng đồng RP khác nhau) Ngoài ra, nhiều CA, với những CPS khác nhau, có thể hỗ trợ cùng một CP
Trang 28lý nhất để xây dựng
Có một số mô hình tin cậy có thể được áp dụng hoặc được đề xuất để sử dụng trong
hạ tầng mã khóa công khai:
- Single CA Model (mô hình CA đơn)
- Hierarchical Model (mô hình phân cấp)
- Mesh Model (mô hình mạng lưới – mô hình xác thực chéo)
- Bridge CA Model (mô hình cầu nối)
- Trust Lists Model (mô hình danh sách tin tưởng)
- Web of Trust Model (mô hình mạng tin tưởng)
Trang 29- 29 -
2.4.3.1 Mô hình Single CA
Đây là mô hình tổ chức CA cơ bản và đơn giản nhất Trong mô hình CA đơn chỉ
có một CA xác nhận tất cả các thực thể cuối trong miền PKI Mỗi người sử dụng trong miền nhận khóa công khai của CA gốc (root CA) theo một số cơ chế nào đó
Trong mô hình này không có yêu cầu xác thực lẫn nhau Chỉ có một điểm để tất cả người sử dụng có thể kiểm tra trạng thái thu hồi của chứng thư đã được cấp Mô hình này
có thể được mở rộng bằng cách có thêm các RA ở xa CA nhưng ở gần các nhóm người dùng cụ thể
o Không thích hợp cho miền PKI lớn vì một số người sử dụng ở những miền con
có những yêu cầu khác nhau đối với người ở miền khác
Trang 30Hình 2.4.3.2 - Mô hình Hierarchical CA
Trang 31- 31 -
Trong mô hình này, mỗi thực thể sẽ giữ khóa công khai của root CA và kiểm tra đường dẫn của chứng thư bắt đầu từ chữ ký của CA gốc Đây là mô hình PKI tin cậy sớm nhất
o Các tổ chức có thể không tự nguyện tin vào các tổ chức khác
o Có thể không thích hợp cho những mối quan hệ ngang hàng giữa chính phủ và doanh nghiệp
o Những tổ chức thiết lập CA trước có thể không muốn trở thành một phần của
mô hình
o Có thể gây ra sự trội hơn của sản phẩm đối với vấn đề về khả năng tương tác
o Chỉ có một CA gốc nên có thể gây ra một số vấn đề như thiếu khả năng hoạt động Thêm vào đó, trong trường hợp khóa bí mật của CA bị xâm phạm, khóa công khai mới của CA gốc phải được phân phối đến tất các người sử dụng cuối trong hệ thống theo một số cơ chế khác nhau
Mặc dù có những nhược điểm, song mô hình này vẫn thích hợp với yêu cầu của các tổ chức chính phủ vì cấu trúc phân cấp tự nhiên sẵn có
Với nhu cầu và thực tế hiện tại, chúng ta xây dựng mô hình sẽ dựa nhiều vào mô hình này, những nhược điểm sẽ bị hạn chế khi xây dựng một cách chỉnh chu và cẩn thận thì có vẻ như những nhược điểm trên không phải là vấn đề lớn Nói cách khác nó là những nhược điểm có thể khắc phục
Trang 32- 32 -
2.4.3.3 Mô hình Mesh CA
Mô hình mạng lưới là mô hình đưa ra sự tin tưởng giữa hai hay nhiều CA Mỗi CA
có thể ở trong mô hình phân cấp hoặc trong mô hình mạng lưới khác Trong mô hình này không chỉ có một CA gốc mà có nhiều hơn một CA gốc phân phối sự tin cậy giữa các CA với nhau Thông qua việc xác thực chép giữa các CA gốc, các CA có thể tin tưởng lẫn nhau Xác thực chéo liên kết các miền khác nhau bằng việc sử dụng thuộc tính BasicConstraints, Name Constraints, PolicyMapping và Policy Constraints của X509 v3
o Cho phép những nhóm người sử dụng khác nhau có thể tự do phát triển
và thực thi những chính sách và chuẩn khác nhau
Trang 33o Phức tạp và khó để quản lý vì việc xác thực chéo
o Khó có khả năng thực hiện và có thể không hoạt động
o Phần mềm người sử dụng có thể gặp phải một số vấn đề khi tìm chuỗi chứng thư, vì có quá nhiều mỗi quan hệ xác thực
Hiện nay, các tổ chức chính phủ và công ty đang thiết lập CA riêng theo yêu cầu PKI của mình Khi có yêu cầu xử lý giao tiếp giữa các tổ chức khác nhau, những CA này
sẽ tiến hành xác thực chéo độc lập với nhau dẫn đến sự phát triển của thế giới Internet sẽ diễn ra trong mô hình tin cậy theo các hướng khác nhau
2.4.3.4 Mô hình Bridge CA
Trong mô hình Bridge, thay bằng việc thiết lập xác thực chéo giữa các CA, mỗi
CA gốc thiết lập xác thực chéo với CA trung tâm CA trung tâm này làm cho việc giao tiếp được thuận lợi hơn CA trung tâm được gọi là Bridge CA Động cơ thúc đẩy mô hình này là giảm số xác thực chéo từ n2 xuống n
Một điểm quan trọng khác với cấu hình này là CA trung tâm không tạo ra sự phân cấp Tất cả các thực thể trong cấu hình đều giữ khóa công khai của CA cục bộ CA cục bộ (Principle) và CA trung tâm (Bridge CA) sẽ xác thực chéo để tin tưởng lẫn nhau Các CA cục bộ ở nhánh này muốn liên hệ với CA cục bộ ở nhánh khác phải qua CA trung tâm Mỗi nhánh có thể là một mô hình phân cấp với CA cục bộ là rootCA Như vậy, rõ ràng
mô hình này giảm đi nhược điểm của mô hình mạng nhưng lại gặp phải khó khăn trong việc thiết lập bridge CA làm việc với các CA khác trong hạ tầng cơ sở để các CA này có thể hoạt động được với nhau