You are on page 1of 240

An toàn và An ninh

thông tin Mạng

Nguyễn Linh Giang.


Bộ môn Truyền thông
và Mạng máy tính.
Nội dung
I. Nhập môn An toàn thông tin mạng
II. Đảm bảo tính mật
I. Các hệ mật khóa đối xứng (mã hóa đối xứng)
II. Các hệ mật khóa công khai ( mã hóa bất đối xứng )
III. Bài toán xác thực
I. Cơ sở bài toán xác thực
II. Xác thực thông điệp
III. Chữ ký số và các giao thức xác thực
IV. Các cơ chế xác thực trong các hệ phân tán
IV. Bảo vệ các dịch vụ Internet
V. An toàn an ninh hệ thống
I. FireWall và Proxy
II. Hệ thống phát hiện và ngăn chặn xâm nhập ( IDS )
III. Lỗ hổng hệ thống
IV. Case study Windows NT và Linux
V. Virus máy tính
2
Nội dung

z Tài liệu môn học:


– W. Stallings “Networks and Internetwork security”
– W. Stallings “Cryptography and network security”
– Introduction to Cryptography – PGP
– D. Stinson – Cryptography: Theory and Practice

3
Các chủ đề tiểu luận

z 1. Các hệ mật khóa công khai.


– Cơ sở xây dựng hệ mật khóa công khai
– Các hệ mật khóa công khai.
– Các sơ đồ ứng dụng.
z 2. Hạ tầng khóa công khai PKI
– Cấu trúc hạ tâng fkhóa công khai.
– Chứng chỉ số, các chuẩn;
– Triển khai thực tế. Các ứng dụng trong các giao dịch.
– Các hệ thống mã nguồn mở.

4
Các chủ đề tiểu luận

z 3. Bảo mật cho mạng IP. IPSec. Mạng riêng ảo VPN.


Ứng dụng.
z 4. Bài toán xác thực thông điệp.
– Các cơ chế xác thực
– Hàm băm và hàm mã hóa xác thực.
– Các giao thức xác thực.
z 5. Chữ ký số.
– Các cơ chế tạo chữ ký số. Giao thức chữ ký số.
– Các dịch vụ chữ ký số.
– Chữ ký mù.
5 – Ứng dụng.
Các chủ đề tiểu luận
z 6. Phát hiện xâm nhập mạng.
– Các cơ chế phát hiện xâm nhập mạng.
– Phát hiện theo dấu hiệu
– Phát hiện theo bất thường
– Phân tích các đặc trưng thống kê của mạng.
– Ứng dụng.
z 7. Bảo mật cho mạng không dây. Phân tích các đặc trưng
thống kê của các dạng tấn công từ chối dịch vụ. Xác thực
và bảo mật trong mạng không dây. Phát hiện bất thường
trong mạng không dây.

6
Các chủ đề tiểu luận

z 8. Bảo mật hệ thống, bảo mật mạng. Các


chính sách, các chuẩn. Phân tích đối với
Windows và Unix-Linux. Các chính sách an
ninh mạng cho mạng Cisco.
z 9. Bảo vệ dữ liệu đa phương tiện trong quá
trình phân phối qua hệ thống mạng mở. Vấn
đề bảo mật, bảo vệ bản quyền và kiểm soát sử
dụng dữ liệu đa phương tiện.

7
Các chủ đề tiểu luận

z Bảo mật cho web services;


z Đăng nhập 1 lần với GSS-API;
z Xác thực Kerberos;
z SSL và TLS;
z IPSecurity;
z Xác thực X509

8
Các chủ đề tiểu luận

z Hạ tầng khóa công khai PKI


z PGP và bảo mật thư tín điện tử
z S/MIME
z Secure electronic transaction
z Firewall, các kiến trúc;
z Proxy;

9
Các chủ đề tiểu luận

z Các hệ thống phát hiện xâm nhập dựa trên dấu hiệu;
z Các hệ thống phát hiện xâm nhập dựa trên bất
thường;
z Bảo mật mạng LAN không dây;
z Các dạng tấn công vào mạng sensor.
z Các dạng tấn công từ chối dịch vụ;
z Tấn công SQL Injection;
z Phát hiện tấn công quét cổng;
z Các phương pháp, quy trình phát hiện lỗ hổng hệ
thống.

10
Đánh giá

z Giữa kỳ và quá trình: 30%


– Điểm danh: 1/3.
z Thi hết môn: 70%

z Liên hệ giáo viên:


z giangnl@gmail.com; số Bộ môn: 38682596
z 0984933165

11
Chương I. Nhập môn

1. Nhập môn
2. Các dịch vụ, cơ chế an toàn an ninh thông tin và các
dạng tấn công vào hệ thống mạng
3. Các dạng tấn công
4. Các dịch vụ an toàn an ninh
5. Các mô hình an toàn an ninh mạng

12
Nhập môn

z Bối cảnh bảo mật thông tin:


– Trước khi xuất hiện máy tính: Bảo vệ thông tin, tài
liệu:
z Các cơ chế bảo vệ;
z Khoá kho hồ sơ lưu trữ văn bản.
– Khi xuất hiện máy tính - bảo vệ thông tin điện tử:
z Sao chép thông tin dễ dàng
z Cần thiết có các công cụ tự động để bảo mật các tệp, các
dạng thông tin chứa trong máy tính.
z Đặc biệt khi hệ thống được chia sẻ tài nguyên trên mạng.
Vấn đề Computer Security.

13
Nhập môn

– Khi xuất hiện các hệ phân tán và sử dụng mạng để


truyền dữ liệu và trao đổi thông tin: Bảo vệ thông
tin truyền trên mạng
z Truyền dữ liệu giữa người sử dụng và máy tính,
z Giữa máy tính và máy tính.
z Nhu cầu bảo vệ các dữ liệu trong khi truyền → Network
Security.
– Không có ranh giới rõ rệt giữa Computer Security
và Network Security.
– Giáo trình tập trung vào: an toàn thông tin liên
mạng: internetwork security.

14
Nhập môn

– Một số ví dụ về vấn đề
bảo vệ an toàn thông tin:
z Truyền file: A và B trao đổi thông tin
riêng tư
A B
– A truyền file cho B;
– Trong file chứa C chặn
giữ thông
những thông tin bí tin trao
đổi giữa
mật; A và B

– C không được phép


đọc file nhưng có thể
C
theo dõi được quá
trình truyền file và sao
chép file trong quá
trình truyền.

15
Nhập môn

z Trao đổi thông điệp:


– Quản trị mạng D gửi thông điệp
đến máy tính chịu sự quản trị E;
– Thông điệp chứa những thông
tin về danh sách những người
sử dụng mới.
– Người sử dụng F bắt thông
điệp;
– F thêm các user mới vào nội
dung thông điệp, rồi gửi tiếp
cho E;
– E nhận thông điệp, không biết
là đã bị F thay đổi, vẫn tưởng là
do D gửi tới và thay đổi danh
sách user của mình.
16
Nhập môn

z Giả mạo:
– Kịch bản giống trường hợp D không thông tin E
trước;
D E
– F tạo một thông điệp của
riêng mình, chứa những Danh sách giả
mạo

thông tin riêng có lợi cho F và


gửi cho E.
F giả mạo
– E nhận được thông tin từ F, D, gửi
cho rằng thông tin đó do D F
danh sách
mới đến E
gửi và cập nhật những thông
tin giả mạo vào CSDL

17
Nhập môn

– Sự phức tạp trong bài toán Bảo mật liên mạng:


z Không tồn tại phương pháp thích hợp cho mọi trường hợp.

z Các cơ chế bảo mật luôn đi đôi với các biện pháp đối phó.

z Lựa chọn những giải pháp thích hợp với từng ngữ cảnh sử
dụng.

18
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

z Để có thể đánh giá được những nhu cầu về an


toàn của cơ quan một cách hiệu quả và có thể tính
toán và lựa chọn những sản phẩm và chính sách
an ninh, nhà quản trị cần có những phương pháp
có tính hệ thống làm cơ sở để xác định những yêu
cầu an toàn an ninh cũng như đặc tả được những
cách tiếp cận thỏa mãn những yêu cầu đó. Một
trong những phương hướng là khảo sát ba khía
cạnh của an toàn an ninh thông tin.

19
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

z Ba khía cạnh an toàn an ninh thông tin:


– Tấn công vào an ninh thông tin
z Mọi tác động làm giảm mức độ an toàn an ninh thông tin
của hệ thống;
– Các cơ chế an toàn an ninh
z Các cơ chế cho phép:
– Phát hiện,
– Ngăn chặn hoặc
– Khôi phục hệ thống sau khi bị tấn công;

20
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

– Các dịch vụ an toàn an ninh thông tin:


z Các dịch vụ làm tăng cường mức độ an toàn của hệ
thống xử lý thông tin và những thông tin được truyền đi.
z Các dịch vụ có nhiệm vụ
– Chống lại những tấn công thông tin và
– Sử dụng một hoặc nhiều cơ chế an toàn an ninh để cung
cấp dịch vụ.

21
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

z Các dịch vụ an toàn an ninh.


– Những vấn đề nảy sinh khi sử dụng dữ liệu điện tử:
z Không có sự khác biệt giữa các bản sao chép số với
những bản gốc;
z Thay đổi nội dung của bản tin vật lý sẽ để lại dấu vết,
nhưng thay đổi nội dung của bản tin điện tử không để
lại dấu vết;
z Tính xác thực:
– Chứng thực văn bản vật lý phụ thuộc vào các thuộc
tính vật lý của văn bản;
– Chứng thực văn bản phải dựa vào nội dung của chính
văn bản đó.
22
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
Danh sách các chức năng toàn vẹn thông tin
Identification Endorsement
Authorization Access ( Egress )
Liscen and/or Certification Validation
Signature Time of Occurrence
Witnessing ( notarization ) Authenticity-software and/or file
Concurrence Vote
Liability Ownership
Receipt Registration
Certification of Origination Approval/Disapproval
and/or receipt
23
Privacy ( secrecy )
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

– Phân loại các dịch vụ an toàn an ninh:


z Bảo mật riêng tư ( confidentiality ): đảm bảo thông tin trong
hệ thống máy tính cũng như thông tin chuyển tải trên mạng chỉ
được truy cập bởi những người được uỷ quyền. Các dạng truy
cập bao gồm: đọc, in, hiển thị.
z Xác thực ( authentication ): đảm bảo về nguồn gốc của thông
điệp hoặc văn bản điện tử.
z Toàn vẹn thông tin ( integrity ): đảm bảo rằng chỉ có những
người được uỷ quyền mới có thể thay đổi tài nguyên của hệ
thống máy tính và truyền tải thông tin. Mọi thay đổi bao gồm
ghi, xoá , sửa, tạo mới hoặc xem lại các thông điệp.

24
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công
z Chống phủ định ( nonrepudiation ): yêu cầu người gửi
cũng như người nhận thông điệp không thể phủ định
được liên kết.
z Kiểm soát truy cập ( access control ): yêu cầu mọi sự
truy cập tới tài nguyên thông tin đều được kiểm soát chặt
chẽ từ hệ thống.
z Tính sẵn sàng ( availability ): yêu cầu hệ thống tính
toán sẵn sàng đối với những bên được uỷ quyền mỗi khi
cần đến.

25
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

z Các cơ chế an toàn an ninh


– Không tồn tại một cơ chế duy nhất có thể cung cấp
tất cả các dịch vụ an toàn an ninh và thực hiện hết
mọi chức năng đề ra.
– Một phần tử được hầu hết mọi cơ chế bảo mật sử
dụng: các kỹ thuật mật mã. Các phương thức
truyền tải và lưu trữ thông tin dựa trên mật mã là
cơ chế phổ biến để cung cấp sự an toàn thông tin.

26
Dịch vụ và cơ chế an toàn an ninh
Các dạng tấn công

z Các dạng tấn công.


– Truy nhập thông tin bất hợp pháp;
– Sửa đổi thông tin bất hợp pháp;
– v.v và v.v ...

27
Các dạng tấn công vào hệ thống
z Các dạng tấn công vào hệ thống máy tính và mạng:
Nguån th«ng tin N¬i nhËn th«ng tin

Luång th«ng tin th«ng Luång th«ng tin bÞ


th−êng gi¸n ®o¹n

– Gián đoạn truyền tin ( interruption ):


z Các thông tin quý báu có thể bị phá huỷ, không sử dụng được.
z Dạng tấn công vào tính sẵn sàng của thông tin ( availability ).
z Ví dụ: phá huỷ đĩa cứng, cắt đường dây truyền tải, phá hỏng hệ thống
quản lý file.

28
Các dạng tấn công vào hệ thống

– Chặn giữ thông tin (


interception ):
z Người không được uỷ
quyền cố gắng truy cập
tới thông tin. Luång th«ng tin bÞ
z Dạng tấn công vào tính chÆn gi÷

riêng tư của thông tin (


confidentiality ).
z Ví dụ: sao chép trái
phép thông tin.

29
Các dạng tấn công vào hệ thống

– Sửa đổi thông tin (


modification ):
z Không những truy cập
trái phép thông tin mà
còn sửa đổi thông tin
gốc.
z Dạng tấn công vào tính
toàn vẹn thông tin. Luång th«ng tin bÞ
z Ví dụ: truy cập trái phép söa ®æi

