Luận văn tốt nghiệp Đỗ Anh Dương
MỤC LỤC
Chương 1 3
Mở đầu 4
1.1Bối cảnh 4
1.2Mục đích 6
1.3Nội dung của đề tài 7
Chương 2 7
Công nghệ khóa công khai 8
2.1 Tổng quan về mã hóa 8
2.1.1 Giới thiệu 8
2.1.1.1Mã hóa và vai trò của mã hóa 8
2.1.1.21Các khái niệm cơ bản 10
2.1.2Mã hóa khóa bí mật 11
2.1.2.11Khái niệm 11
2.1.2.21Mô hình 11
2.1.2.31Các thuật toán mã hoá khóa bí mât thông thường 12
2 31Mã hóa khóa công khai 13
2.1.3.11Khái niệm 13
2.1.3.21Mô hình 14
2.1.3.3Đánh giá: 15
2.1.3.41Các thuật toán mã hóa khóa công khai thông thường 18
2.1.4Tóm lược thông điệp (Message Digest Algorithm) 18
2.2Chữ ký số-Digital Signature 20
2.2.1Khái niệm 20
2.2.2Hoạt động 20
2.3Độ dài khóa 21
2.4Chứng thực số-Digital Certificate 22
2.4.11Khái niệm 22
2.4.2X.509 Digital Certificate 25
2.5Danh sách chứng thực thu hồi 27
2.5.1Sự thu hồi chứng thực 27
2.5.2X509 Certificate Revocation Lists (CRLs): 29
2.6Chứng thực ủy quyền Certification Authority-CA 31
2.6.1Định nghĩa: 31
2.6.2Các chức năng 31
2.6.2.11Certificate Enrollment: 31
2.6.2.21Subject Authentication: 32
2.6.2.31Certificate Generation, Distribution, and Revocation : 32
1
Luận văn tốt nghiệp Đỗ Anh Dương
2.7Mô hình quan hệ giữa các CA 33
2 11Kiến trúc nhiều chứng thực ủy quyền CA 33
2.7.1.11Top-down hierachical structure: 33
2.7.1.21Forest Top-down Hierachies: 34
2.7.2Hoạt động chứng thực trong điều kiện nhiều CA: 36
Chương 3 37
Kỷ thuật khóa công khai trong Windows 2000 37
3.1Giới thiệu 38
3.2Bảo mật khóa công khai trong Windows 2000 38
3.2.1Bảo mật thương mại điện tử: TLS/SSL 38
3.2.2TLS/SSL Client-Side Authenticate 39
3.2.3Smart Cards 40
3.2.4Authenticode 2.0 41
3.2.5Laptop và Destop File Security 41
3.2.6Secure E-mail 41
3.3Kiến trúc bảo mật khóa công khai 42
3.3.1CryptoAPI (Microsoft Cryptographic Application Programming Interface)
43
3.3.2Cryptographic Service Provider 44
3.3.3Certificate Services 45
3.3.3.1Server engine 47
3.3.3.2Policy Module 47
3.3.3.3Exit Module 48
3.3.3.4Extension Handler 49
3.3.3.5Intermediary 49
3.4Hạ tầng kiến trúc khóa công khai – PKI trong Windows 2000 49
3.4.1Các thành phần của PKI 49
3.4.2Certificate Services 50
3.4.2.1Các đặc điểm của Windows 2000 Certificate Services: 50
3.4.2.2Các chính sách của Windows 2000 CA 51
3.4.2.3Enterprise CA 52
3.4.2.4Stand-alone CA 55
3.4.2.5Certificate Revocation Lists 56
3.4.2.6Web-Based Enrollment 56
3.4.2.7CA Certificate Distribution 57
3.4.2.8CA Renewal 57
3.4.3Active Directory 60
3.4.4Certificate Authorities 61
3.4.4.1Mô hình hệ thống chứng thực có gốc 61
3.4.4.2Mô hình hệ thống chứng thực mạng 63
3.4.4.3Mô hình lai 64
3.4.5Xây dựng dây chuyền chứng thực 64
3.4.5.1Chứng thực gốc tin cậy (Trusted Root Certificate) 64
2
Luận văn tốt nghiệp Đỗ Anh Dương
3.4.5.2Lưu trữ chứng thực gốc dựa trên Active Directory 64
3.4.5.3Kiểm tra chứng thực trung gian 64
3.4.5.4Kiểm tra thu hồi 65
3.4.7Các thuật toán mã hóa và độ dài khóa tương ứng 66
3.4.8Phần cứng hỗ trợ 66
3.4.9Danh sách chứng thực tin cậy (Certificate Trust List) 66
3.4.10Các tiêu chuẩn của hạ tầng kiến trúc khóa công khai 66
Chương 4 67
4.1Thiết kế cấu trúc một CA 68
4.1.1Các yếu tố ảnh hưởng đến thiết kế cấu trúc cho một CA 69
4.1.1.11Cách thức sử dụng chứng thực 69
4.1.1.21Phạm vi tổ chức 69
4.1.1.31Phạm vi địa lý 70
4.1.1.41Nhu cầu phục vụ 70
4.1.1.5Tích hợp với các nền tảng bên ngoài 70
4.1.1.61Chu kỳ công bố tình trạng của chứng thực 70
4.1.2Mô hình hoạt động của CA 71
4.1.2.11In-House CA Model 71
4.1.2.21Outsourced CA Model 71
4.1.2.31Hybrid CA Model 72
4.2Thử nghiệm Windows 2000 Certificate Services 72
4.2.1 Triển khai PKI trên một domain 72
4.2.1.1Các yêu cầu tiền triển khai Windows PKI 73
4.2.1.2Cài đặt Certificate Services 73
4.2.1.3Quản trị Certificate Services CA 81
4.2.1.4Đăng ký chứng thực sử dụng Web client 83
4.2.1.5Ánh xạ tài khoản người dùng với chứng thực 87
4.2.1.6Sử dụng các đặc điểm PKI với Outlook 2000 88
4.2.1.7Mã hoá hệ thống tập tin (Encrypting File System-EFS) 90
Kết luận 92
Tài liệu tham khảo 95
Chương 1
3
Luận văn tốt nghiệp Đỗ Anh Dương
Mở đầu
1.1 Bối cảnh
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
4
Luận văn tốt nghiệp Đỗ Anh Dươ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:
5
Luận văn tốt nghiệp Đỗ Anh Dương
• 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.
Do đó trước khi đưa các hoạt động kinh doanh của mình lên Internet, vấn
đề hàng đầu doanh nghiệp phải đặt ra đó là đảm bảo an ninh cho hệ thống
mạng của mình và đảm bảo an toàn cho những giao dịch mà họ tham gia. Điều
này có thể thực hiện bằng cách áp dụng một chính sách bảo mật hợp lý, sử
dụng các công nghệ phù hợp.
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 “Tìm hiểu,nghiên cứu và thiết lập thử
nghiệm một hệ thống PKI trên môi trường Windows 2000” 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 2000 vào môi trường xí
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.
1.2 Mục đích
Vấn đề trọng tâm của đề tài là đi sâu tìm hiểu hạ tầng kiến trúc khóa công
khai PKI trong Windows 2000, các thành phần của PKI, mức độ hỗ trợ cho
môi trường xí nghiệp (enterprise), trên cơ sở đó xây dụng thử nghiệm một hệ
thống có thể thực hiện các chức năng của Windows 2000 PKI.
6
Luận văn tốt nghiệp Đỗ Anh Dương
1.3 Nội dung của đề tài
Đề tài được bố cục như sau:
Chương 1: Mở đầu
Giới thiệu đề tài, nội dung mục đích của đề tài.
Chương 2: Công nghệ khóa công khai
Giới thiệu tổng quan về công nghệ khoá công khai, các khái niệm cơ
bản, phương pháp mã hóa, chứng thực số, chữ ký số, chứng thực ủy
quyền
Chương 3: Công nghệ khóa công khai trong Windows
2000
Nghiên cứu kiến trúc, các thành phần của Windows 2000 PKI, với
trọng tâm là Certificate Cervices để tạo ra các hệ thống tin cậy cục bộ.
Chương 4: Sử dụng Windows 2000 PKI
Thiết kế kiến trúc các thực ủy quyền và thiết lập mô hình thử
nghiệm.
Chương 2
7
Luận văn tốt nghiệp Đỗ Anh Dương
Công nghệ khóa công khai
2.1 Tổng quan về mã hóa
2.1.1 Giới thiệu
2.1.1.1 Mã hóa và vai trò của mã hóa.
8
Luận văn tốt nghiệp Đỗ Anh Dương
Mã hóa là một lĩnh vực nghiên cứu và ứng dụng các kỹ thuật toán học trong
các khía cạnh bảo mật thông tin như: Bảo đảm bí mật thông tin, bảo đảm sự toàn
vẹn thông tin, xác thực các thực thể và xác thực nguồn gốc dữ liệu.
Mã hóa thông tin làm cho chi phí khai thác thông tin bất hợp pháp là rất cao
so với giá trị thực của thông tin, và để khai thác được thông tin một cách bất hợp
pháp thì phải tốn một khoảng thời gian dài và lúc đó có thể thông tin đã không còn
giá trị.
Các mục tiêu của mã hoá:
Bảo đảm tính bí mật (confidentially):Là chức năng giữ cho
nội dung thông tin chỉ được sử dụng và khai thác bởi những người
có quyền sử dụng nguồn thông tin đó.
Bảo đảm tính toàn vẹn dữ liệu(data intergrity): Là chức
năng phát hiện sự thay thế thông tin bất hợp pháp. Để đảm bảo tính
toàn vẹn của thông tin thì trước hết phải có khả năng phát hiện
những thao tác trên dữ liệu của các thành phần bất hợp pháp, các
thao tác đó có thể là: thêm thông tin, xóa thông tin, và thay thế nội
dung thông tin…
Chứng thực(Authentication): Là chứng năng liên quan đến
việc định danh. Chức năng này được áp dụng cho cả các thực thể,
các thành phần tham gia quá trình mã hoá, cũng như chính bản thân
thông tin. Trong quá trình trao đổi thông tin giữa nhiều thành phần
thì việc định danh là cần thiết để tránh trường hợp mạo danh.
Không thể từ chối(non-reputation): Là chức năng ngăn
chặn một thực thể chối bỏ trách nhiệm của mình về một hành động
mà thực thể này đã thực hiện trước đó. Khi tranh chấp nổ ra do một
thực thể chối bỏ trách nhiệm của mình, thì một cách thức để tái lập
lại tình huống là cần thiết, hay nói cách khác chúng ta cần đưa ra
bằng chúng không thể chối cãi về những sự việc đã xảy ra và vai trò
của thực thể trong những sự việc đó.
9
Luận văn tốt nghiệp Đỗ Anh Dương
Như vậy khi sử dụng mã hóa, chúng ta có thể giao tiếp với các thành
phần và kiểm tra định danh cũng như giá trị của thông tin chúng ta trao đổi mà
không nhất thiết phải gặp mặt. Như vậy quá trình trao đổi những thông tin nhạy
cảm có thể được thực hiện trên các môi trường mạng không an toàn, như
Internet, thay vì phải thiết lập một hệ thống mạng riêng với chi phí lớn.
2.1.1.21 Các khái niệm cơ bản
Mã hóa cung cấp các kỷ thuật cho phép:
- Biến đổi thông tin thành dạng không thể hiểu được. Quá trình
này được gọi là mã hóa (encryption).
- Phục hồi thông tin đa mã hoá thành dạng ban đầu. Quá trình này
được gọi là giải mã (decryption).
Quá trình trên được thể hiện như sau:
Hình 2.1: Quá trình mã hóa
Thông tin ban đầu được gọi là plaintext và dạng thể hiện trung gian sau
khi mã hóa được gọi là ciphertext.
Hàm toán học xác định bước mã hoá và giải mã được gọi là thuật toán mã
hoá (cryptographic algorithm).
Một hệ thống mã hóa (cryptosystem) bao gồm một tập các thuật toán
mã hóa, các khoá mã hóa, các thông điệp cần mã hóa,và các ký tự mã tương ứng.
Khoá mã hóa (cryptographic key) là một giá trị toán học xác định cách
thức một thông điệp ban đầu bị mã hóa để tạo ra dạng trung gian. Để phục hồi lại
thông tin ban đầu thì cũng cần sở hữu một khóa. Mỗi khóa mã hoá có một độ dài
khóa (key length) tương ứng.
10
Luận văn tốt nghiệp Đỗ Anh Dương
Độ dài khóa là số bit của khóa, không gian khóa (key space) là tập hợp
tất cả các giá trị toán học có cùng độ dài với khóa.
2.1.2 Mã hóa khóa bí mật
2.1.2.11 Khái niệm.
Mã hóa khóa bí mật là một kỷ thuật mà các bên tham gia cùng thiết lập
và chia sẻ một khóa duy nhất. Khóa này được sử dụng để mã hoá và giải mã ở
mỗi bên. Do đó mã hóa khóa bí mật còn được gọi là mã hóa đối xứng (symetric
cryptography), hay mã hóa qui ước(conventional cryptography).
2.1.2.21 Mô hình.
Hoạt động của mã hóa khóa bí mật được minh họa bằng hình vẽ sau:
Hoạt động:
Giả sử A muốn gửi một thông điệp bí mật
P
đến B, A mã hóa
thông điệp
P
bằng một hàm mã hóa
E
và khóa
K
và gửi kết quả dạng kí tự
mã
)(PEC
K
=
đến B.
Khi nhận được B sử dụng hàm giải mã
D
và khóa
K
để khôi
phục lại thông tin ban đầu:
PPEDCD
KKK
== ))(()(
.
11
Luận văn tốt nghiệp Đỗ Anh Dương
Hình 2.2: Mã hoá và giải mã chia sẻ một khóa bí mật
Rõ ràng khi sử dụng mã hóa khóa bí mật thì mọi sự xâm phạm thông tin
trên đường truyền sẽ bị vô hiệu hóa. Không ai có thể giải mã thông tin ngoài
những người sở hữu khóa bí mật.
Tuy nhiên một câu hỏi đặt ra là: A và B thỏa thuận dùng khóa bí mật với
nhau như thế nào? Họ có thể trao đổi trực tiếp, qua điện thoại, qua e-mail Tuy
nhiên các phương pháp này đều tiềm ẩn những nguy cơ bị “rò rỉ” thông tin. Đây
chính là khâu yếu điểm nhất mã hóa khóa bí mật.
2.1.2.31 Các thuật toán mã hoá khóa bí mât thông thường.
Các thuật toán mã hóa khóa bí mật 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
12
Luận văn tốt nghiệp Đỗ Anh Dương
có độ dài khác nhau. Bảng dưới đây liệt kê một số thuật toán mã hóa khóa bí mật
thường gặp:
Thuật toán Độ dài khóa
Blowfish Variable up to 448
DES 56
IDEA 128
RC2 Biến động từ 1 đến 2048
RC4 Biến động từ 1 đến 2048
RC5 Biến động từ 1 đến 2048
Triple DES in EDE mode 56 hoặc 112
Bảng 2.1: Các thuật toán mã hóa khóa bí mật thông thường
2 31 Mã hóa khóa công khai
2.1.3.11 Khái niệm
Mã hóa khóa công khai được phát minh bởi Whitfield Diffie và Martin
Hellman vào năm 1975.
Mã hóa khóa công khai là kỷ thuật sử dụng hai khóa khác nhau ở hai quá
trình mã hóa và giải mã, một khóa là khóa công khai (public key), và một khóa
là khóa riêng (private key). Khóa riêng được giữ bí mật, và không bao giờ
được tiết lộ. Khóa công khai có thể chia sẻ tự do với bất cứ ai. Bởi vì mã hóa
khóa công khai sử dụng hai khóa khác nhau nên còn gọi là mã hóa bất đối
xứng.
Mặc dù khóa công khai và khóa riêng tương ứng có quan hệ với nhau về
mặt toán học tuy nhiên chúng ta không thể suy ra khóa riêng từ khóa công khai.
Thuật ngữ cặp khóa (key pair) có nghĩa rằng một khóa riêng và một khóa công
khai tương ứng. Do mối quan hệ toán học giữa khóa riêng và khóa công khai
một thông điệp được mã hóa bằng khóa công khai chỉ có thể giải mã bằng khóa
riêng tương ứng và ngược lại.
13
Luận văn tốt nghiệp Đỗ Anh Dương
2.1.3.21 Mô hình
Hình vẽ sau mô tả hoạt động của mã hóa khóa công khai:
Hình 2.3: Mô hình hoạt động mã hóa khóa công khai
Giả sử A muốn gửi thông điệp bí mật
P
đến B, A sử dụng khóa công
khai của B la
pb
, mà A có được theo một sự thỏa thuận giữa A và B, mã hóa
thông điệp
P
thành dạng ký tự mã
)(PEC
pb
=
và gửi cho B thông qua một
kênh không an toàn (Internet).
Khi nhận được, B dùng khóa riêng của mình là
pr
để giải mã tthông
điệp và khôi phục thông tin:
CPEDCD
pbprpr
== ))(()(
.
14
Luận văn tốt nghiệp Đỗ Anh Dương
2.1.3.3 Đánh giá:
Khi người gửi dùng khóa công khai của người nhận mã hóa thông tin và
gửi thông tin bí mật thì chỉ có người sở hữu khóa riêng mới có thể giải mã
được. Trong trường hợp này tính bí mật của thông tin được đảm bảo.
A cũng có thể dùng khóa riêng của mình để mã hóa thông tin và gửi
thông tin cho B, B có thể dùng khóa công khai của A để giải mã thông tin. Tuy
nhiên vì bất cứ ai cũng có thể có được khóa công khai của A, cho nên A sẽ
không thể gửi những thông tin nhạy cảm mà chỉ dùng khóa riêng của mình.
Mặc dù mã hóa khóa công khai đảm bảo được tính bí mật của thông tin,
nhưng kỷ thuật này không đáp ứng được tính toàn vẹn và xác thực của thông
15
Luận văn tốt nghiệp Đỗ Anh Dương
tin.Ví dụ:
16
Luận văn tốt nghiệp Đỗ Anh Dương
Hình 2.4:Sự tấn công bằng cách giả mạo .
o Trong ví dụ trên đây, kẻ tấn công C giả danh B bằng cách gửi
cho A khóa công khai
1pb
, mà A nhầm tưởng rằng đó là của B. A mã hoá
thông tin và gửi cho B, nhưng C chặn lại, giải mã thông tin bằng khóa riêng
1pr
của mình, sau đó mã hoá một thông tin giả bằng khóa công khai
pb
của
A rồi gửi cho A
o Ví dụ trên đã chứng tỏ rằng C đã thâm nhập vào quá trình trao
đổi thông tin của A và B, do A và B không xác định được mình đang trao
đổi với ai. Điều đó cho thấy sự cần thiết phải chứng thực trong quá trình
trao đối sử dụng khóa công khai. Chữ ký số (digital signature) và chứng
thực số (digital certificate), được đề cập trong các phần sau, sẽ giải quyết
được vấn đề này.
2.1.3.41 Các thuật toán mã hóa khóa công khai thông thường
Thuật toán Loại Cơ sở toán học
Diffie-Hellman Key exchange Dicrete logarithm
DSA Digital signature Dicrete logarithm
El Gamal Digital signature Dicrete logarithm
RSA Confidentialy, Digital
signature, key exchange
Factorization
Bảng2.2:Các thuật toán mã hóa khóa công khai phổ biến.
2.1.4 Tóm lược thông điệp (Message Digest Algorithm)
Như chúng ta thấy, ở ví dụ của phần trên, vẫn tiềm ẩn một khả năng kẻ
mạo danh thay thế thông tin, ví dụ để chuyển tiền vào tài khoản của họ. Một
phương pháp để bảo đảm tính toàn vẹn của thông tin đó là tạo ra một bản tóm tắt
của thông điệp và gửi kèm theo thông điệp. Bên nhận, sau khi nhận được sẽ tóm
17
Luận văn tốt nghiệp Đỗ Anh Dương
tắt lại thông điệp và so sánh với bản tóm tắt thông điệp của bên gửi. Nếu hai bản
này là giống nhau thì văn bản nhận được là hợp pháp.
Một thuật toán tóm lược thông điệp nhận một thông điệp có kích thước
bất kỳ và tạo ra một tóm lươc duy nhất có kích thước cố định. Một thuật toán
tóm lược là một dạng của hàm băm.
Hình 2.5: Message Digest Function
(Microsoft Developer Network-Windows 2000 server Resource Kit online
books)
Một thuật toán tóm lược thông điệp phải thỏa mãn ba điều kiện sau:
o Không thể xác định được thông điệp ban đầu dựa trên thông
điệp đã được tóm lược.
o Không thể tìm được một thông điệp bất kỳ nào mà tóm lược
của nó theo ý muốn.
o Không thể tìm được hai thông điệp khác nhau mà tóm lược lại
giống nhau. Hai thông điệp chỉ khác nhau một khoảng trắng
cũng tạo ra hai tóm lược khác nhau hoàn toàn.
Message Digest Algorithm Digest length
MD2 128
MD4 128
MD5 128
SHA 160
SHA-1 160
Bảng 2.3: Một số thuật toán tóm lược văn bản thường gặp
18
Luận văn tốt nghiệp Đỗ Anh Dương
Như vậy tóm lược thông điệp có thể đảm bảo tính toàn vẹn của thông tin,
xác nhận được nội dung thông tin tuy nhiên điều đó vẫn trở nên vô nghĩa nếu tình
huống như ví dụ trên (hình 2.4) xảy ra, bởi có thể kẻ mạo danh thay thế luôn cả
bản tóm lược thông điệp mà A gửi cho B.
Chữ ký số là một giải pháp cho vấn đề này.
2.2 Chữ ký số-Digital Signature
2.2.1 Khái niệm
Chữ ký số là một dạng tài liệu số (digital document) bảo đảm tính xác thực
(hay nguồn gốc) của dữ liệu, và tính toàn vẹn của dữ liệu.
Chữ ký số có vai trò tương tự như chữ ký tay. Chữ ký tay đảm bảo tính
pháp lý và xác nhận, định danh người chịu trách nhiệm cho văn bản viết tay. Vai
trò của chữ ký số cũng tương tự nhưng cho văn bản số.
Một điểm khác biệt giữa chữ ký số và chữ ký tay đó là: Chữ ký số không
phải là một hằng số, nó thay đôi tuỳ theo nội dung văn bản. Hai văn bản khác
nhau được ký bởi cùng một người thì hai chữ ký số cũng hoàn toàn khác nhau.
2.2.2 Hoạt động
19
Luận văn tốt nghiệp Đỗ Anh Dương
Hình 2.5: Mô hình hoạt động của chữ ký số
(Nguồn Misrosoft Developer Network Library 2002)
Quá trình ký và tạo chữ ký số
o Từ nội dung của thông điệp ban đầu, người gửi dùng một thuật
toán tóm lược thông điệp (Xem 2.1.4), một dạng hàm băm, để tạo
ra một bản tóm tắt thông điệp (message digest).
o Mã hóa bản tóm lược thông điệp và một số thông tin khác, ví dụ
như sequence number, bằng khoá riêng của mình để tạo ra chữ ký
số-Digital signature.
o Gắn chữ ký số vào phần sau của thông điệp. Tạo nên một thông
điệp đã được “ký”. Và gửi thông điệp này cho bên nhận.
Quá trình xác nhận chữ ký số: Khi bên nhận nhận được thông điệp, để xác
thực thông tin họ phải kiểm tra chữ ký số, quá trình đó diễn ra như sau:
o Tóm tắt lại thông điệp mà họ nhận được với cùng một hàm băm
như bên gửi để tạo ra một bản tóm lược thông điệp.
20
Luận văn tốt nghiệp Đỗ Anh Dương
o Giải mã chữ ký số đính kèm thông điệp của bên gửi bằng khóa
công khai của bên gửi, có được bản tóm tắt thông điệp mà bên gửi
dùng để tạo chữ ký số.
o So sánh hai bản tóm lược thông điệp này, nếu trùng khớp thì đó là
văn bản hợp lệ, và người nhận đã nhận đúng của người gửi
2.3 Độ dài khóa
Độ dài khóa là số bit trong một khóa. Độ dài khóa có ảnh hưởng rất lớn
tới hiệu quả của một hệ thống mã hóa. Độ dài khóa càng lớn thì độ an toàn càng
cao, tuy nhiên nếu độ dài khóa quá lớn thì sẽ làm chậm các quá trình mã hóa và
giải mã.
Để phá huỷ một hệ thống mã hóa mà không biết các yếu điểm của hệ
thống mã hóa đó, một hacker phải thử tất cả các khóa có thể trong không gian
khóa cho đến khi giải mã được một văn bản nào đó để có thể hiểu được nội dung
của văn bản đó
Lấy ví dụ khi dùng thuật toán mã hoá khóa bí mật DES, sử dụng khóa có
kích thước 56 bit, thì không gian khóa là
56
2
giá trị. Nếu một máy tính có thể thử
một nghìn tỷ khóa một giây thì cũng phải mất tới 2 năm mới tìm được khoá
đúng. Con số này còn tăng cao hơn rất nhiều theo độ dài của khóa.
Bảng sau đây thống kê thời gian cần thiết để phá hủy một số hệ thống mã
hóa:
Key
length
(bits)
Individual
attacker
Small
Group
Academy
Network
Large
Company
Military
Intelligence
Agency
40 Weeks Days Hours Microseconds Microseconds
56 Centuries Decades Years Hours Seconds
64 Millenia Centuries Decades Days Minutes
80 Infeasible Infeasible Infeasible Centuries Centuries
128 Infeasible Infeasible Infeasible Infeasible Mellinia
21
Luận văn tốt nghiệp Đỗ Anh Dương
Bảng2. 4: Thời gian trung bình để vượt qua một hệ thống mã hóa (thống
kê 1997)
2.4 Chứng thực số-Digital Certificate
2.4.11 Khái niệm
Digital Certificate là một dạng tài liệu số chứa các thông tin định danh của
một thực thể và và khóa công khai của thực thể đó. Thực thể có thể là một cá
nhân, một server, một thiết bị hoặc một phần mềm.
Chứng thực số đảm bảo rằng khóa công khai thuộc về một thực thể đã được
định danh, và thực thể này sở hữu một khóa riêng tương ứng.
Digital Certificate, mặc dù có thể tự cấp, tuy nhiên chứng thực số chỉ có giá
trị rộng rãi nếu như được cấp bởi một chứng thực ủy quyền (Certification
Authority).
Hình 2.6: Chữ ký số cho một chứng thực số
Hình trên mô tả những nội dung cơ bản của một chứng thực và quá trình
một chứng ủy quyền, CA, ký chứng thực. Ngoài các thông tin định danh và khóa
công khai của thực thể sở hữu, chứng thực còn chứa thông tin về CA và chữ ký
của CA đã cấp chứng thực này.
Các tính năng của chứng thực:
22
Luận văn tốt nghiệp Đỗ Anh Dương
o Định danh: Chứng thực phần nào đó giống như chứng minh nhân
dân. Chứng minh nhân dân với một tấm hình, các thông tin định danh, các
thông tin nhận dạng đã xác định duy nhất của một cá nhân. Với chứng minh
nhân dân chúng ta có thể gửi, nhận tiền qua ngân hàng …Và các đối tác của
chúng ta biết rõ họ đang trao đổi với ai.
o Không thể giả mạo: Chứng thực cung cấp các khả năng xác nhận tính
hợp pháp, tức là khả năng xác định một CA có thực sự đã cấp một chứng
thực hay không? Và kiểm tra chứng thực này có phải là giả mạo hay
không? Nếu một chứng thực giả, hacker có thể đính kèm khóa công khai
của mình và những thông tin định danh của một thực thể khác, và dùng nó
để thực hiện những hành động bất hợp pháp. Tuy nhiên điều đó là không
thể thực hiện được, bởi vì sau khi xác thực những thông tin định danh của
một thực thể, CA phải ký vào chứng thực, hay nói các khác từ các thông tin
định danh của thực thể CA phải tạo ra một chữ ký số và đính kèm chứng
thực. Chữ ký số là duy nhất cho một văn bản điện tử ( Xem phần chữ ký
số).
o Xác thực: Chứng thực đảm bảo sự xác thực, một yếu tố rất quan
trọng trong dịch vụ an toàn thông tin. Một thực thể có thể dùng chứng thực
để xác nhận mình với một hệ thống trước khi sử dụng tài nguyên của hệ
thống đó. Chứng thực số chứa khóa công khai và các thông tin định danh
của thực thể và vì vậy thực thể có thể chứng minh mình sở hữu một khóa
riêng tương ứng. Các thông tin này đã được CA xác nhận và do đó CA
đảm bảo cho các thông tin định danh của thực thể mà CA đã cấp chứng
thực. Tuy nhiên mức độ tin cậy của chứng thực còn tuỳ thuộc vào mức độ
tin cậy của CA.
o Phân phối khóa an toàn: Một vấn đề trong mã hóa khóa công khai là
làm sao các bên trao đổi thông tin có được khóa công khai của bên kia? Có
rất nhiều giải pháp cho vấn đề này: Họ có thể gặp mặt và trao cho nhau
những đĩa mềm có chứa khóa công khai, có thể gửi qua thư, email tuy
23
Luận văn tốt nghiệp Đỗ Anh Dương
nhiên các phương án này hoặc là không an toàn hoặc là rất khó thực hiện
khi mà các bên trao đổi thông tin cách trở về mặt địa lý. Chứng thực số
mang lại một giải pháp tối ưu cho vấn đề trao đổi khóa: Các CA xác nhận
thông tin của các thực thể cũng như là khóa công khai của họ. Để tìm khóa
công khai của một thực thể nào đó, chúng ta chỉ cần lấy chứng thực số của
họ về từ một CA và kiểm tra chữ ký số của CA. Như vậy một nhóm nhỏ
các CA có thể cấp và quản lý một số lượng lớn các chứng thực số của các
thực thể. Hơn nữa các chứng thực số có thể truyền trên các đường truyền
không an toàn và lưu trữ trong các phương tiện lưu trữ không an toàn. Bởi
vì bất cứ một thay đổi nào trên chứng thực số trong quá trình truyền đều có
thể bị phát hiện do việc khôi phục thông tin từ chữ ký số của CA đính kèm
không phù hợp với thông tin đã bị thay đổi. Tương tự bất cứ thay đổi nào
xảy ra trong quá trình lưu trữ cũng bị phát hiện. Bởi vì chứng thực số không
cần giữ bí mật, không chứa đựng các thông tin nhạy cảm, và không thể giả
mạo do đó chúng ta có thể lưu trữ trong các phương tiện lưu trữ không an
toàn cũng như có thể truyền trên các đường mạng không an toàn như
Internet. Và vì vậy chứng thực số là một giải pháp tối ưu cho vấn đề phân
phối khóa công khai.
2.4.2 X.509 Digital Certificate
Chúng ta vừa xem xét khái niệm cũng như một số đặc tính của chứng thực
số. Tuy nhiên chứng thực số còn chứa nhiều thông tin khác ngoài thông tin định
danh, khóa công khai của thực thể và chữ ký số của CA đã cấp chứng thực số. Các
thông tin này tuỳ thuộc vào yêu cầu cụ thể ví dụ trong các hoạt động tài chính thì
chứng thực số cần chứa thông tin về thẻ tín dụng…Tuy nhiên các thành phần
thông tin cơ bản vẫn tuân theo một định dạng chuẩn được áp dụng chung cho các
loại chứng thực.
X.509 là một định dạng chuẩn cho chứng thực số được đưa ra bởi các tổ
chức ISO, IEC, ITU vào năm 1988.
24
Luận văn tốt nghiệp Đỗ Anh Dương
Hình 2.7: Nội dung của một chứng thực số theo chuẩn X.509
Các trường cơ bản trong định dạng chứng thực số chuẩn X509 :
o Version: Phiên bản định dạng chuẩn của chứng thực số. Các phiên
bản đang dung hiện nay bao gồm: 1, 2 và 3.
o Serial number: Một số nguyên được gán bởi CA đã cấp chứng thực
số. Mỗi chứng thực số được cấp bởi một CA có duy nhất một serial
number.
o Signature (algorithm identifier): trường này xác định thuật toán
được CA dùng để ký các chứng thực. Ví dụ: RSA hoặc DSA
o Issuer: Định danh một chứng thực ủy quyền đã ký và cấp các chứng
thực.
o Validity: Khoảng thời gian hợp lệ của chứng thực. Trong thời gian
này chứng thực có giá trị. Trường này bao gồm ngày bắt đầu có giá trị
của chứng thực và ngày hết hạn sử dụng.
o Subject: Trường này định danh thực thể sở hữu khóa công khai đã
được chứng nhận
25