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

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

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 (1.55 MB, 68 trang )



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


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

NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN
MÃ SỐ: 60480104

LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN


NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. TRỊNH NHẬT TIẾN



HÀ NỘI, năm 2014
I

LỜI CẢM ƠN
Luân văn tốt nghiệp khóa học sau đại học được hoàn thành tại trường Đại
học Công nghiệp – Đại học Quốc gia Hà Nội. Có được bản luận văn tốt nghiệp này,

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ả

được viết chung với các tác giả khác đều được sự đồng ý của tác giả trước khi đưa
vào luận văn. Các kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong các công trình nào khác.
Tác giả

Trịnh văn Thành
III

MỤC LỤC
LỜI CẢM ƠN I

LỜI CAM ĐOAN II

MỤC LỤC III

BẢNG CHỮ VIẾT TẮT, TỪ CHUYÊN MÔN BẰNG TIẾNG ANH V

DANH MỤC HÌNH ẢNH VI

DANH MỤC BẢNG VIII

LỜI NÓI ĐẦU 1

Chương 1:

KHÁI NIỆM CƠ SỞ 3

1.1. KHÁI NIỆM CƠ SỞ VỀ TOÁN HỌC 3

1.1.1. Khái niệm về số đồng dư 3


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


2.2. KIỂM SOÁT TRUY NHẬP TỰ ĐỘNG 21

2.2.1. Tường lửa 21

2.2.2. Mạng riêng ảo 25

2.2.3. Hệ thống phát hiện và ngăn chặn truy cập trái phép IDS/IPS 30

Chương 3:

ỨNG DỤNG KIỂM SOÁT TRUY NHẬP HỆ THỐNG THÔNG
TIN 35

3.1. KIỂM SOÁT TRUY NHẬP TRỰC TIẾP 36

3.1.1. Chương trình tạo mật khẩu mức an toàn 36

3.1.2. Chứng thực thông tin tài khoản qua thư điện tử. 37

3.1.3. Kiểm soát truy cập trực tiếp bằng xác thực người dùng bằng chữ ký số. 38

Chương trình xác thực người đăng nhập bằng chữ ký số: 38

3.1.4. Kiểm soát truy nhập trực tiếp bằng phân quyền truy cập. 39

3.2. HỆ THỐNG KIỂM SOÁT TRUY CẬP TỰ ĐỘNG 40

3.2.1. Hệ thống mạng riêng ảo 40


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 53


V

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

ISS Internet Security Systems Hệ thống bảo mật mạng
DMZ Demilitarized Zone Vùng phi quân sự
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
ISO Internation Standard Organization Tổ chức tiêu chuẩn quốc tế
LAN Local Area Network Mạng cục bộ
TCP Transmission Control Protocol Giao thức kiểm soát truyền tin




VI

DANH MỤC HÌNH ẢNH
Hình 1.1. Sơ đồ mã hóa DES 8

Hình 1.2 Sơ đồ tạo khóa cho mã hóa DES 10

Hình 1.3. Sơ đồ tính hàm f(R
i-1
,k
i
) 12

Hình 1.4 Sơ đồ mã hóa RSA 14

Hình 2.1. Mô hình phân công chức năng tướng ứng người truy cập và đối tượng
được truy cập 19

Hình 2.2. Kiểm soát truy cập bằng tường lửa 21


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


Hình 3.11. Trạng thái bật lường lửa 44

Hình 3.12. Trạng thái bật tường lửa 45

Hình 3.13. Kết quả khi cổng 8080 được mở 45

Hình 3.14. Thông báo lỗi kết nối khi cổng 8080 không mở 46

Hình 3.15. Cấu trúc tập luật của Snort 47

Hình 3.16. Cấu trúc phần Header của 1 luật Snort 47

VII

Hình 3.17. Cảnh báo được hiển thị trong file log 50

Hình 3.18. Cảnh báo khi xảy ra Ping kích thước lớn 50



VIII

DANH MỤC BẢNG
Bảng 3.1. Thông số cấu hình cho mạng riêng ảo Client – to – Site 41

Bảng 3.2. Những nội dung cần thay đổi trong tệp snort.conf 49


1


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


