1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nhập môn an toàn thông tin: Chương 3b - Trần Thị Kim Chi

46 125 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 46
Dung lượng 1,5 MB

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

Nội dung

Bài giảng Nhập môn an toàn thông tin - Chương 3: Toàn vẹn dữ liệu (Phần 2: Mã xác thực thông điệp) có cấu trúc gồm 3 phần cung cấp cho người học các kiến thức: Khái niệm toàn vẹn và xác thực thông điệp, MAC, thảo luận vài cơ chế MAC. Mời các bạn cùng tham khảo.

Trang 1

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

(MESSAGE AUTHENTICATION CODES)

Trang 2

Nội dung chính

1 Khái niệm toàn vẹn và xác thực thông điệp

2 MAC (Message Authentication Code)

3 Thảo luận vài cơ chế MAC

• Nested MAC

Trang 3

Mục tiêu

• Khái niệm về toàn vẹn và xác thực thông điệp

• Toàn vẹn là gì

• Phương pháp nhận diện dữ liệu không toàn vẹn

• Mục tiêu của MAC; Các phương pháp để xác thựcthông điệp

• Tìm hiểu về MAC

• Mô hình tổng quát MAC

• Bảo mật MAC

Trang 5

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 6

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 7

1.1 Integrity Message

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

Trang 8

1.1 Integrity Message

Trang 9

1.1 Integrity Message

Trang 10

1.1 Integrity Message

Trang 11

1.1 Integrity Message

Trang 12

1.1 Integrity Message

Trang 13

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 NSD 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 14

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

Message Authentication

Trang 15

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 16

• Xác thực bằng mật mã khóa đối xứng

• Đảm bảo thông báo được gửi đúng nguồn do chỉ bên gửi biết khóa bí mật

• Không thể bị thay đổi bởi bên thứ ba do không biết khóa bí mật

• 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ật mã khóa

đối xứng

Trang 17

• 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)

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

đối xứng

Trang 18

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

đối xứng

Trang 19

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

công khai

Trang 20

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 21

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 22

Message Authentication Code

• Là một khối dữ liệu có kích thước nhỏ, cố định

• Được tạo ra từ thông báo và khóa bí mật với môt giảithuật cho trước:: MAC =CK(M)

• Đính kèm vào thông báo

• Lưu ý: Từ mã xác thực, không xác định ngược lại đượcthông báo (Tính một chiều)

• Mã xác thực thông báo thực chất là kết hợp giữa các tínhchất của mã hóa và hàm băm

• Có kích thước nhỏ, đặc trưng cho thông báo (Tính chất

Trang 23

Message Authentication Code

Trang 24

Message Authentication Code

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

Trang 25

Message Authentication Code

Trang 26

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 27

Message Authentication Code

Xây dựng trên cơ sở hệ mật mã khóa đối xứng:

• Hai bên đã trao đổi một cách an toàn khóa mật K

• Sử dụng các thuật toán mã hóa khối ở chế độ CBC-MAC

Trang 28

Message Authentication Code

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

bảo mật của hàm băm

Trang 29

Đặc điểm của MAC

• MAC là một cryptographic checksum

Trang 30

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 31

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

• Có 2 hướng:

• Tấn công không gian khóa: 2 k (với k – kích cở khóa)

• hoặc giá trị MAC: 2 n (Ít nhất 128-bit MAC thì mới an toàn)

Cryptanalytic Attacks: Khai thác vài đặt tính của thuận 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

Trang 32

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)

Trang 33

Nested MAC

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

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

Trang 34

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

• Mã hàm băm có thể áp dụng một cách rộng rãi

• Băm bao gồm một khóa (key) cùng với thông điệp

KeyedHash=Hash(Key|Message)

Trang 35

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.

Trang 36

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

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

Trang 37

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 38

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

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

CMAC (Cipher-based Message

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

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

Trang 39

CMAC

Trang 40

Một số sơ đồ sử dụng hàm băm

Trang 41

Một số sơ đồ sử dụng hàm băm

Trang 42

Một số sơ đồ sử dụng hàm băm

để xác thực

Trang 43

Một số sơ đồ sử dụng hàm băm

để xác thực

Trang 44

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 45

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

Ngày đăng: 30/01/2020, 11:42

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm