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
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
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:
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:
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:
- 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
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
- 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;
+ 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
• 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
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
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-116
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 ).
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.
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.
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.
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.
• 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
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=DKmH[EKmH[Ks]].