Tải bản đầy đủ (.ppt) (33 trang)

Bài giảng môn An toàn thông tin Các phương pháp mã hóa thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (660.37 KB, 33 trang )

Các phương pháp mã hóa thông tin
1. Giới thiệu
2. Lược sử phát triển
3. Các khái niệm cơ sở
Mật mã học

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
Một số thuật ngữ

1. Bản rõ X được gọi là là bản tin gốc. Bản rõ có thể được chia nhỏ
có kích thước phù hợp.

2. Bản mã Y là bản tin gốc đã được mã hoá. Ở đây ta thường xét
phương pháp mã hóa mà không làm thay đổi kích thước của bản rõ,
tức là chúng có cùng độ dài.

3. Mã là thuật toán E chuyển bản rõ thành bản mã. Thông thường
chúng ta cần thuật toán mã hóa mạnh, cho dù kẻ thù biết được thuật
toán, nhưng không biết thông tin về khóa cũng không tìm được bản
rõ.

4. Khoá K là thông tin tham số dùng để mã hoá, chỉ có người gửi và
nguời nhận biết. Khóa là độc lập với bản rõ và có độ dài phù hợp
với yêu cầu an toàn.


5. Mã hoá là quá trình chuyển bản rõ thành bản mã, thông thường
bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý
thông tin kèm theo.
Một số thuật ngữ

6. Giải mã chuyển bản mã thành bản rõ, đây là quá trình ngược lại của mã
hóa.

7. Mật mã là chuyên ngành khoa học của Khoa học máy tính nghiên cứu về
các nguyên lý và phương pháp mã hoá. Hiện nay người ta đưa ra nhiều chuẩn
an toàn cho các lĩnh vực khác nhau của công nghệ thông tin.

8. Thám mã nghiên cứu các nguyên lý và phương pháp giải mã mà không
biết khoá. Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa
các người sử dụng, các mã đó được các kẻ thám mã cũng như những người
phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã với
các thông tin không đầy đủ.

9. Lý thuyết mã bao gồm cả mật mã và thám mã. Nó là một thể thống nhất,
để đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó. Các
nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng
nhiều chính sách an toàn khác nhau.
Mật mã học???
Cách hiểu truyền thống: giữ bí mật nội dung trao đổi
Cách hiểu truyền thống: giữ bí mật nội dung trao đổi
Alice và Bob trao đổi với nhau trong khi Eve tìm cách “nghe lén”
Alice và Bob trao đổi với nhau trong khi Eve tìm cách “nghe lén”
Alice
Alice
Bob

Bob
Eve
Eve
Một số vấn đề chính 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
Xác thực (Authentication)

Ví dụ:

Bob chờ Alice “xác nhận” khi đến thời điểm thực
hiện công việc

Cần đảm bảo rằng Eve không can thiệp để tạo “xác
nhận” giả
Tính toàn vẹn thông tin (Integrity)


Ví dụ:

Bob cần đảm bảo là nhận chính xác nội dung mà
Alice đã gửi

Cần đảm bảo rằng Eve không can thiệp để sửa nội
dung thông điệp mà Alice gửi cho Bob

Tính toàn vẹn thông tin (Integrity)
Alice
Bob
Eve
Kênh truyền không an toàn
A’s
A’s ?
Chống lại sự thoái thác trách nhiệm

Ví dụ:

Bob nhận được 1 thông điệp mà Alice đã gửi

Alice không thể “chối” rằng không gửi thông điệp
này cho Bob

Chống lại sự thoái thác trách nhiệm (Non-
repudiation)
Alice
Bob
Vài nét về lịch sử, phát triển
Ai Cập cổ đại,

2000 năm trước
CN
World war I, II
Ứng dụng
Smart cards
Embedded
systems
enigma
Mô hình trao đổi thông điệp mật
Alice Bob
Encrypt(m) = c
Decrypt(c) = m
m
attacker
Hai kỹ thuật mã hóa chủ yếu

Mã hóa đối xứng

Bên gửi và bên nhận sử dụng chung một khóa

Còn gọi là

Mã hóa truyền thống

Mã hóa khóa riêng / khóa đơn / khóa bí mật

Là kỹ thuật mã hóa duy nhất trước những năm 70

Hiện vẫn còn được dùng rất phổ biến


Mã hóa khóa công khai (bất đối xứng)

Mỗi bên sử dụng một cặp khóa

Một khóa công khai + Một khóa riêng

Công bố chính thức năm 1976
Một số cách phân loại khác

Theo phương thức xử lý

Mã hóa khối

Mỗi lần xử lý một khối văn bản thô và tạo ra khối văn bản mã
hóa tương ứng (chẳng hạn 64 hay 128 bit)

Mã hóa luồng

Xử lý dữ liệu đầu vào liên tục (chẳng hạn mỗi lần 1 bit)

Theo phương thức chuyển đổi

