Tải bản đầy đủ (.pdf) (84 trang)

Nghiên cứu hệ thống chứng thực số và triển khai ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.69 MB, 84 trang )

ĐẠI HỌC THÁI NGUYÊN

.

ĐỖ VĂN CẢNH

NGHIÊN CỨU HỆ THỐNG CHỨNG THỰC SỐ
VÀ TRIỂN KHAI ỨNG DỤNG

Thái Nguyên - 2014
Số hóa bởi Trung tâm Học liệu

/>

ĐẠI HỌC THÁI NGUYÊN

ĐỖ VĂN CẢNH

NGHIÊN CỨUHỆ THỐNG CHỨNG THỰC SỐ
VÀ TRIỂN KHAI ỨNG DỤNG

Mã số: 60 48 01

Ngƣời hƣớng dẫn khoa học: TS.Hồ Văn Hƣơng

Thái Nguyên- 2014
Số hóa bởi Trung tâm Học liệu

/>

LỜI CAM ĐOAN



Tôi xin cam đoan rằng, đây là công trình nghiên cứu của tơi trong đó có
sự giúp đỡ tận tình của thầy hướng dẫn Tiến Sĩ Hồ Văn Hương,và sự hỗ trợ của
các đồng nghiệp và một số bạn

. Các nội dung nghiên cứu và kết quả

trong đề tài này là hồn tồn trung thực.
Trong luận văn, tơi có tham khảo đến một số tài liệu của một số tác giả và
một số website đã được liệt kê tại phần Tài liệu tham khảo ở cuối luận văn.

Thái Nguyên, ngày

tháng

Tác giả

Đỗ Văn Cảnh

Số hóa bởi Trung tâm Học liệu

/>
năm 2014


LỜI CẢM ƠN
Để hồn thành chương trình cao học và viết luận văn này,chúng tôi đã
nhận được sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của q thầy cô trường Đại
học Công nghệ thông tin và truyền thông Thái Nguyên.
Trước hết, chúng tôi xin chân thành cảm ơn đến quý thầy cô giáo trường

Đại học Công nghệ thông tin và truyền thông Thái Nguyên, đặc biệt là những
thầy cơ đã tận tình dạy bảo cho chúng tơi trong suốt thời gian học tập tại trường.
Tôi xin gửi lời biết ơn sâu sắc đến Tiến sĩ Hồ Văn Hương đã dành rất
nhiều thời gian và tâm huyết hướng dẫn nghiên cứu và giúp tơi hồn thành luận
văn tốt nghiệp.
Nhân đây, tôi xin chân thành cảm ơn Ban Giám hiệu trường Đại học công
nghệ thông tin và truyền thông Thái Nguyên đã tạo rất nhiều điều kiện để chúng
tôi học tập và hồn thành tốt khóa học.
Mặc dù tơi đã có nhiều cố gắng hồn thiện luận văn bằng tất cả sự nhiệt
tình và năng lực của mình, tuy nhiên khơng thể tránh khỏi những thiếu sót, tơi
rất mong nhận được những đóng góp q báu của q thầy cơ và các bạn.
Lời cảm ơn sau cùng chúng tôi xin dành cho gia đình, đồng nghiệp và
những người bạn đã hết lòng quan tâm và tạo điều kiện tốt nhất để tơi hồn thành
luận văn tốt nghiệp này!
Tơi xin chân thành cảm ơn!
Thái Nguyên,ngày tháng 1 năm 2014
Ngƣời thực hiện

Đỗ Văn Cảnh
Số hóa bởi Trung tâm Học liệu

/>

i

MỤC LỤC
MỤC LỤC ........................................................................................................................i
DANH MỤC HÌNH VẼ ................................................................................................ iii
DANH MỤC CÁC CHỮ VIẾT TẮT............................................................................ iv
LỜI NĨI ĐẦU .................................................................................................................1

Chương 1:TÌM HIỂU VỀ LÝ THUYẾT MẬT MÃ .......................................................3
1.1. Mật mã khoá đối xứng ..............................................................................................4
1.1.1. Khái niệm...........................................................................................................4
1.1.2. Bảo vệ tính bí mật của thơng tin với mật mã khóa đối xứng ............................4
1.1.3. Ưu nhược điểm của mật mã khoá đối xứng ......................................................4
1.2. Mật mã khố cơng khai ............................................................................................5
1.2.1. Khái niệm...........................................................................................................5
1.2.2. Bảo vệ thơng tin với mật mã khố cơng khai ....................................................5
1.2.3. Ưu nhược điểm của mật mã khố cơng khai .....................................................7
1.2.4. Thuật tốn RSA .................................................................................................8
1.3. Sử dụng kết hợp mật mã khoá đối xứng và khố cơng khai ...................................9
1.4. Chữ ký số ................................................................................................................10
1.5. Hàm băm.................................................................................................................12
Chương 2:HẠ TẦNG KHĨA CƠNG KHAI ................................................................14
2.1. Các khái niệm cơ bản .............................................................................................14
2.1.1. Khái niệm PKI .................................................................................................14
2.1.2. Các khái niệm liên quan ..................................................................................15
2.2. Các thành phần của PKI .........................................................................................20
2.2.1. Tổ chức chứng thực .........................................................................................20
2.2.2. Trung tâm đăng ký ...........................................................................................21
2.2.3. Người dùng cuối ..............................................................................................22
2.2.4. Hệ thống lưu trữ...............................................................................................22
2.3. Cách thức hoạt động và chức năng của PKI...........................................................22
2.3.1. Quá trình khởi tạo cặp khố – Key Pair Generation........................................24
2.3.2. Q trình tạo chữ ký số - Digital Signature Generation ..................................25
2.3.3. Quá trình mã hố thơng điệp và gắn chữ ký số - Message Encrytion and
Digital Signature Application ....................................................................................25
Số hóa bởi Trung tâm Học liệu

/>


ii

