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 2a - Trần Thị Kim Chi

166 207 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 166
Dung lượng 6,21 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 2: Mã hóa (Mã hóa đối xứng) cung cấp cho người học các kiến thức về: Giới thiệu, những khái niệm cơ bản về mã hóa, hàm cửa lật một chiều và mã công khai, một số mã công khai thông dụng, nguyên lý thiết kế mã đối xứng, một số mã đối xứng thông dụng.

Trang 1

Mã hóa đối xứng

SYMMETRIC CIPHERS

(Cryptography)

Trang 2

NỘI DUNG

1 Giới thiệu

2 Những khái niệm cơ bản về mã hóa

3 Hàm cửa lật một chiều và mã công khai

4 Một số mã công khai thông dụng

5 Nguyên lý thiết kế mã đối xứng

6 Một số mã đối xứng thông dụng

Trang 3

Giới thiệu

Trang 4

Giới thiệu

Trang 5

Vấn Đề đặt ra

• Tại sao chúng ta cần mã hóa?

• Mã hóa là một phương pháp hỗ trợ rất tốt cho trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền đi qua các kênh truyền thông.

• Mã hoá sẽ khiến cho nội dung thông tin được truyền đi dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thông tin đó.

Trang 6

Mật mã học là gì?

• Mật mã học bao gồm hai lĩnh vực : mã hóa(cryptography) và thám mã (cryptanalysis codebreaking)trong đó:

• Mã hóa: nghiên cứu các thuật toán và phương thức đểđảm bảo những bí mật và xác thực của thông tin gồmcác hệ mã mật, các hàm băm, các hệ chư ký điện số,các cơ chế phân phối, quản lý khóa và các giao thứcmật mã

• Thám mã: Nghiên cứu các phương pháp phá mã hoặctạo mã giả gồm các phương pháp thám mã , cácphương pháp giả mạo chư ký, các phương pháp tấn

• công ,các hàm băm và các giao thức mật mã

Trang 7

Mật Mã là gì?

• Mật mã (Cryptography) là ngành khoa học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ thông tin.

• W Stallings (2003), Cryptography and Network

Security: Principles and Practice, Third Edition,

Prentice Hall

Trang 8

Mật Mã là gì?

• Cách hiểu truyền thống: giữ bí mật nội dung trao đổi

GỬI và NHẬN trao đổi với nhau trong khi TRUNG GIAN tìm cách “nghe lén”

Trang 9

Một số vấn đề trong bảo vệ

thông tin

• Bảo mật thông tin (Secrecy): đảm bảo thông tin được giữ

bí mật.

• Toàn vẹn thông tin (Integrity): bảo đảm tính toàn vẹn thông

tin trong liên lạc hoặc giúp phát hiện rằng thông tin đã bị sửa đổi.

• Xác thực (Authentication): xác thực các đối tác trong liên

lạc và xác thực nội dung thông tin trong liên lạc.

• Chống lại sự thoái thác trách nhiệm (Non-repudiation):

đảm bảo một đối tác bất kỳ trong hệ thống không thể từ chối trách nhiệm về hành động mà mình đã thực hiện

• Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản

và gửi nhiều lần đến người nhận mà người gửi không hề hay

Trang 10

Những khái niệm cơ bản về

mã hóa

• Văn bản gốc (plaintext) là văn bản ban đầu có nội dung

có thể đọc được và cần được bảo vệ

• Văn bản mã hóa (ciphertext) là văn bản sau khi mã

hóa, nội dung không thể đọc được

• Mã hóa (encryption) là quá trình chuyển văn bản rõ

thành văn bản mã hóa Giải mã (decryption) là quá

trình đưa văn bản mã hóa về lại văn bản gốc ban đầu

• Hệ thống mã hóa (cryptosystem)

• Cryptosystem = encryption + decryption algorithms

• Khóa (key) được sử dụng trong quá trình mã hóa và

giải mã

Trang 11

Những khái niệm cơ bản về

mã hóa

• Ví dụ:

SKC với nguyên tắc dời vị trí

Nội dung gốc : “Hello everybody”

Mã hóa : dời nội dung sang phải – Keycode =1

 “Lfmmp fxfsacpea”

Giải mã : dời nội dung sang trái – Keycode =1

 “Hello everybody”

Trang 12

Hệ thống

mã hóa

Trang 13

