Ngày nay hầu hết các doanh nghiệp, dù lớn hay nhỏ, dù hoạt động trong lĩnh vực nào cũng hướng hoạt động kinh doanh của mình vào Internet. Và ngày càng nhiều doanh nghiệp kết nối hệ thống mạng LAN, WAN của họ vào cộng đồng Internet. Tuy nhiên Internet không phải là một thiên đường cho các hoạt động kinh doanh, bởi nó luôn chứa đựng những hiểm họa đe dọa ảnh hưởng đến việc triển khai các hoạt động của các doanh nghiệp. Các mối đe dọa đó có thể kể ra: Sự mạo danh để truy cập bất hợp pháp một nguồn thông tin bên trong doanh nghiệp. Sự tấn công của các hacker vào bên trong một doanh nghiệp với mục đích phá hoại hay cạnh tranh không lành mạnh. Bị “nghe trộm”: thông tin quan trọng trao đổi trên mạng có thể bị chặn và phân tích.
Trang 11 CHÂU NGUYÊN HỮU TRỌNG MSSV: 99510230083
2 CAO HOÀI BẢO MSSV: 99510230074
3 LÊ NHÂN THIỆN MSSV: 92510020006
4 NGÔ CHIÊU YAU MSSV:
Mã lớp: 24CCAN02 Khóa: 24
Trang 2TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Lời nói đầu
Chúng ta đang sống trong thời đại bùng nổ thông tin, chưa bao giờ trong lịch sử nhân loại, con người lại có cơ hội tiếp xúc với những nguồn thông tin phong phú và có giá trị đến như vậy Cùng với sự tiến bộ vượt bậc trong công nghệ truyền thông và viễn thông, người ta không thể phủ nhận rằng Internet là một trong những nguyên nhân đem lại sự bùng nổ đó
Kể từ lúc Internet được tách ra từ phòng nghiên cứu của bộ quốc phòng Mĩ cho mục đích
sử dụng công cộng, chỉ có một vài trường đại học, một vài cơ quan, tổ chức tham gia, cho đến nay đã có hàng triệu thuê bao cá nhân, hàng triệu cơ quan, tổ chức kết nối mạng của mình vào Internet và số lượng kết nối tiếp tục tăng không ngừng theo thời gian Internet ở một khía cạnh nào đó đã trở thành cộng đồng chung cho người sử dụng trên toàn thế giới
Với Internet chúng ta có thể trao đổi thông tin, trao đổi dữ liệu, tìm kiếm và học tập Và cho đến ngày hôm nay việc mua sắm, đặt hàng, thông qua Internet đã trở thành quen thuộc với rất nhiều vùng trên thế giới
Như vậy, một cách rõ ràng là Internet đã và đang tác động lên nhiều mặt của đời sống chúng ta Sự tác động đó càng trở nên mạnh mẽ khi mà các nhà doanh nghiệp nhận ra rằng Internet là một mảnh đất màu mỡ cho hoạt động kinh doanh, là cơ hội để họ khuếch trương, mở rộng hoạt động kinh doanh và giữ được ưu thế cạnh tranh trên thương trường Các doanh nghiệp đầu tư vào Internet và thương mại điện tử ra đời
Cùng với sự ra đời của thương mại điện tử, chính phủ điện tử cũng xuất hiện đáp ứng nhu cầu thông tin ngày càng lớn của xã hội Với chính phủ điện tử, mọi công dân thông qua Internet có thể tiếp cận nguồn thông tin, các dịch vụ cơ bản cũng như các cơ hội kinh doanh do chính phủ mang lại
Ngày nay hầu hết các doanh nghiệp, dù lớn hay nhỏ, dù hoạt động trong lĩnh vực nào cũng hướng hoạt động kinh doanh của mình vào Internet Và ngày càng nhiều doanh nghiệp kết nối hệ thống mạng LAN, WAN của họ vào cộng đồng Internet
Tuy nhiên Internet không phải là một thiên đường cho các hoạt động kinh doanh, bởi nó luôn chứa đựng những hiểm họa đe dọa ảnh hưởng đến việc triển khai các hoạt động của các doanh nghiệp Các mối đe dọa đó có thể kể ra:
Sự mạo danh để truy cập bất hợp pháp một nguồn thông tin bên trong doanh nghiệp
Sự tấn công của các hacker vào bên trong một doanh nghiệp với mục đích phá hoại hay cạnh tranh không lành mạnh
Bị “nghe trộm”: thông tin quan trọng trao đổi trên mạng có thể bị chặn và phân tích Thêm vào đó là việc đăng nhập hệ thống dựa trên mật mã truyền thống đã lỗi thời và không đảm bảo tính an toàn
Trang 3Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 2
Xuất phát từ nhu cầu bảo mật của các doanh nghiệp trước khi tham gia hoạt động
thương mại điện tử, đề tài “An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 - PKI” nhằm mục đích nghiên cứu và áp dụng nền tảng khóa công khai-Public
Key Infrastructure (PKI) được xây dựng trong hệ điều hành Windows 2008 vào môi trường doanh nghiệp để đáp ứng các nhu cầu về bảo mật cho doanh nghiệp, giúp doanh nghiệp có thể
đáp ứng được các mục tiêu kinh doanh
TRƯỜNG CAO ĐẲNG NGHỀ CNTT Ispace
137C Nguyễn Chí Thanh, P.9, Quận 5, TpHCM
Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn
Tel: (848) 6267 8999
Trang 4TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Lời cảm ơn
Trong suốt quá trình học tập và hoàn thành đồ án này, chúng tôi đã nhận được sự hướng dẫn, giúp đỡ quý báu của các thầy cô giáo bộ môn, ban giám hiệu, gia đình và bạn bè Với lòng ki ́nh trọng và biết ơn sâu sắc chúng tôi xin được bày tỏ lới cảm ơn chân thành tới: Ban giám hiệu, Phòng đào tạo trường Cao Đẳng Nghề CNTT iSPACE đã tạo mọi điều kiện thuận lợi giúp đỡ chúng tôi trong quá trình học tập và hoàn thành đồ án này
Thầy ThS Dương Trọng Khang, người thầy kính mến đã hết lòng giúp đỡ, dạy bảo, động viên
cả mọi người sức khỏe và thành đạt
TRƯỜNG CAO ĐẲNG NGHỀ CNTT Ispace
137C Nguyễn Chí Thanh, P.9, Quận 5, TpHCM
Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn
Tel: (848) 6267 8999
Trang 5Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 4
Trang 6
TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
NHẬN XÉT CỦA GIẢNG VIÊN
Trang 7
Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 6
1 Giới thiệu mã hóa 1
1.1 Giới thiệu mã hóa 1
2 Hệ thống mã hóa thông tin 1
2.1 Mã hóa thông tin trên máy tính 1
2.2 Mã hóa thông tin trên đường truyền 1
3 Giới thiệu chứng chỉ số 2
3.1 Khái niệm chứng chỉ số 2
3.2 Ứng dụng của chứng chỉ số 2
3.2.1 Mã hóa – bảo mật 2
3.2.2 Chống giả mạo 2
3.2.3 Xác thực 2
3.2.4 Chống chối cãi nguồn gốc 3
3.2.5 Chữ kí điện tử………3
3.2.6 Bảo mật website……… 3
3.2.7 Đảm bảo phần mềm……… 4
Chương II Tổng quan về hệ mật mã ……….4
1 Thuật toán và khóa 4
1.1 Thuật toán (Algorithm) 4
1.2 Khóa (Key) 4
2 Các loại mã hóa 4
2.1 Mã hóa đối xứng (Symmetric encryption) 4
2.1.1 Khái niệm 4
2.1.2 Quy trình mã hóa đối xứng 4
2.1.3 Các thuật toán đối xứng (Symmetric Algorithms) 5
Trang 8TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
2.2 Mã hóa bất đối xứng (Asymmetric encryption) 6
2.2.1 Khái niệm 6
2.2.2 Quy trình mã hóa bất đối xứng 7
2.2.3 Các thuật toán bất đối xứng (Asymmetric Algorithms) 8
2.2.4 Ký số bất đối xứng (Asymmetric Signing) 8
2.3 Kết hợp giữa mã hóa đối xứng và bất đối xứng 9
2.4 Chữ ký số (Digital signature) 10
2.4.1 Khái niệm 10
2.4.2 Quy trình băm 11
2.4.3 Các thuật toán băm (Hash Algorithms) 11
2.4.4 Quy trình ký số 11
Chương III Hạ tầng khóa công khai PKI 13
1 Chứng chỉ số (Certificates) 13
1.1 Chứng chỉ số là gì? 13
1.2 Các phiên bản chứng chỉ số 13
1.2.1 Chứng chỉ X.509 version 1 13
1.2.2 Chứng chỉ X.509 version 2 14
1.2.3 Chứng chỉ X.509 version 3 16
2 Giới thiệu về PKI 19
2.1 PKI là gì? 19
2.2 Các thành phần của PKI 20
3 Các mô hình PKI 21
3.1 Single CA 21
3.2 Trust List 21
3.3 Hierarchical PKI 22
3.4 Mesh PKI 22
4 Nhà cung cấp chứng chỉ số (Certification Authorities) 23
Trang 9Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 8
4.2.1 Root CA 24
4.2.2 Intermediate CA 25
4.2.3 Policy CA 25
4.2.4 Issuing CA 26
5 Thu hồi chứng chỉ số 26
5.1 Certificate Revocation 26
5.2 Certificate Revocation List (CRL) 27
5.3 Online Certificate Status Protocol (OCSP) 28
5.4 Kết luận 30
Chương IV: Triển khai hạ tầng khóa công khai PKI trên nền Windows server 2012 31 1 Triển khai hạ tầng mạng với CA đơn tầng 31
1.1 Xây dựng Domain Controller (DC) 31
1.2 Xây dựng CA server 49
2 Triển khai các dịch vụ 67
2.1 Cấu hình dịch vụ MAIL áp dụng chữ ký số và mã hóa nội dung 67
2.2 Cấu hình dịch vụ IPSEC 92
2.2.1 Giới thiệu IPSEC 92
2.2.2 Cấu hình dịch vụ 93
2.3 Cấu hình dịch vụ Web sử dụng SSL 116
2.3.1 Giới thiệu SSL 116
2.3.2 Cấu hình dịch vụ 116
2.4 Cấu hình dịch vụ VPN sử dụng giao thức SSTP 128
2.4.1 Giới thiệu SSTP 128
2.4.2 Cấu hình dịch vụ 128
Trang 10TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Chương V: Kết luận 154
V.1 Kết Quả… V.2 Hướng Phát Triển………
Trang 11Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 1
Trong mật mã học, một ngành toán học ứng dụng cho công nghệ thông tin, mã hóa là phương pháp để biến thông tin (phim ảnh, văn bản, hình ảnh ) từ định dạng bình thường sang dạng thông tin không thể hiểu được nếu không có phương tiện giải
mã Giải mã là phương pháp để đưa từ dạng thông tin đã được mã hóa về dạng thông tin ban đầu, quá trình ngược của mã hóa
2 Hệ thống mã hóa thông tin
2.1 Mã hóa thông tin trên máy tính
Thực tế, mật khẩu đăng nhập của Windows rất dễ dàng bị phá Thêm nữa là bất
kỳ ai có thể sử dụng máy tính của anh đủ lâu để khởi động hệ thống từ một đĩa CD đều
có thể sao chép toàn bộ dữ liệu trên máy của anh mà không cần đến bất kỳ một mật khẩu nào Trong trường hợp họ có thể mang máy tính đi một khoảng thời gian nhất định, anh còn có thể gặp nhiều rắc rối hơn nữa Không chỉ mỗi mật khẩu đăng nhập của Windows có thể bị phá, anh cũng không thể tin cậy các mật khẩu
Mã hóa thông tin của bạn giống như việc cất chúng trong các két an toàn được khóa lại Chỉ những ai có chìa khóa hoặc biết tổ hợp khóa (một chìa khóa mật mã hay một mật khẩu, trong trường hợp này) mới có thể mở được Đặc điểm chung trên đặc biệt phù hợp cho TrueCrypt (là công cụ mã hóa dữ liệu cho mã nguồn mỡ và nó là miễn phí) và các công cụ tương tự, tạo ra các không gian chứa được mã hóa gọi là các ‘vùng được mã hóa’ hơn là chỉ bảo vệ từng tệp một Bạn có thể đưa một số lượng lớn các tệp vào trong một vùng được mã hóa, nhưng những công cụ này sẽ không bảo vệ những dữ liệu được lưu trữ ở những nơi khác trên máy tính hay thẻ nhớ USB của bạn
2.2 Mã hóa thông tin trên đường truyền
Với sự tiện lợi và giá thành rẻ tính linh hoạt cao của thư điện tử và việc nhắn tin qua mạng thực sự hữu ích cho các cá nhân và tổ chức Không may rằng những giải pháp thay thế các phương tiện liên lạc truyền thống này lúc không phải lúc nào cũng đáng tin cậy để có thể giữ bí mật thông tin nhạy cảm Tất nhiên đây không phải là điều gì mới
mẻ Thư tín, các cuộc gọi điện hay tin nhắn đều không an toàn, đặt biệt là đối với những người sử dụng đang bị theo dõi bởi các cơ quan chức năng
Nếu bạn gữi thư điện tử, tin nhắn, hay đàm thoại qua mạng sử dụng các phương thức không đảm bảo an ninh, thì chắc chắn rằng chúng có tính bảo mật còn kém hơn việc gửi thư tín hay điện thoại thông thường
Bằng cách thực hiện theo những hướng dẫn và tìm hiểu những phần mềm được thảo luận trong chương này, bạn sẽ gia tăng khả năng bảo mật cho việc truyền thông của mình Dịch vụ thư điện tử Riseup, mô-dul Không lưu Dấu vết (OTR) cho chương trình chát qua mạng Pidgin, Mozilla Firefox, và môdul bổ sung Enigmail cho chương trình quản
lý thư điện tử phía người dùng Mozilla Thunderbird đều là những công cụ hữu hiệu Tuy nhiên, trong khi sử dụng chúng, bạn nên luôn biết rằng mức độ riêng tư của những cuộc
Trang 12TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
liên lạc không bao giờ được đảm bảo trăm phần trăm Luôn có những mối nguy cơ mà bạn không lường trước, có thể là một chương trình ghi lại những phím được gõ nằm trên máy của bạn, một kẻ nghe lén ngoài cửa sồ, một thư điện tử phúc đáp bất cẩn hay những điều đại loại như vậy
3 Giới thiệu chứng chỉ số
3.1 Khái niệm chứng chỉ số
Chứng chỉ số là một tệp tin điện tử dùng để xác minh danh tính một cá nhân, một máy chủ, một công ty trên Internet Nó giống như bằng lái xe, hộ chiếu, chứng minh thư hay những giấy tờ xác minh cá nhân Để có chứng minh thư, bạn phải được cơ quan Công An sở tại cấp
Chứng chỉ số cũng vậy, phải do một tổ chức đứng ra chứng nhận những thông tin của bạn là chính xác, được gọi là Nhà cung cấp chứng thực số (CA - Certificate Authority)
CA phải đảm bảo về độ tin cậy, chịu trách nhiệm về độ chính xác của chứng chỉ số mà mình cấp
Chứng chỉ số có ba thành phần chính:
Dữ liệu cá nhân của người được cấp
Khóa công khai (Public key) của người được cấp
Những dữ liệu cần bảo mật cao, chẳng hạn giao dịch liên ngân hàng, ngân hàng điện tử, thanh toán bằng thẻ tín dụng, đều cần phải có chứng chỉ số để đảm bảo an toàn
3.2.2 Chống giả mạo
Khi bạn gửi đi một thông tin, có thể là một dữ liệu hoặc một email, có sử dụng chứng chỉ số, người nhận sẽ kiểm tra được thông tin của bạn có bị thay đổi hay không Bất kỳ một sự sửa đổi hay thay thế nội dung của thông điệp gốc đều sẽ
bị phát hiện
Địa chỉ mail của bạn, tên domain đều có thể bị kẻ xấu làm giả để đánh lừa người nhận để lây lan virus, ăn cắp thông tin quan trọng Chứng chỉ số thì không thể làm giả, nên việc trao đổi thông tin có kèm chứng chỉ số luôn đảm bảo an toàn 3.2.3 Xác thực
Trang 13Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 3
Xác thực là một tính năng rất quan trọng trong việc thực hiện các giao dịch điện tử qua mạng, cũng như các thủ tục hành chính với cơ quan pháp quyền Các hoạt động này cần phải xác minh rõ người gửi thông tin để sử dụng tư cách pháp nhân
Đây chính là nền tảng của một Chính phủ điện tử, môi trường cho phép công dân có thể giao tiếp, thực hiện các công việc hành chính với cơ quan nhà nước hoàn toàn qua mạng Có thể nói, chứng chỉ số là một phần không thể thiếu, là phần cốt lõi của Chính phủ điện tử
3.2.4 Chống chối cãi nguồn gốc
Khi sử dụng chứng chỉ số, bạn phải chịu trách nhiệm hoàn toàn về những thông tin mà chứng chỉ số đi kèm Trong trường hợp người gửi chối cãi, phủ nhận một thông tin nào đó không phải do mình gửi (chẳng hạn một đơn đặt hàng qua mạng), chứng chỉ số mà người nhận có được sẽ là bằng chứng khẳng định người gửi là tác giả của thông tin đó Trong trường hợp chối cãi, CA cung cấp chứng chỉ
số cho hai bên sẽ chịu trách nhiệm xác minh nguồn gốc thông tin, chứng tỏ nguồn gốc thông tin được gửi
3.2.5 Chữ kí điện tử
Email đã và đang đóng một vai trò rất quan trọng trong trao đổi thông tin hằng ngày của chúng ta.Tuy nhiên nó rất dễ bị đọc bởi các hacker.Những thông điệp có thể bị đọc hay bị giả mạo bởi các hacker trước khi tới tay người nhận Bằng việc sử dụng chứng chỉ số cá nhân , bạn sẽ ngăn ngừa được nguy cơ này mà không lo bị lộ nội dung của email.Ngoài ra, chứng chỉ số cá nhân còn cho phép người dùng có thể chứng thực mình với một webserver thông qua giao thức bảo mật SSL (Secure Sockets Layer)
3.2.6 Bảo mật website
Chứng chỉ số SSL Server sẽ cho phép bạn lập cấu hình Website của mình theo giao thức bảo mật SSL (Secure Sockets Layer) Chứng chỉ số này sẽ cung cấp cho website một định danh duy nhất nhằm đảm bảo với khách hàng về tính xác thực
và tính hợp pháp của Website và đồng thời cho phép trao đổi thông tin an toàn và bảo mật giữa Website với khách hàng,nhân viên,đối tác thông qua công nghệ SSL
mà nổi bật là các tính năng:
Thực hiện mua bán bằng thẻ tín dụng
Bảo vệ những thông tin cá nhân nhạy cảm của khách hàng
Đảm bảo hacker không thể dò tìm được mật khẩu
3.2.7 Đảm bảo phần mềm
Nếu bạn là một nhà sản xuất phần mềm, chắc chắn bạn sẽ cần những
“con tem chống hàng giả” cho sản phẩm của mình.Chứng chỉ số Nhà phát triển
Trang 14TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
phần mềm sẽ cho phép bạn ký vào các applet,script,Java software,Active X
control,các file định dạng EXE,CAB,DLL…Nhờ đó bạn sẽ đảm bảo được tính hợp pháp cũng như nguồn gốc xuất xứ của sản phẩm.Mặt khác,người dùng có thể xác thực được bạn là nhà cung cấp,phát hiện được sự thay đổi của chương trình (do vô tình hỏng hay do virus phá hoại hoặc crack…)
Chương II Tổng quan về hệ mật mã
1 Thuật toán và khóa
Khi dữ liệu được mã hóa, hai yếu tố đầu vào cần thiết cho việc mã hóa là: một thuật toán và một khóa
1.1 Thuật toán (Algorithm)
Một thuật toán xác định cách dữ liệu được chuyển đổi từ các bản rõ ban đầu thành
mã và cách các bản mã trở lại thành bản gốc Cả hai quá trình mã hóa và giải mã phải
sử dụng cùng một thuật toán
1.2 Khóa (Key)
Khóa mã hóa là một thành phần thông tin đặc biệt kết hợp với thuật toán để mã hóa và giãi mã dữ liệu Mỗi khóa khác nhau có thể tạo ra các dữ liệu mã hóa khác nhau, nếu không có khóa chính xác thì không thể giãi mã cho dù biết thuật toán mã hóa
2 Các loại mã hóa
Trong mật mã học có hai loại mã hóa: mã hóa đối xứng và bất đối xứng
2.1 Mã hóa đối xứng (Symmetric encryption)
2.1.1 Khái niệm
Mã hóa đối xứng sử dụng một khóa bí mật (private key) cho cả quá trình
mã hóa và giải mã Chìa khóa phải được trao đổi để cả người gửi và người nhận dữ liệu có thể truy cập
2.1.2 Quy trình mã hóa đối xứng
Các thuật toán kết hợp với mã hóa đối xứng chỉ sử dụng một khóa duy nhất nên có thể mã hóa một lượng lớn dữ liệu trong một thời gian ngắn Các thuật toán đối xứng đơn giản hơn nhiều so với thuật toán bất đối xứng, nếu khóa bị đánh cắp người đánh cắp có thể giải mã được các dữ liệu được gửi nên độ an toàn cũng kém hơn
Trang 15Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 5
Hình 2.1: Quy trình mã hóa đối xứng
Khi dữ liệu được mã hóa bằng thuật toán đối xứng, hệ thống sẽ tạo khóa
có giá trị ngẫu nhiên Chiều dài của khóa thường được biểu diễn bằng số lượng các bit và được quy định bởi thuật toán và ứng dụng sử dụng thuật toán đó
Các khóa đối xứng này được chuyển giao bí mật giữa hai đối tượng giao tiếp Người gửi sẽ dùng khóa đối xứng để mã hóa các dữ liệu ban đầu – bản rõ (Plain Text) thành một trạng thái mã hóa – bản mã (Cipher Text) Các bản mã này được gửi tới người nhận dữ liệu Người nhận dữ liệu đã mã hóa dùng khóa đối xứng để giải mã dữ liệu thành bản rõ
Lưu ý là khóa đối xứng này phải được bảo vệ kỹ càng trong quá trình khởi tạo, lưu trữ hay truyền đi vì nếu nó bị lộ thì kẻ tấn công có thể dễ dàng giải mã tất
cả các dữ liệu được mã hóa bằng khóa này
2.1.3 Các thuật toán đối xứng (Symmetric Algorithms)
Các thuật toán đối xứng được sử dụng rất phổ biến nhờ khả năng mã hóa một lượng lớn dữ liệu trong thời gian ngắn Thuật toán đối xứng được chia làm hai dạng:
Block cipher Block cipher là một giải pháp hoạt dộng chống lại sự hạn chế của dữ liệu tĩnh Dữ liệu được chia ra thành các blocks với size cụ thể và mỗi blocks được mã hoá một cách khác nhau
Stream cipher Stream cipher là giải pháp hoạt động chống lại dữ liệu luôn luôn sử dụng một phương thức để truyền Một vùng đệm, ít nhất bằng một block, đợi cho toàn bộ thông tin của block đó được chứa trong vùng đệm sau đó block đó sẽ được mã hoá rồi truyền cho người nhận Một sự khác nhau cơ bản giữa dữ liệu được truyền và dữ liệu nguyên bản Không như giải pháp sử dụng mật mã đối xứng là mỗi block được
sử dụng một key khác nhau trong quá trình truyền thông tin
Các thuật toán đối xứng sử dụng các kỹ thuật khác nhau để mã hóa dữ liệu, do đó chúng khác nhau ở khả năng bị tấn công, và có hiệu quả khác nhau trong vấn đề mã hóa và giải mã Các thuật toán này cũng sử dụng các khóa có độ dài khác nhau Dưới đây liệt kê một số thuật toán mã hóa đối xứng thường gặp:
Trang 16TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Data Encryption Standard (DES): là thuật toán mã khối (block cipher) nhận vào một khối bản rõ có kích thước 64 bit và một khóa có chiều dài 56 bit, rồi xuất ra một khối bản mã có kích thước 64 bit
Data Encryption Standard XORed (DESX): là một biến thể của DES và mạnh hơn DES Thay vì trực tiếp mã hóa bản rõ, thì đầu tiên bản rõ được xử lý thông qua một hàm XOR (Exclusive Or) sử dụng một khóa phụ thêm có chiều dài 64 bit Dữ liệu nhận được sau đó được mã hóa bằng thuật toán DES Tiếp tục, đầu ra của thuật toán DES lại được biến đối thông qua một hàm XOR với một khóa có chiều dài 64 bit khác Điều này giúp bảo vệ dữ liệu chống lại kiểu tấn công dò tìm khóa dựa trên chiều dài tương đối ngắn của khóa DES (56 bit)
Rivest’s Cipher version 2 (RC2) (40 bit): là thuật toán mã khối có chiều dài khóa thay đổi Khối đầu tiên có kích thước 64 bit sử dụng thêm một chuỗi 40 bit được gọi là salt Giá trị salt này được gắn vào khóa mã hóa, khóa mã hóa mới này sau đó được dùng để mã hóa bản rõ
RC2 (128 bit): là một biến thể của RC2 (40 bit) với chiều dài của salt được tăng thêm 88 bit
RC4: là thuật toán mã dòng (stream cipher) có chiều dài khóa thay đổi Khác với các thuật toán mã khối, hoạt động của mã dòng tác động lên từng byte Thuật toán RC4 dựa trên cơ chế hoán vị ngẫu nhiên và thường được dùng
để mã hóa các lưu lượng đến và đi từ các website có áp dụng giao thức SSL
Triple DES (3DES): là một biến thể của thuật toán DES trong đó DES được
áp dụng ba lần đối trên cùng một bản rõ Đầu tiên bản rõ được mã hóa bằng khóa A, được giải mã bằng khóa B, và được mã hóa tiếp bằng khóa C Một hình thức phổ biến của 3DES là chỉ dùng hai khóa: bản rõ được mã hóa bằng khóa A, được giải mã bằng khóa B và được mã hóa lại bằng khóa A
Advanced Encryption Standard (AES): được phát triển để thay thế cho DES Thay vì dùng khóa chỉ dài 56 bit như DES, AES có thể dùng khóa có chiều dài 128 bit, 192 bit hoặc 256 bit AES sử dụng thuật toán Rijndael và có thể
mã hóa dữ liệu chỉ với một lần thay vì ba lần như 3DES
2.2 Mã hóa bất đối xứng (Asymmetric encryption)
2.2.1 Khái niệm
Mã hóa bất đối xứng sử dụng một khóa công khai (public key) và một khóa
bí mật (private key) có liên hệ về mặt toán học cho quá trình mã hóa và giải mã Mã hóa bất đối xứng có thể sử dụng public key để mã hóa và private key để giải mã hoặc ngược lại Mã hóa bất đối xứng còn gọi là mã hóa công khai
Trang 17Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 7
gửi sẽ lấy khóa công khai của người nhận đễ mã hóa dữ liệu và chỉ có người nhận mới có khóa bí mật để giãi mã nên an toàn hơn so với mã hóa đối xứng Thuật toán của mã hóa bất đối xứng toán phức tạp nên xử lí chậm hơn so với mã hóa đối xứng Hình dưới đây thể hiện hoạt động của mật mã bất đối xứng:
Hình 2.2: Quy trình mã hóa bất đối xứng sử dụng public key
1 Bên gửi dữ liệu nhận được khóa công khai của bên nhận Khóa này có thể được lấy từ dịch vụ như Active Directory Domain Services
2 Bản rõ của dữ liệu được truyền vào cho thuật toán mã hóa bất đối xứng và
sử dụng khóa công khai của bên nhận làm khóa mã hóa để tạo ra bản mã của dữ liệu
3 Bản mã sau đó được chuyển tới cho bên nhận Sẽ không cần gửi khóa nào
vì bên nhận đã có sẵn khóa bí mật cần thiết để giải mã bản mã
4 Bên nhận giải mã bản mã sử dụng khóa bí mật của họ để được bản rõ gốc được tạo bởi bên gửi dữ liệu
Hiếm khi người ta chỉ dùng một thuật toán mã hóa bất đối xứng mà thường thì dữ liệu được mã hóa bằng một thuật toán đối xứng và sau đó khóa mã hóa đối xứng được mã hóa, bảo vệ bởi thuật toán mã hóa bất đối xứng Sự kết hợp giữa hai kiểu mã hóa này sẽ được đề cập chi tiết ở phần sau
Trang 18TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
2.2.3 Các thuật toán bất đối xứng (Asymmetric Algorithms)
Ba thuật toán phổ biến được dùng trong mã hóa bất đối xứng là:
Diffie-Hellman: thuật toán này không dựa trên việc mã hóa và giải mã mà dựa vào các hàm toán học để tạo ra một khóa bí mật mà bên gửi và nhận sẽ dùng chung để trao đổi thông tin bí mật cho nhau Về cơ bản, khi áp dụng thuật toán này thì hai bên sẽ thỏa thuận cùng một giá trị công khai (v) và một số nguyên tố lớn (p) Ngoài ra, mỗi bên còn chọn một giá trị bí mật cho riêng mình Ba giá trị này sẽ được mỗi bên dùng để tạo một giá trị công khai khác mà được gửi qua cho đối phương Hai giá trị công khai này được dùng
để tính toán ra một khóa bí mật dùng chung được cả hai bên dùng để mã hóa dữ liệu gửi cho nhau
Rivest Shamir Adleman (RSA): thuật toán này được dùng để mã hóa và ký lên dữ liệu Các quá trình mã hóa và ký số được thực hiện thông qua một loạt các bước chia lấy dư Độ an toàn của RSA có thể được tăng cường khi
sử dụng khóa có độ dài lớn từ 1024 bit trở lên Tất nhiên, điều này sẽ làm quá trình ký và mã hóa bị chậm đi
Digital Signature Algorithm (DSA): thuật toán này chỉ có thể được dùng để
ký số dữ liệu, nó không thể được dùng để mã hóa Quá trình ký bằng DSA được thực hiện thông qua một loạt các bước tính toán dựa trên một số nguyên tố được chọn Mặc dù dụng ý ban đầu chiều dài tối đa của khóa là
1024 bit nhưng giờ đây DSA đã hỗ trợ chiều dài khóa dài hơn
2.2.4 Ký số bất đối xứng (Asymmetric Signing)
Các thuật toán bất đối xứng có thể được dùng để kiểm tra dữ liệu có bị thay đổi hay không và xác minh nhận dạng của bên đã tạo ra dữ liệu đó Trong trường hợp này, vai trò của khóa công khai và khóa bí mật được hoán đổi: dùng khóa bí mật để mã hóa dữ liệu (nói chính xác hơn là tạo chữ ký) và dùng công khai giải mã dữ liệu (nói chính xác hơn là kiểm tra chữ ký)
Việc chứng minh nhận dạng của người tạo ra dữ liệu đạt được là vì chỉ có người đó mới truy cập được tới khóa bí mật Dĩ nhiên, điều này nảy sinh thêm vấn
đề là làm sao bảo vệ cho khóa bí mật Lưu trữ khóa bí mật trên các thiết bị phần cứng như thẻ thông minh giúp đảm bảo an toàn hơn là lưu trữ nó trong kho chứa chứng chỉ thông thường
Hình dưới đây thể hiện quá trình ký bất đối xứng giúp xác minh nhận dạng của bên gửi dữ liệu và phát hiện dữ liệu bị chỉnh sửa như thế nào:
Trang 19Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 9
Hình 2.3: Quy trình ký số bất đối xứng
1 Dữ liệu ở dạng bản rõ được truyền vào cho thuật toán mã hóa bất đối xứng
sử dụng khóa bí mật của bên gửi làm khóa mã hóa Kết quả tạo ra là bản mã của dữ liệu gốc
2 Bản mã được gửi tới bên nhận
3 Bên nhận dữ liệu lấy về khóa công khai của bên gửi Khóa công khai có thể được phân phát ở dạng bản rõ
4 Bên nhận giải mã bản mã sử dụng khóa công khai của bên gửi Kết quả là bản rõ ban đầu của dữ liệu được tạo bởi bên gửi
Việc giải mã thành công bằng khóa công khai của bên gửi xác minh rằng
dữ liệu được tạo bởi chính bên gửi đó chứ không phải ai khác Nó cũng chứng minh rằng dữ liệu không bị chỉnh sửa trong quá trình truyền nhận vì nếu có bất kỳ thay đổi nào sẽ dẫn tới quá trình giải mã bị thất bại
2.3 Kết hợp giữa mã hóa đối xứng và bất đối xứng
Thực tế là hầu hết các hệ thống đều ứng dụng kết hợp giữa mã hóa đối xứng và bất đối xứng để khai thác những điểm mạnh của mỗi phương pháp Khi được kết hợp thì:
Mã hóa đối xứng được dùng để chuyển bản rõ sang bản mã vì ưu điểm của nó là tốc độ xử lý nhanh với một khối dữ liệu lớn
Mã hóa bất đối xứng được dùng để trao đổi khóa đối xứng được dùng để mã hóa
ở trên Điều này lợi dụng ưu điểm tính an toàn cao của mã hóa bất đối xứng khi đảm bảo rằng chỉ có người nhận thích hợp sở hữu khóa bí mật mới có thể giải
mã ra khóa đối xứng
Hình dưới đây thể hiện quá trình các bước xảy ra khi sử dụng phương pháp kết hợp này:
Trang 20TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Hình 2.4: Kết hợp giữa mã hóa đối xứng và bất đối xứng
1 Bên gửi nhận được khóa công khai của bên nhận
2 Bên gửi tạo một khóa đối xứng và sử dụng nó để mã hóa dữ liệu gốc ở dạng bản
5 Bên nhận sử dụng khóa bí mật của họ để giải mã ra khóa đối xứng
6 Bản mã sẽ được giải mã bằng khóa đối xứng để bên nhận có được dữ liệu gốc ở dạng bản rõ do bên gửi tạo ra
2.4 Chữ ký số (Digital signature)
2.4.1 Khái niệm
Ba mục đích để sử dụng mật mã là: giữ bí mật cho dữ liệu, phát hiện nếu
dữ liệu bị chỉnh sửa, và chứng minh nguồn gốc của dữ liệu Mặc dù mã hóa có thể giúp đảm bảo bí mật và bảo vệ dữ liệu khỏi bị chỉnh sửa nhưng chỉ có áp dụng ký
số mới xác minh được nguồn gốc của dữ liệu Ngoài ra, việc ký số còn giúp nhận dạng xem dữ liệu có bị chỉnh sửa hay không Việc ký số giúp bảo vệ dữ liệu theo
Trang 21Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 11
băm) để giúp nhận diện xem ai đã ký lên giá trị băm đó Điều này khiến người đã ký lên giá trị băm không thể chối bỏ việc làm đó của họ vì chỉ có họ mới truy cập được vào khóa bí mật được dùng để ký lên giá trị băm Thuật ngữ chống chối bỏ (non-repudiation) nhằm ám chỉ việc người ký không thể
từ chối chữ ký là của họ
2.4.2 Quy trình băm
Một thuật toán băm nhận một tài liệu hay thông điệp ở dạng bản rõ làm đầu vào và tạo ra kết quả là một giá trị có kích thước cố định được gọi là giá trị băm (hash value, message digest, digest hoặc thumbprint) Trên thực tế, vẫn có kỹ thuật
để tạo ra cùng một giá trị băm từ hai nguồn dữ liệu đầu vào khác nhau Dẫu vậy thì
về mặt toán học thì chuyện này là không thể
2.4.3 Các thuật toán băm (Hash Algorithms)
Dưới đây là các thuật toán băm được dùng phổ biến:
Message Digest 5 (MD5): thuật toán này nhận vào thông điệp có kích thước bất kỳ và tạo ra giá trị băm dài 128 bit
Secure Hash Algorithm (SHA1): thuật toán này nhận vào dữ liệu có kích thước nhỏ hơn 264 bit và tạo ra giá trị băm dài 160 bit
Mặc dù SHA1 chậm hơn chút so với MD5 nhưng lại an toàn hơn khi rất khó để tìm được hai nguồn dữ liệu đầu vào khác nhau nếu đi qua thuật toán SHA1 lại có cùng giá trị băm
2.4.4 Quy trình ký số
Hầu hết các ứng dụng đều thực hiện ký số bằng cách kết hợp giữa ký bất đối xứng và thuật toán băm như được thể hiện trong hình dưới đây:
Trang 22TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Hình 2.5: Quy trình ký số
1 Bên A có nguồn dữ liệu ở dạng bản rõ (M)
2 Bên A chạy một thuật toán băm xuyên qua bản rõ M để ra được một giá trị băm a’
3 Giá trị băm a’ được mã hóa sử dụng khóa bí mật của bên A
4 Bản rõ M cùng với giá trị băm a’ đã mã hóa được gửi tới bên B
5 Bên B sử dụng khóa công khai của bên A để giải mã giá trị băm đã mã hóa
6 Bên B chạy cùng thuật toán băm mà bên A sử dụng ở bước 2 để tạo ra giá trị băm b’ từ bản rõ M
7 Tiến hành so sánh hai giá trị băm a’ và b’ Nếu chúng khác nhau thì chứng
tỏ bản rõ M hoặc giá trị băm a’ đã bị thay đổi trong quá trình truyền nhận Ngược lại nếu chúng giống nhau thì bên B có thể tin cậy là dữ liệu gốc không
bị thay đổi và rằng nguồn gốc của dữ liệu là do bên A gửi
Trang 23Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 13
Chứng chỉ số là thành phần làm nền tảng cho hoạt động của PKI Nó là tài liệu điện tử giúp nhận dạng và đại diện cho người dùng, tổ chức, máy tính, thiết bị mạng hoặc dịch vụ nào đó Nó được phát hành bởi một Certification Authority (CA) và được liên kết với một cặp khóa công khai và khóa bí mật
Một chứng chỉ là một tập tin được ký số, có kích thước từ 2KB đến 4KB và thường bao gồm các thông tin cơ bản sau:
Thông tin về người dùng, máy tính, thiết bị mạng, v.v mà nắm giữ khóa bí mật tương ứng với chứng chỉ được cấp phát Người dùng, máy tính hoặc thiết
bị mạng này được nhắc tới như là chủ thể (subject) của chứng chỉ
Thông tin về CA phát hành chứng chỉ
Khóa công khai tương ứng với khóa bí mật được liên kết với chứng chỉ
Tên của các thuật toán để mã hóa và thuật toán tạo chữ ký số cho chứng chỉ
Một danh sách các phần mở rộng (extension) cho loại chứng chỉ X.509 version
và trao đổi trực tiếp với người yêu cầu Sau khi nhận dạng được kiểm chứng
là hợp lệ, CA sẽ cấp chứng chỉ được ký số bởi khóa bí mật của nó cho họ Chữ
ký số này cho biết nguồn gốc của chứng chỉ (do CA nào cấp), đảm bảo khóa công khai là thuộc về chủ thể của chứng chỉ và giúp phát hiện những thay đổi, giả mạo nếu có trong nội dung của chứng chỉ
1.2 Các phiên bản chứng chỉ số
1.2.1 Chứng chỉ X.509 version 1
Được định nghĩa vào năm 1988, X.509 version 1 giờ đây hầu như không còn được sử dụng nữa Định dạng của loại chứng chỉ này được thể hiện như hình dưới đây:
Trang 24TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Hình 3.1: Chứng chỉ X.509 version 1 Một chứng chỉ X.509 version 1 bao gồm các trường sau:
Version: chứa giá trị cho biết đây là chứng chỉ X.509 version 1
Serial Number: cung cấp một mã số nhận dạng duy nhất cho mỗi chứng chỉ được phát hành bởi CA
CA Signature Algorithm: tên của thuật toán mà CA sử dụng để ký lên nội dung của chứng chỉ số
Issuer Name: tên phân biệt (distinguished name) của CA phát hành chứng chỉ Thường thì tên phân biệt này được biểu diễn theo chuẩn X.500 hoặc định dạng theo đặc tả của X.509 và RFC 3280
Validity Period: khoảng thời gian mà chứng chỉ được xem là còn hiệu lực, bao gồm 2 trường là: Valid From và Valid To
Subject Name: tên của máy tính, người dùng, thiết bị mạng sở hữu chứng chỉ Thường thì tên chủ thể này được biểu diễn theo chuẩn X.500 hoặc định dạng theo đặc tả của X.509, nhưng cũng có thể bao gồm các định dạng tên khác như được mô tả trong RFC 822
Subject Public Key Info: khóa công khai của đối tượng nắm giữ chứng chỉ Khóa công khai này được gửi tới CA trong một thông điệp yêu cầu cấp chứng chỉ (certificate request) và cũng được bao gồm trong nội dung của chứng chỉ được phát hành sau đó Trường này cũng chứa nhận dạng của thuật toán được dùng để tạo cặp khóa công khai và khóa bí mật được liên kết với chứng chỉ
Signature Value: chứa giá trị của chữ ký
Các trường Issuer Name và Subject Name được cấu trúc để các chứng chỉ có thể được tổ chức thành một chuỗi các chứng chỉ mà bắt đầu bằng chứng chỉ được cấp cho người dùng, máy tính, thiết bị mạng, hoặc dịch vụ và kết thúc bằng chứng chỉ gốc của CA
1.2.2 Chứng chỉ X.509 version 2
Mặc dù chứng chỉ X.509 version 1 cung cấp khá đầy đủ những thông tin
cơ bản về người nắm giữa chứng chỉ nhưng nó lại có ít thông tin về tổ chức cấp phát
Trang 25Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 15
chỉ mới và cũ đều như nhau Tương tự, có thể có một tổ chức khác muốn tạo một
CA có trường Issuer Name trong chứng chỉ giống như vậy Giải quyết vấn đề này để
có thể sử dụng lại Issuer Name thì chứng chỉ X.509 version 2 đã được giới thiệu vào năm 1993 Trong định dạng của nó có thêm 2 trường mới như được thể hiện trong hình dưới đây:
Hình 3.2: Chứng chỉ X.509 version 2 Hai trường mới được bổ sung là:
Issuer Unique ID: là một trường không bắt buộc, chứa chuỗi giá trị ở hệ 16, mang tính duy nhất và dành để nhận dạng CA Khi CA thay mới chứng chỉ của chính nó, một Issuer Unique ID mới được khởi tạo cho chứng chỉ đó
Subject Unique ID: là một trường không bắt buộc, chứa chuỗi giá trị ở hệ
16, mang tính duy nhất và dùng để nhận dạng chủ thể của chứng chỉ Nếu chủ thể này cũng chính là CA thì trường này sẽ giống với Issuer Unique ID Ngoài việc đưa vào 2 trường mới ở trên thì trường Version trong chứng chỉ X.509 version 2 có giá trị là 2 để chỉ ra phiên bản của chứng chỉ
Các trường Issuer Unique ID và Subject Unique ID đã cải tiến quá trình xâu chuỗi chứng chỉ Giờ đây việc tìm kiếm chứng chỉ của của CA sẽ là so khớp Issuer Name trong chứng chỉ được cấp phát với Subject Name trong chứng chỉ của
CA và thực hiện thêm một bước kiểm tra thứ hai là so khớp Issuer Unique ID trong chứng chỉ được cấp phát với Subject Unique ID trong chứng chỉ của CA
Trang 26TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Bước so khớp thứ hai này cho phép phân biệt giữa các chứng chỉ của cùng một CA khi CA đó làm mới lại chứng chỉ của chính nó Cách này cũng giúp phân biệt giữa các CA khác nhau nhưng trùng Subject Name
Mặc dù định dạng X.509 version 2 có cải tiến hơn version 1 nhưng chuẩn này cũng không còn được áp dụng rộng rãi Và thực tế thì trong RFC 3280 đã khuyến cáo là bỏ qua việc sử dụng 2 trường mới trên của X.509 version 2 do lo ngại có thể có sự xung đột xảy ra nếu như hai chứng chỉ có cùng Subject Name và Subject Unique ID
1.2.3 Chứng chỉ X.509 version 3
Được ra đời vào năm 1996, định dạng X.509 version 3 được bổ sung thêm các phần mở rộng (extension) để khắc phục các vấn đề liên quan tới việc so khớp Issuer Unique ID và Subject Unique ID cũng như là các vấn đề về xác thực chứng chỉ Một chứng chỉ X.509 version 3 co thể chứa một hoặc nhiều extension, như được thể hiện trong hình dưới đây:
Hình 3.3: Chứng chỉ X.509 version 3
Mỗi extension trong chứng chỉ X.509 version 3 gồm 3 phần:
Extension Identifier: là một mã nhận dạng đối tượng (Object Identifier – OID) cho biết kiểu định dạng và các định nghĩa của extension
Trang 27Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 17
criticality flag này không được thiết lập thì một có thể sử dụng chứng chỉ ngay cả khi ứng dụng đó không nhận diện được extension
Extension Value: là giá trị được gán cho extension Nó phụ thuộc vào từng extension cụ thể
Trong một chứng chỉ X.509 version 3, các extension sau có thể có là:
Authority Key Identifier: extension này có thể chứa một hoặc hai giá trị, chúng có thể là:
Subject Name của CA và Serial Number của chứng chỉ của CA mà đã cấp phát chứng chỉ này
Giá trị băm của khóa công khai của chứng chỉ của CA mà đã cấp phát chứng chỉ này
Subject Key Identifier: extension này chứa giá trị băm của khóa công khai của chứng chỉ
Key Usage: một CA, người dùng, máy tính, thiết bị mạng hoặc dịch vụ có thể
sở hữu nhiều hơn một chứng chỉ Extension này định nghĩa các dịch vụ bảo mật mà một chứng chỉ có thể cung cấp như:
Digital Signature: khóa công khai có thể được dùng để kiểm tra chữ ký Khóa này cũng được sử dụng để xác thực máy khách và xác minh nguồn gốc của dữ liệu
Non-Repudiation: khóa công khai có thể được dùng để xác minh nhận dạng của người ký, ngăn chặn người ký này từ chối rằng họ không hề
ký lên thông điệp hoặc đối tượng nào đó
Key Encipherment: khóa công khai có thể được dùng để trao đổi khóa,
vú dụ như đối xứng (hoặc khóa phiên) Giá trị này được dùng khi một khóa RSA được dùng cho việc quản lý khóa
Data Encipherment: khóa công khai có thể được dùng để mã hóa dữ liệu một cách trực tiếp thay vì phải trao đổi một khóa đối xứng (hay khóa phiên) để mã hóa dữ liệu
Key Agreement: khóa công khai có thể được dùng để trao đổi khóa, ví
dự như khóa đối xứng Giá trị này được dùng khi một khóa Hellman được dùng cho việc quản lý khóa
Diffie- Key Cert Sign: khóa công khai có thể được dùng để kiểm tra chữ ký của chứng chỉ số
CRL Sign: khóa công khai có thể được dùng để kiểm tra chữ ký của CRL (danh sách chứa các chứng chỉ bị thu hồi)
Encipher Only: giá trị này được dùng kết hợp với các extension Key Agreement và Key Usage Kết quả là khóa đối xứng chỉ có thể được dùng để mã hóa dữ liệu
Trang 28TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Decipher Only: giá trị này được dùng kết hợp với các extension Key Agreement và Key Usage Kết quả là khóa đối xứng chỉ có thể được dùng để mã hóa dữ liệu
Private Key Usage Period: extension này cho phép khóa bí mật có khoảng thời gian hiệu lực khác so với khoảng thời gian hiệu lực của chứng chỉ Giá trị này có thể được đặt ngắn hơn so với khoảng thời gian hiệu lực của chứng chỉ Điều này giúp khóa bí mật có thể được dùng để ký lên các tài liệu trong một khoảng thời gian ngắn (ví dụ, một năm) trong khi khóa công khai có thể được dùng để xác minh chữ ký trong khoảng thời gian hiệu lực của chứng chỉ là 5 năm
Certificate Policies: extension này mô tả các chính sách và thủ tục được dùng
để xác minh chủ thể của chứng chỉ trước khi chứng chỉ được cấp phát Các chính sách chứng chỉ được đại diện bởi các OID Ngoài ra, một chính sách chứng chỉ có thể bao gồm một đường dẫn (URL) tới trang web mô tả nội dung của chính sách và thủ tục
Policy Mappings: extension này cho phép chuyển dịch thông tin về chính sách giữa hai tổ chức Ví dụ, thử tưởng tượng rằng một tổ chức định nghĩa một chính sách chứng chỉ có tên là Management Signing mà trong đó các chứng chỉ được dùng để ký lên một lượng lớn các đơn đặt hàng Một tổ chức khác
có thể có một chính sách chứng chỉ tên là Large Orders mà cũng được dùng
để ký lên một lượng lớn các đơn đặt hàng Khi đó, Policy Mapping cho phép hai chính sách chứng chỉ này được đánh giá ngang nhau
Subject Alternative Name: extension này cung cấp một danh sách các tên thay thế cho chủ thể của chứng chỉ Trong khi định dạng cho Subject Name thường tuân theo chuẩn X.500 thì Subject Alternative Name cho phép thể hiện theo các dạng khác như User Principal Name (UPN), địa chỉ email, địa chỉ IP hoặc tên miền (DNS)
Issuer Alternative Name: extension này cung cấp một danh sách các tên thay thế cho CA Mặc dù thường không được áp dụng nhưng extension này có thể chứa địa chỉ email của CA
Subject Dir Attribute: extension này có thể bao gồm bất kỳ thuộc tính nào từ danh mục LDAP hoặc X.500 của tổ chức, ví dụ, thuộc tính country Extension này có thể chứa nhiều thuộc tinh và với mỗi thuộc tính phải gồm OID và giá trị tương ứng của nó
Basic Constraints: extension này cho biết chứng chỉ có phải của CA hay của các chủ thể như người dùng, máy tính, thiết bị, dịch vụ Ngoài ra, extension này còn bao gồm một rằng buộc về độ dài của đường dẫn mà giới hạn số lượng các CA thứ cấp (subordinate CA) có thể tồn tại bên dưới CA mà cấp phát chứng chỉ này
Name Constraints: extension này cho phép một tổ chức chỉ định không gian tên (namespace) nào được phép hoặc không được phép sử dụng trong chứng chỉ
Trang 29Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 19
có thể được sử dụng như thế nào Những cái này không có trong extension Key Usage Ví dụ, Client Authentication (có OID là 1.3.6.1.5.5.7.3.2), Server Authentication (có OID là 1.3.6.1.5.5.7.3.1), và Secure E-mail (có OID là 1.3.6.1.5.5.7.3.4) Khi ứng dụng nhận được một chứng chỉ, nó có thể yêu cầu sự có mặt của một OID trong các OID kể trên
CRL Distribution Points: extension này chứa một hoặc nhiều URL dẫn tới tập tin chứa danh sách các chứng chỉ đã bị thu hồi (CRL) được phát hành bởi CA Nếu việc kiểm tra trạng thái thu hồi của chứng chỉ được cho phép thì một ứng dụng sẽ sử dụng các URL này để tải về phiên bản cập nhật của CRL Các URL có thể sử dụng một trong các giao thức như HTTP, LDAP, FTP, File
Authority Information Access: extension này có thể chứa một hoặc nhiều URL dẫn tới chứng chỉ của CA Một ứng dụng sử dụng URL này để tải về chứng chỉ của CA khi xây dựng chuỗi chứng chỉ nếu như nó không có sẵn trong bộ nhớ đệm của ứng dụng
Freshest CRL: extension này chứa một hoặc nhiều URL dẫn tới delta CRL do
CA phát hành Delta CRL chỉ chứa các chứng chỉ bị thu hồi kể từ lần cuối base CRl được phát hành Nếu việc kiểm tra trạng thái thu hồi của chứng chỉ được cho phép thì một ứng dụng sẽ sử dụng các URL này để tải về phiên bản cập nhật của delta CRL Các URL có thể sử dụng một trong các giao thức như HTTP, LDAP, FTP, File
Subject Information Access: extension này chứa thông tin cho biết cách thức
để truy cập tới các các chi tiết khác về chủ thể của chứng chỉ Nếu đây là chứng chỉ của CA thì thông tin này có thể bao gồm các chi tiết về các dịch vụ xác minh chứng chỉ hay chính sách của CA Nếu chứng chỉ được cấp cho người dùng, máy tính, thiết bị mạng, hoặc dịch vụ thì extension này có thể chứa thông tin về các dịch vụ được các chủ thể này cung cấp và cách thức
để truy cập tới các dịch vụ đó
Ngoài việc giới thiệu thêm các extension như đã nêu ở trên thì trường Version của chứng chỉ X.509 version 3 sẽ có giá trị là 3 để cho biết phiên bản của chứng chỉ
2 Giới thiệu về PKI
2.1 PKI là gì?
Dựa trên nền tảng của mật mã khóa công khai, PKI là một hệ thống bao gồm phần mềm, dịch vụ, chuẩn định dạng, giao thức, quy trình, chính sách để giúp đảm bảo an toàn, tin cậy cho các phiên truyền thông
PKI đáp ứng các yêu cầu về xác thực, bảo mật, toàn vẹn, chống chối từ cho các thông điệp được trao đổi
Trang 30TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Certificate Signing Request (CSR)
Public Digital Certificate and Certificate Path
Certificate Revocation List (CRL)
Registration Authority (RA)
Certificate Repository và Archive
Security Server
PKI-enabled applications và PKI users
Certificate Authority (CA): một tổ chức tin cậy có nhiệm vụ quản lý chứng chỉ số (digital certificates) CA là trung tâm của PKI Một CA
có nhiệm vụ cấp chứng chỉ, duy trì tính pháp lý, quản lý các chứng chỉ
bị thu hồi và công khai danh sách các chứng chỉ bị thu hồi đó Danh sách các chứng chỉ được thu hồi đó gọi là Certificate Revocation List (CRL).CA sẽ nhận các yêu cầu cấp chứng chỉ số và chỉ cấp cho những ai đã xác minh được nhận dạng của họ
End-entity: những end-user của dịch vụ PKI, nó có thể là người hay máy
Certificate Signing Request (CSR): là một tập được sinh ra bởi các
end-entity user để xin chứng chỉ Những yêu cầu đó bao thông về
user như distinguished name và public key (signature)
Public Digital Certificate and Certificate Path: Chứng chi số là một
thành phần công khai của PKI Một chứng chỉ công khai (public
certificate được chứng nhận cho một end-entity bởi việc gắn thực thể
đó với một public key chuyên biệt End-entity có nhiệm vụ giữ
private key phù hợp với chứng chỉ đó Chứng chỉ có thể được sử dụng cho nhiều phương thức bảo mật khác nhau như là chứng chỉ số
để xác thực nguồn gốc (verify the origin), tính toàn vẹn của thông tin (integrity of information và tính không bác bỏ (non-repudiation)
Certificate Revocation List (CRL): là một danh sách các chứng chỉ bị
thu hồi Danh sách này được kiểm tra trong quá trình chứng thực các chứng chỉ bởi những người nắm giữ certificate nhằm xác minh tình trạng của các chứng chỉ được cấp Online Certificate Status Protocol (OCSP) là một lựa chọn để CRL sử dụng
Trang 31Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 21
Certificate Repository và Archive: có 2 kho chứa quan trọng trong kiến trúc của PKI Đầu tiên là kho công khai lưu trữ và phân phối các chứng chỉ và CRL (chứa danh sách các chứng chỉ không còn hiệu lực) Cái thứ 2 là một cơ sở dữ liệu được CA dùng để sao lưu các khóa hiện đang sử dụng và lưu trữ các khóa hết hạn, kho này cần được bảo vệ an toàn như chính CA
Security Server: là một máy chủ cung cấp các dịch vụ quản lý tập trung tất cả các tài khoản người dùng, các chính sách bảo mật chứng chỉ số, các mối quan hệ tin cậy (trusted relationship) giữa các CA trong PKI, lập báo cáo và nhiều dịch vụ khác
PKI-enabled applications và PKI users: bao gồm các người dùng sử dụng các dịch vụ của PKI và các phần mềm có hỗ trợ cài đặt và sử dụng các chứng chỉ số như các trình duyệt web, các ứng dụng email chạy phía máy khách
3 Các mô hình PKI
3.1 Single CA
Hình 3.4: Single CA
Đây là mô hình PKI cơ bản nhất phù hợp với các tổ chức nhỏ trong đó chỉ có một
CA cung cấp dịch vụ cho toàn hệ thống và tất cả người dùng đặt sự tin cậy vào CA này Mọi thực thể muốn tham gia vào PKI và xin cấp chứng chỉ đều phải thông qua CA duy nhất này Mô hình này dễ thiết kế và triển khai nhưng cũng có các hạn chế riêng Thứ nhất là ở khả năng co giãn – khi quy mô tổ chức được mở rộng, chỉ một CA thì khó mà quản lý và đáp ứng tốt các dịch vụ Hạn chế thứ hai là CA này sẽ là điểm chịu lỗi duy nhất, nếu nó ngưng hoạt động thì dịch vụ bị ngưng trệ Cuối cùng, nếu nó bị xâm hại thì nguy hại tới độ tin cậy của toàn bộ hệ thống và tất cả các chứng chỉ số phải được cấp lại một khi CA này được phục hồi
3.2 Trust List
Nếu có nhiều CA đơn lẻ trong tổ chức nhưng lại không có các trust relationship giữa các CA được tạo ra thì bằng cách sử dụng trust list người dùng vẫn có thể tương tác với tất cả các CA Lúc này các người dùng sẽ duy trì một danh sách các CA mà họ tin cậy Các CA mới về sau có thể dễ dàng được thêm vào danh sách Phương thức này tuy
Trang 32TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
đơn giản nhưng cũng sẽ tốn thời gian để cập nhật hết các CA cho một lượng lớn người dùng, mặt khác nếu một CA nào đó bị thỏa hiệp thì không có một hệ thống cảnh báo nào báo cho những người dùng mà tin cậy CA đó biết được sự cố này
3.3 Hierarchical PKI
Đây là mô hình PKI được áp dụng rộng rãi trong các tổ chức lớn Có một CA nằm
ở cấp trên cùng gọi là root CA, tất cả các CA còn lại là các Subordinate CA (gọi tắt là sub CA) và hoạt động bên dưới root CA Ngoại trừ root CA thì các CA còn lại trong đều có duy nhất một CA khác là cấp trên của nó Hệ thống tên miền DNS trên Internet cũng có cấu trúc tương tự mô hình này
Hình 3.5: Hierarchical PKI
Tất cả các thực thể (như người dùng, máy tính) trong tổ chức đều phải tin cậy cùng một root CA Sau đó các trust relationship được thiết lập giữa các sub CA và cấp trên của chúng thông qua việc CA cấp trên sẽ cấp các chứng chỉ cho các sub CA ngay bên dưới nó Lưu ý, root CA không trực tiếp cấp chứng chỉ số cho các thực thể mà chúng
sẽ được cấp bởi các sub CA Các CA mới có thể được thêm ngay dưới root CA hoặc các sub CA cấp thấp hơn để phù hợp với sự thay đổi trong cấu trúc của tổ chức Sẽ có các mức độ tổn thương khác nhau nếu một CA nào đó trong mô hình này bị xâm hại Trường hợp một sub CA bị thỏa hiệp thì CA cấp trên của nó sẽ thu hồi chứng chỉ
đã cấp cho nó và chỉ khi sub CA đó được khôi phục thì nó mới có thể cấp lại các chứng chỉ mới cho người dùng của nó Cuối cùng, CA cấp trên sẽ cấp lại cho nó một chứng chỉ mới
Nếu root CA bị xâm hại thì đó là một vấn đề hoàn toàn khác, toàn bộ hệ thống PKI sẽ chịu ảnh hưởng Khi đó tất cả các thực thể cần được thông báo về sự cố và cho đến khi root CA được phục hồi và các chứng chỉ mới được cấp lại thì không một phiên truyền thông nào là an toàn cả Vì thế, cũng như single CA, root CA phải được bảo vệ an toàn
ở mức cao nhất để đảm bảo điều đó không xảy ra và thậm chí root CA có thể ở trạng thái offline – bị tắt và không được kết nối vào mạng
3.4 Mesh PKI
Trang 33Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 23
dùng trong mạng lưới có thể tin cậy chỉ một CA bất kỳ, không nhất thiết hai hay nhiều người dùng phải cùng tin một CA nào đó và người dùng tin cậy CA nào thì sẽ nhận chứng chỉ do CA đó cấp
Hình 3.6: Mesh PKI
Các CA trong mô hình này sau đó sẽ cấp các chứng chỉ cho nhau Khi hai CA cấp chứng chỉ cho nhau thì một sự tin cậy hai chiều được thiết lập giữa hai CA đó Các CA mới có thể được thêm vào bằng cách tạo các mối tin cậy hai chiều giữa chúng với các
CA còn lại trong mạng lưới
Vì không có một CA duy nhất làm cấp cao nhất nên sự tổn hại khi tấn công vào
mô hình này có khác so với hai mô hình trước đó Hệ thống PKI không thể bị đánh sập khi chỉ một CA bị thỏa hiệp Các CA còn lại sẽ thu hồi chứng chỉ mà chúng đã cấp cho CA
bị xâm hại và chỉ khi CA đó khôi phục hoạt động thì nó mới có khả năng cấp mới các chứng chỉ cho người dùng rồi thiết lập trust với các CA còn lại trong mạng lưới
4 Nhà cung cấp chứng chỉ số (Certification Authorities)
4.1 Giới thiệu Certification Authority (CA)
CA là một thành phần thiết yếu trong bất cứ thiết kế PKI nào Đối với giải pháp PKI của Microsoft thì một CA là máy tính chạy hệ điều hành Windows Server được cài đặt dịch vụ Certificate Services Nó thực thi các nhiệm vụ sau:
Xác minh nhận dạng của đối tượng yêu cầu chứng chỉ: CA phải thẩm định nhận dạng của đối tượng đầu cuối (như người dùng, máy tính, thiết bị mạng, dịch vụ, v.v ) trước khi cấp chứng chỉ cho họ Điều này giúp đảm bảo đối tượng phải có đủ các quyền hạn cần thiết mới có thể yêu cầu CA cấp cho một loại chứng chỉ nào đó Ngoài
ra, tổ chức quản lý chứng chỉ có thể gặp mặt và phỏng vấn trực tiếp người yêu cầu
Cấp phát chứng chỉ cho đối tượng yêu cầu: sau khi xác minh được nhận dạng của đối tượng, CA cấp loại chứng chỉ được yêu cầu cho đối tượng đó Mỗi loại chứng chỉ
sẽ có nội dung và mục đích sử dụng khác nhau Ví dụ, nếu yêu cầu cấp chứng chỉ
Trang 34TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
cho IPSec thì kết quả là chứng chỉ này chỉ có thể được dùng bởi máy chủ hoặc máy khách để xác thực các điểm đầu cuối trên kênh truyền thông được bảo vệ bởi IPSec
Quản lý việc thu hồi chứng chỉ: CA sẽ định kỳ phát hành CRL sau một khoảng thời gian định trước CRL chứa danh sách số thứ tự (serial number) của các chứng chỉ đã
bị thu hồi và các mã số lý do (reason code) cho việc thu hồi
Đây là mô hình rất phổ biến và được áp dụng bởi tất cả các nhà cung cấp dịch vụ chứng chỉ số hàng đầu thế giới như RSA, Thawte, VeriSign Nó cũng được hỗ trợ bởi hầu hết các ứng dụng và thiết bị mạng
Trang 35Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 25
chứng chỉ với điểm kết thúc tại Root CA
Root CA tự cấp chứng chỉ cho chính nó và lúc này các trường Issuer Name
và Subject Name trong chứng chỉ có cùng tên phân biệt (distinguished name) Cách duy nhất để xác minh chứng chỉ của Root CA có hợp lệ hay không là kiểm tra xem chứng chỉ đó có nằm trong Trusted Root Store hay không
Root CA có thể cấp chứng chỉ cho các đối tượng đầu cuối nhưng thường
nó chỉ cấp cho các CA khác Khi thực hiện cấp chứng chỉ cho các thực thể, Root CA
sẽ sử dụng khóa bí mật của nó để ký lên các chứng chỉ đó để chống lại các hành động thay đổi nội dung và chỉ ra rằng chứng chỉ được cấp bởi Root CA
Là một dạng đặc biệt của Intermediate CA, Policy CA mô tả các chính sách
và thủ tục mà tổ chức cần triển khai để xác minh nhận dạng của chủ thể nắm giữ chứng chỉ và bảo đảm an toàn cho các CA Một Policy CA sẽ chỉ cấp chứng chỉ cho các CA khác trông mô hình phân cấp Tất cả các CA (ngoại trừ Root CA) sẽ là cấp dưới của Policy CA và tuân theo các chính sách và thủ tục được định nghĩa tại Policy
CA
Nếu tổ chức phải triển khai nhiều chính sách và thủ tục khác nhau cho việc cấp chứng chỉ thì cần thiết phải có nhiều Policy CA tồn tại như được thể hiện trong hình dưới đây:
Trang 36TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Hình 3.8: Ví dụ Policy CA
Trong ví dụ này, có hai Policy CA Một Internal Policy CA định nghĩa các chính sách và thủ tục được dùng để xác minh nhận dạng của các đối tượng yêu cầu cấp chứng chỉ, sẽ được hai Issuing CA (America CA và Europe CA) là nằm ngay dưới
nó tuân theo Một External Policy CA định nghĩa các chính sách và thủ tục được dùng
để xác minh nhận dạng và bảo đảm an toàn cho quá trình cấp chứng chỉ cho các đối tượng không nằm trong nội bộ của tổ chức, sẽ được Customer CA nằm ngay dưới
5 Thu hồi chứng chỉ số
5.1 Certificate Revocation
Mỗi một certificate được tạo ra đều có một khoảng thời gian hiệu lực (validity period) nhất định và thường từ 1 hoặc 2 năm Khi vượt ra khỏi khoảng thời gian này thì nó bị hết hạn và không còn giá trị nữa Thông tin này được chứa trong bản thân certificate (giá trị valid from
và valid to) và cần được kiểm tra trước khi quyết định có nên tin dùng nó hay không
Trang 37Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 27
CA phát hiện ra là đã cấp phát sai certificate Sự cố liên quan tới các CA Comodo, DigiNotar xảy ra gần đây là một ví dụ
Private key bị lộ hoặc thiết bị chứa private key bị mất hoặc bị đánh cắp
Công việc thu hồi certificate này được gọi là certificate revocation và do CA thực hiện
Có 2 trạng thái revocation được quy định trong RFC 3280 là:
Revoked: một khi certificate đã bị thu hồi thì không thể khôi phục lại và sử dụng tiếp được nữa
Hold: certificate chỉ tạm thời bị mất hiệu lực Ví dụ, nếu người dùng không chắc là private key đã bị mất hay chưa thì CA có thể đưa certificate vào trạng thái hold Nếu sau đó tìm thấy private key và chắc rằng không ai đã đọc được nó thì trạng thái hold được gỡ bỏ và certificate có hiệu lực trở lại
Theo RFC 5280 thì khi thu hồi một certificate phải chỉ định một trong 11 lý do sau:
5.2 Certificate Revocation List (CRL)
Là danh sách các certificate bị thu hồi và không còn được tin dùng nữa Mỗi một mục (entry) trong CRL tương ứng với một certificate và thường gồm 3 thông tin sau:
Serial number của certificate
Thời điểm bị thu hồi
Lý do thu hồi (là 1 trong 11 lý do kể trên)
Một CRL được tạo và phát hành (publish) định kỳ sau 1 khoảng thời gian nào đó
do người quản trị CA chỉ định, ví dụ: 1 giờ, 1 ngày, 1 tuần, v.v Một CRL cũng có thể được cập nhật và phát hành ngay sau khi một certificate nào đó bị thu hồi Các CA sẽ
Trang 38TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
đẩy CRL chứa các certificate do nó cấp phát và quản lý tới kho chứa là LDAP server hoặc Web server
Để ngăn chặn nguy cơ CRL có thể bị làm giả dẫn đến certificate nào đó bị cố ý đưa vào hoặc bị loại bỏ khỏi CRL, các CRL đều có một chữ ký số được ký bởi CA đã phát hành nó Và để xác thực chữ ký này trước khi có thể tin dùng CRL thì cần đến certificate của CA đã thực hiện việc ký trên Thông thường certificate của các CA phổ biến đều được nạp sẵn bên trong các ứng dụng có hỗ trợ PKI như các trình duyệt web, đọc email hay
hệ điều hành
Khi ứng dụng PKI nhận được một certificate, thì bản thân certificate không chứa nội dung của CRL mà nó có một extension là CRL Distribution Points (CDP), cho biết địa chỉ URL của CRL (là file có đuôi crl) mà nó cần tải về Sau đó ứng dụng PKI phải phân tích (parse) file crl này để xác định xem certificate đã bị thu hồi hay chưa, nói cách khác nếu serial number không có trong CRL thì certificate đó có thể được tin dùng
Có thể thấy, CRL mắc phải một số hạn chế sau:
Nếu nhiều client cùng để tải về CRL từ kho chứa thì có nguy cơ làm tắc nghẽn, giảm hiệu suất mạng Và nếu không thể kết nối tới kho chứa CRL do thì client không thể kiểm tra tính hiệu lực của certificate, dẫn đến certificate không được tin dùng
Qua thời gian, khi số lượng các certificate được cấp phát cũng như thu hồi ngày một tăng dần, thì kích thước của file crl cũng tăng theo (thường từ 200KB đến 20MB) Ứng dụng PKI phải tốn thời gian tải về và phân tích file crl thường chứa một lượng rất lớn các certificate bị thu hồi, trong khi nó chỉ cần xác định trạng thái revocation của một (vài) certificate mà thôi
Nếu certificate mà client cần kiểm tra đã bị thu hồi nhưng chưa được cập nhật vào CRL thì khi phân tích file crl xong client vẫn chấp nhận certificate không còn hiệu lực đó!
Mặc định, các máy Windows có timeout là 15 giây khi cố gắng tải về CRL
Ngoài ra, còn có các delta CRL chứa thông tin revocation cho các certificate bị thu hồi kể từ khi base CRL mới nhất được phát hành Nhưng để kiểm tra trạng thái revocation, ứng dụng PKI vẫn cần phải có đủ cả base CRL và các delta CRL gần đây nhất Dẫu vậy, cách này cũng sẽ giúp tiết kiệm thời gian và băng thông mạng vì nếu client đã có sẵn base CRL rồi thì nó chỉ cần tải thêm các delta CRL thôi
Vậy có phương thức nào hiệu quả hơn CRL trong việc kiểm tra xem certificate có
bị thu hồi chưa không? Câu trả lời đến từ OCSP
5.3 Online Certificate Status Protocol (OCSP)
Như được mô tả trong RFC 2560, OCSP là một giao thức được sử dụng để nhận
về trạng thái revocation của một certificate có chuẩn định dạng là X.509 Hoạt động theo
mô hình client/server, các thông điệp OCSP (request, response) được mã hóa theo chuẩn ANS.1 và được truyền qua giao thức HTTP Server cũng thường được gọi là OCSP responder Cơ bản nó làm việc như sau:
Trang 39Đề tài: An Toàn Thông Tin Mạng Doanh Nghiệp Với Windows Server 2012 – PKI 29
client Còn không thì server sẽ kiểm tra xem có sẵn một CRL được cache chưa, nếu
có thì nó sẽ dò tìm trong CRL cho serial number của certifcate rồi trả về kết quả cho client Nếu chưa có file CRL, server sẽ tải về từ các vị trí CDP đã được cấu hình trước
Response trả về cho client cho biết 1 trong 3 trạng thái có thể của certificate là:
“good”: không có trong CRL
“revoked”: bị thu hồi vĩnh viễn hoặc tạm thời (hold)
“unknown”: server không biết tới serial number có trong request
Response cũng được ký số bởi server sử dụng private key của một trong các thành phần:
CA đã cấp phát certificate có trong request
Trusted Responder mà public key của nó đã được client tin tưởng
CA Designated Responder (Authorized Responder) có certificate được cấp bởi
CA mà OCSP server đang phục vụ cho nó
Client nhận được kết quả và cache lại để lần sau không cần gửi request lên server để kiểm tra certificate đó nữa
Nếu server không thể xử lý request, client sẽ nhận được response không được ký, chứa thông báo lỗi
Rõ ràng, OCSP đã giải quyết được các vấn đề gặp phải với CRL là:
Tiết kiệm băng thông do các request và response có kích thước nhỏ hơn nhiều (thường chỉ 4KB) so với file crl
Tiết kiệm thời gian vì chỉ phải kiểm tra trạng thái của 1 certificate thay vì phải phân tích file crl
Nếu thông tin revocation có sẵn trong cache tại client và server thì tiết kiệm được được cả thời gian lẫn băng thông
Hệ thống certificate validation với OCSP có thể dễ dàng được mở rộng, độ sẵn sàng cao khi cần xử lý một lượng lớn các request
OCSP responder đảm bảo luôn sử dụng các phiên bản CRL mới nhất làm cơ sở cho việc kiểm tra tính hiệu lực của certificate cũng như là khả năng phản hồi gần như lập tức (real-time) khi nó nhận được yêu cầu từ client
Một OCSP server có thể phục vụ công tác certificate validation cho nhiều CA Điều này giúp client tránh phải lưu nhiều CRL
Tuy nhiên, trong an toàn thông tin thì không có một giải pháp nào giải quyết được mọi khía cạnh rủi ro cả OCSP không nằm ngoài quy luật đó, nó không phải là “viên đạn bạc” cho vấn đề certificate validation, bản thân nó cũng phải đối mặt với các nguy cơ khác nhau như:
Trang 40TRƯỜNG CAO ĐẲNG NGHỀ iSPACE
137C Nguyễn Chí Thanh, Phường 9, Quận 5, TpHCM Website: www.ispace.edu.vn Email: ispace@ispace.edu.vn Tel: (848) 6267 8999 - Fax: (848) 6283 7867
Availability: Nếu vì lý do nào đó mà client không thể liên lạc với OCSP server thì quá trình validation bị đổ vỡ, khi đó client có thể được cấu hình để quay lại cơ chế CRL
Replay attack: kẻ tấn công chụp lại các good response, chờ đến khi certificate bị thu hồi nhưng validity period vẫn còn hiệu lực thì hắn gửi lại response đó cho client
DoS/DDoS: kẻ tấn công cố gắng làm đầy khả năng xử lý của OCSP server bằng cách gửi request với tần suất lớn và liên tục Việc server phải mất thời gian và năng lực để
ký số cho mỗi response cũng khiến tình huống này thêm trầm trọng Ngoài ra, việc các thông báo lỗi không được ký số cũng bị lợi dụng, kẻ tấn công sẽ gửi các thông báo lỗi giả này cho client và ngăn chặn các good response đến từ server khiến cho client không thể dùng được certificate này
Privacy: các thông điệp OCSP đều không được mã hóa nên việc phải gửi request tới OCSP server để kiểm tra certificate cho một domain nào đó khiến bộc lộ địa chỉ IP của client cũng như website mà client muốn ghé thăm
Compatibility: Một số ứng dụng và hệ điều hành cũ như Windows XP không hỗ trợ giao thức OCSP
5.4 Kết luận
Việc cần sử dụng các certificate còn hiệu lực để đảm bảo an toàn, tin cậy cho truyền thông luôn là yêu cầu căn bản và cần thiết Và chìa khóa cho sự thành công của một hệ thống PKI nằm ở chỗ việc cấp phát, thu hồi, kiểm tra hiệu lực certificate phải được tiến hành một cách chính xác và nhanh chóng
CRL có thể phục vụ cho một môi trường nhỏ dưới 1000 certificate nhưng nếu số lượng certificate bị thu hồi lên tới hàng chục ngàn thì việc triển khai OCSP với độ sẵn sàng và tin cậy cao là điều nên làm