ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
ĐẶNG BÌNH PHƢƠNG
NGHIÊN CỨU KIẾN TRÚC VÀ XÂY DỰNG
HỆ THỐNG CHỨNG THỰC TẬP TRUNG
LUẬN VĂN THẠC SĨ
NGÀNH CÔNG NGHỆ THÔNG TIN
Thành phố Hồ Chí Minh – Năm 2008
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
ĐẶNG BÌNH PHƢƠNG
NGHIÊN CỨU KIẾN TRÚC VÀ XÂY DỰNG
HỆ THỐNG CHỨNG THỰC TẬP TRUNG
Chuyên nga
̀
nh: Khoa học Máy tính
M số: 60.48.01
LUẬN VĂN THẠC SĨ
(NGÀNH CÔNG NGHỆ THÔNG TIN)
NGƢỜI HƢỚNG DẪN KHOA HỌC:
TS. NGUYỄN ĐÌNH THÚC
Thành phố Hồ Chí Minh – Năm 2008
Lời cảm ơn
nthh
n
nt
PGS.TPGS.PGS.TS. ,
TS.
v
8 8
i
Mục lục
Chƣơng 1 Mở đầu 1
1.1 1
1.2 3
1.2.1 3
1.2.2 5
1.3 7
1.4 8
1.5 9
Chƣơng 2 Chữ ký số 11
2.1 11
2.1.1 11
2.1.2 13
2.1.3 14
2.1.4 15
2.2 17
2.2.1 17
2.2.2 18
2.2.3 24
2.3 29
2.3.1 29
2.3.2 29
2.3.3 34
2.4 39
Chƣơng 3 Tổ chức chứng nhận khóa công khai 41
3.1 41
3.2 42
3.2.1 42
3.2.2 46
3.3 47
3.3.1 47
3.3.2 47
3.3.3 49
3.3.4 49
3.3.5 50
3.4 51
ii
Chƣơng 4 Hạ tầng khóa công khai 52
4.1 52
4.1.1 52
4.1.2 53
4.1.3 55
4.2 59
4.2.1 61
4.2.2 63
4.2.3 65
4.2.4 68
4.2.5 70
4.2.6 76
4.3 77
Chƣơng 5 Phân tích một số nguy cơ tổn thƣơng trong hệ m RSA 79
5.1 79
5.1.1 79
5.1.2 80
5.1.3 81
5.2 82
5.2.1 83
5.2.2 87
5.2.3 88
5.2.4 90
5.2.5 90
5.2.6 94
5.3 94
Chƣơng 6 Một số bài toán quan trọng trong hệ m RSA 97
6.1 97
6.2 97
6.3 100
6.4 101
6.4.1 101
6.4.2 102
6.4.3 104
6.5 106
6.5.1 106
6.5.2 107
6.5.3 111
6.5.4 112
6.6 112
iii
Chƣơng 7 Xây dựng bộ thƣ viện “SmartRSA”, cài đặt hiệu quả hệ m RSA 113
7.1 113
7.2 113
7.3 114
7.4 114
7.4.1 115
7.4.2 116
7.4.3 120
7.5 124
Chƣơng 8 Cải tiến và triển khai hệ thống chứng thực khóa công khai sử
dụng gói phần mềm m nguồn mở EJBCA 125
8.1 125
8.1.1 125
8.1.2 127
8.1.3 128
8.1.4 128
8.1.5 129
8.2 130
8.2.1 130
8.2.2 131
8.2.3 Nhn xt 133
8.3 133
8.3.1 133
8.3.2 133
8.3.3 137
8.4 143
Chƣơng 9 Kết luận 144
9.1 144
9.2 145
Tài liệu tham khảo 146
Phụ lục A Tên phân biệt theo chuẩn X.500 151
Phụ lục B Triển khai EJBCA trên môi trƣờng Windows và Linux 152
iv
Danh sách hình
6
12
15
16
17
- 25
--1 26
-512 27
--160, SHA--256 28
35
36
36
43
45
46
47
48
50
55
59
61
62
63
64
65
66
67
68
v
69
71
72
73
74
75
116
,
1
2
80
117
,
1
2
80
118
-
-
,
1
2
80
120
121
122
124
127
RSA 132
134
137
137
dng 138
138
139
139
140
vi
Ni dung ci dng 140
141
141
142
142
151
vii
Danh sách bảng
21
-1 25
--224/256/384/512 26
- 27
--160, SHA--256 28
35
37
38
39
76
77
82
115
,
1
2
80
117
,
1
2
80
118
-
,
1
2
80
119
121
122
123
129
135
viii
Danh sách thuật toán
98
100
102
-Strassen 103
104
107
107
108
109
109
110
111
132
ix
Danh sách các ký hiệu, các từ viết tắt
Vit tt
ngha
CA
Certificate Authority: T chc chng nhn
CRL
Certificate Revocation List: Danh sch hy b chng nhn
DN
Distinguished Name: Tn phn bit
PKCS
Public Key Cryptography Standard: Chun m ha kha cng khai
PKI
Public Key Infrastructure: H tng kha cng khai
SHA
Secure Hash Algorithm: Thut ton bm an ton
SHS
Secure Hash Standard: Chun bm an ton
1
Chƣơng 1
Mở đầu
Nội dung của chương này trình bày tổng quan về hạ tầng khóa công khai (PKI),
giới thiệu khái quát về tình hình triển khai và nhu cầu sử dụng PKI trong thực tế,
đồng thời nêu lên mục tiêu, nội dung và ý nghĩa của đề tài.
1.1 Giới thiệu tổng quan
Ngy nay, vi s pht trin ca h tng truyn thng cng ngh thng tin, vic giao
tip qua mng Internet ang tr thnh mt nhu cu cn thit. Hu ht mi hong
nh giao tip, gii tr, u chuyn t cch thc truyn thng sang mi
trng in t. Mi trng lm vic nn nhiu c hi nhng cng ny sinh
rt nhiu v v an ton thng tin nghim trng.
u nh m
s ti khon, thng tin mNhng vi cc th on tinh vi, nguy c nhng thng
tin ny b nh cp qua mng tht s l v ng quan tm.
Truyn thng trn Internet ch yu s dng giao thc TCP/IP. Giao thc ny cho
php thc gi t my tnh ny ti my tnh khc thng qua mt lot cc
my trung gian hoc cc mng ring bit nn to c hi cho nhng k trm cng
ngh cao c th thc hin cc hng phi php do cc thng tin ny c th b nghe
trm, gi mo, mo danh Bin php bo mt hin nay nh dng mt khu
khng m bo v c th b nghe trm hoc b d ra nhanh chng i s dng
ng chn mt khu ngn, d nh, dng chung v i mt khu. Mt
khc, do cc thng tin in t ny khc xc thc trong qu tri nn
khi b sao chp hay si s khng th pht hic.
Ch k s i gii quyc v . Ch k s d trn k thut m ha
bi xng, trong mi c mt cp kha, mt kha b mt v mt kha
2
c
i thng tin b
mi gi s dng kha cng khai c i nh m ha thng ip cn
gi, sau i nhn s s dng kha b mt tng ng ca mnh gii m thng
ip nh m bo tnh ton vn, chng b gi mo hoc thay i ni dung
trong qu trnh gi gi s dng kha b mt ca m o thng ip
cn gi, sau i nhn s s dng kha cng khai ci g xc nhn ch
k trn thng ip nhc.
Tuy nhin, do kha
S cny c thc hin bi mt t chc trung
gian th ba ng tin cy v c gi l T(Certification Authority
CA). T chc ny s cp cho mi i s dng mt chng nhn s xc nhn
danh tnh i s dng v kha cng khai ci ny. Chng nhn s ch
thng tin c nhn v kha cng khai ca ngc cp km vi ch k xc nhn
ca t chc cp chng nhn. Vi chng nhn si s dng c th m ha thng
tin mt cch hiu qu, chng gi mo (cho phi nhn kim tra xem c b thay
i khng) v xc thc danh ti gi. Ngoi ra, chng nhn s cn l bng
chng ngn chi gi chi ci ngun gc ti liu mnh gi.
C cu t chc gi, ph cng v phn mm, nhng chnh sch, tin trnh
v dh v bo mt, nhng giao thc h tr vic s dng m ha kha cng khai
pht hnh to
(Public Key Infrastructure PKI). Nhu cu thit
lp h tng c t cui nhng nm 1990, khi
a
3
1.2 Tình hình triển khai
1.2.1 Thế giới
Rt nhiu quc gia trong khu vc cng nh trn ton th gii v y mnh
ng dng cng ngh thng tin nhm phc v cho cc ho ng kinh doanh v
i sng x hi bng vic ban hnh cc b lut lin thng mi in t, ch
k in t. i y l thi im ban hnh cc b lut ca mt s quc gia trn th
gii [15, tr.35-37]:
UNCITRALC, n cc
b lut ca cc quc gia trn th gii.
Chu M
Canada:
Mexico
M: l G , l C
.
(13/12/1999
Anh, Scotland WalesTtin (2002).
: lC.
Cng ha Czech: lut Ch k in t (2000).
Cng ha Litva
: lut Ch k in t (2001, chnh sa vo nm 2005).
Ireland
: lut Lin bang v ch k s in t (10/01/2002)
Nauy: lC.
Rumani: lut Ch k in t (2001).
Ty Ban Nha: lut Ch k in t (2003).
4
Thy in: lut Ch k in t (2000).
: lL(2003).
i Dng
New Zealand: lut Giao dch in t (2002).
.
Chu
: lC6/2000).
t (4/2002).
: lC (2/1999).
Hong Kong
Singapore
(2001).
: lC (8/2004).
Nam Phi:
Bn cnh vic ban hnh cc b lut, cc cng trin khai thnh cng cc h
tng PKI cho ton quc gia ch khng phi n l cho tng t chc. Cc s liu sau
c ghi nhn thng 5/2005 ti mt s quc gia Chu [35, tr.4-10]:
nh
PKI PKI
PKI
PKI
: .
5
Singapore:
: thng ,
bn bo mt
:
: Hpht
, c tuyn, h thng quc
khn tn t.
1.2.2 Việt Nam
Nam, cc b lut cng nh ngh c ban hnh kh tr so vi
cc quc gia trong khu vc v trn th gii:
LGiao dthnh 51/2005/QH11),
.
Lt,
t .
-
-
-
-
.
-
.
6
1.1. Thi im ban hnh cc lut lin quan PKI ca cc quc gia trn th gii
Tnhng
t N
Vietcombank, ACB, S chm tr ny mt phn l do
tr khoa hc k thut trong lnh vc cng ngh thng tin c ta cn non km,
phn khc l do s thiu quyt tm v tr tr trong cng tc nghin cu v trin khai.
Ti -TT trong
ng
(CNTT)
trung tm chng thc s quc gia (Root CA)
/2007
nhn
nhng mn 16/5/2008 (tc hn na nm sau),
Thng tin v Truyn thng (TT&TT) mi
2
CA. Tuy nhin thi im ny h thng vn chc i vo hong.
7
1.3 Nhu cầu thực tế
S chm tr trong vic trin khai h tng PKI,
khng ch n c c nhn, t chc
c lin quan m cn lm cho Vi Nam ng cng tt hu v mt cng ngh v thit
h v kinh t. Ti
CNTT-ng V
c Nam (Th ng B TT&TT), ( Phng
Thng mi v Cng nghip Vit Nam VCCI) v n (
, T&TT) a ra mt s v d in hnh nh sau:
M
10 2
, mt
nhng xa l Vit Nam.
tr gi gn 1 tri-la M
cho rng
,
l iu
V
nhm
Sau khi ban hnh cc b lut v ngh nh lm hnh lang php l trong lnh vc
thng mi n t, tuy cha x dng h tng quc gia nhng Vit Nam thu ht
kh nhiu t quan trng:
ton v Truyn s liu
cnhn
nhm hp tc
8
gc nhn
,
.
TT&TT
eBay,
www.chodientu.vn
1
kh khn ch yu trong vic trin khai h tng kha cng khai Vit Nam l la
chn m hnh PKI no ph hp vc ta trin khai. H
nhau c p dng trn th gii
tp trung PKI phn cp
. M v theo
phn tch th m hnh PKI phn cp ph hp vi Vit Nam nht v hin c
tp trung nghin cu v trin khai (chi tic trnh by ).
1.4 Mục tiêu của đề tài
Chng nhn kha cng khai v h tng kha cng khai c phm vi nghin cu rt
rng. Do , mc tiu c ti nhm tp trung nghin cu mt s v sau:
Phn tch v th nghim cc m hnh ch k s v cc thut ton lin quan
nhm chn m hnh ph h tp trung nghin cu.
Tm hiu chc nng v cc v lin chng nhn kha cng khai.
Nghin cu v phn tch cc kin trc h tng kha cng khai, t nh gi
v chn la kin trc ph hp c th trin khai trong thc t.
1
Trang web www.chodientu.vn .
9
Nghin cu v phn tch cc nguy c tn thng trn h m kha cng khai
RSA, ht nh ca PKI, ng thi a ra gii ph chng li cc nguy c
tn thng ny.
Nghin cu v gii quyt mt s bi ton quan trng nhm ct h m RSA
an ton v hiu qu.
Trn c s phn tch , xy dng b th vin m ha nhm ct hiu qu
h m ng thi tin hnh th nghim cc thut toc c
nh gi tnh hiu qu ca n.
Tm hiu v chn mt gi phn m m ngun m ph bin hin nay c th
trin khai mt h thng PKI/CA hon ch phn tch v ci tin nhm trin
khai hiu qu trong thc t ng thi c th kim soc qu trnh pht
trin cng nh an ton ca h thng ny.
1.5 Nội dung của luận văn
, trnh by cc nghin cu, phn tch v nh gi v
kin trc h t kha cng khai v cc thnh phn quan trng lin quan.
s tp trung nghin cu v phn tch cc nguy c tn thng tr h m
RSA v mt s bi ton quan trng khi ct h m ny. Trn c s phn tch ,
s gii thiu b th vin SmartRSA c xy dng cng cc th nghim
nhm nh gi tnh hiu qu khi ct h m RSA. s gii thiu gi phn
mm m ngun m EJBCA c kh nng trin khai mt h thng PKI/CA hon
chc ch tm hiu, phn tch, ci tin v trin khai th nghim trong thc
t. Mt s kt lun v ng pht trin c tc trnh by .
Ni dung cc chng c th nh sau:
tng quan v h tng kha cng thi
tiu
trnh by
10
.
.
c, c th
trin khai trong .
trnh by v
gii php .
trnh by cc v mt s
kt hp vi nhng c s phn tch chng trn
.
SmartRSA
ct
cng
chng ny.
nng
cng nh c th
kim soc qu trnh pht trin v an ton ca h thng, ti
.
11
Chƣơng 2
Chữ ký số
Nội dung của chương này trình bày khái niệm, nhu cầu và nguyên lý hoạt động
của chữ ký số đồng thời khảo sát hai thuật toán quan trọng trong chữ ký số là thuật
toán hàm băm mật mã (MD5, SHA) và thuật toán chữ ký số (RSA, Elgamal, DSA,
ECDSA). Các thử nghiệm cũng lần lượt được tiến hành ở mục 2.2.3 và mục 2.3.3
nhằm so sánh tính hiệu quả của các thuật toán này, từ đó chọn mô hình chữ ký số
phù hợp để tập trung nghiên cứu.
2.1 Giới thiệu
2.1.1 Nhu cầu thực tế
Iv i
do
tht s to c hi cho mt s k xu
ng
Chnh v l do
i y cho thy
s dng trong giao thc
dn
n gi
12
E-commerce
protocol
S/MIME
PGP
SSL, TLS, SSH
Kerberos
IPSec
Hardware link
encryption
Internet
Applications
Email
Higher-level
Net protocols
TCP/IP
Data link
Physical
Applications
Email
Higher-level
Net protocols
TCP/IP
Data link
Physical
2.1
Tuy nhin, cc ti liu in t ny c thc trong qu tri thng
tin nn khi b sao chp hay si ta cng khng th pht hic dn nhng
hu qu nghim tr
t khc, cc bin php bo mt hin nay nh dng mt khu khng
hay con du ny c mt s mc ch nh
tạo dấu hiệu (xc thi k), sự chứng nhận và thừa nhận
tính
an toàn l mt nghi thức (cho
13
Tng t,
ba
ng thi bo
k in t ni chung v ch k s ni ring ra
gii quyt v .
2.1.2 Khái niệm
Theo lut Giao dch in t Thng nht UETA ca NCCUSL nm 1999 [68], ch k
in t c nh ngha nh sau:
“Chữ ký điện tử là thông tin (âm thanh, ký hiệu, tiến trình điện tử, …) đi kèm
theo dữ liệu (văn bản, hình ảnh, video, ) nhằm mục đích xác định người chủ của
dữ liệu đó”.
hoc theo iu 21 trong lut Giao dch in t ca Quc hi nc Cng ha X hi
Ch ngha Vit Nam [3] nh ngha:
“Chữ ký điện tử được tạo lập dưới dạng từ, chữ, số, ký hiệu, âm thanh hoặc các
hình thức khác bằng phương tiện điện tử, gắn liền hoặc kết hợp một cách lôgíc
với thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp dữ liệu và xác
nhận sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký”.
Nh vy, theo cc
.
(Personal Identification Number PIN) ATM,
,
(End User Licence Agreement EULA)
c tuyn,