29
Nhóm: 2 Thành viên: Lưu Doãn Bắc Phan Lạc Dương Nguyễn Xuân Hiệp MÃ HÓA KHÓA CÔNG KHAI HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Hà Nội, 3-2014

Slide An Ninh Mạng.pptx

Embed Size (px)

Citation preview

Page 1: Slide An Ninh Mạng.pptx

Nhóm: 2

Thành viên: Lưu Doãn Bắc

Phan Lạc Dương

Nguyễn Xuân Hiệp

MÃ HÓA KHÓA CÔNG KHAI

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Hà Nội, 3-2014

Page 2: Slide An Ninh Mạng.pptx

I. Giới thiệu về mã hóa và mã hóa không đối xứng

1 Khái niệm về mã hóa:

1.1 Khái niệm

1.2 Các yêu cầu đối với mã hóa.

1.3 Phân loại mã hóa.

1.4 Tại sao cần phải mã hóa.

2 Mã hóa bất đối xứng.

2.1 Tại sao mã hóa không đối xứng ra đời

2.2 Cơ chế hoạt động.

2.3 Các đặc điểm của hệ mã hóa không đối xứng

Page 3: Slide An Ninh Mạng.pptx

I. Giới thiệu về mã hóa và mã hóa không đối xứng

1 Khái niệm về mã hóa:

Nói đến mã hóa tức là nói đến việc che dấu thông tin bằng cách sử dụng thuật toán

Page 4: Slide An Ninh Mạng.pptx

Ví dụ:

E 3

A 4

Page 5: Slide An Ninh Mạng.pptx

Các yêu cầu đối với mã hóa.

1• Confidentiality (Tính bí mật)

2• Authentication (Tính xác thực)

3 • Integrity (Tính toàn vẹn)

4 • Non-repudation (Tính không thể chối bỏ)

Page 6: Slide An Ninh Mạng.pptx

Phân loại mã hóa.

Mã hóa

theo các phương pháp

Mã hóa cổ điển

Mã hóa đối xứng

Mã hóa bất đổi xứng

Hàm băm một chiều

theo số lượng khóa

Mã hóa khóa bí mật

Mã hóa khóa công khai

Page 7: Slide An Ninh Mạng.pptx

Tại sao phải mã hóa

Lỗi Hệ Thống

Page 8: Slide An Ninh Mạng.pptx

2. Mã hóa không đối xứng

Nó được thiết kế sao cho khóa sử dụng trong quá trình mã hóa khác biệt với khóa được sử dụng trong quá trình giải mã.

Page 9: Slide An Ninh Mạng.pptx

Tại sao mã hóa bất đối xứng ra đời?

Vấn đề trao đổi khóa

giữa người gửi và người

nhận

Tính bí mật của khóa

Mã hóa không

đối xứng

Page 10: Slide An Ninh Mạng.pptx

Cơ chế hoạt độngSender yêu cầu cung cấp hay tự tìm khóa công khai của Receiver trên Server chịu trách nhiệm quản lí khóa công khai đấy.Sau đó 2 bên thỏa thuận thuật toán, Sender sử dụng mã công khai của Receiver cùng vs thuật toán đã thỏa thuận để mã hóaThông tin sau khi được mã hóa gủi đến Receiver, lúc này chính Sender cũng không thể giải mã thông tin đó.Receiver sẽ dùng khóa của mình để giải mã và lấy thông tin

Page 11: Slide An Ninh Mạng.pptx

Đặc điểm của mã hóa không đối xứng

Khối lượng tính toán lớn

Mẫu chốt là Private key.

Hệ thống này an toàn hơn

Tốc độ mã hóa chậm hơn

Page 12: Slide An Ninh Mạng.pptx

CHƯƠNG III: GIẢI THUẬT RSA

1. Giới thiệu về RSA

2. Mô tả hoạt động của RSA

3. Các vấn đề của RSA

4. Ứng dụng thực tế của RSA

Page 13: Slide An Ninh Mạng.pptx

3.1. Giới thiệu về RSA- RSA là một giải thuật mã hóa khóa công khai được phát triển vào năm 1977 tại Học Viện Công Nghệ Masachusetts. Tên tiêu chuẩn được lấy từ 3 chữ cái đầu tiên của tên 3 tác giả Ronal Rivest, Adi Shamir, Leonard Adleman- RSA được xem là một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc SD khóa công khai. RSA đang được SD phổ biến trong thương mại điện tử

Page 14: Slide An Ninh Mạng.pptx

3.2. Mô tả hoạt động của RSA- Khóa công khai ( Pulic Key )- Khó bí mật ( Private Key )

Page 15: Slide An Ninh Mạng.pptx

QUÁ TRÌNH TẠO KHÓA, MÃ HÓA, GIẢI MÃ

Page 16: Slide An Ninh Mạng.pptx

VÍ DỤ

Lấy p = 61, q = 53

n = pq = 3233,

e = 17

d = 2753

Khi đó:- Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính:

