Chương 5 chứng thực thông điệp

Phạm Văn Tho

1

Nội dung

Bảo toàn dữ liệu

Chứng thực thông điệp

Nhóm chứng thực thông điệp

Dùng hệ mật mã

Dùng MAC (Massage Authentication code)

Dùng hàm hash

2

Các kiểu tấn công qua mạng

1. Disclosure

Encryption

2. Traffic Analysis

3. Maquarade

4. Content modification

Massage  Authentication

5. Sequence modification

6. Timing modification

Digital Signature

7. Repudiation

3

Bảo toàn dữ liệu (data integrity)

Dữ liệu được truyền trên mạng không chỉ cần bảo mật mà cần được bảo toàn.

Đôi khi yêu cần bảo toàn cần thiết

hơn bảo mật nó.

4

Chứng thực thông điệp

Là thủ tục để kiểm tra xem thông

điệp nhận được đến từ 1 nguồn gốc rõ ràng và có bị sửa đổi hay không

Khi nhận thông báo, người nhận cần

phải biết ai gởi thông báo

Người gởi cần chứng thực

(authentication) thông báo của mình

5

Chứng thực thông điệp

Bất kỳ cơ chế chứng thực thông báo

hay chữ ký số đều có hay cấp:

Ở mức thấp: hàm tạo giá trị chứng thực (autheticator) dùng để chứng thực thông điệp

Mức cao: hàm mức thấp được dùng làm cơ sở cho giao thức chứng thực, cho phép người nhận kiểm tra tính chính xác của thông điệp

6

Phương thức tạo mã chứng thực

Có 3 PP tạo mã chứng thực

Message encrytion: dùng bản mã

của cả thông báo như mã chứng thực

Message authentication code (MAC): dùng hàm dựa vào khóa bí mật để tạo ra một giá trị có chiều dài cố định làm giá trị chứng thực

Hash function: hàm ánh xạ thông

điệp có chiều dài bất kỳ thành 1 giá trị hash có chiều dài cố định làm giá trị chứng thực

7

Mã hóa thông điệp để chứng thực

Đối với mã hóa, bản thân nó cũng có thể

dùng để chứng thực thông điệp

Mã hóa đối xứng

Mã hóa phi đối xứng

8

ố ứ

ể ứ Dùng mã đ i x ng đ  ch ng th c thông đi p

Thông điệp truyền từ A đến B được mã hóa

bằng khóa bí mật dùng chung cho A và B. Nếu không ai biết khóa chung này thì việc truyền thông báo là đáng tin cậy.

9

Dùng mã đối xứng để chứng thực

Làm sao để chứng minh thông điệp B nhận được là của A ???

Thông báo chỉ có thể đến từ A vì chỉ có A mới

có khóa bí mật K.

Khi thông báo M được khôi phục, B biết ko có bit nào của M bị biến đổi vì không ai biết khóa bí mật K; hơn nữa không thể thay đổi một số bit bản mã để tạo ra bản rõ mong muốn được.

10

Dùng mã đối xứng để chứng thực

Thực tế thông điệp M là một chuỗi bit ngẫu

nhiên, do đó không có cách xác định một bản mã là thông điệp hợp lệ

Đối thủ có thể gây rối bằng cách tạo ra các

thông điệp có nội dung ngẫu nhiên và giả như một thông điệp đến từ một nguồn hợp lệ

Giải pháp: biến bản tin từ dãy bit ngẫu nhiên thành dãy bit có cấu trúc

11

Dùng mã đối xứng để chứng thực

Thông điệp M được đưa vào hàm F để có mã

FCS, rồi thêm mã FCS vào cuối M trước khi mã hóa.

B mã hóa khối nhận được thông điệp có mã FCS ở cuối. B áp dụng cùng hàm F để tính FCS, nếu FCS tính bằng FCS nhận thì thông báo được xem hợp lệ.

12

Chứng thực bằng mã hóa phi đối xứng Nếu dùng khóa công khai Kub thì không thể chứng thực được, vì bất cứ ai cũng có thể dùng khoa công khai của B để mã hóa thông điệp

13

Chứng thực bằng mã hóa phi đối xứng Nếu A dùng khóa riêng của mình để mã hóa thông điệp, B dùng khoa chung của A để giải mã thì có thể chứng thực thong điệp.

Tuy nhiên bản rõ cầu có cấu trúc để phân biệt bản rõ thực sự với bản rõ các bit ngẫu nhiên.

14

Chứng thực bằng mã hóa phi đối xứng Nếu muốn đảm bảo bí mật thông điệp thì:

Phức tạp, phải qua 4 lần biến đổi

15

Message authentication code (MAC)

Sử dụng 1khóa bí mật để sinh ra 1 khối dữ liệu có kích thước cố định được gọi là MAC gắn vào cuối thông điệp

16

Message authentication code (MAC)

17

Message authentication code (MAC)

18

Message authentication code (MAC)

19

Message authentication code (MAC)

20

Đặc điểm của hàm MAC

Tương tự như hàm mã hóa nhưng không cần

hàm giải mã

Hàm MAC là hàm many-to-one

Input: chuỗi thông điệp có chiều dài bất kỳ và

khóa K

Output: MAC có chiều dài cố định n-bit

21

Hàm băm (hash function)

Áp dụng cho các thông điệp có chiều dài khác

nhau

Đầu ra là mã băm có kích thước cố định và

nhỏ

Không giống như MAC, không cần khóa K mà

chỉ có thông điệp cần chứng thực

Mã băm còn được gọi là message digesst hay

hash value

22

Yêu cầu của hàm băm H(x)

1. Có thể áp dụng cho các thông điệp x có độ

dài khác nhau

2. Output h=H(x) cố định và nhỏ

3. Tính một chiều: với h cho trước, không thể tìm lại x sao cho h = H(x) (về mặt thời gian tính toán).

4. Chống trùng yếu: cho trước x, không thể tìm

y ≠x sao cho H(x) = H(y).

5. Chống trùng mạnh: không thể tìm ra cặp x, y bất kỳ sao cho H(x)=H(y), hay nói cách khác, nếu H(x)=H(y) thì có thể chắc chắn x=y.

23

Hàm băm đơn giản

24

Hàm băm đơn giảm

25

Hàm băm MD5

Được phát triển bởi Ron Rivest

Được phát triển từ MD4

Kích thước giá trị băm là 128bit

Năm 1994 và 1998, một số phương pháp tấn công MD5 đã tìm thấy một số thông điệp có cùng giá trị băm MD5 (tính chống trùng mạnh). Tuy nhiên vẫn còn sử dụng phổ biến.

26

27

Hàm băm MD5

28

Hàm băm MD5

Kj =round(232 abs(sin(i))) i biểu diễn theo radian Phép cộng modulo 232

29

30

SHA (secure hash algorithm)

Năm 1993, NIST (national institute of

standards and technology) đề xuất giải thuật SHA, tương tự như MD5 nhưng mạnh hơn và chậm hơn MD5

Được thiết kế thích hợp với AES

Các phiên bản SHA

31

SHA1

32

SHA1

33

34

SHA-512

35

SHA-512

36

SHA-512

37

Một số ứng dụng hàm băm

Lưu trữ mật khẩu

38

Đấu giá trực tuyến

39

Download file

40

Chữ ký số

41

Q&A

42