BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI
TRƯỜNG CAO ĐẲNG CƠNG THƯƠNG HÀ NỘI
GIÁO TRÌNH
AN TỒN BẢO MẬT THƠNG TIN
NGÀNH: CÔNG NGHỆ THÔNG TIN
Hà Nội, năm ……………
(Lưu hành nội bộ)
1
MỤC LỤC
BÀI 1: TỔNG QUAN VỀ AN TOÀN BẢO MẬT THƠNG TIN ....................................... 4
1.1. Nội dung của an tồn và bảo mật thông tin .................................................................. 4
1.2. Các kiểu tấn công ......................................................................................................... 6
1.3. Các kiểu chiến lược an toàn hệ thống thông tin ........................................................... 8
1.4. Các mức bảo vệ trên mạng ........................................................................................... 9
1.5. An tồn thơng tin bằng mật mã .................................................................................. 11
1.6. Vai trò, phân loại và tiêu chuẩn đánh giá hệ mật mã.................................................. 12
Câu hỏi ôn tập ................................................................................................................... 15
BÀI 2: MÃ HĨA VÀ CHỨNG THỰC THƠNG TIN ....................................................... 16
2.1. Mã hóa đối xứng ......................................................................................................... 16
2.1.1 Nguyên tắc mã hóa đối xứng ............................................................................... 16
2.1.2. Các giải thuật mã hóa đối xứng .......................................................................... 20
2.1.3. Phân phối khóa trong mã hóa đối xứng .............................................................. 33
2.2. Mã hóa khóa cơng khai ............................................................................................... 36
2.2.1. Ngun lý mã hóa khóa cơng khai ...................................................................... 36
2.2.2. Giải thuật mã hóa khóa cơng khai - RSA ........................................................... 38
2.2.3. Quản lý khóa ....................................................................................................... 41
2.3. Chứng thực thơng tin .................................................................................................. 46
2.3.1. Giới thiệu về chứng thực thông tin ..................................................................... 46
2.3.2. Các hàm băm và giải thuật HMAC ..................................................................... 49
2.3.3. Chữ ký số ............................................................................................................ 52
2.4. Mã hóa tập tin trên Windows ..................................................................................... 53
Câu hỏi ôn tập: ................................................................................................................... 57
BÀI 3: BẢO MẬT WEB VÀ EMAIL ................................................................................. 59
3.1. Bảo mật Web .............................................................................................................. 59
3.2. Bảo mật Email ............................................................................................................ 62
3.2.1 Giao thức OpenPGP ............................................................................................. 62
3.2.2. Tiêu chuẩn Secure/Multipurpose Internet Mail Extensions (S/MIME) .............. 65
3.2.3. Phương thức xác thực DKIM .............................................................................. 68
3.3. Cấu hình và bảo mật Web........................................................................................... 71
Câu hỏi ôn tập .................................................................................................................... 74
BÀI 4: GIAO THỨC IP SECURITY ................................................................................. 75
4.1. Giới thiệu .................................................................................................................... 75
4.2. Kiến trúc IP Security .................................................................................................. 76
4.2.1 Kiến trúc IPSec .................................................................................................... 76
4.2.2. Khung giao thức IPSec ....................................................................................... 77
2
4.2.3. Tính năng của IPSec ........................................................................................... 79
4.2.4. Các giao thức IPSec ............................................................................................ 80
4.2.5. Hoạt động của IP Security : ................................................................................ 82
4.3. Cấu hình IP Security ................................................................................................... 84
Câu hỏi ơn tập: ................................................................................................................... 88
BÀI 5: BẢO MẬT MẠNG KHÔNG DÂY ......................................................................... 90
5.1. Tổng quan về mạng LAN không dây ......................................................................... 90
5.2. Bảo mật cho mạng LAN không dây ........................................................................... 90
5.3. Tổng quan về giao thức WAP .................................................................................... 96
5.4. Giao thức bảo mật Wirless Transport Layer Security (WTLS) .................................. 99
Câu hỏi ôn tập: ................................................................................................................. 101
TÀI LIỆU THAM KHẢO ................................................................................................. 103
3
BÀI 1: TỔNG QUAN VỀ AN TỒN BẢO MẬT THƠNG TIN
1.1. Nội dung của an tồn và bảo mật thơng tin
Trước đây khi cơng nghệ máy tính chưa phát triển, khi nói đến vấn đề an tồn bảo
mật thơng tin (Information Security), chúng ta thường hay nghĩ đến các biện pháp nhằm
đảm bảo cho thông tin được trao đổi hay cất giữ một cách an tồn và bí mật. Chẳng hạn
là các biện pháp như:
Đóng dấu và ký niêm phong một bức thư để biết rằng lá thư có được chuyển
nguyên vẹn đến người nhận hay không.
Dùng mật mã mã hóa thơng điệp để chỉ có người gửi và người nhận hiểu được
thông điệp. Phương pháp này thường được sử dụng trong chính trị và quân sự.
Lưu giữ tài liệu mật trong các két sắt có khóa, tại các nơi được bảo vệ nghiêm
ngặt, chỉ có những người được cấp quyền mới có thể xem tài liệu.
Với sự phát triển mạnh mẽ của công nghệ thông tin, đặt biệt là sự phát triển của
mạng Internet, ngày càng có nhiều thơng tin được lưu giữ trên máy vi tính và gửi đi
trên mạng Internet. Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng,
các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được phát
triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý
tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an tồn thơng
tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể
có rất nhiều phương pháp được thực hiện để bảo vệ an tồn thơng tin dữ liệu. Các
phương pháp bảo vệ an tồn thơng tin dữ liệu có thể được quy tụ vào ba nhóm sau:
- Bảo vệ an tồn thơng tin bằng các biện pháp hành chính.
- Bảo vệ an tồn thơng tin bằng các biện pháp kỹ thuật (phần cứng).
- Bảo vệ an tồn thơng tin bằng các biện pháp thuật tốn (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Mơi trường khó
bảo vệ an tồn thơng tin nhất và cũng là môi trường đối phương dễ xâm nhập nhất
đó là mơi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất hiện
nay trên mạng truyền tin và mạng máy tính là biện pháp thuật tốn.
An tồn thơng tin bao gồm các nội dung sau:
4
- Tính bí mật: tính kín đáo riêng tư của thơng tin
- Tính xác thực của thơng tin, bao gồm xác thực đối tác, xác thực thơng tin trao
đổi.
- Tính trách nhiệm: đảm bảo người gửi thông tin không thể thối thác trách
nhiệm về thơng tin mà mình đã gửi.
Để đảm bảo an tồn thơng tin dữ liệu trên đường truyền tin và trên mạng máy tính
có hiệu quả thì điều trước tiên là phải lường trước hoặc dự đoán trước các khả năng
khơng an tồn, khả năng xâm phạm, các sự cố rủi ro có thể xảy ra đối với thông tin dữ
liệu được lưu trữ và trao đổi trên đường truyền tin cũng như trên mạng. Xác định càng
chính xác các nguy cơ nói trên thì càng quyết định được tốt các giải pháp để giảm thiểu
các thiệt hại.
Có hai loại hành vi xâm phạm thơng tin dữ liệu đó là: vi phạm chủ động và vi
phạm thụ động. Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắm bắt được thông
tin (đánh cắp thông tin). Việc làm đó có khi khơng biết được nội dung cụ thể nhưng có
thể dị ra được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trong
phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số lượng, độ dài và tần số trao
đổi. Vì vậy vi pham thụ động khơng làm sai lệch hoặc hủy hoại nội dung thông tin dữ
liệu được trao đổi. Vi phạm thụ động thường khó phát hiện nhưng có thể có những biện
pháp ngăn chặn hiệu quả. Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nội
dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm đó hoặc
sau đó một thời gian. Vi phạm chủ động có thể thêm vào một số thơng tin ngoại lai để
làm sai lệch nội dung thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn
chặn hiệu quả thì khó khăn hơn nhiều.
Có thể phân loại mơ hình an tồn bảo mật thơng tin trên máy tính theo hai hướng
chính như sau:
1)
Bảo vệ thơng tin trong q trình truyền thơng tin trên mạng (Network
Security)
2)
Bảo vệ hệ thống máy tính, và mạng máy tính, khỏi sự xâm nhập phá hoại từ
bên ngoài (System Security)
Một thực tế là khơng có một biện pháp bảo vệ an tồn thơng tin dữ liệu nào là an
5
toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng không thể đảm
bảo là an tồn tuyệt đối.
1.2. Các kiểu tấn cơng
Để xem xét những vấn đề bảo mật liên quan đến truyền thông trên mạng, chúng
ta hãy lấy một bối cảnh sau: có ba nhân vật tên là Alice, Bob và Trudy, trong đó Alice
và Bob thực hiện trao đổi thông tin với nhau, còn Trudy là kẻ xấu, đặt thiết bị can thiệp
vào kênh truyền tin giữa Alice và Bob. Sau đây là các loại hành động tấn công của
Trudy mà ảnh hưởng đến quá trình truyền tin giữa Alice và Bob:
1) Xem trộm thông tin (Release of Message Content)
Trong trường hợp này Trudy chặn các thông điệp Alice gửi cho Bob, và xem
được nội dung của thơng điệp.
Trudy
điệp của Alice
Networ
Alice
Bob
Hình 1-1. Xem trộm thông điệp
2) Thay đổi thông điệp (Modification of Message)
Trudy chặn các thông điệp Alice gửi cho Bob và ngăn khơng cho các thơng
điệp này đến đích. Sau đó Trudy thay đổi nội dung của thông điệp và gửi tiếp cho
Bob. Bob nghĩ rằng nhận được thông điệp nguyên bản ban đầu của Alice mà không
biết rằng chúng đã bị sửa đổi.
6
Hình 1-2. Sửa thơng điệp
3) Mạo danh (Masquerade)
Trong trường hợp này Trudy giả là Alice gửi thông điệp cho Bob. Bob không
biết điều này và nghĩ rằng thông điệp là của Alice.
Hình 1-3. Mạo danh
4) Phát lại thơng điệp (Replay)
Trudy sao chép lại thông điệp Alice gửi cho Bob. Sau đó một thời gian Trudy
gửi bản sao chép này cho Bob. Bob tin rằng thông điệp thứ hai vẫn là từ Alice, nội dung
hai thông điệp là giống nhau. Thoạt đầu có thể nghĩ rằng việc phát lại này là vô hại, tuy
nhiên trong nhiều trường hợp cũng gây ra tác hại không kém so với việc giả mạo thông
điệp. Xét tình huống sau: giả sử Bob là ngân hàng cịn Alice là một khách hàng. Alice
gửi thơng điệp đề nghị Bob chuyển cho Trudy 1000$. Alice có áp dụng các biện pháp
7
như chữ ký điện tử với mục đích khơng cho Trudy mạo danh cũng như sửa thông điệp.
Tuy nhiên nếu Trudy sao chép và phát lại thơng điệp thì các biện pháp bảo vệ này khơng
có ý nghĩa. Bob tin rằng Alice gửi tiếp một thông điệp mới để chuyển thêm cho Trudy
1000$ nữa.
Hình 1-4. Phát lại thơng điệp
1.3. Các kiểu chiến lược an tồn hệ thống thơng tin
a. Giới hạn quyền hạn tối thiểu (Last Privilege)
Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ một đối tượng nào cùng
chỉ có những quyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào mạng
đối tượng đó chỉ được sử dụng một số tài nguyên nhất định.
b. Bảo vệ theo chiều sâu (Defence In Depth)
Nguyên tắc này nhắc nhở chúng ta : Không nên dựa vào một chế độ an toàn nào
dù cho chúng rất mạnh, mà nên tạo nhiều cơ chế an toàn để tương hỗ lẫn nhau.
c. Nút thắt (Choke Point)
Tạo ra một “cửa khẩu” hẹp, và chỉ cho phép thông tin đi vào hệ thống của mình
bằng con đường duy nhất chính là “cửa khẩu” này. => phải tổ chức một cơ cấu kiểm
sốt và điều khiển thơng tin đi qua cửa này.
d. Điểm nối yếu nhất (Weakest Link)
Chiến lược này dựa trên nguyên tắc: “ Một dây xích chỉ chắc tại mắt duy nhất,
8
một bức tường chỉ cứng tại điểm yếu nhất”
Kẻ phá hoại thường tìm những chỗ yếu nhất của hệ thống để tấn cơng, do đó ta
cần phải gia cố các yếu điểm của hệ thống. Thông thường chúng ta chỉ quan tâm đến
kẻ tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an tồn vật lý được coi là yếu
điểm nhất trong hệ thống của chúng ta.
e. Tính tồn cục
Các hệ thống an tồn địi hỏi phải có tính tồn cục của các hệ thống cục bộ. Nếu
có một kẻ nào đó có thể bẻ gãy một cơ chế an tồn thì chúng có thể thành công bằng
cách tấn công hệ thống tự do của ai đó và sau đó tấn cơng hệ thống từ nội bộ bên trong.
f. Tính đa dạng bảo vệ
Cần phải sử dụng nhiều biện pháp bảo vệ khác nhau cho hệ thống khác nhau, nếu
khơng có kẻ tấn cơng vào được một hệ thống thì chúng cũng dễ dàng tấn cơng vào các
hệ thống khác.
1.4. Các mức bảo vệ trên mạng
Vì khơng thể có một giải pháp an tồn tuyệt đối nên người ta thường phải sử dụng
đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều hàng rào chắn đối với các hoạt
động xâm phạm. Việc bảo vệ thông tin trên mạng chủ yếu là bảo vệ thông tin cất giữ
trong máy tính, đặc biệt là các server trên mạng. Bởi thế ngoài một số biện pháp nhằm
chống thất thốt thơng tin trên đường truyền mọi cố gắng tập trung vào việc xây dựng
các mức rào chắn từ ngoài vào trong cho các hệ thống kết nối vào mạng. Thông thường
bao gồm các mức bảo vệ sau:
a. Quyền truy nhập
Lớp bảo vệ trong cùng là quyền truy nhập nhằm kiểm soát các tài nguyên của
mạng và quyền hạn trên tài ngun đó. Dĩ nhiên là kiểm sốt được các cấu trúc dữ liệu
càng chi tiết càng tốt. Hiện tại việc kiểm soát thường ở mức tệp.
b. Đăng ký tên /mật khẩu.
Thực ra đây cũng là kiểm soát quyền truy nhập, nhưng không phải truy nhập ở
mức thông tin mà ở mức hệ thống. Đây là phương pháp bảo vệ phổ biến nhất vì nó đơn
9
giản ít phí tổn và cũng rất hiệu quả. Mỗi người sử dụng muốn được tham gia vào mạng
để sử dụng tài nguyên đều phải có đăng ký tên và mật khẩu trước. Người quản trị mạng
có trách nhiệm quản lý, kiểm soát mọi hoạt động của mạng và xác định quyền truy nhập
của những người sử dụng khác theo thời gian và không gian (nghĩa là người sử dụng
chỉ được truy nhập trong một khoảng thời gian nào đó tại một vị trí nhất định nào đó).
Về lý thuyết nếu mọi người đều giữ kín được mật khẩu và tên đăng ký của mình
thì sẽ khơng xảy ra các truy nhập trái phép. Song điều đó khó đảm bảo trong thực tế vì
nhiều nguyên nhân rất đời thường làm giảm hiệu quả của lớp bảo vệ này. Có thể khắc
phục bằng cách người quản mạng chịu trách nhiệm đặt mật khẩu hoặc thay đổi mật khẩu
theo thời gian.
c. Mã hố dữ liệu
Để bảo mật thơng tin trên đường truyền người ta sử dụng các phương pháp mã
hoá. Dữ liệu bị biến đổi từ dạng nhận thức được sang dạng khơng nhận thức được theo
một thuật tốn nào đó và sẽ được biến đổi ngược lại ở trạm nhận (giải mã). Đây là lớp
bảo vệ thông tin rất quan trọng.
d. Bảo vệ vật lý
Ngăn cản các truy nhập vật lý vào hệ thống. Thường dùng các biện pháp truyền
thống như ngăn cấm tuyệt đối người khơng phận sự vào phịng đặt máy mạng, dùng ổ
khố trên máy tính hoặc các máy trạm khơng có ổ mềm.
e. Tường lửa
Ngăn chặn thâm nhập trái phép và lọc bỏ các gói tin khơng muốn gửi hoặc nhận
vì các lý do nào đó để bảo vệ một máy tính hoặc cả mạng nội bộ (intranet).
10
f. Quản trị mạng.
Trong thời đại phát triển của công nghệ thơng tin, mạng máy tính quyết định tồn
bộ hoạt động của một cơ quan, hay một cơng ty xí nghiệp. Vì vậy việc bảo đảm cho hệ
thống mạng máy tính hoạt động một cách an tồn, khơng xảy ra sự cố là một công việc
cấp thiết hàng đầu. Công tác quản trị mạng máy tính phải được thực hiện một cách khoa
học đảm bảo các yêu cầu sau :
- Tồn bộ hệ thống hoạt động bình thường trong giờ làm việc.
- Có hệ thống dự phịng khi có sự cố về phần cứng hoặc phần mềm xảy ra.
- Backup dữ liệu quan trọng theo định kỳ.
- Bảo dưỡng mạng theo định kỳ.
- Bảo mật dữ liệu, phân quyền truy cập, tổ chức nhóm làm việc trên mạng.
1.5. An tồn thông tin bằng mật mã
Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin bí
mật. Mật mã bao gồm: Lập mã và phá mã. Lập mã bao gồm hai q trình: mã hóa và
giải mã.
11
Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng nhận
thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, q trình
này được gọi là mã hố thơng tin (encryption), ở trạm nhận phải thực hiện quá trình
ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được mã
hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải mã. Đây là một
lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong môi trường mạng.
Để bảo vệ thông tin bằng mật mã người ta thường tiếp cận theo hai hướng:
-
Theo đường truyền (Link_Oriented_Security).
-
Từ nút đến nút (End_to_End).
Theo cách thứ nhất thông tin được mã hoá để bảo vệ trên đường truyền giữa hai
nút mà khơng quan tâm đến nguồn và đích của thơng tin đó. Ở đây ta lưu ý rằng thơng
tin chỉ được bảo vệ trên đường truyền, tức là ở mỗi nút đều có q trình giải mã sau đó
mã hố để truyền đi tiếp, do đó các nút cần phải được bảo vệ tốt.
Ngược lại theo cách thứ hai thông tin trên mạng được bảo vệ trên toàn đường
truyền từ nguồn đến đích. Thơng tin sẽ được mã hố ngay sau khi mới tạo ra và chỉ
được giải mã khi về đến đích. Cách này mắc phải nhược điểm là chỉ có dữ liệu của
người dùng thì mới có thể mã hóa được cịn dữ liệu điều khiển thì giữ ngun để có thể
xử lý tại các nút.
1.6. Vai trị, phân loại và tiêu chuẩn đánh giá hệ mật mã
a) Vai trò của hệ mật mã
Các hệ mật mã phải thực hiện được các vai trò sau:
-
Hệ mật mã phải che dấu được nội dung của văn bản rõ (PlainText) để đảm
bảo sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thơng tin
(Secrety), hay nói cách khác là chống truy nhập không đúng quyền hạn.
- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ
thống đến người nhận hợp pháp là xác thực (Authenticity).
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo khơng có hiện tượng giả mạo,
mạo danh để gửi thông tin trên mạng.
Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ phức tạp
12
tính tốn mà “kẻ địch” phải giải quyết bài tốn để có thể lấy được thơng tin của dữ liệu
đã được mã hố. Tuy nhiên mỗi hệ mật mã có một số ưu và nhược điểm khác nhau,
nhưng nhờ đánh giá được độ phức tạp tính tốn mà ta có thể áp dụng các thuật toán mã
hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo yêu cầu về độ an toàn.
Các thành phần của một hệ mật mã :
Định nghĩa :
Một hệ mật là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau:
-
P là một tập hợp hữu hạn các bản rõ (PlainText), nó được gọi là không gian
bản rõ.
-
C là tập các hữu hạn các bản mã (Crypto), nó cịn được gọi là khơng gian các
bản mã. Mỗi phần tử của C có thể nhận được bằng cách áp dụng phép mã hoá Ek lên
một phần tử của P, với k K.
-
K là tập hữu hạn các khố hay cịn gọi là khơng gian khố. Đối với mỗi phần
tử k của K được gọi là một khố (Key). Số lượng của khơng gian khố phải đủ lớn để
“kẻ địch: khơng có đủ thời gian để thử mọi khố có thể (phương pháp vét cạn).
-
Đối với mỗi k K có một quy tắc mã eK: P C và một quy tắc giải mã
tương ứng dK D. Mỗi eK: P C và dK: C P là những hàm mà:
dK (eK(x))=x với mọi bản rõ x P.
Mã hoá với khoá mã và khoá giải giống nhau
13
b) Phân loại hệ mật mã
Có nhiều cách để phân loại hệ mật mã. Dựa vào cách truyền khóa có thể phân các
hệ mật mã thành hai loại:
-
Hệ mật đối xứng (hay cịn gọi là mật mã khóa bí mật): là những hệ mật dung
chung một khoá cả trong quá trình mã hố dữ liệu và giải mã dữ liệu. Do đó khố phải
được giữ bí mật tuyệt đối.
-
Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa cơng khai) : Hay cịn gọi
là hệ mật mã cơng khai, các hệ mật này dùng một khố để mã hố sau đó dùng một
khố khác để giải mã, nghĩa là khoá để mã hoá và giải mã là khác nhau. Các khoá này
tạo nên từng cặp chuyển đổi ngược nhau và khơng có khố nào có thể suy được từ khố
kia. Khố dùng để mã hố có thể cơng khai nhưng khố dùng để giải mã phải giữ bí
mật.
Ngồi ra nếu dựa vào thời gian đưa ra hệ mật mã ta cịn có thể phân làm hai loại:
Mật mã cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại (ra đời sau
năm 1970). Còn nếu dựa vào cách thức tiến hành mã thì hệ mật mã cịn được chia làm
hai loại là mã dòng (tiến hành mã từng khối dữ liệu, mỗi khối lại dựa vào các khóa khác
nhau, các khóa này được sinh ra từ hàm sinh khóa, được gọi là dịng khóa) và mã khối
(tiến hành mã từng khối dữ liệu với khóa như nhau).
c) Tiêu chuẩn đánh giá hệ mật mã
Để đánh giá một hệ mật mã người ta thường đánh giá thơng qua các tính chất sau:
i) Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu tiên phải có độ an tồn
cao. Ưu điểm của mật mã là có thể đánh giá được độ an tồn thơng qua độ an tồn tính
tốn mà khơng cần phải cài đặt. Một hệ mật được coi là an toàn nếu để phá hệ mật mã
này phải dùng n phép toán. Mà để giải quyết n phép toán cần thời gian vô cùng lớn,
không thể chấp nhận được.
Một hệ mật mã được gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau:
-
Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khố,
cơng khai thuật tốn.
14
-
Khi cho khố cơng khai eK và bản rõ P thì chúng ta dễ dàng tính được eK(P) =
C. Ngược lại khi cho dK và bản mã C thì dễ dàng tính được dK(M)=P. Khi khơng biết dK
thì khơng có khả năng để tìm được M từ C, nghĩa là khi cho hàm f: X Y thì việc tính
y=f(x) với mọi x X là dễ cịn việc tìm x khi biết y lại là vấn đề khó và nó được gọi là
hàm một chiều.
- Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ.
ii) Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải chú ý đến tốc
độ mã và giải mã. Hệ mật tốt thì thời gian mã và giải mã nhanh.
iii) Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này được truyền
cơng khai hay truyền khóa bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với
các hệ mật có khóa cơng khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mật
mã.
Câu hỏi ơn tập
1)
Nêu các hình thức tấn cơng trong q trình truyền tin trên mạng.
2)
Trình bày các mức bảo vệ trên mạng
3)
Trình bày vai trò, phân loại và tiêu chuẩn đánh giá hệ mật mã
15
BÀI 2: MÃ HĨA VÀ CHỨNG THỰC THƠNG TIN
2.1. Mã hóa đối xứng
2.1.1 Nguyên tắc mã hóa đối xứng
Trong phần này chúng ta sẽ tìm hiểu một số khái niệm cơ bản về phương pháp mã
hóa đối xứng. Đây là phương pháp chủ yếu trong việc bảo đảm tính bảo mật
(confidentiality) của một hệ truyền tin. Trước tiên, chúng ta sẽ tìm hiểu phương pháp
mã hóa Ceasar và sau đó là mơ hình tổng qt của phương pháp mã hóa đối xứng cùng
một số tính chất liên quan.
a) Mã hóa Ceasar
Thế kỷ thứ 3 trước công nguyên, nhà quân sự người La Mã Julius Ceasar đã nghĩ
ra phương pháp mã hóa một bản tin như sau: thay thế mỗi chữ trong bản tin bằng chữ
đứng sau nó k vị trí trong bảng chữ cái. Giả sử chọn k = 3, ta có bảng chuyển đổi như
sau:
Chữ ban đầu: 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
Chữ thay thế:
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
(sau Z sẽ vịng lại là A, do đó x A, y B và z C)
Giả sử có bản tin gốc (bản rõ):
meet me after the toga party
Như vậy bản tin mã hóa (bản mã) sẽ là:
PHHW PH DIWHU WKH WRJD
SDUWB
Thay vì gửi trực tiếp bản rõ cho các cấp dưới, Ceasar gửi bản mã. Khi cấp dưới nhận
được bản mã, tiến hành giải mã theo quy trình ngược lại để có được bản rõ. Như vậy
nếu đối thủ của Ceasar có lấy được bản mã, thì cũng không hiểu được ý nghĩa của bản
mã.
Chúng ta hãy gán cho mỗi chữ cái một con số nguyên từ 0 đến 25:
A
B
C D
E
F
G H
I
J
0
1
2 3
4
5
6
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
7
K
L
M N O
P
Q R S
T
U
V W X
Y
Z
Phương pháp Ceasar được biểu diễn như sau: với mỗi chữ cái p thay bằng chữ mã hóa
C, trong đó:
16
C = (p + k) mod 26 (trong đó mod là phép chia lấy số dư)
Và quá trình giải mã đơn giản là:
p = (C – k) mod 26
k được gọi là khóa. Dĩ nhiên là Ceasar và cấp dưới phải cùng dùng chung một giá trị
khóa k, nếu khơng bản tin giải mã sẽ không giống bản rõ ban đầu.
Ngày nay phương pháp mã hóa của Ceasar khơng được xem là an tồn. Giả sử đối thủ
của Ceasar có được bản mã PHHW PH DIWHU WKH WRJD SDUWB và biết được
phương pháp mã hóa và giải mã là phép cộng trừ modulo 26. Đối thủ có thể thử tất cả
25 trường hợp của k như sau:
KEY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
PHHW
oggv
nffu
meet
ldds
kccr
jbbq
iaap
hzzo
gyyn
fxxm
ewwl
dvvk
cuuj
btti
assh
zrrg
yqqf
xppe
wood
vnnc
ummb
tlla
skkz
rjjy
qiix
PH DIWHU WKH WRJD
og chvgt vjg vqic
nf bgufs uif uphb
me after the toga
ld zesdq sgd snfz
kc ydrcp rfc rmey
jb xcqbo qeb qldx
ia wbpan pda pkcw
hz vaozm ocz ojbv
gy uznyl nby niau
fx tymxk max mhzt
ew sxlwj lzw lgys
dv rwkvi kyv kfxr
cu qvjuh jxu jewq
bt puitg iwt idvp
as othsf hvs hcuo
zr nsgre gur gbtn
yq mrfqd ftq fasm
xp lqepc esp ezrl
wo kpdob dro dyqk
vn jocna cqn cxpj
um inbmz bpm bwoi
tl hmaly aol avnh
sk glzkx znk zumg
rj fkyjw ymj ytlf
qi ejxiv xli xske
SDUWB
rctva
qbsuz
party
ozqsx
nyprw
mxoqv
lwnpu
kvmot
julns
itkmr
hsjlq
grikp
fqhjo
epgin
dofhm
cnegl
bmdfk
alcej
zkbdi
yjach
xizbg
whyaf
vgxze
ufwyd
tevxc
Trong 25 trường hợp trên, chỉ có trường hợp k=3 thì bản giải mã tương ứng là có ý
17
nghĩa. Do đó đối thủ có thể chắc chắn rằng “meet me after the toga party” là
bản rõ ban đầu.
b) Mơ hình mã hóa đối xứng (Symmetric Ciphers)
Phương pháp Ceasar là phương pháp mã hóa đơn giản nhất của mã hóa đối xứng.
Về mặt khái niệm, phương pháp mã hóa đối xứng tổng qt được biểu diễn bằng mơ
hình sau:
Hình 2-1. Mơ hình mã hóa đối xứng
Mơ hình trên gồm 5 yếu tố:
Bản rõ P (plaintext)
Thuật toán mã hóa E (encrypt algorithm)
Khóa bí mật K (secret key)
Bản mã C (ciphertext)
Thuật toán giải mã D (decrypt algorithm) Trong đó:
C = E (P, K)
P = D (C, K)
Thuật tốn mã hóa và giải mã sử dụng chung một khóa, thuật tốn giải mã là
phép tốn ngược của thuật tốn mã hóa (trong mã hóa Ceasar, E là phép cộng cịn D là
phép trừ). Vì vậy mơ hình trên được gọi là phương pháp mã hóa đối xứng.
Bản mã C được gởi đi trên kênh truyền. Do bản mã C đã được biến đổi so với
bản rõ P, cho nên những người thứ ba can thiệp vào kênh truyền để lấy được bản mã C,
thì khơng hiểu được ý nghĩa của bản mã. Đây chính là đặc điểm quan trọng của mã hóa,
cho phép đảm bảo tính bảo mật (confidentiality) của một hệ truyền tin đã đề cập trong
bài 1.
18
Một đặc tính quan trọng của mã hóa đối xứng là khóa phải được giữ bí mật giữa
người gởi và người nhận, hay nói cách khác khóa phải được chuyển một cách an tồn
từ người gởi đến người nhận. Có thể đặt ra câu hỏi là nếu đã có một kênh an tồn để
chuyển khóa như vậy thì tại sao khơng dùng kênh đó để chuyển bản tin, tại sao cần đến
chuyện mã hóa? Câu trả lời là nội dung bản tin thì có thể rất dài, cịn khóa thì thường
là ngắn. Ngồi ra một khóa cịn có thể áp dụng để truyền tin nhiều lần. Do đó nếu chỉ
chuyển khóa trên kênh an tồn thì đỡ tốn kém chi phí.
Đặc tính quan trọng thứ hai của một hệ mã hóa đối xứng là tính an tồn của hệ
mã. Như đã thấy ở phần mã hóa Ceasar, từ một bản mã có thể dễ dàng suy ra được bản
rõ ban đầu mà khơng cần biết khóa bí mật. Hành động đi tìm bản rõ từ bản mã mà khơng
cần khóa như vậy được gọi là hành động phá mã (cryptanalysis). Do đó một hệ mã hóa
đối xứng được gọi là an tồn khi và chỉ khi nó khơng thể bị phá mã (điều kiện lý tưởng)
hoặc thời gian phá mã là bất khả thi.
Trong phương pháp Ceasar, lý do mà phương pháp này kém an tồn là ở chỗ khóa
k chỉ có 25 giá trị, do đó kẻ phá mã có thể thử được hết tất cả các trường hợp của khóa
rất nhanh chóng. Phương pháp tấn cơng này được gọi là phương pháp vét cạn khóa
(brute- force attack). Chỉ cần nới rộng miền giá trị của khóa thì có thể tăng thời gian
phá mã đến một mức độ được coi là bất khả thi. Bảng dưới đây liệt kê một số ví dụ về
thời gian phá mã trung bình tương ứng với kích thước của khóa.
Thời gian thực hiện
Kích thước
Số lượng khóa
(tốc độ thử: 103
khóa (bít)
khóa/giây)
232 ≈ 4.3 x 109 35.8 phút
32
256 ≈ 7.2 x 1016 1142 năm
56
Thời gian thực hiện
(tốc độ thử: 109
khóa/giây)
2.15 mili giây
10.01 giờ
128
2128 ≈ 3.4 x 1038
5.4 x 1024 năm
5.4 x 1018 năm
168
2168 ≈ 3. 7 x 1050
5.9 x 1036 năm
5.9 x 1030 năm
hoán vị 26 ký tự
26! ≈ 4 x 1026
6.4 x 1012 năm
6.4 x 106 năm
(tốc độ CPU hiện nay khoảng 3x109 Hz, tuổi vũ trụ vào khoảng ≈ 1010 năm)
Bảng 2-1. Thời gian vét cạn khóa theo kích thước khóa
Chúng ta chấp nhận rằng một phương pháp mã hóa đối xứng là an tồn nếu phương
pháp đó có điều kiện sau:
Khơng tồn tại kỹ thuật tấn công tắt nào khác tốt hơn phương pháp vét cạn khóa
19
Miền giá trị khóa đủ lớn để việc vét cạn khóa là bất khả thi.
2.1.2. Các giải thuật mã hóa đối xứng
Thuật tốn mã hóa đối xứng có thể phân thành hai nhóm phụ
- Thuật tốn mã hóa theo khối (Block ciphers): trong đó từng khối dữ liệu trong văn
bản gốc ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ dài. Độ dài mỗi
khối gọi là kích thước khối (block size), thường được tính bằng đơn vị bit. Ví dụ thuật
tốn 3-Way có kích thước khối bằng 96 bit. Một số thuật tốn khối thơng dụng là: DES,
3DES, RC5, RC6, 3-Way, CAST, Camelia, Blowfish, MARS, Serpent, Twofish,
GOST...
- Thuật tốn mã hóa dịng (Stream ciphers): trong đó dữ liệu đầu vào được mã hóa
từng bit một. Các thuật tốn dịng có tốc độ nhanh hơn các thuật toán khối, được dùng
khi khối lượng dữ liệu cần mã hóa chưa được biết trước, ví dụ trong kết nối khơng dây.
Có thể coi thuật tốn dịng là thuật tốn khối với kích thước mỗi khối là 1 bit. Một số
thuật tốn dịng thơng dụng: RC4, A5/1, A5/2, Chameleon.
Chúng ta sẽ cùng xem xét một số giải thuật mã hóa đối xứng phổ biến.
1. Mã hóa thay thế đơn bảng (Monoalphabetic Substitution Cipher)
Xét lại phương pháp Ceasar với k=3:
Chữ ban đầu: 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
Chữ thay thế:
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
Phương pháp đơn bảng tổng quát hóa phương pháp Ceasar bằng cách dịng mã hóa
khơng phải là một dịch chuyển k vị trí của các chữ cái A, B, C, … nữa mà là một hoán
vị của 26 chữ cái này. Lúc này mỗi hoán vị được xem như là một khóa. Giả sử có hốn
vị sau:
Chữ ban đầu: 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
Khóa:
Z P B Y J R S K F L X Q N W V D H M G U T O I A E
C
Như vậy bản rõ: meet me after the toga party được mã hóa thành:
NJJU NJ ZRUJM UKJ UVSZ DZMUE
20
Quá trình giải mã được tiến hành ngược lại để cho ra bản rõ ban đầu.
Việc mã hóa được tiến hành bằng cách thay thế một chữ cái trong bản rõ thành một
chữ cái trong bản mã, nên phương pháp này được gọi là phương pháp thay thế. Số lượng
hoán vị của 26 chữ cái là 26!, đây cũng chính là số lượng khóa của phương pháp này.
Vì 26! là một con số khá lớn nên việc tấn công phá mã vét cạn khóa là bất khả thi (6400
thiên niên kỷ với tốc độ thử khóa là 109 khóa/giây). Vì vậy mã hóa đơn bảng đã được
xem là một phương pháp mã hóa an tồn trong suốt 1000 năm sau công nguyên.
Tuy nhiên vào thế kỷ thứ 9, một nhà hiền triết người Ả Rập tên là Al-Kindi
đã phát hiện ra một phương pháp phá mã khả thi khác. Phương pháp phá mã này
dựa trên nhận xét sau:
Trong ngôn ngữ tiếng Anh, tần suất sử dụng của các chữ cái khơng đều nhau, chữ
E được sử dụng nhiều nhất, cịn các chữ ít được sử dụng thường là Z, Q, J. Tương tự
như vậy đối với cụm 2 chữ cái (digram), cụm chữ TH được sử dụng nhiều nhất. Bảng
sau thống kê tần suất sử dụng của các chữ cái, cụm 2 chữ, cụm 3 chữ (trigram) trong
tiếng Anh:
Chữ cái (%)
E
13.05
T
9.02
O
8.21
A
7.81
Cụm 2 chữ (%)
TH
3.16
IN
1.54
ER
1.33
Cụm 3 chữ
THE
ING
AND
(%)
4.72
1.42
1.13
Từ (%)
THE
6.42
OF
4.02
AND
3.15
N
7.28
RE
AN
1.30
1.08
ION
ENT
1.00
0.98
TO
A
2.36
2.09
I
R
S
H
D
L
C
F
6.77
6.64
6.46
HE
AR
EN
1.08
1.02
1.02
FOR
TIO
ERE
0.76
0.75
0.69
IN
THAT
IS
1.77
1.25
1.03
5.85
4.11
3.60
2.93
TI
TE
AT
ON
1.02
0.98
0.88
0.84
HER
ATE
VER
TER
0.68
0.66
0.63
0.62
I
IT
FOR
AS
0.94
0.93
0.77
0.76
2.88
HA
0.84
THA
0.62
WITH
0.76
U
M
P
Y
2.77
2.62
2.15
1.51
OU
IT
ES
ST
0.72
0.71
0.69
0.68
ATI
HAT
ERS
HIS
0.59
0.55
0.54
0.52
WAS
HIS
HE
BE
0.72
0.71
0.71
0.63
21
W
G
B
V
K
X
J
Q
Z
1.49
1.39
1.28
1.00
0.42
0.30
0.23
0.14
0.09
OR
NT
HI
EA
0.68
0.67
0.66
0.64
RES
ILL
ARE
CON
0.50
0.47
0.46
0.45
VE
CO
DE
RA
0.64
0.59
0.55
0.55
0.55
NCE
ALL
EVE
ITH
0.45
YOU
0.44 WHICH
0.44
ARE
0.44
ON
0.44
OR
RO
TED
NOT
BY
BUT
HAVE
0.61
0.57
0.56
0.55
0.55
0.53
0.50
0.47
0.45
Bảng 2-2. Bảng liệt kê tần suất chữ cái tiếng Anh
Phương pháp mã hóa đơn bảng ánh xạ một chữ cái trong bản rõ thành một chữ cái
khác trong bản mã. Do đó các chữ cái trong bản mã cũng sẽ tuân theo luật phân bố tần
suất trên. Nếu chữ E được thay bằng chữ K thì tần suất xuất hiện của chữ K trong bản
mã là 13.05%. Đây chính là cơ sở để thực hiện phá mã.
Xét bản mã sau:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPPDPTGUDTMOHMQ
Số lần xuất hiện của các chữ cái là:
A
B
C
D
E
2
2
0
6
6
F
G
H
I
J
3
3
6
1
0
K
L
M
N
O
0
0
7
0
9
P 17
Q 3
R 0
S 10
T 4
U
V
W
X
Y
9
5
4
5
2
Z 13
Số lần xuất hiện của các digram (xuất hiện từ 2 lần trở lên) là:
DT
DZ
EP
FP
HM
2
2
3
3
2
HZ
MO
OH
OP
PD
2
2
2
3
3
PE
PO
PP
SX
SZ
2
3
2
3
2
TS
UD
UZ
VU
WS
2
2
3
2
2
XU
ZO
ZS
ZU
ZW
2
2
2
2
3
Do đó ta có thể đốn P là mã hóa của e, Z là mã hóa của t. Vì TH có tần suất cao
nhất trong các digram nên trong 4 digram ZO, ZS, ZU, ZW có thể đốn ZW là th. Chú
ý rằng trong dịng thứ nhất có cụm ZWSZ, nếu giả thiết rằng 4 chữ trên thuộc một từ
thì từ đó có dạng th_t, từ đó có thể kết luận rằng S là mã hóa của a (vì từ THAT có tần
suất xuất hiện cao). Như vậy đến bước này, ta đã phá mã được như sau:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSX
22
AIZ
t a
e e t
a th a t e e a
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
e t
ta t ha e ee a e th
t
EPYEPOPDZSZUFPOMBZWPPDPTGUDTMOHMQ
e e e tat e
thee e
a
a
Cứ tiếp tục như vậy, dĩ nhiên việc thử khơng phải lúc nào cũng sn sẻ,
có những lúc phải thử và sai nhiều lần. Cuối cùng ta có được bản giải mã sau
khi đã tách từ như sau:
it was disclosed yesterday that several
informal but direct contacts have been
made with political representatives of
the enemy in moscow
Như vậy việc phá mã dựa trên tần suất chữ cái tốn thời gian ít hơn nhiều so
với con số 6400 thiên niên kỷ. Lý do là ứng một chữ cái trong bản gốc thì cũng là
một chữ cái trong bản mã nên vẫn bảo toàn quy tắc phân bố tần suất của các chữ
cái. Để khắc phục điểm yếu này, có hai phương pháp. Phương pháp thứ nhất là mã
hóa nhiều chữ cái cùng lúc. Phương pháp thứ hai là làm sao để một chữ cái trong
bản rõ thì có tương ứng nhiều chữ cái khác nhau trong bản mã.
2. Mã hóa DES (Data Encryption Standard)
Chuẩn mã hoá dữ liệu DES được Văn phịng tiêu chuẩn của Mỹ (U.S National
Bureau for Standards) cơng bố năm 1971 để sử dụng trong các cơ quan chính phủ liên
bang. Giải thuật được phát triển tại Cơng ty IBM dựa trên hệ mã hoá LUCIFER của
Feistel.
DES là thuật toán mã hoá khối (block algrithm), với cỡ của một khối là 64 bít.
Một khối 64 bít bản rõ được đưa vào, sau khi mã hoá dữ liệu đưa ra là một khối bản mã
64 bít. Cả mã hố và giải mã đều sử dụng cùng một thuật toán và khố. Khố mã có độ
dài 64 bít, trong đó có 8 bít chẵn lẻ được sử dụng để kiểm sốt lỗi. Các bít chẵn lẻ nằm
ở các vị trí 8, 16, 24,... , 64. Tức là cứ 8 bít khố thì trong đó có 1 bít kiểm sốt lỗi, bít
này qui định số bít có giá trị “1” của khối 8 bít đó theo tính bù chẵn.
Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật thay
thế và hoán vị bản rõ dựa trên khố. Đó là các vịng lặp. DES sử dụng 16 vịng lặp, nó
23
áp dụng cùng một kiểu kết hợp của các kỹ thuật trên khối bản rõ 16 lần (Như hình vẽ)
Thuật toán chỉ sử dụng các phép toán số học và lơgíc trên các số 64 bít, vì vậy nó
dễ dàng thực hiện vào những năm 1970 trong điều kiện về công nghệ phần cứng lúc
bấy giờ. Ban đầu, sự thực hiện các phần mềm kiểu này rất thô sơ, nhưng hiện tại thì
việc đó đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật tốn đã tạo nên ý tưởng sử
dụng chíp với mục đích đặc biệt này.
24
L0
K1
K2
K16
Hình 2-2: Sơ đồ mã DES
Tóm lại DES có một số đặc điểm sau:
25