Networks Business Online Việt Nam & International VH2

Giáo Trình An Toàn Và Bảo Mật Thông Tin – Tài liệu text

Đăng ngày 18 July, 2022 bởi admin

Giáo Trình An Toàn Và Bảo Mật 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 (3.6 MB, 136 trang )

Giáo Trình An Toàn Và Bảo Mật Thông Tin

TRƯỜNG ĐẠI HỌC GIAO THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN KHOA HỌC MÁY TÍNH
GIÁO TRÌNH
AN TOÀN VÀ BẢO MẬT THÔNG TIN
– 1 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Mở đầu
Gần đây, môn học “An toàn và bảo mật thông tin” đã được đưa vào giảng dạy tại
hầu hết các Khoa Công nghệ Thông tin của các trường đại học và cao đẳng. Do các ứng
dụng trên mạng Internet ngày các phát triển và mở rộng, nên an toàn thông tin trên mạng
đã trở thành nhu cầu bắt buộc cho mọi hệ thống ứng dụng. Để đáp ứng yêu cầu học tập và
tự tìm hiểu của sinh viên các chuyên ngành Công nghệ Thông tin, Bộ môn Khoa học máy
tính, Khoa Công nghệ Thông tin, trường đại học Giao thông đã tổ chức biên soạn giáo trình
này. Nội dung của nó được dựa trên một số tài liệu, nhưng chủ yếu là cuốn sách của Giáo
sư William Stallings “Cryptography and Network Security: Principles and Practice”.
Cuốn sách trên đã được dùng làm tài liệu giảng dạy tại nhiều trường đại học. Đồng thời
giáo trình này cũng được hoàn thiện từng bước dựa trên bài giảng của tác giả cho 4 khóa
sinh viên Khoa Công nghệ Thông tin vừa qua. Với mục đích trang bị các kiến thức cơ sở
vừa đủ và giúp cho sinh viên hiểu được bản chất của các khía cạnh an ninh trên mạng,
trong giáo trình tác giả đã cố gắng trình bày tóm tắt các phần lý thuyết cơ bản và đưa ra các
ứng dụng thực tế.
Giáo trình gồm 8 chương. Chương đầu nêu tổng quan về bảo mật, chương 2 tóm tắt
sơ lược về mã cổ điển, chương 3 trình bày những khái niệm cơ bản về trường số học,
chương 4 giới thiệu về mã khối và chuẩn mã dữ liệu, chương 5 nêu về mã công khai và
RSA, chương 6 đưa ra khái niệm xác thực và hàm băm, chương 7 giới thiệu ứng dụng về
an toàn Web và IP và cuối cùng chương 8 tóm tắt về kẻ xâm nhập và biện pháp phòng
chống bức tường lửa.

Do lần đầu biên soạn và chưa có nhiều kinh nghiệm thực tế, nên không tránh khỏi những
sai sót và lỗi in ấn nhất định. Tác giả xin vui lòng tiếp nhận mọi sự đóng góp giúp cho giáo
trình “An toàn và bảo mật thông tin” ngày càng tốt hơn. Mọi ý kiến xây dựng xin gửi về
theo địa chỉ sau: Trần Văn Dũng, Khoa Công nghệ Thông tin, Đại học Giao thông Vận tải,
Láng Thượng, Đống đa, Hà nội.

– 2 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

MỤC LỤC
Mở đầu 2
2
4
CHƯƠNG I 5
TỔNG QUAN VỀ BẢO MẬT 5
I.1 Giới thiệu chung về bảo mật thông tin 5
I.2 Dịch vụ, cơ chế, tấn công 7
I.3 Mô hình an toàn mạng 8
I.4 Bảo mật thông tin trong hệ cơ sở dữ liệu 10
CHƯƠNG II 13
MÃ CỔ ĐIỂN 13
II.1 Mã đối xứng 13
II.2 Các mã thế cổ điển thay thế 15
II.3 Các mã thế cổ điển hoán vị 21
II.4 Một số vấn đề khác 22
CHƯƠNG III 25
TRƯỜNG HỮU HẠN 25
III.1 Các cấu trúc đại số 25
III.2 Số học trên Modulo 26
III.3 Trường Galoa 29

III.4 Giới thiệu lý thuyết số 34
CHƯƠNG IV: 40
CHUẨN MÃ DỮ LIỆU (DES) VÀ CHUẨN MÃ NÂNG CAO (AES) 40
IV.1 Mã khối hiện đại 40
IV.2 Chuẩn mã dữ liệu (DES) 42
IV.3 Chuẩn mã nâng cao (AES) 50
IV.4 Các mã đối xứng đương thời 57
IV.5 Bảo mật dùng khoá đối xứng 62
CHƯƠNG V 66
MÃ CÔNG KHAI VÀ QUẢN LÝ KHOÁ 66
V.1 Mã khoá công khai 66
– 3 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

V.2 RSA 68
V.3 Quản lý khoá 71
V.4 Trao đổi khoá Diffie Hellman 74
V.5 Mã đường cong Elip 75
CHƯƠNG VI 80
XÁC THỰC MẪU TIN VÀ CÁC HÀM HASH 80
VI.1 Xác thực mẩu tin 80
VI.2 Các hàm Hash (hay còn gọi là hàm băm) 82
VI.3 Các thuật toán Hash và MAC 84
VI.4 Các ứng dụng xác thực 93
CHƯƠNG VII 98
AN TOÀN IP VÀ WEB 98
VII.1 An toàn IP 98
VII.2 An toàn Web 99
VII.3 Thanh toán điện tử an toàn 103
VII.4 An toàn thư điện tử 105

CHƯƠNG VIII 111
KẺ XÂM NHẬP, PHẦN MỀM CÓ HẠI VÀ BỨC TƯỜNG LỬA 111
VIII.1 Kẻ xâm nhập 111
VIII.2 Phần mềm có hại 114
VIII.3 Tràn bộ đệm 118
VIII.4 Bức tường lửa 125
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 131
TÀI LIỆU THAM KHẢO 132
PHỤ LỤC 134

– 4 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

CHƯƠNG I
TỔNG QUAN VỀ BẢO MẬT
I.1 Giới thiệu chung về bảo mật thông tin
I.1.1 Mở đầu về bảo mật thông tin
Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông tin của doanh nghiệp như
chiến lược kinh doanh, các thông tin về khách hàng, nhà cung cấp, tài chính, mức lương nhân viên,…đều
được lưu trữ trên hệ thống máy tính. Cùng với sự phát triển của doanh nghiệp là những đòi hỏi ngày càng
cao của môi trường kinh doanh yêu cầu doanh nghiệp cần phải chia sẻ thông tin của mình cho nhiều đối
tượng khác nhau qua Internet hay Intranet. Việc mất mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng
đến tài chính, danh tiếng của công ty và quan hệ với khách hàng.
Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến mất mát thông
tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của doanh nghiệp. Vì vậy an toàn và bảo mật
thông tin là nhiệm vụ rất nặng nề và khó đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau:
– Bảo đảm an toàn thông tin tại máy chủ
– Bảo đảm an toàn cho phía máy trạm
– Bảo mật thông tin trên đường truyền
Đứng trước yêu cầu bảo mật thông tin, ngoài việc xây dựng các phương thức bảo mật thông tin thì người

ta đã đưa ra các nguyên tắc về bảo vệ dữ liệu như sau:
– Nguyên tắc hợp pháp trong lúc thu thập và xử lý dữ liệu.
– Nguyên tắc đúng đắn.
– Nguyên tắc phù hợp với mục đích.
– Nguyên tắc cân xứng.
– Nguyên tắc minh bạch.
– Nguyên tắc được cùng quyết định cho từng cá nhân và bảo đảm quyền truy cập cho người có liên
quan.
– Nguyên tắc không phân biệt đối xử.
– Nguyên tắc an toàn.
– Nguyên tắc có trách niệm trước pháp luật.
– Nguyên tắc giám sát độc lập và hình phạt theo pháp luật.
– Nguyên tắc mức bảo vệ tương ứng trong vận chuyển dữ liệu xuyên biên giới.
Ở đây chúng ta sẽ tập trung xem xét các nhu cầu an ninh và đề ra các biện pháp an toàn cũng như vận
hành các cơ chế để đạt được các mục tiêu đó.
Nhu cầu an toàn thông tin:
• An toàn thông tin đã thay đổi rất nhiều trong thời gian gần đây. Trước kia hầu như chỉ có nhu cầu
bảo mật thông tin, nay đòi hỏi thêm nhiều yêu cầu mới như an ninh máy chủ và trên mạng.
• Các phương pháp truyền thống được cung cấp bởi các cơ chế hành chính và phương tiện vật lý như
nơi lưu trữ bảo vệ các tài liệu quan trọng và cung cấp giấy phép được quyền sử dụng các tài liệu
mật đó.
• Máy tính đòi hỏi các phương pháp tự động để bảo vệ các tệp và các thông tin lưu trữ. Nhu cầu bảo
mật rất lớn và rất đa dạng, có mặt khắp mọi nơi, mọi lúc. Do đó không thể không đề ra các qui
trình tự động hỗ trợ bảo đảm an toàn thông tin.
• Việc sử dụng mạng và truyền thông đòi hỏi phải có các phương tiện bảo vệ dữ liệu khi truyền.
Trong đó có cả các phương tiện phần mềm và phần cứng, đòi hỏi có những nghiên cứu mới đáp
ứng các bài toán thực tiễn đặt ra.
Các khái niệm:
– 5 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

• An toàn máy tính: tập hợp các công cụ được thiết kế để bảo vệ dữ liệu và chống hacker.
• An toàn mạng: các phương tiện bảo vệ dữ liệu khi truyền chúng.
• An toàn Internet: các phương tiện bảo vệ dữ liệu khi truyền chúng trên tập các mạng liên kết với
nhau.
Mục đích của môn học là tập trung vào an toàn Internet gồm các phương tiện để bảo vệ, chống, phát hiện,
và hiệu chỉnh các phá hoại an toàn khi truyền và lưu trữ thông tin.
I.1.2 Nguy cơ và hiểm họa đối với hệ thống thông tin
Các hiểm họa đối với hệ thống có thể được phân loại thành hiểm họa vô tình hay cố ý, chủ động hay thụ
động.
– Hiểm họa vô tình: khi người dùng khởi động lại hệ thống ở chế độ đặc quyền, họ có thể tùy ý
chỉnh sửa hệ thống. Nhưng sau khi hoàn thành công việc họ không chuyển hệ thống sang chế độ
thông thường, vô tình để kẻ xấu lợi dụng.
– Hiểm họa cố ý: như cố tình truy nhập hệ thống trái phép.
– Hiểm họa thụ động: là hiểm họa nhưng chưa hoặc không tác động trực tiếp lên hệ thống, như nghe
trộm các gói tin trên đường truyền.
– Hiểm họa chủ động: là việc sửa đổi thông tin, thay đổi tình trạng hoặc hoạt động của hệ thống.
Đối với mỗi hệ thống thông tin mối đe dọa và hậu quả tiềm ẩn là rất lớn, nó có thể xuất phát từ những
nguyên nhân như sau:
– Từ phía người sử dụng: xâm nhập bất hợp pháp, ăn cắp tài sản có giá trị
– Trong kiến trúc hệ thống thông tin: tổ chức hệ thống kỹ thuật không có cấu trúc hoặc không đủ
mạnh để bảo vệ thông tin.
– Ngay trong chính sách bảo mật an toàn thông tin: không chấp hành các chuẩn an toàn, không xác
định rõ các quyền trong vận hành hệ thống.
– Thông tin trong hệ thống máy tính cũng sẽ dễ bị xâm nhập nếu không có công cụ quản lý, kiểm tra
và điều khiển hệ thống.
– Nguy cơ nằm ngay trong cấu trúc phần cứng của các thiết bị tin học và trong phần mềm hệ thống
và ứng dụng do hãng sản xuất cài sẵn các loại ‘rệp’ điện tử theo ý đồ định trước, gọi là ‘bom điện
tử’.
– Nguy hiểm nhất đối với mạng máy tính mở là tin tặc, từ phía bọn tội phạm.

I.1.3 Phân loại tấn công phá hoại an toàn:
– 6 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:
– Tấn công giả mạo là một thực thể tấn công giả danh một thực thể khác. Tấn công giả mạo thường
được kết hợp với các dạng tấn công khác như tấn công chuyển tiếp và tấn công sửa đổi thông báo.
– Tấn công chuyển tiếp xảy ra khi một thông báo, hoặc một phần thông báo được gửi nhiều lần, gây
ra các tác động tiêu cực.
– Tấn công sửa đổi thông báo xảy ra khi nội dung của một thông báo bị sửa đổi nhưng không bị phát
hiện.
– Tấn công từ chối dịch vụ xảy ra khi một thực thể không thực hiện chức năng của mình, gây cản trở
cho các thực thể khác thực hiện chức năng của chúng.
– Tấn công từ bên trong hệ thống xảy ra khi người dùng hợp pháp cố tình hoặc vô ý can thiệp hệ
thống trái phép. Còn tấn công từ bên ngoài là nghe trộm, thu chặn, giả mạo người dùng hợp pháp
và vượt quyền hoặc lách qua các cơ chế kiểm soát truy nhập.
• Tấn công bị động. Do thám, theo dõi đường truyền để:
o nhận được nội dung bản tin hoặc
o theo dõi luồng truyền tin
• Tấn công chủ động. Thay đổi luồng dữ liệu để:
o giả mạo một người nào đó.
o lặp lại bản tin trước
o thay đổi ban tin khi truyền
o từ chối dịch vụ.
I.2 Dịch vụ, cơ chế, tấn công.
Nhu cầu thực tiến dẫn đến sự cần thiết có một phương pháp hệ thống xác định các yêu cầu an ninh của tổ
chức. Trong đó cần có tiếp cận tổng thể xét cả ba khía cạnh của an toàn thông tin: bảo vệ tấn công, cơ chế
an toàn và dịch vụ an toàn.
Sau đây chúng ta xét chúng theo trình tự ngược lại:
I.2.1 Các dịch vụ an toàn.

Đây là công cụ đảm bảo an toàn của hệ thống xử lý thông tin và truyền thông tin trong tổ chức. Chúng
được thiết lập để chống lại các tấn công phá hoại. Có thể dùng một hay nhiều cơ chế an toàn để cung cấp
dịch vụ.
– 7 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Thông thường người ta cần phải tạo ra các liên kết với các tài liệu vật lý: như có chữ ký, ngày tháng, bảo
vệ cần thiết chống khám phá, sửa bậy, phá hoại, được công chứng, chứng kiến, được ghi nhận hoặc có bản
quyền.
I.2.2 Các cơ chế an toàn:
Từ các công việc thực tế để chống lại các phá hoại an ninh, người ta đã hệ thống và sắp xếp lại tạo thành
các cơ chế an ninh khác nhau. Đây là cơ chế được thiết kế để phát hiện, bảo vệ hoặc khôi phục do tấn
công phá hoại.
Không có cơ chế đơn lẻ nào đáp ứng được mọi chức năng yêu cầu của công tác an ninh. Tuy nhiên có một
thành phần đặc biệt nằm trong mọi cơ chế an toàn đó là: kỹ thuật mã hoá. Do đó chúng ta sẽ dành một thời
lượng nhất định tập trung vào lý thuyết mã.

I.2.3 Tấn công phá hoại an ninh:
Ta xác định rõ thế nào là các hành động tấn công phá họai an ninh. Đó là mọi hành động chống lại sự an
toàn thông tin của các tổ chức.
An toàn thông tin là bàn về bằng cách nào chống lại tấn công vào hệ thống thông tin hoặc phát hiện ra
chúng. Trên thực tế có rất nhiều cách và nhiều kiểu tấn công khác nhau. Thường thuật ngữ đe doạ và tấn
công được dùng như nhau. Cần tập trung chống một số kiểu tấn công chính: thụ động và chủ động.
I.3 Mô hình an toàn mạng
I.3.1 Kiến trúc an toàn của hệ thống truyền thông mở OSI.
Để giúp cho việc hoạch định chính sách và xây dựng hệ thống an ninh tốt. Bộ phận chuẩn hóa tiêu chuẩn
của tổ chức truyền thông quốc tế (International Telecommunication Union) đã nghiên cứu và đề ra Kiến
trúc an ninh X800 dành cho hệ thống trao đổi thông tin mở OSI. Trong đó định nghĩa một cách hệ thống
phương pháp xác định và cung cấp các yêu cầu an toàn.Nó cung cấp cho chúng ta một cách nhìn tổng
quát, hữu ích về các khái niệm mà chúng ta nghiên cứu.

