TRƯỜNG ĐẠI HỌC QUỐC GIA
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRỊNH VĂN THÀNH
LUẬN VĂN
MỘT SỐ PHƯƠNG PHÁP KIỂM SOÁT TRUY CẬP
HỆ THỐNG THÔNG TIN VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN
HÀ NỘI, năm 2014 TRƯỜNG ĐẠI HỌC QUỐC GIA
tác giả xin bày tỏ lòng biết ơn chân thành và sâu sắc tới trường Đại học Công nghệ,
khoa Công nghệ thông tin, phòng đào tạo nhà trường, đặc biệt là PGS. TS Trịnh
Nhật Tiến đã trực tiếp hướng, dẫn dìu dắt, giúp đỡ tác giả với những chỉ dẫn khoa
học quý giá trong suốt quá trình nghiên cứu, triển khai, và hoàn thành đề tài “MỘT
SỐ PHƯƠNG PHÁP KIỂM SOÁT TRUY CẬP HỆ THỐNG THÔNG TIN VÀ
ỨNG DỤNG”.
Xin chân thành cảm ơn quý thầy cô – các nhà khoa học đã trực tiếp giảng
dạy, truyền đạt những kiến thức khoa học chuyên ngành Hệ thống thông tin cho bản
thân tác giả trong những năm tháng qua.
Xin gửi tới Sở giáo dục và đào tạo Thái Bình, Hội đồng giáo trường THPT
Nguyễn Trãi tỉnh Thái Bình đã tạo mọi điều kiện giúp tôi hoàn thành khóa học.
Xin ghi nhận những công sức và đóng góp quý báu và nhiệt tình của các bạn
học viên lớp K19HTTT đã đóng góp ý kiến và giúp tác giả triển khai đề tài. Có thể
khẳng định sự thành công của luận văn này thuộc về công lao của tập thể, của nhà
trường, cơ quan và xã hội.
Một lần nữa tác giả xin lòng cảm ơn sâu sắc tới gia đình, người thân và bạn
bè đã tạo mọi điều kiện, động viên và khuyên khích tác giả hoàn thành khóa học
cũng như hoàn thành luận văn.
Mặc dù đã có nhiều cố gắng để hoàn thành tốt luận văn song do lần đầu tiếp
cận với công tác nghiên cứu khoa học nên không tránh khỏi những thiếu sót nhất
định. Tác giả xin được tiếp thu những góp ý quý báu của quý thầy cô và các bạn
đồng nghiệp để luận văn được hoàn chỉ hơn.
Xin chân thành cảm ơn!
Hà Nội, ngày 25 tháng 11 năm 2014
Học viên
Trịnh Văn Thành
II
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết quả
1.1.2. Khái niệm về độ phức tạp tính toán 4
1.1.3. Số nguyên tố 5
1.1.4. Mã hóa DES 7
1.1.5. Chữ ký số RSA 14
1.2. KHÁI NIỆM CƠ SỞ VỀ AN TOÀN THÔNG TIN 15
1.2.1. Khái niệm: 15
1.2.2. Các chiến lược bảo đảm an toàn thông tin 15
1.2.3. Các giải pháp bảo đảm an toàn thông tin. 16
1.2.4. Các hình thức tấn công thông tin trao đổi qua môi trường mạng 17
Chương 2:
CÁC PHƯƠNG PHÁP KIỂM SOÁT TRUY NHẬP 18
2.1. KIỂM SOÁT TRUY NHẬP TRỰC TIẾP 18
2.1.1 . Kiểm soát truy cập bằng cấp quyền truy cập 18
2.1.2. Kiểm soát truy cập trực tiếp bằng cơ chế xác thực 19
2.1.3. Kiểm soát truy cập bằng mã hóa, giấu thông tin 20
IV
3.2.2. Kiểm soát truy cập tự động bằng tường lửa 44
3.2.3. Kiểm soát truy cập bằng hệ thống phát hiện xâm trái phép IDS 47
KẾT LUẬN 51
1/. Kết luận 51
2/. Kết quả đạt được 51
PHỤ LỤC 53
Phụ lục 1: Các bảng Si 54
Phụ lục 2: Modul tạo mật khẩu đạt mức an toàn: 56
Phụ lục 3: Modul ký số và xác thực chữ ký 57
TÀI LIỆU THAM KHẢO 53V
BẢNG CHỮ VIẾT TẮT, TỪ CHUYÊN MÔN BẰNG TIẾNG ANH
Chữ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt
IPS Intrusion Prevention System Hệ thống ngăn chặn xâm nhập
IDS Intrusion Detection System Hệ thống phát hiện xâm nhập
CNTT Công nghệ thông tin
Hình 2.3. Mô hình minh họa nguyên tắc hoạt động của cổng ứng dụng 24
Hình 2.4. Mô hình minh họa nguyên tắc hoạt động của cổng vòng 24
Hình 2.5. Mô hình mạng riêng ảo 25
Hình 2.6. Các cấp độ đóng gói phần header 28
Hình 2.7. Mô hình phát hiện xâm nhập bằng phần mềm IDS (snort) 31
Hình 3.1. Sơ đồ áp dụng kết hợp các phương pháp kiểm soát truy cập HTTT 36
Hình 3.2. Thông tin tài khoản được gửi về thư điện tử của người dùng khi tạo mới
37
Hình 3.3. Giao diện đăng nhập hệ thống của người dùng 37
Hình 3.4. Giao diện khôi phục khi quyên mật khẩu của người dùng 37
Hình 3.5. Thông tin về tài khoản của người dùng được gửi qua thư điện tử 38
Hình 3.6. Xác thực người truy cập bằng tài khoản và chữ ký số 38
Hình 3.7. Phân quyền truy cập vào hệ thống quản lý trường học 39
Hình 3.8 Kết nối từ VPN client tới VPN server 43
Hình 3.9. IP mà VPN Server cấp cho VPN Client khi kết nối 43
Hình 3.10: Trạng thái tường lửa của máy tính 44
LỜI NÓI ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI
Hiện nay với sự phát triển mạnh mẽ của công nghệ thông tin (CNTT) và
CNTT ngày càng được áp dụng rộng rãi trong các ngành khác nhau. Nó cũng thúc
đẩy sự phát triển cho các ngành kinh tế khác. Đặc biệt với khả năng truyền dữ liệu
giữa các khu vực địa lý khác nhau làm rút năng khoảng cách về không gian và thời
gian đã làm cho vai trò của CNTT trong sự phát triển kinh tế, chính trị, xã hội là
không thể thiếu. Đồng thời mạng công cộng là nơi dễ dàng cho những kẻ xấu lợi
dụng để tấn công, khai thác và phá hoại những dữ liệu quan trọng. Hàng năm người
dùng (tổ chức, cá nhân ) tổn thất hàng nghìn tỉ đồng do các cuộc tấn công mạng và
xâm nhập bất hợp pháp, làm cho vấn đề kính tế, chính trị bị ảnh hưởng xấu [4].
“Theo báo cáo của Sở Thông tin và Truyền thông TP.HCM, từ đầu năm 2014
đến nay có đến hơn 2,5 triệu hành vi dò quét, tấn công có mức độ nguy hiểm cao
vào cổng thông tin của TP.HCM. Con số này tăng đến 300% so với năm trước và
phần lớn các cuộc tấn công này có IP từ Trung Quốc. Ngoài ra, cũng phát hiện đến
hơn 650.000 mã độc.”[5]
Vì thế đặt ra nhiều vấn đề cần giải quyết, đó là bảo vệ thông tin khỏi những
đối tượng có mục đích xấu, làm giảm nguy cơ mất an toàn. Chúng ta cần phải tận
dụng những ưu điểm của cơ sở hạ tầng mạng công cộng để truyền thông một cách
hiệu quả. Đồng thời cũng cần có một cơ chế kiểm soát thông tin trong các hệ thống
thông tin khi truyền tải qua mạng. Kiểm soát truy cập hệ thống thông tin là biện
pháp cấn thiết để bảo vệ thông tin trong các hệ thống thông tin.
Hiện nay xây dựng một hệ thống kiểm soát truy cập vào các hệ thống thông
tin là vô cùng cần thiết. Từ những lý do trên tôi chọn đề tài: “MỘT SỐ PHƯƠNG
PHÁP KIỂM SOÁT TRUY CẬP HỆ THỐNG THÔNG TIN VÀ ỨNG DỤNG”
nhằm có được cái nhìn chính xác về an toàn thông tin và cung cấp một số giải pháp
an toàn thông tin trong các hệ thống thông tin.
2
Có thể cộng hoặc trừ từng vế nhiều đồng dư thức theo cùng một modulo m,
ta được một đồng dư thức theo cùng modulo m, tức là:
Nếu a
i
≡ b
i
(mod m), i = 1 k, thì
1 1
(mod )
k k
i i i i
i i
t a t b m
với t
i
= ± 1.
3/ Tích các “đồng dư”:
Có thể nhân từng vế nhiều đồng dư thức theo cùng một modulo m, ta được
một đồng dư thức theo cùng modulo m, tức là:
Nếu a
i
≡ b
i
(mod m) với i=1 k, thì ta có:
1 1
(mod )
k k
Z
+
* Có thể chia 2 vế đồng dư thức cho một ước chung nguyên tố với modulo:
c\a, c\b, (c, m) = 1, a
≡ b (mod m)
a/c
≡ b/c (mod m)
* Có thể nhân 2 vế đồng dư thức và modulo với cùng một số nguyên dương,
N
ếu a ≡ b (mod m), c >0
ac ≡ bc (mod mc)
* Có thể chia 2 vế đồng dư thức và modulo cho cùng một số nguyên dương
là ước chung của chúng:
Nếu c\(a, b, m) a/c ≡ b/c (mod m/c)
* a ≡ b (mod m) a ≡ b (mod k) với k\m
* a ≡ b (mod m) gcd(a, m) = gcd(b, m)
1.1.2. Khái niệm về độ phức tạp tính toán
Lý thuyết thuật toán và các hàm số tính được ra dời từ những năm 30 của thế
kỷ 20 đã đặt nền móng cho việc nghiên cứu các vấn đề “tính được”, ”giải được”
trong toán học. Tuy nhiên, từ cái “tính được” đến việc tính toán trong thực tế là một
khoảng cách rất lớn, có rất nhiều vấn đề chứng minh là có thể tính được nhưng
không thể trong thực tế dù có sự hỗ trợ của máy tính. Vào những năm 1960 lý
thuyết độ phức tạp tính toán được hình thành và phát triển nhanh chóng, cung cấp
nhiều hiểu biết sâu sắc về bản chất phức tạp của các bài toán và thuật toán, cả
những bài toán thuần túy lý thuyết đến những bài toán thường gặp trong thực tế.
Độ phức tạp tính toán (về không gian hay thời gian) của một tiến trình tính
toán là số ô nhớ được dùng hay số các phép toán sơ cấp được thực hiện trong tiến
1.1.3. Số nguyên tố
1.1.3.1. Khái niệm
Số nguyên tố là số tự nhiên lớn hơn 1 và chỉ có hai ước là 1 và chính nó.
1.1.3.2. Định lý về số nguyên tố
1/. Định lý: về số nguyên dương > 1.
Mọi số nguyên dương n > 1 đều có thể biểu diễn được duy nhất dưới dạng:
1 2 k
n n n
1 2 k
.
=P P P
n
, trong đó:
k, n
i
( i =1,2, ,k) là các số tự nhiên, P
i
là các số nguyên tố, từng đôi một
khác nhau.
2/. Định lý: Mersenne.
Cho p = 2
k
-1, nếu p là số nguyên tố, thì k phải là số nguyên tố.
3/. Hàm Euler:
Cho số nguyên dương n, số lượng các số nguyên dương bé hơn n và nguyên
tố cùng nhau với n được ký hiệu (n) và gọi là hàm Euler.
Nhận xét: Nếu p là số nguyên tố, thì (p) = p-1
Định lý: về Hàm Euler.
Nếu n là tích của hai số nguyên tố n = p.q, thì (n) = (p). (q) = (p-1).(q-1).
Định lý Euler:
Nếu gcd (a, m) = 1 thì a
(m)
≡ 1 (mod m).
Trường hợp m là số nguyên tố, ta có định lý Ferma.
Hệ quả 1:
Nếu gcd(c, m) = 1 và a ≡ b (mod
(m)) với a, b là các số tự nhiên, thì
c
a
≡ c
b
(mod m) và suy ra c
a
mod m = c
a mod
(m)
mod m.
Hệ quả 2:
Nếu các số nguyên e, d thỏa mãn e.d
≡ 1
(mod
(n)), thì với mọi số c
nguyên tố cùng nhau với m, ta có (c
e
i
), (i =1, 2, …, r), luôn có nghiệm duy nhất theo modulo
m,
m = m
1
.m
2
.…m
r .
Nghiệm này có thể tính theo công thức:
x = a
1
m
2
m
3
… m
r
b
1
+ m
1
a
2
m
3
… m
r
b
2
Trong đó b
i
= (m
1
. m
2
…m
i-1
m
i+1
…m
r
)
-1
(mod m
i
), với mọi i =1, 2, …, r. [1]
1.1.4. Mã hóa DES
Quy trình lập mã và giải mã DES [2]
1.1.4.1. Qui trình lập mã DES
Thuật toán DES tập trung thực hiện Giai đoạn 3 .của qui trình mã hóa.
Đó là chuyển đổi bản rõ số với 64 bit thành bản mã với 64 bit.
Sơ đồ
8 Hình 1.1. Sơ đồ mã hóa DES
9
1.1.4.2. Thực hiện mã hóa DES theo Sơ đồ
i
), trong đó:
là phép toán hoặc loại trừ của hai xâu bit (cộng theo modulo 2).
k
1
, k
2
, , k
16
là các khoá con (48 bit) được tính từ khóa gốc K.
Bước 3: Thực hiện phép hoán vị ngược IP
-1
cho xâu R
16
L
16
, thu được bản
mã y.
y = IP
-1
(R
16
, L
16
). (Lưu ý thứ tự bit R
16
và L
16
)
* Bảng hoán vị ban đầu IP :
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
17
57
251.1.4.3. Tính các khóa con
Khóa con k1, k2, … , k16 từ khóa gốc K.
Sơ đồ
Hình 1.2 Sơ đồ tạo khóa cho mã hóa DES
11 * Tính khoá k
i
(48 bit):
1). Khoá K là xâu dài 64 bit, trong đó 56 bit là khoá và 8 bit để kiểm tra tính
chẵn lẻ nhằm phát hiện sai, các bit này không tham gia vào quá trình tính toán.
Các bit kiểm tra tính chẵn lẻ nằm ở vị trí 8, 16, 24,…, 64 được xác định, sao
cho mỗi byte chứa một số lẻ các số 1. Bởi vậy mỗi sai sót đơn lẻ được xác định
trong mỗi nhóm 8 bit.
2). Tính khoá k
i
như sau:
+ Với khoá K độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hoán vị
56 bit còn lại theo phép hoán vị PC-1:
PC-1 (K ) = C
D
i
:
k
i
= PC-2 (C
i
D
i
) (48 bit).
12
4. Tính hàm f (R
i -1
, k
i
)
Sơ đồ
Hình 1.3. Sơ đồ tính hàm f(R
i-1
,k
i
)
* Tính hàm f (R
i -1
8
.
3). Tính C
j
= S
j
(B
j
), j = 1,… , 8. Dùng 8 bảng S
1
, S
2
…, S
8
.
S
j
là bảng cố định với r * c số nguyên từ 0 → 15, (0
r
3, 0
c
15).
S
j
thể hiện việc thay thế mỗi B
j
3).
+ b
2
b
3
b
4
b
5
xác định biểu diển nhị phân của cột c trong S
j
(0
c
15).
Xâu C
j
(4 bit) được định nghĩa là biểu diển nhị phân của phần tử S
j
(r, c).
4). Thực hiện 8 lần bước 3, ta nhận được xâu C = C
1
C
2
… C
8
(32 bit).
Sau hoán vị P, cho kết quả P (C), đó chính là f (R, k).
.
Xuất phát (đầu vào) từ bản mã y, kết quả (đầu ra) là bản rõ x.
1.1.5. Chữ ký số RSA
Sơ đồ chữ ký [2]
Sơ đồ (Đề xuất năm 1978)
1.1.5.1. Tạo cặp khóa (bí mật, công khai) (a, b):
Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n,
Sao cho việc tách n thành p, q là bài toán khó. Đặt P = C = Z
n
Tính bí mật (n) = (p-1).(q-1).
Chọn khóa công khai b < (n), nguyên tố cùng nhau với (n).
Khóa bí mật a là phần tử nghịch đảo của b theo mod (n): a*b 1 (mod (n).
Tập cặp khóa (bí mật, công khai) K = (a, b)/ a, b Z
n
, a*b 1 (mod (n)).
1.1.5.2. Ký số
Chữ ký trên x P là y = Sig
k
(x) = x
a
(mod n), y A. (R1)
1.1.5.3. Kiểm tra chữ ký
Ver
k
(x, y) = đúng x y
b
(mod n). (R2)