1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài giao thức thỏa thuận khóa diffie hellman

16 594 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 851,34 KB

Nội dung

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ươ

Trang 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ị

Hà Nội, Tháng 11/2012

Trang 2

Giao thức thỏa thuận khóa Diffie Hellman

Mục Lục MụC LụC 1

PHÂN CÔNG CÔNG VIệC 2

LờI Mở ĐầU 3

CHƯƠNG I: GIớI THIệU Về GIAO THứC DIFFIE - HELLMAN 4

CHƯƠNG II: GIAO THứC THỏA THUậN KHÓA DIFFIE - HELLMAN 6

1 KHÁI NIệM THỏA THUậN KHÓA 6

2 GIAO THứC THỏA THUậN KHÓA DIFFIE - HELLMAN 6

2.1 Cách thiết lập giao thức thỏa thuận khóa Diffie - Hellman 6

2.2 Sơ đồ giao thức thỏa thuận khóa Diffie - Hellman 7

2.3 Ví dụ bằng số minh họa 8

2.4 Mở rộng bài toán cho nhiều bên 9

2.5 Các đặc điểm đặc trưng của giao thức thảo thuận khóa Diffie - Hellman 10 2.5.1 Gi o thức à n toàn đối với việc t n c ng thụ động 10

2.5.2 Giao thức à kh ng n toàn đối với việc t n công chủ động 12

2.6 Giao thức thỏa thuận khóa Diffie - Hellman có chứng chỉ xác nhận 13

TÀI LIệU THAM KHảO 15

Trang 3

Phân công công việc

Trang-trang

Nhận xét

1 0541060168 Nguyễn Thị Nhâm

Tìm hiểu về giao thức thỏa thuận khóa

Hellman + Ví

dụ bằng số minh họa

4 - 10

Tích cực hoạt động,

và nghiên cứu.Hoàn thành tốt nhiệm vụ

2 0541060137 Lê Thanh Nghị

Viết chương trình thực hiện giao thức Diffie

- Hellman

Tích cực nghiên cứu Hoàn thành tốt nhiệm vụ

3 0541060129 Nguyễn Đình Triệu

Tìm hiểu các đặc điểm đặc trưng của giao thức thỏa thuận khóa Diffie - Hellman

10 - 14

Tích cực nghiên cứu Hoàn thàn tốt nhiệm vụ

4 0541060165 Phạm Thị Yến

Tìm hiểu về giao thức thỏa thuận khóa

Hellman + Ví

dụ bằng số min họa

4 - 10

Tích cực nghiên cứu Hoàn thành tốt nhiệm

vụ

Trang 4

Giao thức thỏa thuận khóa Diffie Hellman

Lời mở đầu

Tr o đổi thông tin luôn là nhu cầu cần thiết củ 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 ĩnh vực củ đời sống xã hội như: chính trị, quân sự, học tập, mua sắm, kinh do nh,… T t cả những thông tin liên

qu n đế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 i 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 ê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à đư r r t nhiều giải pháp bảo mật thông tin Trong đó gi o 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 ĩ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ủ nhóm đi sâu về đi sâu vào trình bày gi o 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!

Trang 5

Chương I: Giới thiệu về giao thức Diffie - Hellman

Năm 1976, một sự đột phá đã th y đổ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ó Đó chính à 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 à tr o đổ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)

Tr o đổ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 M co m J Wi i mson) Vào năm 2002, He m n đã đư r thuật toán được gọi chung à tr o đổi khóa Diffie–Hellman–Merkle công nhận sự đóng góp của cả R ph Merk e, người đã phát minh r 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ó đối xứng (symmetric key gorithms), 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ả h i 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ữ đều thuộc về loại này Đương nhiên, khó của một mã chính à sách mã (codebook), và à 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 tr o đổ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 đư 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 đư thư trung thành V n đề này chư b o 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 ý được khi số ượng người th m gi tăng ên, h y khi người ta