2.3.4. Q trình nhận thơng điệp và gửi sự kiểm chứng xác nhận ............................26
2.3.5. Q trình giải mã thơng điệp ...........................................................................26
2.3.6. Q trình kiểm tra nội dung thơng điệp ...........................................................26
2.4. Các dịch vụ của PKI ...............................................................................................26
2.4.1. Các dịch vụ cốt lõi của PKI .............................................................................26
2.4.2. Các dịch vụ PKI hỗ trợ ....................................................................................30
2.5. Các mơ hình kiến trúc của PKI...............................................................................33
2.5.1. Mơ hình kiến trúc đơn......................................................................................33
2.5.2. Mơ hình danh sách tin cậy ...............................................................................34
2.5.3. Mơ hình phân cấp ............................................................................................35
2.5.4. Mơ hình mạng lưới ..........................................................................................37
2.5.5. Kiến trúc CA bắc cầu _ Bridge CA Architecture ............................................40
2.6.Ứng dụng của PKI trong ký số và bảo mật dữ liệu .................................................41
2.6.1. Mã hóa .............................................................................................................41
2.6.2.Chống giả mạo ..................................................................................................41
2.6.3. Xác thực ...........................................................................................................41
2.6.4.Chống chối bỏ nguồn gốc .................................................................................42
2.6.5. Chữ ký số .........................................................................................................42
2.6.6. Bảo mật website ...............................................................................................42
2.6.7. Code Signing ...................................................................................................42
2.6.8. Chứng thực số ..................................................................................................43
2.7.Thực trạng PKI ở Việt Nam ....................................................................................44
2.7.1. Các văn bản của Đảng và Nhà nước quy định về chứng thực chữ ký số . ......44
2.7.2. Một số nhà cung cấp dịch vụ chứng thực chữ ký số công cộng đầu tiên tại
Việt Nam ....................................................................................................................45
Chương 3:ỨNG DỤNG MƠ HÌNH PKI TRONG HỆ THỐNG MAIL AN TOÀN ....47
VÀ WEB AN TOÀN.....................................................................................................47

3.1. Ứng dụng mơ hình PKI trong hệ thống mail an tồn. ............................................47
3.1.1. Xây dựng mơ hình và mơ tả hoạt động của mơ hình: ......................................47
3.1.2. Hướng dẫn thực hiện .......................................................................................48
3.2 Ứng dụng mơ hình PKI trong hệ thống Web an tồn. ............................................65
3.2.1. Xây dựng mơ hình và mơ tả hoạt động : .........................................................65
Số hóa bởi Trung tâm Học liệu

/>

iii

3.2.2. Hướng dẫn thực hiện: ......................................................................................65
TÀI LIỆU THAM KHẢO .............................................................................................74
DANH MỤC HÌNH VẼ
Hình 1.1. Mã hóa khóa bí mật .........................................................................................4
Hình 1.2. Mã hóa khóa cơng khai...................................................................................6
Hình 1.3. Xác thực thơng tin ..........................................................................................6
Hình 1.4. Ký và mã hố với khóa cơng khai ..................................................................7
Hình 1.5. Kết hợp mật mã khóa đối xứng và cơng khai - Q trình mã hố ..................9
Hình 1.6. Kết hợp mật mã khóa đối xứng và cơng khai - Quá trình giải mã ...............10
Hình 1.7. Quy trình tạo chữ ký số và xác minh chữ ký số ............................................12
Hình 2.1. Chứng thư số .................................................................................................15
Hình 2.2. Các thành phần PKI .......................................................................................20
Hình 2.3. Mơ hình hoạt động của PKI...........................................................................23
Hình 2.4. Mơ hình khố cơng khai dùng đảm bảo tính bí mật ......................................24
Hình 2.5. Mơ hình dùng khố cơng khai để xác thực ...................................................25
Hình 2.6. Mơ hình khố cơng khai bí mật và xác thực .................................................26
Hình 2.7. Xác thực từ xa sử dụng cặp ID/Mật khẩu ......................................................28
Hình 2.8. Xác thực từ xa dựa trên khố cơng khai ........................................................29
Hình 2.9. Mơ hình kiến trúc CA đơn.............................................................................33

Hình 2.10. Mơ hình kiến trúc danh sách tin cậy CA .....................................................34
Hình 2.11. Mơ hình kiến trúc CA phân cấp ..................................................................35
Hình 2.12. Mơ hình kiến trúc CA lưới ..........................................................................37
Hình 2.13. Mơ hình kiến trúc cầu CA ...........................................................................40
Hình 3.1. Mơ hình PKI trong hệ thống mail an tồn .....................................................47
Hình 3.2. Request chứng thư .........................................................................................48
Hình 3.4. Mơ hình PKI trong hệ thống web an tồn ....................................................65
Hình 3.5. Request chứng thư trong web .......................................................................65

Số hóa bởi Trung tâm Học liệu

/>

iv

DANH MỤC CÁC CHỮ VIẾT TẮT

STT

TÊNVIẾT
TẮT

TÊN ĐẦY ĐỦ

DỊCH RA TIẾNG VIỆT
Thẩm quyền chứng thực

1

CA


Certificate Authority

2

CRLs

Certificate Revocation Lists

3

DES

Data Encrytion Standard

4

HTTP

5

6

HTTPS

Hypertext Transfer Protocol

bản
Giao thức truyền tải siêu văn


Protocol

bản an toàn

ITU

LDAP

Giao thức truyền tải siêu văn

Secure Hypertext Transfer

International
Telecommunication Union

7

Chuẩn mã hóa dữ liệu

Lightweight Directory Access
Protocol

Hiệp hội viễn thông quốc tế
Giao thức truy cập thư mục

8

MAC

Message Authentication Code


Xác thực mã ti nhắn

9

OCSP

Online Certificate Status

Trạng thái giao thức chứng

Protocol

chỉ trực tuyến

Public Key Cryptography

Chuẩn mật mã khóa cơng

Standards

khai

10

11

PKCS

PKI


Public Key Infrastructure

Cơ sở hạ tầng khóa cơng
khai

12

RA

Registration Authority

Thẩm quyền đăng ký

13

RSA

Rivest Shamir Adleman

Thuật tốn mã hóa RSA

14

SHA

Secure Hash Algorithm

Thuật tốn băm


15

SSL

Secure Socket Layer

Giao thức bảo mật web

Số hóa bởi Trung tâm Học liệu

/>

1

LỜI NĨI ĐẦU
Ngày nay, cơng nghệ thơng tin phát triển rất nhanh và được ứng dụng vào hầu
hết những lĩnh vực trong cuộc sống. Vai trị của cơng nghệ thơng tin ngày càng được
nâng cao, không chỉ dừng lại ở những ứng dụng văn phịng, cơng nghệ thơng tin cịn
được triển khai ở nhiều lĩnh vực. Bên cạnh những lợi thế trong việc áp dụng công nghệ
thông tin, việc sử dụng CNTT còn tiềm ẩn nhiều vấn đề còn tồn tại, trong đó có việc
đảm bảo an tồn thơng tin ví dụ như bị đánh cắp dự liệu, được phép đọc các tài liệu mà
không đủ thẩm quyền, dữ liệu bị phá hủy … Do đó, bên cạnh việc triển khai và sử
dụng CNTT, chúng ta cũng phải đảm bảo ATTT. Đảm bảo ATTT chính là đảm bảo hệ
thống có được ba yếu tố:


Tình tồn vẹn




Tính bí mật



Tính sẵn sàng

Trong lĩnh vực ATTT, sử dụng chứng thư số đã trở thành một trong các phương
pháp giúp chúng ta có thể bảo mật thông tin. Với chứng thư số, người sử dụng có thể
mã hóa thơng tin một cách hiệu quả, chống giả mạo thơng tin, xác thực người gửi.
Ngồi ra, chứng thư số còn là bằng chứng giúp chống chối cãi nguồn gốc, ngăn chặn
người gửi chối cãi nguồn gốc tài liệu mình đã gửi.
PKI là một cơ sở hạ tầng khóa cơng khai, phục vụ an tồn thơng tin. PKI sẽ
giúp người dùng xác thực được chủ thể của chứng thư số, cũng như có thể an tâm về
tính xác thực của chứng thư số.
Ở Việt Nam hiện nay đã có một số đơn vị cung cấp và triển khai dịch vụ chứng
thực số như Ban Cơ yếu Chính phủ, Bộ Thông Tin Truyền Thông, VNPT, Viettel,
FPT, BKAV … Các ứng dụng sử dụng chứng thực số ở Việt Nam chủ yếu là ký, mã
hóa dữ liệu, email, web, xác thực quyền truy cập, thanh toán số, …
Bố cục đề tài luận văn gồm có 3 phần, với nội dung từng phần cụ thể như sau:
Chƣơng 1: Tìm hiểu về lý thuyết mật mã với các chủ đề chính: mật mã khố
đối xứng, mật mã khố cơng khai, hàm băm và chữ ký số làm cơ sở cho việc tìm hiểu
hạ tầng khố cơng khai PKI.

Số hóa bởi Trung tâm Học liệu

/>

2

Chƣơng 2: Hạ tầng khố cơng khai đề tài luận văn trình bày về định nghĩa PKI,

chức năng chính, các thành phần của PKI, các mơ hình kiến trúc, các dịch vụ của PKI
và các nhà cung cấp dịch vụ chữ ký số công cộng đầu tiên tại Việt Nam.
Chƣơng 3: Ứng dụng mơ hình PKI trong hệ thống mail an tồn, và web an tồn.
Trước khi đi vào trình bày chi tiết nội dung đề tài, em xin gửi lời cảm ơn chân
thành tới các thầy cô Trường Đại Học Công Nghệ Thông Tin và Truyền Thông Thái
Nguyên. Đặc biệt, em xin gửi lời cảm ơn chân thành tới TS. Hồ Văn Hương, Ban Cơ yếu
Chính phủ đã định hướng và giúp đỡ nhiệt tình để em hồn thành đề tài luận văn này.
Do thời gian hoàn thành đề tài có hạn cũng như khả năng nghiên cứu cịn hạn
chế cho nên em không tránh khỏi những khiếm khuyết, em rất mong có được những
góp ý và giúp đỡ của các thầy cơ giáo để em có thể tiếp tục đề tài này ở mức ứng dụng
cao hơn trong tương lai.
Em xin chân thành cảm ơn.
Học Viên

Đỗ Văn Cảnh

Số hóa bởi Trung tâm Học liệu

/>

3

Chƣơng 1
TÌM HIỂU VỀ LÝ THUYẾT MẬT MÃ
Mật mã học là một ngành có lịch sử từ hàng nghìn năm nay, lịch sử mật mã học
chính là lịch sử của những phương pháp mật mã học cổ điển - các phương pháp mật
mã hóa với bút và giấy, đơi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào đầu
thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy Enigma,
đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hóa. Sự ra đời và
phát triển mạnh mẽ của ngành số và máy tính trong những thập kỷ gần đây đã tạo điều

kiện để mật mã học phát triển nhảy vọt lên một tầm cao mới.
Sự phát triển của mật mã học luôn luôn đi kèm với sự phát triển của các kỹ
thuật thám mã. Các phát hiện và ứng dụng của các kỹ thuật thám mã trong một số
trường hợp đã có ảnh hưởng đáng kể đến các sự kiện lịch sử. Một vài sự kiện đáng ghi
nhớ bao gồm việc phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế
chiến I và việc phá mã thành công hệ thống mật mã của Đức Quốc xã góp phần làm
đẩy nhanh thời điểm kết thúc thế chiến II.
Cho tới đầu thập kỷ 1970, các kỹ thuật liên quan tới mật mã học hầu như chỉ
nằm trong tay các chính phủ. Hai sự kiện đã khiến cho mật mã học trở nên thích hợp
cho mọi người, đó là: sự xuất hiện của tiêu chuẩn mật mã hóa DES và sự ra đời của
các kỹ thuật mật mã hóa khóa cơng khaiRSA. Kể từ đó, mật mã hóa đã trở thành cơng
cụ được sử dụng rộng rãi trong liên lạc và bảo mật máy tính.
Lý do mật mã hóa được sử dụng phổ biến để đảm bảo an tồn cho thơng tin liên
lạc. Các thuộc tính được yêu cầu là:
1. Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông
tin chứa đựng trong dạng đã mã hóa. Nội dung của thơng điệp chỉ được đọc khi người
nhận có khóa riêng.
2. Nguyên vẹn: Người nhận cần có khả năng xác định được thơng tin có bị thay
đổi trong q trình truyền thơng hay khơng.
3. Xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem
người gửi đó có thực sự gửi thông tin đi hay không.
4. Không từ chối: Người gửi khơng thể từ chối việc mình đã gửi thơng tin đi.
Số hóa bởi Trung tâm Học liệu

