Chẳng hạn như thông tin giao dịch bị thay đổi, bị đánh cắp, bị giả mạo… Các vấn đề này dẫn đến giao dịch không thực hiện chính xác, thông tin không được đảm bảo tính bí mật và cũng có th
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 3Học viên: Nguyễn Thị Huyền - K16HTTT
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT 4
MỞ ĐẦU 5
CHƯƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ 8
1.1 Giao dịch điện tử 8
1.1.1 Tổng quan về giao dịch điện tử 8
1.1.2 Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng 9
1.2 Cơ sở mật mã học 11
1.2.1 Khái niệm và phân loại hệ mật mã 11
1.2.2 Hệ mật mã khóa đối xứng 11
1.2.3 Hệ mật mã khóa bất đối xứng 13
1.3 Chữ ký số 16
1.3.1 Tổng quan về chữ ký số 16
1.3.2 Sơ đồ chữ ký số 17
1.3.3 Phân loại chữ ký số 18
1.3.4 Tính chất của chữ ký số 18
1.3.5 Chữ ký RSA 19
1.4 Hàm băm 19
1.4.1 Khái niệm hàm băm 19
1.4.2 Đặc tính của hàm băm 20
CHƯƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI 22
2.1 Khái niệm hạ tầng khóa công khai - PKI 22
2.2 Các thành phần của PKI 22
2.2.1 Tổ chức chứng thực CA 22
2.2.2 Tổ chức đăng ký RA 23
2.2.3 Khách hàng PKI 23
2.2.4 Chứng thư số 24
2.2.5 Hệ thống phân phối (CDS) hoặc người được ủy thác 25
Trang 4Học viên: Nguyễn Thị Huyền - K16HTTT
2.3 Chức năng và cách thức hoạt động của PKI 25
2.3.1 Chức năng của PKI 25
2.3.2 Cách thức hoạt động của PKI 26
2.4 Tiến trình trong PKI 28
2.4.1 Yêu cầu cấp chứng thư số 28
2.4.2 Gửi yêu cầu 29
2.4.3 Các chính sách 29
2.4.4 Thu hồi chứng thư số 29
2.4.5 Thông báo thu hồi chứng thư số 30
2.4.6 Truyền thông giữa khách hàng với khách hàng thông qua PKI 30
2.5 Các dịch vụ của PKI 30
2.5.1 Các dịch vụ cốt lõi 30
2.5.2 Các dịch vụ hỗ trợ 32
2.6 Các mô hình kiến trúc PKI 35
2.6.1 Mô hình kiến trúc đơn 35
2.6.2 Mô hình kiến trúc danh sách tin cậy 36
2.6.3 Mô hình kiến trúc doanh nghiệp PKI 37
2.6.4 Mô hình kiến trúc lai 40
CHƯƠNG 3: XÂY DỰNG DỊCH VỤ CHỨNG THỰC CHỮ KÝ SỐ ỨNG DỤNG TRONG LĨNH VỰC TÀI CHÍNH NGÂN HÀNG 44
3.1 Phân tích bài toán sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng 44
3.2 Xây dựng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng 45
3.3 Xây dựng ứng dụng mô hình sử dụng dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng 46
3.3.1 Bài toán số 1: Xây dựng chương trình quản lý chứng thư số 46
3.3.1.1 Phân tích bài toán 46
3.3.1.2 Thiết kế hệ thống 48
3.3.2 Bài toán số 2: Xây dựng WebSite tra cứu chứng thư số 56
Trang 5Học viên: Nguyễn Thị Huyền - K16HTTT
3.3.2.1 Phân tích bài toán 56
3.3.2.2 Thiết kế hệ thống 57
3.3.3 Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng 61
3.3.3.1 Phân tích bài toán 61
3.3.3.2 Thiết kế hệ thống 63
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 75
PHỤ LỤC 76
Trang 6Học viên: Nguyễn Thị Huyền - K16HTTT
Chuẩn mã hóa khóa công khai
PKI Public Key Infrastructure Cơ sở hạ tầng khóa công khai
RA Registration Authority Tổ chức đăng ký
SSL Secure Socket Layer Giao thức bảo mật
Trang 7Học viên: Nguyễn Thị Huyền - K16HTTT
MỞ ĐẦU
Giao dịch điện tử ra đời giúp cho các lĩnh vực khoa học và đời sống phát triển mạnh mẽ hơn Nó giúp giảm thiểu thời gian, công sức và tiền của để thực hiện giao dịch Do đó nó cũng góp phần nâng cao hiệu quả công việc Ngày nay giao dịch điện tử đang được phát triển mạnh mẽ, được ứng dụng cho nhiều lĩnh vực khác nhau và ngày càng khẳng định được vai trò của mình Tuy nhiên, giao dịch điện tử lại nảy sinh các vấn đề nguy hại cần giải quyết Chẳng hạn như thông tin giao dịch bị thay đổi, bị đánh cắp, bị giả mạo… Các vấn đề này dẫn đến giao dịch không thực hiện chính xác, thông tin không được đảm bảo tính bí mật và cũng có thể gây thiệt hại cho người thực hiện giao dịch Do đó cần phải
có các giải pháp để đảm bảo an ninh cho giao dịch điện tử
Tài chính ngân hàng đã ứng dụng mạnh mẽ giao dịch điện tử để phục vụ cho công việc của mình chẳng hạn như sử dụng hệ thống thẻ ATM, website, tin nhắn SMS … cho phép các khách hàng thực hiện giao dịch Các hệ thống này thường sử dụng mật khẩu, thẻ xác thực để bảo mật thông tin Điều này không đáp ứng được yêu cầu an toàn thông tin giao dịch Một giải pháp đưa ra đó là chữ ký số Sử dụng chữ ký số trong giao dịch ngân hàng có thể bảo đảm được tính toàn vẹn, tính bí mật, tính xác thực và tính chống chối bỏ Đây là một giải pháp hữu hiệu đối với giao dịch điện tử nói chung và giao dịch điện tử trong tài chính ngân hàng nói riêng
Chữ ký số không chỉ đảm bảo về mặt kỹ thuật mà còn được đảm bảo về mặt pháp lý Đã có một số văn bản pháp luật được ban hành đối với việc sử dụng chữ ký số như nghị định số 26/2007/NĐ-CP ngày 25/02/2007 của Chính phủ quy định chi tiết thi hành Luật giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số Dựa trên các ưu điểm cũng như tính pháp lý của chữ ký
số ngân hàng nhà nước Việt Nam đã đưa ra Thông tư số 12/2011/TT-NHNH ngày 17/5/2011 về việc quản lý, sử dụng chữ ký số và dịch vụ chứng thực chữ
ký số Một vấn đề quan trọng trong việc sử dụng chữ ký số đó là chứng thực chữ
ký số Khi nhận được một chữ ký số người nhận cần biết thông tin liên quan đến chữ ký số đó xem nó có đảm bảo tính hợp pháp hay không và có đúng là của người gửi hay không? Để đáp ứng nhu cầu này cần có dịch vụ chứng thực chữ
ký số Đã có một số giải pháp được đưa ra để phục vụ việc chứng thực chữ ký số trong đó điển hình là giải pháp sử dụng cơ sở hạ tầng khóa công khai Hạ tầng khóa công khai bao gồm các tổ chức cấp, quản lý chứng thư số và các dịch vụ
Trang 8Học viên: Nguyễn Thị Huyền - K16HTTT
chứng thực Ở Việt Nam hiện nay có một số tổ chức cấp chứng thư số như: VNPT, Viettel, BkaV, FPT…
Nắm bắt được nhu cầu sử dụng và chứng thực chữ ký số trong giao dịch
tài chính - ngân hàng em đã tìm hiểu và thực hiện đề tài: “Nghiên cứu triển
khai dịch vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng” Trong thời gian qua em đã đi sâu nghiên cứu các vấn đề về mã hóa, chữ
ký số, hàm băm, cơ sở hạ tầng khóa công khai, ngôn ngữ lập trình và hệ quản trị
cơ sở dữ liệu… để phục vụ cho việc xây dựng đề tài và đã đạt được những kết quả nhất định Luận văn được trình bày trong 3 chương và phần kết luận, hướng phát triển, cụ thể:
- Chương 1: Tổng quan về giao dịch điện tử và chứ ký số
Các nội dung được trình bày trong chương bao gồm: Tổng quan về giao dịch điện tử, Cơ sở mật mã học, Chữ ký số, Hàm băm Các nội dung này
là cơ sở để chúng ta có thể hiểu về vai trò, ý nghĩa và quy trình tạo và xác thực chữ ký số
- Chương 2: Cơ Sở hạ tầng khóa công khai
Trong chương này trình bày các nội dung chính về cơ sở hạ tầng khóa công khai như: Khái niệm, thành phần, chức năng và cách thức hoạt động, các tiến trình, các dịch vụ, mô hình kiến trúc Qua đây chúng ta có thể hiểu được tổng quan về vai trò, cách thức tổ chức và cách thức hoạt động của hạ tầng khóa công khai Đó là nền tảng để xây dựng dịch vụ chứng thực chữ ký số
- Chương 3: Xây dựng dịch vụ chứng thực chữ ký số ứng dụng trong
lĩnh vực tài chính ngân hàng
Trong chương này em trình bày về việc xây dựng mô hình sử dụng dịch
vụ chứng thực chữ ký số ứng dụng trong lĩnh vực tài chính ngân hàng,
phân tích và thiết kế ba bài toán:
Bài toán số 1: Xây dựng chương trình quản lý chứng thư số
Bài toán số 2: Xây dựng website cho phép người dùng tra cứu thông tin chứng thư số
Bài toán số 3: Xây dựng website ứng dụng dịch vụ chứng thực chữ
ký số trong giao dịch điện tử của lĩnh vực tài chính ngân hàng
- Phần kết luận
Phần này tổng kết lại những kết quả luận văn đã thực hiện được và đưa ra hướng phát triển của luận văn trong thời gian tới
Trang 9Học viên: Nguyễn Thị Huyền - K16HTTT
Tuy nhiên, Việc ứng dụng chữ ký số trong lĩnh vực tài chính ngân hàng ở nước ta còn mới, hơn nữa do thời gian và trình độ có hạn nên một số vấn đề trình bày trong luận văn không thể tránh khỏi những thiếu xót nhất định Trong thời gian tới em sẽ tiếp tục nghiên cứu và phát triển bài toán, mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài được phát triển tốt hơn
Em xin chân thành cảm ơn thầy giáo: TS Nguyễn Viết Thế, TS Hồ Văn Hương và các thầy cô trong trường, bạn bè đồng nghiệp đã giúp đỡ em trong thời gian qua để em hoàn thiện tốt luận văn của mình!
Trang 10Học viên: Nguyễn Thị Huyền - K16HTTT
CHƯƠNG 1: TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ CHỮ KÝ SỐ 1.1 Giao dịch điện tử
1.1.1 Tổng quan về giao dịch điện tử
Trong cuộc sống hàng ngày thường có rất nhiều giao dịch phát sinh Chẳng hạn như trong lĩnh vực tài chính ngân hàng, quan hệ giữa ngân hàng với khách hàng tồn tại nhiều giao dịch như các giao dịch gửi tiền, vay tiền, chuyển khoản, ủy nhiệm thu, ủy nhiệm chi… Việc thực hiện mỗi giao dịch này cần thực hiện một số thủ tục nhất định Ví dụ như đối với giao dịch chuyển khoản: Trước tiên chủ tài khoản cần liên hệ với ngân hàng, thông báo cho ngân hàng các thông tin cần thiết về chủ tài khoản nhận tiền, số tài khoản người nhận, số tiền chuyển… và yêu cầu ngân hàng thực hiện giao dịch Sau đó ngân hàng kiểm tra tính hợp lệ của các thông tin mà người chuyển cung cấp, nếu như thỏa mãn sẽ tiến hành thực hiện giao dịch Tương tự với các giao dịch khác cũng cần phải thực hiện những bước nhất định Những giao dịch này thường xuyên diễn ra và mất nhiều thời gian, công sức và tiền của
Để thực hiện giao dịch một cách tiện lợi và nhanh chóng người ta đã phát triển giao dịch điện tử Giao dịch điện tử là giao dịch được thực hiện bằng phương tiện điện tử Trong đó các phương tiện điện tử là các phương tiện hoạt động dựa trên công nghệ điện, điện tử, kỹ thuật số, từ tính, truyền dẫn không dây, quang học, điện tử hoặc công nghệ tương tự Khi chúng ta muốn thực hiện giao dịch chúng ta không cần tới ngân hàng mà có thể ngồi tại nhà, tại cơ quan hay đang đi chơi trong công viên sử dụng máy tính cá nhân, điện thoại di động
có kết nối mạng internet để thực hiện giao dịch một cách nhanh chóng và chính xác Có thể nói giao dịch điện tử là một giải pháp hiệu quả đối với các giao dịch trên Nó góp phần giảm bớt chi phí về công và của cũng như nâng cao hiệu quả công việc cho lĩnh vực tài chính ngân hàng
Tuy nhiên trong giao dịch điện tử lại nảy sinh các vấn đề cấp thiết cần giải quyết Chẳng hạn như thông tin giao dịch bị kẻ gian cố tình xem trộm Có thể bên gửi giao dịch là giả mạo, bên nhận giao dịch không biết chính xác chủ thể thực hiện giao dịch Ví dụ như có kẻ gian lấy trộm thông tin của khách hàng để chuyển tiền vào tài khoản của mình mà ngân hàng không phát hiện ra Cũng có thể thông tin giao dịch bị thay đổi do kẻ gian cố tình thay đổi hoặc do lỗi trên đường truyền Cũng có thể khách hàng thực hiện giao dịch nhưng lại cố tình chối bỏ…Tất cả những vấn đề này đều dẫn đến giao dịch không được thực hiện một cách chính xác Một giao dịch phải đảm bảo các tính chất sau: tính toàn vẹn
Trang 11Học viên: Nguyễn Thị Huyền - K16HTTT
(đảm bảo thông tin không bị mất mát hay thay đổi), tính bí mật (thông tin không
bị lộ) và tính xác thực(xác định chính xác chủ thể giao dịch) Các nhà nghiên cứu đã đưa ra nhiều giải pháp như mã hóa, nén dữ liệu, hàm băm, chữ ký số…
để đảm bảo các yêu cầu trên
Một số quy định trong giao dịch điện tử
Theo quyết định số 59/BTTTT, ngày 31 tháng 12 năm 2008 của Bộ Thông tin và Truyền thông Một số tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số như sau:
- Bảo mật cho khối an ninh phần cứng HSM: Tiêu chuẩn FIPS PUB 140-2 (Security Requirements for Cryptographic Modules), yêu cầu tối thiểu level 3
- Hàm băm bảo mật: Tiêu chuẩn FIPS PUB 180-2 (Secure Hash Standard)
Áp dụng một trong bốn hàm băm an toàn: SHA-1, SHA-256, SHA-384, SHA-512
- Định dạng chứng thư số và danh sách thu hồi chứng thư số: RFC 3280 (Internet X.509 Public Key Infrastructure - Certificate and Certificate Revocation List (CRL) Profile)
1.1.2 Khảo sát bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng
Trong lĩnh vực tài chính ngân hàng, giữa ngân hàng với ngân hàng, giữa ngân hàng với khách hàng có rất nhiều giao dịch diễn ra hàng ngày Chẳng hạn như các giao dịch chuyển khoản, kiểm tra tài khoản, ủy nhiệm thu, ủy nhiệm chi… Các giao dịch này được thực hiện bằng hai cách:
+ Giao dịch trực tiếp: Khách hàng trực tiếp tới trụ sở chính hoặc chi nhánh đại diện của ngân hàng và thực hiện giao dịch trực tiếp với các nhân viên giao dịch của ngân hàng
+ Giao dịch gián tiếp (giao dịch điện tử): Khách hàng giao dịch với ngân hàng thông qua các phương tiện điện tử
Trang 12Học viên: Nguyễn Thị Huyền - K16HTTT
Giao dịch điện tử giúp giảm bớt thời gian, công sức và tiền của từ đó nâng cao hiệu quả công việc cho ngân hàng cũng như tiện lợi hơn cho khách hàng Trong thực tế nước ta hiện nay có một số hình thức giao dịch điện tử như: hệ thống ATM, website, email, tin nhắn SMS, Phone… Tuy nhiên các giao dịch điện tử trong lĩnh vực tài chính ngân hàng có thể tiềm ẩn các mối đe dọa sau:
+ Thông tin không đảm bảo toàn vẹn: Nếu trên đường truyền tin thông tin không được toàn vẹn mà bị sai lệch (do lỗi đường truyền hoặc kẻ gian gây ra…)
và ngân hàng không phát hiện ra sẽ dẫn đến giao dịch bị sai lệch kết quả là gây thiệt hại nghiêm trọng cho khách hàng và ngân hàng Ví dụ như trong giao dịch chuyển tiền nếu thông tin về số tài khoản nhận bị sai thì tiền sẽ không được chuyển tới người lẽ ra được nhận mà chuyển vào tài khoản của người khác, hoặc
số tiền chuyển bị thay đổi sẽ gây thiệt hại cho ngân hàng…
+ Thông tin không đảm bảo bí mật: Nếu trên đường truyền tin thông tin không được giữ bí mật thì khi có kẻ gian đánh cắp chúng có thể khai thác thông tin sử dụng vào các mục đích xấu Ví dụ như khi đánh cắp được số tài khoản và mật khẩu kẻ gian sẽ lợi dụng để rút trộm tiền hoặc chuyển tiền vào tài khoản của chúng…
+Thông tin không đảm bảo tính xác thực: Nếu có kẻ gian cố tình giả mạo khách hàng để thực hiện giao dịch mà ngân hàng không phát hiện ra sẽ gây ra những thiệt hại cho khách hàng Ngược lại nếu khách hàng đã thực hiện giao dịch mà lại chối bỏ mà ngân hàng không có biện pháp để quy trách nhiệm thì gây thiệt hại cho ngân hàng
Để giải quyết các mối đe dọa trên các nhà nghiên cứu đã đưa ra nhiều giải pháp cho giao dịch điện tử trong lĩnh vực tài chính ngân hàng như: Sử dụng mật khẩu (mã PIN, mật khẩu một lần), thẻ xác thực (thẻ ATM, thẻ token, tin nhắn SMS, xác thực hai lần (mật khẩu và tin nhắn), mã hóa, chữ ký số…Đối với giải pháp mật khẩu, thẻ xác thực, SMS và xác thực hai lần không đảm bảo được tính toàn vẹn và tính bí mật Đối với giải pháp mã hóa không đảm bảo được tính chống chối bỏ Nhưng với giải pháp chữ ký số có thể đảm bảo được cả bốn tính chất bao gồm tính toàn vẹn, bí mật, xác thực và chống chối bỏ Chữ ký số là một giải pháp đang chiếm ưu thế và đang được các ngân hàng quan tâm Việc ứng dụng chữ ký số trong lĩnh vực tài chính ngân hàng phải tuân thủ theo các quy định của pháp luật Hiện nay có một số văn bản pháp luật quy định về việc ứng dụng chữ ký số trong giao dịch điện tử như: Luật giao dịch điện tử ngày 29/11/2005 quy định về việc sử dụng giao dịch điện tử, Nghị định số 26/2007/NĐ-CP ngày 25/02/2007 của Chính phủ quy định chi tiết thi hành Luật
Trang 13Học viên: Nguyễn Thị Huyền - K16HTTT
giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số, Thông tư số 12/2011/TT-NHNH ngày 17/5/2011 của ngân hàng nhà nước về việc quản lý, sử dụng chữ ký số và dịch vụ chứng thực chữ ký số, Quyết định số 59/2008/QĐ-BTTTT ban hành danh mục tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số Dựa theo các quy định pháp luật trên các tổ chức chứng thực đã và đang xây dựng một số dịch vụ chứng thực chữ ký số ứng dụng cho các lĩnh vực khác nhau trong đó có lĩnh vực tài chính ngân hàng Ở Việt Nam hiện nay có một số tổ chức cung cấp dịch vụ chứng thực chữ ký số như: VNPT(VDC), FPT, Bkav(Bkis), NacoNem, Viettel… Các dịch vụ chứng thực chữ ký số ứng dụng cho lĩnh vực tài chính ngân hàng dựa trên cơ sở hạ tầng khóa công khai
Với khóa giải mã kd ϵ K, có hàm giải mã dkd ϵ D, dkd: CP,
Sao cho dkd(eke(x))=x, với mọi x ϵ P
ở đây x được gọi là bản rõ, eke(x) được gọi là bản mã[1]
Phân loại hệ mật mã
Tùy theo các tiêu chí khác nhau người ta chia các hệ mật mã ra làm các loại khác nhau Dựa theo tiêu chí về tính bí mật của khóa mã hóa người ta chia các hệ mật mã ra làm hai loại: Hệ mật mã khóa đối xứng (hay còn gọi là hệ mã hóa khóa bí mật) và hệ mật mã khóa bất đối xứng (hay còn gọi là hệ mật mã khóa công khai)
1.2.2 Hệ mật mã khóa đối xứng
Trang 14Học viên: Nguyễn Thị Huyền - K16HTTT
1.2.2.1 Khái niệm hệ mật mã khóa đối xứng
Hệ mật mã khóa đối xứng là hệ mật mã mà nếu biết được khóa lập mã thì
có thể “dễ” tính được khóa giải mã và ngược lại Đặc biệt có một số hệ mã hóa khóa đối xứng có khóa lập mã và khóa giải mã là trùng nhau (ke≡ kd) như hệ mã hóa dịch chuyển hay DES
Hệ mã hóa khóa đối xứng còn gọi là hệ mã hóa khóa bí mật hay hệ mã hóa khóa riêng vì phải giữ bí mật cả hai khóa lập mã và khóa giải mã Trước khi
sử dụng hệ mã hóa khóa đối xứng, người gửi và người nhận phải thỏa thuận với nhau về thuật toán mã hóa và khóa chung (khóa lập mã và khóa giải mã) Khóa phải được giữ bí mật Độ an toàn của hệ mã hóa này phụ thuộc vào khóa
- Mô hình sử dụng mật mã khóa đối xứng:
Hình 1.1 Mô hình sử dụng hệ mật mã khóa đối xứng
+ Giả sử bên gửi muốn truyền cho bên nhận một thông điệp X dưới dạng bản rõ Cần tạo ra một khóa K để thực hiện việc lập mã Nếu khóa được tạo ra bởi bên gửi thì nó phải được gửi cho bên nhận thông qua một kênh thông tin an toàn
+ Khi đã có bản tin X và khóa K bên gửi sẽ sử dụng thuật toán mã hóa E
để tạo ra một bản mã Y:
Y= E(K,X) + Sau đó bên gửi sẽ gửi bản mã Y tới bên nhận và bên nhận sẽ sử dụng khóa K được chia sẻ từ trước qua kênh an toàn để giải mã bản mã Y thông qua thuật toán giải mã thu được bản rõ X:
Trang 15Học viên: Nguyễn Thị Huyền - K16HTTT
X= D(K,Y) Trong quá trình truyền tin qua môi trường mạng, có khả năng thám mã sẽ bắt được mã mật Y Tuy nhiên thám mã lại không có bản tin gốc X và khóa mật
K Giả sử, các thuật toán sử dụng để mã hóa (E) và giải mã (D) đã được công khai thì thám mã sẽ cố gắng để giải mã X bằng cách tạo ra các bản tin gần giống
X Thậm chí thám mã còn cố gắng để có thể giải mã khóa mật K bằng cách tạo
ra số gần giống K Như vậy có thể nhận thấy rằng, để đảm bảo tính an toàn cho
hệ mật mã khóa đối xứng thì hệ mật mã cần thỏa mã hai điều kiện sau:
+ Phương pháp mã hóa phải đủ mạnh để thám mã không thể giải mã được
mã mật nếu như không có khóa K Yêu cầu này có thể phát biểu dưới dạng mạnh hơn như sau: Thám mã sẽ không giải mã được bản tin mật hay tìm ra khóa
K kể cả khi đã có các mã mật cũng như các bản tin nguyên thủy đã tạo ra các mã mật ấy
+ Các bên tham gia truyền tin phải đảm bảo giữ bí mật được khóa K Nếu thám mã đánh cắp được khóa mật và biết được các thuật toán mã hóa thì thông tin trao đổi giữa các bên hoàn toàn có khả năng bị lộ
- Phạm vi sử dụng: Hệ mã hóa khóa đối xứng thường được sử dụng trong môi trường mà khóa chung có thể dễ dàng trao chuyển bí mật Chẳng hạn trong cùng một mạng nội bộ Hệ mã hóa khóa đối xứng thường dùng để mã hóa những bản tin lớn vì tốc độ mã hóa và giải mã nhanh hơn hệ mã hóa khóa công khai
1.2.2.2 Ưu nhược điểm của hệ mã hóa khóa đối xứng
- Vấn đề thỏa thuận khóa và quản lý khóa chung là khó khăn và phức tạp Người gửi và người nhận phải luôn thống nhất với nhau về khóa Việc thay đổi khóa là rất khó và dễ bị lộ Khóa chung phải được gửi cho nhau trên kênh an toàn
1.2.3 Hệ mật mã khóa bất đối xứng
Trang 16Học viên: Nguyễn Thị Huyền - K16HTTT
1.2.3.1 Khái niệm hệ mật mã khóa bất đối xứng
Hệ mã hóa khóa bất đối xứng (còn gọi là hệ mã hóa công khai) là hệ mã hóa có khóa lập mã và khóa giải mã khác nhau(ke ≠ kd), biết được khóa này cũng “ khó ” tính được khóa kia Hệ mã hóa này được gọi là hệ mã hóa khóa công khai vì:
+ Khóa lập mã cho công khai, gọi là khóa công khai (public key)
+ Khóa giải mã giữ bí mật, còn gọi là khóa riêng (Private key) hay khóa
bí mật
Một người bất kỳ có thể dùng khóa công khai để mã hóa bản tin, nhưng chỉ người nào có đúng khóa giải mã thì mới có khả năng đọc được bản rõ Hệ mã hóa khóa công khai do Diffie và Hellman phát minh vào những năm 1970
- Mô hình sử dụng mật mã khóa bất đối xứng:
1.2 Mô hình mã hóa khóa bất đối xứng
+ Giả sử Alice cần gửi một bản tin X cho Bob Bob sẽ tạo ra một cặp khóa bí mật PUb/công khai PRb Bob công khai khóa công khai và giữ bí mật khóa riêng của mình
+ Alice sẽ dùng khóa công khai của Bob để mã hóa bản tin X tạo ra bản
mã Y, và Alice gửi Y cho Bob: Y=E(PUb, X)
+ Khi nhận được Y, Bob sẽ sử dụng khóa riêng PRb của mình để thực hiện việc giải mã dữ liệu: X= D(PRb, Y)
Trang 17Học viên: Nguyễn Thị Huyền - K16HTTT
Dữ liệu được truyền từ Alice tới Bob được mã hóa đảm bảo tính bí mật, chỉ có Bob mới có thể giải mã được bản mã
- Phạm vi ứng dụng: Hệ mã hóa khóa bất đối xứng thường được sử dụng chủ yếu trên các mạng công khai như mạng Internet, khi mà việc trao chuyển khóa
bí mật tương đối khó khăn Đặc trưng nổi bật của hệ mã hóa khóa công khai là khóa công khai và bản mã đều có thể gửi đi trên một kênh truyền tin không an toàn Có biết cả khóa công khai và bản mã thì thám mã cũng không “dễ” khám phá được bản rõ Nhưng vì tốc độ lập mã và giải mã chậm nên hệ mã hóa khóa công khai chỉ dùng để mã hóa những bản tin ngắn, ví dụ như mã hóa khóa bí mật gửi đi Hệ mã hóa khóa công khai thường được sử dụng cho cặp người dùng thỏa thuận khóa bí mật của hệ mã hóa khóa đối xứng
1.2.3.2 Ưu nhược điểm của hệ mã hóa khóa bất đối xứng
- Nếu thám mã biết khóa công khai và bản mã C, thì việc tìm ra bản rõ P cũng là bài toán “khó”, số phép thử là vô cùng lớn, không khả thi
Nhược điểm
Hệ mã hóa khóa công khai mã hóa và giải mã chậm hơn hệ mã hóa khóa
bí mật
1.2.3.3 Hệ mã hóa RSA
Hệ mã hóa RSA được đặt tên dựa theo các chữ cái đầu của 3 tác giả của
hệ mã là Rivest, Shamir và Adleman Đây là thuật toán mã hóa nổi tiếng nhất và cũng là thuật toán được ứng dụng thực tế nhất
Sơ đồ hệ mã hóa RSA:
- Tạo cặp khóa (bí mật, công khai)(a,b):
Trang 18Học viên: Nguyễn Thị Huyền - K16HTTT
+ Chọn bí mật số nguyên tố lớn p,q
+ Tính n=p*q, công khai n, đặt P=C=Zn
+ Tính Ф(n) = (p-1)*(q-1), giữ bí mật Ф(n)
+ Chọn khóa công khai b<Ф(n), nguyên tố với Ф(n)
+ Tính khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b≡1(mod Ф(n))
+ Tập cặp khóa (bí mật, công khai) K={(a,b)/a,bϵZn , a*b≡1(mod Ф(n))} Với Bản rõ x ϵ P và bản mã y ϵ C, định nghĩa:
- Hàm mã hóa: y=ek(x)=xb mod n
- Hàm giải mã: x=dk(y)= ya mod n
cụ dùng để chứng thực một “tài liệu số” Việc “ký số” được thực hiện trên từng bit của tài liệu và thông qua sơ đồ chữ ký số Việc tạo chữ ký số là dựa trên cơ
sở mật mã học Thực chất của việc ký số chính là mã hóa Điểm khác nhau giữa
mã hóa (khóa công khai) và ký số đó là:
- Đối với mã hóa:
+ Người gửi sử dụng khóa công khai của người nhận để mã hóa
+ Người nhận sử dụng khóa bí mật của mình để giải mã
Mọi người đều có thể mã hóa nhưng chỉ người có khóa bí mật mới giải mã được
Trang 19Học viên: Nguyễn Thị Huyền - K16HTTT
- Đối với ký số:
+ Người gửi dùng khóa bí mật của mình để tạo chữ ký (mã hóa)
+ Người nhận dùng khóa công khai của người gửi để xác thực chữ ký (giải mã)
Chỉ người có khóa bí mật mới tạo được chữ ký, bất cứ người nhận nào cũng có thể xác thực được chữ ký
Yêu cầu đối với chữ ký số
Để thực hiện vai trò tương tự như chữ ký tay chữ ký số cần đảm bảo các yêu cầu sau:
- Chữ ký số phải là một mẫu bit phụ thuộc vào thông điệp ký
- Chữ ký số phải là duy nhất để tránh việc giả mạo cũng như chối bỏ
- Việc tạo ra chữ ký số phải tương đối dễ
- Việc xác thực chữ ký số phải tương đối dễ
- Việc tính toán để xây dựng lại một thông điệp từ một chữ ký số đã tồn tại hoặc để tìm ra một chữ ký giả mạo từ một thông điệp là không khả thi
- Phải lưu trữ một bản sao chữ ký số[3]-[4]
V : tập các thuật toán kiểm thử
Với mỗi khóa k ϵ K, có thuật toán ký Sigk ϵ S, Sigk: PA, có thuật toán kiểm tra chữ ký Verk ϵ B, Verk : P x A {đúng, sai}, thoản mãn điều kiện sau với mọi x ϵ P, y ϵ A:
[4] Vì việc “ký số” được thực hiện trên từng bit của tài liệu nên độ dài của “chữ
ký số” ít nhất cũng bằng độ dài của tài liệu Do đó để rút ngắn thời gian ký người ta thay việc ký trên tài liệu bằng việc ký trên đại diện của tài liệu Đại diện này được tạo ra bởi hàm băm (sẽ được trình bày ở phần sau)
Trang 20Học viên: Nguyễn Thị Huyền - K16HTTT
1.3.3 Phân loại chữ ký số
Có nhiều loại chữ ký số khác nhau, tùy theo các tiêu chí khác nhau người ta chia chữ ký số thành các loại khác nhau:
- Cách 1: Phân loại theo đặc trưng kiểm tra chữ ký:
Chữ ký khôi phục thông điệp: Là loại chữ ký mà người gửi chỉ cần gửi
“chữ ký” và người nhận có thể khôi phục lại được thông điệp từ “chữ ký” này Ví dụ chữ ký RSA
Chữ ký đi kèm thông điệp: Là loại chữ ký mà người gửi cần gửi cả “chữ ký” và thông điệp đã được ký Người nhận không thể khôi phục lại được thông điệp gốc từ chữ ký Ví dụ chữ ký Elgamal
- Cách 2: Phân loại chữ ký theo mức độ an toàn:
- Tính bí mật:
Chữ ký số dựa trên hệ mã hóa khóa công khai Về bản chất ký số chính là
mã hóa và xác nhận chữ ký chính là giải mã Sử dụng khóa bí mật để làm khóa
ký và khóa công khai để làm khóa xác nhận chữ ký Do đó chữ ký số đảm bảo tính bí mật
Trang 21Học viên: Nguyễn Thị Huyền - K16HTTT
- Tính xác thực:
Khi thực hiện giao dịch bên gửi phải dùng hàm băm để tạo đại diện cho thông điệp Tiếp theo dùng khóa bí mật để ký lên đại diện D của thông để tạo ra chữ ký số R Sau đó bên gửi chuyển cho bên nhận cả thông điệp và chữ ký số qua mạng Internet Khi bên nhận nhận được thông tin sẽ xác thực thông tin bằng cách: Dùng hàm băm tạo đại diện cho thông điệp nhận được D1 và dùng khóa công khai của bên gửi để giải mã chữ ký số thu được bản rõ D2 Sau đó tiến hành so sánh D1 và D2 Vì toán học đã chứng minh với một khóa bí mật chỉ tồn tại duy nhất một khóa công khai thỏa mãn thuật toán ký và thuật toán kiểm tra chữ ký Như vậy nếu kết quả kiểm tra thu được D1 ≡ D2 thì kết luận chữ ký số đúng là của bên gửi Ngược lại nếu kết quả kiểm tra thu được D1≠ D2 thì kết luận chữ ký số không phải của bên gửi
- Tính không thể phủ nhận:
Bởi vì cặp khóa bí mật, khóa công khai là duy nhất Mà khóa bí mật chỉ
có người chủ sở hữu cặp khóa đó biết Nên khi tham gia vào giao dịch bên gửi
không thể phủ nhận chữ ký số của mình
1.3.5 Chữ ký RSA
Sơ đồ
- Tạo cặp khóa (bí mật, công khai) (a,b):
Chọn bí mật số nguyên tố lớn p, q, tính n=p*q, công khai n, đặt P=C= Zn Tính
bí mật Ф(n) = (p-1)*(q-1) Chọn khóa công khai b < Ф(n), nguyên tố với Ф(n) Khóa bí mật a là phần tử nghịch đảo của b theo mod Ф(n): a*b ≡ 1 ( mod Ф(n) ) Tập cặp khóa (bí mật, công khai) K = { (a, b) / a, b ϵ Zn , a*b ≡ 1 ( mod Ф(n))}
- Ký số: Chữ ký trên x ϵ P là y=Sigx (x) = xa(mod n), y ϵ A
- Kiểm tra chữ ký: Very (x,y) = đúng ↔ x ≡ yb( mod n)[1]
1.4 Hàm băm
1.4.1 Khái niệm hàm băm
Như đã biết ký số được thực hiện trên từng bit của tài liệu Do vậy kích thước của chữ ký số sẽ nhỏ nhất là bằng kích thước của thông điệp.Vì thế nên với các thông điệp lớn thì sẽ tạo ra chữ ký rất lớn Hơn nữa hầu hết các hệ chữ
ký đều rất chậm nên việc ký sẽ rất lâu Để giảm bớt được độ lớn của chữ ký và thời gian ký cần phải biến thông điệp từ lớn thành nhỏ, sau đó mới thực hiện ký Các nhà nghiên cứu đã tìm ra một giải pháp hữu hiệu để giải quyết vấn đề này
Đó là hàm băm Vậy hàm băm là gì?
Trang 22Học viên: Nguyễn Thị Huyền - K16HTTT
Hàm băm H là một thuật toán lấy thông tin đầu vào là một thông điệp
có kích thước biến thiên và sinh ra một kết quả là một chuỗi có độ dài cố định Kết quả đó gọi là đại diện của thông điệp.[1]-[4]
Ví dụ:
Khi A muốn gửi một bức thông điệp x (có độ dài bất kỳ) cho B Trước tiên A dùng hàm băm để tạo đại diện z cho x: z=h(x) và sau đó ký lên đại diện z thu được chữ ký y: y=sigk(z) Sau đó A gửi cặp thông tin và chữ ký (x,y) cho B Khi nhận được cặp thông tin B sẽ thực hiện việc xác thực bằng cách : Tính lại đại diện cho thông điệp z=h(x) Sau đó kiểm tra verk(z,y) xem có bằng TRUE hay không Nếu bằng TRUE thì kết luận đúng, ngược lại nếu bằng FALSE thì kết luận là sai
Hình 1.3 Sơ đồ chữ ký sử dụng hàm băm
1.4.2 Đặc tính của hàm băm
Hàm băm h là hàm một chiều với các đặc tính sau:
- Với thông điệp đầu vào x chỉ thu được giá trị băm duy nhất z=h(x)
- Nếu dữ liệu trong thông điệp x bị thay đổi hay bị xóa để thành bản tin x’, thì giá trị băm h(x’) ≠ h(x) Khi có bất kỳ một sự thay đổi nhỏ dù chỉ là một bit
dữ liệu của thông điệp gốc thì giá trị băm của nó cũng thay đổi Điều này có nghĩa là: hai thông điệp khác nhau thì giá trị băm của chúng cũng khác nhau
- Từ đại diện “khó” thể suy ra được nội dung thông điệp gốc Tức là từ thông điệp gốc x “dễ” tính được đại diện z=h(x) nhưng lại “khó” tính ngược lại được x từ z
Trang 23Học viên: Nguyễn Thị Huyền - K16HTTT
Hàm băm phải là hàm không va chạm mạnh tức là: không có thuật toán tính được trong thời gian đa thức giải bài toán: Tìm x và x’ sao cho x ≠ x’ và h(x’) ≠ h(x) Nói cách khác việc tìm hai thông điệp giống nhau có cùng đại diện
là cực kỳ khó[1]
Trong chương I em đã trình bày các vấn đề tổng quan về giao dịch điện
tử, bài toán giao dịch điện tử trong lĩnh vực tài chính ngân hàng, chữ ký số và các vấn đề liên quan tới chữ ký số Mật mã học là cơ sở để tạo ra các sơ đồ chữ
ký số Hàm băm là một công cụ để tạo đại diện giúp giảm bớt kích thước của thông điệp ký Từ đó, giúp cho việc ký nhanh chóng hơn Như vậy qua chương này chúng ta có thể hiểu được vai trò của chữ ký số cũng như quy trình tạo và xác thực chữ ký số
Trang 24Học viên: Nguyễn Thị Huyền - K16HTTT
CHƯƠNG 2: CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI
2.1 Khái niệm hạ tầng khóa công khai - PKI
Mọi phương thức truyền thông đều dựa trên cơ sở vật lý hoặc điện tử Trong truyền thông vật lý tương đối dễ để xây dựng một cơ sở tin cậy vì có thể phân biệt được mọi người thông qua khuôn mặt, chữ ký, chứng minh thư… Tuy nhiên trong truyền thông điện tử việc xây dựng một cơ sở tin cậy để xác minh những thực thể không xác định khá là khó khăn Truyền thông và giao dịch điện
tử cần xây dựng để đảm bảo được độ tin cậy, xác thực và bảo mật Hạ tầng khóa công khai được ra đời để giải quyết các vấn đề trên
PKI bao gồm các chính sách bảo mật, các cơ chế mật mã và các ứng dụng
để tạo, lưu trữ và quản lý các khóa PKI cũng cung cấp các thủ tục để tạo, phân phối và sử dụng các khóa và chứng thư số Các hàm bảo mật cơ bản trong mật
mã để đáp ứng tính bí mật, tính toàn vẹn và tính chống chối bỏ Cơ sơ hạ tầng khóa công khai cần phải có các điều kiện sau:
- Có các chính sách quy định cụ thể việc điều hành các hệ thống mật mã
- Có cơ chế quản lý, tạo và lưu trữ cặp khóa
- Hướng dẫn quản lý, lưu trữ phân phối về tạo cặp khóa và chứng thư số Như vậy hạ tầng khóa công khai là một tập hợp bao gồm phần cứng, phần mềm, các chính sách và các hàm để quản lý, tạo, lưu trữ và phân phối các khóa và các chứng thư số [2]
2.2 Các thành phần của PKI
Hạ tầng khóa công khai bao gồm các thành phần:
- Tổ chức chứng thực - CA (Certification Authority)
- Tổ chức đăng ký – RA (Registration Authority)
- Khách hàng của PKI (PKI Clients)
Trang 25Học viên: Nguyễn Thị Huyền - K16HTTT
người đó, khóa công khai của tổ chức cấp CA Các thông tin này phụ thuộc vào chính sách của các công ty phát hành chứng thư số theo quy định của pháp luật Trước khi cấp chứng thư số, các thông tin CA yêu cầu khách hàng cung cấp phải được tổ chức đăng ký (RA) kiểm tra tính chính xác Nếu kết quả kiểm tra là hợp
lệ thì CA sẽ tiến hành làm các thủ tục cấp chứng thư số cho khách hàng[2]
2.2.2 Tổ chức đăng ký RA
RA chịu trách nhiệm về tương tác giữa khách hàng và CA Vì số lượng chứng thư số yêu cầu được cấp là tương đối lớn nên CA không thể đảm nhiệm hết các nhiệm vụ xác thực thông tin khách hàng cung cấp và cấp chứng thư số
RA đóng vai trò như một thực thể trung gian giữa khách hàng và CA RA thực hiện các nhiệm vụ sau:
- Nhận yêu cầu của khách hàng và xác thực chúng
- Kiểm tra tính hợp lệ của thông tin do người sử dụng cung cấp
- Nhận chứng thư đã tạo lập từ CA
- Gửi chứng thư tới đúng khách hàng yêu cầu
Để nâng cao hiệu quả công việc có thể mở rộng RA Chẳng hạn như tạo lập các
tổ chức RA khác nhau chịu trách nhiệm trong các khu vực, vùng, miền khác nhau để giảm bớt công việc cho từng tổ chức để nâng cao khả năng làm việc[2]
2.2.3 Khách hàng PKI
Khách hàng PKI là những tổ chức, cá nhân yêu cầu CA hay RA cấp chứng thư số Để nhận được chứng thư số khách hàng cần thực hiện các công việc sau:
- Gửi yêu cầu tạo cặp khóa bí mật/công khai tới một tổ chức CA, hoặc khách hàng tự tạo cặp khóa
- Sau khi cặp khóa bí mật/công khai được tạo ra, khách hàng yêu cầu một
tổ chức CA cấp chứng thư số Khách hàng cũng có thể gửi yêu cầu này qua một
Trang 26Học viên: Nguyễn Thị Huyền - K16HTTT
khách hàng cần đảm bảo giữ bí mật khóa bí mật của mình bằng cách sử dụng các thiết bị phần cứng sẵn có như các thẻ token hoặc các thẻ thông minh Smart Card Thẻ token là một thiết bị vật lý chúng ta có thể mang theo bên mình, dùng
để xác minh người dùng Tương tự như thế thẻ thông minh Smart Card cũng là một thiết bị vật lý, rất giống với thẻ chứng minh thư nó có chứa một bộ vi xử lý lưu trữ thông tin bảo mật Bộ vi xử lý chỉ làm việc khi bạn nhập đúng mã số PIN Cách này có thể giữ an toàn khóa bí mật Một thành phần quan trọng của triển khai PKI là các chứng thư số Các chứng thư số sẽ hình thành nên cơ sở cho việc thực hiện giải pháp PKI[2]
2.2.4 Chứng thư số
Chứng thư số là một chứng chỉ mà tổ chức chứng thực CA cấp cho thuê bao của PKI để thực hiện các giao dịch điện tử Một chứng thư số bao gồm các nội dung sau:
Khóa công khai của thuê bao phải được lưu trữ đảm bảo tính toàn vẹn, khi
có bất cứ sự thay đổi nào xảy ra đều phải phát hiện được Khóa công khai là duy nhất đối với các thuê bao Tương ứng với mỗi khóa bí mật chỉ có duy nhất một khóa công khai giải mã được thông điệp được ký bởi khóa bí mật Tổ chức chứng thực sẽ lưu trữ và cho phép mọi người tra cứu thông tin về khóa công khai và các thông tin liên quan của thuê bao để thực hiện công việc chứng thực chữ ký số thông qua một trang web
Sau khi nhận được chứng thư số, để thực hiện một giao dịch điện tử cần thực hiện các bước sau:
1 Thuê bao dùng khóa bí mật của mình để ký vào thông điệp sau đó gửi cho người nhận
2 Người nhận sau khi nhận được thông tin sẽ sử dụng khóa công khai của người nhận xác minh chữ ký số và gửi yêu cầu tới cơ sở dữ liệu lưu trữ chứng thư số toàn cầu để thẩm tra khóa công khai của người gửi
3 Cơ sở dữ liệu lưu trữ chứng thư số toàn cầu sẽ trả về trạng thái của chứng thư số Giao dịch sẽ hoàn thành nếu chứng thư số là hợp lệ
Trang 27Học viên: Nguyễn Thị Huyền - K16HTTT
Sau khi chứng thư số được phát hành nó sẽ được đưa tới thuê bao và tổ chức Công việc phân phối này được thực hiện bởi một hệ thống phân phối chứng thư số hoặc người được ủy thác[2]
2.2.5 Hệ thống phân phối (CDS) hoặc người được ủy thác
Hệ thống phân phối thực thiện việc đưa chứng thư số tới người dùng hoặc
tổ chức Hệ thống phân phối sử dụng các nhiệm vụ sau:
- Tạo và cấp phát cặp khóa
- Xác nhận tính hợp lệ của khóa công khai bằng việc đăng ký khóa công khai
- Thu hồi các khóa hết hạn hoặc bị mất
- Công bố các khóa công khai trong máy phục vụ tra cứu danh mục thuê bao
Tùy thuộc vào sự thi hành của tổ chức PKI việc phân phối này được thực hiện bằng hai cách: Phân phối cá nhân và phân phối công khai
Phân phối cá nhân
Phân phối cá nhân là phương pháp phân phối đơn giản Trong phương pháp này chủ sở hữu chia sẻ chứng thư số của mình cho những người họ muốn thực hiện giao dịch điện tử Chủ sở hữu có thể lưu trữ chứng thư số trong các thiết bị phần cứng như đĩa quang, đĩa từ, usb… rồi chuyển cho bên nhận hoặc gửi qua mạng Internet như gửi qua email Phương pháp này thực hiện tốt trong một nhóm ít người dùng nhưng khi số lượng người dùng tăng lên thì việc quản lý lại trở lên khó khăn
Phân phối công khai
Phân phối công khai là phương pháp phân phối phổ biến Phương pháp này phân
bố các chứng thư số một cách công khai, các thông tin chứng thư số được đặt ở một vị trí có thể truy cập dễ dàng Mọi người có thể truy vấn thông tin qua một trang web Cơ sở dữ liệu thường được lưu trữ trong các hệ thống sau:
- X500 Directory System Agents (DSAs)
- Lightweight Directory Access Protocol (LDAP) server
- Online Certificate Status Protocol (OCSP) Responders
- Domain name system (DNS) và Web server
- File Transfer Protocol (FTP) server và Corporate Databases[2]
2.3 Chức năng và cách thức hoạt động của PKI
2.3.1 Chức năng của PKI
Trang 28Học viên: Nguyễn Thị Huyền - K16HTTT
Hạ tầng khóa công khai thực hiện các chức năng sau:
- Tạo cặp khóa bí mật/công khai phục vụ việc tạo và xác thực chữ ký số
- Cung cấp tính xác thực để kiểm soát việc truy cập đến khóa bí mật
- Tạo và cấp giấy chứng nhận xác thực người dùng
- Đăng ký cho người dùng mới phục vụ công việc xác thực
- Lưu trữ lịch sử các khóa để tham chiếu trong tương lai
- Thu hồi chứng thư không hợp lệ
- Cập nhập và cấp phát lại khóa khi có yêu cầu được chấp nhận
- Cung cấp cách thức hoạt động cho khóa hợp lệ [2]
2.3.2 Cách thức hoạt động của PKI
Để thực hiện công việc của mình PKI cần thực hiện các bước sau:
1 Tạo cặp khóa công khai
2 Ứng dụng chữ ký số để xác thực người gửi
3 Mã hóa thông điệp
4 Chuyển giao khóa đối xứng[2]
2.3.2.1 Khởi tạo cặp khóa
Đây là bước đầu tiên trong quá trình làm việc của PKI Người dùng muốn
mã hóa hoặc gửi thông điệp thì trước hết cần khởi tạo cặp khóa Khởi tạo cặp khóa sinh ra khóa công bí mật và khóa công khai Cặp khóa này là duy nhất đối với mỗi người dùng Trong trường hợp chủ sở hữu muốn thực hiện giao dịch điện tử thì sử dụng khóa bí mật để ký lên dữ liệu rồi gửi cho người nhận, người nhận sử dụng khóa công khai của người gửi thẩm tra chữ ký của họ và bất cứ ai cũng có thể thẩm tra được chữ ký của người gửi nếu chứng thư số của họ được công bố công khai Trong trường hợp người khác muốn mã hóa thông tin rồi gửi cho chủ sở hữu cặp khóa đó thì sử dụng khóa công khai của họ để mã hóa thông điệp sau đó mới gửi cho họ, khi nhận được thông điệp đã được mã hóa thì người nhận sẽ dùng khóa bí mật của mình để giải mã và chỉ chủ sở hữu cặp khóa mới
có thể giải mã được thông điệp được ký bằng khóa công khai của mình[2]
2.3.2.2 Tạo chữ ký số
Chữ ký số được gắn với thông điệp được mã hóa để xác thực người gửi Chữ ký số cũng có tính pháp lý như chữ ký tay Chủ sở hữu phải chịu trách nhiệm về chữ ký số của mình trước pháp luật Chữ ký số được tạo ra từ thông điệp và khóa bí mật của bên gửi Để tạo chữ ký số cần thực hiện các bước sau:
Trang 29Học viên: Nguyễn Thị Huyền - K16HTTT
1 Chuyển đổi thông điệp gốc sang một chuỗi bit có chiều dài cố định gọi
là đại diện của thông điệp Việc chuyển đổi này được thực hiển bởi một hàm băm
2 Mã hóa đại diện của thông điệp bằng khóa bí mật của người gửi thu được chữ ký số của người gửi
3 Gắn chữ ký này cùng với thông điệp gốc
2.3.2.3 Mã hóa thông điệp
Sau khi tạo được chữ ký số để đảm bảo tính bảo mật có thể sử dụng phương pháp mã hóa Việc mã hóa thông điệp gốc và chữ ký số có thể sử dụng
mã hóa khóa đối Khóa được chia sẻ đối với cả người gửi và người nhận và chỉ
sử dụng trong một lần đối với việc mã hóa và giải mã[2]
2.3.2.4 Truyền khóa đối xứng
Khi sử dụng phương pháp mã hóa khóa đối xứng thì ngoài việc gửi thông điệp và chữ ký số đã được mã hóa người gửi còn phải gửi cho người nhận khóa đối xứng để giải mã thông tin nhận được Trường hợp này có nguy cơ lộ thông tin trên đường truyền Nếu có kẻ gian đánh cắp được thông tin về khóa đối xứng
có thể giải mã được thông điệp Khi đó thông tin sẽ bị tiết lộ, không đảm bảo tính bảo mật thông tin Để khắc phục tình trạng này người gửi có thể sử dụng khóa công khai của người nhận để mã hóa khóa đối xứng trước khi gửi cho người nhận Chỉ người nhận mới có thể giải mã được khóa đối xứng đã được mã hóa này Như vậy người gửi sẽ gửi thông điệp, chữ ký số đã được mã hóa bằng khóa đối xứng và khóa đối xứng đã được mã hóa bằng khóa công khai của người nhận [2]
2.3.2.5 Xác nhận thực thể ký bởi một tổ chức CA
CA hoạt động như một bên thứ ba đáng tin cậy để xác định danh tính của các bên tham gia giao dịch điện tử Khi người nhận nhận được một thông điệp được mã hóa cùng với chữ ký số có thể hỏi CA để xác minh chữ ký số đi kèm thông điệp Khi nhận được yêu cầu CA sẽ tiến hành thẩm tra, CA sẽ đảm bảo rằng đó có phải là chữ ký số của người muốn xác minh hay không
2.3.2.6 Giải mã thông điệp và xác định nội dung thông điệp
Khi người nhận nhận được thông điệp đã được mã hóa cần phải giải mã thông điệp Thông điệp đã mã hóa có thể cần phải giải mã bằng khóa đối xứng
đã được mã hóa gửi kèm thông điệp Trước khi giải mã thông điệp phải giải mã
Trang 30Học viên: Nguyễn Thị Huyền - K16HTTT
khóa đối xứng đã được mã hóa bằng khóa bí mật của người nhận Khóa đối xứng sau khi được giải mã sẽ dùng để giải mã thông điệp đã được mã hóa Chữ
ký số đi cùng thông điệp sẽ được giải mã bằng khóa công khai của người nhận tạo ra một đại diện của thông điệp D1 Thông điệp sau khi được giải mã sẽ được băm lại tạo ra đại diện thứ hai D2 So sánh hai đại diện D1 và D2, nếu cả hai trùng khớp chứng tỏ thông tin không bị thay đổi trên đường truyền
Ngoài việc cung cấp tính năng bảo mật, PKI còn đảm bảo độ tin cậy và tính pháp lý cho thông tin điện tử Dù là giao dịch điện tử hay vật lý để đảm bảo tính pháp lý các giao dịch đều phải đảm bảo các tiêu chí sau:
- Chống chối bỏ: Tất cả các thực thể liên quan đến giao dịch đều không thể chối bỏ là một phần của giao dịch
- Bảo mật đường truyền: Cần có một cơ chế thích hợp đảm bảo an ninh của thông điệp trên đường truyền Bất cứ sự giả mạo hay chỉnh sửa nào của thông điệp đều phát hiện ra
- Đảm bảo tính riêng tư: Bất cứ sự truy cập trái phép nào vào thông điệp đều bị từ chối
- Đảm bảo xác thực: Các bên tham gia đều biết danh tính của nhau để kiểm tra tính xác thực
- Đảm bảo thực thi: Các giao dịch phải được kiểm chứng và được ký bởi tất cả các bên tham gia[2]
2.4 Tiến trình trong PKI
PKI có thể đảm bảo cho các ứng dụng đạt được các yêu cầu bảo mật chính là: Bảo mật, xác thực, toàn vẹn và chống chối bỏ Mỗi tiến trình trong PKI đều hoàn thành các yêu cầu trên
2.4.1 Yêu cầu cấp chứng thư số
Để được cấp chứng thư số khách hàng cần gửi yêu cầu tớ một tổ chức
CA Có nhiều tiêu chuẩn để gửi yêu cầu trong đó phổ biến là PKCS#10 Yêu cầu cấp chứng thư số bao gồm các nội dung sau:
- Tên riêng của tổ chức CA
- Khóa công khai của người dùng
- Thuật toán xác thực
- Chữ ký số của người dùng
Trang 31Học viên: Nguyễn Thị Huyền - K16HTTT
Chữ ký số được tạo bởi khóa bí mật của người dùng Nó được coi như là một bằng chứng pháp lý Người dùng gửi yêu cấp cấp chứng thư số theo chuẩn PKCS thông qua một kênh bảo mật Nếu kênh truyền không bảo mật người dùng
có thể lấy khóa công khai của CA để mã hóa yêu cầu cấp chứng thư trước khi gửi[2]
2.4.2 Gửi yêu cầu
Người dùng gửi yêu cầu cấp chứng thư số đến tổ chức CA theo định dạng PEM (Privacy Enhanced Mail) Yêu cầu cấp chứng thư số phải tổ chức theo định dạng PEM vì yêu cầu ban đầu được tạo ra dưới dạng nhị phân Dạng nhị phân không thể truyền dưới dạng email Do đó thông điệp nhị phân được chuyển sang định dạng PEM dựa trên mã ASCII Với chữ ký số trong yêu cầu cấp chứng thư số, CA có thể chắc chắn rằng người dùng có một khóa bí mật tương ứng với khóa công khai Do đó người dùng có bằng chứng về sở hữu cặp khóa
Người dùng cũng có thể gửi yêu cầu cấp chứng thư thông qua một trình duyệt web Trong trường hợp này chuẩn PKCS#10 sử dụng SSL Người dùng tạo một kết nối SSL tới một máy chủ chứng thư số và truyền yêu cầu cấp chứng thư số thông qua một kênh truyền bảo mật [2]
2.4.3 Các chính sách
Chính sách bảo mật xác định hướng tổ chức về định dạng chung trong bảo mật thông tin, quy trình xử lý và nguyên tắc mã hóa Nó quy định cách thức quản lý khóa bí mật và khóa công khai cũng như các thông tin khác chẳng hạn như mức độ kiểm soát yêu cầu để quản lý các yếu tố về nguy cơ bảo mật
Một số hệ thống PKI được thực hiện bởi bên thứ ba đáng tin cậy được gọi
là bộ phận thẩm định chứng thư số thương mại Do đó cần có một yêu cầu hành nghề chứng thực bao gồm các nội dung về thủ tục hoạt động Bộ phận thẩm định chứng thư số thương mại xác định các chính sách được thực thi và hỗ trợ như thế nào, chứng thư số được cấp phát, chấp nhận và thu hồi ra sao, các khóa được tạo, đăng ký và xác thực như thế nào Bộ phận này cũng xác định phạm vi của các khóa và làm thế nào để có thể đáp ứng được yêu cầu của người dùng[2]
Trang 32Học viên: Nguyễn Thị Huyền - K16HTTT
chưa hết hạn chứng thư số cũng bị thu hồi chẳng hạn như thông tin khóa bí mật của chứng thư số bị lộ dẫn đến nguy cơ không còn bảo mật hoặc có thể do yêu cầu của khách hàng không muốn sử dụng chứng thư số nữa… Tuy nhiên cũng
có trường hợp hết hạn sử dụng chứng thư số nhưng chứng thư số vẫn được sử dụng nếu như người dùng có nhu cầu gia hạn chứng thư số [2]
2.4.5 Thông báo thu hồi chứng thư số
Khi một chứng thư số bị thu hồi cần phải công bố công khai điều này để mọi người biết tránh việc vẫn sử dụng khóa công khai của chứng thư số đó để xác thực thông tin Thông tin về các chứng thư số bị thu hồi có thể đăng tải trên một máy chủ chứng thư số để cảnh báo người dùng sử dụng thông tin về các chứng thư số này Một cách thông dụng khác được sử dụng đó là công bố danh sách chứng thư số thu hồi Để danh sách chứng thư số không quá dài các chứng thư số bị thu hồi khi đến ngày hết hạn sử dụng sẽ bị xóa khỏi danh sách CA cập nhật danh sách này liên tục đảm bảo ngăn chặn việc sử dụng chứng thư số sau khi bị thu hồi và trước khi được công bố [2]
2.4.6 Truyền thông giữa khách hàng với khách hàng thông qua PKI
Khi hai hoặc nhiều khách hàng muốn truyền thông an toàn cùng nhau, họ cần xác nhận lẫn nhau và đám phán về việc mã hóa, xác thực và thuật toán tích hợp dữ liệu Các giao thức được sử dụng gồm:
- ISAKMP( Internet Security Association and Key Management Protocol)
- IKE(Internet Key Exchange)
+ Xác định thực thể
+ Xác định nguồn gốc dữ liệu
- Dịch vụ xác thực bao gồm hai loại:
Trang 33Học viên: Nguyễn Thị Huyền - K16HTTT
+ Xác thực cục bộ: Xác thực một thực thể với môi trường cục bộ và luôn đòi hỏi người dùng tham gia trực tiếp
+ Xác thực từ xa: Xác thực một thực thể với môi trường ở xa và có khi không cần tới sự tham gia trực tiếp của người sử dụng nên khó bảo vệ dữ liệu nhạy cảm và không thuận tiện cho người dùng khi nhập vào thông tin xác thực nhiều lần
- Có bốn nhân tố chính trong việc xác định một định danh:
+ Người dùng có cái gì ? (Thẻ thông minh, thẻ bài…)
+ Người dùng biết cái gì? (Mật khẩu)
+ Người dùng sở hữu cái riêng có gì? (vân tay, mống mắt…)
+ Người dùng thực hiện cái gì?
Có thể lựa chọn một trong số các nhân tố trên hoặc kết hợp nhiều nhân tố với nhau để định danh
Thông thường xác thực cục bộ một hay nhiều nhân tố không sử dụng dịch vụ PKI còn xác thực với môi trường ở xa thường sử dụng dịch vụ PKI
- Xác thực từ xa không dựa trên PKI do hai khả năng:
+ Người dùng cần xác thực tường minh với môi trường ở xa
+ Việc chứng minh xác thực ở môi trường cục bộ cần được chuyển tới môi trường ở xa
Nhưng trong cả hai trường hợp thì khả năng kênh liên lạc giữa hai môi trường cần được bảo vệ (ví dụ phân phối trước khóa dùng chung)
- Xác thực từ xa dựa trên PKI mang lại hai lợi ích sau:
+ Giảm được sự phức tạp của việc phân phối trước khóa dùng cung
+ Dữ liệu xác thực nhạy cảm không cần phải truyền trên mạng [2]
2.5.1.2 Dịch vụ toàn vẹn dữ liệu
Dịch vụ toàn vẹn dữ liệu đảm bảo dữ liệu không bị thay đổi, nếu có thay
đổi thì sẽ bị phát hiện Để đảm bảo tính toàn vẹn dữ liệu, một hệ thống phải có
khả năng phát hiện được những thay đổi dữ liệu trái phép nhằm mục đích là giúp cho người nhận dữ liệu xác minh được rằng dữ liệu không bị thay đổi Trong dịch vụ toàn vẹn dữ liệu thường sử dụng các kỹ thuật mật mã và có sự thỏa thuận về các thuật toán mã hóa, giải mã và khóa thích hợp giữa hai bên Các kỹ thuật mật mã bao gồm:
Trang 34Học viên: Nguyễn Thị Huyền - K16HTTT
- Chữ ký số: Nếu dữ liệu bị thay đổi, khi kiểm tra chữ ký số sẽ không đúng Vì vậy việc mất tính toàn vẹn của dữ liệu dễ bị phát hiện
- Mã xác thực thông điệp MAC (Message Authentication Code): Kỹ thuật này thường sử dụng mật mã khóa đối xứng và hàm băm
Khi A muốn gửi cho B dữ liệu được đảm bảo tính toàn vẹn, A có thể thực hiện các công việc sau:
- Tạo khóa đối xứng mới
- Sử dụng khóa đối xứng để sinh MAC cho dữ liệu
- Mã hóa khóa đối xứng bằng khóa công khai của B
- Gửi dữ liệu cho B cùng với khóa được mã hóa
Nếu B có khóa công khai (chẳng hạn khóa công khai Diffie-Hellman), A
có thể thực hiện các công việc sau:
- Tạo khóa đối xứng mới từ khóa công khai của B và khóa bí mật của mình
- Sử dụng khóa đối xứng để sinh MAC cho dữ liệu
- Gửi dữ liệu cho B cùng với chứng thư khóa công khai của mình
Sau khi nhận được dữ liệu từ A, B tạo lại khóa đối xứng, sử dụng khóa công khai của A, khóa bí mật của mình để kiểm tra tính toàn vẹn [2]
2.5.1.3 Dịch vụ bí mật
Dịch vụ bí mật nhằm đảm bảo tính bí mật của dữ liệu tức là không ai có thể đọc được dữ liệu ngoại trừ người có quyền Các dữ liệu nhạy cảm đều cần được bảo mật
Tính bảo mật thường được yêu cầu khi:
- Dữ liệu được lưu truyền trên phương tiện dễ bị đọc bởi người dùng không được quyền
- Dữ liệu được lưu trên thiết bị có thể bị rơi vào tay những người không được phép
- Dữ liệu được truyền trên mạng không được bảo vệ
- Kỹ thuật bảo mật dữ liệu có cơ chế tương tự với một trong các phương án của dịch vụ toàn vẹn dữ liệu [2]
2.5.2 Các dịch vụ hỗ trợ
Trang 35Học viên: Nguyễn Thị Huyền - K16HTTT
2.5.2.1 Dịch vụ liên lạc an toàn
Là việc truyền dữ liệu giữa người gửi và người nhận với một hoặc nhiều tính chất như: xác thực, toàn vẹn, bí mật… Một số dịch vụ liên lạc an toàn như thư điện tử an toàn, truy cập máy chủ web an toàn, mạng riêng ảo
Thư điện tử an toàn có thể cài đặt như một dịch vụ được hỗ trợ bởi PKI bằng cách: Buộc gói E-mail truy cập các dịch vụ an toàn cốt lõi của PKI để mã hóa và ký các thông điệp Các thông điệp sau đó được chuyển qua mạng không
an toàn nhưng đảm bảo được tính toàn vẹn, xác thực, bí mật [2]
2.5.2.2 Tem thời gian an toàn
Tem thời gian là một nhãn cho biết rằng một tài liệu có trước một tài liệu
X và có sau một tài liệu Y Nó liên kết thời gian với dữ liệu và được cung cấp bởi đơn vị có thẩm quyền thời gian Đơn vị có thẩm quyền thời gian này phải đáng tin cậy và không nhất thiết là duy nhất mà có thể mỗi môi trường cục bộ có một đơn vị nhưng phải đồng bộ về mặt thời gian Tuy nhiên, các môi trường khác nhau nên khó có thể đảm bảo tính đồng bộ nên có thể gây ra sự không thống nhất về thời gian
Giải pháp thường được chọn là chỉ có rất ít đơn vị thẩm quyền thời gian
an toàn trong mạng, có thể chỉ có một Khi đó các thực thể sẽ yêu cầu tem thời gian an toàn từ thẩm quyền thời gian khi cần
Tem thời gian bao gồm chữ ký số trên tổ hợp dữ liệu biểu diễn thời gian
và giá trị băm của chính thông điệp Các thực thể PKI liên quan cần biết thông tin khóa công khai của đơn vị thẩm quyền thời gian để kiểm tra thông tin về thời gian Tất cả các tem thời gian được ký bằng khóa không tin cậy được xem là không hợp lệ [2]
2.5.2.3 Dịch vụ chống chối bỏ
Dịch vụ này đảm bảo các thực thể phải trung thực trong việc thực hiện các hoạt động Có hai loại chống chối bỏ là: chống chối bỏ về nguồn gốc và chống chối bỏ việc tiếp nhận bằng cách gắn mật mã với một hoạt động cụ thể của người dùng để người dùng không thể chối bỏ được hoạt động của mình
2.5.2.4 Công chứng
Công chứng là chứng nhận rằng dữ liệu là hợp lệ hoặc chính xác Chẳng hạn, nếu dữ liệu chứng nhận là chữ ký số trên giá trị hàm băm nào đó thì dịch vụ công chứng kiểm chứng rằng chữ ký “hợp lệ” theo nghĩa sau:
Trang 36Học viên: Nguyễn Thị Huyền - K16HTTT
- Việc tính toán kiểm tra chữ ký với khóa công khai tương ứng là chính xác
về mặt toán học
- Khóa công khai vẫn liên kết một cách hợp lệ với thực thể đã ký vào giá trị băm
- Tất cả các dữ liệu khác được yêu cầu trong quá trình xác thực tính hợp lệ
là truy cập được và đáng tin cậy [2]
2.5.2.5 Quản lý quyền ưu tiên
Các câu hỏi đặt ra:
- Một thực thể sau khi được xác thực thành công thì thực thể đó được phép làm những gì?
- Thực thể A có được đọc các bản ghi trong cơ sở dữ liệu hay không?
- Thực thể B có được thực thi các chương trình ứng dụng hay không?
Để trả lời các câu hỏi như trên cần quản lý quyền ưu tiên Quản lý quyền
ưu tiên là thuật ngữ chung trong việc cấp quyền, kiểm soát truy cập, quản lý quyền, quản lý cấp quyền Trong đó các chính sách đóng vai trò quan trọng vì các chính sách chỉ ra những gì mà thực thể, nhóm thực thể được phép, không được phép thực hiện Quản lý quyền ưu tiên chính là việc tạo ra và buộc tuân thủ các chính sách này Các chính sách được tạo cho phép các thực thể có thể thực hiện được công việc hàng ngày trong khi vẫn duy trì một mức an toàn nhất định
Các vấn đề cơ bản trong quản lý quyền ưu tiên là cấp quyền, cơ quan cấp quyền và ủy quyền
- Cấp quyền: Gắn liền với xác thực Xác thực liên quan đến việc xác thực thực thể là ai, trong đó có sự liên kết giữa định danh với thực thể Cấp quyền liên quan đến việc xác định chủ thể đó được phép biết những gì, làm những gì?
- Cơ quan cấp quyền: Thực hiện liên kết các quyền ưu tiên với các định danh cụ thể Cơ quan cấp quyền có thể được thiết lập một cách tập trung hoặc phân tán
- Ủy quyền: Nếu A có quyền ưu tiên nào đó được gán, A có thể chuyển quyền ưu tiên này cho thực thể khác Nghĩa là A ủy quyền cho người khác Có hai kiểu ủy quyền là ủy quyền ẩn và ủy quyền không ẩn
Ủy quyền ẩn: A ủy quyền cho B và thực thể kiểm tra quyền không nhận biết được việc ủy quyền này
Trang 37Học viên: Nguyễn Thị Huyền - K16HTTT
Ủy quyền không ẩn: A ủy quyền cho B và thực thể kiểm tra quyền nhận biết được việc ủy quyền này [2]
2.6 Các mô hình kiến trúc PKI
Một tổ chức CA cung cấp chứng thư số cho các khách hàng của mình để thực hiện các giao dịch điện tử Ngoài ra, nó còn cấp cặp khóa cho các tổ chức
CA khác để phục vụ việc xác thực các tổ chức CA đó Tương tự như vậy các tổ chức CA đó lại cấp cặp khóa cho các tổ chức CA khác nữa Cứ tiếp tục như thế hình thành nên một chuỗi mắt xích gắn kết các thực thể sử dụng chứng thư số Chuỗi này được gọi là đường dẫn chứng thư Số lượng tổ chức chứng thực và sắp xếp các tổ chức chứng thực trong đường dẫn chứng thư hình thành nên các kiến trúc PKI.Và khi đó mỗi thực thể có thể ủy quyền cho những thực thể khác
có liên quan trong quá trình giao dịch
Dựa trên số lượng các tổ chức chứng thực, sự xắp xếp các tổ chức và mối quan hệ giữa các tổ chức với nhau người ta chia mô hình kiến trúc PKI làm 3 loại chính sau:
+ Mô hình kiến trúc đơn
+ Mô hình kiến trúc doanh nghiệp
+ Mô hình kiến trúc lai [2]
2.6.1 Mô hình kiến trúc đơn
Đây là loại mô hình cơ bản nhất trong kiến trúc PKI Chỉ có một tổ chức
CA thực hiện các công việc cấp phát, phân phối và thu hồi chứng thư đối với các thực thể sử dụng chứng thư số Tất cả các thực thể đều tin cậy vào tổ chức CA này và các thực thể chỉ sử dụng chứng thư số do tổ chức CA này cấp Không tồn tại mối quan hệ tin tưởng nào giữa các CA Mô hình kiến trúc đơn không cho phép bất cứ tổ chức chứng thực nào gia nhập Tất cả các thực thể truyền thông với nhau trong một môi trường đáng tin cậy Có một điểm chung đáng tin cậy cho tất cả các thực thể đó là tổ chức CA
Ví dụ Alice và Bod đều là hai thực thể của tổ chức CA1 Cả hai người đều có chung điểm tin tưởng là CA1 Do đó họ có thể xác thực, xác minh lẫn nhau và thực hiện truyền thông với nhau
Trang 38Học viên: Nguyễn Thị Huyền - K16HTTT
Hình 2.1 Mô hình kiến trúc đơn
- Hệ thống CA không an toàn vì chỉ tập trung vào một tổ chức CA
- Tính co giãn kém: Người dùng A không thể truyền thông với người dùng
B nếu như hai người này không chung một tổ chức CA Việc truyền thông chỉ thực hiện giữa các người dùng có chung tổ chức CA
- Mô hình này chỉ phù hợp với các tổ chức có số lượng thực thể nhỏ Vì khi
số lượng thực thể lớn CA sẽ phải làm việc rất nhiều gây chậm chễ [2]
2.6.2 Mô hình kiến trúc danh sách tin cậy
Mô hình kiến trúc danh sách tin cậy là sự cải thiện nâng cao của mô hình kiến trúc đơn Mô hình này có những đặc điểm sau:
- Có nhiều CA
- Được áp dụng rộng rãi với các dịch vụ của Web
- Các trình duyệt và các máy chủ thường là những đối tượng sử dụng tiêu biểu nhất
- Không có quan hệ tin tưởng giữa các CA
- Các người dùng phải lưu danh sách các CA mà họ tin tưởng
- Mỗi người có thể là thành viên của nhiều CA
- Mỗi người trong hệ thống có thể có nhiều đường dẫn cấp chứng thư chỉ tới họ (từ nhiều CA trong danh sách tin tưởng) Nhưng mỗi đường dẫn cấp phát chứng thư bao gồm duy nhất một chứng thư
Trang 39Học viên: Nguyễn Thị Huyền - K16HTTT
Hình 2.2 Kiến trúc tin cậy hai tổ chức CA
Ưu điểm của mô hình:
- Có thể thêm các CA mới bằng cách thay đổi danh sách tin tưởng của người dùng
- Các ứng dụng duy trì một danh sách các CA được tin cậy
- Các đối tượng sử dụng có toàn quyền với danh sách CA mà mình tin cậy
- Các đối tượng làm việc trực tiếp với CA trong danh sách CA được tin cậy
Nhược điểm của mô hình:
- Khi số lượng CA tăng lên thì việc lưu danh sách tin tưởng là gánh nặng
cho các Client trong hệ thống
- Việc quản lý danh sách CA được tin cậy của một tổ chức là rất khó khăn
- Cấu trúc chứng thư không có nhiều hỗ trợ cho việc tìm ra các nhánh xác nhận
- Không có những hỗ trợ trực tiếp đối với các cặp chứng thư ngang hàng
Do đó hạn chế của CA đối với việc quản lý sự tin cậy của mình với các
CA khác
- Nhiều ứng dụng không hỗ trợ tính năng tự động lấy thông tin trạng thái hoặc hủy bỏ chứng thư [2]
2.6.3 Mô hình kiến trúc doanh nghiệp PKI
Đối với các doanh nghiệp phát triển, phân cấp và phân phối quản lý là một yếu tố quan trọng đối với việc quản lý hệ thống hiệu quả và hữu ích Cùng với sự gia tăng của hoạt động kinh doanh là sự gia tăng của các giao dịch bên ngoài nội bộ doanh nghiệp Mô hình kiến trúc đơn có thể phục vụ cho các tổ chức nhỏ nhưng đối với các doanh nghiệp phát triển thì mô hình này không còn phù hợp nữa Nhu cầu của các doanh nghiệp phát triển cũng như nhu cầu giao
Trang 40Học viên: Nguyễn Thị Huyền - K16HTTT
dịch của các tổ chức khác nhau dẫn đến việc phát sinh nhu cầu ủy thác nhiệm vụ của một tổ chức CA đơn Khi đó đòi hỏi phân phối hoạt động của một tổ chức
CA đơn trong nhiều tổ chức CA được bố trí dưới dạng lưới hoặc phân cấp Cơ chế sử dụng cho mô hình kiến trúc doanh nghiệp PKI hoặc là mô hình phân cấp hoặc là mô hình điểm - điểm [2]
hệ ủy thác giữa các CA khác bên trong mô hình
- Mô hình này có dạng hình cây với Root CA ở mức cao nhất và các nhánh được mở rộng xuống dưới Root CA là gốc tin cậy cho toàn bộ các thực thể dưới nó Dưới Root CA là thực thể hoặc một số CA trung gian Các
CA trung gian tạo thành các đỉnh trong của cây Các lá của cây là các thực thể [2]
Đặc điểm:
- Root CA cung cấp chứng thư số cho các CA hoặc thực thể ngay dưới nó
- Các CA này lại cung cấp chứng thư cho các thực thể hoặc các CA khác ngay dưới nó
- Tất cả các đối tượng đều phải biết khóa công khai của Root CA
- Có thể thêm CA mới vào hệ thống