Trong một vài năm lại đây, hạ tầng truyền thông IT càng ngày càng được mở rộng khi người sử dụng dựa trên nền tảng này để truyền thông và giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như việc khách hàng dùng email trên các mạng công cộng. Hầu hết các thông tin nhạy cảm và quan trọng được lưu trữ và trao đổi dưới hình thức điện tử trong các cơ quan văn phòng, doanh nghiệp. Sự thay đổi trong các hoạt động truyền thông này đồng nghĩa với việc cần phải có biện pháp bảo vệ đơn vị, tổ chức, doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn công, phá hoại hoặc vô tình tiết lộcác thông tin đó.
78 trang |
Chia sẻ: vietpd | Lượt xem: 1503 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khóa công khai, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS TS Nguyễn Văn Tam, người thầy
đã cho tôi những định hướng và những ý kiến rất quý báu về công nghệ PKI.
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy cô, bạn bè cùng khoá đã dìu dắt, giúp đỡ
tôi tiến bộ trong suốt những năm học qua. Xin cảm ơn gia đình và bè bạn, những
người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh khó khăn. Tôi xin cảm
ơn Cục Tin học nghiệp vụ đã hết sức tạo điều kiện cho tôi trong quá trình học và
làm luận văn này.
Được hoàn thành trong thời gian rất hạn hẹp, luận văn này chắc chắn còn nhiều
khiếm khuyết. Tôi xin cảm ơn những thầy cô, bạn bè và người thân đã và sẽ có
những góp ý chân tình cho nội dung của luận văn này, để tôi có thể tiếp tục đi sâu
tìm hiểu và đưa PKI vào ứng dụng trong thực tiễn công tác.
Lương Nguyễn Hoàng Hoa
- 1 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
MỤC LỤC
MỤC LỤC.................................................................................................................. 1
Danh mục từ viết tắt ................................................................................................. 3
Danh mục hình vẽ...................................................................................................... 5
MỞ ĐẦU .................................................................................................................... 7
CHƯƠNG 1 - TỔNG QUAN VỀ MẬT MÃ......................................................... 10
1.1 Giới thiệu chung .................................................................................10
1.2 Khái niệm hệ mật mã..........................................................................11
1.3 Hệ mật mã khoá đối xứng ..................................................................11
1.4 Hệ mật mã khoá công khai .................................................................12
1.5 Chữ ký số............................................................................................16
1.6 Hàm băm ............................................................................................20
CHƯƠNG 2 - CHỨNG CHỈ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI.... 23
2.1. Chứng chỉ số (digital certificates) ......................................................24
2.1.1 Giới thiệu .....................................................................................24
2.1.2 Chứng chỉ khoá công khai X.509................................................26
2.1.3 Thu hồi chứng chỉ........................................................................30
2.1.4 Chính sách của chứng chỉ............................................................31
2.1.5 Công bố và gửi thông báo thu hồi chứng chỉ ..............................32
2.2 Các thành phần của PKI .....................................................................35
2.2.1 Tổ chức chứng thực (Certification Authority) ............................36
2.2.2 Trung tâm đăng ký (Registration Authorities) ............................37
2.2.3 Thực thể cuối ( Người giữ chứng chỉ và Clients).......................38
2.2.4 Hệ thống lưu trữ (Repositories)...................................................38
2.3 Chức năng cơ bản của PKI.................................................................39
2.3.1 Chứng thực (certification) ...........................................................39
2.3.2 Thẩm tra (validation)...................................................................39
2.3.3 Một số chức năng khác................................................................39
2.4 Mô hình tin cậy cho PKI ....................................................................43
2.4.1 Mô hình CA đơn..........................................................................44
2.4.2 Mô hình phân cấp ........................................................................45
2.4.3 Mô hình mắt lưới (xác thực chéo) ...............................................46
2.4.4 Mô hình Hub và Spoke (Bridge CA)...........................................48
2.4.5 Mô hình Web (Trust Lists) ..........................................................49
2.4.6 Mô hình người sử dụng trung tâm (User Centric Model) ...........51
- 2 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
CHƯƠNG 3 - XÂY DỰNG HỆ THỐNG CUNG CẤP CHỨNG CHỈ SỐ ........ 53
3.1 Tổng quan về hệ thống .......................................................................53
3.1.1 Mô hình hệ thống.........................................................................53
3.1.2 Một số đặc tính của hệ thống cung cấp chứng chỉ số..................54
3.2 Chức năng và quá trình khởi tạo các thành phần trong hệ thống cung
cấp chứng chỉ số MyCA ..............................................................................58
3.2.1 Certificate Authority - CA...........................................................58
3.2.2 Registration Authority - RA ........................................................59
3.2.3 RAO.............................................................................................60
3.2.4 LDAP và Public Database Server ...............................................60
3.3 Qui trình đăng ký, cấp phát và huỷ bỏ chứng chỉ ..............................62
3.3.1 Qui trình đăng ký và cấp chứng chỉ.............................................62
3.3.2 Qui trình huỷ bỏ chứng chỉ..........................................................64
3.4 Thử nghiệm sản phẩm ........................................................................65
3.4.1 Thử nghiệm phía quản trị ............................................................65
3.4.2 Thử nghiệm phía người dùng ......................................................65
3.5 Đánh giá chung...................................................................................66
KẾT LUẬN .............................................................................................................. 68
TÀI LIỆU THAM KHẢO ...................................................................................... 70
PHỤ LỤC................................................................................................................. 72
1. Môi trường phát triển ............................................................................72
2. Một số chuẩn mật mã khoá công khai (PKCS).....................................72
3. Một số màn hình giao diện của hệ thống đã xây dựng .........................74
- 3 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
Danh mục từ viết tắt
ARLs Authority Revocation Lists
CA Certificate Authority
CAO Certificate Authority Operator
CMS Cryptographic Message Syntax
COST Commercial of the Shelf
CRLs Certificate Revocation Lists
CRR Certificate Revocation Request
CSP Certification Service Provider
DAP Directory Access Protocol
DES Data Encryption Standard
DNS Domain Name System
DSS Digital Signature Standard
ECC Elliptic Curve Cryptography
HTTPS Secure Hypertext Transaction Standard
IANA Internet Assigned Numbers Authority
IEEE Institute of Electrical & Electronic Engineers
IETF Internet Engineering Task Force
ISO International Organization for Standardization
ITU-T Internet Telecommumications Union-
Telecommunication
LDAP Lightweight Directory Access Protocol
MD5 Message Digest 5 Hash Algorithm
OCSP Online Certificate Status Protocol
PEM Privacy Enhanced Mail
PGP Pretty Good Privacy
PKC Public Key Certificate
PKCS Public Key Cryptography Standards
- 4 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
PKI Public Key Infrastructure
PKIX Extended Public Key Infrastructure
RA Registration Authorities
RAO Registration Authorities Operator
RFC Request For Comments
RSA Rivest Shamir Adleman
S/MIME Secure Multipurpose Internet Mail Extensions
SHA-1 Secure Hash Standard
SSL Secure Socket Layer
TLS Transport Layer Security
- 5 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
Danh mục hình vẽ
Hình 1.1: Quá trình mã hoá và giải mã ............................................................... 11
Hình 1.2: Mã hoá thông điệp sử dụng khoá công khai P .................................... 13
Hình 1.3: Giải mã thông điệp sử dụng khoá riêng của người nhận ................... 13
Hình 1.4: Sơ đồ hệ mật mã RSA......................................................................... 14
Hình 1.5: Mã hoá thông điệp sử dụng khoá bí mật S để mã thông điệp và khoá
công khai P để mã khoá bí mật S........................................................ 15
Hình 1.6: Giải mã thông điệp sử dụng khoá bí mật S để giải mã thông điệp và
khoá riêng P để giải mã khoá bí mật S ............................................... 15
Hình 1.7: Sơ đồ chữ ký RSA............................................................................... 18
Hình 1.8: Sơ đồ mô tả các công đoạn người A làm trước khi gửi thông điệp cho
người B (sử dụng hàm băm rồi ký số) ................................................ 19
Hình 1.9: Sơ đồ mô tả các công đoạn kiểm tra chữ ký sau khi người B nhận
được thông điệp................................................................................... 20
Hình 1.10: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số. 21
Hình 2.1: Chứng chỉ số ....................................................................................... 25
Hình 2.2: Khuôn dạng chứng chỉ X.509 ............................................................. 26
Hình 2.3: Nội dung chi tiết của chứng chỉ .......................................................... 30
Hình 2.4: Khuôn dạng danh sách chứng chỉ bị thu hồi....................................... 33
Hình 2.5: Dịch vụ kiểm tra online...................................................................... 35
Hình 2.6: Các thành phần PKI ............................................................................ 36
Hình 2.7: Đường dẫn chứng chỉ chéo ................................................................. 43
Hình 2.8: Mô hình CA đơn ................................................................................. 44
Hình 2.9: Mô hình phân cấp................................................................................ 45
Hình 2.10: Mô hình mắt lưới ................................................................................ 47
Hình 2.11: Mô hình Hub và Spoke (Bridge CA) .................................................. 49
Hình 2.12: Danh sách các CA tin cậy trong Microsoft Explorer......................... 50
Hình 3.1: Mô hình hệ thống cung cấp chứng chỉ số ........................................... 53
Hình 3.2: Tệp yêu cầu cấp chứng chỉ.................................................................. 55
Hình 3.3: Chứng chỉ lưu khoá công khai của rootCA trong hệ thống MyCA.... 56
Hình 3.4: Chứng chỉ của người sử dụng ............................................................. 57
Hình 3.5: Mô hình mô phỏng hệ thống MyCA phân cấp hai tầng...................... 59
Hình 3.6: Mô hình quan hệ và trao đổi dữ liệu giữa các thành phần trong hệ thống 61
- 6 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
Hình 3.7: Mô hình đăng ký và cấp chứng chỉ số ................................................ 62
Hình 3.8: Giấy chứng nhận chứng chỉ số............................................................ 64
Hình 3.9: Mô hình huỷ bỏ chứng chỉ .................................................................. 64
Hình 3.10: Mô hình kết hợp hệ thống cung cấp chứng chỉ số cùng các giải pháp
đảm bảo an toàn hệ thống mạng nội bộ .............................................. 67
- 7 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
MỞ ĐẦU
Trong một vài năm lại đây, hạ tầng truyền thông IT càng ngày càng được mở
rộng khi người sử dụng dựa trên nền tảng này để truyền thông và giao dịch với các
đồng nghiệp, các đối tác kinh doanh cũng như việc khách hàng dùng email trên các
mạng công cộng. Hầu hết các thông tin nhạy cảm và quan trọng được lưu trữ và trao
đổi dưới hình thức điện tử trong các cơ quan văn phòng, doanh nghiệp. Sự thay đổi
trong các hoạt động truyền thông này đồng nghĩa với việc cần phải có biện pháp bảo
vệ đơn vị, tổ chức, doanh nghiệp của mình trước các nguy cơ lừa đảo, can thiệp, tấn
công, phá hoại hoặc vô tình tiết lộ các thông tin đó. Cơ sở hạ tầng mã khoá công
khai (PKI - Public Key Infrastructure) cùng các tiêu chuẩn và công nghệ ứng dụng
của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể sử dụng để giải
quyết vấn đề này.
PKI bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa mang
tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các chứng chỉ số hay ta
còn gọi là chứng thực điện tử (digital certificate) cũng như các khoá công cộng
(khoá công khai) và cá nhân (khoá riêng). Sáng kiến PKI ra đời năm 1995, khi mà
các chính phủ và các tổ chức công nghiệp xây dựng các tiêu chuẩn chung dựa trên
phương pháp mã hoá để hỗ trợ một hạ tầng bảo mật trên mạng Internet. Tại thời
điểm đó, mục tiêu được đặt ra là xây dựng một bộ tiêu chuẩn bảo mật tổng hợp
cùng các công cụ và lý thuyết cho phép người sử dụng cũng như các tổ chức (doanh
nghiệp hoặc phi lợi nhuận) có thể tạo lập, lưu trữ và trao đổi các thông tin một cách
an toàn trong phạm vi cá nhân và công cộng.
Cho tới nay, những nỗ lực hoàn thiện PKI vẫn đang được đầu tư và thúc đẩy.
Và để hiện thực hoá ý tưởng tuyệt vời này, các tiêu chuẩn cần phải được nghiên cứu
phát triển ở các mức độ khác nhau bao gồm: mã hoá, truyền thông và liên kết, xác
thực, cấp phép và quản lý. Nhiều chuẩn bảo mật trên mạng Internet, chẳng hạn
Secure Sockets Layer/Transport Layer Security (SSL/TLS) và Virtual Private
Network (VPN), chính là kết quả của sáng kiến PKI. Một minh chứng là thuật toán
- 8 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
mã hoá phi đối xứng được xây dựng dựa trên phương pháp mã hoá và giải mã thông
tin sử dụng hai khoá mã: khoá công khai (public key) và khoá riêng (private key).
Trong trường hợp này, một người sử dụng có thể mã hoá tài liệu của mình với khoá
riêng và sau đó giải mã thông tin đó bằng khoá công khai. Nếu một văn bản chứa
các dữ liệu nhạy cảm và cần phải được truyền một cách bảo mật tới duy nhất một cá
nhân, thông thường người gửi mã hoá tài liệu đó bằng mã khoá riêng của mình và
người nhận sẽ giải mã sử dụng khoá công khai của người gửi. Khoá công khai này
có thể được gửi kèm theo tài liệu này hoặc có thể được gửi cho người nhận trước đó.
Mặt khác, do có khá nhiều thuật toán phi đối xứng nên các chuẩn công khai
hiện có thường xuyên được nghiên cứu cải tiến để phù hợp với các thuật toán này.
Hiện nay ở Việt Nam, việc nghiên cứu, ứng dụng và triển khai PKI nói chung và
dịch vụ cung cấp chứng chỉ số nói riêng là vấn đề còn mang tính thời sự. Bằng việc
sử dụng chứng chỉ và chữ ký số, những ứng dụng cho phép PKI đưa ra nhiều đặc
tính đảm bảo an toàn thông tin cho người sử dụng. Luận văn này được thực hiện với
mục đích tìm hiểu nghiên cứu về PKI, bao gồm các khái niệm tổng quan về mật mã,
chứng chỉ số, các khái niệm cơ sở về PKI, chức năng và các thành phần PKI. Luận
văn cũng tập trung vào việc tìm hiểu các mô hình tin cậy của PKI, ưu và nhược
điểm của các mô hình này; các dịch vụ, giao thức và chuẩn định dạng liên quan đến
việc xây dựng ứng dụng PKI, qua đó vận dụng để xây dựng một hệ thống cung cấp
chứng chỉ số có khả năng ứng dụng cho cơ quan công tác và một số đơn vị khác.
Với giới hạn những vấn đề tìm hiểu và nghiên cứu như trên, luận văn bao
gồm 3 chương:
Chương 1: Tổng quan về mật mã
Giới thiệu các khái niệm về hệ mật mã đối xứng, hệ mật mã phi đối xứng hay
còn được gọi là hệ mật mã khoá công khai; ưu và nhược điểm của các hệ mã này;
khái niệm về chữ ký số và hàm băm, sơ đồ chữ ký số được sử dụng trong hệ thống
thử nghiệm.
- 9 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
Chương 2: Chứng chỉ số và hạ tầng mã khoá công khai
Trình bày khái niệm chứng chỉ số và một số vấn đề liên quan; khái niệm
PKI, chức năng và các thành phần của PKI; các mô hình tin tưởng của PKI, ưu và
nhược điểm của các mô hình này.
Chương 3: Xây dựng hệ thống cung cấp chứng chỉ số thử nghiệm
Phân tích và xây dựng một hệ thống cung cấp chứng chỉ số theo mô hình,
chức năng và các chuẩn đã được trình bày trong chương 1 và chương 2.
- 10 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
CHƯƠNG 1
TỔNG QUAN VỀ MẬT MÃ
1.1 Giới thiệu chung
Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ khai
đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại.
Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên
thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh
vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự,
chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung
chính của nó là để giữ bí mật thông tin. Ví dụ muốn gửi một văn bản từ một người
gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tương ứng
và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận được bản mã mật
và khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Do
văn bản gửi đi thường được chuyển qua các con đường công khai nên người ngoài
có thể “lấy trộm” được, nhưng vì đó là bản mật mã nên không đọc hiểu được; Còn
A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được
là do hai người đã có một thoả thuận về một chìa khoá chung, chỉ với khoá chung
này thì A mới tạo được bản mã mật từ bản rõ và B mới khôi phục được bản rõ từ
bản mã mật. Khoá chung đó được gọi là khoá mật mã. Để thực hiện được một phép
mật mã, ta còn cần có một thuật toán biến bản rõ cùng với khoá mật mã thành bản
mã mật và một thuật toán ngược lại biến bản mật cùng với khoá mật mã thành bản
rõ. Các thuật toán đó được gọi tương ứng là thuật toán lập mã và thuật toán giải mã.
Các thuật toán này thường không nhất thiết phải giữ bí mật, mà cái luôn cần được
giữ bí mật là khoá mật mã. Trong thực tiễn, có những hoạt động ngược lại với hoạt
động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này
thường được gọi là mã thám hay phá khoá [2].
- 11 -
Xây dựng hệ thống cung cấp chứng chỉ số dựa trên hạ tầng khoá công khai
1.2 Khái niệm hệ mật mã
Hệ mật mã được định nghĩa là một bộ năm (P, C, K, E, D), trong đó:
1. P là tập hữu hạn các các bản rõ có thể
2. C tập hữu hạn các bản mã có thể
3. K là tập hữu hạn các khoá có thể
4. E là tập các hàm lập mã
5. D là tập các hàm giải mã. Với mỗi k ∈ K, có một hàm lập mã
ek ∈ E, ek : P → C và một hàm giải mã dk∈ D, dk: C → P sao cho
dk(ek(x)) = x , ∀ x ∈ P
Hình 1.1: Quá trình mã hoá và giải mã
1.3 Hệ mật mã khoá đối xứng
Các phương pháp mật mã cổ điển đã được biết đến từ khoảng 4000 năm
trước. Một số kỹ thuật đã được những người Ai Cập sử dụng từ nhiều thế kỷ trước.
Những kỹ thuật này chủ yếu sử dụng hai phương pháp chính là: phép thay thế và
phép chuyển dịch. Trong phép thay thế, một chữ cái này được thay thế bởi chữ cái
khác và trong phép chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác.
Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầu
của Văn phòng quốc gia về chuẩn (NBS) và được sự thẩm định của an ninh quốc
gia là một ví dụ về mật mã cổ điển. DES kết hợp cả hai phương pháp thay thế và
chuyển dịch. DES thực hiện mã hoá trên từng khối bản rõ là một xâu 64 bit, có khoá
là một xâu 56 bit và cho ra bản mã