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

Đề tài: Giao thức thỏa thuận khóa Diffie - Hellman

Chia sẻ: Huỳnh Thị Thùy Dương | Ngày: | Loại File: DOCX | Số trang:20

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

Chương 1 giới thiệu về giao thức Diffie - Hellman, chương 2 giao thức thỏa thuận khóa Diffie - Hellman là những nội dung chính thuộc 2 chương của đề tài "Giao thức thỏa thuận khóa Diffie - Hellman". Mời các bạn cùng tham khảo để nắm bắt nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Đề tài: Giao thức thỏa thuận khóa Diffie - Hellman

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI    KHOA CÔNG NGHỆ THÔNG TIN Bài tập lớn An toàn bảo mật thông tin Đề tài Giao thức thỏa thuận khóa Diffie ­  Hellman                Giáo viên hướng dẫn:   Th.S Trần Phương Nhung Nhóm sinh viên:  1. Phạm Thị Yến 2. Nguyễn Thị Nhâm 3. Nguyễn Đình Triệu 4. Lê Thanh Nghị
  2. Giao thức thỏa thuận khóa Diffie Hellman                               Hà Nội, Tháng 11/2012 Mục Lục Phân công công việc 2Nhóm 7 : ĐHKHMT2­K5
  3. Giao thức thỏa thuận khóa Diffie Hellman                               Stt Mã SV Tên SV Nội dung Trang­ Nhận xét trang Tìm   hiểu   về  Tích cực  giao   thức   thỏa  hoạt động,  1 0541060168 Nguyễn Thị Nhâm thuận   khóa  4 ­ 10 và nghiên  Diffie   ­  cứu.Hoàn  Hellman   +   Ví  thành tốt  dụ   bằng   số  nhiệm vụ minh họa Viết   chương  Tích cực  trình   thực   hiện  nghiên cứu.  2 0541060137 Lê Thanh Nghị giao thức Diffie  Hoàn thành  ­ Hellman tốt nhiệm  vụ Tìm   hiểu   các  Tích cực  đặc   điểm   đặc  nghiên cứu.  trưng   của   giao  Hoàn thàn  3 0541060129 Nguyễn   Đình  thức thỏa thuận  10 ­ 14 tốt nhiệm  Triệu khóa   Diffie   ­  vụ Hellman Tìm   hiểu   về  Tích cực  giao   thức   thỏa  nghiên cứu.  4 0541060165 Phạm Thị Yến thuận   khóa  4 ­ 10 Hoàn thành  Diffie   ­  tốt nhiệm  Hellman   +   Ví  vụ. dụ bằng số min  họa 3Nhóm 7 : ĐHKHMT2­K5
  4. Giao thức thỏa thuận khóa Diffie Hellman                               Lời mở đầu Trao đổi thông tin luôn là nhu cầu cần thiết của con người, đặc biệt là trong  cuộc sống hiện đại ngày nay khi mà mạng máy tính và Internet phát triển một   cách mạnh mẽ và giữ vai trò quan trọng trong mọi lĩnh vực của đời sống xã hội   như: chính trị, quân sự, học tập, mua sắm, kinh doanh,… Tất cả những thông tin  liên quan đến những công việc này đều được máy vi tính quản lý và truyền đi   trên hệ thống mạng. Đối với những thông tin bình thường thì không ai chú đến,  nhưng đối với những thông tin mang tính chất sống còn đối với một cá nhân hay   một tổ chức thì vấn đề bảo mật thông tin là rất quan trọng và được đặt lên hàng  đầu. Chính vì vậy nên rất nhiều tổ  chức, cá nhân đã nghiên cứu, tìm kiếm và  đưa   ra   rất   nhiều   giải   pháp   bảo   mật   thông   tin.   Trong   đó   giao   thức   Diffie   ­   Hellman rất thích hợp trong truyền thông tin giữ liệu và có tính bảo mật khá cao.  Báo cáo này do nhóm biên soạn dựa trên những kiến thức lĩnh hội được từ  cô   giáo Th.S. Trần Phương Nhung, và thông qua sự  tìm hiểu, nghiên cứu tích cực  của các thành viên trong nhóm.Báo cáo của nhóm đi sâu về  đi sâu vào trình bày  giao thức thỏa thuận khóa Diffie ­ Hellman với nội dung 3 chương được chia   thành các chủ đề khác nhau, từ việc giới thiệu sơ bộ, trình bày khái niệm, cách  thiết lập, sơ  đồ  và các ví dụ  minh họa cụ  thể  về  giao thức thỏa thuận khóa.  Mặc dù nhóm đã rất cố gắng song vẫn không tránh khỏi một số thiếu sót mong  thầy cô và bạn bè đóng góp ý kiến để nhóm hoàn thiện hơn báo cáo này. Xin chân thành cảm ơn tới bạn bè, người thân đã góp ý, giúp đỡ nhóm. Đặc biệt  cảm  ơn cô giáo Th.S. Trần Phương Nhung người  đã hướng dẫn nhóm hoàn  thành báo của mình!  4Nhóm 7 : ĐHKHMT2­K5
  5. Giao thức thỏa thuận khóa Diffie Hellman                               Chương I: Giới thiệu về giao thức Diffie ­ Hellman Năm 1976, một sự  đột phá đã thay đổi nền tảng cơ  bản trong cách làm   việc của các hệ  thống mật mã hóa.  Đó  chính là việc công bố  của bài viết  phương hướng mới trong mật mã học (New Directions in Cryptography) của   Whitfield Diffie và Martin Hellman. Bài viết giới thiệu một phương pháp hoàn  toàn mới về  cách thức phân phối các khóa mật mã. Là hệ  thống đầu tiên sử  dụng "public­key" hoặc các khóa mật mã "không đối xứng", và nó được gọi là  trao đổi khóa Diffie­Hellman (Diffie­Hellman key exchange). Bài viết còn kích  thích sự phát triển gần như tức thời của một lớp các thuật toán mật mã hóa mới,  các thuật toán chìa khóa bất đối xứng (asymmetric key algorithms). Trao đổi khóa Diffie­Hellman bị  cáo buộc rằng nó đã được phát minh ra  một cách độc lập một vài năm trước đó trong Trụ sở  Truyền Thông Chính phủ  Anh (GCHQ) bởi Malcolm J. Williamson). Vào năm 2002, Hellman đã đưa ra  thuật toán được gọi chung là trao đổi khóa Diffie–Hellman–Merkle công nhận sự  đóng góp của cả  Ralph Merkle, người đã phát minh ra thuật toán mã hóa công   khai. Trước thời kỳ  này, hầu hết các thuật toán mật mã hóa hiện đại đều là  những thuật toán khóa đối xứng (symmetric key algorithms), trong đó cả  người   gửi và người nhận phải dùng chung một khóa, tức khóa dùng trong thuật toán  mật mã, và cả hai người đều phải giữ bí mật về khóa này. Tất cả các máy điện  cơ  dùng trong thế  chiến II, kể cả mã Caesar và mã Atbash, và về  bản chất mà   nói, kể cả hầu hết các hệ thống mã được dùng trong suốt quá trình lịch sử  nữa   đều   thuộc   về   loại   này.   Đương   nhiên,   khóa   của   một   mã   chính   là   sách   mã  (codebook), và là cái cũng phải được phân phối và giữ  gìn một cách bí mật  tương tự. Do nhu cầu an ninh, khóa cho mỗi một hệ thống như vậy nhất thiết phải   được trao đổi giữa các bên giao thông liên lạc bằng một phương thức an toàn  nào đấy, trước khi họ sử dụng hệ thống (thuật ngữ thường được dùng là 'thông  qua một kênh an toàn'), ví dụ  như bằng việc sử dụng một người đưa thư  đáng  tin cậy với một cặp tài liệu được khóa vào cổ tay bằng một cặp khóa tay, hoặc   bằng cuộc gặp gỡ  mặt đối mặt, hay bằng một con chim bồ  câu đưa thư  trung  5Nhóm 7 : ĐHKHMT2­K5
  6. Giao thức thỏa thuận khóa Diffie Hellman                               thành... Vấn đề này chưa bao giờ được xem là dễ thực hiện, và nó nhanh chóng   trở nên một việc gần như không thể quản lý được khi số lượng người tham gia   tăng lên, hay khi người ta không còn các kênh an toàn để trao đổi khóa nữa, hoặc   lúc họ phải liên tục thay đổi các chìa khóa­một thói quen nên thực hiện trong khi   làm việc với mật mã. Cụ  thể  là mỗi một cặp truyền thông cần phải có một  khóa riêng nếu, theo như  thiết kế  của hệ  thống mật mã, không một người thứ  ba nào, kể  cả  khi người  ấy là một người dùng, được phép giải mã các thông  điệp. Một hệ  thống thuộc loại này được gọi là một hệ  thống dùng chìa khóa   mật, hoặc một hệ  thống mật mã hóa dùng khóa đối xứng. Hệ  thống trao đổi  khóa Diffie­Hellman (cùng những phiên bản được nâng cấp kế tiếp hay các biến  thể của nó) tạo điều kiện cho các hoạt động này trong các hệ thống trở nên dễ  dàng hơn rất nhiều, đồng thời cũng an toàn hơn, hơn tất cả những gì có thể làm   trước đây. Mặc dù, bản thân thuật toán là một giao thức chọn khóa nặc danh (không cần   thông qua xác thực) nhưng nó đã cung cấp ra một cơ  sở  cho các giao thức xác  thực khác nhau khá hoàn hảo. Phương thức tiếp nối ngay sau Diffie – Hellman là RSA, một thể  hiện của mã   khóa công khai sử dụng thuật toán bất đối xứng.  6Nhóm 7 : ĐHKHMT2­K5
  7. Giao thức thỏa thuận khóa Diffie Hellman                               Chương II: Giao thức thỏa thuận khóa Diffie ­ Hellman 1. Khái niệm thỏa thuận khóa. Thoả  thuận khoá: viêc trao đôi khoa gi ̣ ̉ ́ ữa cac chu thê trong môt công đông nao ́ ̉ ̉ ̣ ̣ ̀ ̀  ̉ ược thiêt lâp môt cach t đó có thê đ ́ ̣ ̣ ́ ự do giữa bât c ́ ứ hai ngươi nao khi có nhu câu ̀ ̀ ̀  ̉ trao đôi thông tin. 2. Giao thức thỏa thuận khóa Diffie ­ Hellman. ­ Trao đổi khóa Diffie – Hellman là thiết lập một khóa chia sẻ bí mật được sử  dụng cho thông tin liên lạc bí mật bằng cách trao đổi dữ  liệu thông qua mạng   công cộng. Đây mà một trong số nhiều phương thức dùng để trao đổi khóa trong   ngành mật mã học. ­ Phương pháp này không cần có sự can thiệp của một TA ( cơ quan  ủy thác)  làm nhiệm vụ điều hành hoặc phân phối khóa. ­ Phương pháp này cho phép những người sử  dụng có thể  cùng nhau tạo ra  một khóa bí mật thông qua một kênh truyền thông không đảm bảo về  độ  bảo   mật. Khóa bí mật này sẽ  được dùng để  người sử  dụng trao đổi thông tin với  nhau. 2.1. Cách thiết lập giao thức thỏa thuận khóa Diffie ­ Hellman. Tình huống: + Alice và Bob muốn chia sẻ thông tin bảo mật cho nhau nhưng phương tiện  truyền thông duy nhất của họ là không an toàn. Tất cả các thông tin mà họ trao  đổi được quan sát bởi Eve kẻ thù của họ.  + Làm thế  nào để  Alice và Bob chia sẻ  thông tin bảo mật cho nhau mà không  làm cho Eve biết được?  + Thoạt nhìn ta thấy Alice và Bob phải đối mặt với một nhiệm vụ không thể.  7Nhóm 7 : ĐHKHMT2­K5
  8. Giao thức thỏa thuận khóa Diffie Hellman                               Giải quyết tình huống trên:  + Alice và Bob đồng ý dùng chung về  một nhóm cyclic hữu hạn G và một yếu  tố tạo ra g trong G. (Điều này thường được thực hiện rất lâu trước khi phần còn  lại của giao thức, g được giả định là được biết đến bởi tất cả các kẻ tấn công) + Khi Alice và Bob muốn truyền thông tin bảo mật cho nhau có thể  cùng thực  hiện theo giao thức sau để trao đổi: 1. ̣   Alice chon ngâu nhiên sô a ̃ ́ ̣ ́ ́ A (0 ≤ aA ≤ p­2) bi mât, tinh  ̀ ửi bA cho Bob .  va g 2. Tương tự, Bob chon ngâu nhiên sô a ̣ ̃ ́ ̣ ́ ́ B (0 ≤ aB ≤ p­2) bi mât, tinh  ̀ ửi bB cho Alice.     va g       3. Alice tính được khóa:  4. Bob tính được khóa:    + Bây giờ Alice và Bob có cùng khóa chung là:                                  + Mô tả giao thức Diffie ­ Hellman bằng bảng sau: Alice Bob Bí mật Công khai Tính toán Gửi Tính toán Công khai Bí  mậ t 8Nhóm 7 : ĐHKHMT2­K5
  9. Giao thức thỏa thuận khóa Diffie Hellman                               aA p, g → aB aA p, g, bA bA→ p, g aB aA ←bB p, g, bB aB aA, KA p, g, bA, bB p, g, bA, bB aB, KB Chú ý là chỉ có aA, aB và KA, KB là được giữ bí mật. Tất cả các giá trị còn lại  như p, g, bA, bB đều công khai. Một khi Alice và Bob tính được khóa bí mật dùng  chung, họ có thể dùng nó làm khóa mã hóa chỉ họ biết để gửi các thông điệp qua   cùng kênh giao tiếp mở. Đương nhiên, để đảm bảo an toàn, các giá trị aA, aB và p  cần được lấy lớn hơn, g không cần lấy giá trị quá lớn. Thực tế thì g thường lấy  giá trị 2 hoặc 5  2.2.  Sơ đồ giao thức thỏa thuận khóa Diffie ­ Hellman. Sơ đồ dưới đây minh họa phần nào ý tưởng chung. Đầu tiên, Alice và Bob đã thống nhất về  màu sơn chung (màu vàng), Alice và  Bob trao đổi màu sắc đã được trộn của họ. Cuối cùng, điều này tạo ra một màu  9Nhóm 7 : ĐHKHMT2­K5
  10. Giao thức thỏa thuận khóa Diffie Hellman                               bí mật giống hệt nhau mà kẻ  khác không có khả  năng tạo được ra giống vậy.   Kể từ đây, Alice và Bob sẽ trao đổi bằng cách mã hóa và giải mã sử dụng khóa   bí mật đó (thể hiện bằng màu sơn bí mật cuối cùng).  Hình 1: Sơ đồ giao thức thỏa thuận khóa Diffie ­ Hellman 2.3. Ví dụ bằng số minh họa. 1. Alice và Bob thống nhất với nhau chọn số nguyên tố p = 37 và g = 5. 2. Alice chọn một giá trị ngẫu nhiên bất kỳ aA = 7 và bí mật aA. 7           Alice tính bA = 5  mod 37 = 18.        Sau đó Alice gửi bA = 18 cho Bob. 10Nhóm 7 : ĐHKHMT2­K5
  11. Giao thức thỏa thuận khóa Diffie Hellman                               Bob chọn một giá trị ngẫu nhiên bất kỳ aB = 5 và bí mật aB Bob tính bB = 55 mod 37 = 17. Sau đó Bob gửi bB = 17 cho Alice. 4. Bob nhận được bA = 18 và tính khóa chung: KB = 184 mod 37=15, và bí mật  KB    5. Alice nhận được bB =17 và tính khóa chung: KA= 177 mod 37=15, và bí mật KA 2.4.  Mở rộng bài toán cho nhiều bên Thỏa thuận khóa Diffie­Hellman không chỉ giới hạn để thương lượng một khóa  dùng chung giữa hai bên. Bất cứ một số lượng người dùng nào cũng có thể tham  gia vào một thỏa thuận như thế bằng cách lặp các giao thức thỏa thuận và trao  đổi dữ liệu trung gian. Ví dụ, Alice, Bob và Carol có thể tham gia vào một thỏa  thuận Diffie­Hellman như sau (với tất cả phép toán đều lấy mod p):  1. Các bên đồng ý với các tham số của giải thuật là p và g.  2. Các bên tự sinh khóa bí mật, đặt tên là aA, aB và ac.  3. Alice tính  và gửi nó cho Bob.  4. Bob tính  =  và gửi nó cho Carol.  5. Carol tính  =  và dùng nó làm khóa bí mật.  6. Bob tính  và gửi nó cho Carol.  7. Carol tính = và gửi nó cho Alice.  8. Alice tính = =  và dùng nó làm khóa bí mật.  9. Carol tính và gửi nó cho Alice.  10. Alice tính  =  và gửi nó cho Bob.  11. Bob tính  =  =  và dùng nó làm khóa bí mật.  Một kẻ nghe trộm có thể biết, , , , ,  nhưng không thể nào kết hợp chúng để sinh  lại . Để mở rộng cơ chế này cho các nhóm lớn hơn cần phải tuân thủ 2 nguyên  tắc cơ bản sau:  Bắt đầu với một khóa “rỗng” chỉ gồm có g, khóa bí mật được tạo ra bằng  cách tăng giá trị hiện tại theo số mũ bí mật của những bên tham gia một lần,  theo thứ tự bất kỳ.  Bất kỳ giá trị trung gian nào (số mũ sẽ lên tới tích N­1 số mũ, trong đó N là số  bên tham gia vào nhóm) đều có thể bị công khai, nhưng giá trị cuối cùng (khi cả  N số mũ đều được dùng) sẽ tạo thành khóa bí mật dùng chung và do đó phải  tránh bị công khai. Vì vậy, mỗi người dùng cần thu về bản sao của khóa mật  bằng cách sử dụng khóa mật của chính họ lúc cuối cùng (mặt khác, không có  cách nào để bên tham gia cuối cùng trao khóa cuối cho bên nhận của nó, vì bên  này phải giữ bí mật khóa)  11Nhóm 7 : ĐHKHMT2­K5
  12. Giao thức thỏa thuận khóa Diffie Hellman                               Những nguyên tắc này mở ra rất nhiều tùy chọn để sắp xếp các bên tham gia  đóng góp tạo khóa. Phương pháp đơn giản và rõ ràng nhất là sắp N bên tham gia  vào một vòng tròn và có N khóa quay quanh vòng tròn này, cho tới khi mỗi khóa  đều đã được N bên đóng góp xây dựng (kết thúc với chính bên sở hữu nó) và  mỗi bên tham gia đều đã đóng góp vào N khóa (kết thúc với khóa của họ). Tuy  nhiên, điều này yêu cầu mỗi bên phải tính N số mũ thành phần. Bằng cách chọn một thứ tự tối ưu hơn, phụ thuộc vào thực tế là các khóa có thể  trùng lặp, chúng ta có thể giảm khối lượng tính toán số mũ của mỗi bên là  log2(N) + 1 sử dụng phương pháp Chia để trị, được đề xuất sau đây đối với 8  bên:  1. Các bên A, B, C và D mỗi bên thực hiện tính toán , giá trị này được gửi  cho E, F, G, H. Ngược lại, họ cũng nhận được .  2. Các bên A và B mỗi bên tính , gửi cho C và D, khi đó C và D cũng làm việc  tương tự là gửi  cho A và B.  3. Bên A tính toán  và gửi cho B, tương tự, B gửi lại  cho A. C và D cũng làm  việc tương tự.  4. Bên A tính số mũ cuối thu được  = , trong khi B làm điều tương tự để  nhận được  = . C và D cũng làm điều tương tự.  5. Các bên từ E qua H đồng thời thực hiện tính toán sử dụng gabcd làm điểm  khởi đầu.  Sau khi hoàn thành thuật toán, tất cả các bên tham gia đều đã sở hữu khóa mật ,  nhưng mỗi bên chỉ phải tính toán 4 lần số mũ thành phần, thay vì phải tính 8 lần  như trong sắp xếp vòng tròn đơn giản.  2.5. Các đặc điểm đặc trưng của giao thức thảo thuận khóa Diffie ­  Hellman. 2.5.1. Giao thưc la an toan đôi v ́ ̀ ̀ ́ ới viêc tân công thu đông ̣ ́ ̣ ̣ . Giao thưc la an toan đôi v ́ ̀ ̀ ́ ới viêc tân công thu đông, nghĩa la môt ng ̣ ́ ̣ ̣ ̀ ̣ ười thứ ba  ́ A và bB sẽ khó ma biêt đ dù biêt b ̀ ́ ược KA,B. Xét ví dụ: 1. Alice và Bob thống nhất với nhau chọn số nguyên tố p = 17 và g = 2. 2. Alice chọn một giá trị ngẫu nhiên bất kỳ aA = 6 và bí mật aA. Alice tính bA = 26 mod 17 = 13. Sau đó Alice gửi bA = 13 cho Bob. 3. Bob chọn một giá trị ngẫu nhiên bất kỳ aB = 9 và bí mật aB Bob tính bB = 29 mod 17 = 2.            12Nhóm 7 : ĐHKHMT2­K5
  13. Giao thức thỏa thuận khóa Diffie Hellman                                     Sau đó Bob gửi bB = 2 cho Alice. 4. Bob nhận được bA = 13 và tính khóa chung: KB = 139 mod 17=13, và bí mật  KB    5. Alice nhận được bB = 2 và tính khóa chung: KA= 26 mod 17=13, và bí mật KA Eve là một kẻ  nghe trộm – cô ta theo dõi những gì Alice và Bob gửi cho nhau  nhưng không thể thay đổi nội dung các cuộc liên lạc. Eve muốn tái thiết lại những thông tin bảo mật mà Alice và Bob chia sẻ  cho   nhau.   Eve sẽ phải đối mặt với một nhiệm vụ thực sự khó khăn. Dưới đây là các biểu đồ giúp xác định ai biết được giá trị nào. (Eve là một kẻ  nghe trộm.) Alice Biết Không biết p = 17 aB= ? g = 5 aA = 6 bA = 26 mod 17 = 13 KA= 26 mod 17=13 KA,B = 13 Bob 13Nhóm 7 : ĐHKHMT2­K5
  14. Giao thức thỏa thuận khóa Diffie Hellman                               Biết Không biết p = 17 aA =? g = 2 aB = 9 bB = 29 mod 17 = 2 KB = 139 mod 17=13 KA,B= 13 Eve Biết Không biết p = 17 aA = ? 14Nhóm 7 : ĐHKHMT2­K5
  15. Giao thức thỏa thuận khóa Diffie Hellman                               g = 2 aB =? KA,B = ? Ta thấy Eve rơi vào tình thế tiến thoái lưỡng nam. Cô ấy biết được giá trị của   bA, bB vì vậy cô ấy biết được , . Cô ấy cũng biết những giá trị của g và p, nhưng  lại không biết được các giá trị của aA, aB và KA, B  Đây chính là bài toán Diffie ­ Hellman mà khi biết b A, bB  tìm KA,B, bài toán này  tương đương với bài toán phá mã ElGammal. Bây giờ ta đi chứng minh điều này. ­ ̣ Phép mât ma ElGammal v ̃ ơi khoa K = (p, ́ ́ g, a, β), trong đó β  = ga mod p cho ta  từ môt ban rõ x va môt sô ngâu nhiên k  ̣ ̉ ̀ ̣ ́ ̃ ̣ ược mât ma  e ∈ Zp­1 lâp đ ̣ ̃ K(x, k) = (y1, y2)  vơi y k k ̉ ́ 1 = g  mod p, y2 = xβ  mod p . Va phép giai ma đ ̀ ̃ ược cho bởi y1 = gk mod p.  Gia s̉ ử ta có thuât toan A giai bai toan Diffie­Hellman.  Ta s ̣ ́ ̉ ̀ ́ ẽ dùng A đê pha ma ̉ ́ ̃  ElGammal như sau:  15Nhóm 7 : ĐHKHMT2­K5
  16. Giao thức thỏa thuận khóa Diffie Hellman                               ̣ ̃ 1, y2). Trước tiên, dung A cho y1 = gk mod p và β=ga mod p ta  Cho mât ma (y được A(y1,B) = gka =βk mod p . Sau đó, ta thu được ban rõ x t ̉ ừ βkvà y2 như  sau:                    x = y2(βk)­1 mod p. Ngược lai, gia s ̣ ̉ ử có môt thuât toan khac la B dùng đê pha ma ElGammal, ̣ ̣ ́ ́ ̀ ̉ ́ ̃   tức là B (p, g, β, y1, y2) = x = y2  (y1a)­1 mod p . Ap  dung B cho  ́ ̣ β=bA ,  y1  = bB,  y2 =1, ta được tức giai đ ̉ ược bai toan Diffie­Hellman. ̀ ́ Trên thực tế  các giá trị  của p, a A,  aB  là rất lớn. Nếu p là số  nguyên tố  có ít  nhất 300 chữ số, aA và aB có ít nhất 100 chữ số thì thậm chí ngay cả thuật toán  tốt nhất được biết đến hiện nay cũng không thể giải được nếu chỉ biết g, p, bA,  bB kể cả khi sử dụng tất cả khả năng tính toán của nhân loại. Bài toán này còn  được biết đến với tên gọi bài toán logarit rời rạc. Bài toán logarit rời rạc vẫn   còn đang gây rất nhiều tranh cãi và chưa có thuật giải cụ thể nào. 2.5.2. Giao thức là không an toàn đối với việc tấn công chủ động.  Giao thưc la không an toan đôi v ́ ̀ ̀ ́ ới viêc tân công chu đông b ̣ ́ ̉ ̣ ằng cach đanh trao ́ ́ ́  giữa đường. Nghĩa la môt ng ̀ ̣ ươi th ̀ ứ ba Eve có thê đanh trao cac thông tin trao ̉ ́ ́ ́   ̉ ữa Alice va Bob.  đôi gi ̀ ̉ ̣ Chăng han, Eve thay  ma Alice đinh g ̀ ̣ ửi cho Bob bởi  và thay  ma Bob đinh g ̀ ̣ ửi  cho Alice bởi . Như vây, sau khi th ̣ ực hiên giao th ̣ ưc trao đôi khoa, Alice đa lâp ́ ̉ ́ ̃ ̣   ̣ môt khoa chung v ́ ơi Eve ma vân t ́ ̀ ̃ ưởng la v ̀ ơi Bob; đông th ́ ̀ ời Bob cung lâp môt ̃ ̣ ̣  khoa chung v ́ ơi Eve ma vân t ́ ̀ ̃ ưởng la v ̀ ơi Alice. Eve có thê giai ma moi thông bao ́ ̉ ̉ ̃ ̣ ́  ma Alice t ̀ ưởng nhâm la mình g ̀ ̀ ửi đên Bob cung nh ́ ̃ ư  moi thông bao ma Bob ̣ ́ ̀   tưởng nhâm la mình g ̀ ̀ ửi đên Alice. ́ ̣ ́ ̣ ̉ ́ ̉ Môt cach khăc phuc kiêu tân công nay la lam sao đê Alice va Bob có kiêm th ́ ̀ ̀ ̀ ̀ ̉ ử  ̉ ́ ̣ ́ ́ ̉ đê xac nhân tinh đúng đăn cua cac khoa công khai b ́ ́ Avà bB. Ngươi ta đ̀ ưa vao giao ̀   thưc trao đôi khoá Diffie­Hellman thêm vai trò đi ́ ̉ ều phôi cua môt TA đê đ ́ ̉ ̣ ̉ ược  ̣ ̣ môt hê phân phôi khoa Diffie­Hellman nh ́ ́ ư môt cach khăc phuc nh ̣ ́ ́ ̣ ược điêm nay. ̉ ̀   ̣ Trong hê phân phôi khoa Diffie­Hellman, s ́ ́ ự can thiêp cua TA la rât yêu, th ̣ ̉ ̀ ́ ́ ực ra  TA chỉ  lam m̀ ỗi viêc la câp ch ̣ ̀ ́ ứng chỉ  xac nhân khoa công khai cho t ́ ̣ ́ ừng ngươì  dùng chứ không đòi hỏi biêt thêm bât c ́ ́ ứ môt bi mât nao cua ng ̣ ́ ̣ ̀ ̉ ươi dùng. Tuy ̀   16Nhóm 7 : ĐHKHMT2­K5
  17. Giao thức thỏa thuận khóa Diffie Hellman                               ́ ưa thoa man v nhiên, nêu ch ̉ ̃ ơi vai trò han chê đó cua TA thì có thê cho TA môt vai ́ ̣ ́ ̉ ̉ ̣   ̣ ́ ơn, không liên quan gì đên khoa, chăng han nh trò xac nhân yêu h ́ ́ ́ ̉ ̣ ư xac nhân thuât ́ ̣ ̣  ̉ toan kiêm th ́ ử chữ ky cua ng ́ ̉ ươi dùng, còn ban thân cac thông tin v ̀ ̉ ́ ề khoa  (ca bi ́ ̉ ́  ̣ ̃ ́ ươi dùng trao đôi tr mât lân công khai) thì do cac ng ̀ ̉ ực tiêp v ́ ới nhau. Với cách  khắc phục có vai trò hết sức hạn chế đó của TA, ta được giao thức sau đây:  2.6. Giao thức thỏa thuận khóa Diffie ­ Hellman có chứng chỉ  xác  nhận. Mỗi ngươi dùng A có môt danh tinh ID(A) va môt s ̀ ̣ ́ ̀ ̣ ơ  đô ch ̀ ữ  ky v ́ ơi thuât ́ ̣  toan ky sig ̣ ́ ́ A va thuât toan kiêm th ̀ ́ ̉ ử verA. TA cung có môt vai trò xac nhân, nh ̃ ̣ ́ ̣ ưng  ̉ ̣ không phai xac nhân bât ky thông tin nao liên quan đên viêc tao khoa mât ma cua ́ ́ ̀ ̀ ́ ̣ ̣ ́ ̣ ̃ ̉   ngươi dùng (dù la khoa bi mât hay khoa công khai), ma ch ̀ ̀ ́ ́ ̣ ́ ̀ ỉ la xac nhân môt thông ̀ ́ ̣ ̣   ̣ tin it quan hê khac nh ́ ́ ư thuât toan kiêm th ̣ ́ ̉ ử chữ ky cua ng ́ ̉ ươi dùng. Còn ban thân ̀ ̉   ̣ ̣ cac thông tin liên quan đên viêc tao khoa mât ma thì cac ng ́ ́ ́ ̣ ̃ ́ ười dùng sẽ  trao đôỉ   trực tiêp v ́ ơi nhau.  TA cung có môt s ́ ̃ ̣ ơ  đô ch ̀ ữ  ky cua mình, gôm môt thuât toan ́ ̉ ̀ ̣ ̣ ́  ky sig ̀ ̣ ̣ ́ TA va môt thuât toan kiêm th ́ ̉ ử  công khai verTA. Chưng ch́ ỉ  ma TA câp cho ̀ ́   mỗi ngươi A s ̀ ẽ la:̀ C(A) = (ID(A), verA, sigTA (ID(A), verA )). Rõ rang trong ch ̀ ưng ch ́ ỉ đó TA không xac nhân bât ky đi ́ ̣ ́ ̀ ều gì liên quan đên viêc ́ ̣   ̣ ́ ̉ ̉ tao khoa cua A ca.  Cơ chế giao thức thỏa thuận khóa Diffie ­ Hellman có chứng chỉ xác nhận ̣ ̉ ́ ữa hai ngươi dùng A va B đ Viêc trao đôi khoa gi ̀ ̀ ược thực hiên theo giao th ̣ ưc sau ́   đây: 1. ̣ A chon ngâu nhiên sô a ̃ ̀ ửi bA cho B. ́ A (0 ≤ aA(≤ p­2), tính  va g 2. ̣ ́ B (0 ≤ aB≤ p­2), tính, tính tiếp,  va g B chon ngâu nhiên sô a ̃ ̀ ửi (C(Alice), bB, yB)  cho A.  3. ̉ ̉ A tính dùng verB đê kiêm th ử yB , dùng verTA đê kiêm th ̉ ̉ ử   C(B), sau đó tinh ́   ̀ ửi (C(A), yA) cho B. yA= sigA(bA, bB ) va g 4. ̉ ̉ B dùng verA  đê kiêm th ử yA và dùng verTA đê kiêm th ̉ ̉ ử C(A). ́ ́ ̉ ́ ươc đó đ  Nêu tât ca cac b ́ ược thực hiên va cac phép kiêm th ̣ ̀ ́ ̉ ử  đều cho kêt qua ́ ̉  đúng đăn thì giao th ́ ưc đ ́ ược kêt thúc, va ca A va B đ ́ ̀ ̉ ̀ ều có được khoa chung K. ́   ̣ ̣ ̉ Do viêc dùng cac thuât toan kiêm th ́ ́ ử nên A biêt chăc gia tri b ́ ́ ́ ̣ B la cua B va B biêt ̀ ̉ ̀ ́  17Nhóm 7 : ĐHKHMT2­K5
  18. Giao thức thỏa thuận khóa Diffie Hellman                               ́ ̣ A cua A, loai tr chăc gia tri b ́ ̉ ̣ ư kha năng môt ng ̀ ̉ ̣ ươi C nao khac đanh trao cac gia tri ̀ ̀ ́ ́ ́ ́ ́ ̣  đó giữa đương.̀ 18Nhóm 7 : ĐHKHMT2­K5
  19. Giao thức thỏa thuận khóa Diffie Hellman                               Tài liệu tham khảo 1. Giáo trình an toàn và bảo mật thông tin – Trường ĐH Hàng Hải 2. Giáo trình an toàn bảo mật thông tin – Trường ĐH Giao Thông Vân Tải 3. Whitfield Diffie, Martin E. Hellman, “ New Directions in Cryptography”, IEEE  transactions on information theory, Vol. IT­22, No.6, November 1976. 4. A Review of the Diffie­Hellman Algorithm and its Use in Secure Internet  Protocols ­ David A. Carts 5. Diffie­Hellman Key Exchange – A Non­Mathematician’s Explanation http://www.packetsource.com/article/encryption/40070/diffie­hellman­key­ exchange­a­non­mathematicians­explanation 6.  Discrete Logarithms and Diffie ­ Hellman.  7.  http://www.math.brown.edu/~jhs/MathCrypto/SampleSections.pdf  8.  http://bytes.com/topic/c/answers/795749­storing­doing­modulus­long­doubles  9.  http://diendan.congdongcviet.com/showthread.php?t=48110  10.  http://diendan.congdongcviet.com/showthread.php?t=4155 11.  http://en.wikipedia.org/wiki/Primitive_root_modulo_n 12.  http://vi.wikipedia.org/wiki/C%C4%83n_nguy%C3%AAn_th%E1%BB  %A7y_modulo_n 13.  http://stackoverflow.com/questions/5656835/generator­gs­requirement­to­be­a­ primitive­root­  modulo­p­in­the­diffie­hellman?rq=1 14.  Cryptography in C and C++  ­  Michael Welschenbach 2nd Edition (2005) 15.  Primitive Roots  ­ David Savtt 16.  The Primitive Root Theorem ­ Philadelphia University 17.  New Directions in Cryptography ­ Invited Paper ­ Whitfield Diffie and Martin  E. Hellman 19Nhóm 7 : ĐHKHMT2­K5
  20. Giao thức thỏa thuận khóa Diffie Hellman                               18.  A Review of the Diffie­Hellman Algorithm and its Use in Secure Internet  Protocols ­ David A. Carts 19.  Video: Public Key Cryptography­ Diffie­Hellman Key Exchange Primitive Root Calculator 20.  Và một số tài liệu và các trang web khác. 20Nhóm 7 : ĐHKHMT2­K5
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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