2. BỐ CỤC CỦA LUẬN VĂN
Nội dung luận văn gồm 4 phần:
Chương 1: KHÁI NIỆM CƠ SỞ
Trình bày về các khái niệm cơ sở về toán học, các nguy cơ mất an toàn thông
tin, các phương pháp tấn công và cách phòng tránh.
Chương 2: CÁC PHƯƠNG PHÁP KIỂM SOÁT TRUY CẬP
Trình bày các phương pháp kiểm soát truy cập hệ thống thông tin.
CHương 3: ỨNG DỤNG CÁC PHƯƠNG PHÁP KIỂM SOÁT TRUY CẬP
Trình bày về các ứng dụng của các phương pháp kiểm soát truy cập vào việc
kiểm soát truy cập hệ thống thông tin trường THPT Nguyễn Trãi Thái Bình
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Tổng kết những kết quả đã đạt được và các hướng phát triển của đề tài
3

Chương 1: KHÁI NIỆM CƠ SỞ
1.1. KHÁI NIỆM CƠ SỞ VỀ TOÁN HỌC
1.1.1. Khái niệm về số đồng dư
1.1.1.1. Khái niệm
Cho các số nguyên a, b, m (m > 0). Ta nói rằng a và b “đồng dư” với nhau
theo modulo m, nếu chia a và b cho m, ta nhận được cùng một số dư.
Ký hiệu: a ≡ b (mod m).
1.1.1.2. Một số tính chất
1/ Quan hệ “đồng dư” là quan hệ tương đương trong Z:
Với mọi số nguyên dương m ta có:
a ≡ a (mod m) với mọi a

Z; (tính chất phản xạ).
a ≡ b (mod m) thì b ≡ a (mod m); (tính chất đối xứng).
a ≡ b (mod m) và b ≡ c (mod m) thì a ≡ c (mod m); (tính chất bắc cầu).
2/ Tổng hay hiệu các “đồng dư”:

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

i i
i i
a b m
 

 

4/ Hệ quả:
* Có thể cộng hoặc trừ cùng một số vào hai vế của một đồng dư thức.
* Có thể chuyển vế các số hạng của đồng dư thức bằng cách đổi dấu các số
hạng đó.
* Có thể cộng vào một vế của đồng dư thức một bội của modulo:
4

a
≡ b (mod m) → a+km
≡ b (mod m) với mọi k

Z.
* Có thể nhân hai vế của một đồng dư thức với cùng một số:
a ≡ b (mod m) → ac ≡ bc (mod m) với mọi c

Z.
* Có thể nâng lên lũy thừa bậc nguyên không âm cho 2 vế của một đồng dư
thức: a
≡ b (mod m) → a
n
≡ b
n
(mod m) với mọi n


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

trình tính toán đó. Dữ liệu đầu vào đối với một thuật toán thường được biểu diễn
qua các từ trong một bảng ký tự nào đó. Độ dài của một từ là số ký tự trong từ đó.
Cho một ký tự A trên bảng ký tự Z (tức là có các đầu vào là các từ trong Z).
Độ phức tạp tính toán của thuật toán A được hiểu như một hàm số f
a
(n) sao cho với
5

mỗi số nf
a
(n) là số ô nhớ, hay số phép toán sơ cấp tối đa mà A cần để thực hiện tiến
trình tính toán của mình trên các dữ liệu vào có độ dài  n. Ta nói thuật toán A có
độ phức tạp thời gian đa thức, nếu có một đa thức P(n) sao cho với mọi n đủ lớn ta
có f
a
(n)  P(n), trong đó f
a
(n) là độ phức tạp tính toán theo thời gian của A [2].
Bài toán P là giải được nếu có thuật toán để giải nó, tức là thuật toán làm
việc có kết thúc trên mọi dữ liệu vào của bài toán. Bài toán P là giải được trong thời
gian đa thức nếu có thuật toán giải nó với độ phức tạp thời gian đa thức.
Các thuật toán có độ phức tạp giống nhau được phân loại vào trong các lớp
tương đương. Ví dụ tất cả các thuật toán có độ phức tạp là n
3
được phân vào trong
lớp n
3
và ký hiệu bởi 0(n
3
).

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).


(n) = / Z
n
*
/
6

