Ờ Ả Ơ 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

1

Ngô Thu H ngằ

M C L C

ử ụ

ố ứ

ử ụ

M C L C  2       ..............................................................................................................................     Ụ Ừ Ế  6                                                                                              .......................................................................................       DANH M C CÁC T  VI T T T Ẽ Ụ                                                                                                            DANH M C HÌNH V  10      .......................................................................................................     Ờ                                                                                                                          L I NÓI Đ U  10      .....................................................................................................................     Ơ Ở Ậ ƯƠ  13      NG I: C  S  M T MàH C ...............................................................................                                                                                        CH ậ ậ                                                                                                       1.1.M t mã khoá bí m t  13      ..................................................................................................     ề ậ ớ ậ                        1.1.1.Gi  13      i thi u v  m t mã khoá bí m t và các khái ni m có liên quan ...................     ậ ộ  14      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                                                                                                                  1.1.2.2.IDEA  14      ............................................................................................................       1.1.2.3. Triple DES                                                                                                       14      ...................................................................................................      15      ....................................................................................................                                                                                                             1.1.2.4.CAST­128                                                                                                                   1.1.2.5.AES  15      ..............................................................................................................     ậ                                                                                                    16      1.2.M t mã khoá công khai ..............................................................................................     1.2.1.Khái ni mệ  16      ...........................................................................................................                                                                                                                    ậ  17      1.2.2. Các thu t toán s  d ng trong m t mã khoá công khai .....................................                                                                                                                                                               1.2.2.1. RSA  17      .............................................................................................................     ươ   1.2.2.2.Ph                                                    17      ................................................     ng th c trao đ i khoá Diffie Hellman ố  18      ..................................................................................................................

1.3. Ch  ký s

2

ể ạ i Vi ề

ự ộ

2.4.1.2. Đ nh danh ngu n g c d  li u

ố   2.4.4.Ch ng ch i b

ượ ấ

1.3.1.Quá trình ký  18      .........................................................................................................     ố ể                                                                                    19      ..............................................................................     1.3.2.Quá trình ki m tra ch  ký s  20      1.4. Hàm hash ...................................................................................................................                                                                                                                            ệ   ...........................................................................................                                                                                              1.4.1.Khái ni m hàm hash  20          ượ                                                                                                  20      ..........................................................................................   c thông báo  1.4.2. Tóm l ƯƠ Ề Ổ NG II: T NG QUAN V  PKI VÀ CA   21      ..................................................................                                                                           CH ị  21      ..............................................................................................                                                                                                       2.1. L ch s  phát tri n PKI ệ                                                                                           2.2.Tình hình PKI t  23      ......................................................................................     t Nam ị                                                   25      .............................................     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 .......................................................................................                                                                                                ệ   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      ..............................................................................................       ỉ ủ ỏ ứ  28                                                                                                ........................................................................................       2.3.2.3.H y b  ch ng ch ư   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  30      ...........................................................................      đ ng ử ị  30      2.3.2.6.L ch s  khóa .................................................................................................                                                                                                          ứ ự                                                                                               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      ...............................................................................................       ầ  32      2.3.2.10.Ph n m m phía Client ...............................................................................                                                                                        ứ                                                                                                      33      2.4. M c tiêu, ch c năng  ................................................................................................     2.4.1. Xác th cự                                                                                                                   34      .............................................................................................................     ể  34      ......................................................................................                                                                                               2.4.1.1.Đ nh danh th c th ự ụ ộ   2.4.1.1.1.Xác th c c c b                                                                                        34      ....................................................................................     ự ừ                                                                                             34      .......................................................................................      xa 2.4.1.1.2.Xác th c t ị ố ữ ệ ồ  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      .....................................................................................................     ự  36      2.4.3.2. Mã xác th c thông báo  ...............................................................................                                                                                        ố ỏ                                                                                                          36      ....................................................................................................   ơ ả ạ                                                           36      2.5. Các khía c nh an toàn c  b n mà PKI cung c p .....................................................     ậ                                                                                               2.5.1. Đăng nh p an toàn   37      ............................................................................................       ộ ầ ậ  37      2.5.2. Đăng nh p m t l n an toàn  ..............................................................................                                                                                       ườ ố ớ ố                                                                            2.5.3. Trong su t v i ng  38      i dùng cu i .......................................................................     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  Ế                                                                                     40      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 .................................................................     3.1.1. CA                                                                                                                          40      ......................................................................................................................        41      .......................................................................................................................                                                                                                                                3.1.2.RA ụ ủ                                                                         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      .....................................................................................      41      3.1.2.2.1.RA Console ...........................................................................................                                                                                                                                                                                                     3.1.2.2.2.RA Officer  42      .............................................................................................                                                                                                    42      ..........................................................................................     3.1.2.2.3.RA Manager ỉ  42      ...............................                                      c c p phát ch ng ch

3.1.3. Certificate­Enabled Client: Bên đ

3

ư

ỉ ệ ủ ự

i g i.

ấ ấ

ẽ ặ

ế

ể ế ế ế ế ế

ỉ ố

ế ế

ậ ữ ệ                                                                          43      ....................................................................   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  ..........................................................                                                                   ứ   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            ố ể ị ườ ử ụ  46                                                           ...................................................       3.2.3. Áp d ng ch  ký s  đ  đ nh danh ng                                                                                                    3.2.4. Mã hóa thông báo    46      ...............................................................................................   ố ứ ề                                                                                           3.2.5. Truy n khóa đ i x ng.  46      ......................................................................................     ể ườ ử  47      ............................................                                                     i g i thông qua m t CA 3.2.6. Ki m tra danh tính ng ể ả                                              3.2.7. Gi  47      i mã thông báo và ki m tra n i dung thông báo. .........................................     ế   3.3. Các ti n trình trong PKI                                                                                                48      ............................................................................................     ỉ ầ 3.3.1. Yêu c u ch ng ch                                                                                                 48      .............................................................................................       ử  49      ................................................................................................                                                                                                         3.3.1.1. G i yêu c u   3.3.1.2. Các chính sách                                                                                                 49      .............................................................................................     ỉ ỷ ỏ ứ                                                                                                    50      ..............................................................................................     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)     ......................                         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      ....................                              53      3.4.4. Mô hình 4 bên (four­corner model) ....................................................................                                                                                                                                                                 3.4.5. Mô hình Web (web model)  55      ................................................................................     ườ ậ ấ                       3.4.6.Mô hình tin c y l y ng  56      ..................     i dùng làm trung tâm (user­centric trust) ế  57      3.5.Các ki u ki n trúc PKI ..............................................................................................                                                                                                       ể                                                                                  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            ự  62      .........................................                                                  3.5.4. Ki n trúc ki u ch ng th c chéo (Cross­certificate)    63        3.5.5. Ki n trúc Bridge CA(BCA) ...............................................................................                                                                                    Ự ƯƠ 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      .......................................................................................                                                                                                                                      66      4.2. CA  ............................................................................................................................                                                                                                     4.2.1.Ch c năng c a CA  66      ..............................................................................................       ỉ ứ ấ  66                                                                                             .....................................................................................       4.2.1.1. C p phát ch ng ch ỉ ỷ ỏ ứ                                                                                             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      .....................................................................     ẫ ướ ự  67             .....       4.2.1.4.H ng d n th c hi n ch ng ch  s  (Certification Practice Statement) ụ ủ ệ                                                                                                   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      .............................................................................................        68      ..............................................................................................                                                                                                       4.2.3.2.Standalone CA 4.2.4.Các c p CAấ                                                                                                               69      .........................................................................................................     4.2.4.1.Root CA(CA g c)ố                                                                                              69      ........................................................................................      69      4.2.4.2.Subordinate CA(CA ph  thu c):  ................................................................                                                                         ủ                                                                                                 t k  chung c a CA  70      ............................................................................................   4.3. Thi   ấ ơ ả                                                                                                      4.3.1.Phân c p c  b n  71      .................................................................................................     4.3.2.Các giao di nệ  73      ......................................................................................................

4

ầ ứ

ỷ ỏ ứ

ng phát tri n

ệ ệ ệ ệ

ư ệ

ế

4.3.2.1.Node  74      .............................................................................................................       4.3.2.2.CA                                                                                                                    75      ................................................................................................................      75      ................................................................................................................                                                                                                                         4.3.2.3.RA                                                                                                                4.3.2.4. LDAP  76      ...........................................................................................................                                                                                                                         4.3.2.5.Pub  76      ................................................................................................................     ố ượ ờ ủ ng 4.4. Vòng đ i c a các đ i t  76                                                                                            ....................................................................................       ế ế ư  77      .......................................................................................                                                                                                4.5. Các l u ý khi thi t k  PKI ầ ứ ề ấ                                                                                            78      4.5.1. Các v n đ  ph n c ng ......................................................................................     ờ                                                                                                           4.5.1.1.Th i gian  78      ......................................................................................................     iỗ  78      ...........................................................................................................                                                                                                                    4.5.1.2.Đĩa l                                                                                           78      .....................................................................................     4.5.1.3.Theo dõi ph n c ng 4.5.2.An toàn v t lýậ                                                                                                              79      ......................................................................................................   ấ ề ề ạ                                                                                             4.5.3.Các v n đ  v  m ng  80      ..........................................................................................       ề ề ứ ỉ  80      .........................................................................................                                                                                                  4.5.4.V n đ  v  ch ng ch ể ỉ                         4.5.5.CDPs (Các đi m phân ph i danh sách hu  b  ch ng ch  (CDP))  80      ....................     ề ụ ể ề ứ ụ ấ                                                                             81      4.5.6.Các v n đ  c  th  v   ng d ng .......................................................................      81      ...................................................................................................                                                                                                            4.5.6.1.Mail Server                                                                                                 4.5.6.2. Client Netscape  81      ............................................................................................                                                                                                               81      4.5.6.3.OpenLDAP ...................................................................................................   Ụ Ụ                                                                                                                                PH  L C  83      .............................................................................................................................       ườ  83                                                                                                           ...................................................................................................       1.Môi tr                                                                                                                         1.1.Apache  83      ....................................................................................................................                                                                                                                        ...............................................................................................................  84      1.2. OpenSSL     ụ  85      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   ượ                                                               87      c thông báo .........................................................   1.2.1.2.Các dòng l nh tóm l                                                                            1.2.1.3. Các dòng l nh v  mã hoá  87      .......................................................................       ư ệ  88      1.2.2.Th  vi n SSL/TLS trong OpenSL ..................................................................                                                                           1.2.2.1.Miêu tả                                                                                                           88      .....................................................................................................     ữ ệ ấ                                                                                          1.2.2.2. C u trúc d  li u  88      .....................................................................................      89      .........................................................................................                                                                                                  1.2.2.3. Các file header ậ   1.2.3. Th  vi n m t mã trong OpenSSL                                                                     90      .................................................................      ả                                                                                                        1.2.3.1. Miêu t  90      ...................................................................................................     ổ                                                                                                    90      ................................................................................................       1.2.3.2.T ng quan ụ  90      1.2.4. B  công c  OpenSSL ....................................................................................                                                                                             ổ ậ ể                                                                                                 1.3.1.Các đi m n i b t  92      ............................................................................................                                                                                              1.3.2.Ki n trúc gói mod_ssl  93      .....................................................................................     ứ  93      1.3.3.Giao th c SSL  ................................................................................................                                                                                                                                                                                                                         1.4. OpenLDAP  95      ............................................................................................................      99                                                                                                               1.5. Các module perl .....................................................................................................     ẩ    100    2.Các chu n m t mã ......................................................................................................

5

Ừ Ế

DANH M C CÁC T  VI T T T

AES Advanced Encryption Standard

ế ẩ Tiêu chu n mã hóa tiên ti n

API Application Programming Interface

ệ ậ ứ ụ Giao di n l p trình  ng d ng

APXS Apache Extention (tool)

ụ ở ộ Công c  m  r ng Apache

CA Certificate Authority

ứ ề ẩ ự Th m quy n ch ng th c

CDP: CRL Distribution Point

ể ố Đi m phân ph i CRL

CRL Certificate Revocation List

ỷ ỏ ứ ỉ Danh sách hu  b  ch ng ch

CRR Certificate Revocation Request

ỷ ỏ ứ ầ ỉ Yêu c u hu  b  ch ng ch

CPS Certification Pratice Statement

ướ ứ ẫ ỉ ự H ng d n th c hành ch ng ch

6

CSR Certificate Signing Request

ứ ầ ỉ Yêu c u ký ch ng ch

DES Data Encryption Standard

ữ ệ ẩ Tiêu chu n Mã hóa D  li u

DN Distingished Name

Tên phân bi tệ

DSO Dynamic Shared Object

ố ượ ẻ ộ Đ i t ng chia s  đ ng

Email Electronice mail

ư ệ ử Th  đi n t

FTP File Transfer Protocol

ề ậ ứ Giao th c truy n t p tin

HTTP Hypertext Transfer Protocol

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

HTTPS: Secure Hypertext Transfer Protocol

ứ ề ả Giao th c truy n siêu văn b n an toàn

IDEA: International Data Encryption Algorithm­

ữ ệ ố ế ậ Thu t toán mã hoá d  li u qu c t

IKE: Internet Key Exchange

ổ Trao đ i khoá Internet

7

IMAP Internet Message Access Protocol

ứ ậ Giao th c truy c p thông báo Internet

ITU: Internet Telecommunication Union

ố ế ễ Liên minh vi n thông qu c t

LDAP: Lightweight Directory Access Protocol

ứ ậ ư ụ Giao th c truy c p nhanh các th  m c

MAC Message Authentication Code

ự Mã xác th c thông báo

MD: Message Degist

ượ Tóm l c thông báo

NCSA

OCSP Online Certificate Status Protocol

ứ ứ ạ ỉ Giao th c tr ng thái ch ng ch

OSI Open System Interconnection

ế ố ệ ố ở Mô hình k t n i các h  th ng m

PEM: Privacy Enhanced Mail

ư ư ườ Th  riêng t tăng c ng

PGP: Pretty Good Privacy

PKCS: Public Key CryptoGraphy Standards

ẩ ậ Chu n m t mã khoá công khai

8

PKI: Pulic Key Infracstructure

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

POP: Post Office Protocol

RSA: Rivest Shamir Adleman

SCEP: Simple Certificate Enrollment Protocol

ỉ ơ ứ ứ ả Giao th c đăng ký ch ng ch  đ n gi n

SHA: Secure Hash Algorithm

ậ Thu t toán băm

S/MIME Secure Multipurpose Internet Mail Extensions

SMTP Simple Mail Transfer Protocol

ư ơ ứ ả ề Giao th c truy n th  đ n gi n

SPKC Simple Public Key Certificate

ứ ả ơ ỉ Ch ng ch  khoá công khai đ n gi n

SSH Secure Shell

TCP/IP Transmission Control Protocol /Internet Protocol

ứ ứ ề ể ề Giao th c đi u khi n truy n thông/giao th c Internet

TLS Transport layer Security

9

ứ ả ể ả ậ ớ Giao th c đ m b o an toàn l p v n chuy n

Ụ DANH M C HÌNH V

ậ ậ

ệ ứ

ậ ậ

ế ế

ậ ấ

ườ

ậ ...............................................................................................15 Hình 1: M t mã khoá bí m t Hình 2: M t mã khoá công khai ..........................................................................................16 Hình 3: Quá trình ký số........................................................................................................19 ố.................................................................................20 Hình 4: Quá trình ki m tra ch  ký s ệ ............................................................................24 Hình 5:Mô hình PKI Vi t Nam hi n nay ............................................................................28 Hình 6: Khuôn d ng ch ng ch  X.509v3 .................................................................................37 Hình 7: Ti n trình đăng nh p an toàn ộ ầ ...................................................................38 Hình 8: Ti n trình đăng nh p an toàn m t l n Hình 9: Mô hình các thành ph n PKI ..................................................................................40 ỉ...................................................................................................44 ứ Hình 10: Chu i ch ng ch ẽ...........................................................................51 ấ Hình 11: Mô hình phân c p CA ch t ch ế Hình 12: Mô hình ki n trúc tin c y phân tán ......................................................................53 ố ...................................................................................................54 Hình 13: Mô hình b n bên Hình 14: Mô hình Web.........................................................................................................55 Hình 15: Mô hình tin c y l y ng ...................................................56 i dùng làm trung tâm ậ ........................................................................................................58 Hình 16: Chu i tin c y ể ế ................................................................................59 Hình 17: Ki n trúc ki u Web of Trust ơ .................................................................................................61 ế Hình 18: Ki n trúc CA đ n ấ .........................................................................................62 ế Hình 19: Ki n trúc CA phân c p ế ..........................................................................63 Hình 20: Ki n trúc ki u ch ng th c chéo ế .............................................................................................64 Hình 21: Ki n trúc Bridge CA ơ ồ ......................................................................70 Hình 22: S  đ  minh h a rootCA và SubCA

L I NÓI Đ U

ạ ạ ầ ề ệ ộ Trong m t vài năm l i đây, h  t ng truy n thông công ngh  thông tin

ượ ở ộ ườ ử ụ ề ả ự càng ngày càng đ c m  r ng khi mà ng i s  d ng d a trên n n t ng này

ệ ề ồ ố ớ ị ể đ  truy n thông và giao d ch v i các đ ng nghi p, các đ i tác kinh doanh

ư ệ ạ ầ ộ

ượ ư ữ ạ ả ọ ế   cũng nh  vi c khách hàng dùng email trên các m ng công c ng. H u h t ổ    và trao đ i các thông tin kinh doanh nh y c m và quan tr ng đ c l u tr

ướ ệ ử ự ề ạ ổ ộ d ứ i   hình th c   đi n  t

ệ ệ ả ả ồ ớ ệ doanh nghi p này đ ng nghĩa v i vi c chúng ta ph i có bi n pháp b o v .  S  thay  đ i  trong  các  ho t   đ ng truy n  thông   ệ

ệ ủ ướ ơ ừ ả ệ ổ ứ t ch c, doanh nghi p c a mình tr ấ   c các nguy c  l a đ o, can thi p, t n

10

ặ ạ công, phá ho i ho c vô tình ti ế ộ t l các thông tin đó.

ơ ở ạ ầ ấ ẩ C u trúc c  s  h  t ng mã hóa khoá công khai cùng các tiêu chu n và

ệ ứ ể ượ ủ ộ ả ụ các công ngh   ng d ng c a nó có th  đ c coi là m t gi ợ   ổ i pháp t ng h p

ộ ậ ể ượ ử ụ ể ả ế ấ ề và đ c l p có th  đ c s  d ng đ  gi i quy t v n đ  này.

ủ ế ầ ở ộ PKI đang tr  thành m t ph n trung tâm c a các ki n trúc an toàn dành

ổ ứ ượ ộ ọ cho các t ch c kinh doanh. PKI đ ể c xem là m t đi m tr ng tâm trong

ứ ế ề ả ạ ả ầ ẩ ả nhi u khía c nh qu n lý an toàn. H u h t các giao th c chu n đ m b o an

ệ ố ự ậ ạ ả ườ toàn mail, truy c p Web, m ng riêng  o và h  th ng xác th c ng i dùng

ề ử ụ ứ ậ ơ ỉ đăng nh p đ n đ u s  d ng ch ng ch  khóa công khai

ộ ệ ố ệ ừ ả ấ ẩ ừ   PKI b n ch t là m t h  th ng công ngh  v a mang tính tiêu chu n, v a

ụ ượ ử ụ ở ạ ư ữ ể ứ mang tính  ng d ng đ c s  d ng đ  kh i t o, l u tr

ệ ử ứ ư ự ch ng th c đi n t ả  và qu n lý các   ế    cũng nh  các mã khoá công khai và cá nhân. Sáng ki n

ờ ổ ứ ủ ệ PKI ra đ i năm 1995, khi mà các t

ự ươ ẩ ự d ng các tiêu chu n chung d a trên ph ch c công nghi p và các chính ph  xây   ể ỗ ợ ộ ạ ng pháp mã hoá đ  h  tr  m t h

ụ ể ả ậ ạ ạ ờ ượ ặ ầ t ng b o m t trên m ng Internet. T i th i đi m đó, m c tiêu đ c đ t ra là

ộ ộ ậ ổ ụ ự ả ẩ ợ xây d ng m t b  tiêu chu n b o m t t ng h p cùng các công c  và lý

ế ườ ử ụ ư ổ ứ ệ thuy t cho phép ng i s  d ng cũng nh  các t ặ    ch c (doanh nghi p ho c

ợ ể ạ ậ ư ữ ậ ộ ổ phi l i nhu n) có th  t o l p, l u tr  và trao đ i các thông tin m t cách an

ạ ộ toàn trong ph m vi cá nhân và công c ng.

ể ệ ự ủ PKI ngày càng th  hi n rõ vai trò c a mình trong lĩnh v c an toàn thông

ứ ự ữ ệ ề ấ ộ tin. Hi n nay, có r t nhi u cách th c xây d ng PKI . M t trong nh ng cách

ự ứ ự ồ ở th c xây d ng PKI đó là d a trên mã ngu n m  OpenCA

ề ệ ố ự ự ứ ồ Đ  tài “Nghiên c u xây d ng h  th ng PKI d a trên mã ngu n m

ượ ụ ứ ự ệ ể ớ ở  ự   c th c hi n v i m c đích tìm hi u, nghiên c u và xây d ng OpenCA” đ

ự ề ồ ở ộ ồ PKI d a trên mã ngu n m  OpenCA. N i dung đ  tài bao g m các khái

ề ậ ệ ệ ổ ớ ni m t ng quan v  m t mã, các khái ni m liên quan t i PKI , các mô hình

ủ ề ể ế ầ ượ ề và các ki u ki n trúc c a PKI. V  ph n OpenCA, đ  tài nêu lên đ

ở ể ự ứ ủ ề ể ầ đi m, ch c năng c a các ph n m m mã m  đ  xây d ng nên OpenCA nh ặ   c đ c ư

11

Apache, OpenSSL, mod_ssl , perl và các module perl

ớ ạ ứ ể ề ề ấ ộ ớ V i gi ể   i h n v  các v n đ  tìm hi u và nghiên c u, n i dung tìm hi u

ủ ầ ồ ề đ  tài c a em bao g m ..ph n

ươ ơ ở ậ Ch ậ ng I: C  s  m t mã khoá công khai và khoá bí m t

ươ ề ậ ậ ậ Ch ng I trình bày v  m t mã khoá bí m t và m t mã khoá công khai

ậ ượ ử ụ ậ ươ cùng các thu t toán đ c s  d ng trong m t mã. Ch ng I cũng nêu ra khái

ề ữ ệ ả ố ượ ni m v  ch  ký s , hàm băm và b n tóm l c thông báo

ươ ề ổ Ch ng II: T ng quan v  PKI

ươ ủ ệ ề Ch ệ ng này trình bày v  các khái ni m c a PKI và các khái ni m có

ớ ươ ơ ả ủ ứ ụ liên quan t i PKI. Ch

ữ ạ ươ ụ ủ ấ nh ng khía c nh an toàn mà PKI cung c p. M c đích c a ch ng này nêu lên m c tiêu, ch c năng c  b n c a PKI,   ể ng này là th

ấ ề ệ ổ hi n cái nhìn t ng quan nh t v  PKI

ươ ệ ủ ầ Ch

ươ ữ ủ ể ế ứ ng III: Các thành ph n và cách th c làm vi c c a PKI, các mô hình   ổ   ng II đã nêu lên nh ng cái nhìn t ng và các ki u ki n trúc c a PKI. Ch

ấ ề ươ ề ạ quan nh t v  PKI, còn ch ơ ng III khai thác sâu h n v  các khía c nh k

ứ ủ ệ ậ ượ ử ụ ỹ  ể   c s  d ng trong PKI, cách th c làm vi c c a PKI và các ki u thu t đ

ủ ế ki n trúc, các mô hình c a PKI

ươ ự ự ồ ở Ch ng IV:  Xây d ng mô hình PKI d a trên mã ngu n m  OpenCA

ươ ế ề ứ ệ ồ Ch ng này trình bày chi ti ụ   t v  CA: Bao g m ch c năng, nhi m v ,

ạ ươ ế ế ư các lo i CA . Ch ng này trình bày thi t k  chung CA và l u ý khi xây

12

ự ồ ở ự d ng PKI d a trên ngu n m  OpenCA

ƯƠ

Ơ Ở Ậ

CH

NG I: C  S  M T MàH C

ậ ượ ử ụ ừ ấ ứ ậ ơ ờ M t mã đã đ c s  d ng t r t lâu đ i. Các hình th c m t mã s  khai

ượ ấ ừ ả ố ướ ề đã đ c tìm th y t kho ng b n nghìn năm tr c trong n n văn minh Ai

ậ ổ ạ ồ ạ ậ ử ệ ẫ C p c  đ i. M t mã đã và đang t n t ị i hàng nghìn năm l ch s  và hi n v n

ượ ử ụ ể ữ ề ặ ậ ệ đang đ ấ ộ c s  d ng r t r ng rãi đ  gi bí m t trong truy n tin đ c bi t

ự ự ậ ố ị ề ơ trong các lĩnh v c quân s , chính tr , an ninh và qu c phòng. M t mã v  c

ạ ậ ọ ả ượ b n đ ậ c chia thành hai lo i chính là m t mã khóa bí m t (hay còn g i là

ố ứ ậ ậ ậ ọ ố   m t mã đ i x ng) và m t mã khóa công khai (hay còn g i là m t mã phi đ i

ứ x ng).

ử ụ ề ề ể ể ậ ả Đ  có th  truy n tin s  d ng m t mã thì hai bên truy n tin ph i có khóa

ặ ẫ ộ ế ợ ớ ộ M t khóa mã hóa là m t m u thông tin đ c bi ệ ượ t đ ộ   c k t h p v i m t

ể ậ ả ể ạ ỗ thu t toán đ  thi hành mã hóa và gi i mã. M i khóa khác nhau có th  t o ra

ả ọ ế các văn b n mã hóa khác nhau, và n u ta không ch n đúng khóa thì không

ở ượ ể ữ ệ th  nào m  đ c d  li u đã mã hóa , cho dù bi ế ượ t đ ả   c mã hóa văn b n

ứ ạ ử ụ ậ ạ dùng thu t toán gì. S  d ng khóa càng ph c t p, mã hóa càng m nh.

ổ ừ ả ể ệ ả ầ ượ Vi c chuy n đ i t b n tin ban đ u thành b n tin mã hoá đ ọ c g i là

ự ể ổ ả ự s  mã hoá, s  chuy n đ i ng ượ ạ ừ ả i t c l b n tin mã hoá thành b n tin ban

ầ ượ ọ ả đ u đ c g i là gi i mã.

ầ ượ ọ ầ ượ ả ả B n tin ban đ u đ ả c g i là b n rõ, b n tin ban đ u đ c mã hoá s  tr ẽ ở

ộ ơ ế ả ậ ượ ọ ậ thành b n mã. Toàn b  c  ch  bí m t đó đ c g i là m t mã.

ậ ậ 1.1.M t mã khoá bí m t

ớ ề ậ 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 ộ   Trong m t mã đ i x ng các bên tham gia liên l c s  d ng cùng m t

ể ả ướ ề ự ể khóa đ  mã hóa và gi i mã. Tr

13

ậ ộ ỏ ớ ự ể th a thu n v i nhau m t khóa dùng chung (K). Th c th  A dùng khóa đó đ c khi truy n tin, hai th c th  A và B cùng   ể

K) sau đó g i cho th c th  B. Th c th  B dùng khóa K,

ự ử ự ể ể ả mã hóa b n tin (e

K) đ  gi

ự ả ể ả ệ th c hi n phép gi i mã (d i mã mã nh n đ ậ ượ c

ả ượ ữ ậ Khóa bí m t ph i đ ậ c d  bí m t

ố ứ ử ụ ậ ậ ộ 1.1.2.M t vài các thu t toán s  d ng trong m t mã khoá đ i x ng

1.1.2.1.DES

ệ ậ ượ ự ạ ữ ỹ H  m t DES đ c xây d ng t ầ   i M  trong nh ng năm 70 theo yêu c u

ề ẩ ượ ự ẩ ị ố ủ c a Văn phòng Qu c Gia v  chu n và đ ố   ủ c s  th m đ nh c a an ninh qu c

ế ợ ả ươ ể ị gia. DES k t h p c  hai ph ế ng pháp thay th  và chuy n d ch

ủ ậ ộ ố ỗ ố ộ DES là m t m t mã kh i. Đ  dài c a m i kh i là 64 bit

ể ổ ộ ỉ Khoá dùng trong DES có đ  dài t ng th  là 64 bit, tuy nhiên ch  có 56 bit

ự ự ượ ạ ể ệ th c s  đ c dùng, 8 bit còn l i dùng cho vi c ki m tra

ừ ậ ậ ượ ử ụ ấ Đây đã t ng là thu t toán m t mã đ ộ c s  d ng r ng rãi nh t .

1.1.2.2.IDEA

ộ ố ậ IDEA là m t thu t toán mã hoá kh i

ừ ố ố ố   IDEA tao thác trên t ng kh i 64 bit, mã kh i 64bit plaintext thành kh i

64bit ciphertext

ậ ộ Đ  dài khoá khoá dùng trong thu t toán IDEA là 128 bit

1.1.2.3. Triple DES

ậ ố ố

3DES (Triple DES), là thu t toán mã hóa kh i trong đó  kh i thông tin 64 ẽ ượ ầ ượ ằ ầ ậ t mã hóa 3 l n b ng thu t toán mã hóa ớ   DES v i 3 khoá c l n l bit s  đ

ẽ ớ ẽ ề ơ ộ

ữ ệ ể ớ ơ   khác nhau. Do đó, chi u dài khóa mã s  l n h n và đ  an toàn s  cao h n ộ ử   so v i DES do 3DES dùng 3 khóa khác nhau đ  mã hóa d  li u. B  x  lý

ự ướ ệ th c hi n các b c sau :

ứ ể ẽ ầ ữ ệ Khóa đ u tiên dùng đ  mã hóa d  li u. Sau đó, khóa th  hai s  dùng đ ể

14

ả ừ ượ ứ ẽ ố gi ữ ệ i mã d  li u v a đ ầ   c mã hóa. Cu i cùng, khóa th  ba s  mã hóa l n

ử ủ ứ ạ ậ ộ ộ ả th  hai. Toàn b  quá trình x  lý c a 3DES t o thành m t thu t gi i có đ ộ

ư ậ ộ ả ứ ạ ờ ở an toàn cao. Nh ng b i vì đây là m t thu t gi ự   i ph c t p nên th i gian th c

ệ ẽ ầ ơ ớ ươ ấ hi n s  lâu h n, g p 3 l n so v i ph ng pháp DES.

ậ ượ ặ ườ ể 1.1.2.4.CAST­128 ậ ộ Là m t thu t toán m t mã đ c đ t tên theo tên ng i phát tri n là

Carlisle Adams và Stafford Tavares

ề Chi u dài khoá là 128 bit

1.1.2.5.AES

ậ ộ ố AES là m t thu t toán mã hoá kh i

ố ữ ệ ệ ớ ộ AES làm vi c v i kh i d  li u 128 bít và ặ   khóa có đ  dài 128, 192 ho c

256 bít

15

ậ ậ Hình 1: M t mã khoá bí m t

ậ 1.2.M t mã khoá công khai

1.2.1.Khái ni mệ

ậ ộ ạ M t mã khóa công khai ậ  là m t d ng m t mã cho phép ng ườ ử ụ   i s  d ng

ậ ầ ả ổ ổ trao đ i các thông tin  m t mà không c n ph i trao đ i các khóa  bí m tậ

ướ ộ ặ ử ụ ậ tr c đó. Trong m t mã khóa công khai s  d ng m t c p khóa là khóa công

ể khai/khóa riêng. Khóa công khai dùng đ  mã hóa còn khóa riêng 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

16

ậ Hình 2: M t mã khoá công khai

ử ụ ậ ậ 1.2.2. Các thu t toán s  d ng trong m t mã khoá công khai

1.2.2.1. RSA

ậ Thu t toán RSA đ ượ Ron Rivest,  Adi Shamir  và  Len Adleman  mô tả c

ầ ệ ệ ọ ầ l n đ u tiên vào năm 1977 t i ạ H c vi n Công ngh  Massachusetts (MIT).

ậ RSA là m t ộ thu t toán mã hóa khóa công khai.

ệ ạ ậ ầ ớ ợ ữ Thu t toán đ u tiên phù h p v i vi c t o ra ch  ký đi n t ờ   ệ ử đ ng th i ồ

ộ ự ế ộ ượ ậ ủ ấ ự ớ v i vi c ệ mã hóa. Nó đánh d u m t s  ti n b  v

ệ ử ụ ượ ử ụ mã  trong vi c s  d ng khóa công khai. RSA đang đ ậ   t b c c a lĩnh v c m t ổ ế   c s  d ng ph  bi n

ươ ượ ề ệ ả ả ớ trong th ạ ng m i đi n t ệ ử và đ c cho là đ m b o an toàn v i đi u ki n đ ộ

ủ ớ dài khóa đ  l n.

ủ ệ ố ề ủ ự ấ ộ ọ Đ  an toàn c a h  th ng RSA d a trên 2 v n đ  c a toán h c: bài toán

ừ ố ố ố phân tích ra th a s  nguyên t các s  nguyên l n ớ  và bài toán RSA

ộ ự ệ ể ậ ố ơ RSA có t c đ  th c hi n ch m h n đáng k  so v i ớ DES và các  thu tậ

ự ế ườ ử ụ ậ ộ toán mã hóa đ i x ng ố ứ  khác. Trên th c t , ng i ta 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à ch  s  d ng RSA đ ể

ể ả ườ ề ắ ớ ơ mã hóa khóa đ  gi i mã (thông th ng khóa ng n h n nhi u so v i văn

b n).ả

ứ ổ

ượ ở 1.2.2.2.Ph ươ Ph ươ ng th c trao đ i khoá Diffie Hellman ứ ng th c này đ c phát minh b i Whitfield Diffie và Matty Hellman

ở Standford.

ơ ồ ầ ả ộ   Đây là s  đ  khoá công khai đ u tiên. Tuy nhiên, đó không ph i là m t

ổ ỉ ự ự ơ ồ .  s  đ  mã hoá khoá công khai th c s , mà ch  dùng cho trao đ i khóa

ậ ượ ổ ằ ạ Các khoá bí m t đ ử ụ c trao đ i b ng cách s  d ng các tr m trung gian

ậ ươ ậ ượ riêng tin c y. Ph ng pháp này cho phép các khoá bí m t đ ề c truy n an

17

ườ ả ậ toàn thông qua các môi tr ng không b o m t.

ả ủ ự ệ ổ Trao đ i khoá Diffie­Hemall d a trên tính hi u qu  c a bài toán logarit

ờ ạ r i r c

ậ ủ ằ ở ỗ ả ổ Tính b o m t c a trao đ i khoá Diffie­Hellman n m ch : tính hàm mũ

ộ ố ủ ố ờ ạ ư ễ modulo c a m t s  nguyên t là khá d  dàng nh ng tính logarit r i r c là

ấ r t khó

ữ ố

1.3. Ch  ký s ộ ữ ứ ụ ủ ữ ố ậ M t trong nh ng  ng d ng c a m t mã khóa công khai là ch  ký s .

ữ ệ ữ ầ ố ượ ộ Ch  ký s  là m t ph n d  li u đ ớ ả c đính kèm v i b n tin, dùng đ ể

ạ ậ ự ườ ử ữ ệ ủ ả ử ụ nh n d ng và xác th c ng

ườ ử ử ụ ể ạ ề i g i và d  li u c a b n tin, s  d ng mã hoá   ộ ả   ộ i g i s  d ng hàm hash m t chi u đ  t o ra m t b n khoá công khai. Ng

ừ ữ ệ ủ ườ ử ẽ ộ mã hash có đ  dài 32 bit t ả  d  li u c a b n tin. Sau đó, ng

ủ ả ằ ườ ử hoá b n  mã hash   đó(hash­code)   b ng khoá  riêng  c a  ng i g i s  mã   ườ   i i  g i.   Ng

ậ ẽ ạ ừ ữ ệ ả ả nh n s  tính toán l i mã hash đó t d  li u đó và gi i mã b n mã hash đó

ủ ườ ử ế ố ằ b ng khoá công khai c a ng i g i. N u hai mã hash đó gi ng nhau, thì

ườ ị ử ổ ắ ằ ể ắ ậ ng ữ ệ   ữ ệ i nh n có th  ch c ch n r ng d  li u đó không b  s a đ i và d  li u

ủ đó đúng là c a ng ườ ử i g i

1.3.1.Quá trình ký

ầ ượ ề ở ộ Đ u tiên, thông báo đ c tính toán b i hàm băm m t chi u , hàm này s ẽ

ả ề ộ ả ượ tính toán thông báo và tr  v  m t b n tóm l c thông báo (message digest),

ộ ả ằ ượ ề ả ả hàm băm m t chi u đ m b o r ng b n tóm l

ấ ỳ ộ ử ổ ẽ ấ ỏ ấ   c thông báo này là duy nh t ổ   và b t k  m t s a đ i dù nh  nh t trên thông báo cũng s  gây ra thay đ i

ắ ườ ử ẽ ủ ả cho b n tóm t t này. Sau đó ng i g i s  dùng khoá riêng c a mình mã hoá

ắ ộ ượ ữ ố ả b n tóm t t này. N i dùng sau khi đ c mã hoá chính là ch  ký s  (digital

ủ ượ ườ ử ữ ố signature) c a thông báo đó đ ở c ký b i ng i g i. Ch  ký s  này s  đ ẽ ượ   c

ườ ậ ử ớ g i t i cho ng ớ i nh n kèm v i thông báo

18

.

Hình 3: Quá trình ký số

ố 1.3.2.Quá trình ki m tra ch  ký s

ể ậ ậ ườ ượ ợ ệ ủ ữ i nh n nh n đ Khi ng ể ể c thông báo, đ  ki m tra tính h p l c a nó,

ườ ậ ẽ ủ ầ đ u tiên ng i nh n s  dùng khoá công khai c a ng ườ ử ể ả i g i đ  gi i mã ch ữ

ế ố ả ữ ả ượ ả ủ ký s . K t qu  c a quá trình gi ố i mã ch  ký s  là b n tóm l c thông báo

ườ ử ạ ườ ề ể ậ ộ ủ c a ng i g i t o ra. Sau đó, ng

ữ ồ ấ ộ ầ ủ ế ộ ắ t qua n i dung c a thông báo m t l n n a r i l y k t qu i nh n dùng hàm băm m t chi u đ  tính   ả ả toán b n tóm t

ớ ả ượ ừ ượ ả ở đem so sánh v i b n tóm l c thông báo v a đ c gi i mã

ả ố ể qu  gi ng nhau thì quá trình ki m tra thành công. Ng ượ ạ c l ế   ế  trên, n u k t ể ế   i có th  k t

ị ả ạ ậ ặ ộ ổ ị lu n đây là m t thông báo đã b  gi m o ho c thông tin đã b  thay đ i trên

19

ử quá trình g i đi.

ữ ể ố Hình 4: Quá trình ki m tra ch  ký s

1.4. Hàm hash

ệ 1.4.1.Khái ni m hàm hash

ư ề ộ ộ Hàm hash (hash function) là hàm m t chi u mà khi ta đ a m t kh i d

ấ ỳ ẽ ạ ệ ộ ỗ ộ ộ li u có đ  dài b t k  qua hàm này thì s  t o ra m t chu i bít có đ  dài c ố ữ  ố

ở ầ ả ở ầ ế ả ọ ượ ị đ nh đ u ra. K t qu đ u ra g i là b n tóm l c thông báo (message

digest)

ể ả ẹ ả ự  Hash có th  đ m b o tính toàn v n và xác th c

ể ượ ậ ượ ở ạ ữ ệ ầ Thu t toán hash không th  đ ị c d ch ng c tr  l i d  li u ban đ u vì

ề ậ ộ ậ ượ ọ v y đ c g i là thu t toán mã hoá m t chi u

ượ c thông báo

1.4.2. Tóm l ả ượ ượ ố ủ ả ấ ộ B n tóm l c thông báo đ c coi là m t “d u vân tay” s  c a b n tin.

ả ượ ượ ạ ừ ữ ệ ủ ả B n tóm l c thông báo đ c t o ra t hàm hash trên d  li u c a b n tin.

ậ ượ ể ọ Thu t toán tóm l ặ c thông báo có hai đ c đi m quan tr ng

ư ư ư ầ ầ ầ ạ Đ u vào nh  nhau thì luôn luôn t o ra đ u ra nh  nhau nh ng đ u vào

20

ể ờ ạ ư ầ khác nhau thì có th  không bao gi t o ra đ u ra nh  nhau

ị ượ ả ậ ự ừ ả ượ ể Không th  xác đ nh đ c b n tin th t s  t b n tóm l c thông báo

ả ượ ượ ử ụ ả ằ ữ ệ ể ả B n tóm l c thông báo đ ả   c s  d ng đ  đ m b o r ng d  li u b n

ề ổ ố ị tin không b  thay đ i trong su t quá trình truy n

ả ượ ượ ủ ằ B n tóm l c thông báo đ c mã hoá b ng khoá riêng c a ng ườ ử   i g i

ữ ố ể ạ đ  t o nên ch  ký s

ƯƠ

CH

NG II: T NG QUAN V  PKI VÀ CA

ử ể ị 2.1. L ch s  phát tri n PKI

ố Vi c  ệ Diffie,  Hellman,  Rivest,  Shamir, và  Adleman  công b  công trình

ứ ậ ậ nghiên c u v ổ ề trao đ i khóa an toàn và thu t toán m t mã hóa khóa công

ứ ổ ổ

ệ ử ố ể ủ ệ ố ớ ự ề ậ khai vào năm  1976 đã làm thay đ i hoàn toàn cách th c trao đ i thông tin   ộ m t. Cùng v i s  phát tri n c a các h  th ng truy n thông đi n t t c đ

ệ ố ướ ề ầ ổ cao (Internet và các h  th ng tr c nó), nhu c u v  trao đ i thông tin bí

ậ ở ấ ế ữ ệ ộ m t tr  nên c p thi ầ t. Thêm vào đó m t yêu c u n a phát sinh là vi c xác

ữ ủ ạ ị ườ ậ ị đ nh đ nh d ng c a nh ng ng

ưở ề ệ ạ ị ượ ườ ứ ự ớ t ắ ng v  vi c g n đ nh d ng ng i tham gia vào quá trình thông tin. Vì v y ý   ệ i dùng v i ch ng th c đ ả c b o v

ậ ỹ ượ ể ạ ộ ậ ằ b ng các k  thu t m t mã đã đ ẽ c phát tri n m t cách m nh m .

ỹ ớ ượ ử ụ Nhi u ề giao th cứ  s  d ng các k  thu t ậ ậ m t mã m i đã đ ể   c phát tri n

ớ ự ờ và phân tích. Cùng v i s  ra đ i và ph  bi n c a

ề ầ ườ ử ụ ở nhu c u v  thông tin an toàn và xác th c ng ổ ế ủ World Wide Web, nh ngữ   ấ   ự i s  d ng càng tr  nên c p

ỉ ế ầ ứ ươ ụ t. Ch  tính riêng các nhu c u  ng d ng cho ng m i th

ơ ở ữ ệ ữ ệ ậ ằ thi đi n tệ ử hay truy c p nh ng c  s  d  li u b ng trình duy t web) cũng đã đ ạ  (nh  ư giao d chị   ủ

ự ể ẫ ộ ấ h p d n các nhà phát tri n lĩnh v c này. Taher ElGamal và các c ng s  t ự ạ   i

ứ ể ế ậ Netscape đã phát tri n giao th c SSL  trong đó bao g m ồ thi t l p khóa , xác

ế ế ượ ạ ụ ụ ể th cự  máy chủ. Sau đó, các thi t ch  PKI đ ầ   c t o ra đ  ph c v  nhu c u

21

ề truy n thông an toàn.

ỳ ọ ứ ẹ ớ Các nhà  doanh nghi pệ   k  v ng vào m t ộ th  tr ị ườ   h a h n m i đã ng

ậ ặ ự ớ ề ắ ầ ữ ậ ộ

ộ ự ủ ể ự ề thành l p nh ng công ty ho c d  án m i v  PKI và b t đ u v n đ ng các   ủ   chính ph  đ  hình thành nên khung pháp lý v  lĩnh v c này. M t d  án c a

ứ ổ ấ ả ề ộ

ể ả ề ậ ữ   American Bar Association đã xu t b n m t nghiên c u t ng quát v  nh ng ộ   ấ v n đ  pháp lý có th  n y sinh khi v n hành PKI .Không lâu sau đó, m t

ể ầ vài ti u bang c a ữ   ủ Hoa kỳ mà đi đ u là Utah (năm 1995) đã thông qua nh ng

ề ợ ệ ầ ả ị ườ ự ậ d  lu t và quy đ nh đ u tiên. Các nhóm b o v  quy n l i ng i tiêu dùng

ề ệ ặ ấ ư ệ ề ề ả thì đ t ra các v n đ  v  b o v  quy n riêng t và các trách nhi m pháp lý.

ị ượ ạ ậ Tuy nhiên, các lu t và quy đ nh đã đ c thông qua l ấ   ố i không th ng nh t

ế ớ ề ỹ ữ ậ ậ trên th  gi i. Thêm vào đó là nh ng khó khăn v  k  thu t và v n hành

ớ ỳ ọ ơ ấ ự ệ ệ ề ế khi n cho vi c th c hi n PKI khó khăn h n r t nhi u so v i k  v ng ban

đ u.ầ

ế ỷ ể ạ ờ ườ ậ ằ ậ ỹ ầ T i th i đi m đ u th  k  21, ng ậ   i ta nh n ra r ng các k  thu t m t

ứ ấ ư ượ ự ệ mã cũng nh  các quy trình/giao th c r t khó đ c th c hi n chính xác và

ệ ạ ẩ ư ứ ượ ề ầ các tiêu chu n hi n t i ch a đáp  ng đ c các yêu c u đ  ra.

ị ườ ồ ạ ể Th  tr ự ự ng PKI th c s  đã t n t

ượ ừ ữ ủ ữ ậ ỷ quy mô đã đ ỳ ọ c k  v ng t ả ớ   ư i và phát tri n nh ng không ph i v i ư    nh ng năm gi a c a th p k  1990. PKI ch a

ả ộ ố ấ ề ượ ỳ ọ gi i quy t đ c ữ c k  v ng. Nh ng PKI thành

ế ượ   m t s  v n đ  mà nó đ ấ ớ ủ ự ệ ả i nay là các phiên b n do các chính ph  th c hi n công nh t t

ỗ ự ữ ệ ẫ ớ ầ ư ượ T i nay, nh ng n  l c hoàn thi n PKI v n đang đ c đ u t

ệ ờ ẩ ầ ể ệ ự ẩ ưở và thúc   ả   ng tuy t v i này, các tiêu chu n c n ph i đ y. Và đ  hi n th c hoá ý t

ượ ể ở ứ ồ ộ đ ứ c nghiên c u phát tri n

ự ế ề ầ ả các m c đ  khác nhau bao g m: mã hoá,   ế   ấ truy n thông và liên k t, xác th c, c p phép và qu n lý. Tuy nhiên, h u h t

ừ ưở ở ồ ệ các công ngh  hình thành t ý t ộ ố   ng này đã tr  nên chín mu i và m t s  đã

ướ ề ạ ậ ạ ẩ ả b c vào giai đo n "lão hoá". Nhi u chu n b o m t trên m ng Internet,

ạ ẳ ch ng   h n   Secure   Sockets   Layer/Transport   Layer   Security   (SSL/TLS)   và

22

ả ủ ế ế Virtual Private Network (VPN), chính là k t qu  c a sáng ki n PKI

ứ ể ộ Quá trình nghiên c u và phát tri n PKI là m t quá trình lâu dài và cùng

ủ ứ ấ ậ ộ ườ ộ ớ v i nó, m c đ  ch p nh n c a ng

ư ớ ề ạ ậ ẩ ố ộ ch m ch p. Cũng gi ng nh  v i nhi u tiêu chu n công c ng khác, t i dùng cũng tăng lên m t cách khá   ỷ ệ   l

ườ ấ ậ ẽ ẩ ở ỉ ng

ự ự ủ ượ ứ ụ ả ả ứ ệ   i dùng ch p nh n s  tăng lên ch  khi các chu n đó tr  nên hoàn thi n, ệ   c kh  năng th c s  c a nó, và kh  năng  ng d ng và hi n ch ng minh đ

ả ề ự ự ủ ệ ả ạ ẫ th c hoá c a nó là kh  thi (c  v  khía c nh chi phí l n th c hi n).

ệ 2.2.Tình hình PKI t

ướ ở ệ ộ ố ổ ứ ạ t Nam i Vi ầ ử ụ c nhu c u s  d ng PKI, Tr Vi t nam, có m t s  t ể    ch c đã tri n

ạ ộ ụ ứ ự ự ấ ị

ơ ế ướ ự ủ ử ệ khai ho t đ ng cung c p d ch v  ch ng th c trong lĩnh v c này. Trong khu   ạ ạ  i h c Ban C  Y u chính ph  đã xây d ng và th  nghi m t ự v c Nhà n

ộ ố ộ ủ ở ỏ ầ t ng Trung Tâm c a m t s  B , ngành ờ ử ụ   ồ  quy mô nh  , đ ng th i s  d ng

ộ ố ị ụ ả ậ ướ trong m t s  d ch v  b o m t và an toàn . Ngân hàng Nhà n ộ c, B  Công

ươ ổ ứ ử ứ ệ Th ng cũng đã t ạ    ch c th  nghi m các CA chuyên dùng đáp  ng ho t

ệ ụ ộ ộ ộ đ ng nghi p v  n i b

ự ướ ổ ứ Khu  v  ngoài  nhà n ư c  nh   các  t

ệ ử ứ ộ ố ổ ứ ự ch ng th c đi n t cho m t s  t ấ     ch c  VASC,  VDC   đã  cung  c p ầ ử ch c và cá nhân. Nhìn chung, nhu c u s

ở ệ ể ệ ụ d ng PKI Vi t Nam ngày càng tăng , tuy nhiên vi c tri n khai th c t ự ế

ệ ạ ư ề hi n t i ch a nhi u

ơ ế ủ ậ Ở ệ  Vi t Nam, năm 2007 Ban C  Y u Chính ph  thành l p Trung tâm

ệ ử ứ ả ấ ớ ự Ch ng th c đi n t ứ  chuyên dùng v i các ch c năng cung c p , qu n lý

ụ ứ ư ố ự ữ ứ ơ ố ị ộ   ch ng th  s  và các d ch v  ch ng th c ch  ký s  cho các c  quan thu c

ị ệ ố h  th ng Chính tr

ề ậ ộ

ụ ứ ụ ự ữ ệ ố ố ứ   Năm 2008, B  Thông tin­ Truy n thông đã thành l p Trung tâm ch ng ổ th c ch  ký s  qu c gia và giao C c  ng d ng Công ngh  thông tin t

ả ứ ự ố ụ ứ ấ ấ ị

23

ự   ch c, qu n lý, c p phép và cung c p d ch v  ch ng th c s  cho khu v c công c ngộ

ệ ệ Hình 5:Mô hình PKI Vi t Nam hi n nay

ụ ứ ữ ự ệ ể ị Nhìn chung vi c tri n khai d ch v  ch ng th c ch  ký s ố ở ướ  n c ta còn

ị ố ộ ụ ư ể ậ ạ ị ị ch m, ch a theo k p t c đ  phát tri n m ng CNTT và các d ch v  giao d ch

ệ ử ế ớ đi n t trên th  gi i

ơ ở ạ ầ ữ ầ ộ C  s  h  t ng khoá công khai (PKI) là m t trong nh ng nhu c u thi ế   t

ủ ươ ụ ứ ư ề ế ầ ấ ế y u c a t ng lai. Nh ng v n đ  là h u h t các  ng d ng có th  đ ể ượ   c

ư ứ ả ằ ỉ ạ ấ ắ ề ả đ m b o an toàn b ng ch ng ch  và khoá nh ng l i r t khó và đ t đ  cài

ề ầ ậ ạ ặ đ t PKI, lý dó là ph n m m trung tâm tin c y có tính linh ho t thì l

ở ầ ụ ủ ể ẩ ả ắ đ t. Đây là đi m kh i đ u c a OpenCA. M c đích là s n ph m c a h ạ ấ   i r t ệ  ủ

ở ể ỗ ợ ộ ậ ố ồ ồ ớ ả th ng trung tâm tin c y ngu n m  đ  h  tr  c ng đ ng v i các gi i pháp

ợ ướ ươ ố ẻ t t, r  (chi phí h p lý) và mang tính xu h ng trong t ng lai

ự ượ ắ ầ ưở D  án OpenCA đ c b t đ u vào năm 1998. Ý t

ượ ể ở ồ ầ ủ ự đ c phát tri n b i Massimiliano Pala. Mã ngu n ban đ u c a d  án đ ầ   ng OpenCA ban đ u ượ   c

ế ớ ủ ề ấ ạ ầ ả ầ vi t v i đo n script r t dài. Khi phiên b n đ u tiên c a ph n m m đ ượ   c

ứ ự ự ề ẫ ấ xây d ng, thì d  án OpenSSL v n có tên là SSLeay . R t nhi u ch c năng

24

ỗ ữ ề ị ỏ ứ ề ẫ v n còn l i và nhi u th  khác n a đ u đang b  b  qua

ệ ề ặ ầ ả ộ ỉ ạ   ầ ấ ơ Vi c cài đ t ph n m m ban đ u r t đ n gi n và ch  có m t vài đo n

ở ạ ể ề ầ ặ ạ ỉ ầ script kh i t o CA. Đ  cài đ t nhanh chóng ph n m m, b n ch  c n gi

ừ ể ể ệ ả nén gói đó, dùng l nh cd đ  chuy n vào gói v a gi ả   i ử ụ   i nén đó và s  d ng

ẽ ế ạ ạ ặ ầ   ệ l nh “make install”, đo n script sau đó s  ch y và ti n hành cài đ t ph n

ứ ề ả ạ ơ ỉ m m CA đ n gi n và t o ra ch ng ch  CA

ộ ạ ấ ẽ ượ ệ ạ ặ M t lo t các đo n script đ

ư ậ ủ ự ế ầ ầ ả ặ ơ ấ   c cung c p s  giúp cho vi c cài đ t và c u ư   hình cho h u h t các ph n c a d  án. M c dù đ n gi n nh  v y, nh ng

ả ề ớ ộ ề ấ ấ ồ ườ gi i pháp này gây ra r t nhi u v n đ  v i c ng đ ng ng

ừ ệ ả ạ ầ ầ ộ ủ ầ ề ả ấ v n đ  n y sinh t vi c nhu c u c n ph i t o ra m t gói đ y đ  và t ở i dùng b i vì các   ố   t

ấ ơ ủ ứ ề ầ ả ả ơ h n. Phiên b n đ u tiên c a OpenCA r t đ n gi n, nhi u ch c năng đ ượ   c

ủ ế ỉ ượ ự ể ấ ứ ỉ xây   d ng   ch   y u   ch   đ c   dùng   đ   c p   phát   ch ng   ch ,   CRL   và   các

ươ ụ ứ ệ ặ ơ ơ ph ng th c cài đ t thì khá đ n s , không có tính ti n d ng cho b t k ấ ỳ

ể ươ ệ ấ ạ ỉ ớ ti n ích c u hình nào , đo n script ch  có th  t ng thích v i bash

ế ượ ề ơ ổ ả Các phiên b n ti p theo đ c b  sung thêm nhi u tính năng h n cho d ự

ủ ệ ả ồ án và do đó phiên b n 0.109 đã bao g m giao di n cho server c a CA, RA

ừ ắ ầ ừ ự ả ầ và Pub. T  lúc b t đ u d  án và t

ớ ự ủ ộ ượ ự ồ ộ    phát hành phiên b n đ u tiên, đã có m t ể   ng l n s  tham gia c a c ng đ ng Internet đóng góp vào s  phát tri n l

ủ ự c a d  án

ệ ị ề 2.3. Các đ nh nghĩa v  PKI và các khái ni m có liên quan

2.3.1. Các đ nh nghĩa v  PKI

ề ề ề ị ị ấ ể ể PKI có r t nhi u đ nh nghĩa. Đ  hi u sâu và rõ v  PKI, em xin phép

ượ ư ề ị đ c đ a ra các đ nh nghĩa v  PKI

ị Đ nh nghĩa 1:

ơ ở ủ ộ ạ ầ ụ ủ ắ ộ ị

ử ụ ự ệ ệ ặ ằ ỹ ượ PKI là c  s  c a m t h  t ng an ninh r ng kh p, các d ch v  c a PKI   ậ   c cài đ t và th c hi n b ng cách s  d ng các khái ni m và k  thu t đ

ậ ủ c a m t mã khoá công khai

25

ị Đ nh nghĩa 2

ộ ậ ứ ề ầ ầ ợ ườ PKI là m t t p h p ph n c ng, ph n m m, con ng i, các chính sách

ủ ụ ầ ế ể ạ ữ ư ả ồ ố và các th  t c c n thi t đ  t o, qu n lý, l u tr  , phân ph i và thu h i các

ứ ậ ỉ ự ch ng ch  khoá công khai d a trên m t mã khoá công khai

ị Đ nh nghĩa 3

ạ ầ ậ Trong m t mã khoá công khai, c  s ơ ở h  t ng khóa công khai là m t cộ ơ

ế ể ứ ấ ộ ị ự đ nh danh

ơ ế ch  đ  cho m t bên th  3 (CA) cung c p và xác th c     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 ộ ặ khóa công khai/khóa riêng. Các

ườ ượ ặ ạ ự ề ầ ở quá trình này th ng đ ệ ố  m t c p  h  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 pân ph i trong ch ng ch  khoá công khai

ạ ầ ườ ượ Khái ni m ệ h  t ng khóa công khai ể ỉ c dùng đ  ch  toàn b  h ng đ th

ự ứ ế ề ẩ ồ ố ơ ộ ệ  ồ   th ng bao g m th m quy n ch ng th c 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 toán m t mã hóa khóa công khai

ổ trong trao đ i thông tin

ệ 2.3.2. Các khái ni m liên quan trong PKI

ứ ỉ 2.3.2.1.Ch ng ch

ệ ử ụ ố ế ợ ữ ứ ộ ỉ ớ   Ch ng ch  là m t tài li u s  d ng ch  ký s  k t h p khoá công khai v i

ộ ị ư ườ ự ể ộ ổ ứ ặ ộ m t đ nh danh th c th  (nh  ng i, m t t ủ  ch c ho c m t máy ch )

ứ ấ ỳ ộ ề ơ ả ứ ậ ỉ Ch ng ch  không ch a b t k  m t thông tin bí m t nào. V  c  b n, nó

ầ ồ bao g m các thành ph n sau

ỉ ứ ứ ầ ế ư ữ Ch ng ch  ch a nh ng thông tin c n thi t nh  khoá công khai, ch  th ủ ể

ườ ở ữ ộ ố ứ ấ ỉ (ng i s  h u) , bên c p ch ng ch  và m t s  thông tin khác. Tính h p l

ố ủ ượ ứ ữ ằ ấ ả ả ợ ệ  ỉ   c đ m b o b ng ch  ký s  c a bên c p ch ng ch . ủ c a các thông tin đ

ườ ỉ ướ ứ ố ế ẽ ể ữ Ng ử ụ i dùng mu n s  d ng ch ng ch  tr c h t s  ki m tra ch  ký s ố

ỉ ế ợ ệ ữ ứ ể ử ụ ứ ỉ trong ch ng ch . N u ch  ký đó h p l thì có th  s  d ng ch ng ch  đó

26

ứ ộ ỉ ạ M t vài lo i ch ng ch

ứ ỉ Ch ng ch  khoá công khai X.509

ứ ơ ỉ ả Ch ng   ch   khoá   công   khai   đ n   gi n   (Simple   Public   Key   Certificate

­SPKC)

ứ ỉ Ch ng ch  Pretty Good Privacy (PGP)

ứ ộ ỉ Ch ng ch  thu c tính (Attribute Certificate ­AC)

ấ ả ứ ề ạ ạ ấ ỉ ệ T t c  các lo i ch ng ch  này đ u có c u trúc d ng riêng bi ệ t. Hi n nay

ứ ỉ ượ ử ụ ổ ế ế ầ ch ng ch  khoá 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 ch  X.509

ứ ượ ố ế ệ ộ ỉ Ch ng ch  X.509 đ ễ 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 ch  này g m 2 ph n. Ph n đ u là nh ng tr ơ ả ầ ng c  b n c n thi

ộ ố ứ ứ ả ầ ầ ỉ ườ ứ ph i có trong ch ng ch , ph n th  hai là ph n ch a m t s  các tr ế   t ụ   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

ả ủ ứ ỉ Version: Phiên b n c a ch ng ch

ứ ủ ố ỉ ị ấ ủ   Serial   Number:   S   serial   c a   ch ng   ch ,   là   đ nh   danh   duy   nh t   c a

ứ ị ỉ ch ng ch , có giá tr  nguyên

ữ ậ ậ ỉ ủ Signature Algorithm: Thu t toán c a ch  ký : Ch  ra thu t toán CA s ử

ứ ể ỉ ụ d ng đ  ký ch ng ch

ủ ể ứ ỉ Issuer: Tên ch  th  phát hành ch ng ch

ờ ạ ủ ứ ỉ Valid from – Valid to: Th i h n c a ch ng ch

27

ủ ể ủ ứ ỉ Subject: Tên ch  th  c a ch ng ch

ủ ở ữ ủ ứ ỉ Public Key: Khoá công khai c a ch  s  h u ch ng ch

ứ ạ ỉ Hình 6: Khuôn d ng ch ng ch  X.509v3

ứ ế ợ ậ ạ ở ớ ứ 2.3.2.2.Kho ch ng ch ỉ ượ ấ Ch ng ch  đ ủ   c c p b i CA k t h p khoá 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 ch  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 ch  này ch a đ c t o ra

ứ ế ả ộ

ả ượ ặ ở ị ẻ ề ể ị ị ỉ ự Do đó, ph i có m t kho ch ng ch  tr c tuy n (online repository), quy mô   ứ    v  trí mà A có th  xác đ nh v  trí ch ng ớ l n và m m d o và ph i đ c đ t

ề ầ ỉ ể ch  mà anh ta c n đ  truy n thông an toàn

ớ ẽ ở ứ ế ỉ Môt PKI quy mô l n s  tr  nên vô ích n u không có kho ch ng ch

ỉ 2.3.2.3.H y b  ch ng ch ỉ ắ ủ ỏ ứ ứ ế ạ ậ ớ ườ CA ký ch ng ch  g n k t khóa công khai v i nh n d ng ng i dùng.

28

ườ ự ế ự ệ ẽ ả ỏ Tuy nhiên trong môi tr ng th c t , các s  ki n s  có lúc đòi h i ph i phá

ế ặ ỏ ắ ự ế ậ ớ ạ   ỏ ự ắ b  s  g n k t này. S  phá b  g n k t c p khoá công khai v i nh n d ng

ự ể ể ộ ủ c a m t th c th  có th  là do

ự ạ ậ ổ S  thay đ i nh n d ng

ậ ị Khoá bí m t b  hacker khám phá ra

ứ ể ữ ả ầ ộ ườ Do đó c n ph i có m t cách th c đ  thông báo cho nh ng ng i dùng

ạ ằ ượ ấ còn l ủ ị i r ng khoá công khai c a đ nh danh này không còn đ

ế ả ơ ượ ứ ọ ữ n a.   C   ch   c nh   báo   này   trong   PKI   đ ỷ ỏ c   g i   là   hu   b   ch ng   ch ậ   c ch p nh n ỉ

(Certificate Revocation)

ư

ườ ộ ỉ ệ ạ ộ ự 2.3.2.4. Sao l u và d  phòng khóa ấ ỳ ộ Trong b t k  m t môi tr ng PKI đang ho t đ ng , m t t  l

ề ử ụ ể ị ấ ậ ủ ộ ườ    ng i ờ ạ   dùng có th  b  m t quy n s  d ng khoá bí m t c a mình theo m t th i h n

ụ ỗ ể ặ ỗ ố ị c  đ nh nào đó (ví d  m i tháng ho c m i năm ). Nguyên nhân có th  là do

ậ ủ ậ ẩ ườ ề ặ ậ ẫ Quên m t kh u: Khoá bí m t c a ng i dùng v n còn v  m t v t lý

ư ể nh ng không th  truy c p đ ậ ượ c

ươ ị ỏ ị ỏ ụ ứ ư ẻ ệ ặ Ph ng ti n b  h ng hóc: Ví d  nh  đĩa c ng b  h ng ho c th  thông

ị minh b  gãy

ế ủ ự ươ ệ S  thay th  c a ph ệ ề ng ti n: H  đi u hành đ ượ ả ạ c t i l i (ghi đè lên các

ấ ờ ỷ ụ ệ ặ ộ ơ ượ gi y t ộ  u  nhi m c c b ) ho c m t mô hình máy tính cũ h n đ c thay

ớ ơ ế ằ ấ ờ ỷ ộ th  b ng m t mô hình máy tính m i h n và các gi y t ệ  u  nhi m không

ượ ể ướ ị ạ đ c chuy n tr c khi đĩa cũ b  format l i

ả ậ ể ả ự ư ự ệ Gi i pháp: Th c hi n sao l u và d  phòng khoá bí m t đ  gi i mã.

ư ự ệ ầ ế ạ ộ Vi c sao l u và d  phòng khoá là mang tính c n thi ầ   t, nó t o nên m t ph n

29

ở ộ ị m  r ng trong đ nh nghĩa PKI

ậ     2.3.2.5.C p nh t khóa t ứ ậ ỉ ự ộ  đ ng ờ ộ ữ ứ ạ ố ỉ

ế ằ ỉ ớ ủ ụ ượ ứ ộ ị ế ạ   M t ch ng ch  thì có th i gian s ng h u h n. Khi ch ng ch  b  h t h n ậ   ọ c g i là c p c thay th  b ng m t ch ng ch  m i. Th  t c này đ ẽ ượ s  đ

ứ ậ ậ ỉ ậ nh t khoá hay c p nh t ch ng ch

ề ặ ấ ườ ẽ ườ ấ ệ ấ ả V n đ  đ t ra là: Ng i dùng PKI s  th ng c m th y b t ti n khi

ả ậ ọ ẽ ườ ủ ậ ph i c p nh t khoá th  công và thông th

ủ ứ ệ ậ ặ ậ ỉ ớ ờ ạ   ng thì h  s  không nh  th i h n ế ạ   ự ế ạ h t h n c a ch ng ch  ho c khi th c hi n c p nh t khoá khi đã h t h n

ườ ứ ạ ủ ụ ề ặ ả th ơ ng g p ph i nhi u th  t c ph c t p h n

ả ứ ự ặ ộ Gi i pháp: Xây d ng PKI theo cách mà toàn b  khoá ho c ch ng ch  s ỉ ẽ

ượ ậ ậ ự ộ ự ệ ầ đ c c p nh t hoàn toàn t ủ    đ ng mà không c n có s  can thi p nào c a

ườ ng i dùng

ỉ ủ ứ ỗ ườ ử ụ ượ ế ộ M i khi ch ng ch  c a ng i s  d ng đ ụ   c dùng đ n cho m t m c

ấ ỳ ợ ệ ủ ẽ ượ ờ ế ạ ể ắ đích b t k , th i gian h p l c a nó s  đ c ki m tra. Khi s p h t h n thì

ỉ ớ ẽ ượ ạ ỉ ẽ ễ ạ ộ ứ ứ ớ ho t đ ng làm m i ch ng ch  s  di n ra, ch ng ch  m i s  đ

ế ứ ủ ượ ể ị ỉ ẽ ượ ự ụ s  đ c s  d ng đ  thay th  ch ng ch  cũ và giao d ch c a đ c t o ra và   ầ   c yêu c u

ườ ễ ủ c a ng ẽ ế ụ i dùng s  ti p t c di n ra

ậ ậ ở ự ộ ố ố ố ớ B i vì quá trình c p nh t khoá t đ ng là nhân t s ng còn đ i v i PKI

ề ặ ộ ườ ạ ầ ộ ị ho c đ ng trong nhi u môi tr ng, do đó, nó t o nên m t ph n đ nh nghĩa

ủ c a PKI

ị 2.3.2.6.L ch s  khóa

ử ố ử ụ ộ ườ ể Trong su t quá trình s  d ng PKI, m t ng ề   i dùng có th  có nhi u

ỉ ệ ạ ứ ứ ộ ỉ ứ ậ ợ ấ ch ng ch  cũ và có ít nh t m t ch ng ch  hi n t i. T p h p các ch ng ch ỉ

ậ ươ ớ ượ ử ọ ị này v i các khoá bí m t t ứ ng  ng đ c g i là l ch s  khoá (key history)

ứ ọ ị ỉ ử hay còn g i là l chs  khoá và ch ng ch

ộ ị ử ệ ế ấ ọ ở Vi c duy trì  toàn b  l ch s  khoá này r t quan tr ng b i vì n u gi ả ử   s

ự ự ể ể ả ả ờ th c th  A mã hoá b n tin cho th c th  B trong kho ng th i gian là 5 năm

30

ể ả ự ể ệ ạ ủ ằ ậ thì th c th  B không th  gi i mã b ng khoá bí m t hi n t i c a mình

ư ự ậ ả ượ ử ả ậ ố ị Cũng gi ng nh  s  c p nh t khoá, qu n lý l ch s  khoá ph i đ ự   c th c

ệ ự ộ ả ắ ầ hi n và duy trì t đ ng trong PKI. PKI c n ph i n m gi ữ ượ ấ ả c t t c  các đ

ự ư ự ử ệ ị ạ ị ợ khoá trong l ch s , th c hi n sao l u và d  phòng t i v  trí thích h p

ử ấ ạ ầ ộ ở ọ ị ở ộ   Duy trì l ch s  khoá r t quan tr ng b i vì nó t o ra m t ph n m  r ng

ượ ị trong PKI đ c đ nh nghĩa

ự 2.3.2.7.Ch ng th c chéo

ề ứ ặ ấ Đ t v n đ :

ườ ự ế ả ụ ỉ Trong môi tr ng th c t

ạ ộ ự ế ạ ộ ượ ề ể ấ ho t đ ng mà th c t ấ   ộ , không ph i ch  có m t PKI toàn c c duy nh t ụ   c tri n khai và ho t đ ng, ph c có r t nhi u PKI đ

ườ ồ ộ ườ ụ v  trong các môi tr ng và c ng đ ng ng i dùng khác nhau

ế ớ ạ ộ ố ợ ẽ ả ấ Khi các PKI ho t đ ng ph i h p, liên k t v i nhau, s  n y sinh v n đ ề

ể ả ữ ề ế ả ộ ồ là làm th  nào đ  đ m b o an toàn truy n thông gi a các c ng đ ng ng ườ   i

dùng trong các PKI?

ả Gi i pháp

ự ứ ệ ả ườ Khái ni m ch ng th c chéo đã n y sinh trong môi tr ng PKI đ  gi ể ả   i

ệ ế ằ ầ ạ ố ưở ữ quy t nhu c u này nh m t o ra m i quan h  tin t ng gi a các PKI không

ướ ệ ớ có quan h  v i nhau tr c đó

ự ứ ế ơ ườ ủ ộ ộ Ch ng th c chéo là c  ch  cho phép ng

ợ ệ ậ ỉ ủ ứ ườ PKI này xác nh n tính h p l ch ng ch  c a ng ồ   i dùng c a m t c ng đ ng ộ   i dùng khác trong m t

ồ ộ c ng đ ng PKI khác

ỗ ợ ố 2.3.2.8.H  tr  ch ng ch i b ườ ố ỏ ạ ộ ủ ỗ ộ ườ ủ Trong môi tr ng ho t đ ng c a PKI, m i hành đ ng c a ng

ớ ị ủ ế ọ ộ ườ ả luôn gán v i đ nh danh c a h . N u m t ng i dùng   ủ   ố i dùng ký s  văn b n c a

ườ ấ ằ ẳ ả ị mình, thì có nghĩa ng i dùng đó kh ng đ nh r ng văn b n đó xu t phát t ừ

31

phía mình

ả ằ ả ả ầ ườ ố ỏ ể PKI c n ph i đ m b o r ng ng i dùng đó không th  ch i b  trách

ệ ơ ế ệ ượ ọ ơ ế ỗ ợ ố   c g i là c  ch  h  tr  ch ng

ự nhi m mà mình đã th c hi n. C  ch  này đ ch i bố ỏ

ể ự ệ ượ ế ỗ ợ ơ ố ố ỏ ả ầ Đ  th c hi n đ c c  ch  h  tr

ậ ượ ứ ằ ộ ỹ ự ư ầ ấ c p m t vài các b ng ch ng k  thu t đ ch ng ch i b , PKI c n ph i cung   ồ   c yêu c u, nh  là xác th c ngu n

ữ ệ ữ ệ ứ ờ ượ ự ố g c  d  li u và ch ng th c th i gian mà d  li u đ c ký. Do đó, h  tr ỗ ợ

ầ ủ ị ố ỏ ạ ở ộ ố ộ ch ng ch i b  t o nên m t ph n c a đ nh nghĩa PKI m  r ng

2.3.2.9.Tem th i gian

ộ ụ ố ỗ ợ ệ ọ ị ờ ố M t nhân t ố ỏ    quan tr ng trong vi c h  tr  các d ch v  ch ng ch i b  là

ờ ử ụ s  d ng tem th i gian an toàn (secure time stamping) trong PKI. Nghĩa là

ả ượ ờ ồ ị ờ ả ượ ậ ngu n th i gian ph i đ c tin c y và giá tr  th i gian ph i đ ề c truy n đi

ể ả ầ ộ ờ ồ ộ m t cách an toàn. Do đó c n ph i có m t ngu n th i gian có th  tin t ưở   ng

ượ đ c cho t ấ ả ườ t c  ng i dùng trong PKI

ề ầ 2.3.2.10.Ph n m m phía Client

ủ ế Trong mô hình PKI, ki n trúc máy ch ­máy khách (server­software) thì

ẽ ự ụ ữ ệ ệ các server s  th c hi n nh ng nhi m v  sau

ụ ứ ẽ ấ ị ỉ CA s  cung c p các d ch v  ch ng ch

ỉ ẽ ư ứ ữ ỷ ỏ ứ ứ ỉ Kho ch ng ch  s  l u gi ỉ  các thông tin ch ng ch  và hu  b  ch ng ch

ử ự ủ ư ẽ ộ ợ ị ả Máy ch  sao l u và d  phòng s  qu n lý l ch s  khoá m t cách phù h p

ẽ ế ợ ủ ể ờ ờ Máy ch  tem th i gian s  k t h p các thông tin th i gian có th  tin

ưở ượ ớ ệ ả t ng đ c v i các tài li u văn b n

ấ ỳ ề ể ự

ư ụ ư ệ ầ ị ệ Tuy nhiên, server không th  th c hi n b t k  đi u gì cho các máy khách   ụ ủ   ế n u nh  máy khách không đ a ra các yêu c u d ch v . Do đó nhi m v  c a

máy khách s  làẽ

32

ụ ứ ả ư ầ ị ự Máy khách ph i đ a ra yêu c u các d ch v  ch ng th c

ử ứ ả ầ ỉ ỷ ỏ ứ   Máy khách ph i yêu c u ch ng ch  và x  lý các thông tin hu  b  ch ng

ỉ ch  có liên quan

ả ế ị ử ả ế ầ ầ Máy khách ph i bi t l ch s  khoá và ph i bi ậ   t khi nào c n yêu c u c p

ỷ ỏ ậ ặ nh t khóa ho c hu  b  khoá

ả ế ầ ầ ả ờ Máy khách ph i bi t khi nào nó c n ph i yêu c u tem th i gian trên văn

b nả

ề ầ ầ ộ ế ế ủ ợ Ph n m m phía client là m t thành ph n thi ầ   t y u c a PKI tích h p đ y

ụ ượ ề ề ế ấ ị ầ ủ đ  tính năng. N u không có ph n m m này, r t nhi u d ch v  đ c cung

ệ ầ ở ả ư ấ c p b i PKI g n nh  không có hi u qu

ụ ứ

ữ ườ ự ẫ ử ụ i tham gia xác th c l n nhau và s  d ng thông

ừ ả 2.4. M c tiêu, ch c năng  PKI cho phép nh ng ng ch ng ứ các tin t chỉ khóa công khai đ  ể  mã hóa và gi i mã thông tin trong

ệ ử ượ ễ ổ quá trình trao đ i. PKI cho phép các đi n t đ

ố ỏ ố ả   giao d chị c di n ra đ m ẫ bí m tậ ,  toàn v nẹ   xác th cự   l n nhau và ch ng ch i b  mà không ả b o tính

ả ổ ầ c n ph i trao đ i các thông tin m t t ậ ừ ướ  tr c.

ự ự ứ ị ể Xác th c: Ch ng minh đ nh danh th c th

ả ằ ể ọ ậ ả ượ Bí m t: Đ m b o r ng không ai có th  đ c đ c thông báo ngo i tr ạ ừ

ườ ng ậ i nh n

ẹ ả ả ằ ườ ậ ậ ượ Toàn v n:  Đ m b o  r ng  ng ẽ i  nh n  s   nh n  đ c  thông  báo mà

ầ ị ổ ộ không b  thay đ i n i dung ban đ u

ố ỏ ứ ẽ ằ ố ơ ườ ế Tính ch ng ch i b : C  ch  này s  ch ng minh r ng ng ử   ậ i nh n/g i

ự ự ử ậ đã th c s  g i/nh n thông báo

ố ứ ố ứ ả ậ ụ ậ PKI t n d ng c  m t mã đ i x ng và phi đ i v ng đ  đ  đ t đ ể ể ạ ượ   c

33

ơ ả ữ nh ng tính năng c  b n trên

2.4.1. Xác th cự

ề ơ ả ứ ụ ự ạ ấ V  c  b n, tính xác th c cung c p 2 khía c nh  ng d ng chính đó là

ố ữ ệ ự ể ồ ị ị đ nh danh th c th  và đ nh danh ngu n g c d  li u

ự ị 2.4.1.1.Đ nh danh th c th

ể ể ơ ị ể ị ự ự ể ả ị

ự ế ị ườ ể Đ nh danh th c th  đ n gi n dùng đ  đ nh danh th c th  xác đ nh nào   ẽ ạ   ng s  t o ự , đ nh danh th c th  thông th đó có liên quan. Do đó, trên th c t

ộ ế ượ ử ụ ể ự ệ ả ụ ể ra m t k t qu  c  th  mà sau đó đ ạ ộ   c s  d ng đ  th c hi n các ho t đ ng

ặ ề khác ho c truy n thông khác

ự ể ồ ộ ị ố ố Đ nh danh th c th  bao g m : M t nhân t ề  và nhi u nhân t

ể ứ ể ề ấ ố   ị Có r t nhi u cách đ  ch ng minh đ nh danh. Ta có th  chia ra làm b n

ạ lo i sau

ườ ụ ẻ ặ ế ị ầ ứ Cái gì đó ng i dùng có (ví d  th  thông minh ho c thi t b  ph n c ng)

ườ ế ụ ậ ẩ ặ Cái gì đó ng i dùng bi t (Ví d  m t kh u ho c PIN)

ườ ặ ắ ớ ườ ụ ấ Cái gì đó là ng i dùng ho c g n v i ng i dùng (ví d  d u vân tay

ạ ắ ặ ho c võng m c m t)

ườ ự ụ ệ ự Cái gì đó ng i dùng th c hi n (ví d  gõ các ký t nào đó)

ự ượ ể ế ế ư ự ể ị Có hai ki u xác th c đ c bi t đ n nh  là đ nh danh th c th , đó là xác

ự ụ ộ ự ừ th c c c b  và xác th c t xa

ự ự ộ ể ớ ườ ụ ộ ầ ư ự ụ ộ 2.4.1.1.1.Xác th c c c b ầ ủ Xác th c ban đ u c a m t th c th  t i môi tr ng c c b  h u nh  liên

ế ớ ườ ặ ố ị ư ậ ụ ẩ ự quan tr c ti p t i ng i dùng. Ví d  nh  m t kh u ho c s  đ nh danh cá

ả ượ ử ụ ể ậ ấ ậ ấ ạ nhân (PIN) ph i đ c nh p vào, s  d ng d u v n tay đ  nh n d ng..

2.4.1.1.2.Xác th c t

ự ủ ự ể ớ ườ ở ể ự ừ  xa ộ Xác th c c a m t th c th  t i môi tr ng ặ    xa: Nghĩa là có th  ho c

ế ớ ự ầ ườ ự ế ầ không c n liên quan tr c ti p t i ng i dùng. Trên th c t ế , h u h t các h ệ

34

ự ừ ố ứ ạ ớ ườ th ng xác th c t xa ph c t p không hoàn toàn liên quan t i ng i dùng vì

ệ ệ ố ể ả ư ự ự ạ   ấ r t khó đ  b o v  h  th ng xác th c mà đ a ra các thông tin xác th c nh y

ặ ấ ư ậ ụ ề ẩ ộ ả c m, ví d  nh  m t kh u ho c d u vân tay, và truy n trên m t kênh không

an toàn

ố ữ ệ ồ 2.4.1.2. Đ nh danh ngu n g c d  li u ố ữ ệ ẽ ị ồ ị ự ể ộ ị Đ nh danh ngu n g c d  li u s  đ nh danh m t th c th  xác đ nh nào đó

ồ ư ạ ộ ữ ệ ượ ư ị ố ủ nh  ngu n g c c a d  li u đ

ậ ả ả ị ị c đ a ra. Ho t đ ng đ nh danh này không   ụ   ph i là đ nh danh cô l p, cũng không ph i hoàn toàn là đ nh danh cho m c

ạ ộ ự ệ đích th c hi n các ho t đ ng khác

ậ ả ụ ả ư ủ ữ ệ 2.4.2. Bí m tậ ị D ch v  bí m t đ m b o tính riêng t ể ọ    c a d  li u. Không ai có th  đ c

ượ ữ ệ ạ ừ ự ậ ượ ụ ể ậ ị đ c d  li u ngo i tr  th c th  nh n. D ch v  bí m t đ ầ c yêu c u khi d ữ

ệ li u khi

ữ ươ ư ệ ầ ượ ư Đ c l u tr trên ph ứ ng ti n (nh  ph n c ng máy tính) mà ng ườ   i

ợ dùng không h p pháp có th  đ c đ ể ọ ượ c

ượ ự ế ị ể ị ơ ụ ừ Đ c d  phòng trên thi t b  (ví d  băng t ) mà có th  b  r i vào tay

ườ ợ ng i dùng không h p pháp

ượ ề ạ ượ ả ệ Đ c truy n trên m ng không đ c b o v

ậ ầ ả ượ ậ ậ ả ả ỹ Các k  thu t m t mã đ m b o tính bí m t c n ph i đ ớ   ụ c áp d ng v i

ạ ữ ệ ạ ả ọ m i lo i d  li u nh y c m

ẹ ữ ệ 2.4.3.Toàn v n d  li u

ẹ ữ ệ ả ằ ự ả ả ổ ị ả   ữ ệ Toàn v n d  li u đ m b o r ng d  li u không b  thay đ i. S  đ m b o

ầ ế ế ấ ỳ ườ ươ ạ ộ này là m t ph n thi t y u trong b t k  môi tr ng th ng m i đi n t ệ ử

ạ ặ ho c lo i hình kinh doanh nào

ể ạ ượ ằ ứ ộ ữ ệ ẹ M c đ  toàn v n d  li u có th  đ t đ c b ng các c  ch  ch n l ơ ế ẵ ẻ ủ    c a

35

ể ị các bit và mã ki m tra d ch vòng (Cyclic Redundancy Codes ­CRCs)

ệ ữ ệ ỏ ấ ể ả ẹ ằ ỡ ữ ệ   Đ  b o v  d  li u kh i t n công nh m phá v  tính toàn v n d  li u,

ậ ỹ ượ ử ụ ậ ậ các k  thu t m t mã đ ả   c s  d ng. Do đó, khoá và các thu t toán ph i

ượ ả ượ ể ế ự ữ ể ấ ố đ c tri n khai và ph i đ c bi t gi a các th c th  mu n cung c p tính

ẹ ữ ệ ự ể ố ượ ủ ẹ ả ả c đ m b o tính toàn v n c a d ữ

ớ toàn v n d  li u v i th c th  mu n đ li uệ

ể ượ ụ ị ự ự ậ ỹ ẹ ủ D ch v  toàn v n c a PKI có th  đ c xây d ng d a trên hai k  thu t:

ặ ấ ự ự ụ ư ố ữ 2.4.3.1.Ch  ký s ượ M c dù nó đ c dùng cho m c đích cung c p s  xác th c, nh ng nó

ượ ử ụ ữ ệ ể ẹ ấ ượ cũng đ c s  d ng đ  cung c p tính toàn v n cho d  li u đ ế c ký.N u có

ổ ấ ỳ ướ ố ẽ ị ạ ỏ ữ ự s  thay đ i b t k  tr ể   c và sau khi ký thì ch  ký s  s  b  lo i b  khi ki m

ẹ ủ ữ ệ ẽ ễ ệ ệ ậ ấ ị tra , vì v y vi c m t tính toàn v n c a d  li u s  d  dàng b  phát hi n

ườ ậ ỹ ố ố ứ ử ụ ụ ộ 2.4.3.2. Mã xác th c thông báo  K  thu t này thông th ng s  d ng m t mã kh i đ i x ng (ví d  DES,

ặ ậ ộ DES­CBC­MAC) ho c m t hàm băm m t mã (HMAC­SHA­1)

ố 2.4.4.Ch ng ch i b

ố ỏ ố ả ằ ố ỏ ụ ả ự ụ ể ị ị D ch v  ch ng ch i b  là d ch v  đ m b o r ng th c th  không th ể

ố ỏ ể ườ ủ ế ộ ượ ắ ớ ch i b  hành đ ng c a mình. Các bi n th  th ng đ c nh c t ề   i nhi u

ấ ố ồ ố ườ ố ỏ ằ ố ỏ nh t là ch ng ch i b  ngu n g c (ng ể i dùng không th  ch i b  r ng đã

ố ỏ ự ệ ế ặ ậ ặ ộ ộ ả ử g i m t tài li u ho c m t văn b n) ho c ch i b  s    ti p nh n (ng ườ   i

ậ ượ ệ ả ể ố ỏ ằ dùng không th  ch i b  r ng đã nh n đ ặ c văn b n ho c tài li u).

ố ỏ ố ỏ ủ ể ế ộ ố ạ   M t vài các bi n th  khác c a tính ch ng ch i b  là : Ch i b  đã t o

ố ỏ ệ ố ỏ ể ra , ch i b  đã chuy n, ch i b  vi c tán thành

ơ ả ạ 2.5. Các khía c nh an toàn c  b n mà PKI cung c p

ư ị ấ ấ ộ ơ ở ạ ầ

ơ ở ạ ầ ắ ả ấ ậ ộ   Theo nh  đ nh nghĩa trên, PKI cung c p m t c  s  h  t ng an ninh r ng ộ   ụ kh p. C  s  h  t ng dành cho các m c đích an ninh ph i ch p nh n m t

ắ ả ấ ợ ơ ả ư nguyên t c nhât quán và ph i cung c p các l i ích c  b n nh  nhau. C  s

36

ộ ổ ứ ắ ả ộ ả ạ ầ h  t ng an ninh r ng kh p đ m b o an toàn cho toàn b  t ch c và t ơ ở  ấ ả  t c

ố ượ ứ ổ ứ ạ các đ i t ụ ng,  ng d ng trong t ch c. Các khía c nh an toàn mà PKI cung

ồ ấ c p bao g m

2.5.1. Đăng nh p an toàn  ậ ế ớ ườ ậ Ti n  trình   đăng  nh p  liên  quan  t i   ng ủ   ị i  dùng  nh p   đ nh  danh  c a

ự ủ ặ ặ mình, (ID c a user ho c username), xác th c thông tin (password ho c giá

ậ ị tr  bí m t nào đó).

ế ậ Hình 7: Ti n trình đăng nh p an toàn

ộ ầ ậ 2.5.2. Đăng nh p m t l n an toàn

ự ở ộ ộ ầ ủ ậ ậ Đăng nh p an toàn m t l n là s  m  r ng c a đăng nh p an toàn. S

ể ế ố ớ ấ ậ đăng nh p này có th  k t n i t ề i r t nhi u các thi ế ị ở t b ự  ẽ ạ    xa, do đó s  lo i

ế ố ầ ề ầ ơ ồ ả ậ ỏ ượ b  đ c y u t c n ph i đăng nh p nhi u l n . S  đ  hình.. minh h a c ọ ơ

37

ộ ầ ế ậ ch  đăng nh p m t l n an toàn

ộ ầ ế ậ Hình 8: Ti n trình đăng nh p an toàn m t l n

ộ ầ ủ ể ậ ớ ậ ế ị Đăng nh p an toàn m t l n cũng đ  đ  truy c p t i các thi ề   t b , mi n,

ệ ố ứ ụ ủ ầ máy ch , các h  th ng và các  ng d ng. Tuy nhiên, chúng ta c n chú ý

ự ệ ể ượ ẫ ế ợ ơ ậ ằ r ng, s  ki n đăng nh p an toàn v n có th  đ ớ c k t h p v i các c  ch ế

ứ ụ ệ ể ề ể ậ ki m soát truy c p khác. Do đó, đ ng trên quan đi m v  tính ti n d ng thì

ề ấ ượ ộ ầ ậ ố ở ự ệ s  ki n đăng nh p an toàn m t l n là đi u r t đ

ườ ườ ớ ộ ỉ ầ ẩ ả ả ỉ ng i dùng th ậ ng ch  ph i nh  m t vài m t kh u và ch  c n ph i bi c mong mu n b i vì   ế   t

ộ ầ ủ ụ ậ ớ ể ề ệ ố ể th  t c m t l n đ  truy c p t ứ i nhi u h  th ng. Đ ng trên quan đi m v

ề ượ ấ ậ ố an ninh thì đây cũng là đi u cũng r t  đ ề  ẩ   ở c mong mu n b i vì các m t kh u

ượ ớ ầ ề ạ ấ ơ đ c truy n qua m ng v i t n su t ít h n

ộ ơ ở ạ ầ ợ ọ ượ L i ích an toàn quan tr ng trong đó là m t c  s  h  t ng đ c thi ế ế  t k

ể ả ụ ộ ả ằ ậ ớ ỉ ầ ườ ố t t có th  đ m b o r ng ng i dùng ch  c n đăng nh p t

ẩ ẽ ệ ể ả ậ i máy c c b  mà   ạ   ọ h  đang làm vi c. Do đó, m t kh u s  không ph i chuy n qua vùng m ng

ượ ủ ủ ư ữ ắ ớ ị ả ậ   c nh ng r i ro l n nh  các r i ro b  đánh c p m t

ễ ị d  b  khai thác, gi m đ kh u ẩ

ườ 2.5.3. Trong su t v i ng

ố ớ ấ ố i dùng cu i ủ ơ ở ạ ầ ộ ặ ắ ộ ọ

ố ớ ườ ườ ầ ố M t đ c tính r t quan tr ng c a c  s  h  t ng r ng kh p đó là tính   ế ề  t v i dùng cu i. Nghĩa là ng i dùng không c n bi trong su t v i ng

ủ ầ ặ ị ph n header c a gói tin IP ho c các gói Ethernet. Các d ch v  c a c  s  h

38

ơ ở ạ ầ ẽ ượ ể ớ ườ ụ ủ ơ ở ạ  ộ   i dùng trong c  s  h  t ng thông qua m t ầ t ng s  đ c chuy n t i ng

ộ ườ ả ầ ế ấ ả ề ấ ề “h p đen” hoàn toàn. Ng i dùng không c n ph i bi t c  v  v n đ  an t t

ủ ệ ầ ườ ả ninh và  không c n ph i can thi p th  công. Ng ầ   i dùng cũng không c n

ế ề ậ ả ph i bi t v  các thu t toán và khoá

ườ ả ầ ế ề ơ ế ơ ơ ạ ầ Ng i dùng cũng không c n ph i bi

ự ườ ả b o an ninh ra sao. S  an toàn không nên gây khó khăn cho ng ả   t v  c  ch  c  s  h  t ng đ m ể i dùng đ

ở ọ ự ụ ủ ệ ầ ầ ả c n tr  h  th c hi n tác v  c a mình. An toàn không c n yêu c u ng

ể ả ế ặ ệ ầ ườ ườ   i ữ   ả i dùng ph i có nh ng dùng ph i có hi u bi t đ c bi t, không yêu c u ng

ệ ủ ụ ặ th  t c đ c bi t .

2.5.4. An ninh toàn di nệ

ấ ủ ạ ầ ả ắ ọ ợ ộ ả   L i ích quan tr ng nh t c a h  t ng an ninh r ng kh p là : Nó đ m b o

ộ ư ệ ệ ậ

ố ượ ế ị ườ ụ ứ ằ r ng m t công ngh  an toàn tin c y, nh  công ngh  khoá công khai, luôn   ủ ẵ s n sàng trong môi tr ng các  ng d ng, thi t b  và các máy ch ng. S  l

ể ạ ộ ể ả ụ ả

ấ ữ ệ ữ ậ ị ề   có th  ho t đ ng liên t c cùng nhau đ  đ m b o an toàn trong khi truy n, ủ    và truy xu t d  li u, các quá trình giao d ch, và truy c p máy ch . ư l u tr

ư ệ ử ụ ứ ườ ử ế ị Các  ng d ng th  đi n t ệ , trình duy t Web, t ng l a và các thi

ơ ở ữ ệ ủ ứ ụ ủ ậ ừ c p t xa, các máy ch   ng d ng, các máy ch  file, c  s  d  li u…t t b  truy   ấ ả  t c

ể ượ ượ ạ ầ ộ ả ề đ u ph i hi u đ ậ ụ c và t n d ng đ

ấ ườ ượ ấ ớ ượ ữ nh t. Nh ng môi tr ư ậ ẽ ả ng nh  v y s  gi m l ố   c h  t ng an ninh theo m t cách th ng ấ   ả c r t l n c  các v n c đ

ế ủ ườ ớ ấ ề ế ị ụ ề đ  giao ti p c a ng i dùng v i r t nhi u các thi ứ t b  và các  ng d ng và

ị ứ ạ ệ ả ế ị ụ các công vi c qu n tr  ph c t p các thi ứ t b  và các  ng d ng này

ế ủ ế ể ạ ượ ữ ộ ơ ệ M t trong nh ng c  ch  ch  y u đ  đ t đ c an ninh toàn di n trong

ả ả ả ượ ử ụ ượ ơ ở ạ ầ c  s  h  t ng là kh  năng đ m b o khoá đ c s  d ng, đ ể c hi u và

ượ ử ẽ ặ ạ ộ ộ ớ ộ đ ủ   c x  lý theo m t cách ch t ch  thông qua m t ph m vi r ng l n c a

39

ự ể ế ị ổ ứ các th c th  và thi t b  trong t ch c.

Ơ

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

ầ ủ 3.1. Mô hình PKI và các thành ph n c a PKI

ầ Hình 9: Mô hình các thành ph n PKI

3.1.1. CA

ứ ự ể ệ ấ ộ ỉ Trong PKI, CA là m t th c th  PKI có trách nhi m c p ch ng ch  cho

ệ ố ự ể các th c th  khác trong h  th ng

ổ ứ ứ ự ượ ứ ậ ở ọ T  ch c ch ng th c – CA đ c g i là bên th  ba tin c y b i vì ng

ố ủ ứ ữ ỉ ưở ườ   i ự   ng vào ch  ký s  c a CA trên ch ng ch  trong khi th c ố dùng cu i tin t

40

ạ ộ ữ ệ ầ ế hi n nh ng ho t đ ng mã hoá khoá công khai c n thi t.

ự ằ ứ ự ệ ỉ ấ CA th c hi n xác th c b ng cách c p ch ng ch  cho các CA khác và cho

ệ ố ự ế ể ố ằ ở ỉ ủ th c th  cu i trong h  th ng. N u CA n m

ỉ ấ ữ ứ ỉ ở ứ ấ PKI và ch  c p ch ng ch  cho nh ng CA ấ    đ nh c a mô hình phân c p ượ   c ơ  m c th p h n thì CA này đ

ọ g i là root CA.

3.1.2.RA

ứ ụ ủ

ệ ị ứ ố 3.1.2.1.Ch c năng, nhi m v  c a RA ể ượ ả Ch c năng qu n tr  có th  đ c phân ph i cho RA. RA đóng vai trò

ụ ươ ệ ữ trung gian làm nhi m v  t ng tác gi a CA và client.

ể ệ ặ ạ ị ự   ệ RA có th  ch u trách nhi m cho vi c gán tên, t o c p khoá, xác th c

ể ố ự ố th c th  cu i trong su t quá trình đăng ký

ầ ủ ự ụ ể ệ ậ

ỉ ừ ứ ử ầ ậ RA làm nhi m v  nh n các yêu c u c a th c th , xác minh chúng sau   ử    CA, sau đó g i đó g i yêu c u cho CA.Và RA cũng nh n các ch ng ch  t

ự ứ ỉ ể ch ng ch  cho th c th

ế ậ ở ạ ự ủ ể ậ ạ Thi t l p và xác nh n danh tính c a th c th  trong giai đo n kh i t o

ậ ố ớ ườ ử ụ ố ể Phân ph i các bí m t dùng chung t i ng ự   i s  d ng cu i đ  xác th c

ầ ự ở ạ ự ạ ố tu n t ế  trong su t giai đo n kh i t o tr c tuy n

ự ớ ở ạ ứ ệ ạ ườ Kh i t o quá trình ch ng th c v i CA đ i di n cho ng ố i dùng cu i

ờ ủ ứ ứ ự ệ ả ỉ ằ   Th c hi n ch c năng qu n lý vòng đ i c a khoá/ch ng ch , chú ý r ng

ứ ứ ấ ồ ỉ ỉ RA không bao gi ờ ượ  đ ứ   ặ c phép c p ch ng ch  ho c thu h i ch ng ch . Ch c

ỉ ở năng này ch  có CA

3.1.2.2.Thành ph n c a RA ồ ầ ầ ủ RA bao g m 3 thành ph n sau

3.1.2.2.1.RA Console ộ ủ ượ ặ RA console là m t máy ch  (server) đ ể ư   c cài đ t cho RA officer đ  đ a

ử ứ ầ ỉ ể ế ố ớ các yêu c u ch ng ch . Nó có th  k t n i v i CA. Server này x  lý các yêu

41

ỉ ố ứ ứ ự ầ c u ch ng ch  s  trong quá trình ch ng th c

3.1.2.2.2.RA Officer

ụ ư ự ứ ộ ệ RA Officer là m t cá nhân th c hi n các tác v  nh  đăng ký ch ng ch

ứ ặ ớ ồ ỉ ỉ  ấ   ố s , làm m i ho c thu h i ch ng ch . Sau khi RA Officer xác minh và ch p

ậ ự ể ẽ ầ ầ

ứ ử ẽ ầ ấ ỉ ế thu n yêu c u, nó s  chuy n tr c ti p các yêu c u này lên CA server. Sau   ố   khi CA server x  lý yêu c u và c p ch ng ch . RA Officer s  phân ph i

ứ ỉ ch ng ch

3.1.2.2.3.RA Manager

ụ ệ ả ộ ả   RA Manager là m t cá nhân làm nhi m v  qu n lý RA Officer và đ m

ộ ủ ụ ứ ự ượ ứ ụ ự ệ ả ằ b o r ng toàn b  th  t c  ng d ng ch ng th c đ c th c hi n mà không

ự ừ ả ủ ườ ả ẽ ầ ấ có s  l a đ o c a con ng i. RA Manager s  c n ph i ch p thu n t

ầ ượ ử ở ướ ư ụ các yêu c u đ c x  lý b i RA Officer tr ậ ấ ả  t c ứ   ứ c khi đ a các  ng d ng ch ng

ự ớ th c t i cho CA

ứ 3.1.3. Certificate­Enabled Client: Bên đ

ượ ấ ọ ượ ấ ứ ỉ ỉ c c p phát ch ng ch ườ c c p phát ch ng ch  (hay còn g i là PKI client) th Bên đ ầ   ng yêu c u

ứ ể ặ ấ ỉ ượ ỉ ừ ứ CA ho c RA c p phát ch ng ch . Đ  có đ c ch ng ch  t CA, PKI client

ự ướ ệ th c hi n các b c sau

ầ ạ ử ặ ặ G i yêu c u t o c p khoá công khai/khóa riêng. CA ho c client có th ể

ứ ự ụ ệ ệ ặ ế ủ th c hi n nhi m v  này. C p khóa ch a chi ti t c a client

ượ ạ ử ầ ặ Sau khi c p khoá đ ứ   ầ c t o ra, client g i yêu c u cho CA yêu c u ch ng

ch . ỉ

ậ ượ ỉ ừ ứ ứ Sau khi client nh n đ c ch ng ch  t ể ử ụ  CA, nó có th  s  d ng ch ng ch

ủ ượ ư ộ ể ứ đ  ch ng minh danh tính c a chính nó và đ c xem nh  m t ng ỉ  ườ ở ữ   i s  h u

ứ ỉ ượ ch ng ch  đã đ ự c xác th c

ế ố ấ ả ề ượ ữ ơ ữ T t c  các k t n i gi a client và CA đ u đ c gi ữ    an toàn. H n n a,

ệ ả ả ị client ch u trách nhi m đ m b o an toàn cho khoá riêng

ụ ệ Ví d  VPN Client, trình duy t

42

ệ ụ Làm nhi m v  ký và mã hoá

ậ ữ ệ

ụ 3.1.4. Data Recipient : Bên nh n d  li u Ví d  Web Server, VPN Gateway

ệ ả ụ Làm nhi m v  xác minh và gi i mã

ứ ư ồ ỉ ữ 3.1.5. Kho l u tr /thu h i ch ng ch

ể ượ ứ ể ệ ậ ố ỉ Đ  làm thu n ti n quá trình phân ph i, ch ng ch  có th  đ c công b ố

ứ ỉ trong kho ch ng ch .

ỉ ớ ứ ứ ố ỉ ườ ổ ứ Kho ch ng ch  phân ph i ch ng ch  t i ng i dùng và các t ch c . Kho

ỷ ỏ ứ ứ ứ ứ ỉ ỉ ỉ ch ng ch  có ch a ch ng ch , danh sách hu  b  ch ng ch , danh sách hu

ề ụ ộ ố ứ ỏ ẩ b  th m quy n và m t s  th  khác có liên quan t ớ ố ượ i đ i t ng , ví d  nh ỷ  ư

ố ượ ủ chính sách c a các đ i t ng.

ể ượ ứ ườ ặ ượ ỉ Ch ng ch  có th  đ ố ở c phân ph i b i chính ng i dùng ho c đ c phân

ủ ư ụ ố ằ ử ụ ể ấ ộ ph i b ng m t máy ch  th  m c mà s  d ng LDAP đ  truy v n thông tin

ườ ệ ố ỉ ượ ử ụ ứ ệ ố ng i dùng. H  th ng phân ph i ch ng ch  đ ể ự c s  d ng đ  th c hi n các

ụ ệ nhi m v  sau

ấ ặ ạ T o và c p phát c p khoá

ợ ệ ủ ứ ằ ự Ch ng th c tính h p l c a khoá công khai b ng cách ký vào khoá công

khai

ế ạ ồ Thu h i các khoá đã h t h n

ủ ị ố ụ ư ụ Công b  khoá công khai trong máy ch  d ch v  th  m c

3.1.6.Chu i ch ng ch  ho t đ ng nh  th  nào  ự ỉ ừ ộ ượ ậ ẽ ầ ể ỗ Khi ta nh n đ ạ ộ ỉ ứ c ch ng ch  t ư ế  m t th c th  khác, ta s  c n ph i s

ỉ ủ ứ ỗ ỉ ể ỗ ượ ả ử  ứ   c ch ng ch  c a root CA. Chu i ch ng ứ ụ d ng chu i ch ng ch  đ  thu đ

ỉ ượ ườ ứ ẫ ỉ ch , hay còn đ ọ c g i là đ

ỉ ẽ ắ ầ ứ ự ự ể ể ỗ ỉ ượ ử ụ ứ   ộ ng d n ch ng ch , là m t danh sách các ch ng ớ   c s  d ng đ  xác th c th c th . Chu i ch ng ch  s  b t đ u v i ch  đ

ỗ ẽ ượ ỉ ủ ứ ứ ự ể ỗ ỉ ch ng ch  c a th c th  đó, và m i ch ng ch  trong chu i s  đ

43

ự ượ ứ ứ ỗ ở ị ể th c th  đã đ ỉ ế ế c xác đ nh b i ch ng ch  k  ti p trong chu i. Ch ng ch ở   c ký b i ỉ

ỉ ủ ỉ ủ ứ ứ ế k t thúc là ch ng ch  c a rootCA. Ch ng ch  c a root CA luôn luôn đ ượ   c

ủ ấ ả ứ ữ ở ỗ ký b i chính nó. Ch  ký c a t ỉ t c  các ch ng ch  trong chu i ph i đ

ớ ơ ồ ỉ ủ ứ ọ ườ xác minh cho t i ch ng ch  c a root CA. S  đ  sau minh h a đ ả ượ   c ẫ   ng d n

ỉ ừ ườ ở ữ ỉ ớ ứ ứ ắ ầ ậ ơ ch ng ch  t i s  h u ch ng ch  t ng ỗ i rootCA, n i chu i tin c y b t đ u

ứ ỗ ỉ Hình 10: Chu i ch ng ch

ệ ủ

3.2. Cách th c làm vi c c a PKI ồ ứ ạ ộ ủ Các ho t đ ng c a PKI bao g m

ở ạ ự ể ố ­ Kh i t o th c th  cu i

ạ ặ ­ T o c p khoá

ố ể ụ ữ ị ­ Áp d ng ch  ký s  đ  xác đ nh danh tính ng ườ ử i g i

­ Mã hoá thông báo

44

ố ứ ề ­ Truy n khoá đ i x ng

ể ườ ử ộ ị ­ Ki m tra đ nh danh ng i g i thông qua m t CA

ả ủ ộ ­ Gi ể i mã thông báo và ki m tra n i dung c a nó

ự ể ố 3.2.1. Kh i t o th c th  cu i

ể ố ướ ự ể ị ụ ượ ở ạ c khi các th c th  cu i có th  tham gia và các d ch v  đ Tr c h  tr ỗ ợ

ả ượ ự ể ầ ở ạ ở b i PKI, các th c th  này c n ph i đ c kh i t o trong PKI.

ự ủ ể ố ộ Đăng ký th c th  cu i là m t quá trình mà trong đó danh tính c a cá

ượ ể ố ự ượ ệ ự nhân đ c xác minh. Quá trình đăng ký th c th  cu i  đ

ả ượ ự ế ế ầ ượ tuy n. Quá trình đăng ký tr c tuy n c n ph i đ ự c xác th c và đ ự   c th c hi n tr c ả   c b o

vệ

3.2.2. T o c p khoá công khai/khoá riêng ố ạ ặ ườ ử ả ạ ầ Ng ộ   i dùng mu n mã hoá và g i thông báo đ u tiên ph i t o ra m t

ố ớ ặ ỗ ặ c p khoá công khai/khoá riêng. C p khoá này là duy nhât đ i v i m i ng ườ   i

dùng trong PKI

ệ ố ể ạ ệ ạ   Trong mô hình PKI toàn di n, có th  t o khoá trong h  th ng máy tr m

ườ ệ ố ủ ặ ạ ặ ố ị ủ c a ng i dùng cu i ho c trong h  th ng c a CA. V  trí t o c p khoá

ượ ố ộ ớ ị ạ ặ đ ọ c xem là quan tr ng. Các nhân t có tác đ ng t i v  trí t o c p khoá bao

ự ệ ấ ả ả ả ợ ồ g m kh  năng, hi u su t, tính đ m b o, s  phân nhánh h p pháp và cách

ủ ị ử ụ s  d ng khoá theo ch  đ nh

ạ ở ố ớ ệ ạ ệ ị Cho dù là v  trí t o khoá ứ    đâu thì trách nhi m đ i v i vi c t o ch ng

ỉ ự ỉ ượ ế ề ấ ượ ạ ch  ch  d a vào CA đ c c p quy n. N u khoá công khai đ ở   c t o b i

ả ượ ự ể ể ớ ộ th c th , thì khoá công khai đó ph i đ c chuy n t i CA m t cách an toàn

ộ ượ ạ ỉ ứ M t khi khoá và ch ng ch  có liên quan đ c t o ra, chúng ph i đ

ứ ệ ộ ố ợ ố ỉ ả ượ   c ầ   phân ph i m t cách thích h p. Vi c phân ph i ch ng ch  và khoá yêu c u

ố ử ụ ả ị ụ ạ ồ ộ ự d a trên m t vài nhân t , bao g m c  v  trí t o khoá, m c đích s  d ng và

ứ ữ ư ề ố ộ các m i quan tâm khác nh  là nh ng ràng bu c v  ch c năng, chính sách.

ỉ ượ ạ ứ ể ượ ế ớ Ch ng ch  đ c t o ra có th  đ ố ự c phân ph i tr c ti p t i ng

45

ặ ớ ỉ ở ặ ả ụ ẽ ề ho c t ứ i kho ch ng ch ườ ở ữ   i s  h u, ụ   ộ  xa ho c c  hai. Đi u này s  ph  thu c vào m c

ề ứ ử ụ ế ố đích s  d ng khoá và các m i quan tâm v  ch c năng. N u khoá đ ượ ạ   c t o

ở ệ ố ượ ư ữ ở h  th ng máy khách, thì khoá riêng đã đ c l u tr b i ng

ầ ầ ố khoá riêng, và không c n có yêu c u phân ph i khoá (không áp d ng v i d ườ ở ữ   i s  h u ớ ự  ụ

ế ượ ạ ở ộ ơ phòng khoá). Tuy nhiên, n u khoá đ c t o ra m t n i khác, thì khoá

ả ượ ố ớ ườ ở ữ riêng ph i đ ộ c phân ph i m t cách an toàn t i ng i s  h u khoá đó. Có

ể ượ ử ụ ề ế ơ ể ự ề ấ r t nhi u c  ch  có th  đ

ế ằ ả ượ ượ ạ ụ ố ph i chú ý r ng, n u khoá đ ầ   ệ c s  d ng đ  th c hi n đi u này. Cũng c n ố   c dùng cho m c đích ch ng ch i c t o ra đ

ầ ượ ạ ạ ị ủ ự ể ỏ b  thì khoá đó c n đ c t o t i v  trí máy khách c a th c th

ố ể ị ụ ữ ườ ử i g i.

3.2.3. Áp d ng ch  ký s  đ  đ nh danh ng ớ ố ượ ộ ể ị ữ M t ch  ký s  đ c đính kèm v i thông báo đ  xác đ nh danh tính

ườ ử ể ạ ữ ố ng ế   ộ i g i thông báo đó.   Đ  t o ra m t ch  ký s  và đính kèm nó đ n

ư ệ ầ ự thông báo c n th c hi n nh  sau:

ố ị ế ầ ổ ộ ỗ ộ 1. Bi n đ i thông báo ban đ u thành m t chu i có đ  dài c  đ nh

ể ọ ụ ằ b ng cách áp d ng hàm băm trên thông báo. Quá trình này có th  g i là băm

ố ị ỗ ộ ượ ả ọ ượ thông báo,  chu i có đ  dài c  đ nh đ c xem g i là b n tóm l c thông

báo

ả ượ ủ ằ 2. Mã hóa b n tóm l c thông báo b ng khóa riêng c a ng ườ ử   i g i.

ế ượ ữ ả ủ K t qu  c a tóm l ố c thông báo đã mã hóa là ch  ký s .

ữ ầ ố ớ 3. Đính kèm ch  ký s  v i thông báo ban đ u

3.2.4. Mã hóa thông báo ữ ể ả ụ ệ ầ ố ẽ Sau khi áp d ng ch  ký s  lên thông báo ban đ u, đ  b o v  nó ta s

ể ố ử ụ ậ

ườ ử ố ứ ướ ượ ậ ỏ ố   ữ mã hóa. Đ  mã hóa thông báo và ch  ký s , s  d ng m t mã khóa đ i ườ   i ứ x ng. Khóa đ i x ng này đ c th a thu n tr i g i và ng ữ c gi a ng

ỉ ượ ử ụ ộ ầ ệ ậ ả nh n thông báo và ch  đ c s  d ng m t l n cho vi c mã hóa và gi i mã.

ố ứ ề 3.2.5. Truy n khóa đ i x ng.

ố ứ ữ ố Sau khi mã hóa thông báo và ch  ký s , khóa đ i x ng mà đ ượ ử  c s

46

ể ề ế ườ ố ứ ả ậ ầ ụ d ng đ  mã hóa c n truy n đ n ng i nh n. B n thân khóa đ i x ng cũng

ượ ị ộ ế ườ đ c mã hóa vì lý do an toàn, n u b  l ấ ỳ  thì b t k  ng i nào cũng có th ể

ả ố ứ ẽ ượ gi i mã thông báo. Do đó, khoá đ i x ng s  đ

ườ ậ ỉ ườ ậ ể ả ượ ủ khai c a ng i nh n. Ch  có ng ớ i nh n m i có th  gi ằ c mã hoá b ng khoá công   ố   c khóa đ i i mã đ

ằ ươ ứ ượ ệ ử ụ ứ x ng b ng vi c s  d ng khóa riêng t ng  ng. Sau khi đã đ c mã hóa,

ẽ ượ ế ườ ậ khóa phiên và thông báo s  đ ể c chuy n đ n ng i nh n thông báo.

ể ộ 3.2.6. Ki m tra danh tính ng i g i thông qua m t CA

ườ ử ộ ứ ể ậ

ườ ự ể ậ ị ủ   CA đóng vai trò là m t bên th  3 tin c y đ  xác minh danh tính c a ậ   i nh n nh n các th c th  đang tham gia trong quá trình giao d ch. Khi ng

ộ ả ườ ữ ể ể ậ ầ ố m t b n mã, ng

ố ủ ữ ự ể ầ theo thông báo đó. D a trên yêu c u đó, CA ki m tra ch  ký s  c a ng i nh n có th  yêu c u CA ki m tra ch  ký s  đính kèm   ườ   i

ử g i thông báo.

ả ộ 3.2.7. Gi

i mã thông báo và ki m tra n i dung thông báo. ậ ượ ườ ậ ầ ả ể Sau khi nh n thông báo đã đ c mã hoá, ng i nh n c n gi ả   i mã. B n

ể ượ ỉ ả ố ứ ằ ượ mã ch  có th  đ c gi i mã b ng khóa đ i x ng đã đ ậ   c mã hoá. Vì v y,

ướ ả ố ứ ả ượ ả tr c khi gi i mã thông báo, khóa đ i x ng ph i đ c gi ằ i mã b ng khóa

ủ ườ ậ ả ố ứ ố ứ riêng c a ng i nh n. Sau khi đã gi i mã khoá đ i x ng, khoá đ i x ng s

ượ ể ả ữ ớ đ c dùng đ  gi ố i mã thông báo.Ch  ký s  đính kèm v i thông báo đ ẽ  ượ   c

ả ủ ằ ườ ử ả ượ gi i mã b ng khóa công khai c a ng i g i và b n tóm l

ượ ừ ườ ộ ả ẽ ạ ậ đ c bóc tách ra t nó. Ng i nh n sau đó s  t o ra m t b n tóm l c thông báo   ượ   c

ứ ả ượ ể ể thông báo th  hai. C  hai thông báo băm sau đó đ c so sánh đ  ki m tra

ấ ỳ ự ả ạ ủ ề ả xem có b t k  s  gi m o c a thông báo x y ra trong quá trình truy n tin

ứ ế ỏ không. N u hai thông báo băm trùng khít nhau ch ng t thông báo không b ị

ả ạ ề gi m o trong khi truy n.

ơ ả ủ ệ ử ộ ị Các tiêu chí c  b n c a m t giao d ch đi n t :

ố ỏ ấ ả ự ể ố ị Ch ng ch i b : T t c  các th c th  liên quan trong giao d ch không

ể ừ ố ầ ủ ộ ị th  t ch i mình là m t ph n c a giao d ch đó.

ể ả ề ắ ả ộ ơ ế  Truy n tin an toàn: Đây là m t c  ch  đúng đ n đ  đ m b o an toàn

ấ ỳ ự ả ạ ổ ượ ặ ề thông báo trong truy n tin. B t k  s  gi m o ho c thay đ i đ c làm trên

47

ả ượ ễ thông báo ph i đ ệ c phát hi n d  dàng.

ư ấ ỳ ự ế ậ Tính riêng t ề   ấ ợ : B t k  s  truy nh p b t h p pháp đ n thông báo đ u

ị ừ ố b  t ch i.

ể ị ự ự ự ể ầ ộ ạ    S  xác th c: Đ  đ nh danh các th c th  đang là m t ph n liên l c

ả ị ế ế ả ự trong quá trình giao d ch thì cân ph i bi ể t đ n c  hai th c th .

ộ ị ượ ể ượ ở Tính ràng bu c: Giao d ch nên đ c ki m tra và đ c ký b i các bên

liên quan.

ả ằ ả ấ ả ứ ể ầ ị PKI đ m b o r ng t ợ   t c  các giao d ch có th  đáp  ng các yêu c u h p

ấ ơ ở ạ ầ ằ ườ ế pháp b ng cách cung c p c  s  h  t ng và môi tr ầ ng c n thi t .

ế

ể ạ ượ ứ ử ụ ứ 3.3. Các ti n trình trong PKI ụ Các  ng d ng có th  đ t đ c các ch c năng an toàn khi s  d ng PKI.

ự ứ ẹ ậ Các ch c năng an toàn đó là tính bí m t, tính toàn v n, tính xác th c và tính

ố ỏ ố ch ng ch i b

ộ ế ệ ầ ỗ ẽ ự M i m t ti n trình trong PKI s  th c hi n các yêu c u an toàn đã đ ượ   c

ề ậ ở đ  c p trên.

ầ 3.3.1. Yêu c u ch ng ch ượ ể ỉ ố ừ ườ ử ứ ầ ầ ỉ c ch ng ch  s  t Đ  có đ CA, ng

ổ ế ể ử ứ ề ấ ẩ ẩ ỉ ỉ ứ   i dùng c n g i yêu c u ch ng ấ   ầ ch . Có r t nhi u chu n đ  g i yêu c u ch ng ch  và chu n ph  bi n nh t

ỉ ứ ứ ườ ầ đó là PKCS#10. Yêu c u ch ng ch  ch a các tr ng sau

ệ ủ Tên phân bi t c a CA

ủ ườ Khoá công khai c a ng i dùng

ậ Tên thu t toán

ố ủ ữ ườ Ch  ký s  c a ng i dùng

ườ ứ ử ầ ỉ ớ Ng i dùng g i yêu c u ch ng ch  PKCS t ộ   i cho CA thông qua m t

48

ế ượ ả ả ườ kênh an toàn. N u kênh này không đ c đ m b o an toàn, thì ng i dùng

ả ủ ằ ầ t ủ   i khoá công khai c a CA và mã hoá yêu c u này b ng khoá công khai c a

CA

ử 3.3.1.1. G i yêu c u ầ ứ ỉ ượ ử ớ ằ Yêu c u ch ng ch  đ c g i cho t ộ i CA b ng m t th  đi n t

ứ ầ ỉ ả ượ ử ạ PEM (Privacy). Yêu c u ch ng ch  ph i đ ư ệ ử ử ụ   , s  d ng ở   ị c g i trong đ nh d ng PEM b i

ầ ầ ượ ạ ằ ị ị vì yêu c u ban đ u đ c t o ra b ng mã nh  phân. Mã nh  phân này không

ể ượ ề th  đ ằ c truy n b ng email.

ớ ữ ể ắ ắ ầ ố ỉ

ườ ử ươ ứ ộ ớ ằ   ứ V i ch  ký s  trong yêu c u ch ng ch , CA có th  ch c ch n r ng ườ   i ng  ng v i khoá công khai. Do đó, ng i g i có m t khoá riêng t ng

ứ ử ượ g i đ ở ữ c ch ng minh s  h u

ể ư ệ ầ Client cũng có th  đ a ra yêu c u khoá thông qua trình duy t Web.

ườ ượ ử ụ ợ Trong tr ng h p này, PKCS#10 đ

ộ ế ố ứ ủ ề ệ ớ ỉ ự   ớ c s  d ng cùng v i SSL. Client th c ầ   hi n m t k t n i SSL v i máy ch  ch ng ch  và sau đó truy n yêu c u

ứ ộ ỉ ch ng ch  thông qua m t kênh an toàn

3.3.1.2. Các chính sách

ộ ướ ị ổ ứ ể ả Chính sách an toàn đ nh nghĩa m t h ẫ ng d n cho t ả    ch c đ  đ m b o

ắ ử ụ ế ậ an toàn thông tin, các ti n trình và các nguyên t c s  d ng m t mã. Chính

ị ổ ứ ả sách đ nh nghĩa t

ư ứ ể ượ ể ầ ố tin khác nh  m c ki m soát đ ch c đó qu n lý khoá công khai, khoá riêng và các thông   ấ    gây m t ả c yêu c u đ  qu n lý các nhân t

ư ế an toàn nh  th  nào

ộ ượ ứ ậ ậ ở ượ ệ ố M t vài h  th ng PKI đ c v n hành b i bên th  ba tin c y đ ọ   c g i

ự ứ ề ẩ ươ ạ là th m quy n ch ng th c th ng m i (Commercial Certificate Authorites)

ẽ ầ ộ ị và do đó s  yêu c u m t CPS (Certification Pratice Statement). CPS  đ nh

ẽ ượ ứ ể nghĩa các chính sách s  đ ỗ ợ ư ễ c tri n khai và h  tr  nh  th  nào, ch ng ch  s ỉ ẽ

ượ ấ ượ ư ế ấ ậ ồ ị đ c c p phát, đ c ch p nh n và b  thu h i nh  th  nào và khoá công

ẽ ượ ạ ượ ượ ư ế ứ ự khai s  đ c t o, đ c đăng ký và đ c ch ng th c nh  th  nào. CPS

49

ữ ủ ị ị cũng đ nh nghĩa v  trí c a nh ng khoá này

ỷ ỏ ứ ỉ

3.3.2. Hu  b  ch ng ch ỉ ề ứ ợ ệ ạ ỗ ộ M i ch ng ch  đ u có m t giai đo n h p l ạ . Giai đo n h p l ợ ệ ủ    c a

ỉ ượ ứ ừ ờ ỉ ượ ấ ứ ớ ch ng ch  đ c tính t th i gian ch ng ch  đ c c p phát t ứ i khi ch ng ch

ữ ườ ị ấ ứ ợ ế ạ h t h n. Tuy nhiên, có nh ng tr ỉ ng h p, ch ng ch  b  m t tính h p l ỉ  ợ ệ

ướ ả ế ạ ườ ứ ờ ợ ỉ tr c kho ng th i gian h t h n. Trong tr

ượ ế ụ ử ụ ả ộ đ ng h p này, ch ng ch  cũng   ủ   ố c phép ti p t c s  d ng. Tình hu ng này n y sinh khi đ  an toàn c a

ư ộ ứ ụ ỉ ị ấ ứ ỉ ch ng ch  không còn (ví d  nh  l khoá). Khi ch ng ch  b  m t tính h p l ợ ệ

ướ ờ ạ ượ ọ ỷ ỏ ứ ỉ ủ c a nó tr c th i h n, thì đ c g i là hu  b  ch ng ch .

ỷ ỏ ẽ ả ượ ứ ị ỉ ề ứ ỉ Ch ng ch  b  hu  b  s  ph i đ c công khai . Thông tin v  ch ng ch  b

ỷ ỏ ẽ ượ ủ ứ ố ỉ ườ hu  b  s  đ c công b  trên máy ch  ch ng ch  sao cho ng i dùng có th ị  ể

ượ ả ứ ữ ỉ đ c c nh báo nh ng ch ng ch  đó.

ộ ườ ượ ử ụ ử ụ M t cách thông th ng khác cũng hay đ c s  d ng đó là s  d ng danh

ỉ ủ ỏ ứ sách h y b  ch ng ch .

3.4. Các mô hình PKI

ẽ ấ

ố ở ặ 3.4.1. Mô hình phân c p CA ch t ch  (strict hierarchy of CAs) Trong mô hình này, có 1 CA đóng vai trò là CA g c trên cùng, phía

ướ ở ộ ở ố d i là các nhánh m  r ng và các lá cu i cùng

ư ậ ậ ọ ồ ố RootCA đóng vai trò nh  là g c tin c y (hay còn g i là “ngu n tin c y”)

ự ề ể ộ ướ ủ cho toàn b  mi n c a các th c th  PKI d i nó. Ở ướ  d i root CA có th ể

50

ặ ớ ộ ọ không có ho c có m t vài l p intermediate CA (hay còn g i là subCA)

ấ ặ ẽ Hình 11: Mô hình phân c p CA ch t ch

ở ầ ủ ể ả ạ ơ ộ ế   RootCA không đ n gi n là đi m kh i đ u c a m t m ng, hay các k t

ủ ự ở ầ ấ ả ự ể ể ậ ố n i, nó còn là đi m kh i đ u c a s  tin c y. T t c  các th c th  trong

ề ắ ữ ủ ề mi n đ u n m gi khoá công khai c a CA

ấ ả ự ể ế ậ Trong mô hình này, t t c  các th c th  trong ki n trúc tin c y rootCA.

ấ ượ ự ế ậ ư S  phân c p đ c thi t l p nh  sau

ượ ự ấ ứ ự RootCA đ ự c xây d ng, và t ỉ  c p ch ng ch  cho mình (hay t ký cho

mình)

ự ế ẽ ứ ứ ự ạ ỉ RootCA s  ch ng th c (t o và ký ch ng ch ) cho các CA tr c ti p d ướ   i

ư ộ ỗ ạ ự ế ướ ứ ự M i m t CA nh  trên l i ch ng th c cho CA tr c ti p d i nó

ẽ ứ ứ ầ ự ự ạ ố ể ố T i m c g n cu i cùng, CA s  ch ng th c th c th  cu i

ả ượ ự ể ấ ỗ ả ấ M i th c th  trong phân c p ph i đ c cung c p b n sao khoá công

ủ ơ ở ạ

ự ấ ả ả ượ ế ố ứ khai c a root CA. Quá trình t o khoá công khai này là c  s  cho quá trình   ự   c th c t c  các k t n i sau đó, do đó, quá trình này ph i đ ch ng th c t

51

ệ ộ hi n trên m t cách an toàn

ứ ẽ ằ ặ ấ Chú ý r ng trong mô hình phân c p ch t ch  đa m c (multilevel strict

ố ượ ự ể ứ ượ ấ hierarchy), các th c th  cu i đ ự c ch ng th c (nghĩa là đ ứ   c c p ch ng

ự ế ỉ ở ư ậ ố ạ ch ) b i CA tr c ti p ngay trên nó, nh ng g c tin c y thì l i là rootCA.

ấ ặ

3.4.2.Mô hình phân c p CA không ch t ch  (loose hierarchy of CAs) ứ ượ ẽ ặ ẽ ấ Trong mô hình phân c p CA không ch t ch  các bên đ ự   c ch ng th c

ể ả ề ườ ậ ẫ ộ ở b i cùng m t CA đ  gi ế ấ i quy t v n đ  đ ng d n tin c y mà không liên

ớ ấ ỳ ứ ế ả ơ quan t

ụ ự ượ ự ứ ự ể ể ể ồ i b t k  CA m c cao h n, bao g m c  root CA. Nghĩa là n u hai   ộ   ự ở c ch ng th c b i cùng m t th c th  (ví d  th c th  A và th c th  B)  đ

ể ế ự ự ể ợ ệ ủ ể CA, thì th c th  A và th c th  B có th  ki m tra tính h p l

ả ạ ộ ườ ầ ự ớ ẫ không c n ph i t o m t đ ứ ng d n ch ng th c t c a nhau mà   ề ơ ả   i root CA. V  c  b n,

ủ ể ự ự ể ề ể ấ ậ ộ th c th  A và th c th  B cùng thu c v  phân c p ch  th  tin c y c a c

ả ử ằ ể ộ ượ ứ hai. Tuy nhiên, gi ự  s  r ng có m t th c th  C nào đó đ ủ ả  ự ở   c ch ng th c b i

ứ ự ự ể ả ộ m t CA khác (không ph i CA ch ng th c cho A và B) thì th c th  A và B

ộ ườ ự ệ ả ự ứ ẫ ph i th c hi n m t đ ng d n ch ng th c hoàn toàn thông qua rootCA

ướ ỉ ủ ứ ậ tr c khi tin c y ch ng ch  c a C

ế ậ 3.4.3.Mô hình ki n trúc tin c y phân tán (distributed trust architecture)

ự ữ ế ẽ ậ ậ ố ề   Ki n trúc tin c y phân tán  s  phân ph i  s  tin c y gi a hai hay nhi u

ể ữ ả ể ủ ự CA. Nghĩa là th c th  1 có th  gi b n sao khoá công khai c a CA

1 như  ủ    b n sao khoá công khai c a

ậ ủ ự ể ồ ể ữ ả ngu n tin c y c a mình, th c th  2 có th  gi

ư ậ ủ ữ ủ ồ

ủ ư ậ ố ồ ữ   ở CA2 nh  ngu n tin c y c a mình. B i vì nh ng khoá công khai c a nh ng ệ ố   CA này đóng vai trò nh  ngu n tin c y (CA1 là g c(root) c a h  th ng

ấ ố ủ ệ ố ứ ự ứ ể ấ

ự   phân c p ch a th c th  1, CA2 là g c c a h  th ng phân c p có ch a th c th  2)ể

ế ế ế ấ ặ ấ ỗ ẽ   N u m i ki n trúc phân c p này là ki n trúc phân c p không ch t ch ,

ế ấ ượ ế ọ ượ ủ thì c u hình c a ki n trúc đó đ c g i là ki n trúc đ ể c chia đi m (peered

ở ấ ả ữ ề ể architeture) b i vì t ộ ậ   t c  các CA đ u là nh ng đi m hoàn toàn đ c l p

ế ạ ế ế ấ (Không có SubCA trong ki n trúc). Trái l i, n u ki n trúc đó là phân c p đa

ứ ượ ế ọ ế m c, thì ki n trúc đó đ c g i là ki n trúc hình cây (treed architeture) (chú

ư ể ằ ớ ỗ ạ ý r ng các root CA là các đi m so v i các CA khác nh ng m i root l i đóng

52

ư ề ấ ặ ộ ố ớ vai trò nh  CA c p cao đ i v i m t ho c nhi u SubCA)

ế ậ Hình 12: Mô hình ki n trúc tin c y phân tán

ườ ượ ể ườ ượ Thông th ế ng  thì  ki n trúc  đ c  chia   đi m  th ng   đ

ộ ổ ủ ộ ụ ứ ộ ạ ề trong m t mi n c a m t t ch c (ví d  trong m t công ty), trái l ự   c  xây  d ng ế   i, ki n

ế ượ ừ trúc hình cây và ki n trúc lai (hybrid architeture) đ c hình thành t các

ề ủ ổ ứ mi n c a các t ch c khác nhau

ệ ạ ủ ỗ ườ ượ ế ố Quá trình c a vi c t o k t n i m i root CA thông th ng đ ọ   c g i là

ứ ự ch ng th c chéo (cross­certification)

53

3.4.4. Mô hình 4 bên (four­corner model)

ố Hình 13: Mô hình b n bên

ủ ậ ọ ườ ố Trong mô hình này minh h a b n góc c a mô hình tin c y là ng i thuê

ủ ậ bao (subscriber), bên tin c y (relying party), thuê bao c a CA (subscriber’s

ậ ủ CA) và bên tin c y c a CA (relying party’s CA)

ườ ượ ể ị ậ Mô hình tin c y 4 bên này th ng đ c tri n khai trong các giao d ch

thanh toán đi n tệ ử

ử ụ ỉ ượ ấ ứ Trong mô hình này , thuê bao s  d ng ch ng ch  đ ủ   ở c c p b i CA c a

ậ ươ ộ ị Thuê bao và bên tin c y t ng tác và ràng bu c nhau trong các giao d ch

đi n tệ ử

ậ ươ ủ ề ể ớ Bên tin c y t ự   ng tác v i mi n CA (CA domain) c a nó đ  xác th c

ỗ ị cho m i phiên giao d ch

ề ươ ợ ệ ấ ầ Mi n CA t ng tác khi có yêu c u xác minh tính h p l ề   /c p quy n

54

phiên giao d chị

3.4.5. Mô hình Web (web model)

ọ ủ ư ụ ộ ệ   Mô hình Web – đúng nh  tên g i c a nó, ph  thu c vào các trình duy t

ổ ế ư

ẽ ượ ố ượ ặ ẵ ủ Web ph  bi n nh  Netscape Navigator và Microsoft Internet Explorer. Trong   ộ   c cài đ t s n vào m t ng khoá công khai c a CA s  đ mô hình này, s  l

ệ ậ ợ

ầ ẽ ườ ưở ư ẽ ị ố s  các trình duy t. Các khoá này s  đ nh nghĩa t p h p các CA mà trình   ệ   ng và xem nh  các root cho vi c ệ i dùng trình duy t ban đ u s  tin t ng

ứ ỉ xác minh ch ng ch

Hình 14: Mô hình Web

ệ ề ủ ấ ỗ M i nhà cung c p trình duy t đ u có root c a riêng mình, và nó s ẽ

ự ứ ượ ệ ch ng th c root CA mà đ c nhúng trong trình duy t.

ệ ể ư ữ ệ ể ả ậ ơ Mô hình Web có nh ng  u đi m rõ r t đ  thu n ti n và đ n gi n kh ả

ự ấ ề ế ầ ượ ộ năng liên k t. Tuy nhiên, có m t vài s  v n đ  an toàn c n đ c quan tâm

ụ ở ế ị ể ườ trong mô hình này khi quy t đ nh tri n khai. Ví d , b i vì ng i dùng trình

ệ ự ộ ượ ưở ậ ẵ ợ duy t t đ ng tin t ng vào t p h p các khoá đã đ

ể ị ấ ế ẽ ệ ộ ố c cài s n trong trình   ơ   duy t, nên an toàn s  có th  b  m t n u m t trong s  các rootCA đó “r i

ể ạ vào tình tr ng nguy hi m”

ộ ấ ả ượ ữ ề ầ M t v n đ  an toàn n a cũng c n ph i đ c quan tâm đó là trong mô

ế ự ồ ấ ể ơ ỳ ủ   ế hình Web, không có c  ch  th c th  nào có th  thu h i b y k  khoá c a

ượ ệ ệ ế ộ root đã đ c nhúng trong trình duy t. N u chúng ta phát hi n ra m t trong

55

ữ ể ạ ặ ươ nh ng CA “đang trong tình tr ng nguy hi m” ho c khoá riêng t ứ   ng  ng

ị ộ ủ ể ớ ấ ỳ v i b t k  khoá công khai c a root b  l ể ế   , thì hi n nhiên là không th  ti p

ệ ệ ụ ử ụ t c s  d ng khoá đó trong hàng tri u các trình duy t web trên th  gi ế ớ i

ậ ấ ườ

3.4.6.Mô hình tin c y l y ng ậ ấ ườ ỗ Trong mô hình tin c y l y ng i dùng làm trung tâm (user­centric trust) ườ i dùng làm trung tâm, m i ng i dùng

ộ ể ế ị ự ệ ả ị ế ẽ s  ph i ch u trách nhi m tr c ti p và toàn b  đ  quy t đ nh xem

ứ ỉ ứ ỗ ỉ ườ ụ d ng ch ng ch  nào và t ừ ố h ng ch  nào. M i ng ch i c i dùng s  gi s  sẽ ử  ẽ ữ ộ    m t

ư ủ ọ vòng khoá và vòng khoá này đóng vai trò nh  CA c a h . Vòng khoá này

ứ ượ ậ ủ ữ ườ ử ụ ch a các khoá công khai đ c tin c y c a nh ng ng i s  d ng khác trong

ồ ượ ể ử ụ ộ c ng đ ng. Mô hình này đ ể c Zimmerman phát tri n đ  s  d ng trong

ươ ể ề ả ậ ch ầ ng trình phát tri n ph n m m b o m t PGP

ể ị ả ế ị ưở ủ ố Quy t đ nh này có th  ch u  nh h ộ ố ng c a m t s  các nhân t

ầ ậ ượ ậ ườ ồ ợ ban đ u t p h p các khoá đ c tin c y thông th ng bao g m các nhân t ặ , m c dù   ố

ệ ạ ồ là b n bè, gia đình, đ ng nghi p …

ậ ấ ườ Hình 15: Mô hình tin c y l y ng i dùng làm trung tâm

ượ ử ụ ề ầ ộ Mô hình này đ ổ ế   c s  d ng r ng rãi trong ph n m m an ninh n i ti ng

56

ườ là Pretty Good Privacy (PGP) [Zimm95, Garf95]. Trong PGP, ng i dùng

ự ạ ướ ệ xây d ng m ng l i tín nhi m (web of trust) đóng vai trò là CA (ký lên

ự ể khoá công khai cho các th c th  khác)

ự ủ ệ ườ ế ị ọ Do s  tín nhi m c a ng ộ i dùng trong các h at đ ng và các quy t đ nh,

ậ ấ ườ ể ọ ộ nên mô hình tin c y l y ng i dùng làm trung tâm có th  h at đ ng đ ượ   c

ỏ ỹ ư ự ậ ộ ồ ộ trong c ng đ ng đòi h i k  thu t và s  quan tâm cao đ , nh ng nó không

ự ế ố ớ ộ ề ồ ồ th c t ộ  đ i v i c ng đ ng chung (c ng đ ng mà trong đó nhi u ng ườ   i

ự ể ộ ỉ ế ề ệ ặ dùng ch  có m t chút ho c không có s  hi u bi t v  các khái ni m PKI hay

ư ậ ữ ệ ơ ộ ườ khái ni m an toàn). H n n a, m t mô hình nh  v y thông th ng không

ợ ườ ủ ổ ứ ặ ớ phù h p v i các môi tr ng c a công ty, t ủ  ch c tài chính ho c chính ph

ể 3.5.Các ki u ki n trúc PKI

ế ể ể ể ế ể ấ ộ ỗ   Có m t vài ki u ki n trúc mà PKI có th  tri n khai đ  cung c p “chu i

ừ ộ ế ự ằ ậ tin c y” t m t khoá công khai đã bi t nh m xác th c thông qua khoá công

ườ ụ ườ ự ọ ớ ụ ể ủ khai c  th  c a ng i dùng. Ví d  khi ng ứ   i dùng xác th c h  v i các  ng

ủ ớ ề ứ ụ ẽ ầ ậ ụ d ng c a v i e­Government, thì ph n m m  ng d ng m t mã s  xác minh

ữ ỉ ủ ườ ứ ằ ch  ký  trong ch ng ch  c a ng

ủ ứ ế ạ ả ỉ ử ụ i dùng b ng cách s  d ng khoá công khai   ủ   ủ c a CA mà t o ra ch ng ch  đó. N u khoá c a CA không ph i là khoá c a

ả ượ ứ ẽ ỉ ứ root, thì ch ng ch  ch a nó cũng s  ph i đ c xác minh tính h p l

ế ụ ế ứ ứ ỉ ợ ệ ằ    b ng ỉ khoá công khai mà ký ch ng ch  đó. Và ti p t c đ n khi nào ch ng ch  trong

ể ượ ỗ ằ ỗ ậ “chu i tin c y” có th  đ

ợ ệ ẽ ự ấ ả ứ ồ tính h p l có nghĩa là s  xác th c t ủ c xác minh b ng khóa c a root. Chu i xác minh   ả ứ   ỉ t c  các ch ng ch ,bao g m c  ch ng

57

ườ ỉ ủ ch  c a ng ố i dùng cu i

ỗ ậ Hình 16: Chu i tin c y

3.5.1. Ki n trúc ki u Web of  ể Trust ỗ ế ố ớ ể ế ườ ẽ ạ ứ ỉ Đ i v i ki u ki n trúc này, m i ng i dùng s  t o và ký ch ng ch  cho

ườ ế ạ ầ ể ả ầ ng i mà mình đã bi t. Do đó, không c n phát tri n ph i có h  t ng trung

58

tâm

ể ế Hình 17: Ki n trúc ki u Web of Trust

ả ố ớ ổ ứ ạ ộ ệ ấ ỏ Mô hình này ho t đ ng r t hi u qu  đ i v i t ch c nh , có s  t n t

ệ ướ ố ả ố ớ ổ ứ ớ ư ệ m i quan h  tr c đó, nh ng nó không hi u qu  đ i v i t ự ồ ạ   i ặ    ch c l n ho c

ầ ự ượ ự ả ụ ả ả ả ầ ơ n i mà c n ph i có s  đ m b o (ví d  ph i xác th c đ c yêu c u tr

ỉ ượ ấ ế ủ ứ ự ạ ướ   c ỉ ố ớ   c c p phát). S  giao ti p c a tr ng thái ch ng ch  đ i v i ứ khi ch ng ch  đ

ư ứ ụ ậ ấ ớ ồ ỉ ị các bên tin c y (ví d  nh  ch ng ch  b  thu h i) cũng là r t khó v i mô hình

này

ế ể

3.5.2.Ki n trúc ki u CA đ n (Single CA) ơ ơ ả ế ạ ấ ứ ế ấ D ng ki n trúc đ n gi n nh t là single CA. Ki n trúc này c p ch ng ch ỉ

ứ ấ ạ ỗ ỉ ườ và cung c p thông tin tr ng thái ch ng ch  cho m i ng i dùng. Khoá công

ơ ả ủ ể ậ ậ ọ ồ khai c a CA là đi m tin c y c  b n , hay còn g i là ngu n tin c y, đ ượ   c

ứ ể ả ậ ấ ỉ ườ ố dùng đ  đánh giá kh  năng ch p nh n ch ng ch . Ng i dùng có m i quan

ọ ế ế ậ ớ ữ ứ ụ ứ ệ ự h  tr c ti p v i CA, vì v y h  bi

ượ ử ụ ộ ổ ứ ụ ầ ị ỉ đ c s  d ng. Trong m t vài t ỉ ầ   t nh ng  ng d ng nào mà ch ng ch  c n ơ ả    ch c ch  yêu c u các d ch v  PKI c  b n.

59

ể ổ ứ ớ ơ ả ủ ị Đi n hình, đó là các t ch c v i h n 3000 tài kho n c a user trong d ch v ụ

ư ụ ứ ể ề ườ ườ th  m c. Thay vì tri n khai CA nhi u m c, thì thông th ng ng i ta s ẽ

ể ộ ượ ặ tri n   khai   m t   CA   ,   đ c   cài   đ t   và   đóng   vai   trò   là   enterprise   root

ể ượ ể ạ CA.Enterprise root CA không th  đ c di chuy n trong m ng, thay vào đó,

ủ ề ấ ẵ ộ ẽ s  có m t máy tính là thành viên c a mi n và luôn luôn s n sàng c p phát

ỉ ố ớ ủ ứ ấ ườ ị ầ ch ng ch  đ i v i các yêu c u c p phát c a máy tính, ng i dùng, các d ch

ế ị ạ ụ v  và các thi t b  m ng

ễ ệ ế ể ả ả ở ị ỉ Ki u ki n trúc single CA d  qu n lý b i vì nó vi c qu n tr  ch  liên

ộ ớ ị ỗ ứ ế ị quan t i m t CA root. Tuy nhiên, n u CA b  l ụ i, thì d ch v  ch ng ch  s

ể ử ứ ẵ ầ ầ ớ ỉ ỉ ẽ  ứ   không s n sàng đ  x  lý các yêu c u ch ng ch , các yêu c u làm m i ch ng

ỉ ứ ồ ỉ ớ i khi CA khôi ph c l ụ ạ ượ ị i đ c d ch

ch  hay danh sách thu h i ch ng ch  cho t vụ

ế ấ ườ ỉ ượ ử ụ Ki n trúc phân c p single CA thông th ng ch  đ ệ   c s  d ng khi vi c

60

ả ấ ơ ị ả qu n tr  là đ n gi n, giá thành th p

ơ ế Hình 18: Ki n trúc CA đ n

ế ố ở ộ ủ ể ế ạ D ng m  r ng c a ki u ki n trúc CA này là k t n i các CA đ  h  tr ể ỗ ợ

ồ ộ ườ ổ ứ các c ng đ ng ng i dùng khác nhau. Các t ể ế ố  ch c có th  k t n i các CA cô

ớ ử ụ ệ ể ể ố ậ l p thành các PKI l n s  d ng m i quan h  đi m ­đi m

ế ấ 3.5.3. Ki n trúc CA phân c p

ế ộ ồ ở ỉ ấ Ki n trúc mô hình CA phân c p bao g m có m t root CA trên đ nh,

ướ ủ ộ ớ ượ phía d i là m t hay hai l p CA (khoá công khai c a các CA này đ c ký

ở ướ ở b i root CA) và sau đó là các thuê bao và các RA phía d ỗ i. M i khoá

ượ ưở ườ ủ đ c tin t ấ ủ ng nh t c a ng

ự ẩ hình này cho phép s  thi hành các chính sách và các chu n thông qua h i dùng là khoá công khai c a root CA. Mô   ạ

61

ứ ả ả ổ ế ể ạ ơ ầ t ng, t o ra m c đ m b o t ng th  cao h n là các ki n trúc đa CA khác.

ế ấ Hình 19: Ki n trúc CA phân c p

ẽ ấ ứ ỉ ư   Trong mô hình này, root CA s  c p ch ng ch  cho các sub CA nh ng

ấ ỉ ườ ạ ấ ỉ ứ không c p ch ng ch  cho ng i dùng. Các subCA này l ứ i c p ch ng ch  cho

ặ ườ các subCA khác ho c cho ng i dùng

ự ứ ế ể 3.5.4. Ki n trúc ki u ch ng th c chéo (Cross­certificate)

ứ ạ ỗ ỉ Trong mô hình này, m i CA t o ra các ch ng ch  cho các CA mà đã xác

ể ở ữ ủ ạ ấ ỉ ỗ   ứ minh là đã “đ  m nh” đ  s  h u ch ng ch . Trong mô hình phân c p, m i

ườ ư ủ ộ ỉ ng i ch   có m t khoá công khai c a root, nh ng trong mô hình này, khoá

ạ ộ ủ ụ ứ ủ ả đó  l ủ   i  là   khoá  c a  CA  c c  b  c a  chúng  ch  không  ph i   là  khoá  c a

62

rootCA.

ự ứ ể ế Hình 20: Ki n trúc ki u ch ng th c chéo

ộ ấ ề ủ ớ ứ ụ ườ M t v n đ  c a mô hình này là khó khăn v i  ng d ng ng i dùng đ ể

ỉ ữ ứ ỗ ị ườ ở ữ ườ xác đ nh chu i ch ng ch  gi a ng i dùng s  h u CA không có đ ng liên

ứ ự ế k t ch ng th c chéo

ặ ớ ấ ả ố ề ặ

ấ ả ể ấ ở Mô hình này ph i đ i m t v i v n đ  “ai là root CA” (không ai/ ho c là   ấ   t c  các CA), cho phép các CA tr  thành c u trúc đi m thay vì phân c p, t

ẽ ạ ứ ự ư ư ố nh ng cũng gi ng nh  mô hình Web of Trust, ch ng th c chéo s  t o ra

ứ ả ệ ố ả ấ ồ m c b o đ m đ ng nh t cho toàn h  th ng

3.5.5. Ki n trúc Bridge CA(BCA) ượ ế ế ế ế Bridge CA đ c thi ế ế ể ả t k  đ  gi

ế ố ơ ả ạ ấ i quy t các thi u sót trong các ki n trúc   ứ   PKI c  b n và t o k t n i các PKI khác nhau. Bridge CA không c p ch ng

ỉ ườ ả ậ ồ ch  cho ng i dùng và chúng không ph i là ngu n tin c y. Thay vào đó,

63

ẽ ế ậ ữ ệ ậ ố Bridge CA s  thi t l p m i quan h  tin c y peer to peer (P2P) gi a các

ườ ẹ ấ ề ấ ả ồ ộ c ng đ ng ng ứ   i dùng khác nhau và làm gi m nh  v n đ  c p phát ch ng

ổ ứ ạ ườ ỉ ữ ch c trong khi đó l i cho phép ng i dùng gi ữ ượ  đ ồ   c ngu n

ch  gi a các t tin c yậ

ế Hình 21: Ki n trúc Bridge CA

ể ẽ ế ấ ầ ộ ậ   Trong ki u ki n trúc này, Bridge CA s  cung c p m t cái c u tin c y

ơ ở ạ ầ ứ ự ặ ữ (thông qua c p ch ng th c chéo) gi a các c  s  h  t ng khoá công khai

ấ ơ ở ạ ầ ự ứ ộ

ề ể ả ỉ ứ ạ   phân c p và c  s  h  t ng khoá công khai ch ng th c chéo. Đ  ph c t p ủ   ủ c a mô hình này khá cao và có th  ph i đi u ch nh các module PKI c a

ườ ố ng i dùng cu i.

ậ ỗ ố ộ ượ ể ệ ệ M i m t m i quan h  tin c y Bridge CA đ ộ ặ   ằ c th  hi n b ng m t c p

ộ ượ ấ ứ ở ỉ ch ng ch , m t đ c c p phát b i BCA

CH

NG IV: XÂY D NG MÔ HÌNH PKI D A TRÊN MÃ Ồ

ƯƠ Ở NGU N M  OPENCA

ể 4.1.L ch s  phát tri n OpenCA

ử ị ơ ở ạ ầ ữ ầ ộ C  s  h  t ng khoá công khai (PKI) là m t trong nh ng nhu c u thi ế   t

64

ủ ươ ụ ứ ư ế ề ấ ầ ế y u c a t ng lai. Nh ng v n đ  là h u h t các  ng d ng có th  đ ể ượ   c

ứ ư ả ằ ỉ ạ ấ ắ ề ả đ m b o an toàn b ng ch ng ch  và khoá nh ng l i r t khó và đ t đ  cài

ề ầ ậ ạ ặ đ t PKI, lý dó là ph n m m trung tâm tin c y có tính linh ho t thì l

ở ầ ủ ụ ể ẩ ả ắ đ t. Đây là đi m kh i đ u c a OpenCA. M c đích là s n ph m c a h ạ ấ   i r t ệ  ủ

ở ể ỗ ợ ộ ậ ố ồ ồ ớ ả th ng trung tâm tin c y ngu n m  đ  h  tr  c ng đ ng v i các gi i pháp

ợ ướ ươ ố ẻ t t, r (chi phí h p lý) và mang tính xu h ng trong t ng lai

ự ượ ắ ầ ưở D  án OpenCA đ c b t đ u vào năm 1998. Ý t

ượ ể ở ồ ầ ủ ự đ c phát tri n b i Massimiliano Pala. Mã ngu n ban đ u c a d  án đ ầ   ng OpenCA ban đ u ượ   c

ế ớ ủ ề ạ ấ ầ ầ ả vi t v i đo n script r t dài. Khi phiên b n đ u tiên c a ph n m m đ ượ   c

ứ ự ự ề ấ ẫ xây d ng, thì d  án OpenSSL v n có tên là SSLeay . R t nhi u ch c năng

ỗ ữ ề ị ỏ ứ ề ẫ v n còn l i và nhi u th  khác n a đ u đang b  b  qua

ề ệ ặ ầ ả ộ ỉ ạ   ầ ấ ơ Vi c cài đ t ph n m m ban đ u r t đ n gi n và ch  có m t vài đo n

ở ạ ể ề ặ ầ ạ ỉ ầ script kh i t o CA. Đ  cài đ t nhanh chóng ph n m m, b n ch  c n gi

ừ ể ể ệ ả nén gói đó, dùng l nh cd đ  chuy n vào gói v a gi ả   i ử ụ   i nén đó và s  d ng

ẽ ế ạ ạ ặ ầ   ệ l nh “make install”, đo n script sau đó s  ch y và ti n hành cài đ t ph n

ứ ề ả ạ ơ ỉ m m CA đ n gi n và t o ra ch ng ch  CA

ộ ạ ấ ẽ ượ ệ ạ ặ M t lo t các đo n script đ

ư ậ ủ ự ế ầ ầ ặ ả ơ ấ   c cung c p s  giúp cho vi c cài đ t và c u ư   hình cho h u h t các ph n c a d  án. M c dù đ n gi n nh  v y, nh ng

ả ề ớ ộ ề ấ ấ ồ ườ gi i pháp này gây ra r t nhi u v n đ  v i c ng đ ng ng

ừ ệ ả ạ ủ ầ ầ ầ ộ ề ả ấ v n đ  n y sinh t vi c nhu c u c n ph i t o ra m t gói đ y đ  và t ở i dùng b i vì các   ố   t

ấ ơ ứ ủ ề ả ầ ả ơ h n. Phiên b n đ u tiên c a OpenCA r t đ n gi n, nhi u ch c năng đ ượ   c

ủ ế ỉ ượ ự ể ấ ứ ỉ xây   d ng   ch   y u   ch   đ c   dùng   đ   c p   phát   ch ng   ch ,   CRL   và   các

ươ ụ ứ ệ ặ ơ ơ ph ng th c cài đ t thì khá đ n s , không có tính ti n d ng cho b t k ấ ỳ

ể ươ ệ ấ ạ ỉ ớ ti n ích c u hình nào , đo n script ch  có th  t ng thích v i bash

ế ượ ề ổ ơ ả Các phiên b n ti p theo đ c b  sung thêm nhi u tính năng h n cho d ự

ủ ệ ả ồ án và do đó phiên b n 0.109 đã bao g m giao di n cho server c a CA, RA

ừ ắ ầ ừ ự ầ ả và Pub. T  lúc b t đ u d  án và t

ớ ự ủ ộ ượ ự ồ ộ    phát hành phiên b n đ u tiên, đã có m t ể   ng l n s  tham gia c a c ng đ ng Internet đóng góp vào s  phát tri n l

65

ủ ự c a d  án

4.2. CA

ầ ướ ệ ề ầ Trong ph n tr c, em đã nêu ra khái ni m v  CA, trong ph n này, em

ượ ề ậ ụ ể ơ ề xin phép đ c đ  c p c  th  h n v  CA

ứ ủ 4.2.1.Ch c năng c a CA

ỉ 4.2.1.1. C p phát ch ng ch ự ứ ườ ỉ ố ứ ể ằ ấ ấ CA xác th c ng ể   i dùng b ng cách c p phát ch ng ch  s . Đ  có th  có

ượ ứ ườ ệ ầ ướ đ ỉ ố ủ c ch ng ch  s  c a CA, ng ự i dùng c n th c hi n các b c sau

ủ ặ ạ T o ra c p khoá riêng/khoá công khai c a mình

ặ ượ ạ ườ ầ ả Khi c p khoá đã đ c t o, ng i dùng c n ph i đăng ký khoá công khai

ớ ủ c a mình v i CA

ườ ầ ấ ỉ ớ ứ ử Ng i dùng g i yêu c u c p ch ng ch  t i cho RA

ẽ ể ườ RA s  ki m tra danh tính ng ể i dùng. Khi đã ki m tra xong, RA s ẽ

ể ầ chuy n yêu c u đó cho CA

ỉ ằ ử ứ ứ ỉ ủ CA ký ch ng ch  b ng khoá riêng c a mình và g i ch ng ch  cho RA.

ứ ẽ ể ậ ỉ ườ RA s  chuy n ch ng ch  mà đã nh n đ ượ ừ c t CA cho ng i dùng đã

đăng ký

ỷ ỏ ứ 4.2.1.2.Hu  b  ch ng ch ứ ỉ ề ợ ệ ạ ỗ ộ ỉ M i ch ng ch  đ u có m t giai đo n h p l . Tuy nhiên, trong m t s ộ ố

ườ ợ ệ ướ ứ ể ợ ợ ệ tr ỉ ng h p mà ch ng ch  có th  không h p l tr ạ c giai đo n h p l là

ự ộ ự ủ ể Có s  l khoá riêng c a th c th

ủ ự ụ ư ự ự ể ổ ộ Có s  thay đ i thông tin thu c tính c a th c th , ví d  nh  tên th c th ể

ự ặ ố ệ ủ ho c m i quan h  c a th c th  v i t ể ớ ổ ứ  ch c

ự ộ Có s  l ủ  khóa c a CA

66

ự ỷ ỏ ứ ầ ả ỉ Do đó, c n ph i có s  hu  b  ch ng ch

ộ ươ ể ử ụ ỷ ỏ ứ ứ ể M t vài các ph ng th c mà CA có th  s  d ng đ  hu  b  ch ng ch ỉ

g mồ

Các c  chơ ế

ử ụ ố ị ế ế ơ ơ ỳ ỷ ỏ ứ   C  ch  công b  đ nh k : C  ch  này s  d ng danh sách hu  b  ch ng

ỷ ỏ ứ ộ ỉ ỉ ch . Danh sách hu  b  ch ng ch  là m t danh sách

ế ế ấ ấ ơ ơ ồ ứ   C  ch  truy v n online: C  ch  truy v n online bao g m có giao th c

ợ ệ ủ ứ ứ ạ ỉ ị tr ng thái ch ng ch  và giao th c xác đ nh tính h p l c a các phiên giao

ự ượ ử ụ ể ư ồ ế ị d ch tr c tuy n: OCSP đ

ứ ỉ ị ợ ệ ủ ự ế ị ch . Giao th c xác đ nh tính h p l ứ   c s  d ng đ  đ a ra các thông tin thu h i ch ng ượ   c c a các phiên giao d ch tr c tuy n đ

ợ ệ ự ể ử ụ s  d ng đ  xác minh tính h p l ế  tr c tuy n

ạ ậ

ỉ 4.2.1.3.T o l p chính sách ch ng ch ứ ứ ộ ậ ỉ ậ ọ

ượ ạ ậ ủ ụ ứ ứ ể ả ở ỉ ắ   ợ Chính sách ch ng ch  là m t t p h p các lu t hay còn g i là các quy t c ỉ ố ớ   c t o l p b i CA đ  ch  ra kh  năng  ng d ng c a ch ng ch  đ i v i đ

ộ ườ ụ ể ặ ậ ứ ụ m t nhóm ng i c  th  ho c t p các  ng d ng

ứ ụ ủ ể ỉ ị M c đích chính c a các chính sách ch ng ch  là đ  xác đ nh chính sách

ộ ổ ứ an toàn mà m t t ả  ch c ph i tuân theo

ỉ ố ướ ứ ệ ẫ ự 4.2.1.4.H ng   d n   th c   hi n   ch ng   ch   s (Certification   Practice

Statement) ẫ ự ẽ ượ ỉ ố ẽ ướ ứ ứ ự ỉ H ng d n th c hành ch ng ch  s  s  ch  ra ch ng th c s  đ ự   c th c

ư ế ẽ ệ ệ ả ủ ụ ạ ộ hi n nh  th  nào. Tài li u này s  miêu t

ượ ứ ị ỉ ẽ ượ ự ể đ c đ nh nghĩa trong chính sách ch ng ch  s  đ các th  t c, ho t đ ng mà đã   ệ   c tri n khai, th c hi n

ư ế nh  th  nào

ủ ụ ẽ ộ ỉ ổ CPS s  ch  ra các chính sách và các th  t c mà m t công ty , t ứ    ch c

ể ấ ứ ả ả ỉ ph i tuân theo đ  c p phát và qu n lý ch ng ch

ể ượ ư ứ ư ặ CA có th  đ ậ c xem nh  bên th  ba tin c y nh  VeriSign ho c Thawte

67

ủ ự ể ể ặ ộ ho c có th  là m t th c th  bên trong c a m t t ộ ổ ứ  ch c

ệ ụ ủ

4.2.2.Nhi m v  c a CA ậ ấ ỉ ừ ứ ầ ấ ườ Ch p nh n các yêu c u c p ch ng ch  t ng ứ   i dùng, máy tính ,  ng

ặ ụ d ng ho c thi ế ị t b

ự ị ườ ụ ứ ầ ị Xác th c đ nh danh ng ỉ i dùng, máy tính, d ch v  yêu c u ch ng ch

ứ ạ ỉ ườ ầ T o ch ng ch  cho ng i yêu c u

ỉ ử ụ ố ứ ủ Ký s  ch ng ch  s  d ng khoá riêng c a mình

4.2.3. Các lo i CAạ

ạ ạ ượ ệ ằ ơ ả Có hai lo i CA c  b n . Các lo i CA đ c phân bi ị t b ng v  trí mà

ữ ứ ư ỉ chúng l u tr  ch ng ch

4.2.3.1.Enterprise CA:

ữ ả ứ ủ ư ỉ Enterprise CA l u tr  b n sao c a ch ng ch  CA trong Active Directory.

ỉ ể ứ ụ ậ ạ ẫ ố ỉ ứ Lo i CA này t n d ng các m u ch ng ch  đ  công b  ch ng ch  và danh

ẽ ồ ứ ồ ỉ ự ộ ớ ấ ỳ sách thu h i ch ng ch . Enterprise CA s  h i đáp t đ ng t i b t k  yêu

ề ơ ả ứ ề ậ ỉ ấ   ầ c u ch ng ch  nào. Đi u này v  c  b n cho phép các client truy c p và l y

ượ ứ ư ữ ứ ỉ ụ ộ ủ ỉ đ ỉ c ch ng ch  và l u gi ứ  ch ng ch  trong kho ch ng ch  c c b  c a mình.

ể ặ ượ ử ụ ể ấ Chính vì đ c đi m này, nên EnterpriseCA không đ c s  d ng đ  c p phát

ứ ỉ ổ ứ ch ng ch  cho các client bên ngoài t ch c

ượ ấ ư Enterprise CA đ c c u hình nh  Domain Controller

4.2.3.2.Standalone CA ư ữ ụ ộ ộ ỉ Standalone CA l u gi ứ  c c b  thông tin trên ch ng ch  , trong m t folder

ụ ể ẻ ậ ộ chia s  mà ta có th  truy c p thông qua Web. Standalone CA ph  thu c vào

ườ ả ậ ị ừ ầ ố ỉ ng ấ i qu n tr  có ch p thu n hay t ứ  ch i yêu c u ch ng ch . Standalone

68

ượ ử ụ ể ấ ứ ỉ ườ CA đ c s  d ng đ  c p phát ch ng ch  cho ng i dùng bên ngoài t ổ ứ  ch c

4.2.4.Các c p CAấ

4.2.4.1.Root CA(CA g c)ố

ứ ấ ượ ư ẩ ề Root CA là CA m c cao nh t  đ c xem nh  th m quy n đ i v i t

ộ ượ ệ ụ các CA ph  thu c đ c đ t ặ ở ướ  d ố ớ ấ ả  t c ứ   ụ ấ i nó. RootCA làm nhi m v  c p ch ng

ỉ ấ ả ụ ộ ch  cho t t c  các CA ph  thu c.

ớ ự ạ ứ ỉ RootCA khác v i các CA khác là nó t t o ch ng ch  cho chính mình.

ộ ưở ấ Trong mô hình phân c p, khi m t client tin t ả   ng root CA, thì nó cũng ph i

ưở ụ tin t ng các CA ph  thu c đ ộ ượ ặ ở ướ c đ t d i root CA

ụ ộ 4.2.4.2.Subordinate CA(CA ph  thu c):

ượ ứ Subordinate CA (SubCA­ CA con): là CA đ ự ở c ch ng th c b i CA cha.

ứ ứ ự ấ ằ ỉ CA cha ch ng th c CA con b ng cách c p phát và ký ch ng ch  cho CA

con.

ụ ạ ấ ộ ế Có hai lo i CA ph  thu c trong ki n trúc phân c p là Intermediate CA

và Issuing CA

Intermediate CA:

ộ ượ ặ ụ ữ Intermediate CA là CA ph  thu c đ c đ t gi a root CA và các CA ph ụ

ộ ứ ủ ứ ấ ỉ

thu c khác. Ch c năng c a Intermediate CA là c p phát ch ng ch  cho CA m c láứ

ứ Issuing CA (CA m c lá):

ở ứ ứ ủ ấ ấ Issuing CA là CA ấ    m c th p nh t. Ch c năng c a Issuing CA là c p

ứ ỉ ườ ế ị ạ phát ch ng ch  cho các máy tính khác, ng i dùng, các thi t b  m ng, server

ầ ị ụ và các d ch v  yêu c u CA

69

ở ế ộ Issuing CA luôn luôn ch  đ  online

ơ ồ ọ Hình 22: S  đ  minh h a rootCA và SubCA

ế ế ưở ủ ủ ệ ầ ầ ồ 4.3. Thi Ý t

ạ ộ ậ ở ồ t k  chung c a CA ự ng đ u tiên c a d  án bao g m ba ph n chính: Giao di n web   ơ ở ữ ằ b ng Perl, mã ngu n m  OpenSSL trong ho t đ ng m t mã và c  s  d

ẫ ượ ế ệ ệ ơ ệ ẩ ả li u. Khái ni m đ n gi n này cho đ n nay v n đ ầ   c coi là kh u hi u . G n

ư ấ ả ể ượ ự ệ ệ nh  t ạ ộ t c  các ho t đ ng có th  đ c th c hi n thông qua giao di n web.

ệ ượ ấ ướ ệ ấ Chúng ta có sáu giao di n đ c c u hình tr ề c và có r t nhi u giao di n có

ể ạ ượ ừ ầ ỳ th  t o đ c t ộ  chúng, tu  thu c  vào nhu c u

ỗ ợ ệ ố Hi n nay OpenCA h  tr  các nhân t sau

ệ Giao di n Public (Public interface )

ệ Giao di n LDAP (LDAP interface )

ệ Giao di n RA (RA interface )

70

ệ Giao di n CA (CA interface )

SCEP

OCSP

ố ớ ọ ệ L c IP đ i v i các giao di n :(IP­filters for interfaces)

ậ ự ụ ậ ẩ Đăng nh p d a vào c m m t kh u : (Passphrase based login)

ứ ự ẻ ậ ồ ỉ Đăng nh p d a trên ch ng ch  (bao g m th  thông minh): ( Certificate

based login (including smartcards))

ỷ ỏ ỉ ự ứ ố ị Hu   b   ch ng   ch   d a   trên   s đ nh   danh   cá   nhân   :   (PIN   based

revocation)

ỷ ỏ ữ ứ ố ỉ ự Hu   b   ch ng   ch   d a   trên   ch   ký   s :   (Digital   signature   based

revocation)

CRL issuing

ơ ở ạ ầ ế ế ượ OpenCA đ c thi

ử ụ ể ộ ộ ỉ ử   t k  cho c  s  h  t ng phân tán. Nó không ch  x  lý ự   m t CA offline và m t RA online, mà s  d ng nó, chúng ta có th  xây d ng

ấ ổ ể ớ ứ ề ặ ộ ỉ ộ   m t phân c p t ng th  v i ba ho c nhi u m c. OpenCA không ch  là m t

ả ươ ứ ụ ệ ỏ gi ỏ i pháp nh  cho các ph ng ti n nghiên c u nh  và trung bình. M c đích

ỗ ợ ạ ớ ể ấ ổ ứ ớ ư ủ c a nó là h  tr  tính linh ho t l n nh t có th  cho các t ch c l n nh  các

ườ ạ ọ ố tr ng đ i h c, các công ty đa qu c gia

4.3.1.Phân c p c  b n

ấ ơ ả ơ ả ưở ộ ổ ứ ủ ấ ỗ Ý t ng c  b n c a m i PKI X.509 là m t t

ơ ở ữ ệ ế ẽ ề ộ ệ    ch c phân c p rõ r t. ố ắ   Đi u này s  hình thành nên m t cây c  s  d  li u n u chúng ta c  g ng

ế ạ t o ra ki n trúc PKI phân tán

71

Figure 1.1. Database oriented view

ổ ữ ệ ư ậ ữ ậ ơ ở ữ ệ Trao đ i d  li u gi a các c  s  d  li u cô l p nh  v y có th  đ

ơ ở ữ ệ ệ ự ộ ệ ố ử ụ ự ế ể ượ   c ư    đ ng n u ta s  d ng h  th ng c  s  d  li u phân tán , nh ng th c hi n t

ơ ở ữ ệ ệ ố ấ ỉ trong OpenCA thì h  th ng c  s  d  li u phân tán ch  có duy nh t m t c

ộ ơ ở ữ ệ ự ự ế ậ ở ữ ệ s  d  li u trong cây . N u ta th c s  có m t c  s  d  li u cô l p (ví d ộ ơ  ụ

ộ ổ ữ ệ ệ ể ả ả

ượ ứ ấ ả ọ m t CA offline) thì ta ph i có công ngh  đ  trao đ i d  li u và qu n lý các   ệ   c gói g n trong giao di n node trong phân c p. Ch c năng qu n lý này đ

ượ ọ ế ế ư đ ả c g i là node hay qu n lý node. Do đó, thi t k  Open CA nh  sau

72

ơ ồ S  đ  hình 2

ườ ủ ỗ Thông th ậ   ơ ở ạ ầ ng thì m i server trong c  s  h  t ng c a trung tâm tin c y

ơ ở ữ ệ ủ ự ụ ấ ằ ề đ u có c  s  d  li u c a riêng nó nh m m c đích an ninh. S  phân c p này

ầ ố ủ ậ là ph n c t lõi c a trung tâm tin c y

ơ ả ủ ạ ầ ể 4.3.2.Các giao di nệ ế ượ t đ Sau khi ta bi ố   c h  t ng c  b n c a OpenCA, ta cũng có th  mu n

ế ệ ọ ổ bi t CA, RA, LDAP và giao di n công khai hay còn g i là c ng web là gì.

ỗ ợ ấ ả ệ ầ ầ OpenCA h  tr  t ề t c  các thành ph n ph n m m thông quan giao di n web

73

ơ ồ ậ ổ ỹ ỉ S  đ  hình 1.3: T ng quan k  thu t hoàn ch nh

ỗ ợ ấ ả ệ OpenCA h  tr  t t c  các giao di n sau

Node (for node management)

CA

RA

LDAP

Pub

SCEP

4.3.2.1.Node ệ ơ ở ữ ệ ử ả ấ ả Giao di n này qu n lý c  s  d  li u và x  lý t ấ   ứ t c  các ch c năng xu t

ể ượ ắ ầ ậ ươ ứ ơ ở ữ ệ và nh p. C  s  d  li u có th  đ c b t đ u theo ph

ấ ả ư ả ả ạ ể ạ ạ t o ra t t c  các b ng nh ng b n thân OpenCA thì l ng th c mà OpenCA   ơ i không th  t o ra c

74

ở ệ ủ ấ ả ậ ỗ ở ữ ệ s  d  li u cho chính nó b i khác bi t c a m i hãng s n xu t.Vì v y chúng

ộ ơ ở ữ ệ ủ ề ầ ậ ầ ớ ta c n m t c  s  d  li u v i các quy n truy c p đ y đ  và m t c  s  d ộ ơ ở ữ

ệ ự ứ ệ ệ ớ ộ ồ li u m i. Giao di n này bao g m m t vài các ch c năng cho vi c d  phòng

ộ ệ ố ụ ồ ự ư ả ệ và ph c h i nh ng chúng ta ph i có m t h  th ng d  phòng riêng bi t cho

ế ặ ỉ ủ ứ ả ơ ị

ể ự ự ệ ở khoá riêng và ch ng ch  c a CA. Đây không ph i là c  ch  m c đ nh trong   ứ OpenCA đ  d  phòng khoá riêng. Chúng tôi không th c hi n nó b i vì th

ấ ấ ằ ườ ả nh t chúng tôi th y r ng đây không ph i là cách an toàn thông th ng đ

ử ụ ứ ế ầ ể  ạ   ự d  phòng khoá riêng và th  hai là h u h t CA s  d ng HSMs và do đó b n

ế ượ ự ắ ệ ộ ầ c n m t chi n l c d  phòng đúng đ n và khác bi t

ể ượ ử ệ ệ ạ ấ ằ ậ Vi c xu t và nh p cũng có th  đ c x  lý b ng giao di n này. B n có

ộ ớ ể ấ ắ ồ th  c u hình các quy t c khác nhau không đ ng b  v i các node trên các

ứ ặ ấ ơ ơ ấ m c cao h n ho c th p h n trong phân c p.

4.3.2.2.CA

ệ ấ ả ể ạ ứ ầ Giao di n CA có t ạ t c  các ch c năng mà b n c n có đ  t o ra các

ỷ ỏ ứ ứ ỉ ỉ ch ng ch  và danh sách hu  b  ch ng ch

ồ ấ ả ể ử ụ ứ ể CA cũng bao g m t ổ   t c  các ch c năng ta có th  s  d ng đ  thay đ i

ư ệ ộ ạ ể ấ c u hình thông qua m t giao di n web. Nh ng l ổ ấ   i không th  thay đ i c u

ệ hình thông qua giao di n web khác

ủ ộ ử ộ ử ớ ồ

ể ượ ử ụ ộ ử ể ạ ữ ứ ạ ỉ CA cũng là l p ngoài c a b  x  lý lô. OpenCA  bao g m các b  x  lý lô   ể ấ r t m nh đ  t o ch ng ch . Nh ng b  x  lý lô này có th  đ c s  d ng đ

ỉ ố ự ộ ừ ệ ố ứ ạ t o ra ch ng ch  s  t đ ng t h  th ng ERP(Enterprise Resource Planning­

ụ ư ệ ố ọ ồ ị H  th ng h ach đ nh ngu n tài nguyên) ( ví d  nh  SAP, HIS, NIS)

ử ả ấ ả ạ ầ 4.3.2.3.RA ủ RA c a OpenCA có kh  năng x  lý t t c  các lo i yêu c u (request).

ồ ọ ọ ử ấ ầ ạ ầ ậ ỉ

ư ệ ử ử ẻ ầ ớ Bao g m có ch n l c, ch nh s a yêu c u, ch p thu n yêu c u, t o khoá   ườ   i riêng v i th  thông minh, xoá các yêu c u sai và g i th  đi n t cho ng

75

dùng

4.3.2.4. LDAP

ệ ượ ự ể ầ ả Giao di n LDAP đ

ề ầ ế ở ứ ề ấ LDAP. Đi u này là c n thi c xây d ng đ  phân tách hoàn toàn ph n qu n lý   ự ự   t b i vì có r t nhi u ch c năng mà th c s  là

ệ ườ ỉ ớ ả ộ ị ườ ử ụ riêng bi t cho ng i qu n tr  LDAP, ch  v i m t vài ng ớ   i s  d ng m i

ứ ầ c n thi ế ớ t t i ch c năng này

4.3.2.5.Pub ệ ồ ấ ả ữ ế ườ Giao di n Public bao g m t t c  nh ng chi ti t mà ng ầ i dùng c n. Bao

g mồ

ứ ầ ạ ỉ T o ra các yêu c u ký ch ng ch  cho Microsoft Internet Explorer

ứ ầ ạ ỉ T o   ra   các   yêu   c u   ký   ch ng   ch   cho   Molilla   1.1   và   Netscape

Communitor và Navigato

ạ ộ ậ ụ ầ

ể ạ ườ ế ế ả ườ T o ra các yêu c u đ c l p cho các client và khoá riêng ( ví d  cho   ầ   t làm th  nào đ  t o ra yêu c u ị i qu n tr  server ng i mà không bi ng

và khoá riêng)

ậ ị ừ ạ Nh n PEM­ đ nh d ng theo PKCS #10 t server

ỉ ứ Ký ch ng ch

Ký vào CRLs

ỗ ợ ươ ứ ồ ỉ H  tr  hai ph ứ ng th c thu h i ch ng ch  khác nhau

ứ ế ỉ Tìm ki m ch ng ch

ứ ể ỉ ườ Ki m tra ch ng ch  ng ệ i dùng trong trình duy t ( Microsoft Internet

Explorer và Netscape Communicator và Navigator 4.7x)

ố ượ ng

76

ờ ủ 4.4. Vòng đ i c a các đ i t ố ượ ờ ủ Vòng đ i c a các đ i t ng

ề ạ ố ượ ủ ự ẫ ầ Đôi khi có s  nh m l n v  tr ng thái c a các đ i t ng OpenCA. S ơ

ờ ủ ấ ả ể ể ẽ ạ ồ đ  sau đây s  giúp b n có th  ki m tra vòng đ i c a t t c  các đ i t ố ượ   ng

OpenCA.

ờ ủ ơ ồ ứ ỉ S  đ  1.4. Vòng đ i c a các ch ng ch

ư 4.5. Các l u ý khi thi

ế ế t k  PKI ấ ươ ề ờ ợ ư ư ế Ch ng này đ a ra r t nhi u l ạ   i g i ý mà chúng ta nên l u tâm n u b n

77

ế ế ệ ố ầ ầ thi t k  h  th ng PKI l n đ u tiên. .

ầ ứ ề ấ 4.5.1. Các v n đ  ph n c ng

ờ 4.5.1.1.Th i gian

ộ ấ ủ ệ ố ề ớ ữ ấ ờ

ủ ạ M t trong nh ng v n đ  l n nh t c a h  th ng PKI đó là th i gian. Có   ườ   i hai lo i  máy tính khác nhau đó là online và offline. Theo logic c a ng

ả ườ ế ố ạ ị qu n tr  thông th ng Khi máy tính k t n i vào m ng thì máy tính s  s ẽ ử

ủ ờ ỏ ặ ộ ụ d ng máy ch  th i gian (time server). M t câu h i đ t ra là timeserver có

ưở ả ể ấ đáng tin t ng không không? Timeserver có th  làm n y sinh ra hai v n đ

ứ ự ự ừ ứ ấ ờ ề  ồ    timeserver và th  hai là ngu n sau. Th  nh t là tem th i gian th c s  t

ự ự ủ ờ ế ố ớ th i gian c a timeserver có th c s  đáng tin không? K t n i t

ể ượ ệ ườ ả ả ầ có th  đ c đ m b o an toàn theo công ngh  đ i timeserver   ố   ng h m (tunnel) gi ng

ự ư ư ề ấ ự ồ ế ầ ờ nh   IPSec   nh ng   v n   đ   th c   s

ề ử ụ ồ ồ ệ ậ ờ timeserver đ u s  d ng đ ng h  sóng radio, nh n tín hi u th i gian đ là   ngu n   th i   gian.   H u   h t   các   ượ   c

ừ ạ ấ ễ ị ả ạ ề ệ ở t tr m truy n sóng radio. Tín hi u này r t d  b  gi ấ    m o b i vì nó r t

ự ự ủ ạ ờ ồ ượ ế y u. Do đó ngu n th i gian c a m ng là th c s  không đ c an toàn

iỗ

4.5.1.2.Đĩa l ầ ổ ế ứ ề ấ ỏ ườ ầ Các ph n h ng hóc v  ph n c ng ph  bi n nh t th ng liên quan t ớ   i

ậ ạ ỗ ự ạ ấ ả ộ b  ph n làm làm l nh và các l i đĩa. B n nên d  phòng t

ặ ệ ỉ ượ ấ quan trong, đ c bi ứ t là các ch ng ch  đã đ c c p phát ALL. Không bao gi ữ ệ   t c  các d  li u ờ

ượ ứ ấ ả ặ ồ ỉ đ ạ c đánh m t ch ng ch  ho c là b n ph i thu h i CA hoàn toàn. .

4.5.1.3.Theo dõi ph n c ng

ầ ứ ạ ườ ủ ự ế ể ạ Thông th ng b n có th  quan sát tr c quan n u laptop c a b n b

ạ ộ ạ ộ ư ư ộ ị ng ng ho t đ ng. M t máy tính offline b  ng ng ho t đ ng cũng có th ị  ể

ượ ư ậ ự ự ệ ằ đ ầ   c phát hi n b ng s  quan sát tr c quan nh  v y. Tuy nhiên, thành ph n

ạ ộ ủ ư ị ạ ộ ấ online c a PKI b  ng ng ho t đ ng thì l ể ở i là m t v n đ  b i vì các thông

ỉ ượ ấ ớ ư ứ ẵ ọ tin quan tr ng không s n sàng, nh  là các ch ng ch  đ c c p phát m i và

ư ậ ỷ ỏ ữ ứ ể ố ỉ danh sách hu  b  ch ng ch . Nh ng tình hu ng nh  v y cũng có th  làm

ị ả ụ ủ ạ ư ệ ế gi m các d ch v  c a b n nh  SCEP. N u giao di n công khai c a c  s

ậ ủ ạ ẽ ị ả ả ấ ị ủ ơ ở  ố ớ   ề ạ ầ h  t ng an toàn b  suy gi m, thì v n đ  tin c y c a b n s  b  gi m đ i v i

78

ườ ươ ng ủ ạ i dùng c a b n trong t ng lai.

4.5.2.An toàn v t lýậ

ủ ế ạ ạ ồ ộ ố   N u CA offline c a b n bao g m m t máy tính xác tay và b n mu n

ả ự ể ể ộ ỗ ầ ả đ m b o s  ki m soát kép và không có m t đi m l

ươ ử ụ ộ ả   ạ i nào thì b n c n ph i ữ tuân theo ph ng pháp sau : S  d ng m t “két “ module IT và hai két d

ứ ả ệ ậ ệ ộ ộ li u. M t két  module IT có m t UPC mà có cùng m c b o v  v t lý nh ư

ắ ộ ượ ử ụ ể m t két s t (ngăn ) Két này đ c s  d ng đ  cho phép máy tính xác tay đó

ừ ả ượ ề ề ờ ạ ộ không ng ng ho t đ ng, do đó gi m đ ẵ   ấ c th i gian và v n đ  v  tính s n

ả ằ ấ ả ẽ ề ể ả sàng. T t c  ba két đó s  có hai khoá . Đi u này đ m b o r ng ki m soát

ẽ ự ự ơ ẻ ệ ậ ằ ặ ả truy c p kép b ng chia s  khoá. Vi c cài đ t cũng s  th c s  đ n gi n và

ả ệ hi u qu

ổ ứ ủ ự ự ễ ể

ổ ứ ủ ữ ệ ướ ầ T  ch c c a các két là th c s  d  dàng. Ta có th  phân tách passphrase   ể c và sau. T  ch c c a d  li u và máy tính có th CA thành hai ph n là tr

nh  sauư

ủ ồ ớ Két module IT bao g m máy tính xách tay (v i khoá riêng c a CA) và

ướ ủ ụ ậ ẩ ầ ph n tr c c a passphrase (c m m t kh u)

ữ ệ ự ầ ầ ồ ồ Két d  li u đ u tiên bao g m các ph n d  phòng (bao g m các ph n d ầ ự

ủ ụ ậ ẩ ầ phòng khoá riêng) và ph n sau c a c m m t kh u

ữ ệ ứ ả ầ ồ ướ ủ ụ ầ Ngăn d  li u th  hai bao g m c  ph n tr ậ   c và ph n sau c a c m m t

kh u ẩ

ự ổ ứ ẳ ằ ữ ệ ế ả ị S  t ộ  ch c này đ m b o r ng n u m t ngăn d  li u b  phá thì cũng s ẽ

ư ạ ớ ơ ở ạ ầ ư ậ ự ả không làm h  h i t

ữ ệ ừ ế ẽ ấ ộ ả   ấ i c  s  h  t ng. S  phân c p nh  v y cũng đ m b o ạ ộ   ằ r ng n u m t m t ngăn d  li u thì cũng s  không làm ng ng ho t đ ng

ồ ạ ạ ầ ấ ộ ủ c a b n. Chúng ta c n hai ngăn t n t i và m t m t ngăn thì cũng có th ể

ậ ượ ấ ấ ờ ch p nh n đ ắ ộ c ít nh t trong m t th i gian ng n

ầ ư ưở ơ ả ứ ủ ố ớ ằ C n l u lý r ng đây là ý t

ử ụ ữ ữ ượ ồ ứ ủ trung bình. Nh ng CA có m c r i ro cao nên s  d ng nh ng l ữ ng c  b n đ i v i nh ng CA có m c r i ro   ứ   c đ  ph c

79

ể ấ ậ ượ ể ơ ề ơ ộ ỏ ị ạ t p h n đ  có th  ch p nh n đ c nhi u h n m t ngăn b  phá h ng.

ề ề ạ ấ

ứ ế ầ ộ ư ấ ả ụ ị 4.5.3.Các v n đ  v  m ng ủ M t PKI mang đ y đ  ch c năng n u nh  t t c  các d ch v  mà nó

ấ ạ ộ ữ ứ ề ỉ cung c p  đ u hoàn toàn ho t  đ ng. Nghĩa là không ch  nh ng th  nh

ư ậ ả ấ ộ ư  ề   OCSP và SCEP mà c  các gateway công c ng cũng nh  v y. R t nhi u

ườ ẽ ủ ế ư ằ ạ ộ ng

ủ ứ ư ự ế ầ ầ ộ   i  nghĩ  r ng s   đ  n u nh  OCSP  và m t CDP duy trì  ho t  đ ng ụ   nh ng th c ra đó là không đ . Lý do đ u tiên là h u h t các  ng d ng

ề ứ ể ấ ạ ộ không  hi u   OCSP.   V n   đ   th   hai   là   CDP   đang  ho t   đ ng   ch   h   tr ỉ ỗ ợ

ự ế ấ ỉ ỗ ợ ề ứ ụ ấ ậ LDAP, b t lu n trên th c t có r t nhi u  ng d ng ch  h  tr  HTTP.  PKI

ạ ộ ạ ộ ủ ế ầ ỉ ẽ s  không ho t đ ng đ y đ  n u ch  có CDP đang ho t đ ng. Không ai có

ể ả ỉ ớ ỉ ủ ứ ứ ườ ồ ạ th  t ặ i  ch ng ch  m i ho c ch ng ch  c a ng i dùng đang t n t i trong

ạ ư ậ ẽ ỉ ượ ư ạ ộ   c an toàn, nh ng nó không ho t đ ng

tr ng thái nh  v y. PKI s  ch  đ đ y đầ ủ

ỉ 4.5.4.V n đ  v  ch ng ch

ấ ầ ề ề ứ ồ ề ớ ấ ấ Ph n này bao g m hai nhóm v n đ  l n là CDP và các v n đ  c  th

ề ụ ể ề ứ ẽ ượ ụ ụ ấ ề ứ v   ng d ng. Tuy nhiên thì các v n đ  c  th  v   ng d ng s  đ ề ụ ể  ả   c th o

ậ ướ ề ẫ ầ lu n trong ph n khác trong h ng d n v  CA

ố ỉ 4.5.5.CDPs (Các đi m phân ph i danh sách hu  b  ch ng ch  (CDP))

ộ ộ ỷ ỏ ứ ặ ỉ ể ướ M t vài PKI tr ứ   c đây không có CDP ho c ch  có m t CDP. Các  ng

ỉ ượ ử ụ ứ ả ạ ụ d ng an toàn ph i xác minh tr ng thái ch ng ch  đ

ườ ầ ở ộ ủ ư ế ẽ ể ụ d ng nh  th  s  ki m tra tr ng CDP trong ph n m  r ng c a ch ng ch ữ ứ   c s  d ng. Nh ng  ng ỉ  ứ

ể ồ ượ ể ể đ  tìm ra ngu n xác minh có th  dùng đ ố   c. Ngày nay, đi m phân ph i

ỷ ỏ ứ ỉ ượ ộ danh sách hu  b  ch ng ch   không đ ồ c coi là m t ngu n cho CRL. Nó có

ể ượ ệ ộ ồ th  đ c xem là m t responder OCSP (bên h i đáp OCSP). CDP hi n nay là

ứ ể ề ạ ỉ nhi u đi m tr ng thái ch ng ch

ỏ ầ ứ ầ ượ ỗ ợ ứ Câu h i đ u tiên là các giao th c nào c n đ c h  tr . Giao th c ph

ế ấ ả ượ ỗ ợ bi n nh t là LDAP và HTTP ph i luôn đ c h  tr . HTTP đ ổ  ượ ỗ ợ ở   c h  tr  b i

ư ấ ả ế ị ư ộ ế ị ỉ ỗ ợ ầ g n nh  t t c  các thi t b , nh ng m t vài thi t b  ch  h  tr  LDAP thay vì

ặ ệ ả ạ HPPT, đ c bi ộ t trong m t vài gi i pháp m ng. Thêm vào đó còn có OCSP

ứ ể ủ ứ ạ ộ ỉ

80

ấ ố ơ ấ ế ố ứ ề ệ ạ ớ và HTTPS. OCSP là giao th c đ  xác minh tr ng thái c a m t ch ng ch  .   ậ   t h n r t nhi u so v i các k t n i m ng ch m Giao th c này có hi u su t t

ộ ượ ạ ặ ớ ứ ớ ỉ ị ế n u b n có m t l ỷ ỏ   ề ng l n các cài đ t v i nhi u ch ng ch  ( b  hu  b  ).

ỗ ợ ạ ớ ộ ồ ỉ ậ HTTPS ch  đôi khi h  tr  b n v i m t ngu n tin c y

ạ ầ ứ ế ầ ậ ạ ỏ Câu h i th  hai là c n bao nhiêu CDP v t lý mà b n c n. N u b n thi ế   t

ậ ẽ ể ả ả ả ấ ắ

ụ ủ ư ầ ị ộ   ế ộ ạ ầ k  m t h  t ng kh  chuy n thì ph i có kh  năng ch p nh n s  ng t m t ố   t vài d ch v  c a các thành ph n nh  cable, router, switch, và server. Cách t

ộ ộ ể ố ớ ụ ộ ế ấ ỉ ạ nh t là nên có CDP c c b  n u ch  có m t b  k t n i t i m ng trung tâm.

ề ế ả ầ ọ Tuy nhiên, không ph i m i chi nhánh đ u c n CDP riêng, vì n u các máy

ọ ệ ố ủ ầ ế ệ ố tính c a h  (h  th ng mail, h  th ng file) là Offline không c n thi ả   t ph i

có CDP online.

ề ụ ể ề ứ ụ ấ 4.5.6.Các v n đ  c  th  v   ng d ng

4.5.6.1.Mail Server

ắ ầ ắ ầ ế ể ế ả ậ ặ   N u b t đ u nghĩ đ n b o m t Mail thì đi m b t đ u là S/MIME ho c

ỉ ử ụ ữ ầ ả ị PGP.  Đ u tiên nh ng nhà qu n tr  ch  s  d ng IMAPS và POPS. Sau đó h ọ

ủ ượ ề ố ắ ả ậ nghĩ v  các máy ch  đ ể c b o m t và c  g ng tri n khai SMTP thông qua

ỉ ượ ấ ể ượ ử ụ ứ ở TLS. Các ch ng ch  đ c c p b i OpenCA có th  đ c s  d ng cho SMTP

ư ứ ứ ở ỉ ỉ ể   qua TLS b i vì các ch ng ch  có th  đóng vai trò nh  ch ng ch  Client và

ứ ứ ể ộ ỉ ch ng ch  Server. M t SMTP Server có th  dùng 2 giao th c cho SMTP qua

ể ử ụ ở ộ ỉ ơ ứ ứ ầ ộ TLS. Nó có th  s  d ng m t ch ng ch  đ n ch a ph n m  r ng cho các

ứ ặ ộ ỉ ể Client và Server TLS, ho c cũng có th  dùng 2 ch ng ch :  m t cho  Client,

ộ m t cho  Server.

4.5.6.2. Client Netscape

ẩ Các Client Netscape cũ  không tuân theo các chu n RFC.

4.5.6.3.OpenLDAP

ư ự ề ệ ầ ở ủ   ồ OpenLDAP là ph n m m mã ngu n m , nh ng vi c th c thi TLS c a

ủ ẽ ể ế ả ấ ố nó không ph i là t t nh t. Nó s  không ki m tra tên ti p theo c a ch  th

ẽ ể ủ ợ ớ ủ ể  ặ ị   ủ ế mà nó s  ki m tra tên chung c a ch  th  mà phù h p v i tên DNS ho c đ a

ề ẽ ỉ ỗ ế ủ ể ủ ỉ ử ụ ứ ch  IP. Đi u này s  gây ra l i n u ch  th  c a ch ng ch  s  d ng tên

81

ỗ ợ ữ ở ộ clients Netscape cũ. OpenLDAP không h  tr  nh ng m  r ng chung

ươ ướ Ch ng V: Đánh giá và h ể ng phát tri n

5.1. Đánh giá

ế

ệ ố ự ự ứ ồ ậ K t lu n Nghiên c u và xây d ng h  th ng PKI d a trên mã ngu n OpenCA là

ộ ấ ầ ượ ề ẻ ự ệ ớ m t v n đ  còn m i m  và luôn c n đ c hoàn thi n. Mô hình PKI d a

ượ ự ừ ấ ề ồ ồ trên mã ngu n OpenCA đ c xây d ng t r t nhi u mã ngu n khác bao

ồ g m Apache, OpenSSL, mod_ssl, perl và các module perl. Quá trình nghiên

ệ ố ự ự ể ồ ứ c u, xây d ng và phát tri n h  th ng PKI d a trên mã ngu n OpenCA là

ự ấ ậ ủ ầ ả ộ ườ ử ụ m t quá trình lâu dài và c n ph i có s  ch p nh n c a ng ỷ i s  d ng. T

ẽ ượ ệ ở ề ẩ ệ ườ l  ng i dùng s  đ ệ   c tăng khi các chu n v  công ngh  tr  nên hoàn thi n

ứ ượ ứ ụ ự ả ả ơ h n, ch ng minh đ ệ c kh  năng  ng d ng và hi n th c hoá là tính kh  thi

ụ ứ ự ụ ệ ệ ậ ị Hi n nay, vi c áp d ng m t mã khoá công khai và d ch v  ch ng th c

ệ ử ể ả ạ ộ ệ ử ả ị đi n t đ  đ m b o an toàn thông tin trong các ho t đ ng giao d ch đi n t

ả ượ ề ố ấ là gi i pháp đ c nhi u qu c gia trên th  gi ế ớ ử ụ Ở ệ i s  d ng. Vi t Nam, v n

ự ế ư ề ể ặ ộ ề đ  trên tuy đã có s  ti n tri n, nh ng còn g p nhi u khó khăn. M t vài năm

ở ạ ộ ố ơ ạ ộ ị ơ ữ ầ tr  l i đây, m t s  đ n v , c  quan cũng đã có nh ng ho t đ ng ban đ u

ệ ố ự ứ ứ ể ệ ậ ỹ nghiên c u công ngh , xây d ng h  th ng k  thu t, phát tri n các  ng

ụ ứ ệ ử ự ử ệ ị ệ ể ấ ụ d ng và th  nghi m cung c p d ch v  ch ng th c đi n t . Vi c tri n khai

ệ ử ự ứ ụ ị ộ ự ầ ư ầ ấ các d ch v  cung c p ch ng th c đi n t yêu c u m t s  đ u t lâu dài và

ớ ạ ế ả ư ầ ấ nghiêm túc m i mang l ố i k t qu  nh  mong mu n. Ph n khó khăn nh t

82

ụ ể ị ở ổ ứ ự ệ ậ ổ trong tri n khai d ch v  này là khâu t ch c th c hi n và thay đ i nh n

ứ ủ ườ ụ ứ ữ ủ ự ố ị th c c a con ng i. Tính pháp lý c a ch  ký s  và d ch v  ch ng th c

ệ ử ề ượ ặ ệ ở ệ đi n t ộ ấ  cũng là m t v n đ  đang đ c đ t ra. Hi n nay, Vi t Nam đã ban

ộ ố ư ệ ề ậ ậ ự hành m t s  các đi u lu t trong lĩnh v c này nh  Lu t công ngh  thông tin

ệ ử ậ ị ban hành ngày 29/6/2006, Lu t giao d ch đi n t ban hành ngày 29/11/2005,

ậ ộ ữ ố ổ ứ Lu t n i dung ch  ký s  ban hành ngày 15/2/2007..Các t ch c, cá nhân

ụ ứ ử ụ ệ ử ầ ả ượ ự ấ ị cung c p và s  d ng d ch v  ch ng th c đi n t c n ph i đ ả c qu n lý,

ụ ấ ị ề ờ ồ đ ng th i có quy n , nghĩa v  nh t đ nh.

ộ ơ ở ạ ầ ệ ế ẽ ế ự Ngoài ra n u m t c  s  h  t ng có công ngh  y u thì s  không có s

ưở ạ ề ữ ụ ủ ấ ị ườ tin t ng và nhà cung c p d ch v  và nh ng e ng i v  tâm lý c a ng i

ơ ở ạ ầ ệ ể ạ ở dùng này cũng là các tr  ng i trong vi c tri n khai c  s  h  t ng an ninh

ắ ộ r ng kh p

Ụ Ụ PH  L C

ườ

1.Môi tr ầ ể ng phát tri n ồ ề ả ầ ở ộ ề   Ph n   m m   mã   ngu n   m   OpenCA   không   ph i   là   m t...Ph n   m m

ồ ượ ự ề ề ấ ầ ồ ở ở ngu n m  OpenCA đ c d a trên r t nhi u ph n m m ngu n m  khác bao

ồ g m : Apache, OpenSSL, mod_ssl, perl, OpenLDAP và các module perl và.

ầ ượ ề ề ồ Ph n này em xin phép đ ầ c trình bày v  các ph n m m ngu n m  đ ở ượ ử c s

ể ự ụ d ng đ  xây d ng nên OpenCA

1.1.Apache Apache HTTP SERVER PROJECT

ộ ự ỗ ự ể ự ể D  án Apache HTTP Server là m t s  n  l c đ  phát tri n và duy trì

ủ ệ ệ ề ạ ộ ồ m t mã ngu n HTTP cho các máy ch  hi n đ i dành cho các h  đi u hành

ủ ự ụ ư ệ ạ ấ hi n đ i nh  Unix và Window NT. M c đích c a d  án này là cung c p

ủ ở ộ ụ ệ ệ ả ấ ộ m t máy ch  m  r ng, hi u qu  và an toàn làm nhi m v  cung c p các

83

ộ ớ ụ ệ ẩ ồ ị d ch v  http đ ng b  v i các tiêu chu n HTTP hi n nay

ự ượ ữ ả ộ ở ườ D   án   HTTP   đ c   qu n   lý   chung   b i   m t   nhóm   nh ng   ng i   tình

ệ ế ắ ớ ườ ử ụ nguy n   trên   kh p   th   gi ữ i,   nh ng   ng i   s   d ng   Internet   và   Web   đ ể

ủ ự ể ệ ề truy n thông, xây d ng, phát tri n máy ch  và các tài li u có liên quan.

ữ ườ ệ ượ ọ Nh ng ng i tình nguy n này đ c g i là nhóm Apache (Apache Group).

ơ ữ ườ ử ụ ưở ồ H n n a, có hàng trăm ng i s  d ng cũng đóng góp ý t ng, mã ngu n và

ự ệ tài li u cho d  án.

1.2. OpenSSL

ự ỗ ự ể ộ ồ ợ ở ớ   ằ OpenSSL là s  n  l c h p tác nh m phát tri n b  mã ngu n m  v i

ủ ượ ể ứ ầ đ y đ  tính năng, đ

ứ ở ộ ượ ữ ả ồ 3) và giao th c TSL(version 1) đ c tri n khai trên giao th c SSL (version 2 và version   ườ   i c qu n lý b i c ng đ ng nh ng ng

ế ớ ử ụ ể ế ố ệ ể tình nguy n trên toàn th  gi i s  d ng Internet đ  k t n i và phát tri n b ộ

ệ OpenSSL và các tài li u có liên quan

ư ề ế ầ ầ H u   h t  các   ph n   m m  nh   IMAP&POP,   Samba,   OpenLDAP,  FTP,

ữ ể ệ ề ầ ầ ề Apache và nh ng ph n m m khác đ u yêu c u công vi c ki m tra tính xác

ự ườ ử ụ ướ ử ụ ụ ị ủ th c  c a ng i  s  d ng tr c  khi cho phép s  d ng các  d ch v  này.

ề ả ự ư ệ ặ ườ ử ụ ị Nh ng m c đ nh vi c truy n t i s  xác minh thông tin ng i s  d ng và

ẩ ậ ở ạ ể ượ ả ọ m t kh u (password) ầ  d ng văn b n thu n túy nên có th  đ ặ   c đ c ho c

ộ ườ ẽ ả ậ ả ỹ ổ ở thay đ i b i m t ng ư i khác. K  thu t mã hóa nh  SSL s  đ m b o tính an

ớ ỹ ữ ệ ủ ề ẹ ậ toàn và nguyên v n c a d  li u, v i k  thu t này thông tin truy n trên

ở ạ ể ể ố ượ ộ ượ ạ m ng d ng đi m n i đi m đ c mã hóa. M t khi OpenSSL đã đ c cài

ể ử ụ ụ ứ ư ộ ặ đ t trên Linux server chúng ta có th  s  d ng nó nh  m t công c  th  ba

ứ ụ cho phép các  ng d ng khác dùng tính năng SSL

ụ ậ ộ ộ ứ ể ạ OpenSSL là m t b  công c  m t mã tri n khai trên giao th c m ng SSL

ẩ ậ và TLS và các chu n m t mã có liên quan

ươ ể ử ụ ệ ộ Ch ứ   ụ ng trình OpenSSL là m t công c  dòng l nh đ  s  d ng các ch c

ủ ủ ậ ừ ư ệ năng m t mã c a các th  vi n crypto c a OpenSSL t nhân.

ư ệ ứ ấ ậ ứ   OpenSSL có các th  vi n cung c p các ch c năng m t mã cho các  ng

84

ư ụ d ng nh  an toàn webserver

ụ ệ 1.2.1.Công c  dòng l nh trong openssl

ệ ẩ

1.2.1.1.Các dòng l nh chu n ỗ ­ asnlparse: phân tích chu i ASN.1

ả ­ ca: Qu n lý CA

ả ộ ­ Ciphers: Miêu t b  mã hoá

ệ ậ ­ cms: ti n tích (Cú pháp thông báo m t mã)

ỷ ỏ ứ ả ỉ ­ crl: Qu n lý danh sách hu  b  ch ng ch  (CRL)

ể ổ ­ crl2pkcs7: Chuy n đ i CRL thành PKCS37

ả ượ ­ dgst: Tính toán b n tóm l c thông báo

ả ố ­dh: Qu n lý cá tham s  Diffie­Hellman

ả ạ ố ­ dhparam: T o và qu n lý các tham s  Diffie­Hellman

ữ ệ ả ­dsa: Qu n lý d  li u DSA

ạ ả ố ­dasparam: T o và qu n lý tham s  DSA

ử ườ ­ec: X  lý khoá (đ ng cong Elliptic)

ạ ố ­ecparam: T o và thao tác tham s  EC

ằ ậ ­enc: Mã hoá b ng m t mã

ạ ố ­gendh: T o các tham s  Diffie­Hellman

ạ ừ ố ­gendsa: T o khoá riêng t các tham s

ạ ặ ố ­genpkey: T o khoá riêng ho c các tham s

85

ạ ­genrsa: T o khoá riêng RSA

ỉ ự ứ ứ ế ệ ạ ­ocsp: Ti n ích giao th c tr ng thái ch ng ch  tr c tuy n

ạ ượ ­passwd: T o các password đ c hash

ữ ệ ả ­pkcs12: Qu n lý d  li u PKCS#12

ữ ệ ả ­pkcs7: Qu n lý d  li u PKCS#7

ả ­pkey: Qu n lý khoá riêng và khoá công khai

ả ậ ố ­pkeyparam: Qu n lý tham s  thu t toán khoá công khai

ệ ậ ọ ộ ậ ­pkeyutl: Ti n ích h at đ ng m t mã thu t toán khoá công khai

ạ ẫ ­rand: T o các bytes ng u nhiên

ứ ầ ả ỉ ­req: Qu n lý yêu c u ký ch ng ch  PKCS#10 X.509

ả ­rsa: Qu n lý khoá RSA

ệ ả ệ ­rsautl: Ti n ích RSA cho vi c ký, xác minh, mã hoá và gi i mã

ế ố ờ ­s_time: Máy th i gian k t n i SSL

ữ ệ ả ­sess_id: Qu n lý d  li u phiên SSL

ử ­smime: X  lý mail S/MIME

ậ ố ộ ­speed: Đo t c đ  thu t toán

ệ ạ ­spkac: Ti n ích t o và in SPKAC

ụ ấ ề ờ ­ts: Công c  c p quy n tem th i gian

ứ ỉ ­verify: Xác minh ch ng ch  X.509

ả ­version:Thông tin phiên b n OpenSSL

86

ứ ả ỉ ữ ệ ­x509: Qu n lý d  li u ch ng ch  X.509

ượ

c thông báo

ệ ượ

1.2.1.2.Các dòng l nh tóm l c MD2

­ md2: tóm l

ượ ­md5:Tóm l c MD5

ượ ­mdc2: tóm l c MDC2

ượ ­rmdl160: tóm l c RMD­160

ượ ­sha: Tóm l c SHA

ượ ­sha1: Tóm l c SHA­1

ượ ­sha224 :Tóm l c SHA­224

ượ ­sha256 :Tóm l c SHA­256

ượ ­sha384 :Tóm l c SHA­384

ượ ­sha512: Tóm l c SHA­512

1.2.1.3. Các dòng l nh v  mã hoá base64: mã hoá Base 54

bf bf­cbc bf­cfb bf­ecb bf­ofb : Mã Blowfish

cast cast­cbc : Mã CAST

cast5­cbc cast5­cfb cast5­ecb cast5­ofb :Mã CAST5

des des­cbc des­cfb des­ecb des­ede des­ede­cbc des­ede­cfb des­ede­ofb

des­ofb :Mã DES

des3 desx des­ede3 des­ede3­cbc des­ede3­cfb des­ede3­ofb :Mã 3DES

idea idea­cbc idea­cfb idea­ecb idea­ofb :Mã IDEA

87

rc2 rc2­cbc rc2­cfb rc2­ecb rc2­ofb :Mã RC2

rc4 :Mã RC4

rc5 rc5­cbc rc5­cfb rc5­ecb rc5­ofb :Mã RC5

ư ệ 1.2.2.Th  vi n SSL/TLS trong OpenSL

1.2.2.1.Miêu tả

ư ệ ứ ể Th  vi n ssl trong OpenSSL tri n khai giao th c SSL và TLS.

ư ệ ẽ ượ ầ ở ạ Đ u tiên th  vi n s  đ c kh i t o

ố ượ ượ ạ ư ộ ơ ấ ế ậ Sau đó đ i t ng SSL_CTX đ c t o ra nh  m t c  c u thi ế   t l p k t

ề ẽ ấ ọ ỳ ớ ứ ậ ố n i TLS/SSL. S  có r t nhi u tu  ch n liên quan t ỉ i ch ng ch , thu t toán

ể ượ ố ượ ặ có th  đ c cài đ t trong đ i t ng này

ộ ế ố ạ ượ ạ ể ượ Khi m t k t n i m ng đ c t o ra, nó có th  đ c gán cho đ i t ố ượ   ng

ượ ạ ố ượ SSL. Sau khi đ i t c t o ra t ng SSL đ

ộ ế ố ẽ ế ợ ữ ạ ầ ừ SSL_new, SSL_set_fd ho cặ   ớ ố   SSL_set_bio, nh ng thành ph n này s  k t h p m t k t n i m ng v i đ i

t ngượ

ắ ượ ự Sau     khi   b t   tay   TLS/SSL   đ ệ c   th c   hi n   nh ờ SSL_accept  ho cặ

ượ ử ụ ể ọ SSL_connect. SSL_read và SSL_write  đ

ế ố ể ượ ử ụ ể ế trên k t n i TLS/SSL. SSL_shutdow có th  đ ữ ệ   c s  d ng đ  đ c và ghi d  li u ế   c s  d ng đ  k t thúc k t

ố n i TLS/SSL

1.2.2.2. C u trúc d  li u

ư ệ ứ ủ ả

ữ ệ ệ

Ch c năng hi n có c a th  vi n ssl trong OpenSSL gi i quy t đ ế ượ   c

ữ ệ ấ c u trúc d  li u sau

SSL_METHOD

ộ ấ ả ứ ươ ứ ộ Đây là m t c u trúc miêu t ch c năng/ph ư ệ ng th c th  vi n n i ssl

ượ ử ụ ộ ộ n i b . Nó đ ể ạ c s  d ng đ  t o SSL_CTX

88

SSL_CIPHER(SSL Cipher)

ấ ắ ữ ậ ặ ệ C u trúc này n m gi thông tin thu t toán cho phép mã hoá đ c bi t mà

ủ ứ ầ ẵ ượ ấ là ph n lõi c a giao th c SSL/TLS. Các phép mã hoá s n có đ c c u hình

trên SSL_CTX

SSL_CTX (SSL Context)

ộ ấ ữ ả ụ ượ ạ ặ ở Đây là m t c u trúc ng  c nh toàn c c đ c t o b i server ho c client

ồ ạ ỗ ươ ủ ế ắ ờ trong m i th i gian t n t i ch ữ ng trình và nó n m gi a ch  y u các giá tr ị

ủ ấ ặ ị ị ượ ạ ế ố m c đ nh c a c u trúc SSL, các giá tr  mà đ c t o cho khi k t n i sau đó

SSL_SESSION (SSL Session)

ứ ấ ế ủ ệ Đây  là  c u trúc ch a   chi ti ế ố   t   phiên  TSL/SSL  hi n  có  c a k t  n i:

ứ ỉ SSL_CIPHER, ch ng ch  client và server, khoá

SSL (SSL Connection)

ấ ượ ạ ặ ỗ ở Đây là c u trúc SSL/TLS chính , đ c t o b i server ho c client m i khi

ế ậ ầ ấ ự ự ố ế ố ượ k t n i đ c thi t l p. Đây th c s  là ph n c u trúc c t lõi trong SSL API.

ụ ỗ ườ ớ ạ ứ M i khi ch y  ng d ng th ố ấ ng phân ph i c u trúc này t ấ i các c u trúc

khác

1.2.2.3. Các file header

ư ệ ữ ứ   ấ Th  vi n ssl trong OpenSSL cung c p nh ng file header C sau, có ch a

ữ ệ ứ ẫ ấ các m u cho c u trúc d  li u và ch c năng

ứ ầ ố   ssl.h: Đây là file header chung cho SSL/TLS API, nó có ch a ph n c t

ủ lõi bên trong c a SSL API

ệ ớ ứ ỉ ssl2.h: Đây là file header con ch  có quan h  v i giao th c SSLv2

ệ ớ ứ ỉ ssl3.h: Đây là file header con ch  có quan h  v i giao th c SSLv3

ệ ớ ứ ỉ ssl23.h: Đây là file header con ch  có quan h  v i giao th c SSLv2 và

89

SSLv3

ệ ớ ứ ỉ tlsl.h: Đây là file header con ch  có quan h  v i giao th c TLSv1

ư ệ ậ 1.2.3. Th  vi n m t mã trong OpenSSL

1.2.3.1. Miêu t

ộ ố ượ ư ệ ậ ấ ớ Th  vi n m t mã trong OpenSSL cung c p  m t s  l ậ   ng l n các thu t

ượ ử ụ ẩ ủ ề ấ ị ậ toán m t mã đ c s  d ng trong r t nhi u chu n c a Internet. Các d ch v ụ

ượ ư ệ ấ ở ượ ử ụ ụ ủ ở đ c cung c p b i th  vi n này đ c s  d ng b i các công c  c a SSL,

ượ ử ụ ể ổ TLS   và   S/MIME   và   chúng   cũng   đ c   s   d ng   đ   b   sung   cho   SSH,

ẩ ậ OpenPGP và các chu n m t mã khác

ổ 1.2.3.2.T ng quan ư ệ

ư ệ ộ ố ổ ồ Th  vi n libcrypto bao g m m t s  các th  vi n con b  sung cho các

ậ ẻ thu t toán riêng l

ậ ồ ố ứ Tính năng này  bao g m mã hoá đ i x ng, m t mã khoá công khai và s ự

ứ ử ậ ả ẫ ậ ạ ố ỉ tho  thu n khoá, x  lý ch ng ch , hàm hash m t mã và t o ra s  ng u nhiên

gi l pả ậ

ộ ụ

1.2.4. B  công c  OpenSSL ụ ộ ồ B  công c  OpenSSL bao g m

ự ượ ­libssl.a: Xây d ng trên SSLv2 và SSLv3 và các code đ ầ c  yêu c u trên

ộ ả c  SSLv2 và SSLv3 và TLSv1 trong m t server và client

ư ệ ư ệ ­libcrypto.a : Th  vi n mã hóa chung. Trong th  vi n này thông th ườ   ng

bao g mồ

ậ +M t mã

ế ộ ế ư ệ ể ủ ủ ồ libdes: Th  vi n c a des. Bao g m 15 ch  đ /bi n th  c a DES (các

ế ộ ủ ả phiên b n khóa 1,2 và 3 c a các ch  đ  ecb, cgc, cfb và ofb)

Mã hóa RC4

90

ế ộ Mã hóa RC2: Có 4 ch  đ  khác nhau là ecb, cbc, cfb và ofb

ế ộ Mã hóa Blowfish: Có 4 ch  đ  khác nhau là ecb, cbc, cfb và ofb

ế ộ Mã hóa IDEA: Có 4 ch  đ  khác nhau là ecb,cbc,cfb và ofb

ượ +Tóm l c thông báo

ậ ượ ậ Các thu t toán tóm l c thông báo MD5 và MD2, SHA và thu t toán

ượ tóm l c thông báo SHA­1

ượ Tóm l c thông báo MDC2.

+ Khóa công khai

ạ ả T o/mã hóa/gi i mã RSA

Không có gi ớ ạ ố ượ i h n s  l ng bit

ả ạ T o/gi i mã/mã hóa DSA

Không có gi ớ ạ ố ượ i h n s  l ng bit

ạ ổ T o/trao đ i khóa Diffie­Hellman

ớ ạ ề ố ượ Không có gi i h n v  s  l ng bit

ứ ỉ + Ch ng ch  X.509v3

ả ứ ừ ị Mã hóa/gi ỉ i mã ch ng ch  X.509 thành/t ự    ASN1 nh  phân và PEM d a

ỗ ợ ằ ộ ị trên mã hóa  nh  phân ASCII h  tr  mã hóa b ng m t khóa riêng. Ch

ể ạ ể ạ ứ ứ ầ ỉ trình đ  t o ra các yêu c u ch ng ch  RSA và DSA và đ  t o ra ch ng ch ươ   ng ỉ

RSA và DSA

1.3.Mod_ssl

91

ạ ủ ế ợ ủ Mod_ssl” k t h p tính linh ho tt c a Apache và tính an toàn c a openssl

ấ ậ ấ ạ Mod_ssl cung c p tính năng m t mã r t m nh cho Apache 1.3 thông qua

ở ự ỡ ủ ứ ồ ộ hai giao th c SSL và TLS b i s  giúp đ  c a b  OpenSSL và ngu n m ở

ự ừ SSL/TLS, d a trên SSLeay t Eric A.Young và Tim J.Hudson

ượ ạ ở Gói mod_ssl đ c t o ra vào tháng 4/1998 b i Ralf S. Engelschall và

ượ ượ ể ử ụ ự ể ở ầ đ u tiên đ c đ c phát tri n b i  Ben Laurie  đ  s  d ng trong d   án

Apache­SSL HTTP server

ổ ậ ể 1.3.1.Các đi m n i b t

ổ ậ ủ ể ặ Các đ c đi m n i b t c a mod_ssl

ề ầ ồ ở Là ph n m m mã ngu n m

ượ ươ ạ ươ ể ử ụ Có th  s  d ng đ ả ụ c cho c  m c đích th ng m i và phi th ạ ng m i

ạ Tính năng mã hoá m nh  trên toàn th  gi ế ớ i

ỗ ợ ứ H  tr  các giao th c SSLv2 và SSLv3 và TLSv1

ỗ ợ ả H  tr  cho c  phép mã hoá RSA và Diffie­Hellman

ỗ ợ ầ ủ H  tr  đ y đ  DSO

ỗ ợ H  tr  cho OpenSSL và RSArefUS

ố ớ ụ ử ả ậ ẩ Nâng cao kh  năng x  lý c m m t kh u đ i v i khoá riêng

ự ự ứ ả ỉ Ch ng ch  X.509 d a vào xác th c cho c  phía client và server

ỗ ợ ứ ồ ỉ H  tr  danh sách thu h i ch ng ch  X.509

ỗ ợ ủ ề ả ỗ ỉ ố ắ   ố ớ H  tr  kh  năng tái đi u ch nh đ i v i m i URL c a các tham s  b t

tay SSL

ự ứ ể ổ ươ ệ ể ậ B  sung bi u th c Boolean d a trên ph ng ti n ki m soát truy c p

92

ụ ứ ả ơ ế ự ố ớ Các  ng d ng đ n gi n và thi t th c đ i v i Apache

ơ ế ấ ầ ủ ợ Tích h p đ y đ  trong các c  ch  c u hình Apache 1.3

ể ự ấ ự ệ ợ ổ B  sung s  tích h p trong giao di n ki u t ủ  c u hình c a Apache

ỗ ợ ự ạ ứ ả ỉ H  tr  s  t o ch ng ch  X.509v3 (c  RSA và DSA)

ế 1.3.2.Ki n trúc gói mod_ssl

ồ ộ ổ ồ Gói mod_ssl bao g m module SSL và b  ngu n Apache có b  sung API

ể ử ụ ế ể ở ộ ề ệ m  r ng (EAPI) .Đây là đi u ki n tiên quy t đ  có th  s  d ng mod_ssl.

ể ử ụ ầ ố ỉ

ở ộ ư ứ ở Hay nói cách khác, chúng ta ch  có th  s  d ng mod_ssl khi ph n c t lõi   ụ   ủ c a Apache có ch a API m  r ng. Nh ng b i vì khi chúng ta áp d ng

ở ộ ầ mod_ssl cho source Apache, ph n API m  r ng cũng đ ượ ự ộ c t đ ng thêm

vào.

1.3.3.Giao th c SSL  ứ ầ ượ ể ở Giao th c SSL ban  đ u  đ c  phát tri n b i Netscape, SSL  đã  đ ượ   c

ậ ộ ế ớ ể ế ố ự ấ ch p nh n r ng rãi trên toàn th  gi ạ ậ i đ  xác th c và t o l p k t n i mã hóa

93

ữ gi a client và server

ứ ứ ạ ướ ứ Giao th c SSL ch y trên giao th c TCP/IP và d ứ ứ   i giao th c m c  ng

ư ủ ỗ ợ ộ

ỗ ợ ự ớ ự   ụ d ng nh  HTTP, IMAP . Nó cho phép m t máy ch  h  tr  SSL xác th c ớ   chính nó v i máy client h  tr  SSL, cho phép client xác th c chính nó v i

ủ ả ế ậ máy ch , và cho phép c  hai máy thi ộ ế ố t l p m t k t n i mã hóa

ỗ ợ ử ụ ứ ề ậ ấ ậ Giao th c SSL h  tr s  d ng r t nhi u các thu t toán m t mã khác

ể ử ụ ạ ộ ự ự ư

ế ậ ứ ề ỉ nhau, đ  s  d ng trong các ho t đ ng nh  xác th c server, xác th c client,   ể ỗ ợ t l p các khóa phiên. Client và server có th  h  tr truy n ch ng ch  và thi

ụ ộ ộ ố ư ả các b  mã hóa khác nhau, ph  thu c vào các nhân t nh  phiên b n SSL mà

ỗ ợ chúng h  tr , chính sách công ty…

ỗ ợ ứ ậ ậ ồ Các thu t toán m t mã mà giao th c SSl h  tr  bao g m :

DES : Data Encryption Standard

DSA: Digital Signature Algorithm

KEA: Key Exchange Algorithm

MD5: Message Digest Algorithm

RC2 & RC4:Rivest encryption ciphers

RSA:

SHA­1:Secure Hash Algorithm

Triple­DES

ự Xác th c server

ứ ượ ứ ứ ầ ữ ạ ặ Giao th c SSL là giao th c đ c đ t gi a giao th c t ng m ng h ướ   ng

ướ ế ố ứ ầ ụ ụ ứ ụ ớ h ng k t n i (ví d  TCP/IP) v i giao th c t ng  ng d ng (ví d  HTTP) .

ế ố ữ ấ ằ SSL cung c p tính năng k t n i an toàn gi a client và server b ng các cho

ố ể ả ự ẫ ử ụ ẹ ả ữ phép xác th c l n nhau, s  d ng ch  ký s  đ  đ m b o tính toàn v n, và

94

ể ả ả ậ mã hoá đ  đ m b o tính bí m t

ượ ế ế ể ỗ ợ ậ ứ Giao th c này đ c thi t k  đ  h  tr  các thu t toán c  th  đ ụ ể ượ ử c s

ượ ố ậ ụ d ng cho m t mã, tóm l ữ c, và ch  ký s .

1.4. OpenLDAP ể

ệ ệ ố ề ố ự ớ Hi n nay, đ  xây d ng các h  th ng l n, đi u t ả   ọ i quan tr ng là ph i

ữ ệ ể ừ ể ợ ể ữ làm cách nào có th  tích h p d  li u đ  t

ả ủ ợ ườ ử ụ ệ ố h  th ng khác nhau. Trong đó, tích h p tài kho n c a ng đó có th  dùng chung gi a các   ấ   i s  d ng là v n

ế ề ầ đ  c n thi t

ữ ấ ố nh t trong nh ng cái “t ọ i quan tr ng” trên

ộ ệ ố ả ớ ỗ M t h  th ng v i kho ng 5 ­ 6 module khác nhau, m i module l ạ ượ   c i đ

ế ế ộ ề ả ườ thi t k  trên m t n n t ng khác nhau ( có ng i dùngOracle + AS Portal,

ặ ặ ặ ớ ớ

ộ ệ ố ườ ầ ậ ho c     DB2   v i   WebSphere,   ho c   MySQL   v i   phpnuke,   ho c   Wíndow,   ớ   i dùng khác nhau. V y thì v i Linux, ), do đó c n có m t h  th ng ng

ỗ ườ ử ụ ậ ả ầ ộ ộ m i module, ng ẩ   i s  d ng c n ph i có m t User Name, m t m t kh u

ấ ệ ề ề khác nhau, đó là đi u gây nhi u b t ti n và khó khăn

ể ợ ượ ườ ệ ố ữ ể Làm cách nào đ  có th  tích h p đ c ng i dùng gi a các h  th ng trên?

95

ả ờ Câu tr  l i đó là LDAP

ứ ậ LDAP (Lightweight Directory Access Protocol )­ giao th c truy c p nhanh

ị ụ ư ụ các d ch v  th  m c

ư ụ ứ ạ ậ ộ ­LÀ m t giao th c tìm, truy c p các thông tin d ng th  m c trên server

ứ ạ ể ậ ị ụ ư ụ ­Nó là giao th c d ng Client/Server dùng đ  truy nh p d ch v  th  m c

ụ ướ ạ ặ ị ­LDAP ch y trên TCP/IP ho c các d ch v  h ế ố ng k t n i khác.

ủ ể ặ ấ ộ ị ­Là m t mô hình thông tin cho phép xác đ nh c u trúc và đ c đi m c a

ư ụ thông tin trong th  m c

ộ ị ượ ­Là m t không gian tên cho phép xác đ nh cách các thông tin đ c tham

ế chi u và t ổ ứ  ch c

ế ộ ị ổ ­M t mô hình các thao tác cho phép xác đ nh các tham chi u và phân b

ữ ệ d  li u

ở ộ ứ ộ ­Là m t giao th c m  r ng

ở ộ ộ ­ Là m t mô hình thông tin m  r ng

Ở ể ầ ầ ừ ư ụ ư đây chúng ta c n tránh hi u nh m t "th  m c" nh  trên Windows là

ư ụ ệ ố ẹ ể ệ ả folder hay directory, đó là th  m c theo nghĩa h p đ  qu n lý h  th ng t p

ừ ư ụ ấ ơ ộ tin. T  th  m c trong LDAP mang ý nghĩa r ng h n, nó bao hàm các c u

ữ ệ ạ ệ ư ụ ụ ụ ộ ừ ủ trúc d  li u d ng li t kê theo th  m c (hay m c l c) ­ m t "t khoá" c a

ế ữ ệ ứ ắ ư ệ ể ệ ằ ấ ỉ ấ dân th  vi n nh m ám ch  cách th c s p x p d  li u đ  ti n truy xu t nh t

ộ ổ ườ M t cách t ng quát mà nói, LDAP th ng phân chia theo O (Organisation ­

ể ộ ổ ứ t ch c) và các OU (Organisation Unit ­ phân b ). Trong các OU có th  có

ữ ữ nh ng OU con và trong các OU có các CN (Common Name), nh ng nhóm

ườ ượ ọ ọ ị giá tr  này th ng đ c g i là DN (Distinguished Name ­ tên g i phân bi ệ   t).

ộ ạ ị ứ ỗ ị ườ ượ ọ M i giá tr  ch a trong LDAP thu c d ng tên:giá tr , th ng đ c g i là

ỗ ượ ư ộ ệ ậ LDAP Attribute (vi ế ắ t t t là attr, m i attr đ c nh n di n nh  m t LDAP

96

Object

ứ ụ ể ẩ ấ ố ữ LDAP có tiêu chu n th ng nh t gi a các  ng d ng phát tri n LDAP.

ượ ư Đây là lý do LDAP đ ộ c  a chu ng cho

ụ ư ụ ấ ủ ả ộ ầ ủ ị B n ch t c a LDAP là m t ph n c a d ch v  th  m c X.500. LDAP

ấ ượ ự ế ế ư ộ ư ứ th c ch t đ c thi ẹ t k  nh  m t giao th c nh  nhàng, dùng nh  gateway

ả ờ ữ tr  l ầ ủ i nh ng yêu c u c a X.500 server

ự ế ộ ậ ẩ ượ ế ư X.500 th c  t là m t t p các chu n. X500 đ c  bi ộ   t nh  là m t

ạ ớ ử ụ ầ heavyweight. Nó yêu c u client và server liên l c v i nhau s  d ng theo mô

ủ ầ ẩ ợ ộ

ế ế ớ ư ứ ạ ẩ ớ hình OSI . Mô hình 7 t ng c a OSI là m t mô hình chu n phù h p trong   ở t k  v i giao th c m ng, nh ng khi so sánh v i chu n TCP/IP thì nó tr thi

nên không còn h p lýợ

ứ ụ ấ ậ ơ ọ

97

ộ ệ ố ườ ấ ườ ậ ộ LDAP đóng vai trò r t quan tr ng trong  ng d ng truy nh p đ n. Có   ậ   ể i  y có th  truy c p i đăng nh p vào m t h  th ng, ng nghĩa là m t ng

ớ ủ ị ự ạ ụ ầ ả t i các máy ch , d ch v , tài nguyên mà không c n ph i xác th c l i. Ngoài

ượ ạ ặ ệ ế ở ộ ra, LDAP đ c t o ra đ c bi ự   ọ t cho hành đ ng “đ c”. B i th , xác th c

ườ ằ ươ ệ ệ ấ ố ng i dùng b ng ph ng ti n “look up” LDAP nhanh, hi u su t, ít t n tài

ả ấ ả ơ ơ ườ ơ ở ữ ệ nguyên,đ n gi n h n là 1 truy v n tài kho n ng i dùng trên c  s  d  li u

ộ ự ỗ ự ự ể ằ ợ ộ D  án OpenLDAP là m t s  n  l c h p tác nh m phát tri n b  mã

ể ượ ụ ứ ủ ở ồ ụ ngu n m  LDAP c a các  ng d ng và các công c  phát tri n đ ợ   c tích h p

ầ ủ đ y đ  các tính năng và

ự ượ ở ộ ữ ả ồ ườ ệ D  án đ c qu n lý b i c ng đ ng nh ng ng i tình nguy n trên th ế

ớ ườ ử ụ ể ể ộ gi ữ i,   nh ng   ng ề   i   s   d ng   Internet   đ   truy n   thông,   phát   tri n   b   mã

ồ ở ngu n m  LDAP

ổ ậ ể ặ OpenLDAP 2.0 có các đ c đi m n i b t sau

ỗ ợ ỗ ợ ớ ự H  tr LDAPv3: OpenLDAP 2.0 h  tr ơ    l p an toàn và xác th c đ n

(Simple Authentication and Sercurity Layer­SASL), TSL và SSL

ỗ ợ ủ ứ ỗ ợ ế ệ ế H  tr  IPv6: OpenLDAP h  tr  th  h  ti p theo c a giao th c IPv6

ệ ố ề ử ụ   ể LDAP trên IPC: OpenLDAP có th  truy n tin trong h  th ng s  d ng

ề ẽ ườ IPC (interprocess communication). Đi u nay s  làm tăng c ng tính năng an

ừ ề ằ ạ ầ toàn b ng cách ngăn ng a các yêu c u truy n thông thông qua m ng

ệ ả ậ ậ ườ ậ ể ế ố C p nh t C API: C i thi n cách ng i l p trình có th  k t n i và s ử

ủ ư ụ ụ d ng các máy ch  th  m c LDAP

ậ ệ ố ủ ậ ố ể   C ng c  cho server Stand­alone LDAP: Bao C p nh t h  th ng ki m

soát truy c p ậ

ộ ư ệ ụ ủ ượ B  th  vi n và công c  c a OpenLDAp đ c chia thành các gói sau

ư ứ ệ ầ ế ể ậ +openldap­   Ch c   các   th   vi n   c n   thi t   đ   v n   hành   máy   ch ủ

98

ụ ứ openLDAp và các  ng d ng client

ụ ứ ệ ể ề ỉ +openlda­clients: Ch c các công c  dòng l nh đ  xem xét và đi u ch nh

ư ụ các th  m c trong LDAP server

ệ ầ ế ể ấ ậ ứ +openldap­servers: Ch a các ti n ích c n thi t đ  c u hình và v n hành

ủ máy ch  LDAP

1.5. Các module perl

Table 3.1. External Perl modules

Module Version Comment

ầ ượ ự

ạ ể ử ụ Authen::SASL 2.04

Đ c yêu c u b i Net::LDAP đ  xác th c SASL authentication ­N u b n không s  d ng SASL thì ạ b n không c n t

ượ ầ

CGI::Session Convert::ASN1 3.95 0.18 ở ế ầ ớ i nó ệ ể ử Đ c yêu c u đ  x  lý phiên làm vi c ???

ượ ầ Digest::HMAC 1.01 ở Đ c yêu c u b i  Authen::SASL

ầ ủ Digest::MD5 2.24

Là thành ph n c a Perl ầ ượ Digest::SHA1 2.02

ở Đ c yêu c u b i chính  OpenCA  ở ầ ườ i dùng Encode::Unicode ??? ượ Đ c yêu c u b i OpenCA dành cho ng ướ n c ngoài

IO::Socket::SSL 0.92 ???

IO::stringy 2.108 ???

ượ ầ ả MIME::Base64 2.20 Đ c yêu c u cho mã hoá và g ii mã Base64

ượ ầ MIME::Lite 3.01

ể ử Đ c yêu c u đ  x  lý mail OpenCA ể ử ượ ầ MIME­tools 5.411 Đ c yêu c u đ  x  lý mail OpenCA

ượ ầ MailTools 1.58 ể ử Đ c yêu c u đ  x  lý mail OpenCA

ầ ượ Net­Server 0.86 ấ ọ

ả   Đ c yêu c u cho OpenCA daemon­ Phiên b n này r t quan tr ng ở ượ ầ Parse::RecDescent 1.94 Đ c yêu c u b i  X500::DN

URI 1.23 ???

ử ụ ả ượ ỉ c ch nh s a ử ở X500::DN 0.28 Chúng tôi s  d ng phiên b n đ đây

ượ ử ụ Đ c s  d ng cho XML Parsing XML::Twig 3.09

99

ệ libintl­perl 1.10 Đây là giao di n cho nhân viên i18n

ệ ủ Module Perl­ldap Version Comment 0.28 Giao di n LDAP c a Perl

2.Các chuẩn mật mã ậ ẩ ệ

ơ ả ề ị ữ ể ẩ ạ ấ ị PKCS là chu n m t mã khoá công khai do phòng thí nghi m RSA phát   ữ tri n. Chu n PKCS cung c p nh ng đ nh nghĩa c  b n v  đ nh d ng d

ể ể ệ ậ ề ả li u và thu t toán n n t ng đ  tri n khai PKI

ậ ẩ PKCS#1(Encryption Standard) : Chu n m t mã RSA

ẩ ượ ế ẩ PKCS#2: Chu n này đ c liên k t thành chu n PKCS#1

ẩ ổ              PKCS#3 (Diffie­Hellman Key Agreement Standard): Chu n trao  đ i

ả ươ ự ệ ổ khóa Diffie­Hellman. Miêu t ph ng pháp th c hi n trao đ i khoá Diffie­

Hellman

ẩ ượ ế ẩ PKCS#4: Chu n này đ c liên k t thành chu n PKCS#1

ẩ ữ ệ   PKCS#5 (Password­based Encryption Standard): Chu n mã hoá d  li u

ẩ ả ươ ạ ự d a vào password. Chu n này mô t ph ng pháp mã d ng xâu bát phân s ử

ậ ượ ừ ể ượ ụ d ng khoá bí m t đ c tính t password đ  sinh ra xâu bát phân đ c mã

ể ượ ử ụ ệ ể ề   c s  d ng đ  mã hoá khoá riêng trong vi c truy n

hoá. PKCS#5 có th  đ khoá bí m tậ

ẩ ứ   PKCS#6 (Extended Certificate Syntax Standard): Chu n cú pháp ch ng

ỉ ở ộ ở ộ ứ ẩ ỉ ị ch  m  r ng. Chu n này đ nh nghĩa cú pháp ch ng ch  X.509 m  r ng

ẩ PKCS#7   (Cryptographic   Message   Syntax   Standard):   Chu n   cú   pháp

ể ữ ệ ậ ẩ ổ ị ượ thông báo m t mã. Chu n này xác đ nh cú pháp t ng th  d  li u đ c mã

ộ ố ự ữ ư ụ ấ ố ọ ị ạ   hoá ví d  nh  ch  ký s . PKCS#7 cung c p m t s  l a ch n đ nh d ng

ư ặ ố ượ thông báo nh  thông báo không mã hoá ho c ký s , thông báo đ c mã hoá,

100

ượ ả ố ố thông báo đ c ký s  và thông báo có c  ký s  và mã hoá

ẩ PKCS#8   (Private   Key   Information   Syntax   Standard):   Chu n   cú   pháp

ẩ ị thông tin riêng. Chu n này đ nh nghĩa cú pháp thông tin khoá riêng và cú

ượ pháp khoá riêng đ c mã hóa

ữ ạ ộ PKCS#9   (Selected   Attribute   Types):Nh ng   lo i   thu c   tính   đ

ữ ẩ ạ ọ ộ ị ượ ự ch n. Chu n này đ nh nghĩa nh ng lo i thu c tính đ ượ ự   c   l a ọ ử ụ   c l a ch n s  d ng

ỉ ở ộ ứ ệ ố trong ch ng ch  m  r ng PKCS#6, thông đi p ký s  PKCS#7, thông tin

ữ ầ ộ ỉ ứ khoá   riêng   PKCS#8   và   yêu   c u   ch ng   ch   PKCS#10.   Nh ng   thu c   tính

ứ ỉ ượ ạ ộ ỉ ư ả ở ồ ị ch ng ch  đ ỉ c ch  rõ

ượ ữ ậ ẩ ầ ờ ộ đây g m có đ a ch  th  , lo i n i dung, b n tóm   ứ   c thông báo, th i gian ký, m t kh u yêu c u và nh ng thu c tính ch ng l

ỉ ở ộ ch  m  r ng

ẩ PKCS#10 (Certification Request Syntax Standard): Chu n cú pháp yêu

ứ ứ ầ ỉ ị ỉ

ỉ ồ ứ ệ ậ ộ ầ   ầ c u ch ng ch . PKCS#10 đ nh nghĩa cú pháp yêu c u ch ng ch . Yêu c u ỳ t, khoá công khai và t p các thu c tính tu ch ng ch  g m có tên phân bi

ứ ữ ủ ự ể ầ ọ ỉ ch n, ch  ký c a th c th  yêu c u ch ng ch

ệ ẩ PKCS#11(Cryptographic Token Interface Standard): Chu n giao di n th ẻ

ệ ậ ứ ụ ậ ẩ ị bài m t mã. Chu n này xác đ nh giao di n l p trình  ng d ng (API) cho

ự ứ ứ ệ thi ế ị ườ t b  ng i dùng ch a thông tin mã hoá và th c hi n ch c năng mã hoá.

ạ ổ ị PKCS#12 (Personal Information Exchange Syntax Standard): Chu n cú   ậ   ẩ pháp trao đ i thông tin cá nhân. Chu n này đ nh nghĩa d ng thông tin nh n

ệ ậ ặ ồ ỉ

ở ộ ứ ệ ề ẩ ỉ ứ di n cá nhân bao g m khoá riêng, ch ng ch , bí m t đ c tính khác nhau và   ậ   m  r ng. Chu n PKCS#12 làm cho vi c truy n ch ng ch  và khóa bí m t

ượ ậ ườ ử ụ ể ắ g n kèm đ ệ c thu n ti n, giúp ng ể i s  d ng có th  chuy n thông tin

ệ ậ ừ ế ị ế ị nh n di n cá nhân t thi t b  này sang thi t b  khác

ẩ PKCS#13   (Elliptic   Curve   Cryptography   Standard):   Chu n   mã   đ ườ   ng

ệ ạ ố ườ ồ cong Elliptic. PKCS#13 bao g m vi c t o tham s  đ ng cong Elliptic và

ệ ự ạ ữ ể ậ ố ị ki m tra hi u l c, t o khoá và công nh n giá tr , ch  ký s  và mã hoá khoá

101

ả ậ ư công khai cũng nh  tho  thu n khoá

PKCS#14 (Pseudo­Random Number Generation Standard): Chu n t o s ẩ ạ ố

ả ẫ ượ ử ụ ơ ả ề ậ gi ng u nhiên. Nhi u hàm m t mã c  b n đ c s  d ng trong PKI nh

ữ ệ ử ụ ậ ả ậ ư  ẫ   ạ t o khoá và tho  thu n khoá bí m t Diffie­Hellman s  d ng d  li u ng u

ữ ệ ế ẫ ạ ẫ nhiên. Tuy nhiên, n u d  li u ng u nhiên l i không ng u nhiên mà đ

ọ ừ ậ ể ị ượ ậ ả ch n t t p giá tr  có th  tiên đoán đ ượ   c ậ   c thì hàm m t mã không b o m t

ượ ạ ố ả ủ ầ ề ố ẫ đ c đ y đ . Do đó t o s  gi ng u nhiên an toàn là đi u t ọ   i quan tr ng

ậ ả trong b o m t PKI

102

ẻ ẩ ẫ ậ PKCS#15: Chu n m u thông tin th  bài m t mã