vào hệ thống, sửa đổi


thông tin, thay đổi nội
dung thông điệp được
truyền tải.

30
Các dạng tấn công vào hệ thống

– Làm giả thông tin (


fabrication ).
z Người không được uỷ
quyền đưa những thông tin
giả mạo vào hệ thống.
z Dạng tấn công vào tính xác
thực thông tin ( authencity
). Luång th«ng
z Ví dụ: đưa những thông tin bÞ gi¶ m¹o
điệp giả mạo vào hệ thống,
thêm những bản ghi mới
vào file.

31
Các dạng tấn công vào hệ thống
Tấn công thụ động

z Dạng tấn công thụ


động.
– Tấn công thụ động Mèi ®e däa thô ®éng

tương tự hình thức nghe


trộm, theo dõi quá trình
truyền tin. ChÆn gi÷ th«ng tin mËt

– Mục đích của đối


phương là thu được Gi¶i phãng néi dung
Ph©n tÝch t¶i
những thông tin được th«ng ®iÖp

truyền tải.

32
Các dạng tấn công vào hệ thống
Tấn công thụ động

– Các dạng tấn công thụ động:


z Phát hiện nội dung thông điệp ( release of message
contents ).
– Phương pháp chống: Ngăn chặn đối phương thu và tìm hiểu
được nội dung của thông tin truyền tải.
z Phân tích lưu lượng ( traffic analysis ).
– Mục đích của bên truyền tải thông tin: che dấu nội dung của
tin khỏi đối tượng thứ ba ⇒ cơ chế mật mã nội dung được sử
dụng rộng rãi.
– Vấn đề đặt ra: bên thứ ba có thể xác định được vị trí của các
máy tham gia vào quá trình truyền tin, xác định được tần suất
và kích thước bản tin, từ đó đoán được nội dung của bản tin.

33
Các dạng tấn công vào hệ thống
Tấn công thụ động

– Dạng tấn công thụ động rất khó bị phát hiện vì


không làm thay đổi dữ liệu.
– Với dạng tấn công thụ động, nhấn mạnh vấn đề
ngăn chặn hơn là vấn đề phát hiện.

34
Các dạng tấn công vào hệ thống
Tấn công chủ động

z Dạng tấn công chủ


Mèi ®e däa chñ ®éng
động.
– Dạng tấn công chủ
động bao gồm: sửa
các dòng dữ liệu, đưa
Gi¸n ®o¹n truyÒn tin Gi¶ m¹o th«ng tin
những dữ liệu giả, giả ( tÝnh s½n sµng) ( tÝnh x¸c thùc)
danh, phát lại, thay
đổi thông điệp, phủ Söa ®æi néi dung
nhận dịch vụ. ( tÝnh toµn vÑn)

35
Các dạng tấn công vào hệ thống
Tấn công chủ động

z Giả danh ( masquerade ): khi đối phương giả mạo một


đối tượng được uỷ quyền.
z Phát lại ( replay ): dạng tấn công khi đối phương chặn
bắt các đơn vị dữ liệu và phát lại chúng tạo nên các hiệu
ứng không được uỷ quyền;

36
Các dạng tấn công vào hệ thống
Tấn công chủ động

z Thay đổi thông điệp ( modification of message ): một


phần của thông điệp hợp pháp bị sửa đổi, bị làm chậm
lại hoặc bị sắp xếp lại và tạo ra những hiệu ứng không
được uỷ quyền.
z Phủ nhận dịch vụ ( denial of service): dạng tấn công đưa
đến việc cấm hoặc ngăn chặn sử dụng các dịch vụ, các
khả năng truyền thông.

37
Các dạng tấn công vào hệ thống
Tấn công chủ động

– Dạng tấn công chủ động rất khó có thể ngăn chặn
tuyệt đối. Điều đó yêu cầu phải bảo vệ vật lý mọi
đường truyền thông tại mọi thời điểm.
– Mục tiêu an toàn: phát hiện và phục hồi lại thông
tin từ mọi trường hợp bị phá huỷ và làm trễ.

38
Các dịch vụ an toàn an ninh
Đảm bảo tính riêng tư ( Confidentiality )

z Đảm bảo tính riêng tư ( Confidentiality ).


– Đảm bảo tính riêng tư của thông tin: Bảo vệ dữ liệu
được truyền tải khỏi các tấn công thụ động.
– Tương ứng với hình thức phát hiện nội dung thông điệp
( release of message content ) có một vài phương pháp
bảo vệ đường truyền:
z Bảo vệ mọi dữ liệu được truyền giữa hai người sử dụng tại mọi
thời điểm:
– Thiết lập đường truyền ảo giữa hai hệ thống và ngăn chặn mọi
hình thức phát hiện nội dung thông điệp.
z Ví dụ: VPN
39
Các dịch vụ an toàn an ninh
Đảm bảo tính riêng tư ( Confidentiality )

z Bảo vệ các thông điệp đơn lẻ hoặc một số trường đơn lẻ của
thông điệp.
– Không thực sự hữu ích;
– Trong nhiều trường hợp khá phức tạp;
– Yêu cầu chi phí lớn khi thực hiện.
– Đảm bảo tính riêng tư: bảo vệ luồng thông tin trao đổi khỏi
các thao tác phân tích
z Yêu cầu: phía tấn công không thể phát hiện được các đặc
điểm của quá trình truyền tin:
– Nguồn và đích của thông tin;
– Tần suất, độ dài;
– Các thông số khác của luồng thông tin.

40
Các dịch vụ an toàn an ninh
Đảm bảo tính xác thực ( Authentication )

z Đảm bảo tính xác thực ( Authentication )


– Dịch vụ đảm bảo tính xác thực:
z Khẳng định các bên tham gia vào quá trình truyền tin được xác
thực và đáng tin cậy.
– Đối với các thông điệp đơn lẻ:
z Các thông báo, báo hiệu: dịch vụ xác thực:
– Đảm bảo cho bên nhận rằng các thông điệp được đưa ra từ những
nguồn đáng tin cậy.

41
Các dịch vụ an toàn an ninh
Đảm bảo tính xác thực ( Authentication )

– Đối với những liên kết trực tuyến, có hai khía cạnh
cần phải chú ý tới:
z Tại thời điểm khởi tạo kết nối, dịch vụ xác thực phải hai
thực thể tham gia vào trao đổi thông tin phải được ủy
quyền.
z Dịch vụ cần khẳng định rằng kết nối không bị can thiệp
bởi một bên thứ ba. Trong đó bên thứ ba này có thể giả
mạo một trong hai bên được ủy quyền để có thể tham
giâ vào quá trình truyền tin và thu nhận các thông điệp.

42
Các dịch vụ an toàn an ninh
Đảm bảo tính sẵn sàng ( Availability)

z Đảm bảo tính sẵn sàng ( Availability ).


– Tấn công phá hủy tính sẵn sàng của hệ thống:
z Thực hiện các thao tác vật lý tác động lên hệ thống.
– Dịch vụ đảm bảo tín sẵn sàng phải:
z Ngăn chặn các ảnh hưởng lên thông tin trong hệ thống.
z Phục hồi khả năng phục vụ của các phần tử hệ thống trong
thời gian nhanh nhất.

43
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn( Integrity)

z Đảm bảo tính toàn vẹn ( Integrity ).


– Đảm bảo tính toàn vẹn cũng có thể áp dụng cho luồng
thông điệp, một thông điệp hoặc một số trường được
lựa chọn của thông điệp.
– Phương pháp hữu ích nhất là trực tiếp bảo vệ luồng
thông điệp.
– Đảm bảo tính toàn vẹn:
z Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên kết;
z Dịch vụ bảo đảm tính toàn vẹn hướng không liên kết.

44
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn ( Integrity )

– Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên


kết:
z Tác động lên luồng thông điệp và đảm bảo rằng thông
điệp được nhận hoàn toàn giống khi được gửi, không bị
sao chép, không bị sửa đổi, thêm bớt.
z Các dữ liệu bị phá huỷ cũng phải được khôi phục bằng
dịch vụ này.
z Dịch vụ bảo đảm tính toàn vẹn dữ liệu hướng liên kết xử
lý các vấn đề liên quan tới sự sửa đổi của luồng các
thông điệp và chối bỏ dịch vụ.

45
Các dịch vụ an toàn an ninh
Đảm bảo tính toàn vẹn ( Integrity )

– Dịch vụ bảo đảm tính toàn vẹn hướng không liên


kết:
z Chỉ xử lý một thông điệp đơn lẻ. Không quan tâm tới
những ngữ cảnh rộng hơn.
z Chỉ tập trung vào ngăn chặn việc sửa đổi nội dung thông
điệp.

46
Các dịch vụ an toàn an ninh
Dịch vụ chống phủ nhận ( Nonrepudiation)

z Dịch vụ chống phủ nhận ( nonrepudiation ).


– Dịch vụ chống phủ nhận ngăn chặn người nhận và
người gửi từ chối thông điệp được truyền tải.
– Khi thông điệp được gửi đi, người nhận có thể khẳng
định được rằng thông điệp đích thực được gửi tới từ
người được uỷ quyền.
– Khi thông điệp được nhận, người gửi có thể khẳng
định được rằng thông điệp đích thực tới đích.

47
Các dịch vụ an toàn an ninh
Dịch vụ kiểm soát truy cập

z Dịch vụ kiểm soát truy nhập.


– Dịch vụ kiểm soát truy nhập cung cấp khả năng
giới hạn và kiểm soát các truy nhập tới các máy
chủ hoặc các ứng dụng thông qua đường truyền
tin.
– Để đạt được sự kiểm soát này, mỗi đối tượng khi
truy nhập vào mạng phải được nhận biết hoặc
được xác thực, sao cho quyền truy cập sẽ được
gắn với từng cá nhân.

48
Các mô hình an toàn mạng và
hệ thống

z Mô hình an toàn mạng


– Bài toán an toàn an ninh thông tin mạng nảy
sinh khi:
z Cần thiết phải bảo vệ quá trình truyền tin khỏi
các hành động truy cập trái phép;
z Đảm bảo tính riêng tư và tính toàn vẹn;
z Đảm bảo tính xác thực; ..vv.

– Mô hình truyền thống của quá trình truyền


49 tin an toàn
Các mô hình an toàn mạng và
hệ thống
Nhµ cung cÊp ®−îc uû
nhiÖm

Ng−êi uû nhiÖm Ng−êi uû nhiÖm

Th«ng ®iÖp Th«ng ®iÖp


Kªnh truyÒn tin

Th«ng tin
mËt Th«ng tin
mËt

Qu¸ tr×nh truyÒn tin ®−îc Qu¸ tr×nh truyÒn tin ®−îc
b¶o mËt §èi ph−¬ng b¶o mËt

50
Các mô hình an toàn mạng và
hệ thống

– Tất cả các kỹ thuật đảm bảo an toàn hệ thống truyền tin


đều có hai thành phần:
z Quá trình truyền tải có bảo mật thông tin được gửi.
– Ví dụ: mật mã thông điệp sẽ làm cho kẻ tấn công không thể đọc
được thông điệp.
– Thêm vào thông điệp những thông tin được tổng hợp từ nội dung
thông điệp. Các thông tin này có tác dụng xác định người gửi.
z Một số thông tin mật sẽ được chia sẻ giữa hai bên truyền tin.
– Các thông tin này được coi là bí mật với đối phương.
– Ví dụ: khóa mật mã được dùng kết hợp với quá trình truyền để mã
hóa thông điệp khi gửi và giải mã thông điệp khi nhận.

51
Các mô hình an toàn mạng và
hệ thống
– Bên thứ ba được ủy quyền: trong nhiều trường
hợp, cần thiết cho quá trình truyền tin mật:
z Có trách nhiệm phân phối những thông tin mật giữa hai
bên truyền tin;
z Giữ cho các thông tin trao đổi với các bên được bí mật
đối với người tấn công.
z Có trách nhiệm phân xử giữa hai phía truyền tin về tính
xác thực của thông điệp được truyền.

52
Các mô hình an toàn mạng và
hệ thống

z Các thao tác cơ bản thiết kế một hệ thống an


ninh:
– Thiết kế các thuật toán để thực hiện quá trình
truyền tin an toàn;
z Các thuật toán này phải đảm bảo: tấn công không làm mất
khả năng an toàn của chúng.
– Tạo ra những thông tin mật sẽ được xử lý bằng
thuật toán trên.

53
Các mô hình an toàn mạng và
hệ thống

– Phát triển những phương pháp để phân phối và


chia sẻ các thông tin mật.
– Đặt ra giao thức trao đổi:
z Cho phép hai bên truyền tin trao đổi thông tin sử dụng
những thuật toán an toàn;
z Những thông tin mật đạt được độ an toàn thích hợp.

54
Các mô hình an toàn mạng và
hệ thống

z Mô hình an toàn an ninh hệ thống


– Truy nhập của các hacker;
– Các lỗ hổng an ninh hệ thống;
– Các tiến trình ngoại lai:
z Các tiến trình truy cập tới thông tin: làm phá hủy, sửa
đổi thông tin không được phép.
z Các tiến trình dịch vụ: phát hiên các lỗi trong các dịch vụ
của hệ thống để ngăn chặn việc sử dụng của những
người không được ủy quyền.