/>

4

5. Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần
đến người nhận mà người gửi không hề hay biết.

Mật mã được chia làm hai loại chính là mật mã khóa đối xứng và mật mã khóa
cơng khai.
1.1. Mật mã khố đối xứng
1.1.1. Khái niệm
Mật mã khóa đối xứng cịn được gọi là Mật mã khóa bí mật. Đây là phương
pháp mã hóa sử dụng cặp khóa đối xứng. Với phương pháp này, người gửi và người
nhận sẽ dùng chung một khóa để mã hóa và giải mã thơng điệp. Trước khi mã hóa
thơng điệp gửi đi, hai bên gửi và nhận phải có khóa chung và phải thống nhất thuật
tốn để mã hóa và giải mã. Để đảm bảo tính bí mật trong truyền thơng thì hai bên tham
gia truyền thơng phải giữ kín và khơng để lộ thơng tin về khóa mật cho người khác.
1.1.2. Bảo vệ tính bí mật của thơng tin với mật mã khóa đối xứng
Độ an tồn của thuật toán này phụ thuộc vào khoá, nếu để lộ khố này nghĩa là
bất kỳ người nào cũng có thể mã hố và giải mã thơng báo trong hệ thống mã hố.

Hình 1.1. Mã hóa khóa bí mật
Ứng dụng: Sử dụng trong mơi trường mà khố dễ dàng được chuyển đi, như
trong cùng một văn phòng. Cũng dùng để mã hố thơng tin khi lưu trữ trên đĩa nhớ.
1.1.3. Ƣu nhƣợc điểm của mật mã khoá đối xứng
a. Ưu điểm
- Tốc độ mã hóa rất nhanh
Số hóa bởi Trung tâm Học liệu

/>

5

b. Nhược điểm
- Hai bên bắt buộc phải tiến hành thống nhất với nhau về khóa mật thì mới có
thể truyền thơng an tồn.
- Việc phân phối khóa mật tới những người tham gia vào q trình truyền tin

thơng qua các kênh an tồn có thể dẫn đến việc bị lộ khóa.
- Nếu phải trao đổi thơng tin với nhiều đối tác, mỗi đối tác sử dụng một khóa mật
thì việc quản lý số lượng lớn khoá mật là điều hồn tồn khơng dễ dàng.
1.2. Mật mã khố cơng khai
1.2.1. Khái niệm
Mật mã hóa khóa cơng khai là một dạng mật mã hóa cho phép người sử dụng
trao đổi các thông tin mật mã mà không cần phải trao đổi các khóa chung bí mật trước
đó. Điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ tốn học với
nhau là khóa cơng khai và khóa bí mật.
Trong mật mã hóa khóa cơng khai, khóa riêng phải được giữ bí mật trong khi
khóa cơng khai được phổ biến cơng khai. Trong hai khóa, một dùng để mã hóa và
khóa cịn lại dùng để giải mã. Điều quan trọng đối với hệ thống là khơng thể tìm ra
khóa bí mật nếu chỉ biết khóa cơng khai.
1.2.2. Bảo vệ thơng tin với mật mã khố cơng khai
a. Bảo vệ tính bí mật thơng tin
Giả sử A muốn gửi cho B một thơng điệp M, A sẽ phải:
-

Mã hóa thơng điệp M bằng khóa cơng khai của B.

-

Gửi bản mã thông điệp cho B.

Khi B nhận được thông điệp đã được mã hóa của A, B sẽ sử dụng khóa riêng
của mình để giải mã thơng điệp đó.

Số hóa bởi Trung tâm Học liệu

/>


6

Hình 1.2. Mã hóa khóa cơng khai
Phương pháp này cung cấp tính bí mật vì chỉ có B mới có khóa bí mật để giải
mã thành cơng bản mã mà A đã gửi. Tuy nhiên, phương pháp này lại không cung cấp
bất kỳ quá trình xác thực nào để khẳng định bản mã mà B nhận là do A gửi, vì khóa
cơng khai của B ai cũng biết.
b.Xác thực thơng tin
A muốn mọi người biết được rằng tài liệu M là của chính A gửi, A có thể sử dụng
khóa riêng của mình để ký lên tài liệu M.
Khi ai đó nhận được tài liệu, ví dụ là B, B sẽ kiểm tra chữ ký có trong tài liệu M bằng
khóa cơng khai của A và có thể chắc chắn được rằng tài liệu này là do A ký vì chỉ có
A mới có khóa riêng dùng để ký lên tài liệu.

Hình 1.3. Xác thực thơng tin

Số hóa bởi Trung tâm Học liệu

/>

7

Phương pháp này giúp người sử dụng có thể xác thực được nguồn gốc của tài liệu,
nhưng lại không bảo vệ tính bí mật của tài liệu. Do đó, người khơng được quyền xem
tài liệu vẫn có thể xem được nó.
c.Bảo vệ bí mật và xác thực thơng tin
Để đảm bảo thơng tin vừa bí mật vừa xác thực, chúng ta phải thực hiện mã hóa
hai lần:
- Đầu tiên, A phải ký thơng điệp bằng khóa riêng của mình (thao tác này để

đảm bảo tính xác thực).
- Sau đó, A sử dụng khóa cơng khai của B để mã hóa tiếp thơng điệp vừa được
mã hóa (thao tác này để đảm bảo tính bí mật) .
Sau đó, A gửi bản mã cuối cùng đến B. B nhận được, sẽ làm giải mã theo thứ tự
ngược lại để lấy được bản tin rõ.