M = 12317 mod 3233 = 855

- Để giải mã văn bản có giá trị 855, ta thực hiện phép tính:

C = 8552753 mod 3233 = 123

Page 17: Slide An Ninh Mạng.pptx

CÁC VẤN ĐỀ CỦA RSA

- Vét cạn khóa: Cách tấn công này thử tất cả các khóa d có thể có để tìm ra bản giải mã.

- Phân tích N = p.q: Người ta cho rằng việc làm này là bất khả thi. Tuy nhiên với sự phát triển về tốc độ xử lý của máy tính ngày càng nhanh, cùng với sự ra đời của rất nhiều các thuật toán phân tích mới thì RSA đã bị phá mã vào năm 1994 bằng thuật toán Quadratic sieve

- Đo thời gian: Trong thuật toán bình phương liên tiếp, nếu 1 bit của d là 1 thì xảy ra hai phép modulo, còn nếu bít đó là 0 thì chỉ có 1 phép modulo, do đó thời gian thực hiện giải mã là khác nhau. Bằng một số phép thử chosen – plaintext người pha mã có thể biết được các bit của d là 0 hay 1 và từ đó biết được d

Page 18: Slide An Ninh Mạng.pptx

ỨNG DỤNG THỰC TẾ CỦA RSA1. Chữ ký điện tử- Chữ ký điện tử là chữ ký được tạo lập dưới dạng từ, chữ số, ký hiệu,

âm thanh hoặc các hình thức khác bằng phương tiện điện tử- Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một

chiều trên văn bản gốc để tạo ra bản phân tích văn bản (message digest ) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc được tính lại fingerprint để so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số.

2. SSL- Ra đời vào năm 1994, bởi Netscape- SSL là giao thức đa mục đích được thiết kế nhằm mã hóa toàn bộ

thông tin đến/đi giữa 2 chương trình, ứng dụng một cổng định trước (socket 443). Phiên bản SSL hiện nay là SSL 3.0 và đang được tiếp tục bổ xung hoàn thiện

Page 19: Slide An Ninh Mạng.pptx

CHƯƠNG VI:

GIAO THỨC THỎA THUẬN KHÓA DIFFIE - HELLMAN

Page 20: Slide An Ninh Mạng.pptx

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

4.1.1. Khái niệm thỏa thuận khóa.

Thoả thuận khoá: việc trao đổi khoá giữa các chủ thể trong một cộng đồng nào đó có

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

thông tin.

4.2.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 1 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 .

Page 21: Slide An Ninh Mạng.pptx

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?

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ố aA (0 ≤ aA ≤ p-2) bí mật, tính bA= gaA mod p

và gửi bA cho Bob

2. Tương tự, Bob chọn ngẫu nhiên số aB (0 ≤ aB ≤ p-2) bí mật, tính bB= gaBmod p và gửi bB cho

Alice.

Page 22: Slide An Ninh Mạng.pptx

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:

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, 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.

Alice

Bob

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 aB

aA P, g , bA bA= gaA mod p bA P, g aB

aA bB bB= gaB mod p P, g , , bB aB

aA ,KA P, g , bA, bB

P, g , bA, bB aB , KB

modAaA BK b p

modBaB AK b p

modBaB AK b p

Page 23: Slide An Ninh Mạng.pptx

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

Page 24: Slide An Ninh Mạng.pptx

Alice Bob Eve

Biết Không Biết

Biết Không biết

Biết Không biết

p=17 aB=? p=17 aA =? p=17 aA =?

g=5 g=2 g=2 aB=?

aA =6 aB=9 KA,B=?

bA =26 mod17=13 bB =29 mod17=2 bA=2aAmod17=13

bB =2aB mod 17=2 bA =2aA mod17=13 bB =2aB mod 17=2

KA=26 mod17=13 KB=139mod17=13 KA=2aAmod17

KB=13aBmod17=13 KA=2aAmod17=13 KB=13aBmod17

KA,B=26mod17

=13aB mod 17KA,B=2aAmod17=139 mod 17

KA,B=2aAmod17

=13aB mod 17

KA,B=13 KA,B=13

Page 25: Slide An Ninh Mạng.pptx

4.2.3.3. Giao thức là không an toàn đối với việc tấn công chủ động.

• Giao thức là không an toàn đối với việc tấn công chủ động bằng cách đánh tráo giữa đường. Nghĩa là một người thứ ba Eve có thể đánh tráo các thông tin trao đổi giữa Alice và Bob.

• Chẳng hạn, Eve thay gaA mà Alice định gửi cho Bob bởi ga’A và thay gaB mà Bob định gửi cho Alice bởi ga’B . Như vậy, sau khi thực hiện giao thức trao đổi khoá, Alice đã lập một khoá chung gaAa’B với Eve mà vẫn tưởng là với Bob; đồng thời Bob cũng lập một khoá chung ga’AaB với Eve mà vẫn tưởng là với Alice. Eve có thể giải mã mọi thông báo mà Alice tưởng nhầm là mình gửi đến Bob cũng như mọi thông báo mà Bob tưởng nhầm là mình gửi đến Alice.