55
Các mô hình an toàn mạng và
hệ thống

Cæng
§èi ph−¬ng b¶o vÖ C¸c tµi nguyªn
Kªnh truy nhËp
cña hÖ thèng:
Con ng−êi D÷ liÖu;
PhÇn mÒm C¸c qu¸ tr×nh
,øng dông;
C¸c phÇn mÒm;...

M« h×nh An ninh truy nhËp hÖ thèng M¹ng

56
Chương II.
Các phương pháp mật mã khóa đối
xứng

1. Sơ đồ chung của phương pháp mật mã khóa đối xứng


2. Một số phương pháp mật mã khóa đối xứng kinh điển
3. Lý thuyết hệ mật của Shannon
4. Phương pháp DES
5. Quản trị và phân phối khóa
6. Đảm bảo tính riêng tư sử dụng phương pháp mật mã
khoá đối xứng

57
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Sơ đồ mã hóa đối xứng


z Mật mã và thám mã

58
Sơ đồ mật mã khóa đối xứng

z Một số thuộc tính của mô hình mật mã khóa đối


xứng:
– Thuật toán mã hóa phải đủ mạnh để không thể giải mã
được thông điệp nếu chỉ dựa trên duy nhất nội dung của văn
bản được mã hóa( ciphertext ).
– Sự an toàn của phương pháp mã hóa đối xứng chỉ phụ
thuộc vào độ bí mật của khóa mà không phụ thuộc vào độ bí
mật của thuật toán.
z Phương pháp mật mã khóa đối xứng giả thiết rằng:
– Thám mã không thực hiện được nếu chỉ biết thông điệp bị
mã hóa và thuật toán mã hóa.
– Không cần giữ bí mật thuật toán.
– Chỉ cần giữ bí mật khóa.
59
Sơ đồ mật mã khóa đối xứng

Mô hình hệ thống mã hóa đối xứng.


60
Sơ đồ chung của phương pháp mật
mã khóa đối xứng

z Nguồn thông tin:


– Tập hợp thông điệp của nguồn:
Các xâu ký tự X = { X1, X2, ..., XM };
– Thông điệp: xâu ký tự độ dài m:
Xi = [ xi1, xi2, ..., xim ]
xik∈ A; A – bảng ký tự nguồn; thông thường A= {0, 1}
– Mỗi thông điệp Xi có một xác suất xuất hiện P( X = Xi )
– thuộc tính thống kê của nguồn thông điệp:

61
Sơ đồ chung của phương pháp
mật mã khóa đối xứng

z Khóa mật mã
– Tập hợp khoá K = { K1, K2, ... KL},
– Khóa độ dài l: Ki=[ki1, ..., kil];
kij ∈ C, C - bảng ký tự khóa; thông thường C = {0, 1}
– Phân phối khóa giữa các bên trao đổi thông tin:
z Phân phối khóa không tập trung: Nếu khóa K được tạo ra từ phía
nguồn, khóa K cần được chuyển cho phía nhận tin thông qua một
kênh bí mật .
z Phân phối khóa tập trung: Khóa K do bên thứ ba được ủy quyền
tạo ra và được phân phối cho cả hai phía gửi và nhận tin.

62
Sơ đồ chung của phương pháp
mật mã khóa đối xứng

z Mã mật:
– Tập hợp thông điệp mã mật Y = [ Y1, Y2, ..., YN ]
– Thông điệp mã mật: Yj = [yj1, yj2, ..., yjn]
– yjp ∈B, B – bảng ký tự mã mật; thông thường B = {0, 1}

63
Sơ đồ chung của phương pháp
mật mã khóa đối xứng

z Quá trình mật mã và giải mã:


– Quá trình mã hóa:
Y = EK( X )
z Để tăng thêm độ bất định của quá trình mã hóa, sử dụng số
ngẫu nhiên R
Y = EK,R( X )
– Quá trình giải mã:
z Bên nhận giải mã thông điệp bằng khóa được phân phối:
X = DK( Y ) = DK ( EK,R( X ) )

64
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Phía tấn công


– Vấn đề đặt ra: đối phương nhận được thông điệp
Y, nhưng không có được khóa K. Dựa vào thông
điệp Y, đối phương phải khôi phục lại hoặc K,
hoặc X hoặc cả hai.
z Đối phương có thể chỉ cần khôi phục lại thông điệp X
bằng thông điệp X*.
z Nếu đối phương muốn biết thêm các thông điệp trong
tương lai: cần phải xác định được khóa K.

65
Sơ đồ chung của phương pháp mã
hóa đối xứng

z Mật mã
– Hệ thống mật mã có thể được phân loại dựa vào các tiêu
chí:
z Dạng của phép toán tham gia vào mã hóa văn bản từ dạng
thông thường sang dạng được mật mã hóa. Các phương
pháp mã hóa thông thường này dựa vào các nguyên lý sau:
– Phép thay thế: mỗi ký tự trong bản thông điệp sẽ được ánh xạ
vào phần tử khác.
– Phép đổi chỗ: các ký tự trong thông điệp ban đầu được phân
bố lại.
– Phép dịch;
– Yêu cầu chính: không có thông tin bị mất mát.
66
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Số lượng khóa được dùng trong thuật toán.


– Nếu bên gửi và bên nhận cùng dùng chung một khóa: hệ
thống mã hóa đối xứng.
– Nếu hai khóa của bê gửi và bên nhận khác nhau: phương
pháp mã hóa không đối xứng.

67
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Phương thức mà văn bản ban đầu được xử lý:


– Mã hóa khối ( block cipher ): văn bản nguyên thủy
được xử lý theo từng khối thông tin và tạo đầu ra
theo từng khối thông tin.
– Mã hóa dòng ( stream cipher ): thông điệp đầu vào
được xử lý liên tục .

68
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Thám mã
– Quá trình xác định X hoặc K hoặc cả hai từ phía thứ
ba gọi là thám mã ( cryptanalyst )
– Chiến lược được nhà thám mã sử dụng phụ thuộc
vào bản chất của sơ đồ mã hoá và những thông tin
do anh ta nắm được.
– Các dạng thám mã: Các dạng tấn công vào thông
điệp được mã hoá.

69
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Chỉ biết văn bản được mã hoá ( ciphertext only attack ). Dạng
bẻ khóa này là khó nhất. Nhà phân tích có thể biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Phương pháp phá khóa: thử tất cả các tổ hợp khóa có thể để tìm
ra tổ hợp khóa thích hợp. Trong trường hợp không gian khóa lớn
thì phương pháp này không thực hiện được.
– Đối phương cần phải phân tích văn bản mật, thực hiện các kiểm
nghiệm thống kê.
z Đối phương cần phải có một số ý niệm về dạng ban đầu của
văn bản gốc: tiếng Anh, Pháp, hoặc là các file DOS.
– Dạng tấn công này dễ dàng đối phó nhất vì đối phương chỉ có một
số lượng thông tin ít nhất để giải mã.

