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

Giáo trình an toàn mạng ppt

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.15 MB, 107 trang )


1
CHƯƠNG 1 – TỔNG QUAN VỀ AN NINH MẠNG

1.1. Đối tượng và phương pháp nghiên cứu
 Bảo mật hệ thống thông tin
Thông tin cho có giá trị cao khi đảm bảo tính chính xác và kịp thời, hệ thống
chỉ có thể cung cấp các thông tin có giá trị thực sự khi các chức năng của hệ thống
đảm bảo hoạt động đúng đắn. Mục tiêu của việc đảm bảo an toàn an ninh cho hệ
thống thông tin là đưa ra các giải pháp và ứng dụng các giải pháp này vào hệ thống
để loại trừ hoặc giảm bớt các nguy hiểm. Hiện nay các cuộc tấn công ngày càng tinh
vi, gây ra mối đe dọa tới sự an toàn thông tin. Các cuộc tấn công có thể đến từ nhiều
hướng theo các cách khác nhau, do đó cần phải đưa ra các chính sách và biện pháp
đề phòng cần thiết.
 Các nguy cơ đe dọa
Có rất nhiều nguy cơ ảnh hưởng đến sự an toàn của một hệ thống thông tin.
Các nguy cơ này có thể xuất phát từ các hành vi tấn công trái phép bên ngoài hoặc
từ bản thân các lỗ hổng bên trong hệ thống.
Tất cả các hệ thống đều mang trong mình lỗ hổng hay điểm yếu. Nhìn một
cách khái quát, ta có thể phân ra thành các loại điểm yếu chính sau:
 Phần mềm: Việc lập trình phần mềm đã ẩn chứa sẵn các lỗ hổng. Theo ước
tính cứ 1000 dòng mã sẽ có trung bình từ 5-15 lỗi, trong khi các Hệ điều
hành được xấy dựng từ hàng triệu dòng mã(Windows: 50 triệu dòng mã).
 Phần cứng: Lỗi thiết bị phần cứng như Firewall, Router, . . .
 Chính sách: Đề ra các quy định không phù hợp, không đảm bảo an ninh, ví
dụ như chính sách về xác thực, qui định về nghĩa vụ và trách nhiệm người
dùng trong hệ thống.
 Sử dụng: Cho dù hệ thống được trang bị hiện đại đến đâu do những do con
người sử dụng và quản lý, sự sai sót và bất cẩn của người dùng có thể gây ra
những lỗ hổng nghiêm trọng.
 Một số ví dụ về bảo vệ an toàn thông tin



 Truyền file:







A

B

C
A và B trao đổi
thông tin riêng tư
C giữ chặn
thông tin
trao đổi giữa
A và B

2
 Trao đổi thông điệp









 Giả mạo






Qua thực tế người ta nhận thấy rằng, vấn đề bảo mật trong hệ thống mạng
hay liên mạng là một bài toán rất phức tạp, vì:
- Không tồn tại phương pháp thích hợp cho mọi trường hợp
- Các cơ chế bảo mật luôn đi đôi với các biện pháp đối phó
- Lựa chọn những giải pháp cụ thể đối với từng ngữ cảnh cụ thể.
1.2. Các dịch vụ, cơ chế an toàn an ninh thông tin và các dạng tấn công vào hệ
thống mạng.
 Phân loại các dịch vụ an toàn an ninh, bao gồm:
- Bảo mật riêng tư
- Xác thực
- Toàn vẹn thông tin
- Tính không thể từ chối
- Kiểm soát truy cập
- Tính sẵn sàng
 Các cơ chế an toàn an ninh
- Trên thực tế không tồn tại một cơ chế duy nhất nào có thể đảm bảo an
toàn thông tin cho mọi hệ thống.
- Để đảm bao an toàn an ninh cho hệ thống thông tin người ta sử các kỹ
thuật mã hóa: Mã đối xứng, mã công khai


A

B
C giữ chặn danh
sách NSD và
sửa đổi danh
sách
C gửi danh
sách được
sửa đổi cho
B
Danh sách NSD
đã sửa đổi

C
Danh sách
NSD

A

B

C
A không thông tin
cho B
C giả mạo
A, gửi danh
sách mới
đến B
Danh sách
giả mạo


3
- Sử dụng Firewall, hệ thống phát hiện xâm nhập - IDS , và các biện pháp
phối hợp khác.







 Các dạng tấn công, được chia làm 2 loại:
