L I C M N Ơ
Sau ba tháng n l c th c hi n, đ án “ Nghiên c u xây d ng h th ng
PKI d a trên b ph n m m mã ngu n m OpenCA” đã ph n nào hoàn
thành. Ngoài s c g ng h t mình c a b n thân, em đã nh n đc s khích ế ượ
l r t nhi u t phía nhà tr ng, th y cô, gia đình, b n bè ườ
Em xin g i l i c m n chân thành và sâu s c nh t t i Ths Hoàng Đc ơ
Th , ng i th y đã cho em nh ng đnh h ng và nh ng ý ki n r t quý báu ườ ướ ế
v PKI và OpenCA
Em cũng xin t lòng bi t n sâu s c t i th y cô trong khoa và b n bè ế ơ
cùng khoá đã giúp đ em ti n b trong su t nh ng năm h c t i H c Vi n ế
K Thu t M t Mã.
Xin c m n gia đình và nh ng ng i thân yêu đã luôn đng viên, ơ ườ
khuy n khích giúp đ con trong m i hoàn c nh khó khănế
Xin c m n b n bè đã và đang đng viên, giúp đ tôi trong quá trình h c ơ
t p và hoàn thành đ án t t nghi p này
Đ án t t nghi p c a em đc hoàn thành trong m t th i gian cũng ượ
t ng đi ng n. Vì v y đ án này ch c ch n s còn nhi u khi m khuy t. ươ ế ế
Em xin c m n nh ng th y cô, b n bè và ng i thân s có nh ng góp ý ơ ườ
chân thành cho n i dung c a đ án này, đ em có th ti p t c tìm hi u, đi ế
sâu nghiên c u và áp d ng trong th c ti n
Ngô Thu H ng
1
M C L C
M C L C .............................................................................................................................. 2
DANH M C CÁC T VI T T T ....................................................................................... 6
DANH M C HÌNH V ....................................................................................................... 10
L I NÓI ĐU ..................................................................................................................... 10
CH NG I: C S M T MÃ H CƯƠ Ơ ............................................................................... 13
1.1.M t mã khoá bí m t .................................................................................................. 13
1.1.1.Gi i thi u v m t mã khoá bí m t và các khái ni m có liên quan ................... 13
1.1.2.M t vài các thu t toán s d ng trong m t mã khoá đi x ng ......................... 14
1.1.2.1.DES ............................................................................................................. 14
1.1.2.2.IDEA ............................................................................................................ 14
1.1.2.3. Triple DES ................................................................................................... 14
1.1.2.4.CAST-128 .................................................................................................... 15
1.1.2.5.AES .............................................................................................................. 15
1.2.M t mã khoá công khai .............................................................................................. 16
1.2.1.Khái ni m ........................................................................................................... 16
1.2.2. Các thu t toán s d ng trong m t mã khoá công khai ..................................... 17
1.2.2.1. RSA ............................................................................................................. 17
1.2.2.2.Ph ng th c trao đi khoá Diffie Hellmanươ ................................................ 17
1.3. Ch ký s .................................................................................................................. 18
2
1.3.1.Quá trình ký ......................................................................................................... 18
1.3.2.Quá trình ki m tra ch ký s .............................................................................. 19
1.4. Hàm hash ................................................................................................................... 20
1.4.1.Khái ni m hàm hash ........................................................................................... 20
1.4.2. Tóm l c thông báo ượ .......................................................................................... 20
CH NG II: T NG QUAN V PKI VÀ CA ƯƠ .................................................................. 21
2.1. L ch s phát tri n PKI .............................................................................................. 21
2.2.Tình hình PKI t i Vi t Nam ...................................................................................... 23
2.3. Các đnh nghĩa v PKI và các khái ni m có liên quan ............................................. 25
2.3.1. Các đnh nghĩa v PKI ....................................................................................... 25
2.3.2. Các khái ni m liên quan trong PKI .................................................................... 26
2.3.2.1.Ch ng ch ..................................................................................................... 26
2.3.2.2.Kho ch ng ch .............................................................................................. 28
2.3.2.3.H y b ch ng ch ........................................................................................ 28
2.3.2.4. Sao l u và d phòng khóaư .......................................................................... 29
2.3.2.5.C p nh t khóa t đng ........................................................................... 30
2.3.2.6.L ch s khóa ................................................................................................. 30
2.3.2.7.Ch ng th c chéo .......................................................................................... 31
2.3.2.8.H tr ch ng ch i b .................................................................................. 31
2.3.2.9.Tem th i gian ............................................................................................... 32
2.3.2.10.Ph n m m phía Client ............................................................................... 32
2.4. M c tiêu, ch c năng ................................................................................................ 33
2.4.1. Xác th c ............................................................................................................. 34
2.4.1.1.Đnh danh th c th ...................................................................................... 34
2.4.1.1.1.Xác th c c c b .................................................................................... 34
2.4.1.1.2.Xác th c t xa ....................................................................................... 34
2.4.1.2. Đnh danh ngu n g c d li u .................................................................... 35
2.4.2. Bí m t ................................................................................................................. 35
2.4.3.Toàn v n d li u ................................................................................................ 35
2.4.3.1.Ch ký s ..................................................................................................... 36
2.4.3.2. Mã xác th c thông báo ............................................................................... 36
2.4.4.Ch ng ch i b .................................................................................................... 36
2.5. Các khía c nh an toàn c b n mà PKI cung c p ơ ..................................................... 36
2.5.1. Đăng nh p an toàn ............................................................................................ 37
2.5.2. Đăng nh p m t l n an toàn .............................................................................. 37
2.5.3. Trong su t v i ng i dùng cu i ườ ....................................................................... 38
2.5.4. An ninh toàn di n .............................................................................................. 39
CH NG IIII: CÁC THÀNH PH N, C CH LÀM VI C C A PKI. CÁC MÔ HÌNH ƯƠ Ơ
VÀ CÁC KI U KI N TRÚC C A PKI ............................................................................. 40
3.1. Mô hình PKI và các thành ph n c a PKI ................................................................. 40
3.1.1. CA ...................................................................................................................... 40
3.1.2.RA ....................................................................................................................... 41
3.1.2.1.Ch c năng, nhi m v c a RA .................................................................... 41
3.1.2.2.Thành ph n c a RA ..................................................................................... 41
3.1.2.2.1.RA Console ........................................................................................... 41
3.1.2.2.2.RA Officer ............................................................................................. 42
3.1.2.2.3.RA Manager .......................................................................................... 42
3.1.3. Certificate-Enabled Client: Bên đc c p phát ch ng chượ ............................... 42
3
3.1.4. Data Recipient : Bên nh n d li u .................................................................... 43
3.1.5. Kho l u tr /thu h i ch ng chư .......................................................................... 43
3.1.6.Chu i ch ng ch ho t đng nh th nào ư ế .......................................................... 43
3.2. Cách th c làm vi c c a PKI .................................................................................... 44
3.2.1. Kh i t o th c th cu i ...................................................................................... 45
3.2.2. T o c p khoá công khai/khoá riêng .................................................................. 45
3.2.3. Áp d ng ch ký s đ đnh danh ng i g i. ườ ................................................... 46
3.2.4. Mã hóa thông báo ............................................................................................... 46
3.2.5. Truy n khóa đi x ng. ...................................................................................... 46
3.2.6. Ki m tra danh tính ng i g i thông qua m t CA ườ ............................................ 47
3.2.7. Gi i mã thông báo và ki m tra n i dung thông báo. ......................................... 47
3.3. Các ti n trình trong PKIế ............................................................................................ 48
3.3.1. Yêu c u ch ng ch ............................................................................................. 48
3.3.1.1. G i yêu c u ................................................................................................ 49
3.3.1.2. Các chính sách ............................................................................................. 49
3.3.2. Hu b ch ng ch .............................................................................................. 50
3.4. Các mô hình PKI ....................................................................................................... 50
3.4.1. Mô hình phân c p CA ch t ch (strict hierarchy of CAs) ................................ 50
3.4.2.Mô hình phân c p CA không ch t ch (loose hierarchy of CAs) ...................... 52
3.4.3.Mô hình ki n trúc tin c y phân tán (distributed trust architecture)ế .................... 52
3.4.4. Mô hình 4 bên (four-corner model) .................................................................... 53
3.4.5. Mô hình Web (web model) ................................................................................ 55
3.4.6.Mô hình tin c y l y ng i dùng làm trung tâm (user-centric trust) ườ .................. 56
3.5.Các ki u ki n trúc PKI ế .............................................................................................. 57
3.5.1. Ki n trúc ki u Web of Trustế ............................................................................. 58
3.5.2.Ki n trúc ki u CA đn (Single CA)ế ơ .................................................................. 59
3.5.3. Ki n trúc CA phân c pế ...................................................................................... 61
3.5.4. Ki n trúc ki u ch ng th c chéo (Cross-certificate)ế ......................................... 62
3.5.5. Ki n trúc Bridge CA(BCA)ế ............................................................................... 63
CH NG IV: XÂY D NG MÔ HÌNH PKI D A TRÊN MÃ NGU N M OPENCAƯƠ
.............................................................................................................................................. 64
4.1.L ch s phát tri n OpenCA ....................................................................................... 64
4.2. CA ............................................................................................................................ 66
4.2.1.Ch c năng c a CA .............................................................................................. 66
4.2.1.1. C p phát ch ng ch ..................................................................................... 66
4.2.1.2.Hu b ch ng ch ........................................................................................ 66
4.2.1.3.T o l p chính sách ch ng ch ..................................................................... 67
4.2.1.4.H ng d n th c hi n ch ng ch s (Certification Practice Statement)ướ ..... 67
4.2.2.Nhi m v c a CA .............................................................................................. 68
4.2.3. Các lo i CA ........................................................................................................ 68
4.2.3.1.Enterprise CA: ............................................................................................. 68
4.2.3.2.Standalone CA .............................................................................................. 68
4.2.4.Các c p CA ......................................................................................................... 69
4.2.4.1.Root CA(CA g c) ........................................................................................ 69
4.2.4.2.Subordinate CA(CA ph thu c): ................................................................ 69
4.3. Thi t k chung c a CAế ế ............................................................................................ 70
4.3.1.Phân c p c b n ơ ................................................................................................. 71
4.3.2.Các giao di n ...................................................................................................... 73
4
4.3.2.1.Node ............................................................................................................. 74
4.3.2.2.CA ................................................................................................................ 75
4.3.2.3.RA ................................................................................................................ 75
4.3.2.4. LDAP ........................................................................................................... 76
4.3.2.5.Pub ................................................................................................................ 76
4.4. Vòng đi c a các đi t ng ượ .................................................................................... 76
4.5. Các l u ý khi thi t k PKIư ế ế ....................................................................................... 77
4.5.1. Các v n đ ph n c ng ...................................................................................... 78
4.5.1.1.Th i gian ...................................................................................................... 78
4.5.1.2.Đĩa l i ........................................................................................................... 78
4.5.1.3.Theo dõi ph n c ng ..................................................................................... 78
4.5.2.An toàn v t lý ...................................................................................................... 79
4.5.3.Các v n đ v m ng .......................................................................................... 80
4.5.4.V n đ v ch ng ch ......................................................................................... 80
4.5.5.CDPs (Các đi m phân ph i danh sách hu b ch ng ch (CDP)) .................... 80
4.5.6.Các v n đ c th v ng d ng ....................................................................... 81
4.5.6.1.Mail Server ................................................................................................... 81
4.5.6.2. Client Netscape ............................................................................................ 81
4.5.6.3.OpenLDAP ................................................................................................... 81
PH L C ............................................................................................................................. 83
1.Môi tr ng phát tri nườ ................................................................................................... 83
1.1.Apache .................................................................................................................... 83
1.2. OpenSSL ............................................................................................................... 84
1.2.1.Công c dòng l nh trong openssl ................................................................... 85
1.2.1.1.Các dòng l nh chu n ............................................................................... 85
1.2.1.2.Các dòng l nh tóm l c thông báo ượ ......................................................... 87
1.2.1.3. Các dòng l nh v mã hoá ....................................................................... 87
1.2.2.Th vi n SSL/TLS trong OpenSLư .................................................................. 88
1.2.2.1.Miêu t ..................................................................................................... 88
1.2.2.2. C u trúc d li u ..................................................................................... 88
1.2.2.3. Các file header ......................................................................................... 89
1.2.3. Th vi n m t mã trong OpenSSLư ................................................................. 90
1.2.3.1. Miêu t ................................................................................................... 90
1.2.3.2.T ng quan ................................................................................................ 90
1.2.4. B công c OpenSSL .................................................................................... 90
1.3.1.Các đi m n i b t ............................................................................................ 92
1.3.2.Ki n trúc gói mod_sslế ..................................................................................... 93
1.3.3.Giao th c SSL ................................................................................................ 93
1.4. OpenLDAP ............................................................................................................ 95
1.5. Các module perl ..................................................................................................... 99
2.Các chu n m t mã ...................................................................................................... 100
5