• Một cách khắc phục kiểu tấn công này là làm sao để Alice và Bob có kiểm thử để xác nhận tính đúng đắn của các khoá công khai bA và bB. Người ta đưa vào giao thức trao đổi khoá Diffie-Hellman thêm vai trò điều phối của một TA để được một hệ phân phối khoá Diffie-Hellman như một cách khắc phục nhược điểm này. Trong hệ phân phối khoá Diffie-Hellman, sự can thiệp của TA là rất yếu, thực ra TA chỉ làm mỗi việc là cấp chứng chỉ xác nhận khoá công khai cho từng người dùng chứ không đòi hỏi biết thêm bất cứ một bí mật nào của người dùng.

Page 26: Slide An Ninh Mạng.pptx

Giao thức giành cho nhiều người

Nguyên tắc cơ bản

Trước tiên xét ví dụ Alice, Bob và Carol cùng tham gia giao thức Diffie-

Hellman như sau (tất cả tính toán dưới đây dựa trên modulo  ):

1. Các bên thỏa thuận trước về các tham số p và g.

2. Mỗi bên tự tạo khóa riêng tư, gọi tên là  a, b, và c .

3. Alice tính ga gửi cho Bob.

4. Bob tính (ga)b và gửi cho Carol.

5. Carol tính (gab)c =gabc và sử dụng giá trị đó làm khóa bí mật chia sẻ.

6. Bob tính gb và gửi cho Carol.

7. Carol tính (gb)c và gửi cho Alice.

8. Alice tính (gbc )a = gbca =gabc và sử dụng giá trị đó làm khóa bí mật chia sẻ.

9. Carol tính gc và gửi cho Alice.

10.Alice tính (gc)a và gửi cho Bob.

11.Bob tính (gca)b  =gcab = gabc và sử dụng giá trị đó làm khóa bí mật chia sẻ.

Page 27: Slide An Ninh Mạng.pptx

Mã hóa đối xứng (mã hóa bí mật Mã hóa bất đối xứng(mã hóa công khai)

+ Sử dụng cùng 1 khóa bởi người gửi (cho việc mã hóa) và người nhận (cho việc giải mã).

+Thuật toán được chấp nhận rộng rãi nhất cho việc mã hóa khóa bí mật là thuật toán chuẩn mã hóa dữ liệu (DES) . Giao thức SET chấp nhận thuật toán DES với chìa khóa 64 bit của nó . Thuật toán này có thể phá mã được nhưng phải mất nhiều năm với chi phí hàng triệu đôla.

+Người gửi và người nhận thông điệp phải chia sẻ 1 bí mật, gọi là chìa khóa.

Sử dụng 2 khóa khác nhau ,1 khóa công khai (để mã hóa thông điệp – tất cả người sử dụng được phép biết ) và 1 khóa riêng (để mã hóa thông điệp –chỉ có người sở hữu nó mới biết . + Thuật toán được chấp nhận rộng rãi nhất cho việc mã hóa công khai là thuật toán RSA với nhiều kích cỡ khác nhau (1024 bít) .Thuật toán này không bao giờ bị phá bởi các hacker ,do đó nó được xem là phương pháp mã hóa an toàn nhất được biết cho đến nay .

+ Thông điệp được mã hóa chỉ có thể được giải mã với chìa kháo riêng của người nhận .

Page 28: Slide An Ninh Mạng.pptx

+ Hiện nay người ta phổ biến dùng các thuật toán bất đối xứng có tốc độ chậm hơn để phân phối chìa khóa đối xứng khi một phiên giao dịch bắt đầu, sau đó các thuật toán khóa đối xứng tiếp quản phần còn lại . Vấn đề về bảo quản sự phân phối chìa khóa một cách đáng tin cậy cũng tồn tại ở tầng đối xứng, song ở một điểm nào đấy, người ta có thể kiểm soát chúng dễ dàng hơn. Tuy thế, các khóa đối xứng hầu như đều được sinh tạo tại chỗ.

+Các thuật toán khóa đối xứng không thể dùng cho mục đích xác thực(authentication )hay mục đích thoái thác (non-repudiation) được.

+ Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán thấp .

+ Ứng dụng rõ ràng nhất của mật mã hóa bất đối xứng là bảo mật :1 văn bản được mã hóa bằng khóa công khai của 1 người sử dụng thì chỉ có thể giải mã với khóa bí mật của người đó .

+Các thuật toán tạo chữ ký số khóa công khai có thể dùng để nhận thực .

+Các thuật toán bất đối xứng có công suất tính toán cao .(có khối lượng tính toán nhiều hơn hàng trăm,hàng ngàn lần 1 thuật toán khóa đối xứng có chất lượng tương đương

Page 29: Slide An Ninh Mạng.pptx

CẢM ƠN THẦY VÀ CÁC BẠN ĐÃ CHÚ Ý LẮNG NGHE !