kh ng còn các kênh n toàn để tr o đổi khóa nữa, hoặc lúc họ phải liên tục th y đổi

Trang 6

Giao thức thỏa thuận khóa Diffie Hellman

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ó dùng khó đối xứng Hệ thống tr o đổ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 n toàn hơn, hơn t t cả những gì có thể à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

Trang 7

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 tr o đổi khoá giữ các chủ thể trong một cộng đồng nào đó

có thể được thiết ập một cách tự do giữ b t cứ h i người nào khi có nhu cầu tr o

đổi th ng tin

2 Giao thức thỏa thuận khóa Diffie - Hellman

- Tr o đổ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 tr o đổ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 để tr o đổ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ơ qu n ủ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 tr o đổ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 nh u 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ọ tr o đổ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ể

Giải quyết tình huống trên:

+ A ice 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 âu trước khi phần còn lại của giao thức, g được giả định à đượ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 s u để tr o đổi:

1 A ice chọn ngẫu nhiên số A (0 ≤ A ≤ p-2) bí mật, tính

p g

b a A

A mod và gửi bA cho Bob

2 Tương tự, Bob chọn ngẫu nhiên số B (0 ≤ B ≤ p-2) bí mật, tính

b Bg a Bmod p và gửi bB cho Alice

3 Alice tính được khóa: K b a A p

B

A  mod

Trang 8

Giao thức thỏa thuận khóa Diffie Hellman

4 Bob tính được khóa: K b a B p

A

B  mod + Bây giờ Alice và Bob có cùng khóa chung là:

K K g a A a B p

B

A   mod + Mô tả giao thức Diffie - Hellman bằng bảng sau:

Bí mật Công khai Tính toán Gửi Tính toán Công khai Bí mật

aA p, g, bA b g a A p

B  mod 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 à đượ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 A ice 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, A ice và Bob đã thống nh t về màu sơn chung (màu vàng), Alice và Bob

tr o đổ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 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ẽ tr o đổ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)

Trang 9

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

Alice tính bA = 57 mod 37 = 18

S u đó A ice gửi bA = 18 cho Bob

3 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

S u đó 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

Trang 10

Giao thức thỏa thuận khóa Diffie Hellman

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ỏ thuận khó Diffie-He m n kh ng chỉ giới hạn để thương ượng một khó dùng chung giữ h i bên B t cứ một số ượng người dùng nào cũng có thể th m

gi vào một thỏ thuận như thế bằng cách ặp các gi o thức thỏ thuận và tr o đổi

dữ iệu trung gi n Ví dụ, A ice, Bob và C ro có thể th m gi vào một thỏ thuận Diffie-He m n như s u (với t t cả phép toán đều y mod p):

1 Các bên đồng ý với các th m số củ giải thuật à p và g

2 Các bên tự sinh khó bí mật, đặt tên à A, aB và ac

3 Alice tính a A

g và gửi nó cho Bob

4 Bob tính a A a B

g )