- Tấn công chủ động
- Tấn công thụ động
1.3. Các dạng tấn công
Đối với các hành vi tấn công từ bên ngoài, ta có thể chia thành hai loại là: tấn
công thụ động và tấn công chủ động. “Thụ động” và “chủ động” ở đây được hiểu
theo nghĩa có can thiệp vào nội dung và vào luồng thông tin trao đổi hay không. Tấn
công “thụ động” chỉ nhằm đạt mục tiêu cuối cùng là nắm bắt được thông tin, không
biết được nội dung nhưng cũng có thể dò ra được người gửi, người nhận nhờ vào
thông tin điều khiển giao thức chứa trong phần đầu của các gói tin. Hơn thế nữa, kẻ
xấu còn có thể kiểm tra được số lượng, độ dài và tần số trao đổi để biết được đặc
tính trao đổi của dữ liệu.
Một số hình thức tấn công điển hình:
a) Các hành vi dò quét:
Bất cứ sự xâm nhập vào một môi trường mạng nào đều bắt đầu bằng cách
thăm dò để tập hợp thông tin người dùng, cấu trúc hệ thống bên trong và điểm yếu
bảo mật. Việc thăm dò được thăm dò theo các bước thăm dò thụ động(thu thập các
thông tin được công khai) và thăm dò chủ động(sử dụng các công cụ để tìm kiếm
thông tin trên máy tính của nạn nhân). Các công cụ dò quét được hacker chuyên
nghiệp thiết kế và công bố rộng rãi trên Internet. Các công cụ thường hày dùng:

Nmap, Essential Network tools… thực hiện các hành động Ping Sweep, Packet
Sniffer, DNS Zone Transfer…
b) Tấn công từ chối dịch vụ( Denial Service Attacks):
Đây là kiểu tấn công khó phòng chống nhất và trên thế giới vẫn chưa có cách
phòng chống triệt để. Nguyên tắc chung của cách tấn công này là hacker sẽ gửi liên
tục nhiều yêu cầu phục vụ đến máy nạn nhân. Máy bị tấn công sẽ phải trả lời tất cả
các yêu cầu này. Khi yêu cầu gửi đến quá nhiều, máy bị tấn công sẽ không phục vụ
kịp thời dẫn đến việc đáp ứng các yêu cầu của các máy hợp lệ sẽ bị chậm trễ, thậm
chí ngừng hẳn hoặc có thể cho phép hacker nắm quyền điều khiển.

4
c) Các hành vi khai thác lỗ hổng bảo mật:
Các hệ điều hành, cơ sở dữ liệu, các ứng dụng luôn luôn có những điểm yếu
xuất hiện hàng tuần thậm chí hàng ngày. Những điểm yếu này thường xuyên được
công bố rộng rãi trên nhiều website về bảo mật. Do vậy các yếu điểm của hệ thống
là nguyên nhân chính của các tấn công, một thống kê cho thấy hơn 90% các tấn
công đều dựa trên các lỗ hổng bảo mật đã được công bố.
Đối với một hệ thống mạng có nhiều máy chủ máy trạm, việc cập nhật các bản
vá lỗ hổng bảo mật là một công việc đòi hỏi tốn nhiều thời gian và khó có thể làm
triệt để. Và do đó, việc tồn tại các lỗ hổng bảo mật tại một số điểm trên mạng là một
điều chắc chắn. Người ta định nghĩa Tấn công Zero-Day là các cuộc tấn công diễn
ra ngay khi lỗi được công bố và chưa xuất hiện bản vá lỗi. Như vậy kiểu tấn công
này rất nguy hiểm vì các hệ thống bảo mật thông thường không thể phát hiện ra.
d) Các tấn công vào ứng dụng(Application-Level Attacks):
Đây là các tấn công nhằm vào các phần mềm ứng dụng mức dịch vụ. Thông
thường các tấn công này, nếu thành công, sẽ cho phép kẻ xâm nhập nắm được quyền
điều khiển các dịch vụ và thậm chí cả quyền điều khiển máy chủ bị tấn công.
Số lượng các vụ tấn công liên tục tăng trong khi hình thức tấn công theo kiểu
dựa trên điểm yếu của con người (tấn công kiểu Sophistication) lại giảm. Rõ ràng
các hình thức tấn công vào hệ thống máy tính hiện nay ngày càng đa dạng và phức

tạp với trình độ kỹ thuật rất cao. Ngoài ra quá trình tấn công ngày càng được tự
động hóa với những công cụ nhỏ được phát tán khắp nơi trên mạng











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








- Giải phóng nội dung của thông điệp: ngăn chặn đối phương thu và tìm
hiểu nội dung của thông tin truyền tải.
- Phân tích tải: Khi phân tích tải đối phương có thể xác định được vị trí của
các máy tham gia vào quá trình truyền tin; tần suất và kích thước bản tin.
Dạng tấn công thụ động rất khó phát hiện vì không làm thay đổi dữ liệu, với
dạng tấn công này người ta quan tâm đến vấn để ngăn chặn hơn là vấn đề phát hiện.
 Các dạng tấn công chủ động:











- Giả danh
- Phát lại
- Thay đổi nội dung thông điệp
- Từ chối dịch vụ
Dạng tấn công chủ động rất khó có thể ngăn chặn tuyệt đối. Vì vậy yêu cầu
phải bảo vệ vật lý mọi đường truyền thông tại mọi thời điểm. Mục tiêu an toàn của
dạng tấn công này là có thể phát hiện và phục hồi lại thông tin từ mọi trường hợp bị
phá hủy và làm trễ.
1.4. Các dịch vụ an toàn an ninh.
Các dịch vụ an toàn an ninh của hệ thống thông tin phải đảm bảo các yêu cầu
sau:

6
 Đảm bảo tính tin cậy: Thông tin không thể bị truy nhập trái phép bởi những