Phân loại mã hóa

cryptosystem) là hệ thống mã hóa sử dụng một khóa bímật chia sẻ (shared-secret-key) cho cả hai quá trình mãhóa và giải mã

• Hệ thống mã hóa bất đối xứng (Asymmetric

cryptosystem) là hệ thống mã hóa sử dụng một khóacông khai (public key) và một khóa bí mật (private key)cho quá trình mã hóa và giải mã

• Hệ thống mã hóa bất đối xứng còn được gọi là hệ thống

mã hóa khóa công khai (public-key cryptosystem)

Trang 14

Phân loại mã hóa

Trang 15

Phân loại các thuật toán mật mã

• Các thuật toán mã hóa khóa bí mật (hệ mã mật khóa

bí mật hay khóa đối xứng SKC (Symmetric Key Cryptosytems), ví dụ : Caesar, DES, AES …

• Các thuật toán mã hóa khóa công khai (các hệ mã khóa công khai PKC )(Public Key Cryptosystems) Còn gọi là các hệ mã khóa bất đối xứng (Asymmetric Key Cryptosytems) Khóa sử dụng cho các thuật toán này là 2 khóa : Public Key và Private key

• Các thuật toán tạo chữ ký số (Digital Signature Algorithms) : RSA, ElGammma…

• Các hàm băm (Hash functions).

Trang 16

Mã hoá đối xứng

“An intro to PKI and few deploy hints”

“AxCvGsmWe#4^,s dgfMwir3:dkJeTsY8 R\s@!q3%”

“An intro to

PKI and few

deploy hints”

input : văn bản thuần tuý Văn bản mật mã

Hai khoá giống nhau

output : văn bản thuần tuý

DE S

DE S

Trang 17

• Các khoá giống nhau được sử dụng cho việc mã hoá và giải mã

• Thuật toán mã hoá sử dụng khoá đối xứng thường được biết đến là DES (Data Encryption Standard)

• Các thuật toán mã hoá đối xứng khác được biết đến

như:

-Triple DES, DESX, GDES, RDES - 168 bit key-RC2, RC4, RC5 - variable length up to 2048 bits -IDEA - basis of PGP - 128 bit key

Mã hoá đối xứng

Trang 18

Mã hoá bất đối xứng

“An intro to PKI and few deploy hints”

“Py75c%bn&*)9|f De^bDzjF@g5=&

Trang 19

• Các khoá dùng cho mã hoá và giải mã khác nhau nhưngcùng một mẫu và là cặp đôi duy nhất(khoá private/public)

• Khoá private chỉ được biết đến bởi người gửi

• Khoá public được biết đến bởi nhiều người hơn nó được

sử dụng bởi những nhóm người đáng tin cậy đã đượcxác thực