1.1.3.3. Phương pháp kiểm tra tính nguyên tố
Kiểm tra tính nguyên tố của một số nguyên dương là bài toán nảy sinh
trong nhiều ứng dụng, đặc biệt là trong lý thuyết mật mã. Năm 1975 Pratt đã chứng
minh nó thuộc lớp NP và thuộc lớp co-NP

NP, đây là bài toán “khó”.
1/. Phương pháp cổ điển.
Kiểm tra tính nguyên tố của một số nguyên dương n theo định nghĩa:
Thử lần lượt tìm các ước của n, từ 2 đến n/2.
Nếu không tìm được ước nào thì kết luận n là nguyên tố. [1]
2/. Phương pháp “xác suất“.
Trên cơ sở các định lý về số nguyên tố, hiện nay người ta có các
phương pháp “xác suất” để kiểm tra tính nguyên tố của một số nguyên dương n.
Ví dụ như các phương pháp: Solovay-Strassen, Lehmann-Peralta, Miller-
Rabin.
Định lý Ferma:
Nếu p là số nguyên tố, a là số nguyên, thì a
p

≡ a (mod p).
Nếu p không chia hết a, thì a
p-1
≡ 1 (mod p).

Đị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

)
d
≡ c (mod m) [1].
7

1.1.3.4. Tính toán đồng dư của “lũy thừa” lớn
1/. Trường hợp a >  (m):
Trong trường hợp a >  (m), khi ấy b < a. Người ta dùng Hệ quả 1 để
tính “đồng dư” của “lũy thừa” lớn.
2/. Trường hợp  (m) > a:
Trong thực tế tính toán thường gặp m lớn, do đó  (m) lớn, thậm chí > a, khi
ấy người ta dùng kỹ thuật khác, ví dụ Phương pháp bình phương liên tiếp.
* Định lý về Số dư (ĐL Trung Quốc):
Cho tập số nguyên tố cùng nhau từng đôi một m
1
, m
2
,…m
r
.
Với mỗi bộ số nguyên bất kỳ a
1
, a
2
,…a
r
, hệ phương trình đồng dư:
x ≡ a
i
(mod m

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

+ m
1
m
2
a
3
m
3
… m
r
b
3
+ …+
m
1
m
2
… m
r-1
a
r
b
r
(mod m
1
.m
2
…m
r
),

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ơ đồ

* Bản rõ là xâu x, Bản mã là xâu y, Khoá là xâu K, đều có độ dài 64 bit.
* Thuật toán mã hóa DES thực hiện qua 3 bước chính như sau:
Bước 1: Bản rõ x được hoán vị theo phép hoán vị IP, thành IP (x).
IP (x) = L
0
R
0
, trong đó L
0
là 32 bit đầu (Left), R
0
là 32 bit cuối (Right).
(IP (x) tách thành L
0
R
0
).
Bước 2: Thực hiện 16 vòng mã hoá với những phép toán giống nhau.
Dữ liệu được kết hợp với khoá thông qua hàm f :
L
i
= R
i -1
, R
i
= L
i -1
 f (R
i -1
, k

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 :

+ bit 1 của IP(x) là bit 58 của x.
+ bit 2 của IP(x) là bit 50 của x.







8 0
2 4 6 8 0
0 2 4 6 8 0 2
2
4
6
8
0
2
4
4 6 8 0 2 4 6
7 9 1 3 5 7
9 1 3 5 7 9 1
1 3 5 7 9 1 3
3 5 7 9 1 3 5
10

* Bảng hoán vị cuối cùng IP
-1
:
40


8

48

16

56

24

64

32

39

7

47

15

55

23

63

31


38

6

46

14

54

22

62

30

37

5

45

13

53

21

61


29

36

4

44

12

52

20

60

28

35

3

43

11

51

19


59

27

34

2

42

10

50

18

58

26

33

1

41

9

49


17

57

25


1.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

0
D
0

Trong đó C
0
là 28 bit đầu, D
0
là 28 bit cuối cùng của PC-1( K ).
+ Với i = 1, 2, , 16, ta tính: C
i
= LS
i
( C
i-1
), D
i
= LS
i
( D
i-1
).
Trong đó LS
i
là phép chuyển dịch vòng sang trái:
Dịch 1 vị trí nếu i = 1, 2, 9, 16. Dịch 2 vị trí với những giá trị i khác.
+ Với i = 1, 2, , 16, khóa k
i
được tính theo phép hoán vị PC-2 từ C
i

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

, k
i
)
Để cho đơn giản, ta không ghi chỉ số i-1, i, và mô tả cách tính f (R, k):
1). Mở rộng xâu R (32 bit) thành xâu 48 bit, theo hàm mở rộng E:
E: R (32 bit) → E(R) (48 bit).
E(R) gồm 32 bit của cũ của R và 16 bit của R xuất hiện lần thứ 2.
13