người không có thẩm quyền.
 Đảm bảo tính nguyên vẹn: Thông tin không thể bị sửa đổi, bị làm giả bởi
những người không có thẩm quyền.
 Đảm bảo tính sẵn sàng: Thông tin luôn sẵn sàng để đáp ứng sử dụng cho
người có thẩm quyền.
 Đảm bảo tính không thể từ chối: Thông tin được cam kết về mặt pháp luật

của người cung cấp.
 Đảm bảo tính riêng tư: Bảo vệ dữ liệu được truyền tải khỏi các tân công thụ
động.
 Kiểm soát truy cập: Cung cấp khả năng giới hạn và kiểm soát các truy cập
tới các máy chủ hoặc tới các ứng dụng thông qua đường truyền tin.
1.5. Các mô hình an toàn an ninh mạng.
 Mô hình an toàn mạng: bài toán an toàn an ninh thông tin mạng nảy sinh khi:
 Cần thiết phải bạo vệ quá trình truyền tin khỏi các hành động truy cập trái
phép
 Đảm bảo tính riêng tư và tính toàn vẹn
 Đảm bảo tính xác thực, . . .
Mô hình an toàn mạng yêu cầu:
- Thiết kế một giải thuật thích hợp cho việc chuyển đổi liên quan đến an
toàn
- Tạo ra thông tin bí mật (khóa) đi kèm với giải thuật
- Phát triển các phương pháp phân bổ và chia sẻ thông tin bí mật
- Đặc tả một giao thức sử dụng bởi hai bên gửi và nhận dựa trên giải thuật
an toàn và thông tin bí mật, làm cơ sở cho một dịch vụ an toàn









7
 Mô hình an toàn truy cập mạng:
Mô hình này yêu cầu:

- Lựa chọn các chức năng gác cổng thích hợp để định danh người dùng
- Cài đặt các điều khiển an toàn để đảm bảo chỉ những người dùng được
phép mới có thể truy nhập được vào các thông tin và tài nguyên tương
ứng.
 Các hệ thống máy tính đáng tin cậy có thể dùng để cài đặt mô hinh này
Cần nhấn mạnh một thực tế rằng không có một hệ thống nào an toàn tuyệt đối
cả. Bởi vì bất kỳ một hệ thống bảo vệ nào dù hiện đại và chắc chắn đến đâu đi nữa
thì cũng có lúc bị vô hiệu hóa bởi những kẻ phá hoại có trình độ cao và có đủ thời
gian. Chưa kể rằng tính an toàn của một hệ thống thông tin còn phụ thuộc rất nhiều
vào việc sử dụng của con người. Từ đó có thể thấy rằng vấn đề an toàn mạng thực tế
là cuộc chạy tiếp sức không ngừng và không ai dám khẳng định là có đích cuối cùng
hay không.









8
CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP ĐẢM BẢO AN TOÀN THÔNG TIN
2.1 Nguyên lý các phương pháp mã hoá đối xứng
2.1.1.Sơ đồ chung của phương pháp mã hóa đối xứng.
Sơ đồ mã hóa đối xứng

Mô hình này gồm có 5 thành phần:
- Văn bản thô
- Giải thuật mã hóa

- Khóa bí mật
- Văn bản mã hóa
- Giải thuật giải mã
 Giả thiết rằng :
- Thuật toán mã hóa phải đủ mạnh để không thể giải mã được thông điệp
nếu chỉ dựa trên duy nhất nội dung của văn bản được mã hóa.
- Sự an toàn của phương pháp mã hóa đối xứng chỉ phụ thuộc vào độ bí
mật của khóa mà không phụ thuộc vào độ bí mật của thuật toán.





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

9


 Nguồn thông tin:
- Tập hợp thông điệp của nguồn:
Các xâu ký tự X={X
1
, X
2
, . . , X
M
}
- Thông điệp: xâu ký tự độ dài m
X
i

=[x
i1
, x
i2
, . . , x
im
]
x
ik
A, A- bảng ký tự nguồn, thông thường A={0,1}
- Mỗi một thông điệp X
i
có một xác suất xuất hiện P(X=X
i
)
 Khóa mật mã:
- Tập hợp khóa K= {K
1
, K
2
, . ., K
L
}
- Khóa độ dài l: K
i
=[k
i1
, . . ., k
il
]

k
ij
C, C- bảng ký tự khóa, thông thường C={0,1}
 Mã mật:
- Tập hợp thông điệp mã mật Y=[Y
1
, . . , Y
N
]
- Thông điệp mã mật: Y
j
=[y
j1
, . ., y
jn
]
y
jp
B, B- bảng ký tự mã mật, thông thường B={0,1}
 Quá trình mã hóa và giải mã:
- Quá trình mã hóa: Y=E
k
(X)
- Quá trình giải mã:
 Bên nhận giải mã thông điệp bằng khóa được phân phối:
X=D
K
(Y)=D
K
(E

K,R
(X))
 Phía tấn công: đối phương nhận được thông điệp Y, nhưng không
