1. Trang chủ
  2. » Tất cả

Mã Xác Thực Thông Điệp

52 9 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 52
Dung lượng 1,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Assuming the Role of the Systems Analyst 3 PHẦN II MÃ XÁC THỰC THÔNG ĐIỆP (MESSAGE AUTHENTICATION CODES) Nội dung chính  Khái niệm toàn vẹn và xác thực thông điệp  Các cơ chế mã xác thực thông điệp.

Trang 1

PHẦN II: MÃ XÁC THỰC THÔNG ĐIỆP

(MESSAGE AUTHENTICATION CODES)

Trang 3

1 Khái niệm xác thực thông điệp

1.1 Toàn vẹn thông điệp

(Message Integrity) 1.2 Xác thực thông điệp

(Message Authentication )

Trang 4

Integrity Message

Đặt vấn đề

Trang 5

Integrity Message

Tính toàn vẹn thông điệp:

• Cho phép các bên liên lạc xác minh rằng các tin nhắn nhận được được xác thực

• Nội dung thông điệp chưa bị thay đổi

• Nguồn của thông điệp tin cậy

• Thông điệp chưa bị phát lại

• Thông điệp được xác minh đúng thời điểm

• Sự liên tục của thông điệp được duy trì

Trang 6

1.1 Integrity Message

• Đối phương insert/modify/delete nội dung thông điệp

Trang 7

1.1 Integrity Message

Trang 8

Mã xác thực thông điệp

Message Authentication

Mục tiêu

• Xác nhận nguồn gốc của dữ liệu

• Thuyết phục với người sử dụng là dữ liệu

này chưa bị sửa đổi hoặc giả mạo.

• Là cơ chế quan trọng để duy trì tính toàn vẹn

và không thể từ chối dữ liệu

Trang 9

• Kỹ thuật này giả sử rằng 2 phía tham gia truyền thông là

A và B chia sẻ một khoá bí mật K Khi A có một thôngđiệp gởi đến B, A sẽ tính toán MAC như là một hàm củathông điệp và khoá: MAC=C(K, M), với

• M: thông điệp đầu vào có kích thước biến đổi

Trang 10

Mã xác thực thông điệp

Message Authentication

Trang 11

Message Authentication

Các phương pháp Message Authetication:

Mã hóa thông điệp: sử dụng mã hóa khóa bí mật,

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

Hàm băm (Hash Function): Một hàm ánh xạ một

thông điệp có chiều dài bất kỳ vào một giá trị băm cóchiều dài cố định sử dụng để chứng thực

Mã chứng thực thông điệp (MAC): một hàm và

một khóa bí mật tạo ra một giá trị có chiều dài cốđịnh sử dụng để chứng thực

Trang 13

Mã hóa thông điệp:sử dụng

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

Trang 14

Mã hóa thông điệp:Xác thực

bằng mật mã khóa đối xứng

Trang 15

• Xác thực bằng mật mã khóa công khai

• Không những xác thực mà còn tạo ra được chữ ký số

• Tuy nhiên, phức tạp và tốn thời gian hơn mã đối xứng

• Xác thực bằng mã hóa có nhược điểm:

• Tốn thời gian để mã hóa cũng như giải mã toàn bộthông báo

• Nhiều khi chỉ cần xác thực mà không cần bảo mậtthông báo (cho phép ai cũng có thể biết nội dung, chỉcần không được sửa đổi)

Mã hóa thông điệp:Xác thực

bằng mật mã khóa đối xứng

Trang 16

Mã hóa thông điệp sử dụng

mật mã khóa công khai

Trang 17

Xác thực bằng mật mã khóa

công khai

Trang 18

Hàm băm: Message Digest

• Tạo bản băm của thông điệp m: y=h(M)

• Giống như “fingerprint” của thông điệp

Trang 19

Message Authentication Code

Trang 20

Modification Detection Code

(MDC)

• Một MDC là message digest mà có thể chứng minh tính toàn vẹn của thông điệp: thông điệp không bị thay đổi.