– 8 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Trước hết nói về dich vụ an toàn, X800 định nghĩa đây là dịch vụ cung cấp cho tầng giao thức của các
hệ thống mở trao đổi thông tin, mà đảm bảo an toàn thông tin cần thiết cho hệ thống và cho việc
truyền dữ liệu.
Trong tài liệu các thuật ngữ chuẩn trên Internet RFC 2828 đã nêu định nghĩa cụ thể hơn dich vụ an
toàn là dịch vụ trao đổi và xử lý cung cấp cho hệ thống việc bảo vệ đặc biệt cho các thông tin
nguồn.Tài liệu X800 đưa ra định nghĩa dịch vụ theo 5 loại chính:
– Xác thực: tin tưởng là thực thể trao đổi đúng là cái đã tuyên bố. Người đang trao đổi xưng tên với
mình đúng là anh ta, không cho phép người khác mạo danh.
– Quyền truy cập: ngăn cấm việc sử dụng nguồn thông tin không đúng vai trò. Mỗi đối tượng trong
hệ thống được cung cấp các quyền hạn nhất định và chỉ được hành động trong khuôn khổ các
quyền hạn đó.
– Bảo mật dữ liệu: bảo vệ dữ liệu không bị khám phá bởi người không có quyền. Chẳng hạn như
dùng các ký hiệu khác để thay thế các ký hiệu trong bản tin, mà chỉ người có bản quyền mới có thể
khôi phục nguyên bản của nó.
– Toàn vẹn dữ liệu: tin tưởng là dữ liệu được gửi từ người có quyền. Nếu có thay đổi như làm trì
hoãn về mặt thời gian hay sửa đổi thông tin, thì xác thực sẽ cho cách kiểm tra nhận biết là có các
hiện tượng đó đã xảy ra.
– Không từ chối: chống lại việc chối bỏ của một trong các bên tham gia trao đổi. Người gửi cũng
không trối bỏ là mình đã gửi thông tin với nội dung như vậy và người nhận không thể nói dối là tôi
chưa nhận được thông tin đó. Điều này là rất cần thiết trong việc trao đổi, thỏa thuận thông tin
hàng ngày.
Cơ chế an toàn được định nghĩa trong X800 như sau:
– Cơ chế an toàn chuyên dụng được cài đặt trong một giao thức của một tầng vận chuyển nào đó:
mã hoá, chữ ký điện tử, quyền truy cập, toàn vẹn dữ liệu, trao đổi có phép, đệm truyền, kiểm soát
định hướng, công chứng.
– Cơ chế an toàn phổ dụng không chỉ rõ được dùng cho giao thức trên tầng nào hoặc dịch vụ an
ninh cụ thể nào: chức năng tin cậy cho một tiêu chuẩn nào đó, nhãn an toàn chứng tỏ đối tượng có

tính chất nhất định, phát hiện sự kiện, vết theo dõi an toàn, khôi phục an toàn.
I.3.2 Mô hình an toàn mạng tổng quát
Sử dụng mô hình trên đòi hỏi chúng ta phải thiết kế:
o thuật toán phù hợp cho việc truyền an toàn.
o Phát sinh các thông tin mật (khoá) được sử dụng bởi các thuật toán.
o Phát triển các phương pháp phân phối và chia sẻ các thông tin mật.
o đặc tả giao thức cho các bên để sử dụng việc truyền và thông tin mật cho các dịch vụ an
toàn.
Mô hình truy cập mạng an toàn:
– 9 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Sử dụng mô hình trên đòi hỏi chúng ta phải:
o Lựa chọn hàm canh cổng phù hợp cho người sử dụng có danh tính.
o Cài đặt kiểm soát quyền truy cập để tin tưởng rằng chỉ có người có quyền mới truy cập
được thông tin đích hoặc nguồn.
o Các hệ thống máy tính tin cậy có thể dùng mô hình này.
I.4 Bảo mật thông tin trong hệ cơ sở dữ liệu
I.4.1 Giới thiệu chung
Các hệ cơ sở dữ liệu (CSDL) ngày nay như Oracle, SQL/Server, DB2/Informix đều có sẵn các
công cụ bảo vệ tiêu chuẩn như hệ thống định danh và kiểm soát truy xuất. Tuy nhiên, các biện pháp bảo vệ
này hầu như không có tác dụng trước các tấn công từ bên trong. Để bảo vệ thông tin khỏi mối đe dọa này,
người ta đưa ra hai giải pháp.
Giải pháp đơn giản nhất bảo vệ dữ liệu trong CSDL ở mức độ tập tin, chống lại sự truy cập trái phép vào
các tập tin CSDL bằng hình thức mã hóa. Tuy nhiên, giải pháp này không cung cấp mức độ bảo mật truy
cập đến CSDL ở mức độ bảng, cột và dòng. Một điểm yếu nữa của giải pháp này là bất cứ ai với quyền
truy xuất CSDL đều có thể truy cập vào tất cả dữ liệu trong CSDL cũng có nghĩa là cho phép các đối
tượng với quyền quản trị truy cập tất cả các dữ liệu nhạy cảm.
Giải pháp thứ hai, giải quyết vấn đề mã hóa ở mức ứng dụng. Giải pháp này xử lý mã hóa dữ liệu trước
khi truyền dữ liệu vào CSDL. Những vấn đề về quản lý khóa và quyền truy cập được hỗ trợ bởi ứng dụng.

Truy vấn dữ liệu đến CSDL sẽ trả kết quả dữ liệu ở dạng mã hóa và dữ liệu này sẽ được giải mã bởi ứng
dụng. Giải pháp này giải quyết được vấn đề phân tách quyền an toàn và hỗ trợ các chính sách an toàn dựa
trên vai trò.
I.4.2 Một số mô hình bảo mật cơ sở dữ liệu
Để đáp ứng những yêu cầu về bảo mật cho các hệ thống CSDL hiện tại và sau này người ta đưa ra 2 mô
hình bảo mật CSDL thông thường sau đây
Xây dựng tầng CSDL trung gian:
Một CSDL trung gian được xây dựng giữa ứng dụng và CSDL gốc. CSDL trung gian này có vai trò mã
hóa dữ liệu trước khi cập nhật vào CSDL gốc, đồng thời giải mã dữ liệu trước khi cung cấp cho ứng dụng.
– 10 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

CSDL trung gian đồng thời cung cấp thêm các chức năng quản lý khóa, xác thực người dùng và cấp phép
truy cập.
Giải pháp này cho phép tạo thêm nhiều chức năng về bảo mật cho CSDL. Tuy nhiên, mô hình CSDL trung
gian đòi hỏi xây dựng một ứng dụng CSDL tái tạo tất cả các chức năng của CSDL gốc.

Mô hình trung gian
Sử dụng cơ chế sẵn có trong CSDL
Mô hình này giải quyết các vấn đề mã hóa cột dựa trên các cơ chế sau:
a. Các hàm Stored Procedure trong CSDL cho chức năng mã hóa và giải mã
b. Sử dụng cơ chế View trong CSDL tạo các bảng ảo, thay thế các bảng thật đã được mã hóa.
c. Cơ chế “instead of” trigger được sử dụng nhằm tự động hóa quá trình mã hóa từ View đến bảng gốc.
Trong mô hình này, dữ liệu trong các bảng gốc sẽ được mã hóa, tên của bảng gốc được thay đổi. Một bảng
ảo được tạo ra mang tên của bảng gốc, ứng dụng sẽ truy cập đến bảng ảo này.
Truy xuất dữ liệu trong mô hình này có thể được tóm tắt như sau:
– 11 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Mô hình bảng ảo

Các truy xuất dữ liệu đến bảng gốc sẽ được thay thế bằng truy xuất đến bảng ảo.
Bảng ảo được tạo ra để mô phỏng dữ liệu trong bảng gốc. Khi thực thi lệnh “select”, dữ liệu sẽ được giải
mã cho bảng ảo từ bảng gốc (đã được mã hóa). Khi thực thi lệnh “Insert, Update”, “instead of” trigger sẽ
được thi hành và mã hóa dữ liệu xuống bảng gốc.
Quản lý phân quyền truy cập đến các cột sẽ được quản lý ở các bảng ảo. Ngoài các quyền cơ bản do
CSDL cung cấp, hai quyền truy cập mới được định nghĩa:
1. Người sử dụng chỉ được quyền đọc dữ liệu ở dạng mã hóa. Quyền này phù hợp với những đối tượng
cần quản lý CSDL mà không cần đọc nội dung dữ liệu.
2. Người sử dụng được quyền đọc dữ liệu ở dạng giải mã.
I.4.3 Sơ lược kiến trúc của 1 hệ bảo mật CSDL
Triggers: các trigger được sử dụng để lấy dữ liệu đến từ các câu lệnh INSERT, UPDATE (để mã hóa).
Views: các view được sử dụng để lấy dữ liệu đến từ các câu lệnh SELECT (để giải mã).
Extended Stored Procedures: được gọi từ các Trigger hoặc View dùng để kích hoạt các dịch vụ được cung
cấp bởi Modulo DBPEM từ trong môi trường của hệ quản tri CSDL.
DBPEM (Database Policy Enforcing Modulo): cung cấp các dịch vụ mã hóa/giải mã dữ liệu gửi đến từ
các Extended Stored Procedures và thực hiện việc kiểm tra quyền truy xuất của người dùng (dựa trên các
chính sách bảo mật được lưu trữ trong CSDL về quyền bảo mật).
Kiến trúc một hệ bảo mật CSDL
Security Database: lưu trữ các chính sách bảo mật và các khóa giải mã. Xu hướng ngày nay thường là lưu
trữ CSDL về bảo mật này trong Active Directory (một CSDL dạng thư mục để lưu trữ tất cả thông tin về
hệ thống mạng).
Security Services: chủ yếu thực hiện việc bảo vệ các khóa giải mã được lưu trong CSDL bảo mật.
Management Console: dùng để cập nhật thông tin lưu trong CSDL bảo mật (chủ yếu là soạn thảo các
chính sách bảo mật) và thực hiện thao tác bảo vệ một trường nào đó trong CSDL để đảm bảo tối đa tính
bảo mật, thông tin được trao đổi.
– 12 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

CHƯƠNG II
MÃ CỔ ĐIỂN

Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá.
Thuật toán đơn giản và dễ hiểu. Những phương pháp mã hoá này là cở sở cho việc nghiên cứu và phát
triển thuật toán mã hoá đối xứng được sử dụng ngày nay. Trong mã hoá cổ điển có hai phương pháp nổi
bật đó là:
– Mã hoá thay thế
– Mã hoá hoán vị
Mọi mã cổ điển đều là mã đối xứng mà chúng ta sẽ xét trong phần sau.
II.1 Mã đối xứng.
II.1.1 Các khái niệm cơ bản
Mật mã đối xứng sử dụng cùng một khóa cho việc mã hóa và giải mã. Có thể nói mã đối xứng là mã một
khoá hay mã khóa riêng hay mã khoá thỏa thuận.
Ở đây người gửi và người nhận chia sẻ khoá chung K, mà họ có thể trao đổi bí mật với nhau. Ta xét hai
hàm ngược nhau: E là hàm biến đổi bản rõ thành bản mã và D là hàm biến đổi bản mã trở về bản rõ. Giả
sử X là văn bản cần mã hóa và Y là dạng văn bản đã được thay đổi qua việc mã hóa. Khi đó ta ký hiệu:
Y = E
K
(X)
X = D
K
(Y)
Mọi thuật toán mã cổ điển đều là mã khoá đối xứng, vì ở đó thông tin về khóa được chia sẻ giữa người
gửi và người nhận. Mã đối xứng là kiểu duy nhất trước khi phát minh ra khoá mã công khai (còn được gọi
là mã không đối xứng) vào những năm 1970. Hiện nay các mã đối xứng và công khai tiếp tục phát triển và
hoàn thiện. Mã công khai ra đời hỗ trợ mã đối xứng chứ không thay thế nó, do đó mã đối xứng đến nay
vẫn được sử dụng rộng rãi.
Sau đây ta đưa ra định nghĩa một số khái niệm cơ bản về mã hóa.
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 bảo mật.
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.
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.
– 13 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Mô hình mã đối xứng
II.1.2 Các yêu cầu.
Một mã đối xứng có các đặc trưng là cách xử lý thông tin của thuật toán mã, giải mã, tác động của khóa
vào bản mã, độ dài của khóa. Mối liên hệ giữa bản rõ, khóa và bản mã càng phức tạp càng tốt, nếu tốc độ
tính toán là chấp nhận được. Cụ thể hai yêu cầu để sử dụng an toàn mã khoá đối xứng là
1. Thuật toán mã hoá mạnh. Có cơ sở toán học vững chắc đảm bảo rằng mặc dù công khai thuật toán,
mọi người đều biết, nhưng việc thám mã là rất khó khăn và phức tạp nếu không biết khóa.
2. Khoá mật chỉ có người gửi và người nhận biết. Có kênh an toàn để phân phối khoá giữa các người
sử dụng chia sẻ khóa. Mối liên hệ giữa khóa và bản mã là không nhận biết được.
II.1.3 Mật mã

Hệ mật mã được đặc trưng bởi các yếu tố sau
– Kiểu của thao tác mã hoá được sử dụng trên bản rõ:
1. Phép thế – thay thế các ký tự trên bản rõ bằng các ký tự khác
2. Hoán vị – thay đổi vị trí các ký tự trong bản rõ, tức là thực hiện hoán vị các ký tự của bản
rõ.
3. Tích của chúng, tức là kết hợp cả hai kiểu thay thế và hoán vị các ký tự của bản rõ.
– Số khoá được sử dụng khi mã hóa: một khoá duy nhất – khoá riêng hoặc hai khoá – khoá công khai.
Ngoài ra còn xem xét số khóa được dùng có nhiều không.
– Một đặc trưng của mã nữa là cách mà bản rõ được xử lý, theo:
1. Khối – dữ liệu được chia thành từng khối có kích thước xác định và áp dụng thuật toán mã
hóa với tham số khóa cho từng khối.
2. Dòng – từng phần tử đầu vào được xử lý liên tục tạo phần tử đầu ra tương ứng.
II.1.4 Thám mã.
Có hai cách tiếp cận tấn công mã đối xứng.
1. Tấn công thám mã dựa trên thuật toán và một số thông tin về các đặc trưng chung về bản rõ
hoặc một số mẫu bản rõ/bản mã. Kiểu tấn công này nhằm khai phá các đặc trưng của thuật
toán để tìm bản rõ cụ thể hoặc tìm khóa. Nếu tìm được khóa thì là tai họa lớn.
2. Tấn công duyệt toàn bộ: kẻ tấn công tìm cách thử mọi khóa có thể trên bản mã cho đến khi
nhận được bản rõ. Trung bình cần phải thử một nửa số khóa mới tìm được.
Các kiểu tấn công thám mã.
– Chỉ dùng bản mã: biết thuật toán và bản mã, dùng phương pháp thống kê, xác định bản rõ.
– Biết bản rõ: biết thuật toán, biết được bản mã/bản rõ tấn công tìm khóa.
– 14 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

– Chọn bản rõ: chọn bản rõ và nhận được bản mã, biết thuật toán tấn công tìm khóa.
– Chọn bản mã: chọn bản mã và có được bản rõ tương ứng, biết thuật toán tấn công tìm khóa.
– Chọn bản tin: chọn được bản rõ hoặc mã và mã hoặc giải mã tuơng ứng, tấn công tìm khóa.
II.1.5 Tìm duyệt tổng thể (Brute-Force)
Về mặt lý thuyết phương pháp duyệt tổng thể là luôn thực hiện được, do có thể tiến hành thử từng khoá,

mà số khoá là hữu hạn. Phần lớn công sức của các tấn công đều tỷ lệ thuận với kích thước khoá. Khóa
càng dài thời gian tìm kiếm càng lâu và thường tăng theo hàm mũ. Ta có thể giả thiết là kẻ thám mã có thể
dựa vào bối cảnh để biết hoặc nhận biết được bản rõ.
Sau đây là một số thống kê về mối liên hệ giữa độ dài khóa, kích thước không gian khóa, tốc độ xử lý và
thời gian tìm duyệt tổng thể. Chúng ta nhận thấy với độ dài khóa từ 128 bit trở lên, thời gian yêu cầu là rất
lớn, lên đến hàng tỷ năm, như vậy có thể coi phương pháp duyệt tổng thể là không hiện thực.