có được khóa K. Dựa vào thông điệp Y, đối phương phải khôi
phục lại hoặc K hoặc X hoặc cả hai.
 Mật mã: phân loại các hệ thống mật mã
- Dạng của phép toán tham gia vào mã hóa văn bản từ dạng thông thường
sang dạng được mật mã hóa.
Mô hình hệ thống mã hóa đối xứng

10
- Số lượng khóa được dùng trong thuật toán: Hệ thống mã hóa đối xứng;
Hệ thống mã hóa không đối xứng.
- Phương thức mà văn bản đầu được xử lý: mã hóa khối; mã hóa dòng.
 Thám mã( phá mã): Là nỗ lực giải mã văn bản đã được mã hóa không biết
trước khóa bí mật.
Có hai phương pháp phá mã
- Vét cạn : Thử tất cả các khóa có thể
 Về lý thuyết có thể thử tất cả các giá trị khóa cho đến khi tìm thấy
văn bản thô từ văn bản mã hóa
 Dựa trên giả thiết có thể nhận biết được văn bản thô cần tìm
 Tính trung bình cần thử một nửa tổng số các trường hợp có thể
 Thực tế không khả khi nếu độ dài khóa lớn
- Dùng kỹ thuật :
 Khai thác những nhược điểm của giải thuật
 Dựa trên những đặc trưng chung của văn bản thô hoặc một số cặp
văn bản thô - văn bản mã hóa mẫu
Các kỹ thuật phá mã:
- Chỉ biết văn bản được mã hóa: Chỉ biết giải thuật mã hóa và văn bản mã
hóa ;

- Biết một số văn bản gốc và mật mã tương ứng: Biết thêm một số cặp văn
bản thô - văn bản mã hóa ;
- Tấn công bằng văn bản rõ được lựa chọn trước: Chọn 1 văn bản thô, biết
văn bản mã hóa tương ứng ;
- Tấn công bằng mật mã cho trước: Chọn 1 văn bản mã hóa, biết văn bản
thô tương ứng ;
- Tấn công bằng bản rõ tùy chọn: Kết hợp chọn văn bản thô và chọn văn
bản mã hóa.
 An toàn hệ mã hóa:
- Sơ đồ mã hóa được coi là an toàn vô điều kiện: Văn bản mã hóa không
chứa đủ thông tin để xác định duy nhất văn bản thô tương ứng, bất kể với
số lượng bao nhiêu và tốc độ máy tính thế nào
- Sơ đồ mã hóa được coi là an toàn theo tính toán:
 Chi phí phá mã vượt quá giá trị thông tin
 Thời gian phá mã vượt quá tuổi thọ thông tin
2.1.2.Một số phương pháp mã hóa đối xứng kinh điển
2.1.2.1.Mã Caesar.
Là hệ mã hóa thay thế sớm nhất và đơn giản nhất. Được sử dụng đầu tiên bởi
Julius Caesar vào mục đích quân sự.
Nội dung:
 Các ký tự chữ cái được gán giá trị(a=1, b=2, . . .)

11
C=E(p)=(p+k) mod 26, k=1, 2, . ., 25
 k là khóa mật mã
 Quá trình giải mã: p=D(C)=(C-K) mod 26
Các vấn đề của mã Caesar:
 Thuật tóan mã hóa và giải mã đã biết trước
 Thám mã:
- Không gian khóa nhỏ: chỉ có 25 khóa;

- Khi thám mã bằng phương pháp vét cạn: chỉ cần thử với 25 khóa.
 Ngôn ngữ trong bản gốc đã biết trước và dễ dàng nhận biết.
2.1.2.2.Mã mật Hill.
Thuật toán mã hóa:
 Mỗi ký tự được gán giá trị số: a=0, b=1, . ., z=25
 Lựa chọn m ký tự liên tiếp của văn bản gốc
 Thay thế các ký tự đã lựa chọn bằng m ký tự mã mật, được tính bằng m
phương trình tuyến tính
 Hệ phương trình mã hóa:
C=KP mod 26; K – là ma trận khóa
Thuật toán giải mã:
P=K
-1
C mod 26
Ví dụ: với m=3 hệ phương trình truyến tính có dạng sau:
c
1
= (k
11P1
+ k
12P2
+ k
13P3
) mod 26
c
2
= (k
21P1
+ k
22P2

+ k
23P3
) mod 26
c
3
= (k
31P1
+ k
32P2
+ k3
3P3
) mod 26
Hệ phương trình này có thể biểu diễn theo vecto cột và ma trận sau:



hoặc C=KP mod 26
Ma trận K là ma trận khóa mật mã, giả sử




12
Giả sử mã hóa xâu ký tự: “paymoremoney”
Ba ký tự đầu tiên của văn bản được biểu diễn bằng vector



Tiếp tục tính toán ta thu được sâu ký tự mã hóa là: LNSHDLEWMTRW
Giải mã: giải mã thông điệp bằng ma trận K

-1

2.1.2.3.Hệ thống Vernam.
• Để chống lại quá trình thám mã, cần lựa chọn khoá thoả mãn:
 Khoá có độ dài bằng văn bản rõ.
 Khóa được chọn sao cho khoá và văn bản gốc độc lập thống kê.