70
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Nếu đối phương bắt được một số văn bản gốc và văn bản mã hóa tương
ứng ( known plaintext attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Một hoặc một số cặp văn bản gốc – văn bản mã hoá được xây dựng từ một
khoá mật.
– Dựa vào những thông tin trên, nhà phân tích tìm cách phát hiện khóa mật K.
– Nhà phân tích có thể dựa vào nguồn gốc của thông điệp và ước đoán được
một số thông tin trong văn bản gốc. Từ đó dựa vào cặp thông điệp xác định
khóa mật.

71
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Khi nhà phân tích thu được hệ thống nguồn, anh ta có thể
sử dụng một văn bản gốc được lựa chọn trước để xác định
văn bản mã hóa dựa vào đó xác định cấu trúc khóa mật (
chosen plaintext attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Văn bản gốc được nhà phân tích lựa chọn cùng với văn bản
mật sinh ra bởi khoá mật.

72
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Văn bản mã hoá cho trước ( chosen ciphertext attack ). Nhà phân tích
biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Nội dung của một số văn bản mã hoá và văn bản gốc đã được giải mã tương
ứng sử dụng mã mật.
– Nhà phân tích phải giải mã văn bản mã hóa hoặc xác định được khóa mật.
z Văn bản tuỳ chọn ( chosen text attack ). Nhà phân tích biết:
– Thuật toán mã hoá.
– Văn bản mật mã.
– Văn bản gốc được nhà phân tích lựa chọn cùng với văn bản mật sinh ra bởi
khoá mật.
– Nội dung của văn bản mã hoá và văn bản gốc được đã giải mã tương ứng sử
dụng mã mật.
73
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Chỉ có các thuật toán mã hóa yếu sẽ bị phá


đối với loại tấn công chỉ dùng văn bản mật.
z Các thuật toán mã hóa được thiết kế để
chống dạng tấn công với văn bản gốc đã biết (
known plaintext attack ).

74
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Sơ đồ mã hóa được coi là an toàn vô điều kiện (


unconditional secure ): nếu văn bản mã mật không chứa
đủ thông tin để xác đinh duy nhất văn bản gốc tương
ứng, không phụ thuộc vào phía đối phương có bao nhiêu
văn bản mã mật.
– Tính mật của văn bản được đảm bảo không phụ thuộc vào
lượng thời gian mà đối phương dùng để phá mã mật.
– Ngoại trừ sơ đồ mã mật sử dụng một lần ( one-time pad ),
không có sơ đồ mã mật nào đảm bảo tính an toàn vô điều
kiện.

75
Sơ đồ chung của phương pháp
mã hóa đối xứng

z Sơ đồ mã mật được coi là an toàn theo tính toán (


computational secure ) nếu thỏa mãn hai điều kiện:
– Giá thành để bẻ khóa mật vượt quá giá trị của thông tin
được mã hóa.
– Thời gian để phá khóa mật vượt quá thời hạn giữ mật của
thông tin.

76
Sơ đồ chung của phương pháp
mã hóa đối xứng

– Ví dụ: thuật toán DES ( Data Encryption Standard ): Khoá nhị


phân
• Độ dài 32 bit ⇒Số lượng khoá: 232 ⇒ 35.8 phút xử lý với tốc
độ 1 phép mã hoá/μs ⇒ 2.15 ms với tốc độ 106 phép mã hoá /
μs.
• Độ dài 56 bit ⇒Số lượng khoá: 256 ⇒ 1142 năm xử lý với tốc
độ 1 phép mã hoá/μs ⇒ 10.01 giờ với tốc độ 106 phép mã hoá
/ μs.
• Độ dài 128 bit ⇒Số lượng khoá: 2128 ⇒ 5.4 x 1024 năm xử lý
với tốc độ 1 phép mã hoá/μs ⇒ 5.4 x 1018 năm với tốc độ 106
phép mã hoá / μs.
– Ví dụ: Khoá sử dụng 26 ký tự bằng các phép hoán vị ⇒Số lượng
khoá: 26! ≈ 4 x 1026 ⇒ 6.4 x 1012 năm xử lý với tốc độ 1 phép mã
hoá/μs ⇒ 6.4 x 106 năm với tốc độ 106 phép mã hoá / μs.
77
Một số phương pháp mã hóa đối
xứng kinh điển

z Các phương pháp thay thế


– Mã Caesar
z Các ký tự chữ cái được gán giá trị ( a = 1, b = 2, ... )
z Ký tự của văn bản gốc ( plaintext ) p được thay thế bằng
ký tự của văn bản mã mật ( ciphertext ) C theo luật mã
hoá sau:
C = E( p ) = ( p + k ) mod ( 26 )
Trong đó k nhận các giá trị từ 1 đến 25.
z Trong phương pháp này, k chính là khoá mật mã.

78
Một số phương pháp mã hóa đối
xứng kinh điển

z Quá trình giải mã:


p = D( C ) = ( C – k ) mod ( 26 )
z Phương pháp phá mã: một cách đơn giản: dùng các khoá k từ
1 đến 25 để giải mã cho đến khi nhận được thông điệp có ý
nghĩa.
z Các vấn đề của mã Caesar:
– Thuật toán mã hoá và giải mã đã biết trước.
– Thám mã:
z Không gian khóa nhỏ: chỉ có 25 khoá;

z Khi thám mã bằng phương pháp vét cạn: chỉ cần thử với 25
khóa;
– Ngôn ngữ trong bản gốc đã biết trước và dễ dàng nhận biết.

79
Một số phương pháp mã hóa đối
xứng kinh điển

– Mã mật Hill
z Thuật toán mã hoá
– Mỗi ký tự được gán giá trị số: a = 0, b = 1, ..., z = 25
– Lựa chọn m ký tự liên tiếp của văn bản gốc;
– Thay thế các ký tự đã lựa chọn bằng m ký tự mã mật.
– Việc thay thế ký tự được thực hiện bằng m phương trình
tuyến tính.
– Hệ phương trình mã hóa:
C = KP ( mod 26 )
K- ma trận khóa
z Thuật toán giải mã
P = K-1C ( mod 26 )
80
Một số phương pháp mã hóa đối
xứng kinh điển

– Ví dụ: với m = 3, hệ các phương trình tuyến tính có dạng


sau:
C1 = ( k11p1 + k12p2 + k13p3 ) mod 26
C2 = ( k21p1 + k22p2 + k23p3 ) mod 26
C3 = ( k31p1 + k32p2 + k33p3 ) mod 26

⎛ C1 ⎞ ⎛ k11 k12 k13 ⎞⎛ p1 ⎞


⎜ ⎟ ⎜ ⎟⎜ ⎟
⎜ C2 ⎟ = ⎜ k 21 k 22 k 23 ⎟⎜ p2 ⎟
⎜C ⎟ ⎜k
⎝ 3 ⎠ ⎝ 31 k32 k33 ⎟⎠⎜⎝ p3 ⎟⎠
C = KP

81
Một số phương pháp mã hóa đối
xứng kinh điển

– Ma trận K là ma trận khoá mật mã


– Ví dụ: với ma trận K bằng: ⎛ 17 17 5⎞
⎜ ⎟
K = ⎜ 21 18 21 ⎟
⎜2
⎝ 2 19 ⎟⎠
Xâu ký tự: “paymoremoney” sẽ được mã hoá thành
“LNSHDLEWMTRW”
“pay” ⇔ (15, 0, 24 ); K( 15, 0, 24 )T mod 26 = ( 11, 13, 18) ⇔ “LNS”

82
Một số phương pháp mã hóa đối
xứng kinh điển

– Giải mã thông điệp bằng ma trận K-1.


⎛ 4 9 15 ⎞
⎜ ⎟
K = ⎜ 15 17
-1
6⎟
⎜ 24 0 17 ⎟⎠

– Hệ mã Hill:
– Các phép toán thực hiện theo modulo 26

⎧ C = E K (P) = KP
⎨ −1 −1
⎩ P = D K (C) = K C = K KP = P

83
Một số phương pháp mã hóa đối
xứng kinh điển

z Mức độ an toàn của hệ mã Hill


– Mã mật Hill có tính mật cao khi phía tấn công chỉ có văn bản
mật.
– Thám mã hệ mã Hill: dễ dàng bị bẻ khóa nếu bên tấn công
biết được văn bản rõ và văn bản mật tương ứng ( known
plaintext attack )
z Hệ mã mật Hill m x m;

z Thám mã đã có m cặp văn bản gốc – văn bản mật, mỗi


văn bản có độ dài m;
z Tạo các cặp: Pj = ( p1j, p2j, ..., pmj ) và Cj = ( C1j, C2j, ..., Cmj )
sao cho Cj = KPj với 1≤ j ≤ m đối với một khoá K chưa
biết.
z Xác định hai ma trận m x m, X = ( pij ) và Y = ( Cij )

84
Một số phương pháp mã hóa đối
xứng kinh điển

– Ta có Y = XK ⇒ K = X-1Y.
– Ví dụ: văn bản gốc: “friday” được mã hoá bằng mã mật
Hill 2 x 2 thành “PQCFKU”.
z Ta có: K( 5 17 ) = ( 15 16 ); K( 8 3 ) = ( 2 5 ); K( 0 24 ) = ( 10
20 )
z Với hai cặp ban đầu ta có :

⎛15 16 ⎞ ⎛ 5 17 ⎞
⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟K ⇒
⎝ 2 5 ⎠ ⎝8 3 ⎠
−1
⎛ 5 17 ⎞ ⎛15 16 ⎞ ⎛ 9 1 ⎞⎛15 16 ⎞ ⎛ 7 19 ⎞
K = ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟⎜⎜ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ 8 3 ⎠ ⎝ 2 5 ⎠ ⎝ 2 15 ⎠⎝ 2 5 ⎠ ⎝ 8 3 ⎠
85
Một số phương pháp mã hóa đối
xứng kinh điển

– Hệ thống Vernam.
z Để chống lại quá trình thám mã, cần lựa chọn khoá thoả mãn:
– Khoá có độ dài bằng văn bản rõ.
– Khóa được chọn sao cho khoá và văn bản gốc độc lập thống kê.
z Hệ mã mật Vernam:
– Dùng cho mã nhị phân
– Ci = pi ⊕ ki
– pi: bit thứ i của văn bản gốc;
– ki: bit thứ i của khoá;
– Ci: bit thứ i của văn bản được mã hoá;
– ⊕: phép toán XOR.
86
Một số phương pháp mã hóa đối
xứng kinh điển

z Giải mã bằng phép toán ngược: pi = Ci ⊕ ki


z Tạo khoá: tạo vòng lặp với một khoá. Như vậy thực tế,
hệ thống làm việc với một khóa rất dài nhưng lặp lại.
z Hệ thống Vernam có thể bị phá nếu đối phương biết một
văn bản mã có độ dài đủ lớn, sử dụng một số văn bản
gốc đã biết.
z Với khoá được sinh ngẫu nhiên, có độ dài bằng độ dài
văn bản gốc, không lặp lại: sơ đồ mã sử dụng một lần (
one-time pad ): không thể phá khoá. Đầu ra độc lập
thống kê với văn bản gốc.
z Vấn đề nảy sinh: đảm bảo mật cho quá trình gửi và nhận
khoá ngẫu nhiên.

87
Lý thuyết hệ mật của Shannon
z Khái niệm an toàn
tuyệt đối.

88
Lý thuyết hệ mật của Shannon

– Nguồn thông tin X = [ X1, X2, ..., XM ], Xi ∈ A; A –


bảng ký tự( latin, nhị phân, ...).
– Khoá K = [ K1, K2, ... KL ], khóa K được tạo ra.
z Nếu khóa K được tạo ra từ phía nguồn, khóa K cần được
chuyển cho phía nhận tin thông qua một kênh bí mật.
z Khóa K có thể được tạo ra bởi bên thứ ba và được phân
phối cho bên gửi và bên nhận.
z Các ký tự của khoá K nằm trong một bảng ký tự: bảng ký
tự nhị phân { 0, 1 }

89
Lý thuyết hệ mật của Shannon

– Bộ tạo số ngẫu nhiên: R = [ R1, R2, ..., RJ ];


– Thông điệp được mã hóa là hàm của X, R và
K : Y = [ Y1, Y2, ..., YN ]
Y = EKR( X )
– Bên nhận giải mã thông điệp bằng khóa
được phân phối:
X = DK( Y )

90
Lý thuyết hệ mật của Shannon

– Vấn đề đặt ra: đối phương nhận được


thông điệp Y, nhưng không có được khóa
K. Dựa vào thông điệp Y, đối phương phải
khôi phục lại hoặc K, hoặc X hoặc cả hai.
z Đối phương biết các thuật toán mã hoá và giải mã.
z Đối phương có thể chỉ cần khôi phục lại thông điệp X
bằng thông điệp X*.
z Nếu đối phương muốn biết thêm các thông điệp trong
tương lai: cần phải xác định được khóa K.

91
Lý thuyết hệ mật của Shannon

– Khóa mật chỉ được sử dụng một lần.


z M bit của văn bản gốc sẽ được mã hoá trước khi khoá mật K
và chuỗi ngẫu nhiên R thay đổi.
– Đối phương chỉ biết được văn bản mã mật Y.
– Sơ đồ bảo mật tuyệt đối: Văn bản gốc X độc lập
thống kê với văn bản mã Y.
P( X = x | Y = y ) = P( X = x )
đối với mọi văn bản gốc: X = [ x1, x2, ..., xM ] và văn bản
mã hoá Y.

92
Lý thuyết hệ mật của Shannon

– Ví dụ: hệ mã Vernam
z Bảng chữ cái: A = { 0, 1, ..., |A|– 1 }
z Độ dài của văn bản gốc, khoá và văn bản mã bằng nhau:
M = L = N.
z Khoá được chọn ngẫu nhiên: P( K = k ) = |A|-M đối với
|A|M tổ hợp khoá.
z Quá trình mã hoá: Yi = Xi ⊕ Ki, i = 1, 2, ..., M.
z Do với mỗi ký tự xj thuộc Xi và yi thuộc Yj ta có duy nhất
ki thuộc Kj, do đó: P( Y = y | X = x ) = P( Z = z ) = |A|-M
không phụ thuộc vào X.

93
Lý thuyết hệ mật của Shannon

z Yêu cầu đối với khoá trong hệ thống bảo mật tuyệt đối.
– Định lý: đối với hệ mật hoàn hảo
H( X ) = H( X | Y ) ≤ H( K )
– Nếu bảng ký tự gốc và bảng ký tự mã có cùng số ký tự: LX = LK
( trong trường hợp mã sử dụng một lần – one time pad ) và văn
bản gốc hoàn toàn ngẫu nhiên, giới hạn Shannon về tính mật
hoàn hảo sẽ trở thành:
l≥M
– Độ dài của khóa ít nhất phải bằng độ dài của văn bản gốc để
đảm bảo tính mật tuyệt đối.

94
Lý thuyết hệ mật của Shannon

z Phá các khóa không tuyệt đối mật.


– Đặt vấn đề: khi nào nhà phân tích mã mật của
đối phương có thể phá được các mã không
mật tuyệt đối ?!
– Key equivocation function - hàm nhập nhằng
của khóa:
f( n ) = H( K | Y1, Y2, ..., Yn )
z Hàm này xác định độ bất định của khóa khi biết n
ký tự đầu tiên của văn bản mã mật.
95
Lý thuyết hệ mật của Shannon

– Unicity distance u – khoảng cách duy nhất u:


giá trị n nhỏ nhất sao cho f( n ) ≈ 0.
– Đối với mã mật ngẫu nhiên, ta sẽ có:
H (K ) H (X )
u≈ r = 1−
r log L y N log L y
zr - độ dư thừa của thông điệp chứa trong N ký tự
của mã mật thuộc bảng chữ cái có kích thước Ly .

96
Phương pháp mật mã DES

z Văn bản gốc X, văn bản mã mật Y là các chuỗi nhị phân độ
dài 64 bit.
z Khóa K có độ dài 56 bit.
z Từng khối 64 bit được mã hóa độc lập sử dụng chung một
khóa.

97
Phương pháp mật mã DES

z Phương pháp S-DES( DES giản lược )


z Phương pháp mật mã DES

98
S- DES
(Simplified data encryption standard)

z Cấu trúc của DES là rất phức tạp


– S-DES - phiên bản đơn giản của DES;
– Cho phép:
z Mã hoá và giải mã bằng tay;
z Hiểu biết sâu về hoạt động chi tiết của giải thuật DES.
z S-DES đơn giản hơn nhiều so với DES
– Các tham số của S-DES nhỏ hơn trong DES;
z Do giáo sư Edward Schaefer thuộc trường đại học Santa Clara
phát triển

99
Giải thuật S-DES(Simplified DES):

ENCRYPTION DECRYPTION
10-bit key
8-bit plaintext
8-bit plaintext
P10

Shift IP
IP

P8
K1 K1
fk fk

Shift
SW SW

P8
K2 K2
fk fk

IP-1 IP-1

10 8-bit ciphertext 8-bit ciphertext

0 Hình 1:Sơ đồ mã hoá và giải mã S-DES


Giải thuật S-DES

z Giải thuật mã hoá S-DES sử dụng phương pháp


mã hoá theo khối
z Đầu vào:
- 8-bit block của bản rõ
- 10-bit khoá
z Đầu ra:
- 8-bit của bản mã

10
1
Giải thuật S-DES

z Giải thuật mã hoá bao gồm 4 hàm:


- Hàm IP(Initial Permutation)
- Hàm fk
- Hàm SW (Switch)
- Hàm IP-1
z Giải thuật mã hoá có thể biểu diễn như một hàm sau đây:
ciphertext=IP-1(f(SW(f(IP(plaintext)))))
z Tương tự giải thuật giải mã có thể biểu diễn như hàm sau:
plaintext =IP (f(SW(f(IP-1 (ciphertext)))))
10
2
Sinh khoá trong S-DES:
10-bit key

P10

5 5

LS-1 LS-1
5 5

P8
8

LS-2 LS-2
5 5
P8
8

10 Hinh2: Sơ đồ tạo khóa của thuật toán S-DES


3
Các hàm sinh khoá:

z P10:Đây là hàm hoán vị tuân theo luật như trong bảng

z LS-1: Là hàm dịch vòng 1 bit


z LS-2: Là hàm dịch vòng 2 bit
z P8:Là hàm hoán vị tuân theo luật như trong bảng

10
4
Mã hoá S-DES:

Hàm IP và hàm IP-1:


+ Hàm IP tuân theo luật sau:

+ Hàm IP-1 tuân heo luật sau:

10
5
Hàm fk:
8-bit plaintext

IP
4

4
E/P
fk
F
8 8
+ K1
4 4
Hình 3:Mô hình chi tiết fk
S0 S0
2
2
P4
4

10 +
4
6
E/P(expension/permutation):

z Hàm E/P tuân theo luật sau:

z Nếu gọi 4 bit đầu vào là (n1,n2,n3,n4) thì E/P được biểu diễn chi
tiết như sau:

10
7
Khối thay thế S-box

z Tại đầu vào S-box một khối 8 bit được chia thành hai khối 4 bit;
z Mỗi khối 4 bit được đưa vào S0 và S1
z Thay thế mỗi khối 4 bit bằng khối 2 bit;
z Các khối S0 và S1 được định nghĩa như sau:
S0: S1:

10
8
Khối thay thế S-box

z Phần tử trong khối S-box có độ dài 2 bit;


z Quá trình thay thế trong S-box:
– Với 4 bit đầu vào là (b1,b2,b3,b4);
z b1 và b4 kết hợp thành một số chỉ hàng của S box,
z b2 và b3 tạo thành số chỉ cột trong S box;
z Phần tử nằm trên hàng và cột đã xác định thay thế cho
4 bit đầu vào của S-box đó.

10
9
Hoán vị P4

z Hoán vị P4 tuân theo luật sau:

11
0
Hàm SW

z Hàm fk chỉ thực hiện trên 4 bit trái của đầu vào;
z Hàm SW hoán đổi 4 bit phải và 4 bit trái để lần áp
dụng hàm fk thứ 2 sẽ thực hiện trên 4 bit phải.
z Áp dụng hàm fk lần 2 thực hiện các hàm E/P
,S0,S1,P4 như trên.

11
1
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Đặt vấn đề:


– Trong kỹ thuật mật mã truyền thống, hai phía tham gia
vào truyền tin phải chia sẻ khoá mật ⇒ khoá phải
được đảm bảo bí mật : phải duy trì được kênh mật
phân phối khóa.
– Khóa phải được sử dụng một lần: Khoá phải được
thường xuyên thay đổi.
– Mức độ an toàn của bất kỳ hệ mật sẽ phụ thuộc vào kỹ
thuật phân phối khoá.
11
2
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Một số kỹ thuật phân phối khoá.


– Phân phối khóa không tập trung: Khoá được A lựa
chọn và phân phối vật lý tới B.
– Phân phối khóa tập trung: Người thứ ba C lựa chọn
khoá và phân phối vật lý tới A và B.
– Nhận xét:
z Hai kỹ thuật này khá cồng kềnh khi các bên tham gia vào
trao đổi thông tin với số lượng lớn.

11
3
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Nếu A và B trước đây và hiện nay đã dùng khoá, một


phía có thể gửi khoá mới dùng khoá cũ để mã hoá.
z Nếu A và B có kết nối mã mật với phía thứ ba C, C có
thể phân phối khoá theo đường mã mật tới A và B.
– Phân cấp khoá:
z Việc sử dụng trung tâm phân phối khoá dựa trên cơ sở
của việc phân cấp các khoá.

11
4
Quản trị và phân phối khóa trong mã
hóa đối xứng

Sö dông B¶o vÖ b»ng


D÷ liÖu
ph©n mËt m·
cÊp
kho¸
Kho¸ phiªn D÷ liÖu B¶o vÖ b»ng
®−îc m· mËt m·
ho¸

B¶o vÖ kh«ng
Kho¸ chÝnh D÷ liÖu b»ng mËt m·
11
5
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Kịch bản quá trình phân phối khóa.


– Giả thiết: mội người sử dụng cùng chia sẻ một khóa mật chính
với trung tâm phân phối khóa ( KDC ).
– Tiền đề:
z Người sử dụng A muốn thiết lập kết nối lôgic với người sử dụng
B.
z Hai phía trao đổi thông tin yêu cầu khóa phiên sử dụng một lần
để bảo mật dữ liệu truyền qua kết nối.
z Phía A có khóa mật KMA, khóa này chỉ có A và KDC biết.
z Phía B có khóa mật KMB, khóa này chỉ có B và KDC biết.

11
6
Quản trị và phân phối khóa trong mã
hóa đối xứng

– Kịch bản phân phối khóa:


z A yêu cầu KDC khóa phiên để bảo mật liên kết lôgic với B.
– Trong thông điệp này chứa định danh của A và B cùng với
dấu hiệu nhận diện N1.
– Dấu hiệu nhận diện N1 này chỉ được sử dụng một lần trong
trường hợp này.
– Dấu hiệu nhận diện N1 có thể là dấu thời gian, bộ đếm, hoặc
là một số ngẫu nhiên.
– Yêu cầu tối thiểu đối với dấu nhận diện: dấu hiệu này phải
khác nhau đối với từng yêu cầu.
– Để ngăn chặ sự giả mạo, dấu hiệu nhận diện phải khó bị đối
phương dự đoán. Như vậy, số ngẫu nhiện là lựa chọn tốt.
11
7
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Trung tâm phân phối khóa KDC trả lời A bằng thông điệp được
mã hóa bằng khóa KMA. Như vậy chỉ có A là người duy nhất có
thể giải mã thành công thông điệp và A cũng xác định được
nguồn gốc của thông điệp ( A xác định được thông điệp là do
KDC gửi tới do khóa KMA chỉ có duy nhất A và KDC biết ).
Trong thông điệp chứa những thông tin dành cho A:
– Khóa phiên sử dụng một lần KS;
– Thông điệp gốc cùng với dấu hiệu nhận dạng N1. Các thông tin này
cho phép A so sánh câu trả lời từ KDC với yêu cầu ban đầu.

11
8
Quản trị và phân phối khóa trong mã
hóa đối xứng

Như vậy, A có thể kiểm tra rằng yêu cầu ban đầu không bị
thay đổi trước khi KDC nhận được và do có dấu hiệu
nhận dạng N1 nên thông điệp này không phải là phiên
bản phát lại của một yêu cầu nào đó trước đó.
Trong thông điệp cũng có những thông tin dành cho B:
– Khóa phiên sử dụng một lần KS;
– Định danh của A – IDA.
Hai thông tin này được mã hóa với khóa mật KMB chia sẻ
giữa B và KDC. Những thông tin này được gửi cho B để
thiết lập liên kết và chứng minh định danh của A.

11
9
Quản trị và phân phối khóa trong mã
hóa đối xứng

z A lưu lại khóa phiên KS để sử dụng cho liên kết sắp thiết lập

– gửi cho B những thông tin của KDC dành cho B – Ekb[ KS ||
IDA ]. Vì những thông tin này được mã hóa bằng KMB nên
chúng được bảo vệ khỏi hình thức nghe trộm. Sau khi nhận
được thông điệp từ A, B biết được khóa phiên KS, và biết
được phía bên kia là A từ định danh của A. Thêm vào đó, B
biết được những thông tin này là do KDC cung cấp vì được
mã hóa bằng KMB – Ekb.
– Như vậy từ thời điểm này, khóa phiên đã được phân phối mật
tới A và B. A và B có thể sử dụng khóa phiên để trao đổi thông
tin. Tuy nhiên để tăng độ tin cậy cho quá trình trao đổi thông
tin và ngăn chặn các khả năng tấn công, hai bước sau có thể
được áp dụng:
12
0
Quản trị và phân phối khóa trong mã
hóa đối xứng

z B gửi tới cho A dấu hiệu nhận dạng N2 bằng cách mã


hóa sử dụng khóa phiên.
z Bằng cách sử dụng khóa phiên KS, A trả lời B bằng
thông điệp f( N2 ), trong đó f là hàm biến đổi N2.
– Hai bước này giúp cho B biết được rằng thông điệp nhận
được trong bước trước không bị phát lại.
– Ta thấy các bước phân phối khóa bao gồm các bước từ 1
đến 3. Các bước 4, 5 cũng như bước 3 dùng vào mục đích
xác thực.

12
1
Quản trị và phân phối khóa trong mã
hóa đối xứng

Trung t©m K Þch b¶n ph©n phèi


(1)Y ªu cÇu || N 1 ph©n phèi khãa sö dông s¬ ®å
khãa K DC
m · hãa ®èi xøng

(2)E K a [K s || Y ªu cÇu || N 1 || E K b (K s , ID A )]

(3) E K b [K s || ID A ]

Bªn khëi
C¸c b−íc ph©n phèi khãa Bªn nhËn
t¹o liªn kÕt
liªn kÕt B
A

12 (4) E K s [N 2 ]

(5) E K s [ f(N 2 )] C¸c b−íc


2 x¸c thùc
Quản trị và phân phối khóa trong mã
hóa đối xứng

z Kiểm soát khoá không tập trung:


– Sử dụng trung tâm phân phối khoá KDC đưa ra yêu cầu đối
với KDC: KDC phải được uỷ nhiệm và phải được bảo vệ
khỏi các tấn công.
– Các yêu cầu này có thể loại bỏ nếu sử dụng sơ đồ phân
phối khoá không tập trung.

12
3
Quản trị và phân phối khóa trong mã
hóa đối xứng

KÞch b¶n ph©n phèi khãa kh«ng tËp trung


(1)Yªu cÇu || N1

Bªn khëi
Bªn nhËn
t¹o liªn kÕt
liªn kÕt B
A
(2)EMKm[Ks || Yªu cÇu || IDB || f(N1) || N2)]

(3) EKs[ f(N2 )]

12
4
Quản trị và phân phối khóa trong mã
hóa đối xứng

– Các yêu cầu của phân phối khoá không tập trung:
z Mỗi hệ thống giao tiếp theo liên kết mật với tất cả các hệ thống
trạm khác với mục đích phân phối khoá phiên.
z Số lượng khoá phiên cực đại có thể có sẽ bằng: n( n – 1 ) / 2.
– Kịch bản phân phối khoá không tập trung.
z A gửi yêu cầu khoá phiên tới cho B cùng với dấu hiệu nhận
dạng N1;
z B trả lời bằng thông điệp được mã hoá bằng khoá chính chung
( shared master key ). Trong câu trả lời chứa khoá phiên do B
lựa chọn Ks, định danh của B, giá trị f( N1 ), và đấu hiệu nhận
dạng N2.
z Sử dụng khoá phiên mới, A gửi trả f( N2 ) cho B.
12
5
Kết chương

z Hệ mật khóa đối xứng


– Thuật toán;
– Hệ mật hoàn hảo và hệ mật không hoàn hảo;
– Quản trị và phân phối khóa;

12
6
Chương III. Các hệ mật khóa công khai

z Nguyên lý hệ mật khoá công khai


z Thuật toán RSA
z Quản lý khoá
z Sơ đồ trao đổi khoá Diffie-Hellman
z Một số hệ mật khóa công khai khác

12
7
Nguyên lý hệ mật khoá công khai

z Đặc điểm
– Mật mã công khai dựa trên cơ sở của các hàm
toán học.
– Không dựa trên phép thay thế và đổi chỗ như
trong phương pháp mã hoá đối xứng.
– Mã mật công khai là bất đối xứng.
z Trong cơ chế mã mật khoá công khai sử dụng hai khoá:
khoá mật và khoá công khai.
z Các hệ quả của việc sử dụng hai khoá bất đối xứng:
12 tính toàn vẹn, tính xác thực, phân phối khoá.
8
Nguyên lý hệ mật khoá công khai

z Xuất xứ:
– Hệ mã mật khoá công khai được phát triển nhằm
giải quyết hai vấn đề phức tạp nảy sinh từ
phương pháp mã hoá đối xứng:
z Vấn đề thứ nhất: bài toán phân phối khoá;
z Vấn đề thứ hai: chữ ký điện tử.

12
9
Nguyên lý hệ mật khoá công khai

– Vấn đề phân phối khóa:


z Cácyêu cầu trong sơ đồ mã hoá đối xứng: hai
bên tham gia vào trao đổi thông tin:
– Phải chia sẻ trước khoá, khoá này phải được phân
phối bằng một cách nào đó cho họ.
– Phải duy trì kênh mật phân phối khóa.
– Sử dụng trung tâm phân phối khoá KDC trong mô
hình tập trung.
z KDC là hạt nhân trong việc đảm bảo an toàn hệ
13 thống trao đổi thông tin.
0
Nguyên lý hệ mật khoá công khai

– Vấn đề chữ ký điện tử: là dấu hiệu đặc


trưng xác thực các bên trao đổi thông tin.
z Chữ ký điện tử được sử dụng trong các thông
điệp điện tử;
z Có hiệu lực tương đương với chữ ký trên giấy.
z Phục vụ xác thực các bên trao đổi thông tin.

13
1
Nguyên lý hệ mật khoá công khai
z Hệ mật khoá công khai.
– Sơ đồ mã mật khoá công khai sử dụng một khoá
để mã hoá và một khoá khác có liên quan để giải
mã. Các thuật toán mã hoá và giải mã có một số
đặc điểm quan trọng sau:
z Không thể xác định được khoá giải mã nếu chỉ biết
thuật toán mã hoá và khoá mã hoá.
z Một số hệ mã mật khoá công khai ( như RSA ) còn
cung cấp khả năng sử dụng bất kỳ một khoá trong cặp
khoá làm khoá mã hoá thì khoá còn lại sẽ được dùng
13 làm khoá giải mã.
2
Nguyên lý hệ mật khoá công khai
– Sơ đồ mã hoá công khai:
z A và B có các cặp khóa (KRA, KPA), (KRB, KPB). Các khóa này dùng để mã
hoá và giải mã các thông điệp.
z A và B công bố khoá công khai KPA, KPB trong cặp khoá, khoá còn lại
được giữ mật.
z Khi gửi thông điệp cho B, A sẽ mã hoá văn bản bằng khoá công khai KPB
của B.
z Khi nhận được thông điệp, B sẽ giải mã bằng khoá mật KRB. Bên thứ ba
không giải mã được thông điệp vì chỉ có B biết khoá mật KRB của B.
Khóa công khai của B Khóa riêng của B

Văn bản rõ Mã hóa Mã mật Giải mã Văn bản rõ


A B
13
Đảm bảo tính mật
3
Nguyên lý hệ mật khoá công khai

– Sơ đồ xác thực:
z Nếu A muốn gửi thông điệp được xác thực cho B, A sẽ
mã hoá văn bản bằng khoá riêng của A.
z Khi B nhận được thông điệp, B sẽ giải mã bằng khoá
công khai của A. Không một bên thứ ba có thể giải mã
được thông điệp vì chỉ có B biết khoá mật của B.
Khóa riêng của A Khóa công khai của A

Văn bản rõ Mã hóa Mã mật Giải mã Văn bản rõ


A B
13
Đảm bảo tính xác thực
4
Nguyên lý hệ mật khoá công khai

– Đặc điểm:
z Mọi bên trao đổi thông tin có truy nhập tới khoá công khai.
z Khoá mật ( khoá riêng tư ) được lưu giữ cục bộ tại mỗi bên và
không bao giờ được phân phối.
z Do hệ thống tự quản lý khoá mật nên kênh truyền thông tin tới là
mật.
z Hệ thống có thể thay đổi khoá mật và công bố khoá công khai mới
tương ứng để thay thế khoá công khai cũ bất cứ lúc nào.

13
5
Nguyên lý hệ mật khoá công khai

S¬ ®å m· ho¸ ®èi xøng S¬ ®å m· ho¸ c«ng khai


Hoạt 1. Cïng mét thuËt to¸n vµ cïng mét kho¸ 1. Mét thuËt to¸n ®Ó m· ho¸, mét thuËt
®Ó m· ho¸ vµ gi¶i m·. to¸n ®Ó gi¶i m· sö dông mét cÆp
động kho¸.
2. Ng−êi nhËn vµ ng−êi göi ph¶i chia sÎ
thuËt to¸n vµ kho¸ 2. Ng−êi göi vµ ng−êi nhËn ph¶i cã mét
cÆp kho¸ cña riªng m×nh.

Bảo mật 1. Kho¸ ph¶i ®−îc gi÷ mËt. 1. Mét trong hai kho¸ ph¶i ®−îc gi÷ mËt.
2. Kh«ng thÓ gi¶i m· v¨n b¶n nÕu kh«ng 2. Kh«ng thÓ gi¶i m· v¨n b¶n nÕu
cã th«ng tin bæ sung. kh«ng cã th«ng tin bæ sung.
3. C¸c kiÕn thøc vÒ thuËt to¸n céng víi 3. C¸c kiÕn thøc vÒ thuËt to¸n céng víi
mÉu cña v¨n b¶n mËt kh«ng ®ñ ®Ó mÉu cña v¨n b¶n mËt kh«ng ®ñ
x¸c ®Þnh kho¸. ®Ó x¸c ®Þnh kho¸.

13
6
Nguyên lý hệ mật khoá công khai
z Các yêu cầu đối với hệ mật khóa công khai
– Quá trình sinh cặp khóa KP, KR là dễ trên phương diện tính toán;
– Quá trình mã hóa bản tin bằng khóa công khai KP ở bên gửi là dễ:
Y = EKP(M);
– Quá trình giải mã ra văn bản rõ khi biết khóa riêng KR và bản tin mật Y
là dễ:
M = DKR(Y);
– Đối với thám mã, nếu chỉ biết KP sẽ rất khó trên phương diện tính toán
để tính ra KR;
– Đối với thám mã, nếu chỉ biết KP và bản tin mật Y sẽ rất khó trên
phương diện tính toán để tính ra bản tin rõ M;
– Nguyên lý đối xứng: quá trình mã hóa – giải mã có thể áp dụng theo
hai chiều: M = DKP[EKR(M)]
13
7
Nguyên lý hệ mật khoá công khai

z Các hàm một chiều và hàm bẫy một chiều


– Các hàm một chiều
z Ánh xạ từ miền xác định vào miền giá trị sao cho có hàm
ngược duy nhất;
z Điều kiện một chiều: thực hiện hàm thuận – dễ; thực hiện
hàm ngược khó trên phương diện tính toán
– Y = f(X) – thực hiện dễ trên phương diện tính toán;
– X = f -1(Y) – thực hiện khó trên phương diện tính toán

13
8
Nguyên lý hệ mật khoá công khai

– Hàm bẫy một chiều


z Ánh xạ từ miền xác định vào miền giá trị sao cho có hàm
ngược duy nhất;
z Điều kiện: thực hiện hàm thuận – dễ; thực hiện hàm ngược
khó trên phương diện tính toán nếu không có thêm thông
tin bổ trợ;
z Y = fK(X) – thực hiện dễ trên phương diện tính toán nếu
biết K và X;
z X = fK-1(Y) – thực hiện khó trên phương diện tính toán nếu
không biết K;
z X = fK-1(Y) – thực hiện dễ trên phương diện tính toán nếu
13 biết K;
9
Nguyên lý hệ mật khoá công khai

z Các ứng dụng của hệ mật khóa công khai


– Ứng dụng trong mật mã – mã hóa, giải mã (RSA):
z Bên gửi mã hóa bằng khóa công khai của bên nhận;
z Bên nhận giải mã bằng khóa riêng.
– Ứng dụng trong phân phối khóa(RSA, Diffie-Helman):
duy trì kênh mật phân phối khóa đối xứng bằng cơ sở
mã mật công khai;
– Ứng dụng trong chữ ký số (RSA, DSS):
z Bên gửi ký bằng khóa riêng.
14 z Bên nhận xác thực chữ ký bằng khóa công khai của bên gửi.
0
Thuật toán mã hoá công khai RSA

z Sơ đồ thuật toán
z Thám mã RSA
z Cơ sở lý thuyết số

14
1
Sơ đồ thuật toán RSA

z Xuất xứ
– RSA do Ron Rivest, Adi Shamir và Len Adlenman
phát minh năm 1977;
– Hệ thống mã khoá công khai phổ biến và đa năng:
z Được sử dụng trong các ứng dụng mã hóa/giải mã;
z Chứng thực;
z Phân phối và trao đổi khoá.

14
2
Sơ đồ thuật toán RSA

z Thuật toán RSA:


– Phương pháp mã hóa khối;
– Văn bản rõ và văn bản mật là các số nguyên có giá trị
từ 0 đến n-1, n – số nguyên lớn;
– Mỗi khối có giá trị nhỏ hơn n.
– Kích thước của khối (số bít) nhỏ hơn hoặc bằng log2(n).
– Thực tế, kích thước của khối là k bit với
2k < n ≤ 2k+1.
14
3
Sơ đồ thuật toán RSA

– Cặp khóa: (e, d)


– Mã hoá

Bản rõ M<n
Mã mật C = Me mod n

– Giải mã
Mã mật C
Bản rõ M = Cd mod n =
14
(Me)d mod n
4
Sơ đồ thuật toán RSA

– Bên gửi và bên nhận phải biết số n.


– Bên gửi biết khóa công khai là cặp (e, n).
– Bên nhận có khóa riêng là cặp (d, n).
– Các yêu cầu:
z Có thể tìm được các số e, d, n sao cho:
Med = M mod n ∀ M < n.
z Thực hiện tính Me và Cd một cách đơn giản ∀ M < n.
z Không thể xác định được d nếu biết e và n

14
5
Sơ đồ thuật toán RSA

z Tạo khoá
– Tìm các số e, d sao cho:
Med=M mod n
– Hệ quả của định lý Euler: cho p và q là số nguyên tố,
n và m là hai số nguyên sao cho: n=pq và 0 < m < n,
k là số nguyên bất kỳ. Đẳng thức sau nghiệm đúng:
mkφ(n)+1=mk(p-1)(q-1)+1≡m mod n
– Như vậy: ed = kφ(n)+1, tức là:
– ed ≡1 mod φ(n) hay d ≡e-1 mod φ(n) có nghĩa là
gcd(φ(n), d) = 1 và gcd(φ(n), e) = 1
14
6
Sơ đồ thuật toán RSA

– Sơ đồ tạo khóa RSA

14
7
Sơ đồ thuật toán RSA

– Ví dụ
z p = 7, q = 17
z n = pq = 119; φ(n)=(p-1)(q-1)=96
z Chọn e nguyên tố cùng nhau với φ(n), nhỏ hơn φ(n),
– Chọn e = 5;
z Tìm d: d≡e-1 mod φ(n)
– d=77 => cặp khóa: e=(5, 119); d=(77, 119)

14
8
Sơ đồ thuật toán RSA

z Mã hoá và giải mã
– Vấn đề trong thuật toán mã hoá và giải mã RSA là việc thực hiện phép
toán luỹ thừa và phép toán đồng dư với số nguyên lớn.
– Giải quyết dựa trên tính chất của phép toán mođun:
[(a mod n) x (b mod n)] mod n = (a x b) mod n
– Tính am với m lớn.
z Biểu diễn nhị phân của m =bkbk-1…b0=∑bi≠02i
z Do đó: ⎛ ⎞

⎜ ∑ 2i ⎟

a =a
m ⎝ bi ≠0 ⎠
= ∏a 2i

bi ≠ 0

14 a mod n = ∏ a mod n = ∏ a mod n


m 2i
( 2i
)
bi ≠ 0 bi ≠ 0
9
Sơ đồ thuật toán RSA

z Sinh khoá
– Các bước quan trọng trong tạo khóa:
z Xác định 2 số nguyên tố p và q. Để tránh tấn công vét cạn, p và q
phải lớn.
z Xác định e và d
- Xác định số nguyên tố p, q (sử dụng thuật toán Miller – Rabin)
1. Chọn một số nguyên lẻ n ngẫu nhiên (sử dụng bộ sinh số
giả ngẫu nhiên).
2. Chọn một số nguyên a < n ngẫu nhiên.
3. Thực hiện thuật toán xác suất để kiểm tra số nguyên tố.
Nếu n test thành công thì loại bỏ giá trị n và quay lại bước 1.
4. Nếu n test thành công với số lượng test đủ, chấp nhận n;
mặt khác, quay lại bước 2.
15 - Chọn e và tính d từ e và φ(n) (sử dụng thuật toán Euclid)
0
Thám mã RSA

z Tấn công vét cạn: thử vét cạn toàn bộ không


gian khóa riêng.
z Tấn công toán học: thực hiện bài toán phân
tích số nguyên thành tích hai số nguyên tố.
z Tấn công dựa vào thời gian: dựa vào thời
gian để thực hiện thuật toán giải mã.

15
1
Quản lý khóa trong sơ đồ mật mã khóa
công khai

z Các mô hình quản lý khóa


– Bài toán phân phối khóa: tập trung xây dựng kênh
mật phân phối khóa phiên bí mật.
– Hai hướng sử dụng mật mã khóa công khai:
z Phân phối khóa công khai;
z Sử dụng mã hóa khóa công khai để phân phối khóa
phiên

15
2
Phân phối khóa công khai

z Các mô hình
– Công bố công khai
– Công bố thư mục công khai
– Trung tâm ủy quyền khóa công khai
– Chứng thư khóa công khai

15
3
Phân phối khóa công khai

z Công bố công khai


– Các bên tham gia trao đổi thông tin tự công bố
khóa công khai;
– Điểm mạnh: đơn giản.
– Điểm yếu:
z Một người thứ 3 có thể giả mạo khóa công khai;
– Bên C giả mạo bên nhận tin B, gửi khóa công khai của
mình KPC cho A;
– A mã hóa các bản tin gửi cho B bằng khóa KPC của C;
B không đọc được bản tin A gửi
15 –
– C có thể đọc được bản tin A gửi B
4
Phân phối khóa công khai

z Quản lý thư mục khóa công khai


– Có bên thứ ba C được ủy quyền quản lý khóa công khai;
– Bên thứ ba C tạo cho mỗi bên tham gia trao đổi thông tin một
thư mục lưu trữ khóa;
– Các bên đăng ký và gửi khóa công khai tới C. Quá trình đăng
ký có thể thực hiện trên kênh bảo mật.
– Các bên có thể thay thế khóa công khai theo nhu cầu
z Khi đã sử dụng khóa nhiều lần để mã hóa lượng dữ liệu lớn;
z Khi khóa riêng cần phải thay thế

15
5
Phân phối khóa công khai

– Bên C định kỳ công bố toàn bộ thư mục khóa hoặc


cập nhật;
– Các bên có thể truy cập thư mục khóa qua các kênh
bảo mật.
z Vấn đề xác thực đối với bên thứ ba C.
– Điểm yếu:
z Nếu thám mã biết được khóa riêng của C
– Toàn bộ các khóa công khai được lưu trữ có thể bị giả mạo.
– Có thể nghe trộm các thông điệp do các bên trao đổi .

15
6
Phân phối khóa công khai

z Ủy quyền khóa công khai


– Bên thứ ba được ủy quyền PKA tham gia lưu giữ khóa;
– Các bên A, B biết khóa công khai của PKA;
– Các bước làm việc:
z A gửi yêu cầu khóa công khai của B tới PKA: Request||T1
z PKA gửi lại A: EKRpka(KPB|| Request||T1)
z A gửi B: EKPB(IDA||N1)
z B gửi yêu cầu khóa công khai của A tới PKA: Request||T2
z PKA gửi lại B: EKRpka(KPA|| Request||T2)
z B gửi A: EKPA(N1||N2)
15 z A gửi B: EKPB(N2)

7
Phân phối khóa công khai
– Phân tích:
z Số lượng giao dịch tăng;
z Bốn giao dịch đầu sử dụng ít vì khóa công khai có thể lưu trữ để
dùng trong các lần sau;
z Định kỳ các bên phải cập nhật các phiên bản khóa công khai
mới.
– Ưu điểm:
z An toàn hơn;
z Kết hợp xác thực hai bên;
– Nhược điểm
z PKA là nút thắt cổ chai của hệ thống.
z Các bên phải truy cập PKA mỗi khi cần khóa công khai;
z PKA là điểm yếu của toàn bộ hệ thống do số giao dịch lớn.
15
8
Phân phối khóa công khai

z Chứng chỉ khóa công khai


– Trung tâm cấp phát chứng thư số CA;
– Chỉ cần xác nhận khóa công khai một lần;
– Không cần truy cập CA mỗi khi cần khóa công khai;
– Khóa công khai sẽ do các bên tự quản lý;
– Sơ đồ hoạt động:
z Các bên gửi khóa công khai tới CA để chứng thực;
z Nhận chứng thư số từ CA kèm thời gian hiệu lực;
z Các bên xuất trình chứng thư số trong các giao dịch;
15
9
Phân phối khóa mật đối xứng sử dụng
mã hóa công khai

z Sơ đồ đơn giản:
– A gửi B: KPA || IDA
– B tạo khóa phiên Ks và gửi lại A: EKPA(KS)
z Sơ đồ kèm xác thực
– A gửi B: EKPB(N1||IDA)
– B gửi A: EKPA(N1||N2)
– A gửi B: EKPB(N2)
– A gửi B: EKPB(EKRA(KS))
16
0
Nguyên lý trao đổi khóa Diffie-Hellman

z Được Diffie-Hellman đưa ra vào 1976


z Là sự kết hợp của hai mô hình xác thực và
mật của hệ KCK
z Việc sinh ra các cặp khoá là hoàn toàn khác
nhau đối với người sử dụng
z Sử dụng cơ chế trao đổi khoá trực tiếp
không qua trung gian xác thực
16
1
Nguyên lý trao đổi khóa Diffie-Helman

z Sử dụng để áp dụng cho các ứng dụng có độ


mật cao bằng phương pháp trao đổi khoá
(key exchange)
z Nguyên tắc: hai người sử dụng có thể trao
đổi một khoá an toàn - được dùng để mã
hoá các tin nhắn;
z Thuật toán tự giới hạn chỉ dùng cho các ứng
dụng sử dụng kĩ thuật trao đổi khoá;
16
2
Cơ sở hình thành thuật toán

z Nguyên tắc toán học :


– m là một số nguyên tố:
– y=ai mod m là bài toán dễ;
– Bài toán ngược là bài toán khó. Đặc biệt với m lớn.
z Dựa trên phép tính logarit rời rạc

16
3
Thuật toán trao đổi khoá

16
4
Tính bảo mật của hệ mật

z Thám mã có sẵn các thông tin :p,a,Yi,Yj


z Để có thể giải được K ,X bắt buộc thám mã
phải sử dụng thuật toán logarit rời rạc : rất
khó nếu p lớn
z Vì thế nên chọn p càng lớn càng tốt : như thế
thì việc tính toán ra X coi như không thể

16
5
Hệ mật và thám mã

z Thám mã có thể tấn công vào các thông tin : p


,a,Yj,Yj
z Và sử dụng thuật toán rời rạc để tính ra X, sau
đó tính ra K
z Quan trọng nhất là độ phức tạp của thuật toán
logarit phụ thuộc vào chọn số nguyên tố p
z Tấn công man in the middle
16
6
Lĩnh vực ứng dụng

z Tự quá trình thuật toán đã hạn chế ứng dụng


chỉ sử dụng cho quá trình trao đổi khoá mật là
chủ yếu
z Sử dụng trong chữ kí điện tử.
z Các ứng dụng đòi hỏi xác thực người sử dụng.

16
7
Bài toán xác thực
Nội dung

z Bài toán xác thực.


z Lý thuyết xác thực Simmons
z Các phương pháp xác thực thông điệp
– Mã xác thực thông điệp
– Hàm băm
z Chữ ký số

16
9
Bài toán xác thực

z Các yêu cầu của bài toán xác thực


– Điểm lại các dạng tấn công
z Tấn công vào tính riêng tư:
– Giải mật: giải mật nội dung thông điệp.
– Phân tích luồng truyền tải: xác định mẫu thông điệp, xác định
tần suất trao đổi thông điệp, định vị, xác định chức năng trạm.
– Dạng tấn công thụ động.
– Mục đích: ngăn chặn bằng mã mật.

17
0
Bài toán xác thực

z Tấn công vào tính xác thực:


– Trá hình: đưa ra các thông điệp vào hệ thống với tên giả mạo.
– Thay đổi nội dung thông điệp: phá huỷ tính toàn vẹn.
– Thay đổi trình tự trao đổi thông điệp: tấn công vào giao thức.
– Thay đổi theo tiến trình thời gian: làm trễ hoặc phát lại thông
điệp.
– Từ chối dịch vụ: từ chối gửi hoặc nhận thông điệp: sử dụng
chữ ký điện tử.
– Xác thực:
z Xác thực các bên trao đổi thông điệp.
z Làm rõ nguồn gốc thông điệp.
z Xác định tính toàn vẹn thông điệp.

17 z Chống phủ nhận.

1
Bài toán xác thực
z Các tiêu chuẩn xác thực
– Xác thực chủ thể tham gia vào trao đổi thông tin
– Thông điệp có nguồn gốc;
– Nội dung thông điệp toàn vẹn, không bị thay đổi trong quá trình
truyền tin (xác thực nội dung thông điệp);
– Thông điệp được gửi đúng trình tự và thời điểm (xác thực phiên);
z Mục đích của bài toán xác thực:
– Chống lại các tấn công chủ động:
z Chống giả mạo;
z Thay đổi nội dung dữ liệu;
z Thay đổi trình tự trao đổi thông tin (hoạt động của các giao thức).
z Các phương pháp xác thực thông điệp:
– Mã hoá thông điệp;
Sử dụng mã xác thực thông điệp;
17 –
– Sử dụng hàm băm;
2
Bài toán xác thực

z Các hàm xác thực


– Các cơ chế xác thực được thực hiện trên hai mức:
z Mức thấp: trong hệ thống phải có các hàm chức năng cho
phép kiểm tra tính xác thực của chủ thể và thông điệp:
– Hàm tạo các giá trị đặc trưng xác thực chủ thể và thông điệp.
z Mức cao:
– Sử dụng các hàm xác thực trong các giao thức xác thực.
– Cho phép thẩm định tính xác thực của chủ thể và thông điệp.

17
3
Bài toán xác thực

– Các dạng hàm xác thực:


z Mã hoá thông điệp: sử dụng hàm mã hoá để xác thực
dựa vào việc sở hữu khoá bí mật.
z Mã xác thực thông điệp: tạo ra mã xác thực thông điệp
độ dài cố định bằng phương pháp mã hoá.
z Hàm băm xác thực thông điệp: tạo mã băm của thông
điệp với độ dài cố định.
z Chữ ký số: tạo dấu hiệu đặc trưng xác định duy nhất
chủ thể.

17
4
Lý thuyết xác thực Simmons

z Khái niệm xác thực, xác thực hoàn hảo.


z Lý thuyết xác thực.
z Diễn giải lý thuyết xác thực.

17
5
Lý thuyết xác thực Simmons
Xác thực và xác thực hoàn hảo

z Vấn đề giả mạo và xác thực


– Vấn đề: tồn tại
hay không phương
pháp xác thực hoàn
hảo chống lại giả mạo !?
– Các kịch bản tấn công vào hệ xác thực:
z Đối phương tạo ra bản tin giả mạo được xác thực Y’ và gửi tới bên
nhận tin.
z Bên nhận tin phải kiểm tra tính xác thực của thông điệp mã nhận
được.
17 – Giả thiết hệ xác thực: hệ xác thực dựa trên khoá K được sử
dụng một lần để tạo ra bản tin được xác thực Y.
6
Xác thực bằng cách mã hoá

z Sử dụng phương pháp mật mã khoá đối xứng


– Thông điệp gửi từ đúng nguồn vì chỉ có người gửi biết
khoá bí mật dùng chung
– Nội dung không thể bị thay đổi vì văn bản rõ có cấu
trúc nhất định
– Các gói tin được đánh số thứ tự và có mã hoá nén
không thể thay đổi trình tự và thời điểm nhận được
z Sử dụng phương pháp mật mã khoá công khai
– Không chỉ xác thực thông điệp mà còn tạo chữ ký số
– Phức tạp và mất thời gian hơn mã hoá đối xứng
17
7
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)

