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

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Ứ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

Tác giả

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

LỜI CẢM ƠN
Để hoà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 quý 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 hoà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à hoàn thành tốt khóa học.
Mặc dù tôi đã có nhiều cố gắng hoà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 quí báu của quý thầy cô và các bạn.

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 khoá – Key Pair Generation 24
2.3.2. Quá trình tạo chữ ký số - Digital Signature Generation 25
2.3.3. Quá trình mã hoá 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. Quá trình nhận thông điệp và gửi sự kiểm chứng xác nhận 26
2.3.5. Quá trình giải mã thông điệp 26
2.3.6. Quá 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

Hình 1.4. Ký và mã hoá 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 - Quá trình mã hoá 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 khoá công khai dùng đảm bảo tính bí mật 24
Hình 2.5. Mô hình dùng khoá công khai để xác thực 25
Hình 2.6. Mô hình khoá 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 khoá 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 toà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 toà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

Hiệp hội viễn thông quốc tế
7
LDAP
Lightweight Directory Access
Protocol
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
Protocol
Trạng thái giao thức chứng
chỉ trực tuyến
10
PKCS
Public Key Cryptography
Standards
Chuẩn mật mã khóa công
khai
11
PKI
Public Key Infrastructure
Cơ sở hạ tầng khóa công
khai
12
RA
Registration Authority

• 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.
Ngoà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 toà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ã khoá
đối xứng, mật mã khoá 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 khoá công khai PKI.

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

2
Chƣơng 2: Hạ tầng khoá 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 toàn, và web an toà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 hoà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

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 toà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 quá 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ã khoá đố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

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ã khoá 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


được tính xác thực nguồn, tính toà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 toá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 toà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 toán RSA
Trong mật mã học, RSA là một thuật toá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 toán mã hóa đối
xứng. Trên thực tế, người ta thường sử dụng một thuật toá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.
Ngoài ra, thuật toá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 toà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 yêu cầu cho phép n
thực thể truyền thông với nhau là n

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 toá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 - Quá 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 toà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

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, quá
trình ký số cũng chính là quá 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 toá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 toà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ý.

Trong lịch sử mật mã học, khóa dùng trong các quá 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 toà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 toà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 khoá 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 quá 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 khoá công khai và khoá 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 khoá công khai.

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


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 toá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 toà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ố


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status