Hình 1.4. Ký và mã hố với khóa cơng khai
1.2.3. Ƣu nhƣợc điểm của mật mã khố cơng khai
a.Ƣu điểm
- Do cơng khai được dùng để mã hóa được cơng khai, khóa riêng dùng để giải
mã được giữ kín nên các bên khơng phải chia sẻ khóa mật nào khác trước khi truyền
thông với nhau, tạo ra sự đơn giản và tiện dụng.
- Số lượng khóa cơng khai cần phải phân phối bằng với số lượng người tham
gia truyền tin do đó giúp hệ thống có thể mở rộng được trong phạm vi lớn, đồng thời
tránh được những vấn đề phức tạp trong việc phân phối khóa cho các bên tham gia.
Số hóa bởi Trung tâm Học liệu

/>

8

- Hỗ trợ cơng nghệ chữ kí số cùng với các kết quả trả về từ hàm băm đảm bảo
được tính xác thực nguồn, tính tồn vẹn dữ liệu và hỗ trợ chống chối bỏ trách nhiệm.
b. Nhƣợc điểm
- Do bản chất các hệ mật mã khóa cơng khai đều dựa vào các bài tốn khó nên
tốc độ mã hóa chậm, đối với những dữ liệu lớn thời gian mã hóa cơng khai có thể
chậm hơn mã hóa đối xứng rất nhiều. Chính vì vậy mà hệ mật khóa cơng khai khó
được dùng một cách độc lập trong mật mã.
- Khi các bên cơng bố khóa cơng khai của mình cho người khác thì một vấn đề
nảy sinh là có thể có trường hợp cơng bố khóa cơng khai giả mạo, như vậy liên lạc sẽ

khơng được an tồn nữa. Do đó, vấn đề chứng thực khóa cơng khai trở nên cực kỳ
quan trọng trong mật mã khóa cơng khai. Để giải quyết vấn đề này cần phải có một
trung tâm tin cậy đứng ra chứng thực người dùng với khóa cơng khai tương ứng.

1.2.4. Thuật tốn RSA
Trong mật mã học, RSA là một thuật tốn mã hóa khóa cơng khai. Đây là thuật
toán phù hợp với việc tạo ra chữ ký số đồng thời với việc mã hóa. Nó đánh dấu một sự
tiến bộ vượt bậc của lĩnh vực mật mã trong việc sử dụng khóa cơng khai. RSA đang
được sử dụng phổ biến trong thương mại số và được cho là đảm bảo an toàn với điều
kiện độ dài khóa đủ lớn.
RSA có tốc độ thực hiện chậm hơn đáng kể so với các thuật tốn mã hóa đối
xứng. Trên thực tế, người ta thường sử dụng một thuật tốn mã hóa đối xứng nào đó
để mã hóa văn bản cần gửi và sử dụng thuật toán mã hóa cơng khai để phân phối khóa
đối xứng.
Ngồi ra, thuật tốn RSA cịn được dùng để tạo chữ ký số cho văn bản. Người
ký sẽ sử dụng khóa bí mật của mình để ký vào văn bản cần ký. Người nhận được văn
bản sau đó sẽ dùng khóa cơng khai của người ký để xác thực người gửi cũng như kiểm
tra tính tồn vẹn của văn bản.
Việc sử dụng RSA sẽ mang lại cho chúng ta một số ưu điểm:
- Quản lý khóa đơn giản: Trong mã hóa đối xứng, số khóa u cầu cho phép n
thực thể truyền thơng với nhau là n2 . Trong khi đó, đối với mã hóa cơng khai, mỗi
Số hóa bởi Trung tâm Học liệu

/>

9

thực thể cần 1 cặp khóa, tổng số khóa yêu cầu để truyền thông chỉ là 2*n. Như vậy,
việc quản lý khóa rất là đơn giản.
- Nâng cao mức độ an tồn cho việc giao dịch khóa: Mọi người dùng phải có

một cặp khóa, trong đó khóa bí mật khơng được chia sẻ cho bất ký ai, tránh được vấn
đề đảm bảo an tồn trong truyền khóa ở mật mã khóa bí mật.
Tuy nhiên, RSA cũng có những nhược điểm và nó vẫn có thể bị tấn cơng:
- Phân tích khóa cơng khai: Hiện nay RSA được đánh giá là an tồn, nó đã và
đang được sử dụng rộng rãi trên tồn thế giới. Tấn cơng được xem xét thường xun
nhất là phân tích khóa cơng khai. Nếu tấn cơng này thành cơng thì mọi thơng báo được
mã hóa bằng khóa cơng khai đều được giải mã.
- Tấn cơng vịng: Trong tấn công này, bản mã được giải mã nhiều lần cho đến
khi xuất hiện bản rõ. Phương pháp tấn cơng này rất chậm, đối với những khóa có độ
dài lớn, tấn công này là không thể.
- Tấn công dựa trên thời gian: kẻ tấn công sẽ dùng một siêu máy tình để tìm ra
một trong hai số thừa số nguyên tố.
1.3. Sử dụng kết hợp mật mã khoá đối xứng và khố cơng khai
Xuất phát từ ưu và nhược điểm của cả mật mã khóa đối xứng và mật mã khóa
bất đối xứng, sử dụng chung mật mã khóa đối xứng và mật mã khóa bất đối xứng có
được rất nhiều thuận lợi từ việc trao đổi khóa bí mật tới tăng tốc độ mã hóa, đảm bảo
được tính bí mật và tính xác thực … Dưới đây là mơ hình sử dụng kết hợp cả hai mật
mã trên trong truyền thơng:

Hình 1.5. Kết hợp mật mã khóa đối xứng và cơng khai - Q trình mã hố

Số hóa bởi Trung tâm Học liệu

