Tổng quan về mã hoá
II. Bảo vệ dữ liệu bằng phương pháp mã hoá
III. Một số phương pháp mã hoá cổ điển
1. Mã hoá Ceasar
2. Mã hoá Viignere
3. Mã hóa Trithemius
4. Mã hóa Belasco
5. Kỹ thuật chuyển vị
IV. Vai trò và các ứng dụng của mật mã trong thời đại
hiện nay
36 trang |
Chia sẻ: mamamia | Lượt xem: 2407 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 3 : bảo mật thông tin bằng mã hoá, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giảng viên : Nguyễn Minh Thành
E-mail : thanhnm.itc@itc.edu.vn
Chương 3 : BẢO MẬT THÔNG
TIN BẰNG MÃ HOÁ
Mục Lục
I. Tổng quan về mã hoá
II. Bảo vệ dữ liệu bằng phương pháp mã hoá
III. Một số phương pháp mã hoá cổ điển
1. Mã hoá Ceasar
2. Mã hoá Viignere
3. Mã hóa Trithemius
4. Mã hóa Belasco
5. Kỹ thuật chuyển vị
IV. Vai trò và các ứng dụng của mật mã trong thời đại
hiện nay
2
I. Tổng quan về mã hoá
Mã hóa (Cryptography) là biến đổi dữ liệu thành một dạng
không thể đọc được bình thường, cần có chìa khóa (key) và
phương pháp mã hóa để có thể giải được mã.
Việc mã hóa đảm bảo
Tính bí mật (Confidentiality)
Tính toàn vẹn (Integrity)
Tính cá nhân (Privacy)
3
I. Tổng quan về mã hoá (tt)
Một hệ mã hoá (cryptosystem) phải bao gồm 5 thành phần
(E, D, M, K, C) trong đó :
M là tập các bản rõ (plaintext)
C là tập các bản mã (ciphertexts) tương ứng
K là tập các khoá dùng để mã hoá
E là tập các hàm (phương thức) mã hoá
D là tập các hàm (phương thức) giải mã
4
I. Tổng quan về mã hoá (tt)
Khi bảo về dữ liệu bằng mã hoá, người ta giả định rằng
Giải thuật mã hoá và giả mã có thể được biết
Bản mã có thể được biết (bị đọc trộm)
Nhưng khoá và bản rõ sẽ được giữ bí mật
Các tấn công có thể có :
Tấn công vào bản mã để tìm bản rõ.
Tấn công vào bản rõ và bản mã để tìm khoá.
Một hệ mã hoá hoàn hảo là phải chống được các tấn
công trên.5
II. Các Nguyên Tắc Cơ Bản Trong
Bảo Mật Dữ Liệu
Nguyên tắc cơ bản cho việc bảo mật dữ liệu chính: chi phí
và thời gian.
Alice cần thông tin quan trọng cần truyền cho Bob; Malice
là đối thủ cạnh tranh cần biết được nội dung của thông tin
giữa Alice và Bob. Malice tìm cách lấy thông tin trong lúc
A đang truyền cho B. Nếu A và B không có phương pháp
bảo vệ thông tin thì M sẽ lấy được. Nếu A và B có phương
pháp bảo mật thì cho dù M có lấy được thông tin cũng
không biết được nội dung.
6
II. Các Nguyên Tắc Cơ Bản Trong
Bảo Mật Dữ Liệu (tt)
Khi A và B trao đổi thông tin thực hiện phương pháp bảo
mật và M vẫn là người muốn có được thông tin. Bằng cách
nào đó M đã thu được những gì mà A và B đã trao đổi và
tiến hành giải mã. Lúc này giá trị của thuật toán mới thấy
được thông qua chi phí và thời gian để thực hiện giải mã.
7
II. Các Nguyên Tắc Cơ Bản Trong
Bảo Mật Dữ Liệu (tt)
Nếu trị thông tin: 5 mà chi phí thực hiện bẻ khóa: 10 thì
việc bảo mật có thể được xem là đạt yêu cầu.
Thời gian bỏ ra để thực hiện việc giải mã. Trong thông tin
A hẹn B là sẽ thực hiện kế hoạch sau khi nhận được thông
tin là 1 ngày, trong khi đó thì M phải tốn 2 ngày mới có thể
giải mã xong.
8
III. Bảo Vệ Dữ Liệu Bằng Mã Hoá Mã
Hoá
Sơ đồ một hệ thống mã hoá đơn giản
9
III. Bảo Vệ Dữ Liệu Bằng Mã Hoá Mã
Hoá (tt)
Sau đó văn bản mã hóa được truyền trên đường truyền. Ở
đầu thu, văn bản mã hóa được biến đổi ngược lại nhờ thuật
toán giải mã với các giá trị của từ khóa đã được sử dụng
trong thuật toán mã hoá.
Có nhiều phương pháp mã hóa khác nhau: đối xứng, bất đối
xứng,.. (sẽ được học ở chương 3).
10
IV. Một Số Phương Pháp Mã Hoá Cổ
Điển
11
Trước khi máy tính ra đời, người ta đã có những thuật
toán mã hoá.
Nhữg thuật toán này đơn giản, thường là thuật tóan
dựa trên ký tự, những thuật toán này khác nhau ở chỗ
thay đổi (substitution) ký tự này bằng ký tự khác hay
hoán vị (transposition) ký tự này với ký tự khác.
Thuật toán tốt hơn có thể chứa cả hai loại trên.
IV.1 Mã Hoá Ceasar
12
Mô tả: Julius Ceasar phát hiện ra bộ mã này, bộ mã hóa đầu
tiên sử dụng kỹ thuật thay thế đơn giản, xuất hiện cách đây
khoảng 2000 năm. Mã Ceasar mã hóa văn bản gốc bằng
cách thay thế mỗi ký tự trong văn bản gốc bằng ký tự đứng
liền thứ 3 sau nó trong mẫu tự alphabet.
Mẫu tự Alphabet:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
IV.1 Mã Hoá Ceasar
13
Ví dụ:
Văn bản gốc: ‘Hello word’
Văn bản mã hóa: ‘Khoor zrug’
IV.1 Mã Hoá Ceasar
14
Nếu ta định nghĩa có tính toán học thì thuật toán mã hóa có
thể biểu diễn như sau:
C= E(p)=(p+3)mod(26)
Trong đó:
C: ký tự được mã hóa
E(p): hàm của thuật toán mã hóa
p: ký tự gốc(p=0..25)
IV.1 Mã Hoá Ceasar
15
Phương trình mô tả thuật toán giải mã:
C= E(p)=(p-3)mod(26)
Phương trình tổng quát:
C= E(p)=(p+k)mod(26)
Phương trình mô tả thuật toán giải mã:
D= D(c)=(c-k)mod(26)
Trong đó: k là khóa bí mật
IV.2 Mã Hoá Vigenère
16
Mô tả: Thuật toán này dựa trên ý tưởng của Ceasar
được nhà mật mã học người Pháp (Blaise de Vigenère)
đưa ra, thay vì mỗi chữ cái sẽ được dịch đi 3 vị trí như
trong mã Ceasar thì ở đây việc dịch chuyển của các
chữ cái được điều khiển bởi một khóa và chữ cái trong
văn bản gốc. Số thứ tự của chữ cái mã bằng tổng số
thứ tự của chữ cái trong khóa và chữ cái trong văn bản
gốc.
IV.2 Mã Hoá Vigenère
17
Ví dụ: Với khóa ABC thì quá trình mã hóa như sau
IV.3 Mã Hoá Trithemius
18
Mô tả: Kỹ thuật này được mã bằng cách dùng một
bảng 26 chữ cái như sau: chữ cái đầu tiên của thông
điệp gốc được mã hóa bằng hàng thứ nhất, chữ cái thứ
hai được mã hóa thành hàng thứ hai.. và điều này được
lặp vòng.
IV.3 Mã Hoá Trithemius
19
IV.3 Mã Hoá Trithemius
20
Ví dụ:
Thông điệp gốc là HAPPY
Sẽ được mã hóa thành HBRSC.
IV.4 Mã Hoá Belasco
21
Mô tả: Belasco dựa trên ý tưởng của Trithemius đã
phát triển một mật mã phức tạp hơn có dùng khóa.
Khóa được viết ngay phía trên thông điệp gốc. Mỗi
một chữ cái trong thông điệp gốc cùng với chữ cái
khóa được viết ngay phía trên nó tạo thành một tọa độ
dùng để xác định chữ cái mã.
Toạ độ có dạng: hàng là khóa, cột là thông điệp gốc.
IV.4 Mã Hoá Belasco
22
Ví dụ
IV.5 Kỹ Thuật Chuyển Vị
23
Kỹ thuật này viết tuần tự văn bản gốc theo một đường
chéo rồi hiển thị văn bản mã hóa tuần tự của hàng.
Ví dụ:
Văn bản gốc: ‘haveagoodday’
h a e g o d y
v a o d a
Văn bản mã hóa: ‘haegodyvaoda’
IV.5 Kỹ Thuật Chuyển Vị
24
Nếu muốn biểu đồ biểu hiện thông điệp phức tạp hơn,
chúng ta biểu diễn thông điệp theo dạng hình chữ nhật, theo
hàng, theo cột. Chúng ta có thể hóan đổi thứ tự của hàng và
của cột và có thể xem đó là từ khóa của thuật toán.
Ví dụ:
Văn bản gốc: ‘DataEncryptionStrings’
Key: 3 5 6 7 2 1 4
D a t a E n c
r y p t i o n
S t r i n g s
Văn bản mã hóa: ‘nogEinDrScnsayttprati’
IV. Một Số Phương Pháp Mã Hoá Cổ
Điển
25
Nhìn chung các thuật toán mã hóa trên đã có từ lâu và
đến nay chỉ còn mang tính lịch sử. Tuy nhiên, ta vẫn
phải kể đến nó bởi vì nó chính là tiền đề cho các thuật
toán mã hóa phức tạp sau này.
V. Vai trò và các ứng dụng của mật
mã trong thời đại hiện nay
26
Mạng máy tính đang phát triển với tốc độ rất cao, các
dịch vụ trên mạng ngày càng nhiều và đang thay thế
dần các dịch vụ truyền thống. Chính phủ điện tử,
thương mại điện tử đang ngày một hoàn thiện và đóng
vai trò quyết định sự phát triển của mỗi quốc gia. Vấn
đề an ninh trên mạng luôn là bài toán khó, đòi hỏi sự
quan tâm và đầu tư của nhiều tổ chức. Do đó, mật mã
học đóng vai trò quan trọng trong thời đại bùng nổ
thông tin như hiện nay.
V. Vai trò và các ứng dụng của mật
mã trong thời đại hiện nay
27
Mật mã học hiện đại không còn nằm trong phạm vi mã hoá
dữ liệu, mà nó còn rất nhiều ứng dụng khác nhau liên quan
đến an toàn thông tin. Mật mã được sử dụng như là một công
cụ để bảo vệ an ninh qua mạng. Chúng ta có thể liệt kê một
số ứng dụng như sau:
Truyền thông an toàn (Secure communication)
Nhận dạng và xác nhận (Identification and Authentication)
Chia sẽ thông tin bí mật (Secret Sharing)
Thương mại điện tử (Electronic Commerce)
Chứng nhận (Certication)
Phục hồi khóa (key recovery)
Truy cập từ xa (Remote access)
Truyền thông an toàn (Secure
communication)
28
Đây là ứng dụng quan trọng nhất của mật mã. Hai đối
tác trao đổi các thông tin bí mật bằng cách mã hóa các
thông điệp trước khi gửi. Việc này ngăn chặn sự rò rĩ
thông tin. Việc truyền thông an toàn đã tồn tại từ lâu,
nhưng vấn đề trao đổi và quản lý khóa luôn là bài toán
khó. Ngày nay nhờ vào kỹ thuật mã hóa công khai vấn
đề này đã được giải quyết một cách rõ ràng.
Nhận dạng và xác nhận
(Identification and Authentication)
29
Đây là hai ứng dụng rộng rãi của mật mã hiện đại. Nhận
dạng là quá trình kiểm tra và nhận dạng một user. Ví dụ
khi rút tiền ở ngân hàng, người phát tiền sẽ yêu cầu thẻ
chứng minh (ID) để xác nhận người chủ tài khoản. Quá
trình như vậy có thể thực hiện bằng kỹ thuật mật mã.
Mọi máy rút tiền tự động ATM đều yêu cầu người rút
tiền nạp số pin (Personal Identification Number). Nếu
PIN được nạp đúng là người chủ tài khoản và cho phép
rút tiền.
Chia sẽ thông tin bí mật (Secret
Sharing)
30
Đây là ứng dụng được phát minh bởi Blakey và Shamir.
Trong ứng dụng này một thông tin bí mật được chia sẽ
cho nhiều người. Ví dụ, một khóa được chia thành nhiều
phần và chia từng phần đó cho một số người trong
nhóm. Để sử dụng khóa phải được sự chấp thuận của
mọi người trong nhóm, khóa của một người trong nhóm
không thể sử dụng một cách độc lập, như vậy là quyền
hạn đã được chia sẽ cho nhiều người.
Thương mại điện tử (Electronic
Commerce)
31
Các năm gần đây, một khối lượng lớn giao dịch thương mại
được thực hiện thông qua internet. Dạng thương mại này gọi
là thương mại điện tử hay e-commerce. E-commerce bao
gồm các ngân hàng trực tuyến, tài khoản trực tuyến, mua bán
qua mạng, đặt hàng... Tuy nhiên, việc sử dụng trực tiếp số thẻ
tín dụng để mua bán thì thật sự không an toàn. Mật mã cung
cấp một công cụ tin cậy hơn, sổ thẻ tín dụng sẽ được mã hóa
trước khi truyền đi. Càng nhiều giao dịch thương mại diễn ra
trên internet thì việc xây dựng một hệ thống an ninh đáng tin
cậy hơn là rất quan trọng.
Chứng nhận (Certication)
32
Đây là ứng dụng khác của mật mã. Một tổ chức (ví dụ
như chính phủ) sẽ cung cấp một giấy chứng nhận điện tử
(certificate) cho một user. User này có thể dùng giấy này
để truy cập mạng, ký tên... Thực chất đây là một ứng
dụng làm tiện lợi quá trình nhận dạng và xác nhận.
Phục hồi khóa (key recovery)
33
Đây là một ứng dụng cho phép một khóa được tìm ra mà
không cần sự cung cấp thông tin của chủ sở hữu khóa.
Ứng dụng này được áp dụng vì hai nguyên nhân chính
sau đây. Thứ nhất, nếu user bị mất khóa hay vô tình xóa
mất khóa, dịch vụ này có thể khôi phục lại. Thứ hai, một
cơ quan pháp luật muốn “nghe trộm” các thông tin của
một tổ chức tội phạm, cơ quan đó phải có khả năng phục
hồi khóa.
Truy cập từ xa (Remote access)
34
Truy cập từ xa một cách an toàn là một ứng dụng khác
của mật mã. Một hệ thống dựa trên mật khẩu để truy cập
cung cấp mức độ an toàn nhất định, nhưng nó không an
toàn trong một số trường hợp (chẳng hạn mật khẩu có
thể bị đánh cắp, nghe trộm..). Có nhiều ứng dụng của
mật mã cho phép truy cập từ xa được an toàn hơn ví dụ
như certificate).
Ứng dụng khác
35
Mật mã không chỉ được dùng trong kỹ thuật máy tính,
nó còn được sử dụng trong thông tin di động (cell
phone) như mã hóa tín hiệu thoại để chống nghe trộm
hay ngăn cản việc ăn cắp số điện thoại và mã truy cập.
36