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

NGHIÊN CỨU KIẾN TRÚC VÀ XÂY DỰNG HỆ THỐNG CHỨNG THỰC TẬP TRUNG

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 (5.77 MB, 168 trang )



ĐẠ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
nthh
n




nt

              
PGS.TPGS.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 Nhn xt 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
dng  138
 138
 139
 139
 140
vi

Ni dung ci dng 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
Vit tt
 ngha
CA
Certificate Authority: T chc chng nhn
CRL
Certificate Revocation List: Danh sch hy b chng nhn
DN
Distinguished Name: Tn phn bit
PKCS
Public Key Cryptography Standard: Chun m ha kha cng khai
PKI
Public Key Infrastructure: H tng kha cng khai
SHA
Secure Hash Algorithm: Thut ton bm an ton
SHS
Secure Hash Standard: Chun bm an ton

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
Ngy nay, vi s pht trin ca h tng truyn thng cng ngh thng tin, vic giao
tip qua mng Internet ang tr thnh mt nhu cu cn thit. Hu ht mi hong
nh giao tip, gii tr, u chuyn t cch thc truyn thng sang mi
trng in t. Mi trng lm vic nn nhiu c hi nhng cng ny sinh
rt nhiu v v an ton thng tin nghim trng. 
u  nh m
s ti khon, thng tin mNhng vi cc th on tinh vi, nguy c nhng thng
tin ny b nh cp qua mng tht s l v ng quan tm.
Truyn thng trn Internet ch yu s dng giao thc TCP/IP. Giao thc ny cho
php thc gi t my tnh ny ti my tnh khc thng qua mt lot cc
my trung gian hoc cc mng ring bit nn  to c hi cho nhng k trm cng
ngh cao c th thc hin cc hng phi php do cc thng tin ny c th b nghe
trm, gi mo, mo danh Bin php bo mt hin nay nh dng mt khu
khng m bo v c th b nghe trm hoc b d ra nhanh chng i s dng
ng chn mt khu ngn, d nh, dng chung v i mt khu. Mt
khc, do cc thng tin in t ny khc xc thc trong qu tri nn
khi b sao chp hay si s khng th pht hic.
Ch k s i  gii quyc v . Ch k s d trn k thut m ha
bi xng, trong  mi c mt cp kha, mt kha b mt v mt kha
2

c
 i thng tin b
mi gi s dng kha cng khai c i nh m ha thng ip cn
gi, sau  i nhn s s dng kha b mt tng ng ca mnh gii m thng

ip nh m bo tnh ton vn, chng b gi mo hoc thay i ni dung
trong qu trnh gi gi s dng kha b mt ca m o thng ip
cn gi, sau  i nhn s s dng kha cng khai ci g xc nhn ch
k trn thng ip nhc.
Tuy nhin, do kha  


S cny c thc hin bi mt t chc trung
gian th ba ng tin cy v c gi l T(Certification Authority
 CA). T chc ny s cp cho mi i s dng mt chng nhn s  xc nhn
danh tnh i s dng v kha cng khai ci ny. Chng nhn s ch
thng tin c nhn v kha cng khai ca ngc cp km vi ch k xc nhn
ca t chc cp chng nhn. Vi chng nhn si s dng c th m ha thng
tin mt cch hiu qu, chng gi mo (cho phi nhn kim tra xem c b thay
i khng) v xc thc danh ti gi. Ngoi ra, chng nhn s cn l bng
chng ngn chi gi chi ci ngun gc ti liu mnh  gi.
C cu t chc gi, ph cng v phn mm, nhng chnh sch, tin trnh
v dh v bo mt, nhng giao thc h tr vic s dng m ha kha cng khai 
pht hnh  to
(Public Key Infrastructure  PKI). Nhu cu thit
lp h tng c t cui nhng nm 1990, khi 
a 

               
3



1.2 Tình hình triển khai
1.2.1 Thế giới