z Dùng mã xác thực thông điệp (MAC Message


Authentication Code)
z Là khối có kích thước nhỏ cố định gắn vào
thông điệp tạo ra từ thông điệp đó và khóa bí
mật chung
z Bên nhận thực hiện cùng giải thuật trên thông
điệp và khoá để so xem MAC có chính xác
không
17 z Giải thuật tạo MAC giống giải thuật mã hóa
8
nhưng không cần giải mã
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)

z MAC = CK(M)
– M: là bản tin
– K: là khoá mật được chia sẻ chỉ bởi người gửi và
người nhận;
– CK(M): là một hàm xác thực, cho kết quả là một
xâu ký tự có độ dài cố định;

17
9
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)

z Có thể có nhiều thông điệp có cùng chung


MAC
– Nhưng nếu biết 1 thông điệp và MAC, rất khó tìm ra
một thông điệp khác cùng MAC
– Các thông điệp có cùng xác suất tạo ra MAC
z Đáp ứng 3 tiêu chuẩn xác thực

18
0
Mã hoá bản tin và cách tấn công
của đối phương

z Mã hoá bản tin


– Đối xứng
– Không đối xứng
z Sự an toàn của thuật toán phụ thuộc độ dài
bit của khoá
z Với 1 lần tấn công
– 2k lần thử cho khoá k bit

