Trước khi tìm hiểu các vấn đề liên quan đến phương thức phá hoại và các biện
pháp bảo vệ cũng nhưthiết lập các chính sách về bảo mật, phần sau đây sẽ trình
bày một số khái niệm liên quan đến bảo mật thông tin trên mạng Internet.
13 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1389 | Lượt tải: 0
Nội dung tài liệu Bài giảng Kỹ thuật an toàn mạng - Các vấn đề về an ninh an toàn mạng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 1
Các vấn đề về an ninh an toμn mạng
I. Một số khái niệm về bảo mật
Tr−ớc khi tìm hiểu các vấn đề liên quan đến ph−ơng thức phá hoại và các biện
pháp bảo vệ cũng nh− thiết lập các chính sách về bảo mật, phần sau đây sẽ trình
bày một số khái niệm liên quan đến bảo mật thông tin trên mạng Internet.
1 Đối t−ợng tấn công mạng (Intruder):
Là những cá nhân hoặc các tổ chức sử dụng các kiến thức về mạng và các công
cụ phá hoại (phần mềm hoặc phần cứng) để dò tìm các điểm yếu, lỗ hổng bảo mật
trên hệ thống, thực hiện các hoạt động xâm nhập và chiếm đoạt tài nguyên mạng
trái phép.
Một số đối t−ợng tấn công mạng là:
- Hacker: Là những kẻ xâm nhập vào mạng trái phép bằng cách sử dụng
các công cụ phá mật khẩu hoặc khai thác các điểm yếu của các thành
phần truy nhập trên hệ thống
- Masquerader: Là những kẻ giả mạo thông tin trên mạng. Một số hình
thức giả mạo nh− giả mạo địa chỉ IP, tên miền, định danh ng−ời dùng
...
- Eavesdropping: Là những đối t−ợng nghe trộm thông tin trên mạng, sử
dụng các công cụ sniffer; sau đó dùng các công cụ phân tích và debug
để lấy đ−ợc các thông tin có giá trị
Những đối t−ợng tấn công mạng có thể nhằm nhiều mục đích khác nhau: nh−
ăn cắp những thông tin có giá trị về kinh tế, phá hoại hệ thống mạng có chủ định,
hoặc cũng có thể chỉ là những hành động vô ý thức, thử nghiệm các ch−ơng trình
không kiểm tra cẩn thận ...
2 Các lỗ hổng bảo mật:
Các lỗ hổng bảo mật là những điểm yếu kém trên hệ thống hoặc ẩn chứa trong
một dịch vụ mà dựa vào đó kẻ tấn công có thể xâm nhập trái phép để thực hiện các
hành động phá hoại hoặc chiếm đoạt tài nguyên bất hợp pháp.
Nguyên nhân gây ra những lỗ hổng bảo mật là khác nhau: có thể do lỗi của bản
thân hệ thống, hoặc phần mềm cung cấp, hoặc do ng−ời quản trị yếu kém không
hiểu sâu sắc các dịch vụ cung cấp ...
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 2
Mức độ ảnh h−ởng của các lỗ hổng là khác nhau. Có những lỗ hổng chỉ ảnh
h−ởng tới chất l−ợng dịch vụ cung cấp, có những lỗ hổng ảnh h−ởng nghiêm trọng
tới toàn bộ hệ thống ...
II. Một số hình thức tấn công mạng
Có thể tấn công mạng theo một trong các hình thức sau đây:
- Dựa vào những lỗ hổng bảo mật trên mạng: Những lỗ hổng này có thể là các
điểm yếu của dịch vụ mà hệ thống đó cung cấp; Ví dụ những kẻ tấn công lợi dụng
các điểm yếu trong các dịch vụ mail, ftp, web ... để xâm nhập và phá hoại
Hình 1 - Các hình thức tấn công mạng
- Sử dụng các công cụ để phá hoại: Ví dụ sử dụng các ch−ơng trình phá khoá
mật khẩu để truy nhập vào hệ thống bất hợp pháp; Lan truyền virus trên hệ thống;
cài đặt các đoạn mã bất hợp pháp vào một số ch−ơng trình.
Nh−ng kẻ tấn công mạng cũng có thể kết hợp cả 2 hình thức trên với nhau để
đạt đ−ợc mục đích.
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 3
- Mức 1 (Level 1): Tấn công vào một số dịch vụ mạng: nh− Web,
Email, dẫn đến các nguy cơ lộ các thông tin về cấu hình mạng. Các
hình thức tấn công ở mức này có thể dùng DoS hoặc spam mail.
- Mức 2 (Level 2): Kẻ phá hoại dùng tài khoảng của ng−ời dùng hợp
pháp để chiếm đoạt tài nguyên hệ thống; (Dựa vào các ph−ơng thức
tấn công nh− bẻ khoá, đánh cắp mật khẩu ...); kẻ phá hoại có thể thay
đổi quyền truy nhập hệ thống qua các lỗ hổng bảo mật hoặc đọc các
thông tin trong tập tin liên quan đến truy nhập hệ thống nh−
/etc/passwd
- Từ Mức 3 đến mức 5: Kẻ phá hoại không sử dụng quyền của ng−ời
dùng thông th−ờng; mà có thêm một số quyền cao hơn đối với hệ
thống; nh− quyền kích hoạt một số dịch vụ; xem xét các thông tin
khác trên hệ thống
- Mức 6: Kẻ tấn công chiếm đ−ợc quyền root trên hệ thống.
III. Các mức bảo vệ an toàn mạng
Vì không có một giải pháp an toà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 lớp "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 các máy tính, đặc biệt là trong các server của mạng. Hình sau mô tả
các lớp rào chắn thông dụng hiện nay để bảo vệ thông tin tại các trạm của mạng
Information
A
cc
es
s
rig
ht
s
lo
gi
n/
pa
ss
w
or
d
da
ta
e
nc
ry
tio
n
Ph
ys
ic
al
p
ro
te
ct
io
n
fir
ew
al
ls
Hình 2 - Các mức độ bảo vệ mạng
Nh− minh hoạ trong hình trên, các lớp bảo vệ thông tin trên mạng gồm:
- 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 (ở đây là thông tin) của mạng và quyền hạn (có thể thực hiện
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 4
những thao tác gì) trên tài nguyên đó. Hiện nay việc kiểm soát ở mức
này đ−ợc áp dụng sâu nhất đối với tệp
- Lớp bảo vệ tiếp theo là hạn chế theo tài khoản truy nhập gồm đăng ký
tên/ và mật khẩu t−ơng ứng. Đây là ph−ơng pháp bảo vệ phổ biến nhất
vì nó đơn giản, ít tốn kém và cũng rất có hiệu quả. Mỗi ng−ời sử dụng
muốn truy nhập đ−ợc vào mạng sử dụng các tài nguyên đều phải có
đăng ký tên và mật khẩu. Ng−ời quản trị hệ thố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 tuỳ theo thời gian và không gian.
- Lớp thứ ba là sử dụng các ph−ơng pháp mã hoá (encryption). Dữ liệu
đ−ợc biến đổi từ dạng "đọc đ−ợc" sang dạng không "đọc đ−ợc" theo
một thuật toán nào đó. Chúng ta sẽ xem xét các ph−ơng thức và các
thuật toán mã hoá hiện đ−ợc sử dụng phổ biến ở phần d−ới đây.
- Lớp thứ t− là bảo vệ vật lý (physical protection) nhằm ngăn cản các
truy nhập vật lý bất hợp pháp vào hệ thống. Th−ờng dùng các biện
pháp truyền thống nh− ngăn cấm ng−ời không có nhiệm vụ vào phòng
đặt máy, dùng hệ thống khoá trên máy tính, cài đặt các hệ thống báo
động khi có truy nhập vào hệ thống ...
- Lớp thứ năm: Cài đặt các hệ thống bức t−ờng lửa (firewall), nhằm
ngăn chặn các thâm nhập trái phép và cho phép lọc các gói tin mà ta
không muốn gửi đi hoặc nhận vào vì một lý do nào đó.
IV. Các ph−ơng thức mã hoá
Một trong những biện pháp bảo mật th−ờng sử dụng đó là áp dụng các cơ chế
mã hoá. Sau đây sẽ phân tích một số cơ chế mã hoá đảm bảo tính an toàn và tin cậy
dữ liệu th−ờng đ−ợc sử dụng trong các dịch vụ trên mạng Internet
1. Đặc điểm chung của các ph−ơng thức mã hóa:
Trong các ph−ơng thức mã hóa, mỗi ph−ơng thức đều chủ yếu tập trung giải
quyết 6 vấn đề chính nh− sau:
- Authentication - Hoạt động kiểm tra tính xác thực một thực thể trong
giao tiếp
- Authorization - Hoạt động kiểm tra thực thể đó có đ−ợc phép thực hiện
những quyền hạn cụ thể nào.
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 5
- Confidential - Tính bảo mật; Xác định mức độ bảo mật đối với mỗi
ph−ơng thức bảo mật.
- Integrity - Tính toàn vẹn: Kiểm tra tính toàn vẹn dữ liệu khi sử dụng
mỗi ph−ơng thức bảo mật cụ thể.
- Nonrepudiation - Tính không thể phủ nhận. Xác định tính xác thực của
chủ thể gây ra hành động
- Availability - Khả năng thực hiện ph−ơng thức bảo mật đó trong môi
tr−ờng và điều kiện thực tế.
a) Authentication:
Là hoạt động liên quan đến kiểm tra tính đúng đắn một thực thể giao tiếp trên
mạng. Một thực thể có thể là một ng−ời, một ch−ơng trình máy tính, hoặc một thiết
bị phần cứng. Các hoạt động kiểm tra tính xác thực đ−ợc đánh giá là quan trọng
nhất trong các hoạt động của một ph−ơng thức bảo mật. Một hệ thống thông th−ờng
phải thực hiện kiểm tra tính xác thực của một thực thể tr−ớc khi thực thể đó thực
hiện kết nối với hệ thống. Cơ chế kiểm tra tính xác thực của các ph−ơng thức bảo
mật dựa vào 3 mô hình chính sau: Những thông tin biết tr−ớc, những thông tin đã
có và những thông tin xác định tính duy nhất.
- Với cơ chế kiểm tra dựa vào mô hình những thông tin biết tr−ớc, đối
t−ợng cần kiểm tra cần phải cung cấp những thông tin mà chúng biết,
ví dụ nh− password, hoặc mã số thông số cá nhân PIN (Personal
information number).
- Với cơ chế kiểm tra dựa vào mô hình những thông tin đã có, đối t−ợng
kiểm tra cần phải thể hiện những thông tin mà chúng sở hữu, ví dụ nh−
private key, hoặc số thẻ tín dụng.
- Với cơ chế kiểm tra dựa vào mô hình những thông tin xác định tính
duy nhất, đối t−ợng kiểm tra cần phải có những thông tin để định danh
tính duy nhất của mình ví dụ nh− thông qua giọng nói hoặc
fingerprint.
b) Authorization:
Là hoạt động kiểm tra tính hợp lệ có đ−ợc cấp phát thực hiện một hành động cụ
thể hay không. Do vậy hoạt động này liên quan đến các dịch vụ cấp phát quyền
truy cập, đảm bảo cho phép hoặc không cho phép truy nhập đối với những tài
nguyên đã đ−ợc phân quyền cho các thực thể. Những hoạt động ở đây có thể là
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 6
quyền đọc dữ liệu, viết, thi hành một ch−ơng trình hoặc sử dụng một thiết bị phần
cứng... Cơ chế thực hiện việc phân quyền dựa vào 2 mô hình chính sau: mô hình
ACL (Access Control list) và mô hình dựa trên cơ chế thiết lập các chính sách
(Policy).
c) Confidential:
Đánh giá mức độ bảo mật , hay tính an toàn đối với mỗi ph−ơng thức bảo mật,
mức độ có thể phục hồi dữ liệu từ những ng−ời không có quyền đối với dữ liệu đó.
Có thể bảo mật dữ liệu theo kiến trúc end-to-end hoặc link-by-link. Với mô hình
end-to-end, dữ liệu đ−ợc bảo mật trong toàn bộ quá trình xử lý, l−u truyền trên
mạng; Với mô hình link-by-link dữ liệu chỉ đ−ợc bảo vệ trên các đ−ờng truyền vật
lý
d) Integrity:
Tính toàn vẹn; hoạt động này đánh giá khả năng sửa đổi dữ liệu so với dữ liệu
nguyên thủy ban đầu; Một ph−ơng thức bảo mật có tính toàn vẹn dữ liệu khi nó
đảm bảo các dữ liệu mã hóa không thể bị thay đổi nội dung so với tài liệu gốc (khi
đã đ−ợcg giải mã) và trong tr−ờng hợp những kẻ tấn công trên mạng sửa đổi nội
dung dữ liệu đã mã hóa thì không thể khôi phục lại dạng ban đầu của dữ liệu.
e) Nonreputation:
Tính không thể phủ nhận; Xác định tính xác thực của chủ thể gây ra hành động
có thực hiện bảo mật. (Ví dụ chữ ký điện tử sử dụng trong hệ thống Mail cho phép
xác định chính xác đối t−ợng "ký"- ng−ời gửi message đó.)
f) Availability:
Đánh giá tính thực thi của một ph−ơng thức bảo mật. Ph−ơng thức bảo mật đó
phải có khả năng thực hiện trong thực tế đối với các hệ thống máy tính, dữ liệu và
thực hiện với các tài nguyên phần cứng, phần mềm; đồng thời phải đảm bảo các
yêu cầu về tốc độ tính toán, khả năng chuyển đổi, tính t−ơng thích giữa các hệ
thống khác nhau.
2. Các ph−ơng thức mã hóa:
a) Ph−ơng thức mã hóa dùng khoá bí mật (Secret Key Crytography)
Sơ đồ sau đây minh hoạ quá trình làm việc của ph−ơng thức mã hoá sử dụng
khoá bí mật:
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 7
Hình 3 - Ph−ơng thức mã hóa đối xứng
Đây là ph−ơng thức mã hoá đối xứng: Message ở dạng Plaintext (dạng đọc
đ−ợc) đ−ợc mã hoá sử dụng Private Key (khoá mà chỉ có ng−ời mã hoá mới biết
đ−ợc) tạo thành message đ−ợc mã hoá (Ciphertext). ở phía nhận, message mã hoá
đ−ợc giải mã cùng với Private Key mã hoá ban đầu thành dạng Plaintext.
Điểm chú ý của ph−ơng pháp mã hoá này là việc sử dụng khoá bí mật cho cả
quá trình mã hoá và quá trình giải mã. Do đó, nh−ợc điểm chính của ph−ơng thức
này là cần có quá trình trao đổi khoá bí mật, dẫn đến tình trạng dễ bị lộ khoá bí
mật
Có hai loại mã hoá đối xứng nh− sau: Mã hoá theo từng khối và mã hoá theo
bits dữ liệu.
- Các thuật toán mã hoá đối xứng theo từng khối dữ liệu (Block Cipher) thực
hiện chia message ở dạng plaintext thành các khối ví dụ 64 bits (hoặc 2n bits), sau
đó tiến hành mã hoá từng khối này. Đối với khối cuối cùng nếu không đủ 64 bits sẽ
đ−ợc bù thêm phần dữ liệu đệm (padding). Bên nhận sẽ thực hiện giải mã theo từng
khối.
- Mã hoá theo từng bits dữ liệu (Stream Ciphers)
Bảng sau đây mô tả một số ph−ơng pháp mã hoá đối xứng sử dụng khoá bí mật
Tên thuật toán Chế độ mã hoá Chiều dài khoá
DES Theo khối 56
IDEA Theo khối 128
RC2 Theo khối 2048
RC4 Theo bit 2048
RC5 Theo khối 2048
Encrytion Plaintext Ciphertex Decrytion
Private key
Plaintext
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 8
Để khắc phục điểm hạn chế của ph−ơng pháp mã hoá đối xứng là quá trình trao
đổi khoá bí mật, ng−ời ta đã sử dụng ph−ơng pháp mã hoá phi đối xứng sử dụng
một cặp khoá t−ơng ứng với nhau gọi là ph−ơng thức mã hoá phi đối xứng dùng
khoá công khai (Public-Key Crytography).
b) Ph−ơng thức mã hóa dùng khoá công khai (Public-Key Crytography)
Ph−ơng thức mã hóa dùng khoá công khai đ−ợc phát minh bởi Whitfield Diffie
và Martin Hellman vào năm 1975; Ph−ơng thức mã hóa này sử dụng 2 khóa là
Public key và Private Key có các quan hệ toán học với nhau. Trong đó Private Key
đ−ợc giữ bí mật và không có khả năng bị lộ do không cần phải trao đổi trên mạng;
Public key không phải giữ bí mật và mọi ng−ời đều có thể nhận đ−ợc khoá này. Do
ph−ơng thức mã hóa này sử dụng 2 khóa khác nhau, nên ng−ời ta gọi nó là ph−ơng
thức mã hóa phi đối xứng. Mặc dù Private key đ−ợc giữ bí mật, nh−ng không giống
với "secret Key" đ−ợc sử dụng trong ph−ơng thức mã hóa đối xứng sử dụng khoá bí
mật do Private Key không đ−ợc trao đổi trên mạng.
Public key và Private key t−ơng ứng của nó có quan hệ toán học với nhau và
đ−ợc sinh ra sau khi thực hiện các hàm toàn học; nh−ng các hàm toán học này luôn
thoả mãn điều kiện là sao cho không thể tìm đ−ợc private key từ public key và
ng−ợc lại. Do đó, một cặp khoá public key và private key t−ơng ứng đ−ợc gọi là
key pair.
Do có mối quan hệ toán học với nhau, một message đ−ợc mã hóa bằng public
key chỉ có thể giải mã đ−ợc bằng private key t−ơng ứng; một message đ−ợc mã hóa
bằng private key chỉ có thể giải mã đ−ợc bằng public key t−ơng ứng của nó.
Thuật toán Public key có tính thuận nghịch nếu nó có khả năng sử dụng cả cho
bảo mật và ký điện tử. Nó là không có tính thuận nghịch nếu chỉ có khả năng ký.
Với các thuật toán bất thuận nghịch, private key chỉ có thể mã hóa plaintext (tức là
quá trình ký) mà không có khả năng giải mã ciphertext. Một loại khác của thuật
toán mã hóa public-key là hoặc không thể mã hóa hoặc không thể ký; thuật toán
này đ−ợc gọi là thuật toán key exchange (thuật toán chuyển đổi khóa).
Thuật toán Public-key dựa trên mối quan hệ toán học giữa Public key và private
key. Bảng sau đây liệt kê các thuật tóan public-key thông dụng nh− sau:
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 9
Tên Thuật toán Type Nền tảng toán học
DSA Digital signature Thuật toán rời rạc
RSA Digital signature, Key
Exchange
Tìm thừa số
- RSA, là tên của 3 nhà toán học đã tìm ra ph−ơng thức mã hóa này, đó
là Rivest, Shamir và Adleman. RSA là thuật toán public-key thông
dụng nhất từ tr−ớc tới nay. RSA có thể sử dụng cả cho mã hóa, ký, và
key exchange. Chiều dài của key có thể thay đổi, thông th−ờng trong
phạm vi từ 512 đến 2048 bits. Việc lựa chọn chiều dài key phải đảm
bảo cân bằng giữa tốc độ tính toán và độ phức tạp của ph−ơng thức mã
hóa.
- DSA (Digital Signature Algorithm), ph−ơng thức mã hóa này đ−ợc ra
đời từ chuẩn DSS (Digital Signature Standard), đ−ợc giới thiệu vào
năm 1994. DSA chỉ có thể ký vào một message; nó không thể dùng
cho mã hóa bảo mật và key exchange
Cơ chế làm việc của ph−ơng pháp mã hoá sử dụng khoá công khai đ−ợc mô tả
bằng hình sau:
Hình 4 - Ph−ơng thức mã hóa phi đối xứng
Giả sử A muốn gửi cho B một message đ−ợc mã hóa theo ph−ơng thức public-
key. A sử dụng Public key của B để mã hóa Plaintext tạo thành ciphertext (A có thể
nhận đ−ợc Public Key của B do Public Key là khoá công khai) . Sau đó ciphertext
này đ−ợc chuyển tới B. ở phía nhận B sử dụng private key của mình để giải mã
Ciphertext và đọc đ−ợc message ban đầu của A.
Do đó, để thực hiện ph−ơng thức mã hóa dùng khoá công khai, có một số vấn
đề cần giải quyết nh− sau:
Encrytion
Public
k
Plaintext Ciphertex Decrytion Plaintext
Private key
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 10
- Câu hỏi 1: Làm thế nào để A có thể kiểm tra tính xác thực của Public
Key của B?
- Câu hỏi 2: Làm thế nào để B biết đ−ợc chính xác là message đó đ−ợc
gửi đi từ A.
Chúng ta xem xét các tình huống có thể bị tấn công đối với ph−ơng thức mã hoá
phi đối xứng nh− sau:
- Tr−ờng hợp có kẻ nghe trộm thông tin trao đổi trên mạng: C là một
ng−ời nghe trộm, C có thể lấy đ−ợc ciphertext chuyển từ A đến B,
nh−ng không thể giải mã đ−ợc message này vì C không có private key
của B.
- Tr−ờng hợp giả mạo khoá công khai: Vấn đề đặt ra là làm thế nào để
A có thể biết chính xác Public key mà A sử dụng đúng là Public Key
của B. Trong tr−ờng hợp này, nếu D giả mạo B gửi Public key của D
đến A (A nhận đ−ợc Public key là của D mà không phải là của B), và
A vẫn mã hoá message của mình; khi đó message đến D sẽ vẫn giải
mã đ−ợc do D có private key của mình. Để khắc phục hạn chế này
ng−ời ta xây dựng một hệ thống các tổ chức thứ ba đóng vai trò trung
gian trong việc xác thực tín đúng đắn của một Public Key. Đó là các tổ
chức xây dựng hệ thống chứng thực điện tử (trong phần 3 sẽ trình bày
kỹ hơn về Ceriticate)
- Tr−ờng hợp sử dụng Private Key để mã hoá: nếu nh− A sử dụng
private key của mình để mã hóa một message và gửi message đó tới
B? Khi đó, B có thể sử dụng Public key của A để giải mã message từ
A. Một ng−ời thứ ba C cũng có Public key của A (public key là một
khóa công khai) nên nếu nhận đ−ợc message gửi từ A cũng có thể giải
mã đ−ợc message và đọc nó. Do đó, A không thể sử dụng private key
của mình để mã hóa một message. Tuy nhiên dựa vào đặc điểm ánh xạ
1:1 giữa Private Key và Public Key ta có thể thấy rằng message đ−ợc
mã hoá là đ−ợc gửi từ A mà không phải là một ng−ời khác. Điều này
cũng trả lời cho câu hỏi 2.
Một hạn chế của ph−ơng thức mã hóa dùng khoá công khai là làm giảm tốc độ
thực hiện thao tác xuống từ 100 đến 1000 lần so với ph−ơng thức mã hóa đối xứng.
Do đó, ph−ơng thức mã hóa này ít đ−ợc sử dụng để mã hóa với dữ liệu kích th−ớc
lớn. Ph−ơng thức này th−ờng đ−ợc sử dụng cho giai đoạn khởi đầu của kết nối giữa
hai thực thể cần giao tiếp với nhau và sau đó một khoá bí mật (secret key) đ−ợc tạo
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 11
để thực hiện qúa trình trao đổi dữ liệu (khoá bí mật này chỉ tồn tại trong một
session làm việc duy nhất). Việc sử dụng kỹ thuật mã hoá dùng dùng khoá công
khai cho quá trình bắt tay giữa hai thực thể cần trao đổi thông tin có yêu cầu bảo
mật kết hợp với thuật toán dùng khoá bí mật cho quá trình trao đổi dữ liệu tạo
thành một ph−ơng thức mã hóa lai. Để thực hiện đ−ợc ph−ơng thức mã hoá lai,
Netscape đã đ−a ra giao thức SSL thực hiện các quá trình trên. Phần 3 trình bày về
tạo kết nối bảo mật sẽ trình bày kỹ hơn về vấn đề này.
Qua các phân tích trên, chúng ta thấy rằng có hai khả năng cần phải khắc phục
khi sử dụng ph−ơng thức mã hóa dựa trên nền tảng Public key đó là:
- Nếu sử dụng Public key để mã hóa một message thì đảm bảo message
đó là hoàn toàn bảo mật; nh−ng cần phải kiểm tra tính xác thực của
public key (1)
- Nếu sử dụng Private key để mã hóa một message thì có thể giải mã
đ−ợc bởi nhiều ng−ời có đ−ợc public key; nh−ng lại có thể sử dụng
ph−ơng thức này để kiểm tra tính xác thực của một ng−ời ký vào
message đó. (2)
Vấn đề đặt ra là có thể tận dụng đ−ợc hai đặc điểm này để đảm bảo phiên giao
dịch là hoàn toàn bảo mật và tin cậy. Cụ thể nh− sau:
- Ng−ời ta sẽ sử dụng private key để ký vào một message; mà nội dung
của message này là public key của ng−ời đó. Quá trình này đảm bảo
đ−ợc rằng public key đúng là của ng−ời; điều này khắc phục đ−ợc
nh−ợc điểm (1) đã nêu ở trên.
- Sau đó một message đ−ợc mã hóa bằng public key vừa gửi đến đảm
bảo rằng chỉ có ng−ời có private key của nó mới có khả năng giải mã
đ−ợc. Điều này khắc phục đ−ợc nh−ợc điểm (2) đã nêu ở trên.
c) Ph−ơng thức mã hoá một chiều - thuật toán Băm
Để đảm bảo tính toàn vẹn của dữ liệu không bị thay đổi so với dữ liệu ban đầu,
ng−ời ta đ−a ra các ph−ơng thức mã hoá một chiều sử dụng các thuật toán Băm .
Hoạt động của ph−ơng thức mã hoá này đ−ợc minh hoạ trong hình sau:
Hình 5 - Mã hóa một chiều
one-way
function
Plain text Message digest (hash)
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 12
Hình trên mô tả hoạt động của ph−ơng thức mã hóa 1 chiều (Message - Digest);
Theo đó, đầu ra của ph−ơng thức này là một Message Digest có chiều dài cố định
(message này gọi là message digest, hoặc digest hoặc hash). Với mỗi đầu vào
Plaintext sẽ chỉ có duy nhất một kết quả đầu ra t−ơng ứng và từ Message Digest
không thể tìm ra Message dạng Plaintext ban đầu. Message (dạng Plain text) sau
khi thực hiện hàm hashing sẽ tạo ra một chuỗi các ký tự - đặc tr−ng cho message
đầu vào. Giải thuật message digest là một thuận toán một chiều hay th−ờng gọi là
thuật toán hash. Ph−ơng thức mã hóa này không sử dụng để mã hóa dữ liệu mà
th−ờng sử dụng để kiểm tra tính toán vẹn của dữ liệu trong quá trình truyền thông
tin trên mạng.
Các thuật toán hashing có 3 đặc điểm chính nh− sau:
- Không có khả năng tạo ra message ban đầu dựa trên digest của nó (nói
cách khác là thuật toán hashing phải đảm bảo có tính một chiều,
không thể thực hiện theo chiều ng−ợc lại)
- Không thể tìm ra một message gốc từ một digest đặc biệt
- Không thể tìm 2 message khác nhau có cùng một digest giống nhau
Nếu chiều dài của digest là m bits, nó sẽ cần phải thử 2m message để tìm ra một
message với digest mong muốn t−ơng ứng và thực hiện 2m/2 meesage để tìm 2
message có cùng một digest. Do đó các hàm thực hiện message-digest phải có đầu
ra ít nhất là 128 bits , vì tối thiểu là 264 là không thể tính toán đ−ợc với các khả
năng tính toán hiện nay. Bảng sau đây mô tả một số thuật toán hashing th−ờng sử
dụng:
Thuật toán Chiều dài của digest (bits)
MD2 128
MD4 128
MD5 128
SHA-1 160
SHA 160
d) Message Authentication Codes - MAC
MAC là một dữ liệu có chiều dài cố định, đ−ợc gửi cùng với một message để kiểm
tra tính toàn vẹn dữ liệu của message đó. Các ph−ơng thức mã hóa dùng khóa bí
Bài giảng Kỹ thuật an toàn mạng
GV. Nguyễn Anh Tuấn – Trung tâm TH-NN Trí Đức 13
mật và khóa công khai có thể đ−ợc sử dụng nh− là nền tảng của việc tạo các MACs.
Một cách thông dụng để tạo MAC là dùng nhờ một block cipher text (một đoạn
text đã đ−ợc mã hóa ) đ−ợc tạo từ ph−ơng thức mã hóa đối xứng sử dụng khóa bí
mật. Các giao dịch tài chính trên mạng đã sử dụng ph−ơng thức này một thời gian
dài để bảo vệ các giao dịch điện tử giữa các nhà bank trên mạng. Một hàm mã hóa
hashing đ−ợc sử dụng kết hợp giữa một message và một khóa bí mật để tạo ra
MAC. ở phía ng−ời nhận message, (chú ý ng−ời này dùng chung khóa bí mật với
phía ng−ời gửi), tính toán hash theo dữ liệu gửi đến cùng với khóa bí mật của họ
để tạo thành một MAC khác. Nếu 2 MAC này trùng với nhau, ng−ời nhận sẽ kết
luận rằng message đó là đ−ợc gửi từ một ng−ời mà ng−ời đó đã biết khóa bí mật và
message đó hoàn toàn không bị sửa chữa trong khi truyền dữ liệu. Quá trình này
đ−ợc gọi là hàm keys hash, và t−ơng ứng với nó MAC đ−ợc gọi là HMAC
Các file đính kèm theo tài liệu này:
- an_ninh_mang.pdf