• Hệ mã mật Vernam:
 Dùng cho mã nhị phân
 Ci= piki
 pi: bit thứ i của văn bản gốc;
 ki: bit thứ i của khoá;
 Ci: bit thứ i của văn bản được mã hoá;
 : phép toán XOR.
• Giải mã bằng phép toán ngược: pi= Ciki
• Tạokhoá: tạo vòng lặp với một khoá. Như vậy thực tế, hệ thống làm việc
với một khóa rất dài nhưng lặp lại.
• Hệ thống Vernam có thể bị phá nếu đối phương biết một văn bản mã có độ
dài đủ lớn, sử dụng một số văn bản gốc đã biết.
• Với khoá được sinh ngẫu nhiên, có độ dài bằng độ dài văn bản gốc, không
lặp lại: sơ đồ mã sử dụng mộtlần: không thể phá khoá. Đầu ra độc lập
thống kê với văn bản gốc.
• Vấn đề nảy sinh: đảm bảo bảo mật cho quá trình gửi và nhận khoá ngẫu
nhiên.
2.1.2.4.Mã hóa khối.
 Định nghĩa mã hóa khối:
• Mã khối là mật mã khóa đối xứng thực hiện trên nhóm bit có độ dài cố
định. Nhóm bit này được gọi là một khối.Quá trình chuyển đổi không thay
đổi.

13

• Khi mã hóa, mã khối có thể thực hiện trên từng khối độ dài 128 bit của bản
rõ tại đầu vào thứ nhất và cho ra khối của mã mật.
 Quá trình biến đổi được kiểm soát bằng đầu vào thứ hai: khóa mật
Quá trình giải mã thực hiện tương tự: nhận tại đầu vào thứ nhất khối 128 bit
của mật mã, khóa mật và tại đầu ra ta nhận được khối 128 bit của bản rõ.
• Để mã hóa bản tin có độ dài lớn hơn kích thước khối, (ví dụ 128 bit ), các
chế độ xử lý( mode of operation )được sử dụng.
• Mã hóa khối tương phản với mãhóa dòng (stream cipher ), trong đó mỗi ký
tự được thao tác một lần và quá trình chuyển đổi thay đổi trong suốt quá
trình mã hóa.
• Ví dụ mã hóa khối:
 Thuật toán DES do công ty IBM xây dựng và công bố năm 1977.
 Hậu duệ của DES, Advanced Encryption Standard (AES), ra đời năm
2001.
• Mật mã khối gồm một cặp thuật toán:
 Thuật toán mã hóa, E,và
 Thuật toán giải mã, E
-1
.
• Cả hai thuật toán đều có hai đầu vào:
 Khối dữ liệu đầu vào kích thước n bit và
 Khóa độ dài k bit.
• Đầu ra là khối dữ liệu kích thước n-bit.
2.1.2.5.Mật mã dòng.
• Mật mã dòng là mật mã khóa đối xứng, trong đó các ký tự của bản rõ được
mã hóa lần lượt và quá trình biến đổi các ký tự tiếp theo thay đổi trong
quátrình mã hóa. Một tên khác của mật mã dòng là mật mã trạng thái vì
quá trình mã hóa từng ký tự phụ thuộc vào trạng thái hiện thời. Trong thực
c tiễn, ký tự có thể là từng bít hoặc byte.
Mật mã dòng biểu diễn cách tiếp cận khác của kỹ thuật mã hóa đối xứng dựa

trên kỹ thuật mã hóa khối. Thuật toán mật mã dòng thường được thực hiện ở tốc độ
cao thuật toán mã hóa khối và có phần cứng thấp hơn. Tuy nhiên mật mã dòng dễ bị
các vấn đề an ninh nghiêm trọng nếu sử dụng không đúng.
2.1.3.Phương pháp DES.
• DES là thuật toán mã hóa khối: nó xử lý từng khối thông tin (1 khối =
64bit) của bản rõ có độ dài xác định và biến đổi theo những quá trình phức
tạp để trở thành khối thông tin của bản mã có độ dài không thay đổi.

14
• DES cũng sử dụng khóa để cá biệt hóa quá trình chuyển đổi. Do vậy, chỉ
khi biết khóa mới có thể giải mã được văn bản mã
• Khóa dùng trong DES có độ dài toàn bộ là 64 bit. Tuy nhiên chỉ có 56 bit
thực sự được sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra. Vì thế, độ
dài thực tế của khóa chỉ là 56 bit.
2.1.3.1.Sơ đồ mã hóa.
• Mã hóa DES được thực hiện qua 16 vòng
• Trước khi đi vào 16 chu trình chính, khối thông tin 64bit được tách làm 2
phần 32 bit và mỗi phần sẽ được xử lý tuần tự (quá trình này còn gọi là
mạng Feistel).
• Cấu trúc của thuật toán (mạng Feistel) đảm bảo rằng quá trình mã hóa và
giải mã diễn ra tương tự. Điểm khác nhau chỉ ở chỗ các khóa con được sử
dụng theo trình tự ngược nhau.


