18
1
Mã hoá bản tin và cách tấn công
của đối phương

z Ví dụ tấn công
– Đối phương biết bản mật C (Ciphertext)
z Pi = DKi (C) cho tất cả khoá Ki
z Đến khi Pi khớp với bản rõ P (Plaintext)
z Đối với CheckSum
– MAC n bit → 2n CheckSum tạo ra
– N bản tin áp dụng (N>>2n)
– Khóa K bit → 2k khóa tạo ra
18
2
Ví dụ tấn công vào MAC

z Giả sử: size(K) > size (MAC) (k>n)


z Match (so khớp): là bản Mi tạo ra gần khớp
vơí bản M1
z Dùng cách tấn công vét cạn
(brute-force)

18
3
Ví dụ tấn công vào MAC

z Tấn công MAC bằng cách lặp lại:


– Vòng 1:
z Cho: M1, MAC1 = CK (M1)
z Tính: Mi = CKi(MAC1) cho tất cả khoá
z Số các so khớp tạo ra ≈2k-n
– Vòng 2:
z Cho: M2, MAC2 = CK (M2)
z Tính Mi = CKi (MAC2) cho khoá còn lại.
z Số cách so khớp tạo ra ≈2k-2n
18 – …
4
Ví dụ tấn công vào MAC