• Thuật toán mã hoá sử dụng khoá bất đối xứng thườngđược biết đến là RSA (Rivest,Shamir and Adleman

Mã hoá bất đối xứng

Trang 20

• Một hàm băm H nhận được một thông báo m với một

độ dài bất kỳ từ đầu vào và đưa ra một xâu bít h có độ

dài cố định ở đầu ra h = H(m).

• Hàm băm là một hàm một chiều, điều đó có nghĩa là

ta không thể tính toán được đầu vào m nếu biết đầu

ra h.

• Thuật toán sử dụng hàm băm thường được biết đến

là MD5

Hàm băm

Trang 21

Tạo ra chữ ký số

3kJfgf*£$& Py75c%bn

Phát sinh hàm băm

SHA, MD5

Mã hoá bất đối xứng

Trang 22

• Xác minh quyền hạn của các thành viên tham gia truyền thông

• Phương pháp phổ biến:

• Sử dụng Password : để xác thực người sử dụng

Xác thực quyền

Trang 23

• Sử dụng Kerberos: phương thức mã hoá và xác thực trong

AD của công nghệ Window

• Sử dụng Secure Remote Password (SRP): là một giao thức

để xác thực đối với các truy cập từ xa

Trang 24

Tiêu chuẩn đánh giá hệ mật mã

Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu

tiên phải có độ an toàn cao.

• Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự

bí mật của các khoá, còn thuật toán thì công khai Tại

một thời điểm, độ an toàn của một thuật toán phụ thuộc:

 Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán

lớn hơn giá trị của thông tin đã mã hóa thuật toán thì thuật

toán đó tạm thời được coi là an toàn.

 Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá

lâu thì thuật toán đó tạm thời được coi là an toàn.

 Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá

lơn so với lượng dữ liệu đã được mã hoá thì thuật toán đó

tạm thời được coi là an toàn

• Bản mã C không được có các đặc điểm gây chú ý, nghi

ngờ.

Trang 25

Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng

ta phải chú ý đến tốc độ mã và giải mã Hệ mật tốt thìthời gian mã và giải mã nhanh

Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa,khóa này được truyền công khai hay truyền khóa bí mật.Phân phối khóa bí mật thì chi phí sẽ cao hơn so với các

hệ mật có khóa công khai Vì vậy đây cũng là một tiêuchí khi lựa chọn hệ mật mã

Tiêu chuẩn đánh giá hệ mật mã

Trang 26

Một số ứng dụng của mã hóa trong security

Một số ứng dụng của mã hoá trong đời sống hằng ngày nói chung và trong lĩnh vực bảo mật nói riêng Đó là:

Trang 27

SYMMETRIC CIPHERS

(Mã hóa đối xứng)

Trang 28

Nội Dung

1 Mã cổ điển (Classical Encryption)

2 Mã dòng (Stream Ciphers) và Mã khối (Block

Ciphers)

3 Mã DES (Data Encryption Standard)

4 Mã hiện đại AES (Advanced Encryption Standard)

5 Các mô hình ứng dụng mã khối

( Cryptography and Network Security: Principles and

Practices (3rd Ed.) – Chapter 2, 3, 5, 6)

Trang 29

Mã cổ điển (Classical Encryption)

1.Khái niệm về Mã đối xứng

(Symmetric Cipher)

2 Một số mã đối xứng nổi tiếng

Trang 30

Khái niệm về Mã đối xứng

Symmetric Ciper

• Là hệ thống mã hóa sử dụng một khóa bí mật chia sẻ(shared-secret-key) cho cả hai quá trình mã hóa và giảimã

Trang 31

Khái niệm về Mã đối xứng

Symmetric Ciper

Mô hình trên gồm 5 yếu tố:

• Bản rõ P (plaintext)

• Thuật toán mã hóa E (encrypt algorithm)

• Khóa bí mật K (secret key)

Trang 32

Khái niệm mã đối xứng

Bản rõ X (Plaintext): được gọi là bản tin gốc Đây là dữliệu ban đầu ở dạng rõ Bản rõ có thể được chia nhỏ cókích thước phù hợp

˗ Thuật toán mã hóa (Encryption algorithm): là thuật toán được sử dụng để mã hóa (thay thế hoặc biến đổi) bản rõ

Khóa bí mật (Secret key): Khóa bí mật được đưa vàothuật toán mã hóa Khóa này là giá trị độc lập với bản rõ

và thuật toán mã hóa Thuật toán sẽ tạo ra đầu ra (input)khác nhau tùy thuộc vào khóa đặc biệt được dùng tại thờiđiểm đó Các kỹ thuật thay thế (substitution) và hoán vị(transformation) được thực hiện bởi thuật toán tùy thuộc

Trang 33

Khái niệm mã đối xứng

Bản mã (Ciphertext): Thông tin, dữ liệu đã được mãhoá ở dạng mờ Nó tùy thuộc vào plain text và secretkey Cho trước một thông điệp, 2 khóa khác nhau thì sẽtạo ra được hai bản mã khác nhau Bản mã là một dòng

dữ liệu ngẫu nhiên và nó bền vững và khó hiểu

Thuật tóan giải mã (Decryption algorithm): Thuậttoán giải mã (Decryption algorithm): đây là thực chất làthuật toán mã hóa chạy theo chiều ngược lại Nó lấyciphertext và secret key để tạo ra plaintext gốc

Người gửi/Người nhận (Sender/recipient) : Ngườigửi/Người nhận dữ liệu

Trang 34

Mô hình mã đối đối xứng

Trang 35

Mô hình mã đối đối xứng

Trang 36

Đặc tính của mã đối xứng

• Thuật toán mã hóa và giải mã sử dụng chung một khóa, thuật toán giải mã là phép toán ngược của thuật toán mã hóa Vì vậy mô hình trên được gọi là phương pháp mã hóa đối xứng.

• Đặc tính của mã đối xứng:

• Khóa phải được giữ bí mật giữa người gởi và ngườinhận, khóa phải được chuyển một cách an toàn từngười gởi đến người nhận

• Một hệ mã hóa đối xứng phải có tính an toàn An toànkhi và chỉ khi nó không thể bị phá mã (điều kiện lýtưởng) hoặc thời gian phá mã là bất khả thi

Trang 37

Đặc tính của mã đối xứng

Câu hỏi:

1.Nếu đã có một kênh an toàn để chuyển khóa

như vậy thì tại sao không dùng kênh đó để chuyển bản tin, tại sao cần đến chuyện mã hóa?

Câu trả lời là nội dung bản tin thì có thể rất dài,

còn khóa thì thường là ngắn

tin nhiều lần Do đó nếu chỉ chuyển khóa trên kênh

an toàn thì đỡ tốn kém chi phí.

Trang 38

Kỹ thuật mã hóa (Cryptography)

Hệ thống mã hóa được đặc trưng bởi:

• Kỹ thuật được sử dụng để chuyển đổi bản rõ thành bản

mã Tất cả các thuật toán được dựa vào 2 kỹ thuật cơbản:

(a) Phép thế (substitution): dùng từng ký tự (hay từng nhóm ký tự) trong bản rõ được thay thế bằng một ký tự (hay một nhóm

ký tự) khác để tạo ra bản mã Bên nhận chỉ cần đảo ngược trình tự thay thế trên bản mã để có được bản rõ ban đầu.

(b) Hoán vị (transposition): Các ký tự trong bản rõ được giữ nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra bản mã Yêu cầu cơ bản là không có thông tn nào bị mất (có nghĩa là tất cả các thao thác có thể đảo ngược).

Trang 39

Kỹ thuật mã hóa (Cryptography)

• Số khóa được người gửi và người nhận dùng khi mã hóa.

Một khóa duy nhất: Mã đối xứng/ Mã khóa đơn/

Mã khóa bí mật khóa/ Mã hóa thông thường(symmetric, single-key, secret-key, or conventionalencryption)

Hai khóa: Mã hóa bất đối xứng/ mã hóa hai khóa/

Mã hóa khóa công khai (asymmetric, two-key, orpublic-key encryption)

Trang 40

Kỹ thuật mã hóa (Cryptography)

• Cách mà bản rõ được xử lý:

Khối (block cipher): dữ liệu được chia thànhtừng khối có kích thước xác định và áp dụng thuậttoán mã hóa với tham số cho từng khối

Dòng (stream cipher): từng phần tử ở đầu vàođược xử lý liên tục tạo phần tử đầu ra tương ứng

Trang 41

Kỹ thuật mã hóa (Cryptography)

Ví dụ: Bảng sau đây biểu diễn một thuật toán

mã hóa theo khối

Theo bảng này, dữ liệu plaintext 010100110111 sẽ đươc

mã hóa thành:

010 100 110 111  111 011 000 101 theo key=1

010 100 110 111  100 011 011 111 theo key=4

Ở đây số lượng khóa là 5, do 22< 5 < 23 nên cần 3 bit

để biểu diễn và lưu giữ khóa, tức là kich thước khóa là

3 Đồng thời kích thước khối cũng là 3

Trang 42

Phá mã (Cryptanalysis)

• Hai cách tiếp cận tấn công mã đối xứng:

Phân tích mật mã (cryptanalysis attack) hay còn

gọi “tấn công dùng thuật toán”: dựa trên thuật

thoán và một số đặc trưng chung về bản rõ hoặc vàicặp mậu bản rõ – bản mã Kiểu tấn công này khaithác các đặc trưng của thuật toán để tìm bản rõ cụthể hoặc tìm kiếm khóa

Tấn công vén cạn (Brute-force attack): Kẻ tấn côngtìm cách thử mọi khóa có thể trên bản mã cho đến khinhận được bản rõ Trung bình cần thử một nữa sốkhóa

Trang 43

Phân tích mật mã

(Cryptanalysis)

• Các kiểu tấn công phân tích mật mã

• Biết thuật toán và bản mã  xác định bản rõ

• „Biết thuật toán, biết được bản mã/bản rõ  tìmkhóa

• „Chọn bản rõ và nhận được bản mã, biết thuậttoán  tìm khóa

• „Chọn bản mã và có được bản rõ tương ứng, biếtthuật toán  tìm khóa

Trang 44

Vét cạn (Brute-force)

• Về mặt lý thuyết phương pháp này luôn thực hiện được, do có thể tiến hành thử từng khóa, mà số khóa là hữu hạn.

• Phần lớn công sức của các tấn công đều tỷ lệ thuận với kích thước khoá Khóa càng dài thời gian tìm kiếm càng lâu và thường tăng theo hàm mũ.

• „Ta có thể giả thiết là kẻ thám mã có thể dựa vào đặc trưng về ngữ cảnh để nhận biết được bản rõ.

Trang 45

Vét cạn (Brute-force)

• Trong phương pháp Ceasar, lý do mà phương pháp này kém an toàn là ở chỗ

khóa k chỉ có 25 giá trị, do đó kẻ phá mã có thể thử được hết tất cả các trường hợp của khóa rất nhanh chóng Phương pháp tấn công này được gọi là phương pháp vét cạn khóa (bruteforce attack).

• Chỉ cần nới rộng miền giá trị của khóa thì có thể tăng thời gian phá mã đến một mức độ được coi là bất khả thi Bảng dưới đây liệt kê một số ví dụ về thời gian phá mã trung bình tương ứng với kích thước của khóa.

Trang 46

Một số mã đối xứng nổi tiếng

• Một số mã áp dụng phép thay thế:

• Mã Caesar (Caesar Cipher)

• Mã hóa đơn bản (Monoalphabetic Ciphers)

• Mã Playfair (Playfair Cipher)

• Mã One-Time Pad (OTP)

• Một số mã áp dụng phép hoán vị

Trang 47

Caesar Cipher

• Thế kỷ thứ 3 trước công nguyên, Julius Ceasar đưa raphương pháp mã hóa này

• Thay thế mỗi ký tự trong bản rõ bằng ký tự đứng sau

nó k vị trí trong bảng chữ cái Giả sử chọn k=3, ta có

bảng chuyển đổi:

Trang 48

Caesar Cipher

• Ví dụ:

Trang 49

Caesar Cipher

• Gán cho mỗi chữ cái một con số nguyên từ 0 đến 25:

• Với mỗi ký tự trong P thay bằng chữ mã hóa C, trong

đó:

C = (P + k) mod 26 (mod: phép chia lấy số dư)

• Và quá trình giải mã đơn giản là:

P = (C – k) mod 26

• k được gọi là khóa

• Hiện nay, mã Ceasar không được xem là an toàn

Trang 50

và biết được phương pháp mã hóa và giải mã là phép

cộng trừ modulo 26Bạn có suy ra được bản gốc

không?

Trang 52

Caesar Cipher

Với bản chữ cái Tiếng Việt (29 ký tự) với khóa là 3:

• Gán cho mỗi chữ cái một con số nguyên từ 0 đến 28:

• Phương pháp Ceasar biểu diễn tiếng Việt nhƣ sau: vớimỗi chữ cái p thay bằng chữ mã hóa C, trong đó:

C = (p + k) mod 29

• Và quá trình giải mã đơn giản là:

p = (C – k) mod 29

Trang 54

Caesar Cipher

Trang 56

Mã hóa đơn bảng

( Monoalphabetic Substitution Cipher )

• Phương pháp đơn bảng tổng quát hóa phương phápCeasar bằng cách dòng mã hóa không phải là một dịch

chuyển k vị trí của các chữ cái A, B, C, … nữa mà là một

xem như là một khóa

• Việc mã hóa được tiến hành bằng cách thay thế mộtchữ cái trong bản rõ thành một chữ cái trong bản mã,nên phương pháp này được gọi là phương pháp thaythế

Plain: abcdefghijklmnopqrstuvwxyz

Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN

Plaintext: ifwewishtoreplaceletters

Trang 57

Monoalphabetic Ciphers

• Số lượng hoán vị của 26 chữ cái là 26! (tương đươngvới số khóa)

• Vì 26! là một con số khá lớn  tấn công phá mã vétcạn khóa là bất khả thi (6400 thiên niên kỷ với tốc độthử khóa là 109 khóa/giây)

•  phương pháp này được xem là một phương pháp

mã hóa an toàn trong suốt 1000 năm sau công nguyên

Ngày đăng: 30/01/2020, 13:08

TỪ KHÓA LIÊN QUAN

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