Rt nhiu quc gia trong khu vc cng nh trn ton th gii  v y mnh
ng dng cng ngh thng tin nhm phc v cho cc ho ng kinh doanh v
i sng x hi bng vic ban hnh cc b lut lin thng mi in t, ch
k in t. i y l thi im ban hnh cc b lut ca mt s quc gia trn th
gii [15, tr.35-37]:

 UNCITRALC, n cc
b lut ca cc quc gia trn th gii.
Chu M
 Canada:  
 Mexico 
 M: l G      , l C    
.

  (13/12/1999
 
 
 Anh, Scotland WalesTtin  (2002).
 : lC.
 Cng ha Czech: lut Ch k in t (2000).
 Cng ha Litva
 : lut Ch k in t (2001, chnh sa vo nm 2005).
 Ireland
 : lut Lin bang v ch k s in t (10/01/2002)
 Nauy: lC.
 Rumani: lut Ch k in t (2001).
 Ty Ban Nha: lut Ch k in t (2003).
4

 Thy in: lut Ch k in t (2000).

 : lL(2003).
i Dng
 New Zealand: lut Giao dch in t (2002).
 .
Chu 
 : lC6/2000).
  t (4/2002).
 : lC (2/1999).
 Hong Kong
 
 Singapore
 (2001).
 : lC (8/2004).

 Nam Phi: 
Bn cnh vic ban hnh cc b lut, cc cng  trin khai thnh cng cc h
tng PKI cho ton quc gia ch khng phi n l cho tng t chc. Cc s liu sau
c ghi nhn thng 5/2005 ti mt s quc gia Chu  [35, tr.4-10]:
  

 


nh 
 PKI PKI 
PKI 
PKI 
             

 : . 


5

 

 Singapore: 
 


 : thng ,
  
bn bo mt 
  :            

 : Hpht
 
, c tuyn, h thng quc
khn tn t.
1.2.2 Việt Nam
  Nam, cc b lut cng nh ngh  c ban hnh kh tr so vi
cc quc gia trong khu vc v trn th gii:
 LGiao dthnh 51/2005/QH11), 
.
 Lt, 
t .
 -

 -
 -
 -

.
   -   
.
6


1.1. Thi im ban hnh cc lut lin quan PKI ca cc quc gia trn th gii
Tnhng 
t N
Vietcombank, ACB, S chm tr ny mt phn l do
tr khoa hc k thut trong lnh vc cng ngh thng tin c ta cn non km,
phn khc l do s thiu quyt tm v tr tr trong cng tc nghin cu v trin khai.
Ti -TT trong
          ng   
(CNTT) 
trung tm chng thc s quc gia (Root CA) 
/2007
nhn 
 nhng mn 16/5/2008 (tc hn na nm sau),
Thng tin v Truyn thng (TT&TT) mi  

 2 
CA. Tuy nhin thi im ny h thng vn chc i vo hong.
7

1.3 Nhu cầu thực tế
S chm tr trong vic trin khai h tng PKI, 
 khng ch n c c nhn, t chc
c lin quan m cn lm cho Vi Nam ng cng tt hu v mt cng ngh v thit
h v kinh t. Ti 

CNTT-ng V
c Nam (Th ng B TT&TT),     (   Phng
Thng mi v Cng nghip Vit Nam  VCCI) v n    (
, T&TT)  a ra mt s v d in hnh nh sau:
 M

10  2
, mt 
 nhng xa l  Vit Nam.
 tr gi gn 1 tri-la M 
 
   cho rng           
 , 
l iu 
 V


nhm 
Sau khi ban hnh cc b lut v ngh nh lm hnh lang php l trong lnh vc
thng mi n t, tuy cha x dng h tng quc gia nhng Vit Nam  thu ht
kh nhiu t quan trng:
  ton v Truyn s liu 
cnhn 
 nhm hp tc  
8

gc nhn 
, 

.

 TT&TT 


 eBay, 
 www.chodientu.vn
1


 kh khn ch yu trong vic trin khai h tng kha cng khai  Vit Nam l la