/>

10

Giả sử A muốn gửi cho B một thông điệp X. Ban đầu A sẽ tạo ra một khóa bí
mật S, rồi dùng một thuật tốn mật mã khóa đối xứng để mã hóa thơng điệp X tạo ra
bản mã Y.

Tiếp theo A lấy khóa cơng khai mà B cơng bố về và sử dụng khóa cơng khai
của B để mã hóa khóa bí mật S tạo ra bản mã S1. Sau đó A gửi đồng thời Y và S1 tới
cho B.

Hình 1.6. Kết hợp mật mã khóa đối xứng và cơng khai - Q trình giải mã
Khi nhận được, B sẽ dùng khóa riêng của mình giải mã S1 kết quả thu được là
khóa mật S. B dùng khóa mật S để giải mã bản mã Y và thu được bản rõ X mà A
muốn gửi cho B.
Như vậy với cách sử dụng kết hợp này, ta tận dụng được tốc độ mã hóa nhanh
của mật mã khóa đối xứng, tận dụng được độ mạnh về bảo mật và sự thuận tiện của
mật mã khóa cơng khai để truyền khóa mật. Mơ hình sử dụng kết hợp này được dùng
rất phổ biến hiện nay.
1.4. Chữ ký số
Chữ ký số dựa trên nền tảng mật mã khóa bất đối xứng, mỗi chủ thể truyền
thơng sẽ có một cặp khóa riêng/cơng khai, khóa riêng được chủ thể giữ bí mật và khóa
cơng khai được cơng bố cơng khai, nếu chỉ biết khóa cơng khai thì khơng thể tìm ra
khóa riêng tương ứng. Chữ ký số là thơng tin được mã hóa bằng khóa riêng của người
gửi, được gửi kèm theo văn bản nhằm đảm bảo cho người nhận định danh và xác thực
đúng nguồn gốc, tính tồn vẹn của dữ liệu nhận được. Chữ ký số thể hiện văn bản gửi đi
Số hóa bởi Trung tâm Học liệu

/>

11

là đã được ký bởi chính người sở hữu một khóa riêng tương ứng với một khóa cơng khai
nào đó. Khi sử dụng chữ ký số trong truyền thông sẽ đảm bảo được các tính chất sau:
- Xác thực được định danh của người gửi và nguồn gốc của thông điệp bởi vì
chỉ có người gửi mới có thể tạo ra chữ ký có giá trị và được xác minh đúng đắn khi sử
dụng khóa cơng khai tương ứng để xác minh.

- Bất kỳ một sử đổi nào trên thông điệp trên đường truyền đều dẫn đến kết quả
quá trình xác minh chữ ký là khơng chính xác nên đảm bảo được tính tồn vẹn của dữ
liệu được gửi.
- Chỉ có người chủ khóa riêng mới có thể ký số, chính vì vậy mà người này sẽ
khơng thể chối bỏ trách nhiệm của mình khi đã ký gửi các bản tin.
- Không thể tạo ra một văn bản với một chữ ký có sẵn chính vì vậy mà khơng
thể dùng lại chữ ký.
Bản chất của quá trình ký lên bản tin chính là sử dụng khóa bí mật của mình để
mã hóa bản tin. Nếu áp dụng đúng nghĩa như vậy thì sẽ nảy sinh một số vấn đề khi bản
tin lớn, vấn đề này xuất phát từ chính bản thân chữ ký số là sử dụng mật mã khóa cơng
khai. Chính vì vậy mà kỹ thuật sử dụng chữ ký số với hàm băm được đề cập dưới đây
là giải pháp được sử dụng hiện nay.
Quy trình tạo và xác minh chữ ký:
a. Tạo chữ ký số:
- Bên gửi sẽ sử dụng một hàm băm để băm bản tin cần gửi đi, kết quả thu được
một giá trị băm. Một số hàm băm thường được dùng là MD5 ( cho giá trị băm dài 128
bits ), SHA (cho giá trị băm dài 160 bits).
- Bên gửi sẽ sử dụng khóa riêng của mình để ký (mã hóa) lên giá trị băm vừa thu
được từ việc băm bản tin, kết quả thu được là chữ ký của người gửi trên bản tin cần gửi.
- Bên gửi gộp bản tin cần gửi và chữ ký tương ứng tới cho bên nhận.

Số hóa bởi Trung tâm Học liệu

/>

12

Hình 1.7. Quy trình tạo chữ ký số và xác minh chữ ký số
b. Xác minh chữ ký số:
- Bên nhận sẽ sử dụng hàm băm để băm bản tin, kết quả thu được giá trị băm

H1 trên bản tin
- Bên nhận sử dụng khóa cơng khai của bên gửi để giải mã chữ ký mà bên gửi
đã gửi. Kết quả thu được giá trị H2
- Bên gửi sẽ so sánh giá trị của H1 và H2, nếu như H1=H2 thì chữ ký trên thơng
điệp được gửi là có giá trị tức là bản tin được gửi từ người có khóa riêng tương ứng với
khóa cơng khai dùng để xác minh và bản tin không bị thay đổi trong quá trình truyền,
ngược lại nếu H1 khác H2 thì chữ ký trên thơng điệp được gửi là khơng có giá trị.
Hiện nay thì có hai sơ đồ chữ ký số thường được sử dụng để ký số đó là sơ đồ
chữ ký RSA và chuẩn chữ ký số DSA.
1.5.Hàm băm
Như đã biết thì chữ ký số dựa trên nền tảng là mật mã khóa bất đối xứng, q
trình ký số cũng chính là q trình mã hóa. Trong khi đó tốc độ mã hóa của mật mã
khóa bất đối xứng thì lại chậm. Do đó nếu như bản tin cần ký có độ dài lớn thì sẽ nảy
sinh một số vấn đề:
- Với một bản tin có độ dài là a thì chữ ký được sinh ra tương ứng với bản tin
đó cũng có độ dài a, và người gửi sẽ phải gửi một thông điệp dài 2a ( gồm cả bản tin
và chữ ký ) tới cho người nhận. Điều này rõ ràng là một bất cập.
- Tốc độ sinh ra chữ ký sẽ rất chậm nếu như độ dài của bản tin lớn, và nếu như
bản tin có kích thước rất lớn thì thực sự việc tạo ra chữ ký số sẽ mất rất nhiều thời gian
và có thể có các khó khăn về mặt tính tốn số học.
Số hóa bởi Trung tâm Học liệu