Mã hóa thay thế

Chuyển đổi mỗi phần tử văn bản thô thành một phần tử văn bản
mã hóa tương ứng

Mã hóa hoán vị

Bố trí lại vị trí các phần tử trong văn bản thô

Mô hình hệ mã hóa đối xứng
Khóa bí mật dùng chung
bởi bên gửi và bên nhận
Khóa bí mật dùng chung
bởi bên gửi và bên nhận
Giải thuật mã hóa Giải thuật giải mã
Văn bản thô
đầu vào
Văn bản thô
đầu ra
Văn bản mã hóa
truyền đi
Mã hóa
Y = E
K
(X)
Giải mã
X = D
K
(Y)
Mô hình hệ mã hóa đối xứng

Gồm có 5 thành phần

Văn bản thô

Giải thuật mã hóa

Khóa bí mật


Văn bản mã hóa

Giải thuật giải mã

An toàn phụ thuộc vào sự bí mật của khóa,
không phụ thuộc vào sự bí mật của giải thuật
Phá mã

Là nỗ lực giải mã văn bản đã được mã hóa không biết
trước khóa bí mật

Có hai phương pháp phá mã

Vét cạn

Thử tất cả các khóa có thể

Dùng kỹ thuật

Khai thác những nhược điểm của giải thuật

Dựa trên những đặc trưng chung của văn bản thô
hoặc một số cặp văn bản thô - văn bản mã hóa
mẫu
Phương pháp phá mã vét cạn

Về lý thuyết có thể thử tất cả các giá trị khóa cho đến
khi tìm thấy văn bản thô từ văn bản mã hóa

Dựa trên giả thiết có thể nhận biết được văn bản thô

cần tìm

Tính trung bình cần thử một nửa tổng số các trường
hợp có thể

Thực tế không khả khi nếu độ dài khóa lớn
Thời gian tìm kiếm trung bình
Kích thước
khóa (bit)
Số lượng khóa Thời gian cần thiết
(1 giải mã/μs)
Thời gian cần thiết
(10
6
giải mã/μs)
32
56
128
168
26 ký tự
(hoán vị)
2
32
= 4,3 x 10
9
2
56
= 7,2 x 10
16
2

128
= 3,4 x 10
38
2
168
= 3,7 x 10
50
26! = 4 x 10
26
2
31
μs = 35,8 phút
2
55
μs = 1142 năm
2
127
μs = 5,4 x 10
24
năm
2
167
μs = 5,9 x 10
36
năm
2 x 10
26
μs =
6,4 x 10
12

năm
2,15 ms
10,01 giờ
5,4 x 10
18
năm
5,9 x 10
30
năm
6,4 x 10
6
năm
Tuổi vũ trụ : ~ 10
10
năm
Khóa DES dài 56 bit
Khóa AES dài 128+ bit
Khóa 3DES dài 168 bit
Mã hóa thay thế cổ điển

Các chữ cái của văn bản thô được thay thế bởi các
chữ cái khác, hoặc các số, hoặc các ký hiệu

Nếu văn bản thô được coi như một chuỗi bit thì thay
thế các mẫu bit trong văn bản thô bằng các mẫu bit
của văn bản mã hóa
Hệ mã hóa Caesar

Là hệ mã hóa thay thế xuất hiện sớm nhất và đơn giản nhất


Sử dụng đầu tiên bởi Julius Caesar vào mục đích quân sự

Dịch chuyển xoay vòng theo thứ tự chữ cái

Khóa k là số bước dịch chuyển

Với mỗi chữ cái của văn bản

Đặt p = 0 nếu chữ cái là a, p = 1 nếu chữ cái là b,

Mã hóa : C = E(p) = (p + k) mod 26

Giải mã : p = D(C) = (C - k) mod 26

Ví dụ : Mã hóa "meet me after class" với k = 3
Phép thay thế - Mã Caesar
K=3
Phá mã hệ mã hóa Caesar

Phương pháp vét cạn

Khóa chỉ là một chữ cái (hay một số giữa 1 và 25)

Thử tất cả 25 khóa có thể

Dễ dàng thực hiện

Ba yếu tố quan trọng

Biết trước các giải thuật mã hóa và giải mã


Chỉ có 25 khóa để thử

Biết và có thể dễ dàng nhận ra được ngôn ngữ của văn bản
thô

Ví dụ : Phá mã "GCUA VQ DTGCM"
Hệ mã hóa đơn bảng

Thay một chữ cái này bằng một chữ cái khác theo trật tự bất kỳ
sao cho mỗi chữ cái chỉ có một thay thế duy nhất và ngược lại

Khóa dài 26 chữ cái

Ví dụ

Khóa
a b c d e f g h i j k l m n o p q r s t u v w x y z
M N B V C X Z A S D F G H J K L P O I U Y T R E W Q

Văn bản thô
i love you

×