chn m hnh PKI no ph hp vc ta  trin khai. H
nhau c p dng trn th gii
tp trung PKI phn cp 
. M v theo
phn tch th m hnh PKI phn cp ph hp vi Vit Nam nht v hin c
tp trung nghin cu v trin khai (chi tic trnh by  ).
1.4 Mục tiêu của đề tài
Chng nhn kha cng khai v h tng kha cng khai c phm vi nghin cu rt
rng. Do , mc tiu c ti nhm tp trung nghin cu mt s v sau:
 Phn tch v th nghim cc m hnh ch k s v cc thut ton lin quan
nhm chn m hnh ph h tp trung nghin cu.
 Tm hiu chc nng v cc v lin chng nhn kha cng khai.
 Nghin cu v phn tch cc kin trc h tng kha cng khai, t  nh gi
v chn la kin trc ph hp c th trin khai trong thc t.


1
Trang web www.chodientu.vn .
9

 Nghin cu v phn tch cc nguy c tn thng trn h m kha cng khai

RSA, ht nh ca PKI, ng thi a ra gii ph chng li cc nguy c
tn thng ny.
 Nghin cu v gii quyt mt s bi ton quan trng nhm ct h m RSA
an ton v hiu qu.
 Trn c s phn tch , xy dng b th vin m ha nhm ct hiu qu
h m ng thi tin hnh th nghim cc thut toc c
nh gi tnh hiu qu ca n.
 Tm hiu v chn mt gi phn m m ngun m ph bin hin nay c th
trin khai mt h thng PKI/CA hon ch phn tch v ci tin nhm trin
khai hiu qu trong thc t ng thi c th kim soc qu trnh pht
trin cng nh  an ton ca h thng ny.
1.5 Nội dung của luận văn
,   trnh by cc nghin cu, phn tch v nh gi v
kin trc h t kha cng khai v cc thnh phn quan trng lin quan. 
 s tp trung nghin cu v phn tch cc nguy c tn thng tr h m
RSA v mt s bi ton quan trng khi ct h m ny. Trn c s phn tch ,
 s gii thiu b th vin SmartRSA c xy dng cng cc th nghim
nhm nh gi tnh hiu qu khi ct h m RSA.  s gii thiu gi phn
mm m ngun m EJBCA c kh nng trin khai mt h thng PKI/CA hon
chc ch tm hiu, phn tch, ci tin v trin khai th nghim trong thc
t. Mt s kt lun v ng pht trin c tc trnh by  .
Ni dung cc chng c th nh sau:
  tng quan v h tng kha cng thi 
tiu 
  trnh by 

             
10

  


.
  

.
               

c, c th
trin khai trong .
  trnh by v 
gii php .
  trnh by cc v mt s 
 kt hp vi nhng c s phn tch  chng trn 
.
  SmartRSA 

 ct 
cng
chng ny.
  
nng
            cng nh c th
kim soc qu trnh pht trin v  an ton ca h thng,  ti 

.
  
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ế

Iv i 
do 
tht s  to c hi cho mt s k xu 
ng 
 Chnh v l do  


 i y cho thy 
s dng trong giao thc 
 
dn 


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 nhin, cc ti liu in t ny c thc trong qu tri thng
tin nn khi b sao chp hay si ta cng khng th pht hic dn nhng
hu qu nghim tr
 

t khc, cc bin php bo mt hin nay nh dng mt khu khng





hay con du ny c mt s mc ch nh
tạo dấu hiệu (xc thi k), sự chứng nhận và thừa nhận 
tính
an toàn  l mt nghi thức (cho


13

Tng t, 

ba 
ng thi bo 
 k in t ni chung v ch k s ni ring  ra
 gii quyt v .
2.1.2 Khái niệm

  

Theo lut Giao dch in t Thng nht UETA ca NCCUSL nm 1999 [68], ch k
in t c nh ngha 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 đó”.
hoc theo iu 21 trong lut Giao dch in t ca Quc hi nc Cng ha X hi
Ch ngha Vit Nam [3] nh ngha:
“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 vy, theo cc 
. 

(Personal Identification Number  PIN) ATM, 
 , 
(End User Licence Agreement  EULA)  
c tuyn,

×