/>

13

Từ các vấn đề nảy sinh trên, ý tưởng đưa ra đó là thay vì ký lên tồn bộ bản tin
thì có thể thực hiện ký lên một mẫu dữ liệu nhỏ là đại diện cho bản tin cần ký (giá trị
băm cả bản tin). Sử dụng hàm băm để sinh ra giá trị băm cho các bản tin cần ký.
Hàm băm là hàm một chiều mà nếu đầu vào của nó là dữ liệu có độ dài bất kỳ

thì đầu ra sẽ là một chuỗi có độ dài cố định. Đầu ra này được gọi là giá trị băm hay bản
tóm lược thơng điệp. Giá trị băm này có hai thuộc tính:
+ Tính duy nhất: Với mỗi bản tin đầu vào thì qua hàm băm sẽ thu được giá trị
băm z= h(X) là duy nhất. Trường hợp hai bản tin khác nhau cho ra cùng giá trị
băm xảy ra rất ít.
+ Tính một chiều: Từ giá trị băm khơng thể suy ngược ra được bản tin trước khi băm.
- Hàm băm một chiều có các tính chất sau:
+ Với mỗi bản tin đầu vào X thì thu được bản băm z = h(X) là duy nhất.
+ Nếu dữ liệu trong bản tin đầu X bị thay đổi thành một bản tin X’ thì h(X) sẽ
khác h(X’). Cho dù sự thay đổi thông tin giữa X và X’ là rất ít thì giá trị băm của
hai bản tin vẫn khác nhau. Tức là với hai bản tin khác nhau thì giá trị băm thu
được trên chúng cũng khác nhau.
- Nội dung của bản tin gốc không thể suy ngược ra được từ giá trị băm: Với một
bản tin X thì việc tính giá trị băm z = h(X) là rât dễ dàng, nhưng từ giá trị băm z không
thể suy ngược lại được bản tin X lúc đầu.
Hàm băm được sử dụng với mục đích đảm bảo sự tồn vẹn của thơng tin được gửi
từ nguồn tới đích. Do tính chất “đại diện” của giá trị băm cho bản tin được băm cho nên
hàm băm được sử dụng trong quá trình ký số. Với bất kỳ một bản tin có cỡ lớn bao nhiêu
thì giá trị băm cũng cố định và tương đối nhỏ, thuận tiện cho việc sinh ra chữ ký. Các
bước sử dụng kết hợp hàm băm trong ký số đã được trình bày ở phần chữ ký số.
Kết luận chƣơng: Chương này tìm hiểu với các chủ đề chính: Mật mã khố đối
xứng, mật mã khố cơng khai, hàm băm và chữ ký số làm cơ sở cho việc tìm hiểu hạ
tầng khố cơng khai PKI.

Số hóa bởi Trung tâm Học liệu

/>

14


Chƣơng 2
HẠ TẦNG KHĨA CƠNG KHAI
Trong lịch sử mật mã học, khóa dùng trong các q trình mã hóa và giải mã
phải được giữ bí mật và cần được trao đổi bằng một phương pháp an tồn khác (khơng
dùng mật mã) như gặp nhau trực tiếp hay thông qua một người đưa thư tin cậy. Vì vậy
quá trình phân phối khóa trong thực tế gặp rất nhiều khó khăn, đặc biệt là khi số lượng
người sử dụng rất lớn. PKI đã giải quyết được vấn đề này vì nó cho phép người dùng gửi
thông tin mật trên đường truyền không an tồn mà khơng cần thỏa thuận khóa từ trước.
Thuật toán PKI được thiết kế đầu tiên bởi James H. Ellis, Clifford Cocks, và
Malcolm Williamson tại GCHQ (Anh) vào đầu thập kỷ 1970. Thuật toán sau này được
phát triển và biết đến dưới tên Diffie-Hellman, và là một trường hợp đặc biệt của RSA.
Tuy nhiên những thông tin này chỉ được tiết lộ vào năm 1997.
2.1. Các khái niệm cơ bản
2.1.1. Khái niệm PKI
Nền tảng cho mọi phương thúc truyền thông là một cơ chế tin cậy nên dù
truyền thông dựa vào phương thức vật lý hay là số. Đối với việc truyền thơng vật lý thì
việc xây dựng cơ chế tin cậy là dễ dàng hơn khi bạn có thể phân biệt mọi người với
nhau thông qua khuôn mặt hoặc các giấy tờ khác như là chữ ký, chứng minh thư. Tuy
nhiên, đối với việc truyền thông số,xây dựng cơ chế tin cậy là cơng việc khá khó khăn
khi phải định danh những thực thể không xác định. Do vậy các nhà khoa học đã xây
dựng một cơ chế tin cậy này có tên là hạ tầng khố cơng khai - Public key
infrastructure (PKI) đồng thời thì cũng có nhiều định nghĩa về PKI.
Trong mật mã học, hạ tầng khóa cơng khai (PKI) là một cơ chế để cho một bên
thứ 3 (thường là nhà cung cấp chứng thư số) cung cấp và xác thực định danh các bên
tham gia vào q trình trao đổi thơng tin. Cơ chế này cũng cho phép gán cho mỗi
người sử dụng trong hệ thống một cặp khố cơng khai và khố bí mật. Các quá trình
này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm phối
hợp khác tại các địa điểm của người dùng. Khóa cơng khai thường được phân phối
trong chứng thực khố cơng khai.


Số hóa bởi Trung tâm Học liệu

/>

15