15


 Quá trình mã hóa được chia làm 3 giai đoạn:
• Giai đoạn 1: với bản rõ cho trước x, một xâu x’ sẽ được tạo ra bằng cách
hoán vị các các bit của x theo hoán vị ban đầu IP(Initial permutation)
x’= IP(x)= L
0
R
0
; L
0
: 32 bit đầu; R
0
: 32 bit cuối
• Giai đoạn 2: Tính toán 16 lần lập theo 1 hàm xác định. Ta sẽ tính L
i
R
i
(1≤
i ≤ 16) theo quy tắc

L
i
=R
i-1

R
i
= L
i-1
⊕ f (R
i-1
, K
i
)
⊕ là toán tử Xor
k
1
, k
2
, k
3
. . . k
16
là xâu bit độ dài 48 bit được tính qua hàm khoá K (k
i

là 1 phép hoán vị bit trong K)
• Giai đoạn 3: áp dụng hoán vị ngược IP
-1
cho xâu R

16
L
16
ta thu được bản
mã.
2.1.3.2.Giải mã.
Do là 1 thuật toán đối xứng nên quá trình giải mã và mã hóa cũng gần giống nhau
chỉ khác ở:
Li=R
i-1


16
R
i
= L
i-1
⊕ f (R
i-1
, K
16-i
)
Khóa K của hàm F sẽ đi từ 16 ->0 .
2.1.3.3.Tính Hàm f(Ri , Ki ).















• R là xâu bit có độ dài 32 bit
• K là xâu bit có độ dài 48 bit
• Đầu ra của F là xâu có đọ dài 32 bit
• E là hàm mở rộng cố định: được mở rộng từ R với 16 bit của R xuất hiện 2
lần.
• Thực hiện phép Xor E(R) với K
• Chia xâu kết quả nhận được từ phép Xor thành các xâu 6 bit
• Đưa các xâu này vào các S-Box
• Hoán vị xâu nhận được theo 1 một hàm hoán vị cố định P ta thu được
F(R,K)

17

 S – Box (Phép thay thế)









 P – Hàm hoán vị









2.1.3.4. Phá mã DES
• Khóa 56 bit có 256 = 7,2 x 1016 giá trị có thể
• Phương pháp vét cạn tỏ ra không thực tế
• Tốc độ tính toán cao có thể phá được khóa
• 1997 : 70000 máy tính phá mã DES trong 96 ngày
• 1998 : Electronic Frontier Foundation (EFF) phá mã DES bằng máy
chuyên dụng (250000$) trong < 3 ngày
• 1999 : 100000 máy tính phá mã trong 22 giờ
• Vấn đề còn phải nhận biết được văn bản thô
• Thực tế DES vẫn được sử dụng không có vấn đề
• Nếu cần an toàn hơn : 3DES hay chuẩn mới AES
2.1.4.Quản trị và phân phối khóa trong mã hóa đối xứng.



18
2.1.4.1.Đặt vấn đề.
• Trong kỹ thuật mật mã truyền thống, hai phía tham gia vào truyền tin phải
chia sẻ khoá mật ⇒ khoá phải được đảm bảo bí mật: phải duy trì được
kênh mật phân phối khóa.

• Khóa phải được sử dụng một lần: Khoáphải được thường xuyên thay đổi.
• Mức độ an toàn của bất kỳ hệ mật sẽ phụt huộc vào kỹ thuật phân phối
khoá.
2.1.4.2.Một số kỹ thuật phân phối khóa.
• Phân phối khóa không tập trung: Khoá được A lựa chọn và phân phối vật
lý tới B.
• Phân phối khóa tập trung: Người thứ ba C lựa chọn khoá và phân phối vật
lý tới A và B.
• Nhận xét:
 Hai kỹ thuật này khá cồng kềnh khi các bên tham gia vào trao đổi
thông tin với số lượng lớn.
 Nếu A và B trước đây và hiện nay đã dùng khoá, một phía có thể gửi
khoá mới dùng khoá cũ để mã hoá.
 Nếu A và B có kết nối mã mật với phía thứ ba C, C có thể phân phối
khoá theo đường mã mật tới A và B.
2.1.4.3. Phân cấp khóa.
• Việc sử dụng trung tâm phân phối khoá dựa trên cơ sở của việc phân cấp
các khoá.
• Trên cấp độ tối thiểu, sẽ có hai cấp khoá được sử dụng:
 Việc giao tiếp giữa hai trạm đầu cuối sẽ được mã hoá bằng một khoá
tạm thời gọi là khoá phiên.
- Khoá phiên sẽ được sử dụng trong thời gian một kết nối lôgic như
trong mạng ảo hoặc liên kết vận chuyển, sau đó sẽ được loại bỏ.
 Mỗi khoá phiên sẽ được nhận từ trung tâm phân phối khoá KDC trên
cùng một hạ tầng mạng với kết nối đầu cuối.
- Khoá phiên được truyền dưới dạng mã hoá bằng mã chính
(masterkey). Khoá chính này được chia sẻ giữa KDC và trạm đầu
cuối hoặc người sử dụng.
- Mỗi trạm đầu cuối sẽ có một khoá chính được chia sẻ với KDC.
- Các khoá chính này phải được chia sẻ theo một cách nào đó giữa