Trang 21

Message Authentication Code

(MAC)

• Mã chứng thực thông điệp (MAC) có thể coi là một dạng checksum của mã hóa, được tính theo công thức

MAC = C(M, K), trong đó:

1 M là thông điệp cần tính MAC

2 K là khóa bí mật được chia sẻ giữa người gởi và người nhận

3 C là hàm tính MAC

• Vì MAC có khóa K bí mật giữa người gởi và người nhận

nên chỉ có người gởi và người nhận mới có thể tính được

Trang 22

Message Authentication Code

(MAC)

• Thông điệp cộng với MAC được truyền tới người nhận

• Người nhận thực hiện các tính toán tương tự trên cácthông điêp đã nhận sử dụng cùng một khóa bí mật, để tạo ra một MAC mới

• MAC vừa tạo sẽ được so với MAC nhận Giả sử chỉ

người nhận và người gửi biết khóa bí mật:

• Nếu MAC nhận phù hợp với MAC vừa tính thì thông điệp không

bị thay đổi trong quá trình truyền và chắc chắn được gởi tới từ người gởi đã biết.

• Nếu MAC nhận khác với MAC vừa tính thì thông điệp đã bị thay

Trang 23

Message Authentication Code

(MAC)

• Mô hình MAC: Bên nhận thực hiện cùng giải thuật của bên gửi trên thông báo và khóa bí mật và so sánh giá trị thu được với MAC trong thông báo

Trang 24

Message Authentication Code

Cơ chế tổng quát

Trang 25

Message Authentication Code

(MAC)

• Chiều dài thông thường của MAC: 32 96 bit

→ để tấn công cần thực hiện 2n lần thử với n là chiều

dài của MAC (bit)

• Chiều dài thông thường của khoá K: 56 160 bit

→ để tấn công cần thực hiện 2k lần thử với k là chiều dài của khoá K (bit)

• Ứng dụng trong:

• Banking: sử dụng MAC kết hợp triple-DES

• Internet: sử dụng HMAC và MAC kết hợp AES

Trang 26

Message Authentication Code

(MAC)

• Ví dụ 1:

Trang 27

Message Authentication Code

(MAC)

• Ví dụ 2: Phần mềm TripeWire

Trang 28

Đặc điểm của MAC

• Bảo mật của MAC tùy thuộc vào bảo mật của hàm băm

• MAC là một cryptographic checksum

Trang 29

Yêu cầu đối với MAC

• Tính toán đến các loại tấn công

• MAC phải thỏa mãn những điều sau:

• Biết một thông điệp và MAC, thì không thể tìm ra một thông điệp khác có cùng MAC

• Các MAC nên được phân bố đồng đều

• MAC nên tùy thuộc ngang nhau trên tất cả các bit của thông điệp

Trang 30

An toàn của MAC

Brute-force attacks :

• Cho một hoặc nhiều cặp [xi, MAC(K, xi)], rất

khó để tính toán tìm ra xxi mà có cùng giá trị MAC của xi

Trang 31

An toàn của MAC

Cryptanalytic Attacks: Khai thác vài đặc tính của thuật toán MACs hoặc hàm hash

• Tốt hơn vét cạn

• Có nhiều biến thể trong cấu trúc của MACs hơn hàm hash nên tấn công MACs khó khăn hơn hàm hash.

Trang 32

Message Authentication Code

Tấn công phát lại (Replya attack)

• Kẻ tấn công phát lại bản tin M đã được chứng thực trongphiên truyền thông trước đó

• Thiết kế MAC không chống được tấn công phát lại → cần thêm các yếu tố chống tấn công phát lại trong các giao thức truyền thông sử dụng MAC

• Một số kỹ thuật chống tấn công phát lại:

• Giá trị ngẫu nhiên

• Tem thời gian

Trang 33

Message Authentication Code

Tấn công phát lại (Replya attack)

Trang 34

Message Authentication Code

Ưu điểm của MAC:

• MAC chỉ hỗ trợ xác thực, không hỗ trợ bảo mật→có lợitrong nhiều trường hợp (các thông báo công cộng,…)

