Tải bản đầy đủ (.pdf) (13 trang)

bài giảng kỹ thuật an toàn mạng

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 (118.62 KB, 13 trang )

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 ton 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.
Nhng 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
Access rights
login/password
data encrytion
Physical protection
firewalls

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ý, lu 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

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, nhng 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; nhng 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,
nhng 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; nhng 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; nhng 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
Messa
g
e
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 trng 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ử 2
m
message để tìm ra một
message với digest mong muốn tơng ứng và thực hiện 2
m/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à 2
64
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

×