II.1.6 Độ an toàn.
Có thể phân lọai an toàn thành hai kiểu như sau:
– An toàn không điều kiện: ở đây không quan trọng máy tính mạnh như thế nào, có thể thực hiện được
bao nhiêu phép toán trong một giây, mã hoá không thể bị bẻ, vì bản mã không cung cấp đủ thông tin
để xác định duy nhất bản rõ. Việc dùng bộ đệm ngẫu nhiên một lần để mã dòng cho dữ liệu mà ta sẽ
xét cuối bài này được coi là an toàn không điều kiện. Ngoài ra chưa có thuật toán mã hóa nào được coi
là an toàn không điều kiện.
– An toàn tính toán: với nguồn lực máy tính giới hạn và thời gian có hạn (chẳng hạn thời gian tính toán
không quá tuổi của vũ trụ) mã hoá coi như không thể bị bẻ. Trong trường hợp này coi như mã hóa an
toàn về mặt tính toán. Nói chung từ nay về sau, một thuật toán mã hóa an toàn tính toán được coi là an
toàn.
II.2 Các mã thế cổ điển thay thế
Có hai loại mã cổ điển là mã thay thế và mã hoán vị (hay còn gọi là dịch chuyển).
Mã thay thế là phương pháp mà từng kí tự (nhóm kí tự) trong bản rõ được thay thế bằng một kí tự (một
nhóm kí tự) khác để tạo ra bản mã. Bên nhận chỉ cần thay thế ngược lại trên bản mã để có được bản rõ ban
đầu.
– 15 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Trong phương pháp mã hoán vị, các kí tự trong bản rõ vẫn được giữ nguyên, chúng chỉ được sắp xếp lại
vị trí để tạo ra bản mã. Tức là các kí tự trong bản rõ hoàn toàn không bị thay đổi bằng kí tự khác mà chỉ
đảo chỗ của chúng để tạo thành bản mã.
Trước hết ta xét các mã cổ điển sử dụng phép thay thế các chữ của bản rõ bằng các chữ khác của bảng chữ

để tạo thành bản mã.
– Ở đây các chữ của bản rõ được thay bằng các chữ hoặc các số hoặc các ký tự khác.
– Hoặc nếu xem bản rõ như môt dãy bít, thì phép thế thay các mẫu bít bản rõ bằng các mẫu bít bản mã.
II.2.1 Mã Ceasar
Đây là mã thế được biết sớm nhất, được sáng tạo bởi Julius Ceasar. Lần đầu tiên được sử dụng trong quân
sự. Việc mã hoá được thực hiện đơn giản là thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trong
bảng chữ cái.
• Ví dụ:
o Meet me after the toga party
o PHHW PH DIWHU WKH WRJD SDUWB
Ở đây thay chữ m bằng chữ đứng thứ 3 sau m là p (m, n, o, p); thay chữ e bằng chữ đứng thứ 3 sau e là h
(e, f, g, h).
• Có thể định nghĩa việc mã hoá trên qua ánh xạ trên bảng chữ cái sau: các chữ ở dòng dưới là mã
của các chữ tương ứng ở dòng trên:
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
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
• Về toán học, nếu ta gán số thứ tự cho mỗi chữ trong bảng chữ cái. Các chữ ở dòng trên có số thứ
tự tương ứng là số ở dòng dưới:
a b c d e f g h i j k l m
0 1 2 3 4 5 6 7 8 9 10 11 12
n o p q r s t u v w x y z
13 14 15 16 17 18 19 20 21 22 23 24 25
thì mã Ceasar được định nghĩa qua phép tịnh tiến các chữ như sau:
c = E(p) = (p + k) mod (26)
p = D(c) = (c – k) mod (26)
Ở đây, p là số thứ tự của chữ trong bản rõ và c là số thứ tự của chữ tương ứng của bản mã; k là
khoá của mã Ceasar. Có 26 giá trị khác nhau của k, nên có 26 khoá khác nhau. Thực tế độ dài khoá
ở đây chỉ là 1, vì mọi chữ đều tịnh tiến đi một khoảng như nhau.

• Thám mã Ceasar

là việc làm đơn giản, do số khoá có thể có là rất ít.
Chỉ có 26 khoá có thể, vì A chỉ có thể ánh xạ vào một trong số 26 chữ cái của bảng chữ cái tiếng
Anh: A, B, C, …Các chữ khác sẽ được xác định bằng số bước tịnh tiến tương ứng của A. Kẻ thám
mã có thể thử lần lượt từng khoá một, tức là sử dụng phương pháp tìm duyệt tổng thể. Vì số khoá
ít nên việc tìm duyệt là khả thi. Cho trước bản mã, thử 26 cách dịch chuyển khác nhau, ta sẽ đoán
nhận thông qua nội dung các bản rõ nhận được.
Ví dụ. Bẻ bản mã “GCUA VQ DTGCM” bằng cách thử các phép tịnh tiến khác nhau của bảng chữ, ta
chọn được bước tịnh tiến thích hợp là 24 và cho bản rõ là “easy to break”.
– 16 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

II.2.2 Các mã bảng chữ đơn
Bây giờ ta khắc phục nhược điểm của mã Ceasar bằng cách mã hoá các chữ không chỉ là dịch chuyển
bảng chữ, mà có thể tạo ra các bước nhảy khác nhau cho các chữ. Trong một mã mỗi chữ của bản rõ được
ánh xạ đến một chữ khác nhau của bản mã. Do đó mỗi cách mã như vậy sẽ tương ứng với một hoán vị của
bảng chữ và hoán vị đó chính là khoá của mã đã cho. Như vậy độ dài khoá ở đây là 26 và số khoá có thể
có là 26!. Số khoá như vậy là rất lớn.
Ví dụ. Ta có bản mã tương ứng với bản rõ trong mã bảng chữ đơn như sau:
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: DKVQFIBJWPESCXHTMYAUOLRGZN
Plaintext: ifwewishtoreplaceletters
Ciphertext: WIRFRWAJUHYFTSDVFSFUUFYA
– Tính an toàn của mã trên bảng chữ đơn. Tổng cộng có 26! xấp xỉ khoảng 4 x 10
26
khoá. Với khá
nhiều khoá như vậy nhiều người nghĩ là mã trên bảng chữ đơn sẽ an toàn. Nhưng không phải như vậy.
Vấn đề ở đây là do các đặc trưng về ngôn ngữ. Tuy có số lượng khoá lớn, nhưng do các đặc trưng về
tần suất xuất hiện của các chữ trong bản rõ và các chữ tương ứng trong bản mã là như nhau, nên kẻ
thám mã có thể đoán được ánh xạ của một số chữ và từ đó mò tìm ra chữ mã cho các chữ khác. Ta sẽ
xét khía cạnh này cụ thể trong mục sau.

– Tính dư thừa của ngôn ngữ và thám mã. Ngôn ngữ của loài người là dư thừa. Có một số chữ hoặc các
cặp chữ hoặc bộ ba chữ được dùng thường xuyên hơn các bộ chữ cùng độ dài khác. Chẳng hạn như
các bộ chữ sau đây trong tiếng Anh “th lrd s m shphrd shll nt wnt”. Tóm lại trong nhiều ngôn ngữ các
chữ không được sử dụng thường xuyên như nhau. Trong tiếng Anh chữ E được sử dụng nhiều nhất;
sau đó đến các chữ T, R, N, I, O, A, S. Một số chữ rất ít dùng như: Z, J, K, Q, X. Bằng phương pháp
thống kê, ta c
ó thể xây dựng các bảng các tần suất các chữ đơn, cặp chữ, bộ ba chữ.
o
Bảng tần suất chữ cái tiếng Anh:
• Sử dụng bảng tần suất vào việc thám mã
Điều quan trọng là mã thế trên bảng chữ đơn không làm thay đổi tần suất tương đối của các chữ,
có nghĩa là ta vẫn có bảng tần suất trên nhưng đối với bảng chữ mã tương ứng. Điều đó được phát
hiện bởi các nhà khoa học Ai cập từ thế kỷ thứ 9. Do đó có cách thám mã trên bảng chữ đơn như
sau:
– Tính toán tần suất của các chữ trong bản mã
– So sánh với các giá trị đã biết
– 17 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

– Tìm kiếm các chữ đơn hay dùng A-I-E, bộ đôi NO và bộ ba RST; và các bộ ít dùng JK, X-Z
– Trên bảng chữ đơn cần xác định các chữ dùng các bảng bộ đôi và bộ ba trợ giúp.
Ví dụ. Thám mã bản mã trên bảng chữ đơn, cho bản mã:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEP
OPDZSZUFPOUDTMOHMQ
– Tính tần suất các chữ
– Đoán P và Z là e và t.
– Khi đó ZW là th và ZWP là the.
– Suy luận tiếp tục ta có bản rõ:
it was disclosed yesterday that several informal but

direct contacts have been made with political
representatives in moscow
II.2.3 Mã Playfair
Như chúng ta đã thấy không phải số khoá lớn trong mã bảng chữ đơn đảm bảo an toàn mã. Một trong các
hướng khắc phục là mã bộ các chữ, tức là mỗi chữ sẽ được mã bằng một số chữ khác nhau tùy thuộc vào
các chữ mà nó đứng cạnh. Playfair là một trong các mã như vậy, được sáng tạo bởi Charles Wheastone
vào năm 1854 và mang tên người bạn là Baron Playfair. Ở đây mỗi chữ có thể được mã bằng một trong 7
chữ khác nhau tùy vào chữ cặp đôi cùng nó trong bản rõ.
Ma trận khoá Playfair. Cho trước một từ làm khoá, với điều kiện trong từ khoá đó không có chữ cái nào bị
lặp. Ta lập ma trận Playfair là ma trận cỡ 5 x 5 dựa trên từ khoá đã cho và gồm các chữ trên bảng chữ cái,
được sắp xếp theo thứ tự như sau:
– Trước hết viết các chữ của từ khoá vào các hàng của ma trận bắt từ hàng thứ nhất.
– Nếu ma trận còn trống, viết các chữ khác trên bảng chữ cái chưa được sử dụng vào các ô còn lại.
Có thể viết theo một trình tự qui ước trước, chẳng hạn từ đầu bảng chữ cái cho đến cuối.
– Vì có 26 chữ cái tiếng Anh, nên thiếu một ô. Thông thuờng ta dồn hai chữ nào đó vào một ô
chung, chẳng hạn I và J.
– Giả sử sử dụng từ khoá MORNACHY. Lập ma trận khoá Playfair tương ứng như sau:
MONAR
CHYBD
EFGIK
LPQST
UVWXZ
Mã hoá và giải mã: bản rõ được mã hoá 2 chữ cùng một lúc theo qui tắc như sau:
– Chia bản rõ thành từng cặp chữ. Nếu một cặp nào đó có hai chữ như nhau, thì ta chèn thêm một
chữ lọc chẳng hạn X. Ví dụ, trước khi mã “balloon” biến đổi thành “ba lx lo on”.
– Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng chữ ở phía bên phải nó
trong cùng hàng của ma trận khóa (cuộn vòng quanh từ cuối về đầu), chẳng hạn “ar” biến đổi
thành “RM”
– Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng chữ ở phía bên dưới nó
trong cùng cột của ma trận khóa (cuộn vòng quanh từ cuối về đầu), chẳng hạn “mu” biến đổi

thành “CM”
– Trong các trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng hàng với nó và cùng cột
với chữ cùng cặp với nó trong ma trận khóa. Chẳng hạn, “hs” mã thành “BP”, và “ea” mã thành
“IM” hoặc “JM” (tuỳ theo sở thích)
An toàn của mã Playfair:
– 18 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

– An toàn được nâng cao so hơn với bảng đơn, vì ta có tổng cộng 26 x 26 = 676 cặp. Mỗi chữ có
thể được mã bằng 7 chữ khác nhau, nên tần suất các chữ trên bản mã khác tần suất của các chữ cái
trên văn bản tiếng Anh nói chung.
– Muốn sử dụng thống kê tần suất, cần phải có bảng tần suất của 676 cặp để thám mã (so với 26
của mã bảng đơn). Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ có thể có nhiều
bản mã hơn cần lựa chọn. Do đó khó thám mã hơn mã trên bảng chữ đơn.
– Mã Playfair được sử dụng rộng rãi nhiều năm trong giới quân sự Mỹ và Anh trong chiến tranh
thế giới thứ 1. Nó có thể bị bẻ khoá nếu cho trước vài trăm chữ, vì bản mã vẫn còn chứa nhiều cấu
trúc của bản rõ.
II.2.4 Các mã đa bảng
Một hướng khác làm tăng độ an toàn cho mã trên bảng chữ là sử dụng nhiều bảng chữ để mã. Ta sẽ gọi
chúng là các mã thế đa bảng. Ở đây mỗi chữ có thể được mã bằng bất kỳ chữ nào trong bản mã tùy thuộc
vào ngữ cảnh khi mã hoá. Làm như vậy để trải bằng tần suất các chữ xuất hiện trong bản mã. Do đó làm
mất bớt cấu trúc của bản rõ được thể hiện trên bản mã và làm cho thám mã đa bảng khó hơn. Ta sử dụng
từ khoá để chỉ rõ chọn bảng nào được dùng cho từng chữ trong bản tin. Sử dụng lần lượt các bảng theo từ
khóa đó và lặp lại từ đầu sau khi kết thúc từ khoá. Độ dài khoá là chu kỳ lặp của các bảng chữ. Độ dài
càng lớn và nhiều chữ khác nhau được sử dụng trong từ khoá thì càng khó thám mã.
II.2.5 Mã Vigenere
Mã thế đa bảng đơn giản nhất là mã Vigenere. Thực chất quá trình mã hoá Vigenere là việc tiếh hành
đồng thời dùng nhiều mã Ceasar cùng một lúc trên bản rõ với nhiều khoá khác nhau. Khoá cho mỗi chữ
dùng để mã phụ thuộc vào vị trí của chữ đó trong bản rõ và được lấy trong từ khoá theo thứ tự tương ứng.
Giả sử khoá là một chữ có độ dài d được viết dạng K = K

1
K
2
…K
d
, trong đó K
i
nhận giá trị nguyên từ 0
đến 25. Khi đó ta chia bản rõ thành các khối gồm d chữ. Mỗi chữ thứ i trong khối chỉ định dùng bảng chữ
thứ i với tịnh tiến là K
i
giống như trong mã Ceasar. Trên thực tế khi mã ta có thể sử dụng lần lượt các bảng
chữ và lặp lại từ đầu sau d chữ của bản rõ. Vì có nhiều bảng chữ khac nhau, nên cùng một chữ ở các vị trí
khác nhau sẽ có các bước nhảy khác nhau, làm cho tần suất các chữ trong bản mã dãn tương đối đều.
Giải mã đơn giản là quá trình làm ngược lại. Nghĩa là dùng bản mã và từ khoá với các bảng chữ tương
ứng, nhưng với mỗi chữ sử dụng bước nhảy lui lại về đầu.
Ví dụ: Để sử dụng mã Vigenere với từ khóa và bản rõ cho trước ta có thể làm như sau:
– Viết bản rõ ra
– Viết từ khoá lặp nhiều lần phía trên tương ứng của nó
– Sử dụng mỗi chữ của từ khoá như khoá của mã Ceasar
– Mã chữ tương ứng của bản rõ với bước nhảy tương ứng.
– Chẳng hạn sử dụng từ khoá deceptive
key: deceptivedeceptivedeceptive
plaintext: wearediscoveredsaveyourself
ciphertext:ZICVTWQNGRZGVTWAVZHCQYGL
Để mã chữ w đầu tiên ta tìm chữ đầu của khóa là d, như vậy w sẽ được mã trên bảng chữ tịnh tiến 3 (tức là
a tịnh tiến vào d). Do đó chữ đầu w được mã bởi chữ Z. Chữ thứ hai trong từ khóa là e, có nghĩa là chữ
thứ hai trong bản rõ sẽ được tịnh tiến 4 (từ a tịnh tiến đến e). Như vậy thứ hai trong bản rõ e sẽ được mã
bởi chữ I. Tương tự như vậy cho đến hết bản rõ.
Trên thực tế để hỗ trợ mã Vigenere, người ta đã tạo ra trang Saint – Cyr để trợ giúp cho việc mã và giải

mã thủ công. Đó là một bảng cỡ 26 x 26 có tên tương ứng là các chữ cái trong bảng chữ tiếng Anh. Hàng
thứ i là tịnh tiến i chữ của bảng chứ cái. Khi đó chữ ở cột đầu tiên chính là khoá của bảng chữ ở cùng
– 19 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

hàng. Do đó chữ mã của một chữ trong bản rõ nằm trên cùng cột với chữ đó và nằm trên hàng tương ứng
với chữ khoá.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A ABCDEFGHIJKLMNOPQRSTUVWXYZ
B BCDEFGHIJKLMNOPQRSTUVWXYZA
C CDEFGHIJKLMNOPQRSTUVWXYZAB
D DEFGHIJKLMNOPQRSTUVWXYZABC
E EFGHIJKLMNOPQRSTUVWXYZABCD
F FGHIJKLMNOPQRSTUVWXYZABCDE
G GHIJKLMNOPQRSTUVWXYZABCDEF
H HIJKLMNOPQRSTUVWXYZABCDEFG
I IJKLMNOPQRSTUVWXYZABCDEFGH
J JKLMNOPQRSTUVWXYZABCDEFGHI
K KLMNOPQRSTUVWXYZABCDEFGHIJ
L LMNOPQRSTUVWXYZABCDEFGHIJK
M MNOPQRSTUVWXYZABCDEFGHIJKL
N NOPQRSTUVWXYZABCDEFGHIJKLM
O OPQRSTUVWXYZABCDEFGHIJKLMN
P PQRSTUVWXYZABCDEFGHIJKLMNO
Q QRSTUVWXYZABCDEFGHIJKLMNOP
R RSTUVWXYZABCDEFGHIJKLMNOPQ
S STUVWXYZABCDEFGHIJKLMNOPQR
T TUVWXYZABCDEFGHIJKLMNOPQRS
U UVWXYZABCDEFGHIJKLMNOPQRST
V VWXYZABCDEFGHIJKLMNOPQRSTU