KDC và máy trạm. Số lượng các khoá chính có thể kiểm soát được:

19
Nếu có N đối tượng cần tương tác với nhau theo cặp, như vậy cần
có nhiều nhất N(N-1)/2 khoá phiên sẽ được sử dụng một lúc.
Nhưng khi đó chỉ cần N khoá chính cho mỗi đối tượng. Như vậy
các khoá chính có thể được phân phối theo đường không phải mật
mã như phân phối vật lý.












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

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

20
 Để ngăn chặ sự giả mạo, dấu hiệu nhận diện phải khó bị đối phương dự
đoán. Như vậy, số ngẫu nhiện là lựa chọn tốt.
• Trung tâm phân phối khóa KDC trả lời A bằng thông điệp được mã hóa
bằng khóa KA. Như vậy chỉ có A là người duy nhất có thể giải mã thành
công thông điệp và A cũng xác định được nguồn gốc của thông điệp( A
xác định được thông điệp là do KDC gửi tới do khóa KA chỉ có duy nhất
A và KDC biết).
Trong thông điệp chứa những thông tin dành cho A
 Khóa phiên sử dụng một lần KS;
 Thông điệp gốc cùng với dấu hiệu nhận dạng N1. Các thông tin này
cho phép Aso sánh câu trả lời từ KDC với yêu cầu ban đầu.
Như vậy, A có thể kiểm tra rằng yêu cầu ban đầu không bị thay đổi trước khi
KDC nhận được và do có dấu hiệu nhận dạng N1nên thông điệp này không phải là
phiên bản phát lại của một yêu cầu nào đó trước đó.
Trong thông điệp cũng có những thông tin dành cho B:
 Khóa phiên sử dụng một lần KS;
 Định danh của A – IDA.
Hai thông tin này được mã hóa với khóa mật KB chia sẻ giữa B và KDC.
Những thông tin này được gửi cho B để thiết lập liên kết và chứng minh định danh

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

21
o Hai bước này giúp cho B biết được rằng thông điệp nhận được trong
bước trước không bị phát lại.
o Ta thấy các bước phân phối khóa bao gồm các bước từ 1 đến 3. Các
bước 4, 5 cũng như bước 3 dùng vào mục đích xác thực.
















22

2.1.4.5.Kiểm soát khóa theo phân cấp và tính trong suốt của sơ đồ kiểm soát
khóa.
 Kiểm soát khóa theo phân cấp.
• Hàm phân phối khóa không giới hạn bởi 1 KDC.
• Một trật tự phân cấp các KDC được thiết lập:
 Trong hệ thống có các KDC cục bộ: nằm trong các mạng cục bộ, trong
các phân mạng nhỏ. KDC cục bộ có trách nhiệm phân phối khoá trong
những giao dịch giữa những thành phần của một vùng.
 Nếu hai thực thể thuộc hai phân vùng mạng khác nhau muốn chia sẻ
khoá phiên, các KDC cục bộ phụ trách hai phân vùng đó sẽ tương tác
với nhau thông qua KDC cấp cao hơn. Trong trường hợp này bất kỳ
một trong ba KDC sẽ có thể sử dụng để lựa chọn khoá.
 Sơ đồ phân cấp làm giảm thiểu các nỗ lực trong việc phân phối khóa
chính (masterkeydistribution), bởi vì phần lớn các khoá chính là những
khoá được chia sẻ giữa những KDC cục bộ với các thực thể thuộc vùng
quản lý của chúng.
 Sơ đồ này làm giảm khả năng tổn hại tới khoá hoặc phá hoại khoá chỉ
trong miền cục bộ của KDC.
• Vòng đời của khoá phiên( sessionkeylifetime).
 Nếu khoá phiên càng được trao đổi với tần suất càng cao thì các khóa
đó càng được bảo mật vì đối phương sẽ có ít văn bản mật tương ứng

với từng khoá để phá mã.
 Mặt khác quá trình phân phối khoá trước mỗi phiên làm việc sẽ làm
chậm quá trình trao đổi thông tin và làm gảm hiệu năng của mạng.
 Nhà quản trị an ninh phải lựa chọn giải pháp cân bằng hai vấn đề trên.
 Đối với các giao thức hướng liên kết:
o Sử dụng một khoá phiên cho một phiên làm việc khi liên kết đang hoạt
động.
o Sử dụng khoá phiên mới cho phiên làm việc mới.
o Nếu liên kết vật lý tồn tại trong thời gian dài: để tăng tính cẩn mật, cần
thay đổi khoá phiên một cách liên tục. Có thể lựa chọn thời gian theo
một chuỗi các PDU.
 Đối với các giao thức hướng không liên kết:
o Không có các chu trình khởi tạo và ngắt liên kết ⇒ số lần thay đổi
khoá không hiển nhiên ⇒ sử dụng một khoá phiên mới cho mỗi lần
trao đổi thông tin ⇒ làm giảm ưu thế của giao tiếp không liên kết: tăng
thời gian trễ của mỗi giao dịch.

