You are on page 1of 29

Đe dọa từ không gian

mạng và toàn cầu hóa

Bài 03: Mã hóa thông tin

ThS. Nguyễn Quang Hưng


10-2021

1
3 yêu cầu của mã hóa
• Confidence: Riêng tư, bí mật
• Integrity: Toàn vẹn, không bị sửa đổi
• Authenticity / Non-repudiation: Có thể xác thực xuất xứ

2
Văn bản mã hóa

3
Văn bản bị sửa đổi

4
Mật mã đối xứng
• Dùng chung 1 mã khóa để mã hóa và giải mã
• M+K=C
• M: Văn bản thuần - plain text
• K: Mã khóa và thuật toán mật mã đối xứng.
• C: Bản mật mã - cipher text
• C-K=M
• Vd: dịch chuyển ký tự trong bảng chữ cái

5
Mật mã đối xứng

6
Mật mã đối xứng
• Chỉ dùng 1 mã khóa cho cả 2 quá trình mã hóa và giải mã.
• Tốc độ thực hiện nhanh.
• Bản mã có dung lượng tương đương bản gốc.
• Việc chuyển mã khóa đến người nhận có thể khiến cho bản mã chẳng còn gì là bí
mật đối với mọi người.
• Việc quản lý mã khóa phức tạp, tốn nhiều công sức.
• Mỗi lần mã hóa thì phải dùng một mã khóa khác nhau.
• Vd: 20 người mã hóa tin gởi cho nhau, cần 20 x 19 = 380 mã khóa.

7
Mật mã bất đối xứng
• 2 quá trình mã hóa và giải mã dùng 2 mã khóa khác nhau.
• 2 mã khóa là 2 giá trị khác nhau nhưng lại có quan hệ toán học và phải được phát
sinh đồng thời.
• 1 khóa được gọi là mã khóa công khai (public key), chủ sở hữu công bố cho mọi
người.
• 1 khóa được gọi là mã khóa cá nhân (private key), chủ sở hữu giữ kín không cho
ai biết.
• Khi thông tin được mã hóa bằng khóa công khai thì chỉ có thể giải mã bằng khóa
cá nhân và ngược lại.

8
Mật mã bất đối xứng

9
Mật mã bất đối xứng
• Mã khóa công khai như số điện thoại đăng trong danh bạ công cộng, ai cũng biết
được.
• Mã khóa cá nhân như chiếc sim đang lắp trong điện thoại.
• Bất cứ ai cũng có thể tra số số điện thoại trong danh bạ và gọi: mã hóa dữ liệu
bằng mã khóa công khai đã công bố.
• Chỉ chủ sim nhận cuộc gọi vì đang sở hữu sim đó: chỉ người đó có thể giải mã
bằng mã khóa cá nhân của mình.

10
Mật mã bất đối xứng
• Người gởi: A, người nhận: B
• Máy tính của B tạo một cặp mã khóa (Pb, Qb).
• Pb: mã khóa công khai, Qb: mã khóa cá nhân
• B gởi mã khóa công khai Pb của mình cho A.
• A mã hóa thông tin bằng mã khóa công khai của B:
• M + Pb = C
• A gởi bản mã cho B
• Chỉ B mới giải mã được bản mã vì có mã khóa cá nhân Qb của mình: C - Qb =
M

11
Mật mã bất đối xứng

12
Mật mã bất đối xứng
• Dữ liệu mã hóa bởi mã khóa này chỉ có thể được giải mã với mã khóa kia.
• Quá trình trao đổi mã khóa không ảnh hưởng đến việc bảo mật thông tin.
• Tốc độ thực hiện khá chậm.
• Bản mã có dung lượng lớn hơn nhiều so với bản gốc.
• Số lượng mã khóa phải quản lý bằng với số đối tượng tham gia trao đổi thông
tin.
• Vd: 20 người mã hóa tin gởi cho nhau, chỉ cần 20 mã khóa.

13
Kết hợp 2 kiểu mã hóa
• Độ bảo mật cao.
• Tốc độ thực hiện nhanh.
• Bản mã có dung lượng tương đương bản gốc.
• Quá trình trao đổi mã khóa không ảnh hưởng đến việc bảo mật thông tin.
• Phù hợp với giao dịch trên mọi quy mô.
• A thực hiện: M + K = Cm, K + Pb = Ck
• A gởi cho B: Cm và Ck
• B nhận Cm, Ck và thực hiện: Ck - Qb = K, Cm - K = M

