Chng III TON VN D LIU PHN II

  • Slides: 52
Download presentation
Chương III TOÀN VẸN DỮ LIỆU PHẦN II: MÃ XÁC THỰC THÔNG ĐIỆP (MESSAGE

Chương III TOÀN VẸN DỮ LIỆU PHẦN II: MÃ XÁC THỰC THÔNG ĐIỆP (MESSAGE AUTHENTICATION CODES) 3

Nội dung chính © Khái niệm toàn vẹn và xác thực thông điệp ©

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 © Ứng dụng mã xác thực thông điệp (Cryptography & Network Security. Mc. Graw-Hill, Inc. , 2007. , Chapter 11)

1. Khái niệm xác thực thông điệp 1. 1 Toàn vẹn thông điệp (Message

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

Integrity Message Đặt vấn đề 4

Integrity Message Đặt vấn đề 4

Integrity Message Tính toàn vẹn thông điệp: • Cho phép các bên liên lạc

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 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ì 5

1. 1 Integrity Message • Đô i phương insert/modify/delete nô i dung thông điê

1. 1 Integrity Message • Đô i phương insert/modify/delete nô i dung thông điê p 6

1. 1 Integrity Message 7

1. 1 Integrity Message 7

Mã xác thực thông điệp Message Authentication Mục tiêu • Xa c nhâ n

Mã xác thực thông điệp Message Authentication Mục tiêu • Xa c nhâ n nguô n gô c cu a dữ liê u • Thuyê t phu c với người sử dụng la dữ liê u na y chưa bi sư a đô i hoă c giả ma o. • La cơ chê quan tro ng đê duy tri ti nh toa n ve n và không thê từ chô i dữ liê u 8

Mã xác thực thông điệp Message Authentication Định nghĩa • Là một kỹ thuật

Mã xác thực thông điệp Message Authentication Định nghĩa • Là một kỹ thuật chứng thực liên quan đến việc sử dụng một khoá bí mật để tạo ra một khối dữ liệu có kích thước nhỏ cố định (checksum hoặc MAC) và được thêm vào thông điệp. • 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ủa thô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 C: hàm MAC K: khoá bí mật chia sẻ giữa người gởi và người nhận MAC: mã chứng thực thông điệp có chiều dài cố định 9

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

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

Message Authentication Các phương pha p Message Authetication: • Ma ho a thông điê

Message Authentication Các phương pha p Message Authetication: • Ma ho a thông điê p: sử du ng ma ho a kho a bi mâ t, ma ho a kho a công khai • Ha m băm (Hash Function): Mô t ha m a nh xa mô t thông điê p co chiê u da i bâ t kỳ va o mô t giá tri băm co chiê u da i cô đi nh sử du ng đê chư ng thư c. • Ma chư ng thư c thông điê p (MAC): mô t ha m và mô t kho a bi mâ t ta o ra mô t giá tri co chiê u da i cô đi nh sử du ng đê chư ng thư c 11

Mã hóa thông điệp: Xác thực bằng mật mã khóa đối xứng • Đảm

Mã hóa thông điệp: 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 12

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

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

Mã hóa thông điệp: Xác thực bằng mật mã khóa đối xứng 14

Mã hóa thông điệp: Xác thực bằng mật mã khóa đối xứng 14

Mã hóa thông điệp: Xác thực bằng mật mã khóa đối xứng • Xác

Mã hóa thông điệp: Xác thực bằng mật mã khóa đối xứng • 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ật thô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) 15

Mã hóa thông điệp sử dụng mật mã khóa công khai 16

Mã hóa thông điệp sử dụng mật mã khóa công khai 16

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

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

Hàm băm: Message Digest • Ta o ba n băm cu a thông điê

Hàm băm: Message Digest • Ta o ba n băm cu a thông điê p m: y=h(M) • Giô ng như “fingerprint” của thông điê p 18

Message Authentication Code 19

Message Authentication Code 19

Modification Detection Code (MDC) • Một MDC là message digest mà có thể chứng

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

Message Authentication Code (MAC) • Mã chứng thực thông điệp (MAC) có thể coi

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 giá trị MAC tương ứng. 21

Message Authentication Code (MAC) • Thông điệp cộng với MAC được truyền tới người

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ác thô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 đổi hoặc bị giả mạo và được gởi từ attacker. 22

Message Authentication Code (MAC) • Mô hình MAC: Bên nhận thực hiện cùng giải

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 23

Message Authentication Code • Cơ chế tổng quát 24

Message Authentication Code • Cơ chế tổng quát 24

Message Authentication Code (MAC) • Chiều dài thông thường của MAC: 32. . 96

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 2 n 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 2 k 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 25

Message Authentication Code (MAC) • Ví dụ 1: 26

Message Authentication Code (MAC) • Ví dụ 1: 26

Message Authentication Code (MAC) • Ví dụ 2: Phần mềm Tripe. Wire 27

Message Authentication Code (MAC) • Ví dụ 2: Phần mềm Tripe. Wire 27

Đặc điểm của MAC • Bảo mật của MAC tùy thuộc vào bảo mật

Đặ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 la mô t cryptographic checksum MAC=CK(M) • Ne n mô t thông điê p M co chiê u da i bâ t kỳ • Du ng mô t kho a bi mâ t K • Tha nh mô t xa c thư c ki ch thươ c cô đi nh • Mô t ha m many-to-one function • Nhiê u thông điê p co cu ng MAC • Nhưng ti m ra ra chu ng la không dê 28

Yêu câ u đô i vơ i MAC • Ti nh toa n đến

Yêu câ u đô i vơ i MAC • Ti nh toa n đến ca c loa i tâ n công • MAC pha i tho a ma n như ng điê u sau: • Biê t mô t thông điê p và MAC, thì không thê ti m ra mô t thông điê p kha c co cu ng MAC • Ca c MAC nên đươ c phân bô đô ng đê u • MAC nên tu y thuô c ngang nhau trên tâ t ca ca c bit cu a thông điê p 29

An toa n cu a MAC • Brute-force attacks: • Cho mô t hoă

An toa n cu a MAC • Brute-force attacks: • Cho mô t hoă c nhiê u că p [xi, MAC(K, xi)], râ t khó đê ti nh toa n ti m ra x xi ma co cu ng giá tri MAC cu a xi • Co 2 hươ ng: • Tâ n công không gian kho a: 2 k (vơ i k – ki ch cơ kho a) • hoă c gia tri MAC: 2 n (I t nhâ t 128 -bit MAC thi mơ i an toa n) 30

An toa n cu a MAC • Cryptanalytic Attacks: Khai tha c va i

An toa n cu a MAC • Cryptanalytic Attacks: Khai tha c va i đă c ti nh cu a thuâ t toa n MACs hoă c ha m hash • Tô t hơn ve t ca n • Co nhiê u biê n thê trong câ u tru c cu a MACs hơn ha m hash nên tâ n công MACs khó khăn hơn ha m hash. 31

Message Authentication Code Tấn công phát lại (Replya attack) • Kẻ tấn công phát

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 trong phiê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 32

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

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

Message Authentication Code Ưu điểm của MAC: • MAC chỉ hỗ trợ xác thực,

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ợi trong 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ử 34

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

Mật mã xác thực thông điệp • • • Một hệ mật mã có xác thực (E, D) là một hệ mật mã mà Hàm mã hóa E: K x M x N C Từ chối giải mã các bản mã không hợp lệ Hàm giải mã D: K x C x N M ∪ {⊥} Trong đó N là một dấu hiệu sử dụng để xác thực Yêu cầu: • 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 35

Một số sơ đồ sử dụng Mật mã xác thực thông điệp Xác thực

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 (IPSec) 36

Một số sơ đồ sử dụng Mật mã xác thực thông điệp Xác thực

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

Message Authentication Code Các công dụng cơ bản của MAC 38

Message Authentication Code Các công dụng cơ bản của MAC 38

Message Authentication Code Các công dụng cơ bản của MAC 39

Message Authentication Code Các công dụng cơ bản của MAC 39

Message Authentication Code Các công dụng cơ bản của MAC a. Chứng thực •

Message Authentication Code Các công dụng cơ bản của MAC a. Chứng thực • A →B: M || C(K, M) • Chứng thực: chỉ A và B chia sẻ K b. Chứng thực và bảo mật: chứng thực gắn liền với plaintext • A →B: E(K 2, [M || C(K, M)]) • Chứng thực: chỉ A và B chia sẻ K 1 • Bảo mật: chỉ A và B chia sẻ K 2 c. Chứng thực và bảo mật: chứng thực gắn liền với ciphertext • A →B: E(K 2, M) || C(K 1, E(K 2, M)) • Chứng thực: sử dụng K 1 • Bảo mật: sử dụng K 2 40

Vài cơ chế MAC 3. 1 Nested MAC 3. 2 Keyed Hash Functions as

Vài cơ chế MAC 3. 1 Nested MAC 3. 2 Keyed Hash Functions as MACs 3. 3 MAC dư a vào ha m băm (HMAC) 3. 4 MAC dựa vào mã hóa khối (CMAC) 41

Nested MAC • Đê tăng ba o mâ t cu a MAC • Băm

Nested MAC • Đê tăng ba o mâ t cu a MAC • Băm đươ c a p du ng nhiê u lâ n 42

Keyed Hash Functions as MACs • Mong muô n co môt MAC dư a

Keyed Hash Functions as MACs • Mong muô n co môt MAC dư a trên ha m băm • Ca c ha m băm nhanh hơn ma khô i đô i xư ng • Ma ha m băm có thể áp dụng mô t ca ch rô ng ra i • Băm bao gô m mô t kho a (key) cu ng vơ i thông điê p Keyed. Hash=Hash(Key|Message) • Mô t va i điê m yê u đã đươ c chi ra vơ i ha m na y Pha t triê n HMAC 43

MAC dư a vào ha m băm (HMAC) • Gọi là HMAC • Đặc

MAC dư a vào ha m băm (HMAC) • Gọi là HMAC • Đặc điểm • Du ng hàm băm nguyên mẫu (không chỉnh sửa) • Cho phe p thay thê dê da ng ha m băm đươ c nhu ng va o trong trươ ng hơ p ca c ha m băm nhanh hơn hoă c nhiê u ba o mâ t đươ c ti m ra hoă c yêu câ u • Duy tri hiê u năng ban đâ u cu a ha m băm ma không mă c pha i sư suy gia m nghiêm tro ng • Du ng và qua n lý ca c kho a mô t ca ch dê da ng. • Co mô t sư phân ti ch mâ t ma hiê u đươ c vê sư c ma nh cu a sư chư ng thư c 44

MAC dư a vào ha m băm (HMAC) • Quá trình thực hiện 45

MAC dư a vào ha m băm (HMAC) • Quá trình thực hiện 45

MAC dư a vào ha m băm (HMAC) Ba o mâ t cu a

MAC dư a vào ha m băm (HMAC) Ba o mâ t cu a HMAC • Dư a lên ba o mâ t cu a ha m băm • Tâ n công HMAC: • Tâ n công brute force trên kho a đươ c du ng • Tâ n công nga y sinh nhâ t • Ha m băm đươ c cho n sử du ng dư a trên ra ng buô c vê tô c đô và ba o mâ t 46

MAC dựa vào mã hóa khối (CMAC) • Có DAA (Data Authentication Algorithm), hiê

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ă c phu c như ng yê u ke m cu a DAA • Đươ c du ng rô ng ra i trong chi nh phủ và doanh nghiê p • Co ki ch cỡ thông điê p giơ i ha n • Du ng 2 kho a và padding • Đươ c thông qua bơ i NIST SO 800 -38 B 47

CMAC 48

CMAC 48

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

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

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à

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 50

Câu hỏi và bài tập 1. Về mặt lý thuyết, giá trị băm có

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 MD 5 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. Trần Thị Kim Chi 1 -51

THANKS YOU

THANKS YOU