23
 Tính trong suốt của sơ đồ kiểm soát khoá:
• Cung cấp khả năng mã hoá đầu cuối trên tầng mạng hoặc tâng giao vận
sao cho quá trình trao đổi khoá và mã hoá trong suốt với người sử dụng.
• Quá trình truyền thông sử dụng các giao thức hướng liên kết đầu cuối như
TCP, X25.
• Phần tử quan trọng: bộ xử lý ngoại vi( Front-endprocessor–FEP) cung cấp
chức năng mã hoá đầu cuối và nhận các khoá phiên thay cho các trạm làm
việc.
• Ưu điểm : làm giảm nhẹ ảnh hưởng của quá trình mã hoá, trao đổi khoá
đối với các trạm đầu cuối.
• Từ khía cạnh máy trạm, FEP có thể coi là một phần của nút chuyển mạch
gói ⇒ giao tiếp giữa trạm và mạng không đổi.

• Từ hướng mạng, FEP có thể coi là một trạm ⇒ giao tiếp chuyển mạch gói
từ mạng tới trạm không đổi.
• Kịch bản:
 Khi một trạm A mong muốn thiết lập liên kết với trạm khác, trạm A
gửi một gói tin yêu cầu liên kết( bước1 ).
 Bộ xử lý ngoại vi FEP nhận gói tin và gửi tới KDC để nhận quyền khởi
tạo kết nối (bước2 ).
 Liên kết và trao đổi thông tin giữa FEP và KDC được mã hoá bằng
khoá chính được chia sẻ giữa FEP và KDC




24
 Nếu KDC phê chuẩn yêu cầu liên kết, KDC sẽ tạo khoá phiên và phân
phối tới hai FEP tương ứng sử dụng khoá duy nhất cố định cho mỗi
giao tiếp( bước3 ).
 Bộ xử lý ngoại vi FEP đã đưa ra yêu cầu có thể gửi gói tin yêu cầu thiết
lập liên kết và liên kết sẽ được thiết lập giữa hai trạm đầu cuối (bước4).
 Tất cả các dữ liệu được truyền giữa hai trạm đầu cuối sẽ được mã hoá
do hai bộ xử lý ngoại vi tương ứng sử dụng khoá phiên sử dụng một
lần.
2.1.4.6. Kiểm soát khóa không tập trung.
• Sử dụng trung tâm phân phối khoá KDC đưa ra yêu cầu đối với KDC:
KDC phải được uỷ nhiệm và phải được bảo vệ khỏi các tấn công.
• Các yêu cầu này có thể loại bỏ nếu sử dụng sơ đồ phân phối khoá không
tập trung.











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

25

 Do thông điệp được truyền sử dụng khoá chính khá ngắn ⇒ việc thám
mã là khó khăn.
 Giống như trường hợp quản lý khoá tập trung, khoá phiên chỉ được sử
dụng trong một khoảng thời gian ngắn để bảo vệ khoá.
2.1.4.7. Kiểm soát việc sử dụng khóa.
• Kiểm soát việc sử dụng khoá.
 Khái niệm phân cấp khóa và kỹ thuật phân phối khóa tự động làm giảm
mạnh số lượng khóa cần xử lý bằng tay và phân phối bằng tay.
 Đặt vấn đề: thiết lập sự kiểm soát những phương pháp phân phối khóa
tự động.
o Vídụ: để phân tách khóa chính và khóa phiên, chúng ta có thể cần một
số các khóa phiên khác nhau tùy theo cách sử dụng:
- Khóa để mã hóa dữ liệu dùng cho truyền dữ liệu qua mạng;
- Khóa PIN ( personalidentificationnumber) sử dụng trong việc truyền
các quỹ điện tử, các ứng dụng bán lẻ;
- Khóa để mã hóa file đối với những file được lưu trữ tại những thư
mục public.
• Kỹ thuật kiểm soát khoá bằng vectơ kiểm soát(controlvector):
 Mỗi khoá phiên được đặt tương ứng với một vectơ kiểm soát bao gồm:
o Số lượng các trường để đặc trưng cho việc sử dụng khoávà
o Các giới hạn đối với khoá phiên đang xét.
• Vectơ kiểm soát được mã hoá mật gắn kết với khoá vào thời điểm khoá
được sinh ra tại KDC.
• Sơ đồ hoạ tđộng:
 Vectơ kiểm soát được đưa vào hàm băm, hàmb ăm này sinh ra một giá
trị có độ dài bằng độ dài của khoá mã mật. Hàm băm sẽ ánh xạ một giá
trị từ một khoảng lớn vào một khoảng có độ dài nhỏ hơn.
 Giá trị băm được thực hiện XOR với khoá chính và kết quả sẽ đi vào
khối mã hoá khoá phiên.
Giá trị băm= H= h( CV);

Key input= Km⊕H;
Mã mật=EKm⊕H[Ks].
Km: khoá chính và Ks: khoáphiên.
• Khoá phiên sẽ được khôi phục từ mã mật bằng sơ đồ giải mã:
Ks=DKmH[EKmH[Ks]].

×