W WXYZABCDEFGHIJKLMNOPQRSTUV
X XYZABCDEFGHIJKLMNOPQRSTUVW
Y YZABCDEFGHIJKLMNOPQRSTUVWX
Z ZABCDEFGHIJKLMNOPQRSTUVWXY
Bảng Saint Cyr
An toàn của mã Vigenere. Như vậy có chữ mã khác nhau cho cùng một chữ của bản rõ. Suy ra tần suất
của các chữ bị là phẳng, nghĩa là tần suất xuất hiện các chữ trên bản mã tương đối đều nhau. Tuy nhiên
chưa mất hoàn toàn, do độ dài của khoá có hạn, nên có thể tạo nên chu kỳ vòng lặp. Kẻ thám mã bắt đầu
từ tần suất của chữ để xem có phải đây là mã đơn bảng chữ hay không. Giả sử đây là mã đa bảng chữ, sau
đó xác định số bảng chữ trong từ khoá và lần tìm từng chữ. Như vậy cần tăng độ dài từ khoá để tăng số
bảng chữ dùng khi mã để “là” tần suất của các chữ.
II.2.6 Phương pháp thám mã Kasiski
Phương pháp phát triển bởi Babbage và Kasiski. Ta thấy các chữ như nhau trên bản rõ và cách nhau một
khoảng đúng bằng độ dài từ khoá (chu kỳ), thì sẽ được mã bằng cùng một chữ. Như vậy từ độ lặp của các
chữ trong bản mã có thể cho phép xác định chu kỳ. Tất nhiên không phải khi nào cũng tìm được độ dài từ
khoá. Sau đó tìm các chữ trong từ khoá bằng cách tấn công từng bảng chữ đơn với cùng kỹ thuật dựa trên
các bảng tần suất của các bộ chữ như trước.
II.2.7 Mã khoá tự động
Lý tưởng nhất là ta có khoá dài như bản tin. Do đó Vigenere đề xuất khoá tự động sinh cho bằng độ dài
bản tin như sau: từ khoá được nối tiếp bằng chính bản rõ để tạo thành khoá. Sau đó dùng mã Vigenere để
– 20 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

mã bản rõ đã cho. Khi đó biết từ khoá có thể khôi phục được một số chữ ban đầu của bản rõ. Sau đó tiếp
tục sử dụng chúng để giải mã cho văn bản còn lại. Sự cải tiến này làm mất khái niệm chu kỳ, gây khó
khăn cho việc thám mã, nhưng vẫn còn đặc trưng tần suất để tấn công.
Ví dụ. Cho từ khoá deceptive. Ta viết bản rõ nối tiếp vào từ khoá tạo thành từ khoá mới có độ dài bằng
độ dài bản rõ.
key: deceptivewearediscoveredsav
plaintext: wearediscoveredsaveyourself

ciphertext:ZICVTWQNGKZEIIGASXSTSLVVWLA
II.2.8 Bộ đệm một lần
Nếu khoá thực sự ngẫu nhiên được dùng và có độ dài bằng bản rõ thì ta nói đó là bộ đệm một lần. Vì nó
chỉ được dùng một lần và ngẫu nhiên, nên mã hoá sẽ an toàn. Mã sẽ không bẻ được vì bản mã không có
liên quan thống kê gì với bản rõ, do bộ đệm được sinh ngẫu nhiên. Có thể nói mã bộ đệm một lần là an
toàn tuyệt đối, vì với bản rõ bất kỳ và bản mã bất kỳ, luôn tồn tại một khoá để ánh xạ bản rõ đó sang bản
mã đã cho. Về mặt lý thuyết, xác suất để mọi mẩu tin (có cùng độ dài với bản rõ) trên bảng chữ mã là mã
của một bản rõ cho trước là như nhau. Khoá chỉ sử dụng một lần, nên các lần mã là độc lập với nhau.
Vấn đề khó khăn của mã bộ đệm một lần là việc sinh ngẫu nhiên khóa và phân phối khoá an toàn. Do đó
bộ đệm một lần ít được sử dụng và chỉ dùng trong trường hợp đòi hỏi bảo mật rất cao.
II.3 Các mã thế cổ điển hoán vị
Trong các mục trước chúng ta đã xét một số mã thay thế, ở đó các chữ của bản rõ được thay thế bằng các
chữ khác của bản mã. Bây giờ chúng ta xét đến loại mã khác, mã hoán vị, các chữ trong bản rõ không
được thay thế bằng các chữ khác mà chỉ thay đổi vị trí, tức là việc mã hoá chỉ dịch chuyển vị trí tương đối
giữa các chữ trong bản rõ. Như vậy, nó dấu bản rõ bằng cách thay đổi thứ tự các chữ, nó không thay đổi
các chữ thực tế được dùng. Do đó bản mã có cùng phân bố tần suất xuất hiện các chữ như bản gốc. Như
vậy có thể thám mã để phát hiện được.
II.3.1 Mã Rail Fence
Đây là mã hoán vị đơn giản. Viết các chữ của bản rõ theo đường chéo trên một số dòng. Sau đó đọc các
chữ theo theo từng dòng sẽ nhận được bản mã. Số dòng chính là khoá của mã. Vì khi biết số dòng ta sẽ
tính được số chữ trên mỗi dòng và lại viết bản mã theo các dòng sau đó lấy bản rõ bằng cách viết lại theo
các cột.
Ví dụ. Viết bản tin “meet me after the toga party” lần lượt trên hai dòng như sau
m e m a t r h t g p r y
e t e f e t e o a a t

Sau đó ghép các chữ ở dòng thứ nhất với các chữ ở dòng thứ hai cho bản mã:
MEMATRHTGPRYETEFETEOAAT
II.3.2 Mã dịch chuyển dòng
Mã có sơ đồ phức tạp hơn. Viết các chữ của bản tin theo các dòng với số cột xác định. Sau đó thay đổi thứ

tự các cột theo một dãy số khoá cho truớc, rồi đọc lại chúng theo các cột để nhận được bản mã. Quá trình
giải mã được thực hiện ngược lại.
Ví dụ:
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
– 21 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

d u n t i l t
w o a m x y z
Ta đọc theo thứ tự các cột từ 1 đến 7 để nhận được bản mã:
Ciphertext: TTNAAPTMTSUOAODWCOIXKNLYPETZ
II.3.3 Mã tích
Mã dùng hoán vị hoặc dịch chuyển không an toàn vì các đặc trưng tần xuất của ngôn ngữ không thay đổi.
Có thể sử dụng một số mã liên tiếp nhau sẽ làm cho mã khó hơn. Mã cổ điển chỉ sử dụng một trong hai
phương pháp thay thế hoặc hoán vị. Người ta nghĩ đến việc kết hợp cả hai phương pháp này trong cùng
một mã và có thể sử dụng đan xen hoặc lặp nhiều vòng. Đôi khi ta tưởng lặp nhiều lần cùng một loại mã
sẽ tạo nên mã phức tạp hơn, nhưng trên thực tế trong một số trường hợp về bản chất chúng cũng tương
đương với một lần mã cùng loại nào đó như: tích của hai phép thế sẽ là một phép thế; tích của hai phép
hoán vị sẽ là một phép hoán vị. Nhưng nếu hai loại mã đó khác nhau thì sẽ tạo nên mã mới phức tạp hơn,
chính vì vậy phép thế được nối tiếp bằng phép dịch chuyển sẽ tạo nên mã mới khó hơn rất nhiều. Đây
chính là chiếc cầu nối từ mã cổ điển sang mã hiện đại.
Điểm yếu của mã cổ điển:
– Phương pháp mã hoá cổ điển có thể dễ dàng bị giải mã bằng cách đoán chữ dựa trên phương pháp
thống kê tần xuất xuất hiện các chữ cái trên mã và so sánh với bảng thống kê quan sát của bản rõ.
– Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất với nhau về cơ chế mã
hoá cũng như giải mã. Nếu không thì hai bên sẽ không thể làm việc được với nhau.
II.4 Một số vấn đề khác.
II.4.1 Máy quay

Trước khi có mã hiện đại, máy quay là mã tích thông dụng nhất. Chúng được sử dụng rộng rãi trong chiến
tranh thế giới thứ hai: Đức, đồng minh và Nhật. Máy quay tạo nên mã thay thế rất đa dạng và phức tạp.
Trong máy có sử dụng một số lõi hình trụ, mỗi lõi ứng với một phép thế, khi quay sẽ thay thế mỗi chữ
bằng một chữ khác tương ứng. Với 3 hình trụ khác nhau, ta có 26 x 26 x 26 = 17576 bảng chữ.
II.4.2 Dấu tin
Một trong những kỹ thuật khác để đảm bảo tính bảo mật của thông tin được gửi là dấu tin. Đây là một sự
lựa chọn dùng kết hợp hoặc đồng thời với mã. Dấu tin là dấu sự tồn tại của bản tin cần bảo mật trong một
thông tin khác như: trong bản tin dài chỉ dùng một tập con các chữ/từ được đánh dấu bằng cách nào đó; sử
dụng mực không nhìn thấy; dấu tin trong các file âm thanh hoặc hình ảnh. Các kỹ thuật này gần đây cũng
được quan tâm nghiên cứu. Tuy nhiên nó có nhược điểm là chỉ dấu được lượng thông tin nhỏ các bít.
– 22 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

– 23 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

Bài tập
1. Cho biến đọan mã sau dùng mã Cesar
“GCUA VQ DTGCM”
Suy luận tìm bản rõ.
2. Sử dụng kỹ thuật thám mã bảng chữ đơn, lập bảng tần suất các chữ, bộ chữ đôi, bộ chữ ba của đọan
mã sau:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIVUEPHZHMDZSHZOWSF
PAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOUDTMOHMQ
Lập luận và cho biết ánh xạ của bảng chữ đơn và đưa ra bản rõ phù hợp
3. Nêu thuật toán dùng bảng Saint Cyr để mã hóa và giải mã Vigenere khi biết từ khóa. Áp dụng thuật
toán đó mã hóa bản rõ sau: “Network Security is very important for software development” với từ
khóa là “COMPUTER SCIENCE”
4. Tại sao có thể nói “Có thể nói mã bộ đệm một lần là an toàn tuyệt đối, vì với bản rõ bất kỳ và bản mã
bất kỳ, luôn tồn tại một khoá để ánh xạ bản rõ đó sang bản mã đã cho”. Giải thích nhận định sau “Về

mặt lý thuyết, xác suất để mọi mẩu tin (có cùng độ dài với bản rõ) trên bảng chữ mã là mã của một bản
rõ cho trước là như nhau”.
5. Tìm bản mã của bản rõ “We are studying cryptography this year” sử dụng mã Playfair với từ khóa
“information technology”.
6. Chứng tỏ rằng, phép dịch chuyển không khắc phục được tính dư thừa của ngôn ngữ tự nhiên.
7. Chứng minh rằng tích của hai phép thế đơn là một phép thế đơn và tích của hai phép dịch chuyển là
một phép dịch chuyển. Có thể nói gì về tích của một phép thế đơn và một phép dịch chuyển.
8. Có bao nhiêu khóa Playfair khác nhau.
9. Mã hóa bản rõ “Chung toi se la nhung ky su cong nghe thong tin gioi trong mot vai nam nua” sử dụng
từ khóa 631425.
10. Giả sử dùng mã dịch chuyển dòng với 8 cột. Hỏi có bao nhiêu khóa khác nhau. Nêu thuật toán giải mã
với từ khóa cho trước.
11. Chứng minh rằng: tích của hai phép thế sẽ là một phép thế; tích của hai phép hoán vị sẽ là một phép
hoán vị.
– 24 –
Giáo Trình An Toàn Và Bảo Mật Thông Tin

CHƯƠNG III
TRƯỜNG HỮU HẠN
Mở đầu
Giới thiệu về cấu trúc đại số – trường hữu hạn. Đây là mô hình toán học đóng vai trò quan trọng
trong lý thuyết mã như đối với chuẩn mã nâng cao AES, mã đường cong Elip, mã IDEA và khoá công
khai. Nó liên quan đến các phép toán trên “số”: ở đây sẽ xét “số” là khái niệm khái quát hơn các số
nguyên, số thực, số phức thường gặp trong số học, nói chung “số” có thể là các phần tử trong một tập hợp
nào đó. Đồng thời trên tập hợp đó có trang bị các phép toán tương ứng thoả mãn một số tính chất nhất
định như các số với các phép toán cộng, trừ hoặc nhân, chia. Ta bắt đầu từ các khái niệm về nhóm, vành,
trường của đại số trừu tượng.
III.1 Các cấu trúc đại số
III.1.1 Nhóm
Cho một tập các phần tử hoặc “số” và một phép toán hai ngôi, mà kết quả cũng là một phần tử của tập

hợp đó. Tức là ứng với mỗi cặp phần tử trên tập đó, kết quả của phép toán cũng là một phần tử xác
định của tập đã cho. Tính chất này ta gọi là tính đóng của phép toán trên tập đang xét.
Định nghĩa nhóm. Tập hợp G đó với phép toán. đã cho được gọi là nhóm, nếu nó thỏa mãn các tính
chất sau với mọi phần tử a, b, c thuộc G:
o Tính kết hợp (a.b).c = a.(b.c)
o Có đơn vị e: e.a = a.e = a
o Có nghịch đảo a
-1
: a.a
-1
= e
o
Nếu có thêm tính giao hoán a.b = b.a, thì gọi là nhóm Aben hay nhóm giao hoán.
Định nghĩa nhóm xiclic.
o Định nghĩa lũy thừa như là việc áp dụng lặp phép toán:
Ví dụ: a
3
= a.a.a
o Và đơn vị e=a
0

o Một nhóm được gọi là xiclic nếu mọi phần tử đều là lũy thừa của một phần tử cố định nào đó.
Chẳng hạn b = a
k
đối với a cố định và mỗi b trong nhóm.
o Khi đó a được gọi là phần tử sinh của nhóm.
III.1.2 Vành
Cho một tập R các “số” với hai phép toán được gọi là cộng và nhân. Ở đây “số” được hiểu là phần tử
của tập hợp và hai phép toán trên xác định trên tập hợp đó. Tập với hai phép toán trên được gọi là
vành, nếu hai phép toán thoả mãn các tính chất sau

o Với phép cộng, R là nhóm Aben
o Với phép nhân, có
 tính đóng và
 tính kết hợp
 tính phân phối đối với phép cộng a(b+c) = ab + ac