• Có kích thước nhỏ, thời gian tạo ra nhanh hơn so với mãhóa toàn bộ thông báo

• Chú ý: MAC không phải là chữ ký điện tử

Trang 35

• Chống tấn công chọn trước bản rõ, và

• Kiểm tra được tính toàn vẹn của bản mật: xác suất kẻ tấn công

tạo ra được một bản mật có thể giải mã là rất nhỏ

• Giải pháp: Kết hợp mật mã và mã MAC

Từ chối giải mã các bản

mã không hợp lệ

Trang 36

Một số sơ đồ sử dụng

Mật mã xác thực thông điệp

Trang 37

Một số sơ đồ sử dụng

Mật mã xác thực thông điệp

Xác thực bằng MAC, bảo mật bằng mật mã khóa đối xứng(SSH)

Trang 38

Message Authentication Code

Các công dụng cơ bản của MAC

Trang 39

Message Authentication Code

Các công dụng cơ bản của MAC

Trang 40

Message Authentication Code

Các công dụng cơ bản của MAC

Trang 41

Vài cơ chế MAC

3.1 Nested MAC

3.2 Keyed Hash Functions as MACs

3.3 MAC dựa vào hàm băm (HMAC)

3.4 MAC dựa vào mã hóa khối (CMAC)

Trang 42

Nested MAC

• Để tăng bảo mật của MAC

• Băm được áp dụng nhiều lần

Trang 43

Keyed Hash Functions as MACs

• Mong muốn có môt MAC dựa trên hàm băm

• Các hàm băm nhanh hơn mã khối đối xứng

Trang 44

MAC dựa vào hàm băm (HMAC)

• Gọi là HMAC

• Đặc điểm

• Dùng hàm băm nguyên mẫu (không chỉnh sửa)

• Cho phép thay thế dễ dàng hàm băm được nhúng vào trong trường hợp các hàm băm nhanh hơn hoặc nhiều bảo mật được tìm ra hoặc yêu cầu

• Duy trì hiệu năng ban đầu của hàm băm mà không mắc phải

sự suy giảm nghiêm trọng

• Dùng và quản lý các khóa một cách dễ dàng.

• Có một sự phân tích mật mã hiểu được về sức mạnh của sự

Trang 45

MAC dựa vào hàm băm (HMAC)

• Quá trình thực hiện

Trang 46

MAC dựa vào hàm băm (HMAC)

Bảo mật của HMAC

•Dựa lên bảo mật của hàm băm

•Tấn công HMAC:

• Tấn công brute force trên khóa được dùng

• Tấn công ngày sinh nhật

• Hàm băm được chọn sử dụng dựa trên ràng

buộc về tốc độ và bảo mật

Trang 47

MAC dựa vào mã hóa khối (CMAC)

• Có DAA (Data Authentication Algorithm) , hiện nay đã lỗi thời

Authentication Code) , được thiết kế để khắc

phục những yếu kém của DAA

• Được dùng rộng rãi trong chính phủ và doanh

nghiệp

• Có kích cỡ thông điệp giới hạn

• Dùng 2 khóa và padding

Trang 48

CMAC

Trang 49

MAC dựa trên giải thuật mã hoá DES

Trang 50

Câu hỏi và bài tập

1 Phân biệt giữa toàn vẹn thông điệp và

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

2 Phân biệt giữa MDC và MAC

3 Phân biệt giữa HMAC và CMAC

4 Giải thích tại sao Public Key không

được dùng trong việc tạo một MAC

Trang 51

Câu hỏi và bài tập

1 Về mặt lý thuyết, giá trị băm có thể

trùng không? Vậy tại sao nói giá trị băm có thể xem là “dấu vân tay của thông điệp”

2 Tìm hiểu phương pháp sử dụng hàm

băm MD5 và SHA trong thư viện NET, viết chương trình mã hóa password lưu trữ và kiểm tra password.

Ngày đăng: 19/11/2022, 22:04

w