intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 4 " Hàm băm và các kỹ thuật xác thực thông tin"

Chia sẻ: Nguyễn Thị Phương Phương | Ngày: | Loại File: PDF | Số trang:21

137
lượt xem
47
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Nguyên tắc mật mã là chỉ có những đối tượng hợp lệ mới khôi phục được thông tin gốc từ thông tin mật, nếu sử dụng khóa đối xứng muốn gửi từ bên A sang bên B thì phải mã hóa mật mã bất đối xứng.

Chủ đề:
Lưu

Nội dung Text: Chương 4 " Hàm băm và các kỹ thuật xác thực thông tin"

  1. CHƯƠNG 4 HÀM BĂM VÀ CÁC K THU T XÁC TH C THÔNG TIN I-XÁC TH C THÔNG TIN I.1-Yêu c u xác th c thông tin Các nguy cơ b o m t i v i thông tin trao i trên m ng bao g m: • Ti t l thông tin (Disclosure): Hacker c ư c thông tin mà không c n có khóa gi i mã. • Phân tích lưu lư ng m ng (Traffic analysis): phân tích các gói d li u trên m ng tìm d u v t c a thông tin. • Gi m o thông tin (Masquerade): Chèn thông tin gi m o vào lu ng thông tin ang trao i. • Thay i n i dung thông tin (Content modification): Thêm ho c s a, xóa thông tin ang trao i. • Thay i th t (Sequence modification): Làm thay i th t các gói d li u ang trao i b ng cách xóa b , chèn thêm, lưu và phát l i... • Thay i th i gian (Timing modification): làm trì hoãn vi c truy n thông tin trên m ng • T ch i ngu n g c (Source repudiation): T ch i ngu n g c c a thông tin. • T ch i nh n (Destination repudiation): T ch i vi c ch p nh n thông tin phía nh n. Trong 8 nguy cơ trên, thì hai nguy cơ u tiên tác ng n tính b o m t c a thông tin, ư c gi i quy t b ng các thu t toán m t mã. Các nguy cơ t 3 n 6 tác ng n s toàn v n v n i dung thông tin, ư c gi i quy t b ng các th t c xác th c thông tin. Và cu i cùng, hai nguy cơ còn l i tác ng n s toàn v n v ngu n g c thông tin, ư c kh c ph c b i b ng cách dùng ch ký s và các giao th c chuyên d ng khác. Như v y, xác th c thông tin (message authentication) là cơ ch m b o thông tin truy n i gi a các th c th (thư ng thông qua h th ng m ng) không b gi m o, thay i n i dung, th t và th i gian truy n có ý nghĩa. C n phân bi t hai m c xác th c thông tin: • Xác th c thông tin m c th p: dùng các cơ ch như mã hóa, hàm băm, ch ký s xác th c n i dung và ngu n g c c a t ng b n tin (message) riêng l . • Xác th c thông tin m c cao: d a trên cơ s xác th c m c th p xây d ng các giao th c xác th c ph c t p (ví d như Kerberos và m t s giao th c xác th c khác). Ph n này ch c p n các cơ ch xác th c m c th p, v i hai k thu t cơ b n là hàm băm và ch ký s . I.2- Các k thu t xác th c thông tin 1
  2. I.2.1-Dùng các thu t tóan m t mã: Nguyên t c c a m t mã là ch có nh ng i tư ng h p l m i khôi ph c ư c thông tin g c t thông tin m t. N u dùng m t mã i x ng, khi bên A mu n g i thông tin M cho bên B, thì A ph i th c hi n mã hóa M b ng khóa bí m t K dùng chung gi a A và B t o ra thông tin m t C. Bên B khi nh n ư c thông tin C s dùng khóa K gi i mã. N u k t qu gi i mã là úng, thì có th kh ng nh r ng thông tin nh n ư c là do A g i và không b thay i trong quá trình truy n d a trên lý lu n: ch có A và B có khóa K nên không có thành ph n th 3 nào có th gi m o ư c thông tin m t C, do ó không th thay i thông tin g c M thành M’ t o ra thông tin m t C’ h p l . Tuy nhiên, v n là làm th nào xác nh k t qu gi i mã là “ úng”? Thông thư ng, i u này ch làm ư c khi bên B bi t trư c c u trư c c u trúc thông tin mà A s g i cho mình. N u có m t s thay i tùy ý nào ó i v i thông tin C, thì k t qu gi i mã s không còn úng như c u trúc ban u. M t ví d i n hình là thông tin g c là m t o n văn b n ư c vi t theo cú pháp và t v ng c a m t ngôn ng t nhiên nào ó (ti ng Anh hay Vi t). Trong th c t , có th k t h p gi a k thu t mã hóa và các k thu t ki m tra sai (Frame Check Sequence) m c th p th c hi n ch c năng xác th c. N u dùng m t mã b t i x ng, thì bên A trư c khi g i thông tin c n ph i mã hóa M b ng khóa riêng (PR) c a chính mình. phía nh n, B cũng s th c hi n gi i mã thông tin b ng khóa công khai c a A. Cơ ch xác th c này cũng d a trên nguyên t c là bên B bi t trư c c u trúc thông tin M, có th xác nh k t qu mã hóa là úng hay không úng. ng th i gi thi t r ng khóa PR c a bên A hoàn toàn không b ti t l . Như v y, cơ ch xác th c thông tin dùng m t mã d a trên các gi thi t cơ s sau ây: • Khóa bí m t (ho c khóa riêng) hoàn toàn không b ti t l cho m t bên th 3. • Phía nh n thông tin ph i bi t trư c c u trúc c a thông tin g c. 2
  3. Nơi g i thông tin Nơi nh n thông tin C a- Dùng m t mã i x ng C b- Dùng m t mã b t i x ng M: thông tin g c E: thu t tóan m t mã D: Thu t tóan gi i mã C: Thông tin m t K: Khóa bí m t dùng chung gi a bên g i và bên nh n PRa: Khóa bí m t c a bên g i. PUa: Khóa công khai c a bên g i Hình 2.24: Xác th c thông tin dùng m t mã I.2.2-Dùng mã xác th c: Mã xác th c MAC (Message Authentication Code) ư c sinh ra t t h p g m m t kh i thông tin g c có dài b t kỳ và m t khóa bí m t theo m t thu t toán bi n i C nh trư c. Kích thư c c a MAC là c nh, không ph thu c vào kích thư c c a kh i d li u g c và thư ng nh hơn d li u g c. Phía g i thông tin s g i kèm giá tr MAC i cùng v i thông tin g c. Phía nh n sau khi nh n ư c thông tin g c cùng v i giá tr MAC g i kèm s th c hi n thao tác t o ra giá tr MAC m i t thông tin g c cùng v i khóa bí m t ã th ng nh t gi a hai bên. N u giá tr MAC v a t o ra gi ng v i giá tr MAC nh n ư c t phía g i, phía nh n có th ch c ch n r ng thông tin g c không b thay i trong quá trình truy n (hình 2.25). Vi c dùng MAC xác th c thông tin d a vào các gi thi t cơ s : • ng v i m t kh i thông tin g c M và m t khóa bí m t K, hàm C ch t o ra duy nh t m t mã xác th c MAC. • Ch có phía g i và phía nh n h p l m i ư c bi t khóa K. 3
  4. • Mã xác th c MAC ư c truy n t bên g i n bên nh n m t cách chính xác. Nơi g i thông tin Nơi nh n thông tin So sánh Mã xác th c (MAC) M: thông tin g c C: Hàm t o mã xác th c K: Khóa bí m t dùng chung gi a bên g i và bên nh n | |: N i mã xác th c vào thông tin g c Hình 2.25: Xác th c thông tin dùng MAC Có hai k thu t t o ra mã xác th c MAC: k thu t th nh t dùng cơ ch m t mã kh i (Cipher Block Chaining)* và ư c g i là CMAC hay CBC-MAC. K thu t th hai d a trên các hàm băm b o m t và ư c g i là HMAC. Mã xác th c MAC ư c ng d ng trong các trư ng h p thông tin ch yêu c u mb o tính xác th c mà không c n m b o tính bí m t. I.2.3-Dùng các hàm băm b o m t: Hàm băm b o m t (secure hash function) là m t trong nh ng k thu t mã hóa ư c dùng ph bi n trong các ng d ng xác th c thông tin. Gi ng như mã xác th c MAC, hàm băm cũng x lý kh i thông tin g c có dài b t kỳ theo m t thu t toán bi n i H xác nh trư c. K t qu c a thu t toán bi n i H là m t kh i thông tin ng n có dài c nh g i là mã băm (hash code ho c message digest). Tuy nhiên, khác v i MAC, hàm băm ch d a vào thông tin g c t o ra mã băm mà không dùng thêm b t kỳ khóa bí m t nào. Do v y, có th s d ng như m t cơ ch xác th c thông tin, hàm băm ph i ư c dùng kèm v i m t thu t tóan m t mã nào ó ( i x ng ho c b t i x ng) nh m ích b o v giúp mã băm không b thay i. Hình 2.26 trình bày m t ng d ng i n hình c a hàm băm trong xác th c thông tin. Theo cơ ch này, mã băm sau khi ư c t o ra s ư c mã hóa b ng m t thu t tóan m t mã i x ng v i khóa bí m t K ch có bên g i và bên nh n bi t. an mã băm ã ư c m t mã hóa ư c g i i kèm v i thông tin g c và quá trình ki m tra phía nh n cũng ư c ti n hành theo trình t ngư c l i, t c là gi i mã an mã băm b ng khóa bí m t, sau ó t o ra mã băm m i t thông tin g c và so sánh hai an mã băm. Có nhi u cách áp d ng k t h p các thu t tóan m t mã vào hàm băm xác th c thông tin: * Xem l i các ch th c hi n mã kh i ph n M t mã i x ng 4
  5. • Dùng mã i x ng mã hóa mã băm r i g i kèm v i thông tin g c. • Dùng mã b t i x ng mã hóa mã băm r i g i kèm v i thông tin g c. • Dùng mã i x ng mã hóa t h p thông tin g c cùng v i mã băm. • Dùng mã b t i x ng mã hóa t h p thông tin g c cùng v i mã băm. Trong các trư ng h p dùng mã b t i x ng, thì bên g i s mã hóa thông tin g c ho c mã băm dùng khóa công khai c a bên nh n. Nơi g i thông tin Nơi nh n thông tin So sánh Mã băm đã đư c mã hóa M: thông tin g c H: hàm băm E: thu t tóan mã hóa D: thu t tóan gi i mã K: khóa bí m t dùng chung gi a phía g i và phía nh n. | |: n i mã băm ã ư c mã hóa vào thông tin g c Hình 2.26: Xác th c thông tin dùng hàm băm II- CÁC HÀM BĂM B O M T II.1- T ng quan v hàm băm II.1.1- Cơ ch c a hàm băm: Nguyên t c c a hàm băm là bi n i kh i thông tin g c có dài b t kỳ thành m t o n thông tin có dài c nh g i là mã băm (hash code hay message digest). Mã băm ư c dùng ki m tra tính chính xác c a thông tin nh n ư c. M t hàm băm H áp d ng cho kh i thông tin M t o ra k t qu m, trong tài li u này, ư c ký hi u là H(M) = m. Thông thư ng, mã băm ư c g i kèm v i thông tin g c, cùng v i m t cơ ch b o v nào ó giúp mã băm không b thay i ho c tính l i. phía nh n, hàm băm l i ư c áp d ng i v i thông tin g c tìm ra mã băm m i, giá tr này ư c so sánh v i mã băm i kèm v i thông tin g c. N u hai mã băm gi ng nhau, nghĩa là thông tin g i i không b thay i. Ch có th dùng hàm băm t o ra mã băm t thông tin g c ch không th ph c h i ư c thông tin g c t mã băm. Do c tính này, các hàm băm b o m t cũng còn ư c g i là hàm băm m t chi u (one way hash funtion). Hình 2.27 mô t m t ng d ng xác th c thông tin ơn gi n dùng hàm băm. 5
  6. Thông tin g c Thông tin g c Thông tin g c H So sánh H : Mã băm H : Hàm băm Hình 2.27: M t ng d ng i n hình c a hàm băm II.1.2- Các yêu c u và thu c tính c a hàm băm: Các yêu c u v thi t k i v i m t hàm băm b o m t H: • H có th ư c áp d ng cho kh i thông tin v i chi u dài b t kỳ. • K t qu c a hàm H luôn có chi u dài c nh. • Vi c tính giá tr c a H(M) v i m t kh i thông tin M cho trư c ph i ơn gi n, có th th c hi n ư c b ng ph n m m và ph n c ng m t cách nhanh chóng và không t n nhi u tài nguyên. Ngoài ra, trong m t s tài li u, yêu c u v tính nén (compression) cũng ư c xu t như m t thu c tính c a hàm băm, b i vì trong a s trư ng h p, mã băm có kích thư c ng n hơn r t nhi u so v i thông tin g c. Tuy nhiên, i v i nh ng trư ng h p mà thông tin g c ng n hơn mã băm (ví d thông tin g c là m t khNu v i chi u dài vài ký t ) thì k t qu c a hàm băm có th dài hơn thông tin g c. M t hàm băm b o m t ph i có 3 thu c tính b t bu c sau ây: • Tính m t chi u (one-way property): Cho trư c m t o n thông tin m b ng v i kích thư c mã băm c a m t hàm băm H, không th tìm ư c m t kh i thông tin M sao cho H(M) = m. • Tính kháng ng y u (weak collision resistance): Cho trư c kh i thông tin M, không th tìm ư c m t kh i thông tin M’ khác x sao cho H(M) = H(M’). • Tính kháng ng m nh (strong collision resistance): Không th tìm ư c hai kh i thông tin M và M’ khác nhau sao cho H(M) = H(M’). Khái ni m “không th ” trong các thu c tính c a hàm băm nói riêng và trong mã hóa nói chung không có nghĩa là “không th th c hi n ư c trên lý thuy t”, mà ch bi u di n tính khó th c hi n b ng tay ho c b ng máy tính v i chi phí th i gian ch p nh n ư c. Ví d , tìm ra m t trư ng h p ng c a m t hàm băm H, c n ph i th c hi n nhi u phép th v i 6
  7. th i gian hàng trăm th m chí hàng ngàn năm, hành ng này có th ư c xem là “không th ” th c hi n ư c. II.1.3- T n công các hàm băm: Nguyên lý làm vi c c a hàm băm H là bi u di n m t kh i thông tin M có kích thư c l n b i m t o n thông tin m có kích thư c nh hơn nhi u. Trư ng h p lý tư ng nh t là kích thư c thông tin g c nh hơn hay b ng v i chi u dài c a mã băm, khi ó hàm H bi u di n các quan h 1:1 gi a t p các kh i thông tin g c và t p các giá tr mã băm, nghĩa là s không x y ra tình hu ng 2 kh i thông tin khác nhau cùng cho ra m t mã băm. Trong th c t thì kích thư c M luôn l n hơn m, do ó s có trư ng h p có 2 kh i thông tin g c khác nhau cho ra cùng m t mã băm, ta nói thu t tóan băm b ng (collision). M c tiêu t n công vào m t hàm băm b o m t là t o ra các tình hu ng ng này. T n công hàm băm cũng như t n công các thu t toán m t mã khác, có th th c hi n b ng hai phương pháp: th tu n t (brute-force) và phân tích mã (cryptanalysis). a-T n công brute-force: ph c t p c a phương pháp th tu n t ph thu c vào kích thư c c a mã băm, t c ph thu c vào s lư ng mã băm có th sinh ra t hàm H. Kích thư c này càng nh thì kh năng x y ra ng càng l n, và do ó xác su t t n công thành công càng l n. t o ra m t tình hu ng ng y u, t c cho trư c M và bi t H(M) = m, c n tìm M’ khác M sao cho H(M’) cũng cho ra cùng m t giá tr m, c n ph i th c hi n 2n -1 l n th , v i n là chi u dài c a m tính b ng bit. Năm 1994, m t nghiên c u v vi c áp d ng các thu t toán tìm ki m song song tìm ng trên hàm băm MD5 (có kích thư c mã băm là 128 bit) ã ch ng minh b ng th c nghi m là có th tìm ư c ng trong th i gian là 24 ngày(*). Do ó, hàm băm MD5 hi n nay ư c xem là m t hàm băm không an toàn. t o ra m t tình hu ng ng m nh, t c tìm c p M và M’ b t kỳ sao cho H(M) = H(M’), thì s l n th ít hơn. Bài toán ngày sinh (Birthday problem)(*) ch ra r ng: v i kích thư c mã băm là n bit, thì c n có kho ng 2n/2 kh i thông tin ư c x lý, t c là c n th c hi n 2n/2 l n th . Ngư i ta thư ng dùng nguyên lý này t n công vào các ng d ng có s d ng hàm băm, các t n công này ư c g i là Birthday attack. T n công Birthday attack ư c th c hi n như sau: -Gi s , user A xác th c m t văn b n M b ng cách xác mã băm H(M) = m (n bit), sau ó mã hóa m b ng khóa riêng PRA và g i kèm v i văn b n g c M. - t o ra m t văn b n M’ khác v i M nhưng cho cùng mã băm, hacker t o ra m t t p S g m 2n/2 bi n th c a M (b ng cách thêm d u câu, thay i t này thành t khác, …sau cho (*) : Van Oorschot, P., and Wiener, M. "Parallel Collision Search with Application to Hash Functions and Discrete Logarithms." Proceedings, Second ACM Conference on Computer and Communications Security, 1994. C n chú ý thêm r ng, chi phí th c hi n h th ng máy tính x lý song song này lên t i 10 tri u USD. (*) : Bài toán ngày sinh ư c phát hi u như sau: trong m t t p th có n ngư i, xác su t có 2 ngư i có cùng ngày sinh nh t (cùng ngày và cùng tháng) là 50% thì n ch có giá tr kho ng 23. K t qu này r t khác so v i các l p lu n thông thư ng nên còn ư c g i là ngh ch lý ngày sinh nh t (birthday paradox). 7
  8. n i dung v cơ b n là không thay i). Sau ó, hacker t o ra m t văn b n gi M’ v i d ng ý thay th cho M, r i cũng ti n hành t o m t t p S’ g m có 2n/2 bi n th c a văn b n M’. - em các ph n t hai t p S và S’ so sánh v i nhau t ng ôi m t tìm ra m t c p ph n t có mã băm gi ng nhau. Bài toán ngày sinh cho bi t r ng v i 2n/2 ph n t khác nhau thì kh năng tìm ư c m t c p gi ng nhau là hơn 50%. -Sau khi ch n xong ư c m t c p M và M’, hacker s chuy n gí tr M cho A t o mã xác th c, sau ó thay th M b i M’ mà k t qu xác th c v n không h thay i. b- Phân tích mã: K thu t t n công b ng cách phân tích mã d a vào các c u trúc bên trong c a các hàm băm, v i ư c thi t k dư i d ng các hàm nén ư c th c hi n nhi u l n. Thông tin g c trư c khi ưa vào hàm băm ư c c t thành t ng kh i có kích thư c c nh, ng th i ư c chèn thêm thông tin gi cho ch n v i kích thư c kh i. M t s nghiên c u ã ch ng minh ư c r ng có th chèn thêm m t kh i thông tin tùy ch n vào m t kh i thông tin cho trư c t o ra các trư ng h p ng . Rainbow table là m t k thu t cho phép xác nh nhanh thông tin g c t mã băm, k t qu có th là m t ng b t kỳ c a thông tin g c ch không nh t thi t là thông tin g c. th c hi n Rainbow Table, m t vùng nh m v i kích thư c l n ư c dùng ch a các giá tr trung gian c a quá trình dò tìm. Do v y, th c ch t thì Rainbow table là m t cách ánh i chi phí b nh gi m chi phí v th i gian. Rainbow table ư c dùng hi u qu trong vi c ph c h i các m t khNu ngư i dùng trong Windows, v n ư c lưu tr dư i d ng các mã băm trong SAM database. II.2- Hàm băm SHA: SHA (Secure Hash Function) là hàm băm ư c vi n Tiêu chuNn và Công ngh hoa kỳ (NIST) chuNn hoá năm 1993, sau ó ư c ch nh s a năm 1995 và t tên là SHA-1, t ó phiên b n cũ ư c g i là SHA-0 và g n như không ư c dùng n. SHA-1 d a ch y u c u trúc c a hàm băm MD4. SHA-1 t o ra mã băm có chi u dài c nh là 160 bit. Năm 2002, xu t hi n thêm m t s phiên b n khác c a SHA, ch y u là tăng chi u dài mã băm, như: SHA-256 (mã băm dài 256 bit), SHA-384 (mã băm dài 385 bit) và SHA-512 (mã băm dài 512 bit). B ng 2.2: Các phiên b n SHA Thông s SHA-1 SHA-256 SHA-384 SHA-512 Kích thư c mã băm (bit) 160 256 384 512 Kích thư c thông tin g c (bit) < 264 < 264 < 2128
  9. SHA-1 ch p nh n các kh i thông tin có kích thư c t i a là 264 bit t o ra mã băm v i dài c nh 160 bit. Tòan b kh i thông tin ư c x lý theo t ng kh i 512 bit, qua 5 công o n như sau: 1- G n bit m – Append padding bit: thông tin g c ư c g n thêm các bit th a có chi u dài (448 modulo 512) bit, t c là t t c các kh i trư c có chi u dài b ng nhau là 512 bit, riêng kh i cu i cùng là 448 bit. Chú ý r ng vi c chèn thêm bit vào kh i thông tin ư c th c hi n i v i t t c các kh i thông tin g c, k c khi kh i thông tin g c có s bit chính xác b ng 448 mod 512 (khi ó chu i bit chèn vào s có chi u dài là 512 bit). Nguyên t c m là thêm m t bit 1 vào cu i chu i bit, sau ó g n 1 chu i bit 0 t o thành kh i 448 bit. 2- G n chi u dài – Append length: m t chu i 64 bit ư c g n thêm vào kh i thông tin. 64 bit này ư c x lý như m t s nguyên không d u, cho bi t chi u dài c a kh i thông tin g c tính b ng bit (chi u dài th t s c a thông tin khi chưa th c hi n công o n 1). Sau công o n này, kh i thông tin nh n ư c có chi u dài chính xác là b i s c a 512 bit, ư c chia thành các nhóm, m i nhóm tương ương v i 16 thanh ghi 32 bit (16*32 = 512 bit). 3- Kh i t o b m MD – Initialize MD buffer: b m MD (message digest) là b nh có dung lư ng 160 bit dùng ch a các k t qu trung gian và k t qu cu i cùng c a mã băm. B nh này ư c t ch c thành 5 thanh ghi 32 bit và ư c kh i t o các giá tr ban u như sau (Hex): A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0 4- X lý thông tin theo t ng kh i 512 bit – Process message: ây là công an trung tâm qu hàm băm, còn ư c g i là hàm nén (compress function), bao g m 4 vòng, m i vòng 20 bư c. Hình 2.28 trình trình bày sơ kh i c a bư c 4. C 4 vòng có c u trúc tương t nhau, nhưng m i vòng s d ng m t hàm lu n lý khác nhau là f1, f2, f3 và f4. Ngõ vào c a m i vòng là kh i bit Y (512 bit) ang x lý cùng v i giá tr c a b m MD. M i vòng s d ng m t bi n c ng Kt khác nhau, v i 0 ≤ t ≤ 79 bi u di n cho 80 bư c c a 4 vòng. Tuy nhiên, th c t ch có 4 giá tr K khác nhau như sau: Bư c Giá tr K (Hexa) 0 ≤ t ≤ 19 Kt = 5A827999 20 ≤ t ≤ 39 Kt = 6ED9EBA11 40 ≤ t ≤ 59 Kt = 8F1BBCDC 60 ≤ t ≤ 79 Kt = CA62C1D6 9
  10. Yq CVq 160 512 32 A B C D E f1, K, W[0…19] 20 vòng A B C D E f2, K, W[20…39] 20 vòng A B C D E f3, K, W[40…59] 20 vòng A B C D E f4, K, W[60…79] 20 vòng 160 CVq+1 Hình 2.28: X lý thông tin trong SHA-1 Ngõ ra c a vòng th tư (t c bư c 80) ư c c ng v i ngõ vào c a vòng u tiên t o ra CVq+1. Thao tác c ng ư c th c hi n m t cách c l p, ng v i t ng thanh ghi trong b m MD v i m t t tương ng trong CVq, s d ng phép c ng modulo 232. 5- Xu t k t qu - Output: Sau khi t t c các kh i 512 bit ã ư c x lý, ngõ ra c a bư c cu i cùng chính là giá tr c a mã băm. M t thu c tính quan tr ng c a gi i thu t băm SHA-1 là m i bit trong mã băm u có quan h v i t t c các bit trong thông tin g c. Vi c l p l i các hàm f m t cách ph c t p như v y nh m m c ích m b o r ng d li u ã ư c tr n m t cách k lư ng và do ó r t khó tìm ư c 2 kh i thông tin g c khác nhau có th t o ra cùng m t mã băm. II.3- Thu t toán băm MD5: 10
  11. MD5 là m t gi i thu t xác th c thông tin ư c s d ng ph bi n trong th i gian qua trong c ng ng Internet, c bi t dùng ki m tra tính chính xác c a các ph n m m mã ngu n m phát hành trên m ng. Gi i thu t này ư c xây d ng b i Ron Rivest, và ư c chuNn hóa b ng RFC 1321. MD5 có th x lý các kh i thông tin có dài không gi i h n t o ra mã băm dài 128 bit. Thông tin g c cũng ư c x lý theo t ng an 512 bit. B ng 2.3 so sánh các thông s gi a SHA-1 và MD5. B ng 2.3: So sánh MD5 và SHA-1 Thông s so sánh MD5 SHA-1 Kích thư c mã băm (bit) 128 160 Kích thư c kh i (bit) 512 512 S bư c 64 80 Kích thư c thông tin g c (bit) Không gi i h n < 264 S lư ng hàm lu n lý 4 4 V i 128 bit mã băm, vi c tìm ra hai kh i thông tin có cùng m t giá mã băm không còn là i u b t kh thi i v i năng l c c a các b x lý hi n nay. Do ó, an tòan c a MD5 ang b e d a nghiêm tr ng, và trong th i gian ng n s p t i, m c ph bi n c a MD5 có th s gi m i và ư c thay th b ng m t gi i thu t xác th c khác. III- CH KÝ S III.1- Nguyên lý ho t ng c a ch ký s : Ch ký s là m t cơ ch xác th c cho phép ngư i t o ra thông tin (message creator) dùng khóa riêng c a mình x lý khôi thông tin theo m t thu t toán nào ó giúp ngư i nh n thông tin ki m ch ng ư c tính toàn v n v n i dung và ngu n g c c a thông tin. Ch ký s còn có công d ng ràng bu c gi a ch th v i hành vi, nh m ngăn ch n các tình hu ng t ch i hành vi (non- repudiation) trong các giao d ch i n t . Ch ký ơn gi n ư c t o ra b ng cách áp d ng m t hàm băm lên thông g c, sau ó mã hóa thông tin g c dùng khóa riêng c a ngư i g i r i g i kèm v i mã băm. Bên nh n s xác minh b ng cách dùng khóa công khai c a bên g i và hàm băm. Như v y, ch ký s là k thu t xác th c thông tin d a trên cơ s m t mã b t i x ng và các hàm băm b o m t. T i sao ph i dùng ch ký s trong khi các cơ ch xác th c thông tin (message authentication) ã th c hi n ch c năng xác th c ngu n g c thông tin? Các cơ ch xác th c thông tin s d ng các hàm băm m t chi u có tác d ng b o v thông tin trao i gi a hai i tư ng trao i thông tin kh i s xâm ph m c a m t i tư ng th 3, tuy nhiên nó không có tác d ng ngăn ch n ư c s c ý gian l n c a m t trong hai i tư ng chính. Ví d : Bên A g i m t b n tin X cho bên B s d ng m t cơ ch xác th c nào ó, cơ ch này m b o ch có A và B dùng chung m t khoá bí m t K t o ra các mã xác th c t thông tin g c. Tuy nhiên, bên B có th i b n tin X thành m t b n tin Y, và v i khóa bí m t K s n có, bên B hòan tòan có th t o ra thông tin xác th c m i g n vào Y, làm cho nó tr thành m t b n tin h p l m c dù th c ch t ây không ph i là b n tin do bân A t o ra. 11
  12. M t ví d khác, bên A có th t ch i xác nh n vi c mình ã g i b n tin X cho bên B, vì v i các cơ ch xác th c như trên, bên B hoàn toàn có kh năng gi m o thông tin ưa ra t bên A. Gi ng như m t ch ký thông thư ng (ch ký b ng tay), m t ch ký s ph i có y các thu c tính sau ây: • Ph i xác nh n chính xác ngư i ký và ngày gi phát sinh ch ký. • Ph i xác th c n i dung thông tin ngay t i th i i m phát sinh ch ký. • Ph i có kh năng cho phép ki m ch ng b i m t ngư i th 3 gi i quy t các tranh ch p n u có. Như v y, ch c năng c a ch ký s bao g m ch c năng c a xác th c thông tin. Các yêu c u i v i ch ký s : • Ch ký ph i g n li n v i kh i thông tin c n ư c xác nh n (thông tin g c). • Ch ký ph i ch a thông tin nh n d ng riêng c a ngư i ký tránh gi m o và tránh ph nh n. • Quy trình t o ra ch ký cũng như xác minh ch ký ph i ơn gi n, nhanh chóng • Ch ký thông th b gi m o b ng b t c cách nào. • Có th sao chép m t b n sao c a ch ký dành cho m c ích lưu tr . III.2- Phân lo i ch ký s Có nhi u thu t toán phát sinh ch ký s khác nhau. Có th phân lo i các thu t toán này theo các cách như sau: • Ch ký c nh và ch ký ng u nhiên: thu t toán t o ch ký c nh (deterministic) t o ra m t ch ký duy nh t ng v i m t kh i thông tin g c xác nh, nghĩa là n u th c hi n nhi u l n thu t toán t o ch ký trên m t b n tin thì v n cho ra m t k t qu duy nh t. Ngư c l i, ch ký ng u nhiên (probabilistic) t o ra nh ng ch ký khác nhau i v i cùng m t b n tin. • Ch ký ph c h i ư c và ch ký không ph c h i ư c: cơ ch t o ch ký ph c h i ư c (reversible signature) cho phép ngư i nh n ph c h i l i thông tin g c t ch ký, i u này cũng có nghĩa là ch ký ph i có ch a thông tin g c trong nó dư i m t d ng mã hoá nào ó, và k t qu là ch ký s s có kích thư c l n hơn thông tin g c. Khi ó, ngư i g i ch c n g i i ch ký là . Do v y, cơ ch t o ch ký này cũng còn ư c g i là ch ký khôi ph c b n tin (signature with message recovery). Ngư c l i, cơ ch t o ch ký không ph c h i ư c (non-reversible signature) không cho phép ph c h i thông tin g c t ch ký, do v y, ch ký ch là m t kh i thông tin c ng thêm có kích thư c nh hơn thông tin g c. Ngư i g i c n ph i g i ch ký i kèm v i thông tin g c như m t d ng ph l c, do ó cơ ch t o ch ký này cũng còn ư c g i là ch ký v i ph l c (signature with appendix). III.3- Các phương pháp th c hi n ch ký s Có hai phương pháp th c hi n ch ký s là ký tr c ti p (direct signature) và ký thông qua tr ng tài (arbitrated signature). 12
  13. • Ký tr c ti p (direct signature): phương pháp này, gi thi t r ng phía nh n bi t ư c khóa công khai c a phía g i. Do ó, ch ký có th ư c t o ra b ng cách mã hóa tòan b b n tin b ng khóa riêng c a ngư i t o ra thông tin, ho c là ch mã hóa ph n mã băm (k t qu t o ta t hàm băm i v i thông tin g c) dùng khóa riêng c a ngư i t o thông tin. Phía t o ra thông tin Phía nh n thông tin E(M, PRa) a- T o ch ký tr c ti p b ng cách mã hóa tòan b thông tin g c Phía t o ra thông tin Phía nh n thông tin So sánh E(H(M), PRa) b- T o ch ký tr c ti p b ng cách mã hóa ph n mã băm c a thông tin g c M: thông tin g c E: Thu t tóan mã hóa D: Thu t tóan gi i mã H: Hàm băm | |: N i mã băm vào thông tin g c PRa: Khóa bí m t c a ngư i ký PUa: Khóa công khai c a ngư i ký Hình 2.29: Ch ký tr c ti p t ư c tính b o m t c a thông tin thì thông tin g c cùng v i ch ký v a ư c t o ra s ư c mã hóa s d ng khóa công khai c a th c th nh n ch ký (trong trư ng h p dùng m t mã b t i x ng) ho c dùng khóa bí m t (trong trư ng h p dùng m t mã i x ng). M t như c i m r t d th y c a phương th c ký tr c ti p ó là an tòan c a ch ký ph thu c cao vào khóa riêng c a ngư i t o ra ch ký. Do v y, n u khóa riêng này b m t ho c b ti t l thì ý nghĩa c a ch ký s s không còn. • Ký thông qua tr ng tài (arbitrated signature): ây là m t gi i pháp ư c xây d ng kh c ph c như c i m c a ch ký tr c ti p. Khi th c th A mu n g i m t b n tin cho th c th B, quá trình t o ra m t ch ký ư c th c hi n bình thư ng như i v i ch ký tr c ti p. Tuy nhiên, trư c khi b n tin này ư c g i n B, nó ph i 13
  14. ư c g i n m t th c th th 3 g i là tr ng tài (arbiter). Tr ng tài th c hi n vi c ki m tra, xác nh n tính chính xác c a thông tin và ch ký, sau ó ghi l i ngày gi r i m i g i cho th c th B, kèm theo thông tin xác nh n c a tr ng tài. S xu t hi n c a tr ng tài trong quy trình m b o ư c th c th A s không ph nh n ư c thông tin mình ã g i. N u g i X là th c th t o ra thông tin, Y là th c th nh n thông tin, A là tr ng tài, H là hàm băm b o m t và E là thu t toán m t mã, quá trình t o ch ký thông qua tr ng tài ư c th c hi n như sau: -Trư ng h p th nh t: s d ng k thu t m t mã i x ng và tr ng tài có th c n i dung thông tin mà X g i cho Y: Bư c 1: X → A: M + E([IDX + H(M)], Kxa) Bư c 2: A → Y: E([IDX + M + E([IDX + H(M)], Kxa) + T], Kay) V i M là thông tin g c mà X g i cho Y, Kxa là khoá bí m t dùng chung gi a X và A, Kay là khoá bí m t dùng chung gi a Y và A, IDX là thông tin nh n d ng c a th c th X và T là th i i m ch ký ư c t o ra. -Trư ng h p th 2: s d ng k thu t m t mã i x ng và tr ng tài không c ư cn i dung thông tin X g i cho Y: Bư c 1: X → A: IDX + E(M, Kxy) + E([IDX + H(E(M, Kxy))], Kxa) Bư c 2: A → Y: E([IDX + E(M, Kxy)], Kay) + E([IDX + H(E(M, Kxy)) + T], Kxa) V i Kxy là khoá bí m t dùng chung gi a X và Y. -Trư ng h p th 3: s d ng k thu t m t mã b t i x ng, tr ng tài không c ư cn i dung thông tin X g i cho Y: Bư c 1: X → A: IDX + E([IDX + E(E(M, PRx), PUy)], PRx) Bư c 2: A → Y: E([IDX + E(E(M, PRx), PUy) + T], PRa) V i PRx là khoá riêng c a X, PUy là khoá công khai c a Y, PRa là khoá riêng c a A III.4- Chu n ch ký DSS: DSS (Digital Signature Standard) là m t chuNn v ch ký s , ư c chuNn hóa năm 1991, s a i năm 1993 và 1996, sau ó m r ng vào năm 2000. DSS s d ng hàm băm SHA và thu t toán t o ch ký DSA (Digital Signature Algorithm). DSS thu c lo i ch ký ng u nhiên và không ph c h i ư c. Hình 2.30 so sánh c u trúc DSS so v i phương th c xác th c thông tin s d ng m t mã b t i x ng RSA. Trong thu t toán xác th c thông tin dùng m t mã RSA, thông tin g c ư c ưa vào hàm băm SHA t o ra mã băm (t c message digest) có kích thư c c nh. Mã băm này sau ó ư c mã hóa (b ng thu t toán RSA) dùng khóa riêng c a th c th t o thông tin (phía g i). K t qu c a phép mã hóa ư c g n vào thông tin g c và g i i. Phía thu nh n ư c thông tin, tách ph n mã băm ra kh i thông tin g c và gi i mã nó b ng khóa công khai c a phía g i. Chú ý r ng khóa công khai là thông tin ư c công b r ng rãi cho b t kỳ th c th nào có quan tâm. ng th i, thông tin g c cũng ư c ưa vào hàm băm tính mã băm, sau ó em so sánh v i mã băm v a nh n ư c. N u hai mã này gi ng nhau thì thông tin v a nh n ư c ch p nh n như là thông tin h p l . 14
  15. H at ng c a DSS cũng bao g m vi c ưa thông tin g c vào hàm băm t o ra mã băm có kích thư c c nh. Tuy nhiên, mã băm này s không ư c mã hóa tr c ti p b ng m t gi i thu t mã hóa mà ư c s d ng làm ngõ vào c a m t hàm t o ch ký S (Signature function). Các thông tin ưa vào hàm t o ch ký bao g m: • Mã băm c a thông tin g c • M t s ng u nhiên k • Khóa riêng c a ngư i ký (PRa) • Khóa công khai c a nhóm các th c th liên quan n giao d ch ch ký (PUG) H M M M PRa PUa So sánh H E D a- Xác th c thông tin dùng m t mã RSA H M M PUa M PUG PRa PUG s s V H S r r So sánh k a- Dùng ch ký s DSS Hình 2.30: Xác th c thông tin dùng m t mã RSA và dùng ch ký s DSS K t qu c a hàm sinh ch ký g m hai thành ph n, t tên là r và s. C hai ư c g i kèm v i thông tin g c. phía nh n thu, thông tin g c ư c tách riêng ưa vào hàm băm. Sau ó, mã băm ư c ưa vào hàm ki m ch ng V (Verification function) cùng v i khóa công khai c a nhóm (PUG) và khóa công khai c a phía g i (PRA). N u k t qu c a hàm ki m ch ng b ng v i thành ph n r c a ch ký thì thông tin ư c xem là xác th c. Hình 2.31 mô t quá trình t o ch ký và ki m ch ng ch ký dùng DSS. Chú ý r ng thành ph n r c a ch ký không ph thu c vào thông tin g c mà ch ph thu c vào s ng u nhiên k và 3 thành ph n c a khóa công khai c a nhóm (PUG) là p, q và g. Do v y, gi m chi phí tính tóan m i khi t o ra ch ký, ngư i s d ng có th t o ra giá tr r m t l n, và dùng giá tr ó cho nhi u ch ký ng v i nhi u kh i thông tin g c khác nhau. 15
  16. p q g f2 r y q g H M x q k q s’ f4 v r’ f3 M f1 s H So sánh a- T o ch ký b- Ki m ch ng ch ký Hình 2.31: T o và ki m ch ng ch ký v i DSS -Thu t toán t o ch ký DSA (Digital Signature Algorithm): DSA là thành ph n tr ng tâm c a ch ký s DSS, có ch c năng t o ra ch ký t các thông tin như mã băm c a thông tin g c, khoá riêng c a ngư i ký, khoá công khai c a nhóm và m t s ng u nhiên k. DSA ư c xây d ng d a trên phép toán logarit r i r c, ư c tóm t t như sau: -T o các thành ph n khoá công khai (public key components): p: m t s nguyên t tho 2L-1 < p < 2L v i 512 < L < 1024 và L là b i s c a 64. q: m t s nguyên t chia h t (p – 1) th a i u ki n 2159 < q < 2160 (q dài 160 bit) g: m t s nguyên có giá tr = (h(p -1)/q mod p), trong ó h là m t s nguyên tho i u ki n 1 < h < p – 1 và (h(p-1)/q mod p) > 1 -T o khoá riêng c a ngư i dùng: x: m t s nguyên ng u nhiên l n hơn 0 và nh hơn q -T o khoá công khai c a ngư i dùng: y: là m t s nguyên có giá tr = (gx mod p) -T o s bí m t cho t ng b n tin: k: m t s nguyên ư c ch n ng u nhiên l n v i 0 < k < q -T o ch ký: r = (gk mod p) mod q s = [k-1 (H(M) + xr)] mod q -Ki m ch ng ch ký: w = (s’)-1 mod q u1 = [H(M')w] mod q u2 = (r')w mod q v = [(gu1 yu2) mod p] mod q 16
  17. Lưu ý: s’, r’, M’ tương ng v i các ph n s, r và M t i phía thu. V i ph c t p c a phép tóan logarit r i r c, r t khó có th xác nh ư c k khi bi t r ho c xác nh ư c x khi bi t s. IV- CH NG CH S IV.1- Qu n lý khoá công khai trong m t mã b t i x ng: Trong k thu t m t mã b t i x ng, khoá riêng c a m i th c th ư c chính th c th ó qu n lý mà không c n ph i chia s cho ai, tuy nhiên cơ ch nào ư c dùng ph bi n khóa công khai m t cách an toàn và hi u qu ? Các cơ ch khác nhau có th dùng ph bi n khóa công khai bao g m: -Ph bi n công khai trên các di n àn công c ng: ngư i s d ng th c hi n vi c này b ng cách g i các thông báo kèm theo khóa công khai c a mình n các website ho c di n àn công c ng trên m ng Internet. Phương pháp này ơn gi n nhưng có như c i m là khóa d b gi m o. M t ngư i A có th ưa khóa công khai c a mình lên m ng nhưng thông báo r ng ó là khóa c a ngư i B, b ng cách ó, A có th c ư c nh ng thông tin bí m t mà ngư i khác g i cho B. -S d ng danh b khóa công khai (public key directory): v i danh b này, nh ng ngư i dùng nào mu n ph bi n khóa c a mình thì ph i ăng ký v i nhà xu t b n, và tránh vi c gi m o, nhà xu t b n ph i áp d ng m t cơ ch ki m duy t an tòan nào ó i v i ngư i ăng ký. Phương pháp này an tòan hơn cách mà m i cá nhân t ph bi t khóa c a mình. Tuy nhiên, nó cũng có kh năng b gi m o khi khóa bí m t c a nhà xu t b n b l , k t n công có th thay i các thông tin mà ngư i s d ng ã ăng ký lên ó. -Ch ng th c khóa công khai (public-key certificate): Phương pháp s d ng danh b công c ng có m t i m y u khác ó là m i ngư i dùng mu n liên l c v i m t ngư i khác c n n khoá công khai thì ph i liên l c v i nhà xu t b n ư c cung c p, i u này t nhà xu t b n vào tr ng thái có nguy cơ quá t i b t c lúc nào, hơn n a ây chính là i m th t c chai c a các giao d ch trên m ng. IV.2- Ch ng ch s : Khái ni m ch ng th c khóa công khai (public key certificate hay g i t t là certificate hay ch ng th c khóa) là m t cơ ch ph bi n khóa công khai trong ó m i th c th t ph bi n khóa c a mình b ng b t c phương ti n gì nh ng v n m b o ư c tính xác th c c a khóa. Ch ng th c khóa công khai là m t t h p g m có khóa công khai c a m t th c th , nh n d ng c a th c th ó và ch ký s (digital signature) xác nh n c a m t th c th th 3, th c th th 3 này là m t t ch c ư c tin tư ng trong c ng ng (ví d như cơ quan nhà nư c ho c các t ch c tài chính). Các c trưng c a cơ ch này bao g m: • M i th c th u có th c các ch ng th c khóa bi t ư c khóa công khai cũng như nh n di n ch s h u c a khóa ó. • M i th c th u có th xác th c thông tin trong ch ng th c khóa là chính xác nh vào ch ký c a m t th c th ư c tin c y th 3. • Ch có ngư i ch ng th c (Certificate Authority hay CA) m i có quy n t o ra và c p nh t các ch ng th c khóa. 17
  18. Quá trình t o ra và phân ph i ch ng th c khóa di n ra như sau (hình 2.32): - t o ch ng th c khóa cho mình, th c th A g i yêu c u n cơ quan ch ng th c CA (Certificate Authority), trong yêu c u có ch a khoá công khai c a A (PUA). tránh các tình hu ng gi m o CA, yêu c u cung c p ch ng th c g i t các th c th u cu i ph i ư c g i n CA b ng m t kênh b o m t, trên ó có áp d ng các cơ ch xác th c ch t ch . -CA t o ra ch ng th c khóa cho A b ng cách mã hoá kh i thông tin bao g m: nh n d ng c a th c th A (IDA), khoá công khai c a A (PUA) và th i i m th c hi n vi c c p ch ng th c, b ng khoá riêng c a CA (PRCA). PUA PUB Kênh thông tin CA = E([Time + IDA + PUA],PRCA) Kênh thông tin b om t b om t CB = E([Time + IDB + PUB],PRCA) (1)CA (2)CB CA: Ch ng th c khóa c a th c th A IDA: Thông tin nh n d ng c a th c th A CB: Ch ng th c khóa c a th c th B IDB: Thông tin nh n d ng c a th c th B PUA: Khoá công khai c a th c th A PRCA: Khoá riêng c a CA PUB: Khoá công khai c a th c th B Time: Th i i m t o ra ch ng th c khóa Hình 2.32: Qu n lý khoá công khai dùng ch ng th c khóa (Certificate) Như v y, th c th A ã t o ư c ch ng th c khóa cho mình (CA). Tương t như v y, th c th B cũng yêu c u CA cung c p ch ng th c khóa cho nó (CB). b t u trao i thông tin v i nhau s d ng m t mã b t i x ng, hai th c th A và B trao i ch ng th c khóa cho nhau th c th này nh n ư c khoá công khai c a th c th kia. V i vi c nh m t th c th tin c y th 3 làm trung gian t o ra ch ng th c khóa, khoá công khai có th ư c phân ph i m t cách an toàn mà không b gi m o. M t trong nh ng cơ ch ư c s d ng r ng rãi t o ra các ch ng th c khóa công khai là chuNn X.509. ChuNn này ư c dùng trong nhi u d ch v và giao th c b o m t như IPSec, SSL, S/MIME, SET, … IV.3- S d ng m t mã b t i x ng trao i khóa bí m t: Trong k thu t m t mã i x ng, c hai th c th thông tin ph i dùng chung m t khóa bí m t. V n là làm th nào trao i khóa bí m t gi a hai th c th này? 18
  19. Thu t toán trao i khóa Diffie-Hellman ư c trình bày trong ph n mã hóa b t i x ng là m t thu t toán an tòan, cho phép hai th c th trao i khóa bí m t mà m t th c th th 3 không l y c p ư c. Tuy nhiên, h n ch c a Diffie-Hellman là không có tính xác th c, nghĩa là m t th c th s không th bi t ch c ch n r ng khóa mình nh n ư c úng là khóa c a th c th mà mình ang mu n trao i thông tin hay không. Do v y, trong th c t , Diffie-Hellman thư ng ư c dùng ph i h p v i m t cơ ch xác th c u cu i (peer authentication). (1) E([N1 + IDA], PUB) (2) E([N1 + N2], PUA) (3) E(N2, PUB) (4) E(E(K, PRA), PUB) Hình 2.33: Dùng m t mã b t i x ng trao i khoá Dùng khóa công khai trao i khóa bí m t c a mã hóa i x ng là m t cách hi u qu có th gi i quy t ư c v n trên ây. M t th c th A (th c th kh i t o – Initiator) mu n trao i khóa bí m t v i m t th B (th c th áp ng - responder) có th th c hi n th t c trao i khoá như sau: (1)-A dùng khoá công khai c a B (PUB) mã hoá m t b n tin, b n tin này ch a nh n d ng c a A (IDA) và m t giá tr ng u nhiên N1 (nonce) nh n di n giao tác ang th c hi n. A → B: E([N1 + IDA], PUB) (2)-B g i l i cho A m t b n tin ch a giá tr ng u nhiên N2 do B t o ra, cùng v i s N1 nh n ư c t A. Toàn b b n tin ư c mã hoá s d ng khoá công khai c a A (PUA). B → A: E([N1 + N2], PUA) (3)-M t l n n a, A g i l i cho B m t b n tin ch a giá tr N2 ư c mã hoá b ng khoá công khai c a A (PUA). A → B: E(N2, PUB) (4)-A ch n khoá bí m t K cho thu t toán mã hoá i x ng s p di n ra, sau ó mã hoá nó b ng chính khoá riêng c a A (PRA), r i mã hoá m t l n n a b ng khoá công khai c a B (PUB) r i g i cho B. n bư c này, B ã nh n ư c khoá bí m t mà A t o ra m t cách an toàn. A → B: E(E(K, PRA), PUB) V- CƠ S H T NG KHÓA CÔNG KHAI Cơ s h t ng khóa công khai PKI (Public Key Infrastructure) là m t h th ng h t ng bao g m các thi t b ph n c ng, chương trình ph n m m, các chính sách, th t c và con ngư i c n 19
  20. thi t t o ra, qu n lý, lưu tr và phân ph i các ch ng th c khóa ph c v cho m c ích ph bi n khóa công khai c a các th c th thông tin. Vai trò c a PKI trong h th ng là qu n lý các ch ng th c khóa m t cách an tòan và cung PKI users Truy xu t Certificate/CRL End Entity -Đăng ký Kho lưu tr Certificate/CRL Phân ph i -Kh i t o Certificate -Ch ng th c RA -Ph c h i khoá -C p nh t khoá Phân -Yêu c u thu h i ph i Phân ph i khoá Certificate/CRL CA-2 ra ngoài h Phân ph i CRL th ng Ch ng th c CRL Issuer chéo CA-1 PKI management Hình 2.34: C u trúc PKI c p nó cho user m t cách hi u qu nh t. M c tiêu c a PKI là cung c p m t môi trư ng làm vi c ph i h p, trong ó, thi t b , ph n m m c a nhi u nhà s n xu t khác nhau có th cùng s d ng chung m t c u trúc ch ng th c khóa. -Các thành ph n c a PKI: • End Entity (th c th u cu i): là ngư i s d ng, m t ph n m m ho c m t thi t b tham gia vào quá trình trao i thông tin s d ng mã hóa khóa công khai. Các th c th có m t c p khóa c a mình, trong ó khóa công khai ư c ph bi n b i PKI dư i d ng các ch ng th c khóa, còn khóa bí m t do chính th c th qu n lý. • Certificate Authority (CA): là th c th t o ra các ch ng th c khóa. CA t o ra ch ng th c khóa t các khóa công khai mà các th c th u cu i y quy n cho nó ph bi n c ng v i ch ký s c a chính CA ó. Do v y, CA ph i là m t th c th ư c tin c y, n u không, ch ký c a CA s không có ý nghĩa gì. • Registration Authority (RA): là m t thành ph n tùy ch n c a PKI, có ch c năng x lý m t s công vi c qu n lý nh m gi m t i cho CA, ch ng h n như ăng ký th c th u cu i, ki m ch ng các th c th u cu i, t o ra các c p khóa public- private, … • Repository: Kho lưu tr ch ng th c khóa và cung c p ch ng th c khóa cho các th c th u cu i khi có yêu c u. Có nhi u cách th c th u cu i truy xu t các ch ng th c khóa t i PKI: thông qua d ch v thư m c LDAP (X.500), thông qua FTP ho c HTTP, … 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2