( = a A a B

g và gửi nó cho C ro

5 Carol tính a A a B a C

( = a A a B a C

g và dùng nó àm khó bí mật

6 Bob tính a B

g và gửi nó cho C ro

7 Carol tính a B a C

g )

( = a B a C

g và gửi nó cho A ice

8 Alice tính a B a C a A

( = a B a C a A

g = a A a B a C

g và dùng nó àm khó bí mật

9 Carol tính a C

g và gửi nó cho A ice

10 Alice tính a C a A

g ) ( = a A a C

g và gửi nó cho Bob

11 Bob tính a C a A a B

g = a C a A a B

g = a A a B a C

g và dùng nó àm khó bí mật

Một kẻ nghe trộm có thể biết a A

g , a B

g , a C

g , a A a B

g , a B a C

g , a C a A

g nhưng kh ng thể nào kết hợp chúng để sinh ại a A a B a C

g Để mở rộng cơ chế này cho các nhóm ớn hơn cần phải tuân thủ 2 nguyên tắc cơ bản s u:

 Bắt đầu với một khó “rỗng” chỉ gồm có g, khó bí mật được tạo r bằng cách tăng giá trị hiện tại theo số mũ bí mật củ những bên th m gi một ần, theo thứ tự

b t kỳ

 B t kỳ giá trị trung gi n nào (số mũ sẽ ên tới tích N-1 số mũ, trong đó N à số bên th m gi vào nhóm) đều có thể bị c ng kh i, nhưng giá trị cuối cùng (khi cả N

số mũ đều được dùng) sẽ tạo thành khó bí mật dùng chung và do đó phải tránh bị

c ng kh i Vì vậy, mỗi người dùng cần thu về bản s o củ khó mật bằng cách sử dụng khó mật củ chính họ úc cuối cùng (mặt khác, kh ng có cách nào để bên

th m gi cuối cùng tr o khó cuối cho bên nhận củ nó, vì bên này phải giữ bí mật khóa)

Trang 11

1 Các bên A, B, C và D mỗi bên thực hiện tính toán a A a B a C a D

g , giá trị này được gửi cho E, F, G, H Ngược ại, họ cũng nhận được a E a F a G a H

2 Các bên A và B mỗi bên tính a E a F a G a H a A a B

g , gửi cho C và D, khi đó C và D cũng àm việc tương tự à gửi a E a F a G a H a C a D

g cho A và B

3 Bên A tính toán a E a F a G a H a C a D a A

g và gửi cho B, tương tự, B gửi ại a E a F a G a H a D a C a B

g

cho A C và D cũng àm việc tương tự

4 Bên A tính số mũ cuối thu được a E a F a G a H a C a D a B a A

g = a A a B a C a D a E a F a G a H

g , trong khi B

àm điều tương tự để nhận được a E a F a G a H a C a D a A a B

g = a A a B a C a D a E a F a G a H

àm điều tương tự

5 Các bên từ E qu H đồng thời thực hiện tính toán sử dụng g bcd àm điểm khởi đầu

S u khi hoàn thành thuật toán, t t cả các bên th m gi đều đã sở hữu khó mật

H G

F

E

D

C

B

A a a a a a a a

a

g , nhưng mỗi bên chỉ phải tính toán 4 ần số mũ thành phần, th y vì phải tính 8 ầ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 à an toàn đối ới iệc t n c ng thụ động

Gi o thức à n toàn đối với việc t n c ng thụ động, nghĩ à một người thứ b

dù biết bA và bB sẽ khó mà biết được A,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

S u đó 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

S u đó 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ể th y đổ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 à 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.)

Ngày đăng: 24/07/2016, 11:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
3. Whitfie d Diffie, M rtin E. He m n, “ New Directions in Cryptogr phy”, IEEE transactions on information theory, Vol. IT-22, No.6, November 1976 Sách, tạp chí
Tiêu đề: New Directions in Cryptogr phy
5. Diffie-Hellman Key Exchange – A Non-M them tici n’s Exp n tion http://www.packetsource.com/article/encryption/40070/diffie-hellman-key-exchange-a-non-mathematicians-explanation Link
1. Giáo trình an toàn và bảo mật thông tin – Trường ĐH Hàng Hải Khác
2. Giáo trình an toàn bảo mật thông tin – Trường ĐH Gi o Th ng Vân Tải Khác
4. A Review of the Diffie-Hellman Algorithm and its Use in Secure Internet Protocols - David A. Carts Khác
14. Cryptography in C and C++ - Michael Welschenbach 2 nd Edition (2005) 15. Primitive Roots - David Savtt Khác
16. The Primitive Root Theorem - Philadelphia University Khác
17. New Directions in Cryptography - Invited Paper - Whitfield Diffie and Martin E. Hellman Khác
18. A Review of the Diffie-Hellman Algorithm and its Use in Secure Internet Protocols - David A. Carts19. Video Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w