14
Kết hợp 2 kiểu mã hóa

15
Kết hợp 2 kiểu mã hóa
• Nhược điểm:
• Dùng khóa công khai của B (Pb) để mã hóa.
• Mọi người đều biết Pb và ai cũng có thể giả mạo A để gởi văn bản cho
B.
• Văn bản có thể bị chỉnh sửa trên đường đi.
• Giải quyết:
• B cần xác thực văn bản đúng là của A gởi.
• B phải chắc chắn văn bản nhận được phải toàn vẹn.

16
Hàm băm
• Hàm băm (Hash) là chuỗi ký tự có độ dài bất kỳ trong văn bản, có dung lượng
nhỏ hơn rất nhiều lần so với văn bản gốc.
• Không thể tìm ra văn bản gốc dựa vào hàm băm.
• Văn bản khác nhau có hàm băm khác nhau.

17
Chữ ký số

18
Chữ ký số
• A hash văn bản, thu được hàm băm của văn bản: Hash(M) -> Hm
• A mã hóa bất đối xứng Hm bằng khóa cá nhân của mình (Qa): Hm + Qa -> Sa/m
• Giá trị thu được là chữ ký số của A trên văn bản: A gởi B văn bản có kèm chữ ký
số: M và Sa/m
• Khi nhận được, B tra cứu khóa công khai của A (Pa) trong danh bạ công cộng và
dùng Pa để giải mã Sa/m:
• Không thể giải mã, chữ ký số không phải của A nên văn bản này không phải
do A gởi đến.
• Giải mã được, chữ ký số của A nên văn bản này đúng là A gởi đến.
• B tiếp tục kiểm chứng văn bản bằng cách hash văn bản và so sánh với digest
Hm:
• Nếu khác nhau, văn bản đã bị chỉnh sửa.
• Nếu giống nhau, văn bản vẫn còn toàn vẹn.
19
Công đoạn mã hóa

20
Công đoạn giải mã

21
Vấn đề tồn tại
• Nhược điểm:
• Hacker có thể truy cập danh bạ công cộng và tìm cách can thiệp vào
dữ liệu danh bạ:
• Thay thế mã khóa công khai của A (Pa) trong danh bạ công cộng
bằng mã khóa công khai của hacker (Ph).
• Mã hóa và ký chữ ký số vào văn bản sai lệch.
• Gởi phong bì số cho B.
• Giải quyết:
• Bảo đảm xuất xứ và sự toàn vẹn của mã khóa công khai

22
Vấn đề tồn tại

23
Vấn đề tồn tại

24
Chứng chỉ số
• Chứng chỉ số là một văn bản chứng nhận khóa công khai Pa thực sự thuộc về
chủ sở hữu là A.
• Đơn vị phát hành chứng chỉ số và chứng nhận nội dung phải có uy tín với những
ai muốn dùng mã khóa công khai đó, được gọi là Trusted Certification Authority
hay CA.
• CA chứng nhận bằng cách tạo một chữ ký số ứng với nội dung chứng chỉ.
• Việc thẩm định một chứng chỉ số là thẩm định chữ ký số này bằng cách dùng mã
khóa công khai của CA.
• Nếu hacker giả mạo mã khóa công khai của CA thì sao?

25
Tóm tắt

26
Tóm tắt

27
Tóm tắt
• Các ứng dụng mật mã tối ưu luôn luôn kết hợp hai hình thức đối xứng và bất đối
xứng để tận dụng ưu điểm của cả hai.
• Khi kết hợp mật mã đối xứng và bất đối xứng thì mã khóa đối xứng được phát
sinh ngẫu nhiên, chỉ dùng một lần rồi hủy bỏ.
• Mã khóa công khai của người nhận dùng đóng gói khóa đối xứng trước khi
chuyển đi.
• Mã khóa cá nhân của người gởi dùng mã hóa hàm băm của văn bản để tạo ra chữ
ký số.
• Để không bị sửa đổi, khóa công khai được ghi trong chứng chỉ số cùng với các
thông tin của chủ sở hữu.
• Các nhà cung cấp chứng chỉ số được tin cậy (Trusted Certification Authority -
CA) tạo chữ ký số trên chứng chỉ số. Các phần mềm có liên quan bảo mật
thường tích hợp danh sách các trusted CA.
28
29

You might also like