z Kết quả:
– Nếu k = a*n → mất a vòng để tìm ra
– Nếu k < n thì ngay vòng 1 tạo ra luôn sự so khớp.
– Ví dụ
z Nếu một khoá kích thước k=80 bit
z CheckSum kích thước là n=32 bit
z Thì vòng 1 sẽ tạo ra khoảng 248 khóa Vòng 2 sẽ thu
hẹp xuống còn 216 khóa
Vòng 3 sẽ tạo chỉ 1 khoá đơn, và đó chính là khoá được
18 dùng bởi người gửi.
5
Ví dụ tấn công vào MAC

z Tồn tại khả năng có nhiều khoá thoả mãn


việc so khớp
Ö Đối phương có thể thực hiện cùng một
kiểm tra trên một cặp(bảntin,CheckSum)
mới.

18
6
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)

18
7
Xác thực dùng mã xác thực thông điệp
(MAC - checksum)

z Chỉ cần xác thực, không cần mã hoá tốn thời gian và
tài nguyên
– Thông điệp hệ thống
– Chương trình máy tính
z Tách riêng bảo mật và xác thực sẽ khiến tổ chức
linh hoạt hơn
– Chẳng hạn mỗi chức năng ở 1 tầng riêng
z Cần đảm bảo tính toàn vẹn của dữ liệu trong suốt
thời gian tồn tại, không chỉ trong lúc lưu chuyển
– Vì thông điệp có thể bị thay đổi sau khi giải mã
18
8
Xác thực dùng hàm băm

z Tạo ra hàm băm có kích thước xác định từ thông điệp