Đồng thời khái niệm hạ tầng khố cơng khai (PKI) cũng thường được dùng chỉ
toàn bộ hệ thống bao gồm cả nhà cung cấp chứng thư số (CA) cùng các cơ chế liên
quan đồng thời với toàn bộ việc sử dụng các thuật tốn mã hố cơng khai trong trao
đổi thông tin. Tuy nhiên phần sau được bao gồm không hồn tồn chính xác bởi vì các
cơ chế trong PKI khơng nhất thiết sử dụng các thuật tốn mã hố công khai.
2.1.2. Các khái niệm liên quan
2.1.2.1. Chứng thƣ số
Chứng thư số là một tài liệu sử dụng chữ ký số kết hợp với khóa cơng khai với một
định danh thực thể (cá nhân, tổ chức, máy chủ, dịch vụ, … )
Chứng thư số không chứa bất kỳ một thông tin bí mật nào. Về cơ bản, chứng thư số
chứa những thơng tin cần thiết như khóa cơng khai, chủ thể (người sở hữu), bên cấp
chứng thư số và một số thơng tin khác. Tính hợp lệ của các thơng tin được đảm bảo
bằng chữ ký số của bên cấp chứng thư số. Người dùng muốn sử dụng chứng thư số
trước hết sẽ kiểm tra chữ ký số trong chứng thư số. Nếu chữ ký đó hợp lệ thì có thể sử
dụng chứng thư số đó.Có nhiều lọai chứng thư số, một trong số đó là:


Chứng thư số khóa cơng khai X.509



Chứng thư số khóa cơng khai đơn giản (Simple Public Key Certificate – SPKC)




Chứng thư số PGP



Chứng thư số thuộc tính (Attribute Certificate – AC)

Hình 2.1. Chứng thư số

Số hóa bởi Trung tâm Học liệu

/>

16

Tất cả các loại chứng thư số này đều có cấu trúc dạng riêng biệt. Hiện nay
chứng thư số khóa công khai X.509 được sử dụng phổ biến trong hầu hết các hệ thống
PKI. Chứng thư số X.509 version 3 được Hiệp hội viễn thông quốc tế (ITU) đưa ra lần
đầu tiên năm 1998. Chứng thư số này gồm 2 phần: phần đầu là những trường cơ bản
cần thiết phải có trong chứng thư số, phần thứ hai là phần chứa một số các trường phụ,
hay còn gọi là trường mở rộng. Các trường mở rộng thường được dùng để xác định và
đáp ứng những yêu cầu bổ sung của hệ thống.
Hình minh hoạ cấu trúc chứng thư số X.509

- Version : phiên bản của chứng thư số
- Serial Number: số serial của chứng thư số, là định danh duy nhất của chứng
thư số, có giá trị nguyên.
- Certificate-Signature--Algorithm: thuật toán CA sử dụng để ký chứng thư số
- Issuer: Tên chủ thể phát hành chứng thư số
- Validity: Thời hạn của chứng thư số

- Subject: Tên chủ thể của chứng thư số
- Subject Public Key Info
+ Subject Public Key Algorithm: Thuật tốn sinh khóa cơng khai
+ Subject's Public Key: Khóa cơng khai
* Extensions: Phần mở rộng.
2.1.2.2. Kho chứng thƣ số

Số hóa bởi Trung tâm Học liệu

/>

17

Chứng thư số được cấp bởi CA kết hợp với khóa cơng khai với nhận dạng của
thực thể B. Tuy nhiên nếu thực thể A khơng có khả năng xác định vị trí chứng thư số
này một cách dễ dàng thì anh ta cũng khơng có hiệu quả gì hơn so với việc chứng thư
số này chưa được tạo ra.
Do đó, phải có một kho chứng thư số trực tuyến (online repositories), quy mô
lớn và mềm dẻo và phải được đặt ở vị trí mà A có thể xác định vị trí chứng thư số mà
anh ta cần để truyền thơng an tồn.
2.1.2.3. Thu hồi chứng thƣ số
Trong một số trường hợp như khóa bị xâm hại, hoặc người sở hữu chứng thư số
thay đổi vị trí, cơ quan … thì chứng thư số đã được cấp khơng có hiệu lực. Do đó, cần
phải có một cơ chế cho phép người sử dụng chứng thư số kiểm tra được trạng thái thu
hồi chứng thư số. X.509 cho phép kiểm tra chứng thư số trong các trường hợp sau:
- Chứng thư số không bị thu hồi
- Chứng thư số đã bị CA cấp thu hồi
- Chứng thư số do một tổ chức có thẩm quyền mà CA ủy thác có trách nhiệm
thu hồi chứng thư số.
2.1.2.4. Công bố và gửi thông báo thu hồi chứng thƣ số

Danh sách huỷ bỏ chứng thực số bao gồm các chứng thực đã hết hạn hoặc đã bị
thu hồi. Tất cả các xác thực đều có thời hạn. Đây là một quy định mang tính thiết kế,
tuy nhiên trước đây, rất khó thực hiện quy định này bởi việc gia hạn chứng thực
thường phải được thông báo tới tất cả người dùng sử dụng chứng thực đó. Tính năng
này bảo đảm rằng các chứng thực hết hạn sẽ được gia hạn tự động khi đến thời hạn.
Với một số lý do nhất định cần thiết phải huỷ bỏ chứng thực chứ không chỉ đơn
thuần là làm cho nó hết hạn. Cơng việc này có thể được thực hiện thông qua cơ chế
danh sách huỷ bỏ chứng thực tự động. Các chủ thể có thẩm quyền cấp phép chứng
thực (CA) thông thường sẽ làm công việc gửi các danh sách này tới người dùng, tuy
nhiên họ cũng có thể uỷ nhiệm cho một bộ phận khác.Thơng thường chứng thư số sẽ
hợp lệ trong khoảng thời gian có hiệu lực. Nhưng trong một số trường hợp chứng thư
số lại không hợp lệ trước thời gian hết hạn, ví dụ như:
- Khóa riêng của chủ thể bị xâm phạm
- Thông tin chứa trong chứng thư số bị thay đổi
Số hóa bởi Trung tâm Học liệu

/>

×