2). Tính E(R)  k, trong đó E(R) (48 bit) và k (48 bit).
Kết quả gồm 8 xâu B
j
, mỗi xâu B
j
có 6 bit (8*6 = 48):
B = B
1
B
2
B
3
B
4
B
5
B
6
B
7
B

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

thành C
j
(C
j
là xâu 4 bit) theo qui tắc sau:
* Giả sử B
j
= b
1
b
2
b
3
b
4
b
5
b
6
. (6 bit).
+ b
1
b
6
xác định biểu diển nhị phân của hàng r trong S
j
(0

r


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).


* Các bảng S
1
, S
2
…, S
8
: [Phụ lục 1]
* Qui định lập bảng S
j
:
- Mỗi hàng của bảng S phải là một hoán vị của 0, 1…, 15.
- Không có bảng S nào là hàm tuyến tính hay Apphin của các đầu vào của nó.
- Thay đổi 1 bit vào ở một bảng S, sẽ gây ra sự thay đổi ít nhất 2 bit ra của nó.
- Nếu 2 xâu vào của một bảng S giống nhau ở 2 bit đầu và 2 bit cuối, thì 2 xâu ra
phải khác nhau ít nhất tại 2 bit.
- Nếu 2 xâu vào của một bảng S khác nhau ở 2 bit đầu và giống nhau ở 2 bit cuối,
thì 2 xâu ra phải khác nhau.
- Với mỗi bảng S, nếu cố định một bit vào xét giá trị của một bit ra nào đó, thì số
các xâu vào tạo ra giá trị 0 ở bit ra đó cũng phải xấp xỉ bằng số các xâu vào tạo ra
giá trị một ở bit ra đó.
14

5/. Qui trình giải mã DES
Qui trình giải mã của DES tương tự như qui trình lập mã, nhưng theo dùng
các khóa thứ tự ngược lại: k
16
, k
15
…, k
1

.
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)


Hình 1.4 Sơ đồ mã hóa RSA
15

1.2. KHÁI NIỆM CƠ SỞ VỀ AN TOÀN THÔNG TIN
1.2.1. Khái niệm:
Hiện nay đa số thông tin được trao đổi bằng các giáo thức mạng, vì thế thông
thi trao đổi được gọi là an toàn nếu thỏa mãn các yếu tố sau:
* Bảo đảm bí mật (Bảo mật):
Thông tin không bị lộ đối với người không được phép.
* Bảo đảm toàn vẹn (Bảo toàn):
Ngăn chặn hay hạn chế việc bổ sung, loại bỏ và sửa dữ liệu không được
phép.
* Bảo đảm xác thực (Chứng thực):
Xác thực đúng thực thể cần kết nối, giao dịch.
Xác thực đúng thực thể có trách nhiệm về nội dung thông tin (Xác thực
nguồn gốc TT).
* Bảo đảm sẵn sàng: Thông tin sẵn sàng cho người dùng hợp pháp.
1.2.2. Các chiến lược bảo đảm an toàn thông tin
1.2.2.1. Cấp quyền hạn tối thiểu (Least Privilege).
* Nguyên tắc cơ bản trong an toàn nói chung là “Hạn chế sự ưu tiên”.
Mỗi đối tượng sử dụng hệ thống (người quản trị mạng, người sử dụng ) chỉ được
cấp phát một số quyền hạn nhất định đủ dùng cho công việc của mình.
1.2.2.2. Phòng thủ theo chiều sâu (Defense in Depth).
* Nguyên tắc tiếp theo trong an toàn nói chung là “Bảo vệ theo chiều sâu”.
Cụ thể là tạo lập nhiều lớp bảo vệ khác nhau cho Hệ thống.

×