đầu vào(không cần khoá): h=H(M)
z Hàm băm không cần giữ bí mật
z Giá trị băm gắn kèm với thông điệp để đảm bảo tính
toàn vẹn của thông điệp
z Bất kỳ một sự thay đổi nhỏ nào trong thông điệp M
cũng tạo ra sự thay đổi trong mã băm h

18
9
Các yêu cầu đối với hàm băm

z Có thể áp dụng với thông điệp M với độ dài bất kỳ


z Tạo ra giá trị băm h có độ dài cố định
z H(M) dễ dàng tính được với bất kỳ M nào
z Từ h rất khó tìm được M sao cho h=H(M): tính một
chiều
z Từ M1 rất khó tìm được M2 sao cho H(M1)=H(M2)
z Rất khó tìm được cặp (M1,M2) sao cho
H(M1)=H(M2)

19
0
Các yêu cầu đối với hàm băm

z Đặc điểm 4 là đặc điểm ”1 chiều ” (one -


way). Nó tạo ra 1 mã cho bản tin nhưng
không thể tạo ra 1 bản tin cho 1 mã
z Đặc điểm 5 đảm bảo:
– 1 bản tin thay thế khi bị băm không cùng giá trị
băm với bản tin đã cho là
– Bảo vệ lại sự giả mạo khi sử dụng 1 mã băm
được mã hóa.
19
1
Các yêu cầu đối với hàm băm

z Một hàm băm mà thoả mãn các đặc điểm từ


1→5 trong danh sách trên thì vẫn bị coi là 1
hàm băm kém. Nếu đặc điểm 6 được thoả
mãn, nó mới được coi là một hàm băm tốt.
z Đặc điểm 6 bảo vệ bản tin khỏi một lớp các tấn
công tinh vi như tấn công ngày sinh (birthday
attack).

19
2
Xác thực dùng hàm băm

19
3
Xác thực dùng hàm băm

19
4
So sánh MAC và Hash

z Tương tự hàm MAC nhưng gọi là hash


không khoá, MAC là hash có khoá

19
5
Các hàm băm đơn giản

z Nguyên tắc hoạt động chung:


– Input: file, message.. được chia thành chuỗi các
block n bit
– Xử lý đầu vào: mỗi block được xử lý tại 1 thời
điểm và lặp lại với các block khác Ö tạo ra 1 giá
trị băm n bit

19
6
Hàm băm XOR

z Thực hiện phép XOR bit-by-bit


z Có thể biểu diễn như sau:
– Ci = bi1 ⊕ bi2 ⊕ … ⊕ bim
– Trong đó:
Ci : bit thứ i của mã băm (i=1..n)
m: Số Block n-bit của Input
bij : bít thứ i của Block j
⊕ : phép toán XOR bit
19
7
Hàm băm XOR

z Minh họa:
Bit 1 Bit 2 ……. Bit n

Block 1 B11 B21 ……. Bn1

Block 2 B12 B22 …… Bn2

…. ….. …….. …… ……

Block m B1m B2m ……. Bnm


19 Hash Code C1 C2 ……. Cn
8
Hàm băm RXOR

z Thực hiện: Xoay đi một bit rồi thực hiện


phép XOR → tăng tính ngẫu nhiên
z Sơ đồ:
– Khởi tạo n bit của giá trị băm bằng 0
– Xử lý mỗi block n-bit thành công là như sau:
z Xoay giá trị băm hiện tại sang trái 1 bit
z XOR block với giá trị băm

19
9
SHA-1 (Secure Hash Algorithm -1)

z Đây là một hàm băm 1 chiều


z Các phiên bản
– SHA-0: Công bố năm 1993
– SHA-1:
– SHA-2: Bao gồm tập hợp SHA-224, SHA-256,
SHA-384, và SHA-512
z Chúng được dùng bởi chính phủ Mỹ

20
0
SHA-1

z Đặc điểm của hàm:


– Input: Đầu vào message có size < 264
z Chia thành các Block có size = 512 bit
– Ra: 1 Digest độ dài 160 bit
– Bảo mật:
z Không tính toán ra được thông điệp với 1 Digest đã cho
z Không có 2 thông điệp cùng tạo ra 1 Digest

20
1
Sơ đồ hoạt động

20
2
Một số kết quả test

z Một số giá trị digest của SHA-1:


– SHA1("The quick brown fox jumps over the lazy dog") ==
"2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"
– SHA1("The quick brown fox jumps over the lazy cog") ==
"de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3"
– SHA1("") ==
"da39a3ee5e6b4b0d3255bfef95601890afd80709"

20
3
Chữ ký số

¾Yêu cầu
¾Phân loại
¾Tạo và chứng thực chữ ký
¾ Digital Certificate
Yêu cầu

¾ Dựa trên thông điệp


¾ Sử dụng thông tin duy nhất thuộc về người
gửi Æ chống giả mạo
¾ Dễ kiểm tra và nhận dạng
¾ Phải không thể tính toán để giả mạo được
¾ Để thoả mãn các yêu cầu trên, người ta
thường sử dụng hàm băm.
20
5
Phân loại

¾ Thường được phân làm 2 loại:


9 Chữ ký trực tiếp
9 Chữ ký phân xử

20
6
Chữ ký trực tiếp

z Chỉ bao gồm các thành phần truyền thông


z Có thể được tạo ra :
z Mã hoã toàn bộ bản tin với khoá riêng của người gửi
z Mã hoá mã băm của bản tin vói khoá riêng của người
gửi
z Tính hợp lệ của chữ ký phụ thuộc vào việc
bảo mật khoá riêng của người gửi.

20
7
Chữ ký phân xử

z Hoạt động chung :


z Mọi bản tin được gửi từ X đến Y phải thông qua A, để
kiểm tra nguồn gốc và nội dung của nó
z Bản tin được ghi lại thời gian rồi được gửi đến B + 1
thông điệp được đảm bảo bởi A.
z Sự có mặt của A giải quyết vấn đề: X có thể phủ nhận
bản tin này

20
8
Tạo chữ ký

20
9
Chứng thực chữ ký

21
0
Digital Certificate

z Để chứng thực được chữ ký điện tử bắt buộc


người nhận phải có khoá chung của người
gửi.
z Bản chất cặp khoá này không liên hệ với
thuộc tính của người sử dụng Æ cần có cơ
chế để liên kết chúng với người dùng Æ các
certificate
z Các Certificate được CA cung cấp
21
1
Các thông tin trong Certificate

z Phiên bản
z Số serial
z Nhà cung cấp Certifficate
z Người giữ Certificate
z Thời gian hợp pháp của Certificate
z Các thuộc tính
z Chữ ký số của nhà cung cấp
z Khoá công khai của người sở hứu Certificate
z Thuật toán băm dùng để tạo chữ ký.
21
2
Tạo Certificate

z Các Certificate được


tạo ra còn để chứng
thực cho bản thân nó
z Các CA có cấu trúc
phân cấp
z Minh hoạ quá trình tạo
Certificate cho CA gốc
và CA mức thấp hơn

21
3
Cấu trúc phân cấp của CA

21
4
Xác thực chuỗi Certificate

21
5
Các giao thức xác thực

z Xác thực hai bên


z Các phương pháp mã hoá cổ điển
z Phương pháp mã hoá khoá công khai

21
6
Xác thực hai bên

z Tại đây, chúng ta chỉ xem xét vấn đề quản lý


phân phối khoá
z Tồn tại 2 vấn đề :
z Tính tin cậy : ngăn chặn hiện tượng giả mạo và tấn công
vào khoá phiên
z Xác định thời điểm: chống lại kiểu tấn công replay

21
7
Phương pháp chống replay

z 2 phương pháp:
z Timestamp: gắn 1 timestamp vào bản tin --> yêu cầu
đồng bộ
z Challenge/Response: A sẽ gửi đến B 1 nonce và đợi trả
lời của B. Nếu có chứa giá trị nonce chính xác thì mới
bắt đầu gửi bản tin

21
8
Đánh giá 2 phương pháp

z Timestamp: không áp dụng cho các ứng dụng


hướng kết nối
z Yêu cầu đồng bộ giữa các tiến trình đồng hồ
z Cơ hội tấn công thành công sẽ tăng lên nếu có 1 khoảng
thời gian không đồng bộ
z Tính luôn thay đổi và không dự đoàn trước được của các độ
trễ trong mạng
z Challenge/Response: không áp dụng cho các
ứng dụng không hướng kết nối
z Yêu cầu bắt tay trước khi truyền thông không kết nối
21 z Phương pháp tốt nhất: tạo sự đồng bộ giữa đồng hồ ở mỗi
9 bên
Phương pháp mã hoá cổ điển

z Sử dụng 1 trung tâm phân phối khoá tin


cậy(KDC)
z Mỗi bên chia sẻ 1 khoá mật với KDC:khoá
chính
z KDC sẽ sinh ra các khoá phiên: sử dụng1
trên kết nối giữa 2 bên
z KDC còn chịu trách nhiệm phân phối các
khoá phiên sử dụng khoá chính để bảo vệ
22
quá trình phân phối khoá
0
Mã hoá khoá công khai

z Phương pháp này đảm bảo là mỗi bên đều lưu


trữ khoá công khai hiện thời của bên còn lại
z Tất cả các phương pháp trên vẫn tồn tại
những điểm thiếu sót
z Có nhiều phương pháp:
z Denny
z Woo và Law

22
1
Đánh dấu thông tin vào dữ liệu

22
2
Mục lục

z I.Giới thiệu chung


z II.Các vấn đề kĩ thuật
z III.Thuật toán Watermark

22
3
I.Giới thiệu chung

z 1.Lịch sử ra đời
z 2.Phân loại
z 3. Ứng dụng

22
4
1. Lịch sử ra đời

z Xuất phát từ nghề làm giấy của Trung Quốc


z Yêu cầu về bản quyền trong thế giới kĩ thuật số.
z Watermark là một quá trình nhúng dữ liệu được gọi là
watermark hay chữ kí số hay label vào một đối tượng
đa phương tiện và do đó watermark có thể được phát
hiện hoặc trích ra sau đó nhằm giúp đưa ra các xác
thực về đối tượng

22
5
2.Phân loại Watermarking

z Theo đối tượng số: audio, text, video, image


z Theo miền biểu diễn đối tượng: spatial
domain, frequency domain
z Theo quan điểm ứng dụng: source base và
destionation base
z Theo các phân loại khác: visible watermark
và invisble watermark

22
6
3. Ứng dụng

z Bảo vệ bản quyền:


-dùng watermark để nhận
diện người giữ bản quyền.
-dùng watermark để nhận
diện khách hàng, kiểm
soát lưu hành hàng hoá.

22
7
3. Ứng dụng

z Chứng thực ảnh và tính


toàn vẹn dữ liệu
-ảnh số rất dễ bị sửa chữa bằng các
công cụ đồ hoạ cao cấp
-sửa chữa ảnh cũng có thể phá huỷ
hoặc thay đổi việc nhận diện một
watermark

22
8
3. Ứng dụng

z Watermark các đối tượng số:


-text, image, audio, video.
-nhận diện cho các cấu trúc dữ liệu kiểu như protein trong hoá sinh

22
9
3. Ứng dụng

z Che giấu dữ liệu và đánh nhãn ảnh


-nhúng được lượng thông tin lớn nhất không nhìn thấy được vào
trong một ảnh gốc
-yêu cầu về tính chịu lỗi thường là thấp trong watermark

23
0
II.Các vấn đề kĩ thuật

z 1.Các phase cơ bản


z 2.Các kiểu tấn công
z 3.So sánh watermark với mã mật
z 4.So sánh watermark với nén ảnh

23
1
1.Các phase cơ bản của một thuật
toán watermarking

-pha nhúng
watermark.
-pha phân
phối
watermark.
-pha trích dẫn
watermark.
-pha quyết
định.
23
2
1.1.Phase nhúng watermark

23
3
1.2.Phase phân phối

23
4
1.3.Phase trích dẫn

23
5
1.4.Phase quyết định

z độ đo tương đối giữa


ảnh gốc W và ảnh được
trích dẫn W*

z Nếu độ đo trên lớn hơn


ngưỡng thì coi như
chữ kí đã được xác
thực
23
6
2.Các kiểu tấn công và yêu cầu

z Các kiểu tấn công:


-Nén mất mát thông tin
-Méo hình học
-Các phép xử lí tín hiệu nói chung
-Các kiểu tấn công khác

23
7
2.Các kiểu tấn công và yêu cầu

z Các yêu cầu:


-Khả năng ẩn – hiện của dấu
-Khả chịu lỗi
-Chống giả mạo
-Bit rate
-Sửa đổi và sao chép watermark

23
8
3.So sánh watermark với mã mật

z Mã mật yêu cầu giải mã phải chính xác còn


watermark chỉ yêu cầu đạt đến một ngưỡng
nào đó.
z Watermark tương tự như mã mật trong quá
trình mã hóa.

23
9
4.So sánh watermarking với nén
ảnh

z nén không mất mát thông tin không làm ảnh hưởng đến hệ
thống watermark thì phương thức nén có mất mát thông tin sẽ
gây ra méo cho watermark
z mục tiêu thiết kế của hệ thống nén mất mát thông tin là đối
nghịch hẳn với mục tiêu của watermarking

24
0

You might also like