Nếu phép nhân có tính giao hoán thì tạo thành vành giao hoán.
– 25 –
Do lần đầu biên soạn và chưa có nhiều kinh nghiệm tay nghề trong thực tiễn, nên không tránh khỏi nhữngsai sót và lỗi in ấn nhất định. Tác giả xin vui mừng tiếp đón mọi sự góp phần giúp cho giáotrình “ An toàn và bảo mật thông tin ” ngày càng tốt hơn. Mọi quan điểm kiến thiết xây dựng xin gửi vềtheo địa chỉ sau : Trần Văn Dũng, Khoa Công nghệ Thông tin, Đại học Giao thông Vận tải, Láng Thượng, Đống đa, Hà nội. – 2 – Giáo Trình An Toàn Và Bảo Mật Thông TinMỤC LỤCMở đầu 2CH ƯƠNG I 5T ỔNG QUAN VỀ BẢO MẬT 5I. 1 Giới thiệu chung về bảo mật thông tin 5I. 2 Dịch Vụ Thương Mại, chính sách, tiến công 7I. 3 Mô hình an toàn mạng 8I. 4 Bảo mật thông tin trong hệ cơ sở tài liệu 10CH ƯƠNG II 13M à CỔ ĐIỂN 13II. 1 Mã đối xứng 13II. 2 Các mã thế cổ xưa thay thế sửa chữa 15II. 3 Các mã thế cổ xưa hoán vị 21II. 4 Một số yếu tố khác 22CH ƯƠNG III 25TR ƯỜNG HỮU HẠN 25III. 1 Các cấu trúc đại số 25III. 2 Số học trên Modulo 26III. 3 Trường Galoa 29III. 4 Giới thiệu lý thuyết số 34CH ƯƠNG IV : 40CHU ẨN Mà DỮ LIỆU ( DES ) VÀ CHUẨN Mà NÂNG CAO ( AES ) 40IV. 1 Mã khối tân tiến 40IV. 2 Chuẩn mã dữ liệu ( DES ) 42IV. 3 Chuẩn mã nâng cao ( AES ) 50IV. 4 Các mã đối xứng đương thời 57IV. 5 Bảo mật dùng khoá đối xứng 62CH ƯƠNG V 66M à CÔNG KHAI VÀ QUẢN LÝ KHOÁ 66V. 1 Mã khoá công khai minh bạch 66 – 3 – Giáo Trình An Toàn Và Bảo Mật Thông TinV. 2 RSA 68V. 3 Quản lý khoá 71V. 4 Trao đổi khoá Diffie Hellman 74V. 5 Mã đường cong Elip 75CH ƯƠNG VI 80X ÁC THỰC MẪU TIN VÀ CÁC HÀM HASH 80VI. 1 Xác thực mẩu tin 80VI. 2 Các hàm Hash ( hay còn gọi là hàm băm ) 82VI. 3 Các thuật toán Hash và MAC 84VI. 4 Các ứng dụng xác nhận 93CH ƯƠNG VII 98AN TOÀN IP VÀ WEB 98VII. 1 An toàn IP 98VII. 2 An toàn Web 99VII. 3 Thanh toán điện tử an toàn 103VII. 4 An toàn thư điện tử 105CH ƯƠNG VIII 111K Ẻ XÂM NHẬP, PHẦN MỀM CÓ HẠI VÀ BỨC TƯỜNG LỬA 111VIII. 1 Kẻ xâm nhập 111VIII. 2 Phần mềm có hại 114VIII. 3 Tràn bộ đệm 118VIII. 4 Bức tường lửa 125DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 131T ÀI LIỆU THAM KHẢO 132PH Ụ LỤC 134 – 4 – Giáo Trình An Toàn Và Bảo Mật Thông TinCHƯƠNG ITỔNG QUAN VỀ BẢO MẬTI. 1 Giới thiệu chung về bảo mật thông tinI. 1.1 Mở đầu về bảo mật thông tinNgày nay với sự tăng trưởng bùng nổ của công nghệ thông tin, hầu hết những thông tin của doanh nghiệp nhưchiến lược kinh doanh thương mại, những thông tin về người mua, nhà sản xuất, kinh tế tài chính, mức lương nhân viên cấp dưới, … đềuđược tàng trữ trên mạng lưới hệ thống máy tính. Cùng với sự tăng trưởng của doanh nghiệp là những yên cầu ngày càngcao của môi trường tự nhiên kinh doanh thương mại nhu yếu doanh nghiệp cần phải san sẻ thông tin của mình cho nhiều đốitượng khác nhau qua Internet hay Intranet. Việc mất mát, rò rỉ thông tin hoàn toàn có thể ảnh hưởng tác động nghiêm trọngđến kinh tế tài chính, khét tiếng của công ty và quan hệ với người mua. Các phương pháp tiến công trải qua mạng ngày càng phức tạp, phức tạp hoàn toàn có thể dẫn đến mất mát thôngtin, thậm chí còn hoàn toàn có thể làm sụp đổ trọn vẹn mạng lưới hệ thống thông tin của doanh nghiệp. Vì vậy an toàn và bảo mậtthông tin là trách nhiệm rất nặng nề và khó đoán trước được, nhưng tựu trung lại gồm ba hướng chính sau : – Bảo đảm an toàn thông tin tại sever – Bảo đảm an toàn cho phía máy trạm – Bảo mật thông tin trên đường truyềnĐứng trước nhu yếu bảo mật thông tin, ngoài việc kiến thiết xây dựng những phương pháp bảo mật thông tin thì ngườita đã đưa ra những nguyên tắc về bảo vệ tài liệu như sau : – Nguyên tắc hợp pháp trong lúc tích lũy và giải quyết và xử lý tài liệu. – Nguyên tắc đúng đắn. – Nguyên tắc tương thích với mục tiêu. – Nguyên tắc phù hợp. – Nguyên tắc minh bạch. – Nguyên tắc được cùng quyết định hành động cho từng cá thể và bảo vệ quyền truy vấn cho người có liênquan. – Nguyên tắc không phân biệt đối xử. – Nguyên tắc an toàn. – Nguyên tắc có trách niệm trước pháp lý. – Nguyên tắc giám sát độc lập và hình phạt theo pháp lý. – Nguyên tắc mức bảo vệ tương ứng trong luân chuyển tài liệu xuyên biên giới. Ở đây tất cả chúng ta sẽ tập trung chuyên sâu xem xét những nhu yếu bảo mật an ninh và đề ra những giải pháp an toàn cũng như vậnhành những chính sách để đạt được những tiềm năng đó. Nhu cầu an toàn thông tin : • An toàn thông tin đã đổi khác rất nhiều trong thời hạn gần đây. Trước kia hầu hết chỉ có nhu cầubảo mật thông tin, nay yên cầu thêm nhiều nhu yếu mới như bảo mật an ninh sever và trên mạng. • Các chiêu thức truyền thống lịch sử được phân phối bởi những chính sách hành chính và phương tiện đi lại vật lý nhưnơi tàng trữ bảo vệ những tài liệu quan trọng và phân phối giấy phép được quyền sử dụng những tài liệumật đó. • Máy tính yên cầu những chiêu thức tự động hóa để bảo vệ những tệp và những thông tin tàng trữ. Nhu cầu bảomật rất lớn và rất phong phú, xuất hiện khắp mọi nơi, mọi lúc. Do đó không hề không đề ra những quitrình tự động hóa tương hỗ bảo vệ an toàn thông tin. • Việc sử dụng mạng và tiếp thị quảng cáo yên cầu phải có những phương tiện đi lại bảo vệ tài liệu khi truyền. Trong đó có cả những phương tiện đi lại ứng dụng và phần cứng, yên cầu có những điều tra và nghiên cứu mới đápứng những bài toán thực tiễn đặt ra. Các khái niệm : – 5 – Giáo Trình An Toàn Và Bảo Mật Thông Tin • An toàn máy tính : tập hợp những công cụ được phong cách thiết kế để bảo vệ tài liệu và chống hacker. • An toàn mạng : những phương tiện đi lại bảo vệ tài liệu khi truyền chúng. • An toàn Internet : những phương tiện đi lại bảo vệ tài liệu khi truyền chúng trên tập những mạng link vớinhau. Mục đích của môn học là tập trung chuyên sâu vào an toàn Internet gồm những phương tiện đi lại để bảo vệ, chống, phát hiện, và hiệu chỉnh những phá hoại an toàn khi truyền và tàng trữ thông tin. I. 1.2 Nguy cơ và mối đe dọa so với mạng lưới hệ thống thông tinCác tai hại so với mạng lưới hệ thống hoàn toàn có thể được phân loại thành tai hại vô tình hay cố ý, dữ thế chủ động hay thụđộng. – Hiểm họa vô tình : khi người dùng khởi động lại mạng lưới hệ thống ở chế độ đặc quyền, họ hoàn toàn có thể tùy ýchỉnh sửa mạng lưới hệ thống. Nhưng sau khi hoàn thành xong việc làm họ không chuyển mạng lưới hệ thống sang chế độthông thường, vô tình để kẻ xấu tận dụng. – Hiểm họa cố ý : như cố ý truy nhập mạng lưới hệ thống trái phép. – Hiểm họa thụ động : là mối đe dọa nhưng chưa hoặc không ảnh hưởng tác động trực tiếp lên mạng lưới hệ thống, như nghetrộm những gói tin trên đường truyền. – Hiểm họa dữ thế chủ động : là việc sửa đổi thông tin, đổi khác thực trạng hoặc hoạt động giải trí của mạng lưới hệ thống. Đối với mỗi mạng lưới hệ thống thông tin mối rình rập đe dọa và hậu quả tiềm ẩn là rất lớn, nó hoàn toàn có thể xuất phát từ nhữngnguyên nhân như sau : – Từ phía người sử dụng : xâm nhập phạm pháp, đánh cắp gia tài có giá trị – Trong kiến trúc mạng lưới hệ thống thông tin : tổ chức triển khai mạng lưới hệ thống kỹ thuật không có cấu trúc hoặc không đủmạnh để bảo vệ thông tin. – Ngay trong chủ trương bảo mật an toàn thông tin : không chấp hành những chuẩn an toàn, không xácđịnh rõ những quyền trong quản lý và vận hành mạng lưới hệ thống. – Thông tin trong mạng lưới hệ thống máy tính cũng sẽ dễ bị xâm nhập nếu không có công cụ quản trị, kiểm travà tinh chỉnh và điều khiển mạng lưới hệ thống. – Nguy cơ nằm ngay trong cấu trúc phần cứng của những thiết bị tin học và trong ứng dụng hệ thốngvà ứng dụng do hãng sản xuất cài sẵn những loại ‘ rệp ‘ điện tử theo ý đồ định trước, gọi là ‘ bom điệntử ‘. – Nguy hiểm nhất so với mạng máy tính mở là tin tặc, từ phía bọn tội phạm. I. 1.3 Phân loại tiến công phá hoại an toàn : – 6 – Giáo Trình An Toàn Và Bảo Mật Thông TinCác mạng lưới hệ thống trên mạng hoàn toàn có thể là đối tượng người dùng của nhiều kiểu tiến công : – Tấn công trá hình là một thực thể tiến công giả danh một thực thể khác. Tấn công trá hình thườngđược tích hợp với những dạng tiến công khác như tiến công chuyển tiếp và tiến công sửa đổi thông tin. – Tấn công chuyển tiếp xảy ra khi một thông tin, hoặc một phần thông tin được gửi nhiều lần, gâyra những ảnh hưởng tác động xấu đi. – Tấn công sửa đổi thông tin xảy ra khi nội dung của một thông tin bị sửa đổi nhưng không bị pháthiện. – Tấn công phủ nhận dịch vụ xảy ra khi một thực thể không thực thi công dụng của mình, gây cản trởcho những thực thể khác triển khai công dụng của chúng. – Tấn công từ bên trong mạng lưới hệ thống xảy ra khi người dùng hợp pháp cố ý hoặc vô ý can thiệp hệthống trái phép. Còn tiến công từ bên ngoài là nghe trộm, thu chặn, trá hình người dùng hợp phápvà vượt quyền hoặc lách qua những chính sách trấn áp truy nhập. • Tấn công bị động. Do thám, theo dõi đường truyền để : o nhận được nội dung bản tin hoặco theo dõi luồng truyền tin • Tấn công dữ thế chủ động. Thay đổi luồng tài liệu để : o trá hình một người nào đó. o lặp lại bản tin trướco đổi khác ban tin khi truyềno phủ nhận dịch vụ. I. 2 Thương Mại Dịch Vụ, chính sách, tiến công. Nhu cầu thực tiến dẫn đến sự thiết yếu có một giải pháp mạng lưới hệ thống xác lập những nhu yếu bảo mật an ninh của tổchức. Trong đó cần có tiếp cận tổng thể và toàn diện xét cả ba góc nhìn của an toàn thông tin : bảo vệ tiến công, cơ chếan toàn và dịch vụ an toàn. Sau đây tất cả chúng ta xét chúng theo trình tự ngược lại : I. 2.1 Các dịch vụ an toàn. Đây là công cụ bảo vệ an toàn của mạng lưới hệ thống giải quyết và xử lý thông tin và truyền thông tin trong tổ chức triển khai. Chúngđược thiết lập để chống lại những tiến công phá hoại. Có thể dùng một hay nhiều chính sách an toàn để cung cấpdịch vụ. – 7 – Giáo Trình An Toàn Và Bảo Mật Thông TinThông thường người ta cần phải tạo ra những link với những tài liệu vật lý : như có chữ ký, ngày tháng, bảovệ thiết yếu chống tò mò, sửa bậy, phá hoại, được công chứng, tận mắt chứng kiến, được ghi nhận hoặc có bảnquyền. I. 2.2 Các chính sách an toàn : Từ những việc làm thực tiễn để chống lại những phá hoại bảo mật an ninh, người ta đã mạng lưới hệ thống và sắp xếp lại tạo thànhcác chính sách bảo mật an ninh khác nhau. Đây là chính sách được phong cách thiết kế để phát hiện, bảo vệ hoặc Phục hồi do tấncông phá hoại. Không có chính sách đơn lẻ nào phân phối được mọi công dụng nhu yếu của công tác làm việc bảo mật an ninh. Tuy nhiên có mộtthành phần đặc biệt quan trọng nằm trong mọi chính sách an toàn đó là : kỹ thuật mã hoá. Do đó tất cả chúng ta sẽ dành một thờilượng nhất định tập trung chuyên sâu vào triết lý mã. I. 2.3 Tấn công phá hoại bảo mật an ninh : Ta xác lập rõ thế nào là những hành vi tiến công phá họai bảo mật an ninh. Đó là mọi hành vi chống lại sự antoàn thông tin của những tổ chức triển khai. An toàn thông tin là bàn về bằng cách nào chống lại tiến công vào mạng lưới hệ thống thông tin hoặc phát hiện rachúng. Trên trong thực tiễn có rất nhiều cách và nhiều kiểu tiến công khác nhau. Thường thuật ngữ đe doạ và tấncông được dùng như nhau. Cần tập trung chuyên sâu chống một số ít kiểu tiến công chính : thụ động và dữ thế chủ động. I. 3 Mô hình an toàn mạngI. 3.1 Kiến trúc an toàn của mạng lưới hệ thống truyền thông online mở OSI.Để giúp cho việc hoạch định chủ trương và kiến thiết xây dựng mạng lưới hệ thống bảo mật an ninh tốt. Bộ phận chuẩn hóa tiêu chuẩncủa tổ chức triển khai tiếp thị quảng cáo quốc tế ( International Telecommunication Union ) đã điều tra và nghiên cứu và đề ra Kiếntrúc bảo mật an ninh X800 dành cho mạng lưới hệ thống trao đổi thông tin mở OSI. Trong đó định nghĩa một cách hệ thốngphương pháp xác lập và phân phối những nhu yếu an toàn. Nó phân phối cho tất cả chúng ta một cách nhìn tổngquát, có ích về những khái niệm mà tất cả chúng ta nghiên cứu và điều tra. – 8 – Giáo Trình An Toàn Và Bảo Mật Thông TinTrước hết nói về dich vụ an toàn, X800 định nghĩa đây là dịch vụ cung ứng cho tầng giao thức của cáchệ thống mở trao đổi thông tin, mà bảo vệ an toàn thông tin thiết yếu cho mạng lưới hệ thống và cho việctruyền tài liệu. Trong tài liệu những thuật ngữ chuẩn trên Internet RFC 2828 đã nêu định nghĩa đơn cử hơn dich vụ antoàn là dịch vụ trao đổi và giải quyết và xử lý cung ứng cho mạng lưới hệ thống việc bảo vệ đặc biệt quan trọng cho những thông tinnguồn. Tài liệu X800 đưa ra định nghĩa dịch vụ theo 5 loại chính : – Xác thực : tin yêu là thực thể trao đổi đúng là cái đã công bố. Người đang trao đổi xưng tên vớimình đúng là anh ta, không được cho phép người khác mạo danh. – Quyền truy vấn : ngăn cấm việc sử dụng nguồn thông tin không đúng vai trò. Mỗi đối tượng người tiêu dùng tronghệ thống được cung ứng những quyền hạn nhất định và chỉ được hành vi trong khuôn khổ cácquyền hạn đó. – Bảo mật tài liệu : bảo vệ tài liệu không bị tò mò bởi người không có quyền. Chẳng hạn nhưdùng những ký hiệu khác để thay thế sửa chữa những ký hiệu trong bản tin, mà chỉ người có bản quyền mới có thểkhôi phục nguyên bản của nó. – Toàn vẹn tài liệu : tin cậy là tài liệu được gửi từ người có quyền. Nếu có đổi khác như làm trìhoãn về mặt thời hạn hay sửa đổi thông tin, thì xác nhận sẽ cho cách kiểm tra phân biệt là có cáchiện tượng đó đã xảy ra. – Không phủ nhận : chống lại việc chối bỏ của một trong những bên tham gia trao đổi. Người gửi cũngkhông trối bỏ là mình đã gửi thông tin với nội dung như vậy và người nhận không hề nói dối là tôichưa nhận được thông tin đó. Điều này là rất thiết yếu trong việc trao đổi, thỏa thuận hợp tác thông tinhàng ngày. Cơ chế an toàn được định nghĩa trong X800 như sau : – Cơ chế an toàn chuyên sử dụng được setup trong một giao thức của một tầng luân chuyển nào đó : mã hoá, chữ ký điện tử, quyền truy vấn, toàn vẹn tài liệu, trao đổi có phép, đệm truyền, kiểm soátđịnh hướng, công chứng. – Cơ chế an toàn phổ dụng không chỉ rõ được dùng cho giao thức trên tầng nào hoặc dịch vụ anninh đơn cử nào : công dụng an toàn và đáng tin cậy cho một tiêu chuẩn nào đó, nhãn an toàn chứng tỏ đối tượng người tiêu dùng cótính chất nhất định, phát hiện sự kiện, vết theo dõi an toàn, Phục hồi an toàn. I. 3.2 Mô hình an toàn mạng tổng quátSử dụng quy mô trên yên cầu tất cả chúng ta phải phong cách thiết kế : o thuật toán tương thích cho việc truyền an toàn. o Phát sinh những thông tin mật ( khoá ) được sử dụng bởi những thuật toán. o Phát triển những chiêu thức phân phối và san sẻ những thông tin mật. o đặc tả giao thức cho những bên để sử dụng việc truyền và thông tin mật cho những dịch vụ antoàn. Mô hình truy vấn mạng an toàn : – 9 – Giáo Trình An Toàn Và Bảo Mật Thông TinSử dụng quy mô trên yên cầu tất cả chúng ta phải : o Lựa chọn hàm canh cổng tương thích cho người sử dụng có danh tính. o Cài đặt trấn áp quyền truy vấn để tin cậy rằng chỉ có người có quyền mới truy cậpđược thông tin đích hoặc nguồn. o Các mạng lưới hệ thống máy tính an toàn và đáng tin cậy hoàn toàn có thể dùng quy mô này. I. 4 Bảo mật thông tin trong hệ cơ sở dữ liệuI. 4.1 Giới thiệu chungCác hệ cơ sở tài liệu ( CSDL ) ngày này như Oracle, SQL / Server, DB2 / Informix đều có sẵn cáccông cụ bảo vệ tiêu chuẩn như mạng lưới hệ thống định danh và trấn áp truy xuất. Tuy nhiên, những giải pháp bảo vệnày phần nhiều không có tính năng trước những tiến công từ bên trong. Để bảo vệ thông tin khỏi mối rình rập đe dọa này, người ta đưa ra hai giải pháp. Giải pháp đơn thuần nhất bảo vệ tài liệu trong CSDL ở mức độ tập tin, chống lại sự truy vấn trái phép vàocác tập tin CSDL bằng hình thức mã hóa. Tuy nhiên, giải pháp này không cung ứng mức độ bảo mật truycập đến CSDL ở mức độ bảng, cột và dòng. Một điểm yếu nữa của giải pháp này là bất kỳ ai với quyềntruy xuất CSDL đều hoàn toàn có thể truy vấn vào toàn bộ tài liệu trong CSDL cũng có nghĩa là được cho phép những đốitượng với quyền quản trị truy vấn tổng thể những tài liệu nhạy cảm. Giải pháp thứ hai, xử lý yếu tố mã hóa ở mức ứng dụng. Giải pháp này giải quyết và xử lý mã hóa dữ liệu trướckhi truyền tài liệu vào CSDL. Những yếu tố về quản trị khóa và quyền truy vấn được tương hỗ bởi ứng dụng. Truy vấn tài liệu đến CSDL sẽ trả tác dụng tài liệu ở dạng mã hóa và tài liệu này sẽ được giải thuật bởi ứngdụng. Giải pháp này xử lý được yếu tố phân tách quyền an toàn và tương hỗ những chủ trương an toàn dựatrên vai trò. I. 4.2 Một số quy mô bảo mật cơ sở dữ liệuĐể phân phối những nhu yếu về bảo mật cho những mạng lưới hệ thống CSDL hiện tại và sau này người ta đưa ra 2 môhình bảo mật CSDL thường thì sau đâyXây dựng tầng CSDL trung gian : Một CSDL trung gian được kiến thiết xây dựng giữa ứng dụng và CSDL gốc. CSDL trung gian này có vai trò mãhóa tài liệu trước khi update vào CSDL gốc, đồng thời giải thuật tài liệu trước khi cung ứng cho ứng dụng. – 10 – Giáo Trình An Toàn Và Bảo Mật Thông TinCSDL trung gian đồng thời phân phối thêm những tính năng quản trị khóa, xác nhận người dùng và cấp phéptruy cập. Giải pháp này được cho phép tạo thêm nhiều công dụng về bảo mật cho CSDL. Tuy nhiên, quy mô CSDL trunggian yên cầu thiết kế xây dựng một ứng dụng CSDL tái tạo tổng thể những tính năng của CSDL gốc. Mô hình trung gianSử dụng chính sách sẵn có trong CSDLMô hình này xử lý những yếu tố mã hóa cột dựa trên những chính sách sau : a. Các hàm Stored Procedure trong CSDL cho công dụng mã hóa và giải mãb. Sử dụng chính sách View trong CSDL tạo những bảng ảo, sửa chữa thay thế những bảng thật đã được mã hóa. c. Cơ chế “ instead of ” trigger được sử dụng nhằm mục đích tự động hóa quy trình mã hóa từ View đến bảng gốc. Trong quy mô này, tài liệu trong những bảng gốc sẽ được mã hóa, tên của bảng gốc được đổi khác. Một bảngảo được tạo ra mang tên của bảng gốc, ứng dụng sẽ truy vấn đến bảng ảo này. Truy xuất tài liệu trong quy mô này hoàn toàn có thể được tóm tắt như sau : – 11 – Giáo Trình An Toàn Và Bảo Mật Thông TinMô hình bảng ảoCác truy xuất tài liệu đến bảng gốc sẽ được sửa chữa thay thế bằng truy xuất đến bảng ảo. Bảng ảo được tạo ra để mô phỏng tài liệu trong bảng gốc. Khi thực thi lệnh “ select ”, tài liệu sẽ được giảimã cho bảng ảo từ bảng gốc ( đã được mã hóa ). Khi thực thi lệnh “ Insert, Update ”, “ instead of ” trigger sẽđược thi hành và mã hóa dữ liệu xuống bảng gốc. Quản lý phân quyền truy vấn đến những cột sẽ được quản trị ở những bảng ảo. Ngoài những quyền cơ bản doCSDL phân phối, hai quyền truy vấn mới được định nghĩa : 1. Người sử dụng chỉ được quyền đọc tài liệu ở dạng mã hóa. Quyền này tương thích với những đối tượngcần quản trị CSDL mà không cần đọc nội dung tài liệu. 2. Người sử dụng được quyền đọc tài liệu ở dạng giải thuật. I. 4.3 Sơ lược kiến trúc của 1 hệ bảo mật CSDLTriggers : những trigger được sử dụng để lấy tài liệu đến từ những câu lệnh INSERT, UPDATE ( để mã hóa ). Views : những view được sử dụng để lấy tài liệu đến từ những câu lệnh SELECT ( để giải thuật ). Extended Stored Procedures : được gọi từ những Trigger hoặc View dùng để kích hoạt những dịch vụ được cungcấp bởi Modulo DBPEM từ trong thiên nhiên và môi trường của hệ quản tri CSDL.DBPEM ( Database Policy Enforcing Modulo ) : cung ứng những dịch vụ mã hóa / giải thuật tài liệu gửi đến từcác Extended Stored Procedures và thực thi việc kiểm tra quyền truy xuất của người dùng ( dựa trên cácchính sách bảo mật được tàng trữ trong CSDL về quyền bảo mật ). Kiến trúc một hệ bảo mật CSDLSecurity Database : tàng trữ những chủ trương bảo mật và những khóa giải thuật. Xu hướng thời nay thường là lưutrữ CSDL về bảo mật này trong Active Directory ( một CSDL dạng thư mục để tàng trữ toàn bộ thông tin vềhệ thống mạng ). Security Services : hầu hết thực thi việc bảo vệ những khóa giải thuật được lưu trong CSDL bảo mật. Management Console : dùng để update thông tin lưu trong CSDL bảo mật ( hầu hết là soạn thảo cácchính sách bảo mật ) và thực thi thao tác bảo vệ một trường nào đó trong CSDL để bảo vệ tối đa tínhbảo mật, thông tin được trao đổi. – 12 – Giáo Trình An Toàn Và Bảo Mật Thông TinCHƯƠNG IIMà CỔ ĐIỂNMã hoá cổ xưa là chiêu thức mã hoá đơn thuần nhất Open tiên phong trong lịch sử dân tộc ngành mã hoá. Thuật toán đơn thuần và dễ hiểu. Những giải pháp mã hoá này là cở sở cho việc nghiên cứu và điều tra và pháttriển thuật toán mã hoá đối xứng được sử dụng thời nay. Trong mã hoá cổ xưa có hai chiêu thức nổibật đó là : – Mã hoá thay thế sửa chữa – Mã hoá hoán vịMọi mã cổ xưa đều là mã đối xứng mà tất cả chúng ta sẽ xét trong phần sau. II. 1 Mã đối xứng. II. 1.1 Các khái niệm cơ bảnMật mã đối xứng sử dụng cùng một khóa cho việc mã hóa và giải thuật. Có thể nói mã đối xứng là mã mộtkhoá hay mã khóa riêng hay mã khoá thỏa thuận hợp tác. Ở đây người gửi và người nhận san sẻ khoá chung K, mà họ hoàn toàn có thể trao đổi bí hiểm với nhau. Ta xét haihàm ngược nhau : E là hàm biến hóa bản rõ thành bản mã và D là hàm đổi khác bản mã trở về bản rõ. Giảsử X là văn bản cần mã hóa và Y là dạng văn bản đã được biến hóa qua việc mã hóa. Khi đó ta ký hiệu : Y = E ( X ) X = D ( Y ) Mọi thuật toán mã cổ xưa đều là mã khoá đối xứng, vì ở đó thông tin về khóa được san sẻ giữa ngườigửi và người nhận. Mã đối xứng là kiểu duy nhất trước khi ý tưởng ra khoá mã công khai minh bạch ( còn được gọilà mã không đối xứng ) vào những năm 1970. Hiện nay những mã đối xứng và công khai minh bạch liên tục tăng trưởng vàhoàn thiện. Mã công khai minh bạch sinh ra tương hỗ mã đối xứng chứ không thay thế sửa chữa nó, do đó mã đối xứng đến nayvẫn được sử dụng thoáng đãng. Sau đây ta đưa ra định nghĩa một số ít khái niệm cơ bản về mã hóa. 1. Bản rõ X được gọi là là bản tin gốc. Bản rõ hoàn toàn có thể được chia nhỏ có size tương thích. 2. Bản mã Y là bản tin gốc đã được mã hoá. Ở đây ta thường xét giải pháp mã hóa mà không làmthay đổi kích 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 tất cả chúng ta cần thuật toán mã hóamạnh, mặc dầu quân địch 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 phân biệt. Khóa là độc lậpvới bản rõ và có độ dài tương thích với nhu yếu bảo mật. 5. Mã hoá là quy trình chuyển bản rõ thành bản mã, thường thì gồm có việc vận dụng thuật toánmã hóa và một số ít quy trình giải quyết và xử lý thông tin kèm theo. 6. Giải mã chuyển bản mã thành bản rõ, đây là quy 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à điều tra về những nguyên tắc vàphương pháp mã hoá. Hiện nay người ta đưa ra nhiều chuẩn an toàn cho những nghành nghề dịch vụ khác nhaucủa công nghệ thông tin. 8. Thám mã điều tra và nghiên cứu những nguyên tắc và giải pháp giải thuật mà không biết khoá. Thông thườngkhi đưa những mã mạnh ra làm chuẩn dùng chung giữa những người sử dụng, những mã đó được những kẻthám mã cũng như những người tăng trưởng mã tìm hiểu và khám phá điều tra và nghiên cứu những giải pháp giải một phầnbản mã với những thông tin không vừa đủ. 9. Lý thuyết mã gồm có cả mật mã và thám mã. Nó là một thể thống nhất, để nhìn nhận một mãmạnh hay không, đều phải xét từ cả hai góc nhìn đó. Các nhà khoa học mong ước tìm ra những môhình mã hóa khái quát cao cung ứng nhiều chủ trương an toàn khác nhau. – 13 – Giáo Trình An Toàn Và Bảo Mật Thông TinMô hình mã đối xứngII. 1.2 Các nhu yếu. Một mã đối xứng có những đặc trưng là cách giải quyết và xử lý thông tin của thuật toán mã, giải thuật, ảnh hưởng tác động của khóavào bản mã, độ dài của khóa. Mối liên hệ giữa bản rõ, khóa và bản mã càng phức tạp càng tốt, nếu tốc độtính toán là đồng ý được. Cụ thể hai nhu yếu để sử dụng an toàn mã khoá đối xứng là1. Thuật toán mã hoá mạnh. Có cơ sở toán học vững chãi bảo vệ rằng mặc dầu công khai minh bạch thuật toán, mọi người đều biết, nhưng việc thám mã là rất khó khăn vất vả và phức tạp nếu không biết khóa. 2. Khoá mật chỉ có người gửi và người nhận ra. Có kênh an toàn để phân phối khoá giữa những ngườisử dụng san sẻ khóa. Mối liên hệ giữa khóa và bản mã là không nhận ra được. II. 1.3 Mật mãHệ mật mã được đặc trưng bởi những yếu tố sau – Kiểu của thao tác mã hoá được sử dụng trên bản rõ : 1. Phép thế – sửa chữa thay thế những ký tự trên bản rõ bằng những ký tự khác2. Hoán vị – đổi khác vị trí những ký tự trong bản rõ, tức là thực thi hoán vị những ký tự của bảnrõ. 3. Tích của chúng, tức là phối hợp cả hai kiểu thay thế sửa chữa và hoán vị những ký tự của bản rõ. – Số khoá được sử dụng khi mã hóa : một khoá duy nhất – khoá riêng hoặc hai khoá – khoá công khai minh bạch. Ngoài ra còn xem xét số khóa được dùng có nhiều không. – Một đặc trưng của mã nữa là cách mà bản rõ được giải quyết và xử lý, theo : 1. Khối – tài liệu được chia thành từng khối có kích cỡ xác lập và vận dụng thuật toán mãhóa với tham số khóa cho từng khối. 2. Dòng – từng thành phần đầu vào được giải quyết và xử lý liên tục tạo thành phần đầu ra tương ứng. II. 1.4 Thám mã. Có hai cách tiếp cận tiến công mã đối xứng. 1. Tấn công thám mã dựa trên thuật toán và 1 số ít thông tin về những đặc trưng chung về bản rõhoặc một số ít mẫu bản rõ / bản mã. Kiểu tiến công này nhằm mục đích khám phá những đặc trưng của thuậttoán để tìm bản rõ đơn cử hoặc tìm khóa. Nếu tìm được khóa thì là tai ương lớn. 2. Tấn công duyệt hàng loạt : kẻ tiến công tìm cách thử mọi khóa hoàn toàn có thể trên bản mã cho đến khinhận được bản rõ. Trung bình cần phải thử 50% số khóa mới tìm được. Các kiểu tiến công thám mã. – Chỉ dùng bản mã : biết thuật toán và bản mã, dùng chiêu thức thống kê, xác lập bản rõ. – Biết bản rõ : biết thuật toán, biết được bản mã / bản rõ tiến công tìm khóa. – 14 – Giáo Trình An Toàn Và Bảo Mật Thông Tin – Chọn bản rõ : chọn bản rõ và nhận được bản mã, biết thuật toán tiến công tìm khóa. – Chọn bản mã : chọn bản mã và có được bản rõ tương ứng, biết thuật toán tiến công tìm khóa. – Chọn bản tin : chọn được bản rõ hoặc mã và mã hoặc giải thuật tuơng ứng, tiến công tìm khóa. II. 1.5 Tìm duyệt toàn diện và tổng thể ( Brute-Force ) Về mặt triết lý giải pháp duyệt tổng thể và toàn diện là luôn thực thi được, do hoàn toàn có thể thực thi thử từng khoá, mà số khoá là hữu hạn. Phần lớn công sức của con người của những tiến công đều tỷ suất thuận với size khoá. Khóacàng dài thời hạn tìm kiếm càng lâu và thường tăng theo hàm mũ. Ta hoàn toàn có thể giả thiết là kẻ thám mã có thểdựa vào toàn cảnh để biết hoặc phân biệt được bản rõ. Sau đây là 1 số ít thống kê về mối liên hệ giữa độ dài khóa, size khoảng trống khóa, vận tốc giải quyết và xử lý vàthời gian tìm duyệt toàn diện và tổng thể. Chúng ta nhận thấy với độ dài khóa từ 128 bit trở lên, thời hạn nhu yếu là rấtlớn, lên đến hàng tỷ năm, như vậy hoàn toàn có thể coi chiêu thức duyệt toàn diện và tổng thể là không hiện thực. II. 1.6 Độ an toàn. Có thể phân lọai an toàn thành hai kiểu như sau : – An toàn không điều kiện kèm theo : ở đây không quan trọng máy tính mạnh như thế nào, hoàn toàn có thể thực thi đượcbao nhiêu phép toán trong một giây, mã hoá không hề bị bẻ, vì bản mã không phân phối đủ thông tinđể xác lập duy nhất bản rõ. Việc dùng bộ đệm ngẫu nhiên một lần để mã dòng cho tài liệu mà ta sẽxét cuối bài này được coi là an toàn không điều kiện kèm theo. Ngoài ra chưa có thuật toán mã hóa nào được coilà an toàn không điều kiện kèm theo. – An toàn thống kê giám sát : với nguồn lực máy tính số lượng giới hạn và thời hạn hạn chế ( ví dụ điển hình thời hạn tính toánkhông quá tuổi của ngoài hành tinh ) mã hoá coi như không hề bị bẻ. Trong trường hợp này coi như mã hóa antoàn về mặt giám sát. Nói chung từ nay về sau, một thuật toán mã hóa an toàn đo lường và thống kê được coi là antoàn. II. 2 Các mã thế cổ xưa thay thếCó hai loại mã cổ xưa là mã sửa chữa thay thế và mã hoán vị ( hay còn gọi là di dời ). Mã sửa chữa thay thế là chiêu thức mà từng kí tự ( nhóm kí tự ) trong bản rõ được sửa chữa thay thế bằng một kí tự ( mộtnhóm kí tự ) khác để tạo ra bản mã. Bên nhận chỉ cần sửa chữa thay thế ngược lại trên bản mã để có được bản rõ banđầu. – 15 – Giáo Trình An Toàn Và Bảo Mật Thông TinTrong giải pháp mã hoán vị, những kí tự trong bản rõ vẫn được giữ nguyên, chúng chỉ được sắp xếp lạivị trí để tạo ra bản mã. Tức là những kí tự trong bản rõ trọn vẹn không bị biến hóa bằng kí tự khác mà chỉđảo chỗ của chúng để tạo thành bản mã. Trước hết ta xét những mã cổ xưa sử dụng phép thay thế sửa chữa những chữ của bản rõ bằng những chữ khác của bảng chữđể tạo thành bản mã. – Ở đây những chữ của bản rõ được thay bằng những chữ hoặc những số hoặc những ký tự khác. – Hoặc nếu xem bản rõ như môt dãy bít, thì phép thế thay những mẫu bít bản rõ bằng những mẫu bít bản mã. II. 2.1 Mã CeasarĐây là mã thế được biết sớm nhất, được phát minh sáng tạo bởi Julius Ceasar. Lần tiên phong được sử dụng trong quânsự. Việc mã hoá được triển khai đơn thuần là thay mỗi chữ trong bản rõ bằng chữ thứ ba tiếp theo trongbảng vần âm. • Ví dụ : o Meet me after the toga partyo PHHW PH DIWHU WKH WRJD SDUWBỞ đây thay chữ m bằng chữ đứng thứ 3 sau m là p ( m, n, o, p ) ; thay chữ e bằng chữ đứng thứ 3 sau e là h ( e, f, g, h ). • Có thể định nghĩa việc mã hoá trên qua ánh xạ trên bảng vần âm sau : những chữ ở dòng dưới là mãcủa những chữ tương ứng ở dòng trên : 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 zD E F G H I J K L M N O P Q R S T U V W X Y Z A B C • Về toán học, nếu ta gán số thứ tự cho mỗi chữ trong bảng vần âm. Các chữ ở dòng trên có số thứtự tương ứng là số ở dòng dưới : a b c d e f g h i j k l m0 1 2 3 4 5 6 7 8 9 10 11 12 n o p q r s t u v w x y z13 14 15 16 17 18 19 20 21 22 23 24 25 thì mã Ceasar được định nghĩa qua phép tịnh tiến những chữ như sau : c = E ( p ) = ( p + k ) mod ( 26 ) p = D ( c ) = ( c – k ) mod ( 26 ) Ở đây, p là số thứ tự của chữ trong bản rõ và c là số thứ tự của chữ tương ứng của bản mã ; k làkhoá của mã Ceasar. Có 26 giá trị khác nhau của k, nên có 26 khoá khác nhau. Thực tế độ dài khoáở đây chỉ là 1, vì mọi chữ đều tịnh tiến đi một khoảng chừng như nhau. • Thám mã Ceasarlà việc làm đơn thuần, do số khoá hoàn toàn có thể có là rất ít. Chỉ có 26 khoá hoàn toàn có thể, vì A chỉ hoàn toàn có thể ánh xạ vào một trong số 26 vần âm của bảng vần âm tiếngAnh : A, B, C, … Các chữ khác sẽ được xác lập bằng số bước tịnh tiến tương ứng của A. Kẻ thámmã hoàn toàn có thể thử lần lượt từng khoá một, tức là sử dụng giải pháp tìm duyệt toàn diện và tổng thể. Vì số khoáít nên việc tìm duyệt là khả thi. Cho trước bản mã, thử 26 cách di dời khác nhau, ta sẽ đoánnhận trải qua nội dung những bản rõ nhận được. Ví dụ. Bẻ bản mã ” GCUA VQ DTGCM ” bằng cách thử những phép tịnh tiến khác nhau của bảng chữ, tachọn được bước tịnh tiến thích hợp là 24 và cho bản rõ là ” easy to break “. – 16 – Giáo Trình An Toàn Và Bảo Mật Thông TinII. 2.2 Các mã bảng chữ đơnBây giờ ta khắc phục điểm yếu kém của mã Ceasar bằng cách mã hoá những chữ không chỉ là dịch chuyểnbảng chữ, mà hoàn toàn có thể tạo ra những bước nhảy khác nhau cho những chữ. Trong một mã mỗi chữ của bản rõ đượcánh xạ đến một chữ khác nhau của bản mã. Do đó mỗi cách mã như vậy sẽ tương ứng với một hoán vị củabảng chữ và hoán vị đó chính là khoá của mã đã cho. Như vậy độ dài khoá ở đây là 26 và số khoá có thểcó là 26 !. Số khoá như vậy là rất lớn. Ví dụ. Ta có bản mã tương ứng với bản rõ trong mã bảng chữ đơn như sau : Plain : abcdefghijklmnopqrstuvwxyzCipher : DKVQFIBJWPESCXHTMYAUOLRGZNPlaintext : ifwewishtoreplacelettersCiphertext : WIRFRWAJUHYFTSDVFSFUUFYA – Tính an toàn của mã trên bảng chữ đơn. Tổng cộng có 26 ! giao động khoảng chừng 4 x 1026 khoá. Với khánhiều khoá như vậy nhiều người nghĩ là mã trên bảng chữ đơn sẽ an toàn. Nhưng không phải như vậy. Vấn đề ở đây là do những đặc trưng về ngôn từ. Tuy có số lượng khoá lớn, nhưng do những đặc trưng vềtần suất Open của những chữ trong bản rõ và những chữ tương ứng trong bản mã là như nhau, nên kẻthám mã hoàn toàn có thể đoán được ánh xạ của một số ít chữ và từ đó mò tìm ra chữ mã cho những chữ khác. Ta sẽxét góc nhìn này đơn cử trong mục sau. – Tính dư thừa của ngôn từ và thám mã. Ngôn ngữ của loài người là dư thừa. Có một số ít chữ hoặc cáccặp chữ hoặc bộ ba chữ được dùng tiếp tục hơn những bộ chữ cùng độ dài khác. Chẳng hạn nhưcác bộ chữ sau đây trong tiếng Anh ” th lrd s m shphrd shll nt wnt “. Tóm lại trong nhiều ngôn từ cácchữ không được sử dụng liên tục như nhau. Trong tiếng Anh chữ E được sử dụng nhiều nhất ; sau đó đến những chữ T, R, N, I, O, A, S. Một số chữ rất ít dùng như : Z, J, K, Q., X. Bằng phương phápthống kê, ta hoàn toàn có thể kiến thiết xây dựng những bảng những tần suất những chữ đơn, cặp chữ, bộ ba chữ. Bảng tần suất vần âm tiếng Anh : • Sử dụng bảng tần suất vào việc thám mãĐiều quan trọng là mã thế trên bảng chữ đơn không làm đổi khác tần suất tương đối của những chữ, có nghĩa là ta vẫn có bảng tần suất trên nhưng so với bảng chữ mã tương ứng. Điều đó được pháthiện bởi những nhà khoa học Ai cập từ thế kỷ thứ 9. Do đó có cách thám mã trên bảng chữ đơn nhưsau : – Tính toán tần suất của những chữ trong bản mã – So sánh với những giá trị đã biết – 17 – Giáo Trình An Toàn Và Bảo Mật Thông Tin – Tìm kiếm những chữ đơn hay dùng A-I-E, bộ đôi NO và bộ ba RST ; và những bộ ít dùng JK, X-Z – Trên bảng chữ đơn cần xác lập những chữ dùng những bảng bộ đôi và bộ ba trợ giúp. Ví dụ. Thám mã bản mã trên bảng chữ đơn, cho bản mã : UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOUDTMOHMQ – Tính tần suất những chữ – Đoán P và Z là e và t. – Khi đó ZW là th và ZWP là the. – Suy luận liên tục ta có bản rõ : it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives in moscowII. 2.3 Mã PlayfairNhư tất cả chúng ta đã thấy không phải số khoá lớn trong mã bảng chữ đơn bảo vệ an toàn mã. Một trong cáchướng khắc phục là mã bộ những chữ, tức là mỗi chữ sẽ được mã bằng 1 số ít chữ khác nhau tùy thuộc vàocác chữ mà nó đứng cạnh. Playfair là một trong những mã như vậy, được phát minh sáng tạo bởi Charles Wheastonevào năm 1854 và mang tên người bạn là Baron Playfair. Ở đây mỗi chữ hoàn toàn có thể được mã bằng một trong 7 chữ khác nhau tùy vào chữ cặp đôi cùng nó trong bản rõ. Ma trận khoá Playfair. Cho trước một từ làm khoá, với điều kiện kèm theo trong từ khoá đó không có vần âm nào bịlặp. Ta lập ma trận Playfair là ma trận cỡ 5 x 5 dựa trên từ khoá đã cho và gồm những chữ trên bảng vần âm, được sắp xếp theo thứ tự như sau : – Trước hết viết những chữ của từ khoá vào những hàng của ma trận bắt từ hàng thứ nhất. – Nếu ma trận còn trống, viết những chữ khác trên bảng vần âm chưa được sử dụng vào những ô còn lại. Có thể viết theo một trình tự qui ước trước, ví dụ điển hình từ đầu bảng vần âm cho đến cuối. – Vì có 26 vần âm tiếng Anh, nên thiếu một ô. Thông thuờng ta dồn hai chữ nào đó vào một ôchung, ví dụ điển hình I và J. – Giả sử sử dụng từ khoá MORNACHY. Lập ma trận khoá Playfair tương ứng như sau : MONARCHYBDEFGIKLPQSTUVWXZMã hoá và giải thuật : bản rõ được mã hoá 2 chữ cùng một lúc theo qui tắc như sau : – Chia bản rõ thành từng cặp chữ. Nếu một cặp nào đó có hai chữ như nhau, thì ta chèn thêm mộtchữ lọc ví dụ điển hình X. Ví dụ, trước khi mã “ balloon ” biến hóa thành “ ba lx lo on ”. – Nếu cả hai chữ trong cặp đều rơi vào cùng một hàng, thì mã mỗi chữ bằng chữ ở phía bên phải nótrong cùng hàng của ma trận khóa ( cuộn vòng quanh từ cuối về đầu ), ví dụ điển hình “ ar ” biến đổithành “ RM ” – Nếu cả hai chữ trong cặp đều rơi vào cùng một cột, thì mã mỗi chữ bằng chữ ở phía bên dưới nótrong cùng cột của ma trận khóa ( cuộn vòng quanh từ cuối về đầu ), ví dụ điển hình “ mu ” biến đổithành “ CM ” – Trong những trường hợp khác, mỗi chữ trong cặp được mã bởi chữ cùng hàng với nó và cùng cộtvới chữ cùng cặp với nó trong ma trận khóa. Chẳng hạn, “ hs ” mã thành “ BP ”, và “ ea ” mã thành “ IM ” hoặc “ JM ” ( tuỳ theo sở trường thích nghi ) An toàn của mã Playfair : – 18 – Giáo Trình An Toàn Và Bảo Mật Thông Tin – An toàn được nâng cao so hơn với bảng đơn, vì ta có tổng số 26 x 26 = 676 cặp. Mỗi chữ cóthể được mã bằng 7 chữ khác nhau, nên tần suất những chữ trên bản mã khác tần suất của những chữ cáitrên văn bản tiếng Anh nói chung. – Muốn sử dụng thống kê tần suất, cần phải có bảng tần suất của 676 cặp để thám mã ( so với 26 của mã bảng đơn ). Như vậy phải xem xét nhiều trường hợp hơn và tương ứng sẽ hoàn toàn có thể có nhiềubản mã hơn cần lựa chọn. Do đó khó thám mã hơn mã trên bảng chữ đơn. – Mã Playfair được sử dụng thoáng đãng nhiều năm trong giới quân sự chiến lược Mỹ và Anh trong chiến tranhthế giới thứ 1. Nó hoàn toàn có thể bị bẻ khoá nếu cho trước vài trăm chữ, vì bản mã vẫn còn chứa nhiều cấutrúc của bản rõ. II. 2.4 Các mã đa bảngMột hướng khác làm tăng độ an toàn cho mã trên bảng chữ là sử dụng nhiều bảng chữ để mã. Ta sẽ gọichúng là những mã thế đa bảng. Ở đây mỗi chữ hoàn toàn có thể được mã bằng bất kể chữ nào trong bản mã tùy thuộcvào ngữ cảnh khi mã hoá. Làm như vậy để trải bằng tần suất những chữ Open trong bản mã. Do đó làmmất bớt cấu trúc của bản rõ được bộc lộ trên bản mã và làm cho thám mã đa bảng khó hơn. Ta sử dụngtừ khoá để chỉ rõ chọn bảng nào được dùng cho từng chữ trong bản tin. Sử dụng lần lượt những bảng theo từkhóa đó và lặp lại từ đầu sau khi kết thúc từ khoá. Độ dài khoá là chu kỳ luân hồi lặp của những bảng chữ. Độ dàicàng lớn và nhiều chữ khác nhau được sử dụng trong từ khoá thì càng khó thám mã. II. 2.5 Mã VigenereMã thế đa bảng đơn thuần nhất là mã Vigenere. Thực chất quy trình mã hoá Vigenere là việc tiếh hànhđồng thời dùng nhiều mã Ceasar cùng một lúc trên bản rõ với nhiều khoá khác nhau. Khoá cho mỗi chữdùng để mã nhờ vào vào vị trí của chữ đó trong bản rõ và được lấy trong từ khoá theo thứ tự tương ứng. Giả sử khoá là một chữ có độ dài d được viết dạng K = K … K, trong đó Knhận giá trị nguyên từ 0 đến 25. Khi đó ta chia bản rõ thành những khối gồm d chữ. Mỗi chữ thứ i trong khối chỉ định dùng bảng chữthứ i với tịnh tiến là Kgiống như trong mã Ceasar. Trên thực tiễn khi mã ta hoàn toàn có thể sử dụng lần lượt những bảngchữ và lặp lại từ đầu sau d chữ của bản rõ. Vì có nhiều bảng chữ khac nhau, nên cùng một chữ ở những vị tríkhác nhau sẽ có những bước nhảy khác nhau, làm cho tần suất những chữ trong bản mã dãn tương đối đều. Giải mã đơn thuần là quy trình làm ngược lại. Nghĩa là dùng bản mã và từ khoá với những bảng chữ tươngứng, nhưng với mỗi chữ sử dụng bước nhảy lui lại về đầu. Ví dụ : Để sử dụng mã Vigenere với từ khóa và bản rõ cho trước ta hoàn toàn có thể làm như sau : – Viết bản rõ ra – Viết từ khoá lặp nhiều lần phía trên tương ứng của nó – Sử dụng mỗi chữ của từ khoá như khoá của mã Ceasar – Mã chữ tương ứng của bản rõ với bước nhảy tương ứng. – Chẳng hạn sử dụng từ khoá deceptivekey : deceptivedeceptivedeceptiveplaintext : wearediscoveredsaveyourselfciphertext : ZICVTWQNGRZGVTWAVZHCQYGLĐể mã chữ w tiên phong ta tìm chữ đầu của khóa là d, như vậy w sẽ được mã trên bảng chữ tịnh tiến 3 ( tức làa tịnh tiến vào d ). Do đó chữ đầu w được mã bởi chữ Z. Chữ thứ hai trong từ khóa là e, có nghĩa là chữthứ hai trong bản rõ sẽ được tịnh tiến 4 ( từ a tịnh tiến đến e ). Như vậy thứ hai trong bản rõ e sẽ được mãbởi chữ I. Tương tự như vậy cho đến hết bản rõ. Trên trong thực tiễn để tương hỗ mã Vigenere, người ta đã tạo ra trang Saint – Cyr để trợ giúp cho việc mã và giảimã thủ công bằng tay. Đó là một bảng cỡ 26 x 26 có tên tương ứng là những vần âm trong bảng chữ tiếng Anh. Hàngthứ i là tịnh tiến i chữ của bảng chứ cái. Khi đó chữ ở cột tiên phong chính là khoá của bảng chữ ở cùng – 19 – Giáo Trình An Toàn Và Bảo Mật Thông Tinhàng. Do đó chữ mã của một chữ trong bản rõ nằm trên cùng cột với chữ đó và nằm trên hàng tương ứngvới chữ khoá. ABCDEFGHIJKLMNOPQRSTUVWXYZA ABCDEFGHIJKLMNOPQRSTUVWXYZB BCDEFGHIJKLMNOPQRSTUVWXYZAC CDEFGHIJKLMNOPQRSTUVWXYZABD DEFGHIJKLMNOPQRSTUVWXYZABCE EFGHIJKLMNOPQRSTUVWXYZABCDF FGHIJKLMNOPQRSTUVWXYZABCDEG GHIJKLMNOPQRSTUVWXYZABCDEFH HIJKLMNOPQRSTUVWXYZABCDEFGI IJKLMNOPQRSTUVWXYZABCDEFGHJ JKLMNOPQRSTUVWXYZABCDEFGHIK KLMNOPQRSTUVWXYZABCDEFGHIJL LMNOPQRSTUVWXYZABCDEFGHIJKM MNOPQRSTUVWXYZABCDEFGHIJKLN NOPQRSTUVWXYZABCDEFGHIJKLMO OPQRSTUVWXYZABCDEFGHIJKLMNP PQRSTUVWXYZABCDEFGHIJKLMNOQ QRSTUVWXYZABCDEFGHIJKLMNOPR RSTUVWXYZABCDEFGHIJKLMNOPQS STUVWXYZABCDEFGHIJKLMNOPQRT TUVWXYZABCDEFGHIJKLMNOPQRSU UVWXYZABCDEFGHIJKLMNOPQRSTV VWXYZABCDEFGHIJKLMNOPQRSTUW WXYZABCDEFGHIJKLMNOPQRSTUVX XYZABCDEFGHIJKLMNOPQRSTUVWY YZABCDEFGHIJKLMNOPQRSTUVWXZ ZABCDEFGHIJKLMNOPQRSTUVWXYBảng Saint CyrAn toàn của mã Vigenere. Như vậy có chữ mã khác nhau cho cùng một chữ của bản rõ. Suy ra tần suấtcủa những chữ bị là phẳng, nghĩa là tần suất Open những chữ trên bản mã tương đối đều nhau. Tuy nhiênchưa mất trọn vẹn, do độ dài của khoá hạn chế, nên hoàn toàn có thể tạo nên chu kỳ luân hồi vòng lặp. Kẻ thám mã bắt đầutừ tần suất của chữ để xem có phải đây là mã đơn bảng chữ hay không. Giả sử đây là mã đa bảng chữ, sauđó xác lập số bảng chữ trong từ khoá và lần tìm từng chữ. Như vậy cần tăng độ dài từ khoá để tăng sốbảng chữ dùng khi mã để “ là ” tần suất của những chữ. II. 2.6 Phương pháp thám mã KasiskiPhương pháp tăng trưởng bởi Babbage và Kasiski. Ta thấy những chữ như nhau trên bản rõ và cách nhau mộtkhoảng đúng bằng độ dài từ khoá ( chu kỳ luân hồi ), thì sẽ được mã bằng cùng một chữ. Như vậy từ độ lặp của cácchữ trong bản mã hoàn toàn có thể được cho phép xác lập chu kỳ luân hồi. Tất nhiên không phải khi nào cũng tìm được độ dài từkhoá. Sau đó tìm những chữ trong từ khoá bằng cách tiến công từng bảng chữ đơn với cùng kỹ thuật dựa trêncác bảng tần suất của những bộ chữ như trước. II. 2.7 Mã khoá tự độngLý tưởng nhất là ta có khoá dài như bản tin. Do đó Vigenere đề xuất kiến nghị khoá tự động hóa sinh cho bằng độ dàibản tin như sau : từ khoá được tiếp nối đuôi nhau bằng chính bản rõ để tạo thành khoá. Sau đó dùng mã Vigenere để – 20 – Giáo Trình An Toàn Và Bảo Mật Thông Tinmã bản rõ đã cho. Khi đó biết từ khoá hoàn toàn có thể Phục hồi được 1 số ít chữ bắt đầu của bản rõ. Sau đó tiếptục sử dụng chúng để giải thuật cho văn bản còn lại. Sự nâng cấp cải tiến này làm mất khái niệm chu kỳ luân hồi, gây khókhăn cho việc thám mã, nhưng vẫn còn đặc trưng tần suất để tiến công. Ví dụ. Cho từ khoá deceptive. Ta viết bản rõ tiếp nối đuôi nhau vào từ khoá tạo thành từ khoá mới có độ dài bằngđộ dài bản rõ. key : deceptivewearediscoveredsavplaintext : wearediscoveredsaveyourselfciphertext : ZICVTWQNGKZEIIGASXSTSLVVWLAII. 2.8 Bộ đệm một lầnNếu khoá thực sự ngẫu nhiên được dùng và có độ dài bằng bản rõ thì ta nói đó là bộ đệm một lần. Vì nóchỉ được dùng một lần và ngẫu nhiên, nên mã hoá sẽ an toàn. Mã sẽ không bẻ được vì bản mã không cóliên quan thống kê gì với bản rõ, do bộ đệm được sinh ngẫu nhiên. Có thể nói mã bộ đệm một lần là antoàn tuyệt đối, vì với bản rõ bất kể và bản mã bất kể, luôn sống sót một khoá để ánh xạ bản rõ đó sang bảnmã đã cho. Về mặt kim chỉ nan, Phần Trăm để mọi mẩu tin ( có cùng độ dài với bản rõ ) trên bảng chữ mã là mãcủa một bản rõ cho trước là như nhau. Khoá chỉ sử dụng một lần, nên những lần mã là độc lập với nhau. Vấn đề khó khăn vất vả của mã bộ đệm một lần là việc sinh ngẫu nhiên khóa và phân phối khoá an toàn. Do đóbộ đệm một lần ít được sử dụng và chỉ dùng trong trường hợp yên cầu bảo mật rất cao. II. 3 Các mã thế cổ xưa hoán vịTrong những mục trước tất cả chúng ta đã xét một số ít mã sửa chữa thay thế, ở đó những chữ của bản rõ được thay thế sửa chữa bằng cácchữ khác của bản mã. Bây giờ tất cả chúng ta xét đến loại mã khác, mã hoán vị, những chữ trong bản rõ khôngđược sửa chữa thay thế bằng những chữ khác mà chỉ biến hóa vị trí, tức là việc mã hoá chỉ di dời vị trí tương đốigiữa những chữ trong bản rõ. Như vậy, nó dấu bản rõ bằng cách đổi khác thứ tự những chữ, nó không thay đổicác chữ thực tiễn được dùng. Do đó bản mã có cùng phân bổ tần suất Open những chữ như bản gốc. Nhưvậy hoàn toàn có thể thám mã để phát hiện được. II. 3.1 Mã Rail FenceĐây là mã hoán vị đơn thuần. Viết những chữ của bản rõ theo đường chéo trên một số ít dòng. Sau đó đọc cácchữ theo theo từng dòng sẽ nhận được bản mã. Số dòng chính là khoá của mã. Vì khi biết số dòng ta sẽtính được số chữ trên mỗi dòng và lại viết bản mã theo những dòng sau đó lấy bản rõ bằng cách viết lại theocác cột. Ví dụ. Viết bản tin “ meet me after the toga party ” lần lượt trên hai dòng như saum e m a t r h t g p r ye t e f e t e o a a tSau đó ghép những chữ ở dòng thứ nhất với những chữ ở dòng thứ hai cho bản mã : MEMATRHTGPRYETEFETEOAATII. 3.2 Mã di dời dòngMã có sơ đồ phức tạp hơn. Viết những chữ của bản tin theo những dòng với số cột xác lập. Sau đó biến hóa thứtự những cột theo một dãy số khoá cho truớc, rồi đọc lại chúng theo những cột để nhận được bản mã. Quá trìnhgiải mã được triển khai ngược lại. Ví dụ : Key : 4 3 1 2 5 6 7P laintext : a t t a c k po s t p o n e – 21 – Giáo Trình An Toàn Và Bảo Mật Thông Tind u n t i l tw o a m x y zTa đọc theo thứ tự những cột từ 1 đến 7 để nhận được bản mã : Ciphertext : TTNAAPTMTSUOAODWCOIXKNLYPETZII. 3.3 Mã tíchMã dùng hoán vị hoặc di dời không an toàn vì những đặc trưng tần xuất của ngôn từ không đổi khác. Có thể sử dụng một số ít mã liên tục nhau sẽ làm cho mã khó hơn. Mã cổ xưa chỉ sử dụng một trong haiphương pháp thay thế sửa chữa hoặc hoán vị. Người ta nghĩ đến việc tích hợp cả hai chiêu thức này trong cùngmột mã và hoàn toàn có thể sử dụng xen kẽ hoặc lặp nhiều vòng. Đôi khi ta tưởng lặp nhiều lần cùng một loại mãsẽ tạo nên mã phức tạp hơn, nhưng trên thực tiễn trong một số ít trường hợp về thực chất chúng cũng tươngđương với một lần mã cùng loại nào đó như : tích của hai phép thế sẽ là một phép thế ; tích của hai phéphoán vị sẽ là một phép hoán vị. Nhưng nếu hai loại mã đó khác nhau thì sẽ tạo nên mã mới phức tạp hơn, chính vì thế phép thế được tiếp nối đuôi nhau bằng phép di dời sẽ tạo nên mã mới khó hơn rất nhiều. Đâychính là chiếc cầu nối từ mã cổ xưa sang mã văn minh. Điểm yếu của mã cổ xưa : – Phương pháp mã hoá cổ xưa hoàn toàn có thể thuận tiện bị giải thuật bằng cách đoán chữ dựa trên phương phápthống kê tần xuất Open những vần âm trên mã và so sánh với bảng thống kê quan sát của bản rõ. – Để dùng được mã hoá cổ xưa thì bên mã hoá và bên giải thuật phải thống nhất với nhau về chính sách mãhoá cũng như giải thuật. Nếu không thì hai bên sẽ không hề thao tác được với nhau. II. 4 Một số yếu tố khác. II. 4.1 Máy quayTrước khi có mã văn minh, máy quay là mã tích thông dụng nhất. Chúng được sử dụng thoáng đãng trong chiếntranh quốc tế thứ hai : Đức, liên minh và Nhật. Máy quay tạo nên mã thay thế sửa chữa rất phong phú và phức tạp. Trong máy có sử dụng một số ít lõi hình tròn trụ, mỗi lõi ứng với một phép thế, khi quay sẽ thay thế sửa chữa mỗi chữbằng một chữ khác tương ứng. Với 3 hình tròn trụ khác nhau, ta có 26 x 26 x 26 = 17576 bảng chữ. II. 4.2 Dấu tinMột trong những kỹ thuật khác để bảo vệ tính bảo mật của thông tin được gửi là dấu tin. Đây là một sựlựa chọn dùng phối hợp hoặc đồng thời với mã. Dấu tin là dấu sự sống sót của bản tin cần bảo mật trong mộtthông tin khác như : trong bản tin dài chỉ dùng một tập con những chữ / từ được lưu lại bằng cách nào đó ; sửdụng mực không nhìn thấy ; dấu tin trong những file âm thanh hoặc hình ảnh. Các kỹ thuật này gần đây cũngđược chăm sóc nghiên cứu và điều tra. Tuy nhiên nó có điểm yếu kém là chỉ dấu được lượng thông tin nhỏ những bít. – 22 – Giáo Trình An Toàn Và Bảo Mật Thông Tin – 23 – Giáo Trình An Toàn Và Bảo Mật Thông TinBài tập1. Cho biến đọan mã sau dùng mã Cesar ” GCUA VQ DTGCM ” Suy luận tìm bản rõ. 2. Sử dụng kỹ thuật thám mã bảng chữ đơn, lập bảng tần suất những chữ, bộ chữ đôi, bộ chữ ba của đọanmã sau : UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOUDTMOHMQLập luận và cho biết ánh xạ của bảng chữ đơn và đưa ra bản rõ phù hợp3. Nêu thuật toán dùng bảng Saint Cyr để mã hóa và giải thuật Vigenere khi biết từ khóa. Áp dụng thuậttoán đó mã hóa bản rõ sau : “ Network Security is very important for software development ” với từkhóa là “ COMPUTER SCIENCE ” 4. Tại sao hoàn toàn có thể nói “ Có thể nói mã bộ đệm một lần là an toàn tuyệt đối, vì với bản rõ bất kể và bản mãbất kỳ, luôn sống sót một khoá để ánh xạ bản rõ đó sang bản mã đã cho ”. Giải thích đánh giá và nhận định sau “ Vềmặt triết lý, Tỷ Lệ để mọi mẩu tin ( có cùng độ dài với bản rõ ) trên bảng chữ mã là mã của một bảnrõ cho trước là như nhau ”. 5. Tìm bản mã của bản rõ “ We are studying cryptography this year ” sử dụng mã Playfair với từ khóa “ information technology ”. 6. Chứng tỏ rằng, phép di dời không khắc phục được tính dư thừa của ngôn từ tự nhiên. 7. Chứng minh rằng tích của hai phép thế đơn là một phép thế đơn và tích của hai phép di dời làmột phép di dời. Có thể nói gì về tích của một phép thế đơn và một phép di dời. 8. Có bao nhiêu khóa Playfair khác nhau. 9. Mã hóa bản rõ “ Chung toi se la nhung ky su cong nghe thong tin gioi trong mot vai nam nua ” sử dụngtừ khóa 631425.10. Giả sử dùng mã di dời dòng với 8 cột. Hỏi có bao nhiêu khóa khác nhau. Nêu thuật toán giải mãvới từ khóa cho trước. 11. Chứng minh rằng : tích của hai phép thế sẽ là một phép thế ; tích của hai phép hoán vị sẽ là một phéphoán vị. – 24 – Giáo Trình An Toàn Và Bảo Mật Thông TinCHƯƠNG IIITRƯỜNG HỮU HẠNMở đầuGiới thiệu về cấu trúc đại số – trường hữu hạn. Đây là quy mô toán học đóng vai trò quan trọngtrong kim chỉ nan mã như so với chuẩn mã nâng cao AES, mã đường cong Elip, mã IDEA và khoá côngkhai. Nó tương quan đến những phép toán trên “ số ” : ở đây sẽ xét “ số ” là khái niệm khái quát hơn những sốnguyên, số thực, số phức thường gặp trong số học, nói chung “ số ” hoàn toàn có thể là những thành phần trong một tập hợpnào đó. Đồng thời trên tập hợp đó có trang bị những phép toán tương ứng thoả mãn một số ít đặc thù nhấtđịnh như những số với những phép toán cộng, trừ hoặc nhân, chia. Ta mở màn từ những khái niệm về nhóm, vành, trường của đại số trừu tượng. III. 1 Các cấu trúc đại sốIII. 1.1 NhómCho một tập những thành phần hoặc “ số ” và một phép toán hai ngôi, mà tác dụng cũng là một thành phần của tậphợp đó. Tức là ứng với mỗi cặp thành phần trên tập đó, hiệu quả của phép toán cũng là một thành phần xácđịnh của tập đã cho. Tính chất này ta gọi là tính đóng của phép toán trên tập đang xét. Định nghĩa nhóm. Tập hợp G đó với phép toán. đã cho được gọi là nhóm, nếu nó thỏa mãn nhu cầu những tínhchất sau với mọi thành phần a, b, c thuộc G : o Tính tích hợp ( a. b ). c = a. ( b. c ) o Có đơn vị chức năng e : e. a = a. e = ao Có nghịch đảo a-1 : a. a-1 = eNếu có thêm tính giao hoán a. b = b. a, thì gọi là nhóm Aben hay nhóm giao hoán. Định nghĩa nhóm xiclic. o Định nghĩa lũy thừa như thể việc vận dụng lặp phép toán : Ví dụ : a = a.a.ao Và đơn vị chức năng e = ao Một nhóm được gọi là xiclic nếu mọi thành phần đều là lũy thừa của một thành phần cố định và thắt chặt nào đó. Chẳng hạn b = ađối với a cố định và thắt chặt và mỗi b trong nhóm. o Khi đó a được gọi là phần tử sinh của nhóm. III. 1.2 VànhCho một tập R những “ số ” với hai phép toán được gọi là cộng và nhân. Ở đây “ số ” được hiểu là phần tửcủa tập hợp và hai phép toán trên xác lập trên tập hợp đó. Tập với hai phép toán trên được gọi làvành, nếu hai phép toán thoả mãn những đặc thù sauo Với phép cộng, R là nhóm Abeno Với phép nhân, có  tính đóng và  tính phối hợp  tính phân phối so với phép cộng a ( b + c ) = ab + acNếu phép nhân có tính giao hoán thì tạo thành vành giao hoán. – 25 –

Source: https://vh2.com.vn
Category: Bảo Mật