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

Nghiên cứu giải pháp đảm bảo an toàn và bảo mật cho Trung tâm tích hợp dữ liệu

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 (2.42 MB, 78 trang )



ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ






VŨ VĂN TRƯỜNG






NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN TOÀN VÀ BẢO
MẬT CHO TRUNG TÂM TÍCH HỢP DỮ LIỆU








LUẬN VĂN THẠC SĨ















HÀ NỘI – 2012

2

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




VŨ VĂN TRƯỜNG





NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN TOÀN VÀ BẢO
MẬT CHO TRUNG TÂM TÍCH HỢP DỮ LIỆU



Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05




LUẬN VĂN THẠC SĨ




NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Hữu Ngự








HÀ NỘI – 2012

3


















MỤC LỤC

LỜI CAM ĐOAN Error! Bookmark not defined.
LỜI CẢM ƠN Error! Bookmark not defined.
MỤC LỤC 3
MỞ ĐẦU 5
DANH MỤC CÁC TỪ VIẾT TẮT 6
DANH MỤC CÁC HÌNH 7
Chƣơng 1: TỔNG QUAN 8
1.1. Khái niệm 8
1.2. Một số thành phần cơ bản và kiến trúc 8
1.3. Một số vấn đề về an ninh an toàn đối với một trung tâm tích hợp dữ liệu 10
1.4. Tìm hiểu giải pháp đảm bảo an toàn và bảo mật đối với trung tâm 10
1.5. Tóm tắt 11
Chƣơng 2: MỘT SỐ VẤN ĐỀ AN NINH CƠ SỞ DỮ LIỆU 11
2.1. Một số hiểm họa đối với CSDL hiện nay 11
2.1.1. Khái niệm CSDL 11
2.1.2. Khái niệm hiểm họa đối với CSDL 12

2.2. Một số vấn đề an ninh CSDL 13
2.2.1. Khái niệm 13
2.2.2. Nhiệm vụ bảo vệ CSDL 13
2.2.2.1. Bảo mật thông tin CSDL 13
2.2.2.2. Bảo toàn thông tin CSDL 14

4

2.2.2.3. Xác thực CSDL 14
2.2.2.4. Sẵn sàng truy cập CSDL 15
2.3. Một số biện pháp an ninh CSDL 15
2.3.1. Kiểm soát thông tin vào, ra CSDL 15
2.3.1.1. Kiểm soát truy nhập 15
2.3.1.2. Kiểm soát lƣu lƣợng 17
2.3.1.3. Kiểm soát suy diễn 17
2.3.1.4. Một số công cụ kiểm soát thông tin vào, ra CSDL 18
2.3.2. Cơ sở lý thuyết mật mã trong bảo mật CSDL 22
2.3.2.1. Giới thiệu 22
2.3.2.2. Mã hóa bằng khóa bí mật 23
2.3.2.3. Mã hóa bằng khóa công khai 23
2.3.2.4. Ƣu và khuyết điểm của hai phƣơng pháp 24
2.3.2.5. Cơ chế mã hóa khóa bí mật 25
2.3.2.6. Cơ chế mã hóa khóa công khai 27
2.3.2.7. Xác thực thông tin 31
2.3.2.8. Hàm băm 33
2.3.2.9. Chữ ký số 35
2.4. Giải pháp bảo mật CSDL 36
2.4.1. Phân tích 36
2.4.1.1. Các nguy cơ mất an ninh, an toàn trong CSDL 37
2.4.1.2. Các yêu cầu đặt ra khi xây dựng một hệ thống an toàn 38

2.4.2. Các mô hình, giải pháp 38
2.4.2.1. Các mô hình 38
2.4.2.2. Các giải pháp 44
2.5. Tóm tắt 60
Chƣơng 3: XÂY DỰNG ỨNG DỤNG 61
3.1. Giới thiệu chung 61
3.2. Phân tích ứng dụng 61
3.3. Bảo vệ CSDL ứng dụng 62
3.3.1. Xác thực giữa client và server CSDL 62
3.3.2. Bảo vệ ứng dụng truy xuất CSDL 63
3.3.2.1. Bảo vệ ứng dụng client 67
3.3.2.2. Bảo vệ ứng dụng webservice 67
3.3.3. Bảo mật CSDL 68
3.3.3.1. Bảo mật webservice 68
3.3.3.2. Bảo mật dữ liệu tại CSDL 70
3.4. Demo chƣơng trình 72
3.5. Tóm tắt 76
KẾT LUẬN 77

5

1. Tính năng của đề tài: 77
2. Kết quả đạt đƣợc: 77
3. Những hạn chế cần khắc phục: 77
4. Hƣớng phát triển của đề tài: 77
TÀI LIỆU THAM KHẢO 78








MỞ ĐẦU

Ngày nay, lĩnh vực bảo mật an toàn thông tin đang đƣợc nghiên cứu, phát triển
và ứng dụng rộng rãi trong nhiều hệ thống thông tin nhằm đảm bảo một hệ thống có
tính bảo mật, tin cậy và sẵn sàng. Đặc biệt là những hệ thống cơ sở dữ liệu lƣu trữ lớn
hoặc Trung tâm tích hợp dữ liệu cần phải có những giải pháp đảm bảo an toàn và bí
mật trong lĩnh vực ngân hàng, tài chính, bảo hiểm. Ngƣời ta đều xây dựng và triển
khai các Trung tâm tích hợp dữ liệu nhƣng việc nghiên cứu các giải pháp đảm bảo an
toàn và bảo mật thì chƣa đƣợc quan tâm nhiều. Trên thế giới thì lĩnh vực nghiên cứu
này đƣợc nhiều quốc gia đầu tƣ nghiên cứu nhƣ Mỹ, Anh, Nhật, Đức, Hàn Quốc, Úc,
nghiên cứu nhiều và gần đây có những hƣớng nghiên cứu điện toán đám mây, ứng
dụng vấn đề lƣu trữ. Nhƣng vấn đề này ở Việt Nam là một trong vấn đề mới cần đƣợc
quan tâm đầu tƣ nghiên cứu, chính vì vậy việc nghiên cứu giải pháp đảm bảo an toàn
và bảo mật cho Trung tâm tích hợp dữ liệu là rất cần thiết. Để triển khai nội dung trên
thì chúng ta cần tập trung nghiên cứu các vấn đề an toàn bảo mật thông tin, về các
công nghệ triển khai cho Trung tâm tích hợp dữ liệu về mô hình hệ thống Trung tâm
tích hợp dữ liệu. Trên cơ sở đó đề xuất giải pháp đảm bảo an toàn và bảo mật thông tin
cho Trung tâm tích hợp dữ liệu. Triển khai xây dựng giải pháp thử nghiệm cho một số
ứng dụng đảm bảo an toàn và bảo mật thông tin cho Trung tâm tích hợp dữ liệu của
Cục Đăng Kiểm Việt Nam.
Nội dung của luận văn là:
Nghiên cứu về giải pháp đảm bảo an toàn bảo mật cho Trung tâm tích hợp dữ
liệu là lĩnh vực nghiên cứu mới ở Việt Nam. Để giải quyết các vấn đề trên thì đề tài tập
trung vào các vấn đề sau:
- Nghiên cứu về an toàn bảo mật thông tin, mật mã, xác thực thông tin.
- Nghiên cứu về mô hình hệ thống, công nghệ, và thuật toán liên quan tới Trung
tâm tích hợp dữ liệu.

- Đề xuất đƣợc những giải pháp đảm bảo an toàn và bảo mật cho Trung tâm tích
hợp dữ liệu.
- Triển khai xây dựng ứng dụng thử nghiệm đảm bảo an toàn và bảo mật thông
tin cho Trung tâm tích hợp dữ liệu của Cục Đăng Kiểm Việt Nam.



6














DANH MỤC CÁC TỪ VIẾT TẮT
Tên tiếng Anh
Tên tiếng Việt
Từ viết tắt

Cơ sở dữ liệu
CSDL
Vitual Private Network

Mạng riêng ảo
VNP
Uninterruptible Power Supplier
Bộ lƣu trữ điện dự phòng
UPS
Database management system
Hệ quản trị cơ sở dữ liệu
DBMS
eXtensible Markup Language
Ngôn ngữ đánh dấu mở rộng
XML
Internet protocol suite
Bộ giao thức liên mạng
TCP/IP
Local Area Network
Mạng cục bộ
LAN
Advanced Encryption Standard
Chuẩn mã hóa tiên tiến
AES
Windows Communication
Foundation

WCF
DataBase Management System
Hệ quản trị cơ sở dữ liệu
DBMS






















7














DANH MỤC CÁC HÌNH
Hình
Trang
Hình 1.1 Sơ đồ bố trí phòng Server.
11
Hình 1.2 Sơ đồ bố trí phòng mạng.
11
Hình 2.1 Thông tin vào, ra CSDL.
17
Hình 2.2 Mô hình một hệ thống kiểm soát truy cập.
17
Hình 2.3 Sơ đồ kết nối VPN mạng cơ quan và chi nhánh.
23
Hình 2.4 Quá trình mã hóa và giải mã.
24
Hình 2.5 Mã hóa bằng khóa bí mật.
25
Hình 2.6 Mã hóa bằng khóa công khai.
26
Hình 2.7 Sơ đồ mã hóa AES.
28
Hình 2.8 Các bƣớc thực hiện của thuật toán RSA.
30
Hình 2.9 Mô hình client/server.
41
Hình 2.10 Mô hình trao đổi dữ liệu.
42
Hình 2.11Trao đổi thông tin theo giao thức SSL.

44
Hình 2.12Trao đổi dữ liệu giữa hai nút mạng.
45
Hình 2.13 Mô hình ứng dụng truy xuất CSDL.
46
Hình 2.14 Mô hình giao diện ngƣời dùng.
46
Hình 2.15 Trao đổi thông tin giữa hai điểm.
47
Hình 2.16Trao đổi thông tin sử dụng hạ tầng VPN.
47
Hình 2.17Trao đổi thông tin mã hóa giữa hai điểm.
48
Hình 2.18Mô hình xác thực cơ bản.
53
Hình 2.19Mô hình xác thực dùng chữ ký số.
53
Hình 2.20 Mô hình xác thực SSL.
54
Hình 2.21 Mô hình desktop.
56
Hình 2.22 Mô hình client/server.
56
Hình 2.23 Mô hình client/server chi tiết.
57
Hình 2.24 Mô hình kết nối ứng dụng trên mạng Internet.
57
Hình 3.1 Mô hình kiến trúc hệ thống.
63
Hình 3.2 Trao đổi thông tin ứng dụng và CSDL.

63
Hình 3.3 Một số nguy cơ tiềm ẩn.
64
Hình 3.4 Ứng dụng truy xuất CSDL.
65
Hình 3.5 Platform/Transport Level.
70
Hình 3.6 Message-level (end-to-end) security.
71
Hình 3.7 Mã hóa dữ liệu trƣớc khi chèn vào CSDL.
72

8

Hình 3.8 Hiển thị dữ liệu trong CSDL sau khi đã đƣợc mã hóa.
73
Hình 3.9 Cấu trúc file thông tin khóa.
74
Hình 3.10 Giao diện chƣơng trình.
74
Hình 3.11 Đăng nhập.
74
Hình 3.12 Lựa chọn cách nhập khóa bí mật.
75
Hình 3.13 Đăng ký thông tin phƣơng tiện mới chƣa giải mã.
75
Hình 3.14 Đăng ký thông tin phƣơng tiện mới đã giải mã.
76
Hình 3.15 Dữ liệu đƣợc bảo mật trong CSDL.
76

Hình 3.16 Đăng ký kiểm định.
76
Hình 3.17 Thông tin phƣơng tiện đã đăng ký chƣa giải mã.
77
Hình 3.18 Thông tin phƣơng tiện đã đăng ký đã giải mã.
78
Chƣơng 1: TỔNG QUAN


Chƣơng 1 tìm hiểu sơ lƣợc về trung tâm tích hợp dữ liệu, một số vấn đề thƣờng
gặp phải đối với trung tâm tích hợp dữ liệu, qua đó tìm hiểu một số giải pháp đƣợc áp
dụng trong việc đảm bảo an toàn và bảo mật cho trung tâm tích hợp dữ liệu. Mục tiêu
chính của đề tài không nhằm mục đích đƣa ra các phải pháp mà chỉ là nghiên cứu một
số giải pháp đảm bảo an toàn và bảo mật, và ứng dụng những kiến thức cơ bản về bảo
mật để xây dựng ứng dụng thử nghiệm đáp ứng một số yêu cầu cơ bản vềbảo mật cho
ứng dụng hoạt động tại trung tâm. Cụ thể ở đây là việc ứng dụng kiến thức cơ bản về
bảo mật CSDL cho ứng dụng kiểm định khí thải mà có máy chủ CSDL đặt tại trung
tâm tích hợp dữ liệu cục đăng kiểm. Việc tìm hiểu về trung tâm tích hợp dữ liệu nằm
trong phạm vi một tổ chức cơ quan nhà nƣớc là Cục Đăng Kiểm, tìm hiểu về hệ thống
trung tâm tích hợp dữ liệu của Cục Đăng Kiểm xem hiện tại thì cách thức tổ chức, bố
trí các thiết bị trong trung tâm, mô hình hoạt động ra sao và có những nguy cơ gì đối
với hệ thống đó, việc tìm hiểu này trên cơ sở lần đầu tiếp xúc, quan sát một trung tâm
tích hợp dữ liệu của một cơ quan, việc tìm hiểu dựa trên cơ sở là ngƣời mới bắt đầu
tìm hiểu về trung tâm tích hợp dữ liệu. Và từ đó nghiên cứu giải pháp đã hoặc sẽ đƣợc
áp dụng đảm bảo cho hệ thống đƣợc an toàn trƣớc những nguy cơ an ninh.
Theo khảo sát trực tiếp trong những lần đi tham quan tại trung tâm tích hợp dữ
liệu của cục đăng kiểm, nói nhƣ vậy không có nghĩa là khảo sát đƣợc hết thì đã có một
cái nhìn chung về một trung tâm tích hợp dữ liệu nhƣ sau:
1.1.Khái niệm
Trung tâm tích hợp dữ liệu trƣớc hết là trung tâm có phòng server, phòng tin

học có những thiết bị phục vụ cho việc kết nối mạng nhƣ switch, router, hub… và có
các máy chủ website, máy chủ CSDL, hosting, chia sẻ dữ liệu, máy chủ mail để phục
vụ cho việc lƣu trữ, xử lý thông tin, phục vụ cho hoạt động của cơ quan, tổ chức
Ví dụ nhƣ máy chủ CSDL thì lƣu CSDL cho các ứng dụng website, ứng dụng
nội bộ trong cơ quan, ứng dụng webservice,… Máy chủ website thì chạy ứng dụng
website, thông tin của ứng dụng website truy xuất đến CSDL ở máy chủ CSDL…
1.2.Một số thành phần cơ bản và kiến trúc
Trƣớc hết là cách bố trí trong phòng Server của trung tâm. Phòng Server thì có
một số máy chủ CSDL, máy chủ website, máy chủwebservice,…phân chia rõ thành
hai phần chính. Thứ nhất là một góc trong phòng đặt máy chủ CSDL riêng của hãng
IBM chạy hệ điều hành Windows Server 2003 và cài đặt DBMS MS SQL Server

9

2008, ở một góc khác của phòng là bố trí các máy chủ website, máy chủwebservice
riêng biệt, tức là chỉ để phục vụ ứng dụng về website hoặc webservice trên đó.







Sơ đồ bố trí đƣợc tổ chức, sắp xếp nhƣ sau:
Phòng Server
Hệ thống dây mạng





Cửa ra vào

Hình 1.1 Sơ đồ bố trí phòng Server.
Ở đây chúng ta thấy là cách bố trí, tổ chức trong phòng Server cũng rất đơn giản.
Bàn tủ, đựng những thiết bị nhƣ cáp mạng, ổ cứng, tài liệu và cả bình chống cháy, có
hệ thống điều hòa không khí. Ở đây thì thực tế điều hòa không khí là cũng chỉ là loại
để làm mát nhƣ bình thƣờng ở các hộ gia đình. Chạy liên tục 24/24 làm mát cả phòng
Server duy trì nhiệt độ cho phòng server luôn ở mức 28 độ, Có các máy chủ CSDL và
sao lƣu phục vụ cho việc lƣu trữ thông tin, chia sẽ dữ liệu. Ngoài ra thì có máy chủ
web chứa website của cục, máy chủ webservice chạy webservice. Ở cửa ra vào thì có
nhân viên bảo vệ trực để đảm bảo an ninh cho phòng server và có thể khắc phục sự có
nếu xảy ra. Hệ thống cáp mạng kết nối các máy chủ CSDL, máy chủ web,… sang
phòng mạng.
Mục đích của luận văn cũng chỉ tập trung vào phần CSDL (máy chủ CSDL),
bảo mật thông tin CSDL này.
Phòng mạng có nhiều router, switch, hub,… Kết nối tới tất cả các phòng trong
Cục Đăng Kiểm, kết nối với các máy chủ web, CSDL trong phòng server. Mô hình
tổ chức đƣợc mô tả nhƣ sau:








Máy chủ CSDL
Máy chủ Web
Bàn, tủ đựng
đồ dùng

Máy chủ Webservice
Điều hòa không khí
Sao lƣu CSDL
Bảo vệ

Firewall
Switch
Router
Phòng A
Phòng B
Phòng Sever
Modem
Internet
Điều
hòa
không
khí






10

Hình 1.2 Sơ đồ bố trí phòng mạng.
Trong phòng mạng cũng có một số thiết bị nhƣ trong phòng server nhƣ bình
cứu hỏa, điều hòa không khí duy trì nhiệt độ trong phòng vào khoảng 28 độ, bàn tủ, hệ
thống dây cáp mạng kết nối với phòng server chạy các ứng dụng web, CSDL, ứng
dụng chia sẻ file, email.

1.3. Một số vấn đề về an ninh an toàn đối với một trung tâm tích hợp dữ liệu
Nhƣ vậy qua tìm hiểu sơ lƣợc về trung tâm tích hợp dữ liệu, chúng ta đã có một
cái nhìn cơ bản, hình dung đƣợc về một trung tâm tích hợp dữ liệu. Hiểu một cách đơn
giản thì trung tâm tích hợp dữ liệu là một khu vực mà trong đó tích hợp CSDL của các
ứng dụng trong một cơ quan, tổ chức, doanh nghiệp,…và trong đó có các kết nối
mạng, máy chủ chạy ứng dụng CSDL…thực hiện việc trao đổi dữ liệu giữa tổ
chức, với CSDL trung tâm qua mạng cục bộ, mạng Internet…
Chính vì cách tổ chức, lƣu trữ dữ liệu, trao đổi dữ liệu nhƣ vậy mà cần đặt ra
vấn về về đảm bảo an ninh an toàn với dữ liệu này. Ví dụ nhƣ vấn đề về an toàn dữ
liệu nhƣ đảm bảo dữ liệu đƣợc lƣu trữ tránh đƣợc những thảm họa về tự nhiên, các
trang thiết bị, chống sét, chống cháy, làm mát…nói chung là các vấn đề về vật lý để
đảm bảo cho việc hoạt động đƣợc tốt nhất. Các vấn đề vật lý chỉ trong phạm vi nhỏ
(nơi mà dữ liệu đƣợc lƣu trữ).
Ngoài việc đảm bảo an toàn cho nơi lƣu trữ dữ liệu thì việc đảm bảo an ninh
cho bản thân dữ liệu cũng rất quan trọng, theo nhƣ cách thức dữ liệu đƣợc truy xuất và
lƣu trữ thì đặt ra vấn đề về đảm bảo an ninh cho dữ liệu theo từng điều kiện, ví dụ nhƣ
việc đảm bảo an ninh cho dữ liệu đƣợc lƣu trữ lại CSDL thì cần phải chống lại những
nguy cơ mất an ninh cho dữ liệu nhƣ trộm cắp dữ liệu, sửa đổi trái phép, bảo đảm tính
toàn vẹn dữ liệu…, đảm bảo an ninh cho dữ liệu mà khi dữ liệu đƣợc trao đổi cho ứng
dụng của các tổ chức nhƣ bảo vệ dữ liệu trên đƣờng truyền,…
1.4.Tìm hiểugiải pháp đảm bảo an toàn và bảo mật đối với trung tâm
Qua việc tìm hiểu về trung tâm tích hợp dữ liệu tại Cục Đăng Kiểm thì chúng ta
thấy rằng việc áp dụng các giải pháp đảm bảo an toàn và bảo mật cho trung tâm đã
đƣợc quan tâm và ứng dụng bao gồm:
1. Vấn đề về an toàn vật lý: Do trung tâm của Cục đƣợc đặt ngay tại trụ sở nên
một số vấn đề về bão lũ đã đƣợc khắc phục, hệ thống chống sét thì đƣợc xây
dựng chung cùng với tòa nhà trung tâm nên không có vấn đề gì đáng ngại, hệ
thống điều hòa không khí thì đảm bảo cho trung tâm luôn giữ đƣợc nhiệt độ mát
mẻ, hệ thống cáp mạng, tủ rack đƣợc đầu tƣ phù hợp.
Hệ thống cung cấp điện thì đã có hệ thống UPS dự phòng, tuy nhiên chƣa có hệ

thống máy nổ, cũng dễ hiểu vì trung tâm đặt tại Cục, hệ thống điện lƣới luôn ổn
định.
Ngoài ra đã có các phƣơng tiện phòng chống cháy, hỏa hoạn, nhƣng chƣa có cơ
chế phát hiện ra sự cố, đã có hệ thống an ninh, camera quan sát và nhân viên
bảo vệ trực tại các phòng server…
2. Vấn đề về dữ liệu: Trung tâm đã xây dựng, cấu hình mạng riêng ảo VPN cho tất
cả các phòng trong trung tâm, có firewall, chính sách truy cập tới các máy trong
các phòng, đảm bảo đƣợc một số vấn đề về bảo mật dữ liệu…
Tuy nhiên thì trong hệ thống CSDL có một số ứng dụng hiện tại chƣa đƣợc bảo
vệ về dữ liệu, các thông tin lƣu trữ trong CSDL này thì chƣa đƣợc bảo vệ, có thể chỉnh
sửa đƣợc

11

Và luận văn tìm hiểu các vấn đề ảnh hƣởng đến an ninh CSDL để áp dụng bảo
vệ CSDL ứng dụng này.
1.5. Tóm tắt
Chƣơng 1 đã tìm hiểusơ lƣợc về một trung tâm tích hợp dữ liệu, các vấn đề an
ninh an toàn thƣờng gặp phải, nghiên cứu một số giải pháp đã áp dụng trong việc đảm
bảo an ninh cho trung tâm và cuối cùng là mục đích chính của đề tài.




Chƣơng 2: MỘT SỐ VẤN ĐỀ AN NINH CƠ SỞ DỮ LIỆU

Ở chƣơng 1 chúng ta đã tìm hiểu sơ lƣợc một số vấn đề về một trung tâm tích
hợp dữ liệu.Chƣơng 2 sẽ tìm hiểu một số vấn đề về an ninh cơ sở dữ liệu.
2.1.Một số hiểm họa đối với CSDL hiện nay
2.1.1. Khái niệm CSDL

Trƣớc hết chúng ta hãy tìm hiểu xem CSDL là gì?. Theo một số tài liệu thì
CSDL đƣợc hiểu là tập hợp các dữ liệu và tập hợp các quy tắc tổ chức dữ liệu và chỉ ra
mối quan hệ (liên quan) giữa chúng. Thông qua những quy tắc này thì ngƣời tạo lập
CSDL mô tả khuôn dạng logic cho dữ liệu.
Một số ƣu điểm mà CSDL có thể mang lại:
 Thứ nhất: Giảm sự trùng lặp của thông tin xuống mức thấp nhất, do đó đảm bảo
thông tin có tính nhất quán và toàn vẹn dữ liệu.
 Thứ hai: Đảm bảo dữ liệu có thể đƣợc truy xuất theo nhiều cách khác nhau và
cuối cùng thì nhiều ngƣời có thể sử dụng một CSDL.
Phân loại CSDL: CSDL có thể phân thành nhiều loại khác nhau. Hiện tại có một số
loại nhƣ sau:
1. CSDL dạng tệp hay tập tin:Trong đó thông tin đƣợc lƣu trữ trong các tệp dƣới
dạng văn bản thuần, hay các định dạng của Access nhƣ .mdb,…
2. CSDL quan hệ:Trong dạng này thì dữ liệu đƣợc lƣu trữ trong các bảng dữ liệu
gọi là các thực thể, các thực thể này có các thuộc tính, một trong số đó là thuộc
tính khóa chính xác định duy nhất thông tin dữ liệu đó và giữa các thực thể này
có mối liên hệ với nhau và đƣợc gọi là quan hệ. Có các DBMS hỗ trợ nhƣ SQL
Server, My SQL,…
3. CSDL hƣớng đối tƣợng:Thì cũng tƣơng tự nhƣ CSDL quan hệ, nhƣng bổ sung
lƣu trữ thêm các hành vi nhằm thể hiện hành vi của đối tƣợng. Trong đó mỗi
bảng đƣợc xem nhƣ một lớp dữ liệu và mỗi dòng trong bảng thể hiện là một đối
tƣợng. Một số DBMS hỗ trợ nhƣ SQL Server, My SQL,…
4. CSDL bán cấu trúc:Trong đó thông tin đƣợc lƣu trữ dƣới dạng tag (XML), mỗi
tag mô tả thông tin về đối tƣợng.
Hệ quản trị CSDL:Hay DBMS là một hệ thống chƣơng trình hỗ trợ thuận lợi cho
ngƣời tạo lập và quản lý CDSL. Ví dụ nhƣ DBMS của Microsoft: hỗ trợ cho việc tạo
bảng, câu lệnh truy vấn, Views, thủ tục lƣu trữ…rất thuận tiện, thực hiện các chính
sách về truy cập về CSDL…

12


Ngƣời quản trị CSDL:Là những ngƣời xác định các quy tắc về tổ chức, kiểm soát, cấp
quyền truy cập đến các thành phần của CSDL. Ví dụ nhƣ DBMS của Microsoft là SQL
Server: ngƣời quản trị có thể tạo ra những quy tắc, cấp quyền truy xuất đến
CSDL…Chẳng hạn một số nhà cung cấp hosting cho website, họ có thể cấp quyền truy
xuất, các chính sách truy cập, để chúng ta có thể upload và tạo DB phục vụ cho
website sau khi đƣợc upload lên host hoạt động.
Ngƣời dùng tƣơng tác đến CSDL:Là những đối tƣợng truy xuất đến CSDL thông qua
DBMS, hay ứng dụng tƣơng tác (truy xuất) thông tin CSDL. Ví dụ nhƣ Website báo
chí cần truy xuất nội dung thông tin bài báo. Thực hiện bằng cách kết nối đến CSDL.
2.1.2. Khái niệm hiểm họa đối với CSDL
Ở đây chúng ta hiểu “hiểm họa” tức là những ảnh hƣởng có thể gây ra sự thay
đổi đối với CSDL hay đối với hệ thống máy tính nói chung, đƣợc hiểu là những sự cố
tiềm tàng có chủ ý, hay cố ý (tác động của con ngƣời,…) hay những tác động không
mong muốn lên tài sản và tài nguyên trong đó có CSDL gắn liền với hệ thống máy tính
đó. Các tác động không mong muốn lên tài sản nhƣ trộm cắp thiết bị, thay đổi thông
số, đánh cắp mật khẩu máy tính, phá hoại đƣờng truyền dữ liệu, thay đổi nội dung
thông tin…Nói chung các hiểm họa này chia thành các dạng cơ bản sau:
1. Hiểm họa lộ thông tin(tức là thông tin không đƣợc bảo mật): Thông tin đƣợc
lƣu trữ trong máy tính, cơ sở dữ liệu hoặc trên đƣờng truyền bị lộ với ngƣời
không đƣợc cấp quyền (hay kẻ gian, hacker, ). Hiểm họa lộ thông tin còn bao
gồm cả khả năng mà thông tin bí mật bị lấy đi bằng việc suy diễn từ các thông
tin đƣợc phép truy nhập. Trên thực tế thì đa số các nghiên cứu và phát triển
trong an toàn máy tính chủ yếu tập trung vào loại hiểm họa này.
2. Hiểm họa xâm phạm tính toàn vẹn(tức là thông tin không đƣợc bảo toàn):Ở đây
đƣợc hiểu là tính toàn vẹn của thông tin là thông tin không bị thay đổi trái phép
trong quá trình sử dụng, ví dụ nhƣ thông tin về phƣơng tiện đăng ký của
Nguyễn Văn A, khi kẻ gian hay hacker xâm nhập vào hệ thống CSDL và thay
thế thành Nguyễn Văn B, thì nhƣ vậy thông tin không còn đảm bảo tính toàn
vẹn nữa. Vì vậy hiểm họa này có tính nghiêm trọng cao.

3. Hiểm họa giả mạo, mạo danh (tức là thông tin không đƣợc xác thực): Ở đây
hiểu là việc truy cập CSDL dƣới danh nghĩa ngƣời dùng hợp pháp, kẻ gian có
thể đánh cắp thông tin truy cập CSDL và thực hiện việc thay đổi thông tin hay
thực hiện các thao tác, làm thay đổi CSDL…và khi đó ngƣời dùng hợp pháp bị
ảnh hƣởng nghiêm trọng.
4. Hiểm họa từ chối dịch vụ(tức là thông tin không sẵn sàng):Chúng ta thƣờng
nghe trên thông tin, báo chí về việc website A bị tấn công từ chối dịch vụ,
chẳng hạn nhƣ trang thông tin báo vietnamnet, có những lúc chúng ta truy cập
vào để đọc tin tức thì thấy rằng trình duyệt báo loading rất lâu và không đáp
ứng, khi đó khả năng website bị tấn công từ chối dịch vụ. Nhƣ vậy trong hiểm
họa này, chúng ta đã bị ngăn cản không đƣợc truy cập thông tin (tin tức) hay sử
dụng tài nguyên mạng.
Trên đây là một số cách phân loại cơ bản. Tuy nhiên thì thực tế cũng có một số cách
phân loại hiểm họa khác theo cách chúng có thể xảy ra, điển hình nhƣ là cố ý và không
cố ý:
 Hiểm họa cố ý:Những ngƣời, những đối tƣợng lạm dùng đặc quyền của mình
để truy cập hệ thống trái phép, hay tạo ra những Virus, trojan… hay các website
lừa đảo (hiện nay tình hình website lừa đảo để trộm cắp thông tin thẻ tín dụng

13

rất nhiều, bọn lừa đảo làm giả website bán hàng hay website của các trang mua
bán nổi tiếng để lửa ngƣời dùng điền thông tin vào đó, hay thực tế khi chúng ta
truy cập trang mediafire.com, thỉnh thoảng thấy có popup quảng cáo là “Chúc
mừng bạn, bạn đã trúng IPhone 4”, nhìn thấy những popup nhƣ vậy thì những
ai tƣởng dễ ăn thƣờng bị dính vào trò lừa đảo này, hay gần đây xuất hiện trên
Internet một số chƣơng trình diệt virus giả, chúng hiển thị thông tin về máy tính
bị nhiễm virus “giả” và yêu cầu để “diệt” đƣợc những virus này thì cần phải
mua bản quyền, và những ai tƣởng thật thì rất dễ làm theo và bị mất tiền oan
nhƣ gửi thông tin tài khoản thẻ tín dụng để mua…

 Hiểm họa không có ý:Ở đây đƣợc hiểu là các hiểm họa này là khách quan hoặc
ngẫu nhiên, đó là các rủi ro nhƣ thiên tai (ngập lụt, hỏa hoạn…) có thể tác động
hay ảnh hƣởng đến hoạt động của hệ thống và dữ liệu. Một số lỗi do sai sót kỹ
thuật trong phần cứng (nhƣ bụi trong vi xử lý, lỗi phần mềm nhƣ thừa một biến
nào đó…) dẫn đến truy cập bất hợp pháp, hay lỗi của con ngƣời do xâm phạm
không cố ý.
2.2. Một số vấn đề an ninh CSDL
2.2.1. Khái niệm
Vấn đề an ninh trong môi trƣờng CSDL đƣợc hiểu là nhận ra nguy cơ (ở đây
chính là hiểm họa ảnh hƣởng đến CSDL) và lựa chọn các cách thức giải quyết đúng
đắn đối với những nguy cơ đó. Bảo vệ CSDL tránh đƣợc những hiểm họa tức là bảo vệ
dữ liệu trong CSDL, tránh đƣợc việc truy cập không hợp lệ một cách vô tình hay cố ý.
- Các hiểm họa đối với CSDL bao gồm có lộ thông tin, sửa đổi thông tin trái
phép, từ chối dịch vụ, chối cãi thông tin là của chủ thể (các hiểm họa đối với
CSDL đa số đều bắt nguồn từ bên ngoài hệ thống).
- Ngoài ra, an ninh CSDL còn dựa vào việc đảm bảo an toàn máy tính, mạng máy
tính, hệ điều hành và hệ quản trị CSDL.
2.2.2. Nhiệm vụ bảo vệ CSDL
Nhiệm vụ bảo vệ CSDL bao gồm có: bảo mật thông tin, bảo toàn thông tin, xác
thực và sẵn sàng.
2.2.2.1. Bảo mật thông tin CSDL
Để thực hiện việc bảo mật thông tin CSDL, phải đáp ứng đƣợc những yêu cầu sau:
1. Bảo vệ thông tin tránh đƣợc những truy cập trái phép:Tức là chỉ cho phép ngƣời
dùng hợp lệ có thể truy cập tới CSDL, các truy cập phải đƣợc kiểm soát để
chống lại ngƣời dùng hay các ứng dụng không đƣợc phép truy cập. Việc kiểm
soát truy nhập CSDL phức tạp hơn so với việc quản lý các tập tin của hệ điều
hành. Các công cụ kiểm soát truy cập bao gồm có trực tiếp hoặc tự động.
2. Bảo vệ thông tin tránh đƣợc suy diễn: Suy diễn là khả năng thu đƣợc thông tin
này từ các thông tin khác, ví dụ từ thông tin A nào đó, kết hợp với thông tin B
để từ đó suy ra đƣợc thông tin C. Ví dụ nhƣ hàm số y=f(x,z) biết đƣợc x, z thì

dễ dàng suy đƣợc y. Ở đây thì thông tin bí mật có thể đƣợc suy diễn ra từ các
thông tin không bí mật. Thông tin thu thập đƣợc có thể hình thành từ việc thống
kê, do đó quản trị phải có chính sách ngăn ngừa việc truy tìm các thông tin bắt
đầu từ việc thống kê thu thập thông tin.
Các công cụ thực hiện hai chức năng trên thƣờng là việc kiểm soát truy cập
(trực tiếp hay gián tiếp).

14

3. Bảo vệ trực tiếp dữ liệu bằng mật mã: Tức là mã hóa thông tin đƣợc lƣu trữ
trong CSDL. Các công cụ chủ yếu là mã hóa, hàm băm, giấu tin và nén tin…
2.2.2.2.Bảo toàn thông tin CSDL
Bảo toàn thông tin CSDL chính là việc bảo vệ tính toàn vẹn CSDL: ở đây là
việc bảo vệ CSDL, tránh đƣợc những truy cập trái phép đến CSDL, từ đó có thể thay
đổi nội dung thông tin trong CSDL, việc bảo vệ này phải thông qua hệ thống kiểm
soát, các thủ tục sao lƣu và phục hồi của DBMS đề phòng sự cố xảy ra.
Bảo toàn CSDL đƣợc phân loại:
1. Bảo vệ tính toàn vẹn hoạt động của dữ liệu:Đây là tính ổn định về mặt logic của
dữ liệu khi xảy ra tranh chấp. Ví dụ khi có nhiều ngƣời cùng truy cập vào
CSDL thông tin điểm thi chẳng hạn với các mục đích nhƣ tra cứu điểm, tính
toán điểm trung bình,…thì có thể trong một số trƣờng hợp sẽ xảy ra tranh chấp
dữ liệu (hai ngƣời A, B cùng thực hiện truy cập thông tin nào đó. A, B có thể là
học viên, chủ nhiệm khoa chẳng hạn trong đó giả sử A cần xóa thông tin và B
lại sửa thông tin). Do đó cần phải có cơ chế ƣu tiên khi truy cập CSDL.
2. Bảo vệ tính toàn vẹn ngữ nghĩa của dữ liệu:Đây là đảm bảo tính ổn định logic
của việc chỉnh sửa dữ liệu. Ví dụ khi 2 ngƣời A, B cùng chỉnh sửa thông tin
chẳng hạn, A là thƣ ký, B là ban giám hiệu cùng truy cập, sửa thông tin của học
viên thì có một số trƣờng hợp sẽ gây lên sự cố về cập nhật.
3. Bảo vệ toàn vẹn dữ liệu về mặt vật lý:Thựchiện việc kế toán và kiểm toán, đây
là việc ghi lại tất cả các thông tin truy nhập tới dữ liệu, ghi nhật ký quá trình

thao tác lên CSDL, vì vậy sẽ đảm bảo tính toàn vẹn dữ liệu về mặt vật lývà có
thể truy vết quá trình chỉnh sửa thông tin CSDL.
4. Quản lý và bảo vệ dữ liệu mật:Ví dụ CSDL có thể chứa các thông tin quan
trọng, cần phải bí mật tuyệt đối nhƣ CSDL quân sự. Trong khi một số CSDL
khác chứa các thông tin công khai nhƣ CSDL thƣ viện của trƣờng học hoặc một
số CSDL vừa bí mật, vừa công khai thì vấn đề bảo mật sẽ phức tạp hơn. Do đó,
CSDL chứa các thông tin mật cần phải đƣợc bảo vệ chặt chẽ
5. Bảo vệ đa mức:Ở đây tùy theo yêu cầu của thông tin mà phân thành các mức
bảo mật khác nhau, thông tin quan trọng thì có thể có nhiều mức bảo vệ khác
nhau trong đó mức độ nhạy cảm có thể khác nhau trong cùng một bản ghi hay
thuộc tính giá trị. Phân chia theo lớp các mục thông tin khác nhau và phân chia
truy nhập tới từng thành phần của bản ghi.
6. Hạn chế dịch chuyển thông tin tùy tiện: Loại bỏ việc dịch chuyển thông tin
không đƣợc phép giữa các chƣơng trình. Việc chuyển thông tin xuất hiện theo
các kênh đƣợc quyền, các kênh bộ nhớ và các kênh chuyển đổi. Kênh đƣợc
quyền cung cấp thông tin ra và qua các hoạt động đƣợc phép nhƣ soạn thảo
hoặc dịch chuyển tập tin, kênh bộ nhớ là vùng nhớ mà ở đó thông tin đƣợc lƣu
trữ bởi chƣơng trình và có thể đọc đƣợc bằng các chƣơng trình khác. Kênh
chuyển đổi là kênh liên lạc trên cơ sở sử dụng tài nguyên hệ thống không bình
thƣờng cho liên lạc giữa các đối tƣợng của hệ thống.
Các công cụ thực hiện thƣờng là việc kiểm soát truy cập (trực tiếp hay gián
tiếp), mã hóa, nén tin…
2.2.2.3. Xác thực CSDL
Nhiệm vụ chủ yếu là xác thực đúng đối tƣợng và quyền truy cập CSDL của đối
tƣợng đến các dữ liệu đƣợc phép. Chỉ có những đối tƣợng có quyền truy cập hợp pháp
mới đƣợc phép truy cập đến CSDL.

15

2.2.2.4. Sẵn sàng truy cập CSDL

Nhiệm vụ chủ yếu của chức năng này đảm bảo cho việc truy xuất của các đối
tƣợng đến CSDL luôn đƣợc thực hiện, không bị cản trở, ảnh hƣởng bởi các yếu tố bên
ngoài nhƣ kẻ khác giả mạo, ngăn chặn việc truy cập CSDL của ngƣời dùng hợp pháp
và ảnh hƣởng đến dữ liệu đƣợc lƣu trữ trong CSDL…
2.3. Một số biện pháp an ninh CSDL
Có nhiều biện pháp chính để đảm bảo an ninh CSDL bao gồm có: kiểm soát
thông tin vào ra CSDL, mật mã thông tin trong CSDL, xây dựng CSDL theo các mô
hình an ninh xác định trƣớc, kiểm soát các lỗ hổng thiếu an ninh liên quan đến
CSDL(nhƣ lỗ hổng trong thuật toán, giao thức, hệ điều hành, ngôn ngữ lập trình, kiến
trúc mạng,…) và cuối cùng là kiểm soát các loại tấn công dựa vào các lỗ hổng.
Trong khuôn khổ của luận văn chỉ tập trung vào hai biện pháp chính là việc
kiểm soát thông tin vào ra CSDL và vấn đề “che giấu” hay nói cách khác là mật mã
thông tin trong CSDL.
2.3.1. Kiểm soát thông tin vào, ra CSDL
Ở đây hiểu việc kiểm soát thông tin vào, ra CSDL chính là kiểm soát việc truy
xuất thông tin trong CSDL bao gồm hai công đoạn chính là lƣu thông tin (chuyển
thông tin vào CSDL và lấy thông tin từ trong CSDL ra). Hay kiểm soát truy nhập. Đó
là việc đáp ứng các truy nhập đến đối tƣợng hệ thống tuân theo phƣơng pháp và chính
sách bảo vệ dữ liệu.
Thông tin vào Thông tin ra


Hình 2.1 Thông tin vào, ra CSDL.
Các truy nhập đến CSDL từ nhiều nguồn khác nhau nhƣ ứng dụng web,
winform, hoặc từ các ứng dụng khác…,do đó đây là việc kiểm soát đáp ứng đƣợc các
truy nhập trực tiếp đến đối tƣợng hệ thống tuân theo chính sách bảo vệ dữ liệu. Cần
phải xây dựng một hệ thống có nhiệm vụ kiểm soát đƣợc mọi truy nhập của ngƣời
dùng và các tiến trình truy nhập, các chủ thể này khai thác thông tin dữ liệu và chƣơng
trình thông qua các phép tính toán.
 Kiểm soát thông tin vào ra CSDL đƣợc chia làm ba loại chính là: kiểm soát truy

nhập, kiểm soát luồng và kiểm soát suy diễn.
 Các công cụ để kiểm soátbao gồm có tự động và thủ công.
2.3.1.1. Kiểm soát truy nhập
Hệ thống kiểm soát truy nhập:
Một hệ thống kiểm soát truy nhập bao gồm có 3 phần chính sau:
 Phần 1:Các chính sách an ninh và quy tắc truy nhập (security policies, access
rules), phần này đƣa ra các kiểu khai thác thông tin đƣợc lƣu trữ trong hệ thống.
 Phần 2:Cơ chế an ninh hay các thủ tục kiểm soát (control procedures), phần này
kiểm tra các yêu cầu cho việc truy cập, cho phép hay từ chối truy cập.
 Phần 3:Là các phƣơng tiện và công cụ thực hiện việc kiểm soát truy nhập hay
còn gọi là hạ tầng cơ sở (bao gồm có kiểm soát trực tiếp và tự động).
Hình 2.2 mô tả chi tiết mô hình hệ thống kiểm soát truy nhập

Yêu cầu
truy nhập
Thủ tục
kiểm soát
Yêu cầu thay đổi
Truy cập từ chối
Truy cập cho phép
Chính sách
an ninh
Các luật truy cập




CSDL

16








Hình 2.2 Mô hình một hệ thống kiểm soát truy nhập.
Chúng ta quan tâm chính đến chính sách an ninh trong mô hình hình 2.2. Chính sách
an ninh đặt ra kiểu khai thác thông tin lƣu trữ trong hệ thống, bao gồm có:
1).Chính sách kiểm soát truy nhập:
Chính sách kiểm soát truy nhập thiết lập khả năng và chỉ ra cách thức để chủ
thể và đối tƣợng trong hệ thống tập hợp lại và có thể cùng thực hiện chung một kiểu
truy nhập nào đó, ngoài ra cho phép thiết lập việc chuyển quyền truy nhập. Chính sách
này liên quan đến việc thiết kế và quản lý hệ thống cấp quyền khai thác. Nói chung, để
đảm bảo vấn đề an ninh CSDL thì thông dụng nhất là định danh các đối tƣợng tham
gia hệ thống và xác định quyền truy nhập cho các đối tƣợng này đối với hệ thống.
- Định danh chính là việc gán cho mỗi đối tƣợng một tên gọi theo một cách thống
nhất, và các định danh này là duy nhất trong hệ thống, ví dụ nhƣ một hệ thống
mạng LAN có các IP các máy tính trong mạng này không đƣợc trùng nhau.
- Xác định quyền là việc ủy quyền cho phép cách thức truy nhập của đối tƣợng
lên hệ thống. Ví dụ nhƣ gán quyền truy nhập cho User A là chỉ đƣợc phép đọc
CSDL, không đƣợc phép chỉnh sửa, còn đối với User B thì cho phép chỉnh sửa.
2).Chính sách giới hạn quyền truy nhập:
Ở đây hiểu chính sách này có nghĩa là giới hạn các quyền cơ bản cho các đối
tƣợng truy xuất đến CSDL. Tức là một đối tƣợng A nào đó chỉ có quyền thực hiện truy
xuất CSDL thực hiện việc xem nội dung, hay đối tƣợng B chỉ đƣợc thực hiện việc cập
nhật dữ liệu, các đối tƣợng A và B không thể thay đổi đƣợc vai trò của mình cho nhau
hay thay đổi vai trò của chính mình. Đối với chính sách giới hạn quyền truy nhập thì
đƣợc phân thành hai chính sách cơ bản là:

 Chính sách đặc quyền tối thiểu:Đối với chính sách này thì đối tƣợng chủ thể chỉ
sử dụng thông tin tối thiểu cần thiết cho hoạt động của mình.
 Đối với chính sách đặc quyền tối đa:Đối tƣợng chủ thể có thể sử dụng đƣợc
thông tin tối đa thực hiện công việc của mình và không bị xâm phạm quá mức
cho phép.
Có hai kiểu kiến trúc trong kiểm soát truy nhập là đối với hệ thống mở thì chỉ có
những truy nhập không bị cấm thì mới đƣợc phép, còn đối với hệ thống đóng thì chỉ có
những yêu cầu truy nhập có quyền thì mới đƣợc phép.
3). Chính sách quản lý quyền truy cập:
Chính sách này có thể đƣợc dùng trong việc kiểm soát tập trung hoặc phân tán, bao
gồm có:
- Phân cấp ủy quyền:Trong phân cấp này thì cơ chế kiểm soát đƣợc thực hiện tại
nhiều trạm và tập trung kiểm soát các trạm (ví dụ tổ chức các trạm nhƣ các nút
trên một cây).

17

- Chọn ngƣời sở hữu:Mô tả quan hệ và ngƣời sở hữu đảm bảo quyền khai thác
thông tin của họ.
- Quyết định tập thể: Tài nguyên có thể do một nhóm sở hữu và khi có yêu cầu
cần truy nhập đến tài nguyên này thì cần phải đƣợc sự đồng ý của cả nhóm (ví
dụ sơ đồ chia sẻ khóa bí mật).
4). Chính sách phân cấp đối tƣợng:
Ngay nhƣ tên gọi “phân cấp” đã cho thấy mức độ quan trọng của các đối tƣợng
khác nhau. Chính sách này có mục tiêu cơ bản là kiểm soát thông tin đi tới các đối
tƣợng có mức phân cấp khác nhau, ví dụ nhƣ thông tin có “cấp cao” (quan trọng) đi
xuống “cấp thấp” (ít quan trọng) và nhƣ thế thông tin bị lộ.
Có các mức phân cấp sau tùy theo mức độ quan trọng của đối tƣợng:
 Mức 0: mức bình thƣờng, ký hiệu U - Unclassified.
 Mức 1: mức mật, ký hiệu C - Confidential.

 Mức 2: mức tối mật, ký hiệu S - Secret.
 Mức 3: mức tuyệt mật, ký hiệu TS - Top Secret.
Việc kiểm soát phân cấp này thuận lợi cho việc quản lý các chính sách an ninh áp
dụng đối với từng phân cấp.
2.3.1.2. Kiểm soát lƣu lƣợng
Ở đây chúng ta hiểu lƣu lƣợng chính là “luồng” thông tin di chuyển giữa hai đối
tƣợng. Ví dụ giữa hai đối tƣợng A và B thì xuất hiện lƣu lƣợng thông tin đi ra từ A và
vào B, ở đây có thể hiểu một cách trực quan là B lấy thông tin (hay đọc) thông tin của
A và lƣu (hay ghi) vào B. Do đó việc kiểm soát lƣu lƣợng chính là việc kiểm tra luồng
thông tin có “đi” từ đối tƣợng này sang đối tƣợng khác hay không. Nếu có thì nhận
đƣợc thông tin từ B là những thông tin không đƣợc phép nhận trực tiếp từ A. Do đó
thông tin đã bị lộ (thông tin của A bị lộ thông qua B). Ngoài ra việc kiểm soát lƣu
lƣợng còn ngăn chặn việc một luồng thông tin đi đến các đối tƣợng có mức phân cấp
thấp hơn. Trong một số trƣờng hợp thì việc lƣu lƣợng thông tin nhƣ trên là không
đƣợc phép và chính sách kiểm soát lƣu lƣợng sẽ chối bỏ các yêu cầu này.
2.3.1.3. Kiểm soát suy diễn
Ngay nhƣ tên gọi thì việc suy diễn chính là việc lấy thông tin thông qua việc tập
hợp các thông tin khác, hay đƣợc phân tích từ thông tin khác. Nhƣ vậy thông tin bí mật
bị rò rỉ, cơ chế kiểm soát suy diễn theo Denning và Schlorer thì đây là cơ chế nhằm
bảo vệ dữ liệu khỏi việc truy cập gián tiếp thông qua các thông tin khác. Ví dụ khi
chúng ta cần giữ bí mật thông tin A nào đó, nhƣng một ai đó đã “khôn khéo” lấy đƣợc
thông tin B cho phép và dùng một hàm nào đó giả sử là g(x) để tính lại đƣợc thông tin
A=g(B).
Có 3 vấn đề trong kiểm soát suy diễn:
 Thứ nhất là việc truy nhập gián tiếp:Xảy ra khi ngƣời dùng không đƣợc phép,
có thể thu thập thông tin qua câu lệnh truy vấn trên tập dữ liệu sử dụng.
Ví dụ nhƣ câu lệnh truy vấn sau:
Select * from tblDiemThi
Where CSDL= „5‟
Khi đó thì tất cả các thông tin thỏa mãn điều kiện câu lệnh trên sẽ hiển thị ra và

chúng ta dễ dàng biết đƣợc giá trị của các thuộc tính khác mà CSDL muốn giữ
bí mật.

18

 Thứ hai là việc tìm dữ liệu tƣơng quan:Tức là dựa vào tính chất thông tin có
liên hệ với nhau khi biết thông tin A, B thì có thể tính đƣợc thông tin C thông
qua tính chất hay phép toán nào đó. Ví dụ nhƣ chúng ta muốn tính lƣơng của
thâm niên qua phụ cấp thì có thể tính thông qua công thức đơn giản sau:
Luong(A) = LuongCoBan(B) +
LuongCoBan (B)*Tham_nien – ThueThuNhapCaNhan(C)
(thâm niên tùy theo thời gian làm việc có thể là 5%, 10%,… theo quy định công
ty).Cho nên nếu thông tin lƣơng cần phải bí mật mà các thông tin về lƣơng cơ
bản, thâm niên và thuế thu nhập cá nhân là công khai thì việc bảo mật trên là vô
nghĩa.
 Thứ ba là việc mất dữ liệu:Ở đây việc suy diễn cho phép một ngƣời nào đó biết
đƣợc thông tin A có mặt thì sẽ biết đƣợc tên, truy nhập đƣợc thông tin có trong
A.
2.3.1.4.Một số công cụ kiểm soát thông tin vào, ra CSDL
Có hai nhóm công cụ chính trong việc thực hiện kiểm soát thông tin vào, ra
CSDL là nhóm kiểm soát trực tiếp (có thao tác - hay là một cách thủ công có tác động
của con ngƣời) và nhóm gián tiếp, kiểm soát một cách tự động dƣới tác động của thiết
bị (không có việc con ngƣời trực tiếp thao tác).
1).Nhóm công cụ thực hiện việc kiểm soát trực tiếp:
Nhóm này thƣờng là việc kiểm soát đƣợc tiến hành một cách thủ công bao gồm
Mật khẩu, chữ ký, thẻ,
- Phần này tập trung vào một công cụ kiểm soát là mật khẩu:
Mật khẩu đƣợc hiểu là một xâu ký tự bí mật, và chỉ có duy nhất ngƣời dùng và
hệ thống biết. Và hệ thống căn cứ vào mật khẩu này để nhận dạng ra ngƣời dùng, chỉ
có ngƣời dùng nào có mật khẩu đƣợc đăng ký trƣớc với hệ thống thì đƣợc phép truy

cập vào hệ thống, nói cách khác là mật khẩu để xác thực ngƣời dùng. Mật khẩu cũng là
một công cụ kiểm soát vấn đề thông tin vào, ra CSDL hiện nay. Mật khẩu đƣợc coi là
an toàn nếu nó đƣợc mã hóa bằng hàm một chiều (hàm này thƣờng là hàm băm để băm
giá trị mật khẩu ngƣời dùng nhập vào, và tính ngƣợc lại từ giá trị băm này để tìm ra
mật khẩu là khó).
- Tiêu chuẩn mật khẩu an toàn:
Để đảm bảo an toàn cho mật khẩu thì mật khẩu phải đáp ứng đƣợc một số tiêu
chuẩn sau: Thứ nhất là tối thiểu cần có 8 ký tự và càng dài càng tốt, thứ hai là mật
khẩu thì “phức tạp”. Phức tạp đƣợc hiểu là “khó” có thể đoán ra đƣợc mật khẩu và
gồm những nhóm ký tự sau: Ký tự “số” [0-9]; chữ in thƣờng; chữ in HOA; ký hiệu đặc
biệt (+_@#$%, ). Thứ ba là chọn tiếng nƣớc ngoài (do nếu chọn tiếng địa phƣơng thì
khả năng đoán trúng cao hơn là tiếng nƣớc ngoài). Cuối cùng là chọn mật khẩu gợi
nhớ về các khả năng của bản thân nhƣ môn thể thao yêu thích, đồ dùng,… (nhằm mục
đích làm cho việc ngƣời dùng “quên” mật khẩu giảm đi).
Một số phƣơng pháp tạo mật khẩu:
1. Do chính ngƣời dùng tạo ra: Mục đích chính của việc ngƣời dùng tạo ra mật
khẩu là để họ chắc chắn nhớ đƣợc mật khẩu đó, do vậy tránh đƣợc khả năng
ngƣời dùng phải ghi nhớ mật khẩu, dẫn đến việc họ phải ghi mật khẩu ở nơi nào
đó nhƣ sổ ghi chú, trong máy tính, email,…và dẫn đến việc kẻ gian truy tìm
đƣợc hay ngẫu nhiên bị lộ (mất sổ chẳng hạn). Tuy nhiên thì phƣơng pháp này

19

có những nhƣợc điểm nhƣ là vì dễ nhớ nên ngƣời dùng thƣờng chọn mật khẩu
chứa các thông tin liên quan đến cá nhân họ nhƣ (tên vợ chồng, con cái, vật
dụng quen thuộc, môn thể thao yêu thích, ngày sinh, số xe máy,…)hoặc ngƣời
dùng sử dụng chung mật khẩu ƣa thích trên nhiều máy, do đó nguy cơ mật khẩu
dễ bị kẻ tấn công đoán ra hoặc truy vết tìm hiểu là rất cao.
2. Mật khẩu do máy tính tạo ra: Khắc phục đƣợc vấn đề “dễ đoán” nhƣ trƣờng hợp
ngƣời dùng tạo mật khẩu là dùng mật khẩu do máy tính tạo ra. Do đó mật khẩu

này là khó đoán đƣợc, vì máy tính sẽ loại những mật khẩu “dễ” ra khỏi hệ
thống. Máy tính thƣờng đƣa ra một số mật khẩu cho ngƣời dùng lựa chọn và
ngƣời dùng chọn bằng cách gõ lại mật khẩu đã chọn. Và mặt khác thì do
chƣơng trình hoạt động theo chu kỳ (7 ngày, 1 tháng,…) nên nếu xảy ra trƣờng
hợp mật khẩu bị lộ thì chỉ có hiệu lực trong một thời gian nhất định và thời gian
này gọi là “tuổi” của mật khẩu. Tuy nhiên thì nhƣợc điểm của mật khẩu loại
này là khó nhớ nên ngƣời dùng phải ghi lại. Do đó thì thực tế hiện nay thì ngƣời
dùng thƣờng sử dụng mật khẩu tự tạo hơn là do máy tính tạo ra chủ yếu vì vấn
đề ghi nhớ mật khẩu.
3. Mật khẩu có thể hiệu chỉnh: Phƣơng pháp này kết hợp 2 phƣơng pháp 1, 2 để
tạo ra mật khẩu an toàn. Phƣơng pháp này thì chƣơng trình tạo mật khẩu cung
cấp cho ngƣời dùng một phần của mật khẩu, trên cơ sở đó ngƣời dùng có thể
xây dựng mật khẩu mới theo tiêu chuẩn đề ra, có thể thay đổi độ dài hay thuộc
tính khác của xâu ký tự đƣợc tạo ra. Ví dụ hệ thống cấp cho ngƣời dùng mật
khẩu có ký tự: “4Ys”, quy tắc là các ký tự 4, Y, s. phải xuất hiện trong các mật
khẩu theo đúng trật tự đã cho, vì thế ngƣời dùng có thể tạo mật khẩu nhƣ:
4Yearlearns, look4lastYears,…Những mật khẩu này có thể nhớ đƣợc do ngƣời
dùng đã chọn thông tin mật khẩu có ý nghĩa đối với họ, vì vậy tránh đƣợc mật
khẩu “dễ”.
Một số phƣơng pháp tấn công dò tìm mật khẩu:
Có phƣơng pháp tạo ra mật khẩu thì cũng có nhu cầu khám phá, tìm ra mật
khẩu. Tuy nhiên thì việc dò tìm ra mật khẩu cũng là một vấn đề, bởi vì kẻ muốn tìm
mật khẩu chƣa biết thông tin, cách thức mà ngƣời dùng tạo ra. Do đó kẻ tấn công sẽ
phải thử nhiều biện pháp để dò tìm. Có những cách dò tìm mật khẩu sau:
 Thứ nhất là kiểu tấn công bằng cách thử tất cả các khả năng của mật khẩu hay
hiểu là “vét cạn”. Nhƣ vậy với kiểu tấn công này thì kẻ tấn công sẽ phải thử tất
cả khả năng có thể của mật khẩu, do đó cách tấn công này gặp khó khăn lớn khi
mật khẩu có độ dài lớn và phức tạp. Ví dụ nếu nhƣ chúng ta chọn mật khẩu có
độ dài từ 1 đến 8 ký tự với các ký tự trong bảng chữ cái A-Z (28 ký tự) và các
ký tự to nhỏ là 52, khi đó chúng ta sẽ có 52

1
mật khẩu 1 ký tự, 52
2
mật khẩu 2
ký tự, …52
8
mật khẩu 8 ký tự. Vì thế tổng số mật khẩu cần phải dò tìm sẽ là:
52
1
+ 52
2
+ ….+ 52
8
 5,5*10
13
mật khẩu. Với tốc độ xử lý giả sử là 10
-3

giây/mật khẩu thì để kiểm tra hết các mật khẩu trên thì sẽ phải mất khoảng 1728
năm. Điều này rõ ràng là bất lợi, bởi vì kẻ tấn công cũng không thể đủ kiên
nhẫn (sống đƣợc) đến thời gian tìm ra mật khẩu. Tuy nhiên thì thực tế thì để tìm
ra một mật khẩu cụ thể không cần thử toàn bộ mật khẩu có thể, vì chúng ta khi
tạo ra mật khẩu thì không quá phức tạp vì cần có thể nhớ đƣợc mật khẩu, cho
nên kẻ tấn công cũng dựa vào đặc điểm này để dò tìm. Đối với ngƣời dùng nào
đó thì mật khẩu thƣờng liên quan đến các thông tin cá nhân nhƣ môn thể thao
yêu thích, tên đệm, ngày sinh,…cho nên nói chung thì mật khẩu của họ sẽ

20

không nhiều lắm, nên việc tìm hiểu thông tin cá nhân của ngƣời cụ thể sẽ hỗ trợ

cho việc tìm mật khẩu thành công hơn.
 Thứ hai là kẻ tấn công sẽ dò tìm nơi mật khẩu đƣợc lƣu trữ nhƣ các file. Cách
dò tìm nhƣ vậy dựa theo việc suy đoán tất cả khả năng có thể, cho nên tìm kiếm
những file này trên hệ thống rồi đọc thông tin thì sẽ hiệu quả hơn. Tuy nhiên thì
cách này cũng gặp phải khó khăn là nếu file chứa mật khẩu không đƣợc mã hóa
thì việc đọc thông tin file này quá đơn giản, còn nếu đƣợc mã hóa thì kẻ tấn
công muốn lấy đƣợc mật khẩu thì phải tìm cách giải mã nội dung mã hóa của
mật khẩu.
 Thứ ba là nếu kẻ tấn công có khả năng thì chúng có thể dùng virus hay trojan để
cài đặt vào hệ thống và tiến hành lấy cắp mật khẩu, ví dụ nhƣ một số virus giả
dạng thành chƣơng trình hệ thống, rồi yêu cầu ngƣời dùng đăng nhập vào, khi
đó thông tin sẽ bị lộ. Tuy nhiên thì cách này đòi hỏi kẻ tấn công phải có trình độ
tạo virus hay trojan xâm nhập và giả mạo chƣơng trình đáng tin cậy.
Cho nên khi đã phân tích các khả năng kẻ tấn công dò tìm mật khẩu thì cần phải có
một số biện pháp hạn chế tối đa việc mật khẩu bị lộ và bảo vệ thông tin mật khẩu.
Một số biện pháp bảo vệ thông tin mật khẩu:
1. Bảo vệ mật khẩu đối với ngƣời dùng. Nhƣ đã phân tích ở phần dò tìm mật khẩu
“vét cạn” thì độ phức tạp của mật khẩu càng lớn thì khả năng mật khẩu bị dò
tìm càng nhỏ đi. Do đó để đảm bảo an toàn thì ngƣời dùng cần tuân thủ các yêu
cầu khi tạo mật khẩu an toàn, không sử dụng các từ đã có trong từ điển, không
ghi lại thông tin mật khẩu (việc này sẽ gặp khó khăn nếu nhƣ ngƣời dùng cần
lƣu trữ nhiều mật khẩu khác nhau phục vụ cho nhiều mục đích khác nhau, khi
đó đôi khi dẫn đến nhầm lẫn hay quên), không tiết lộ mật khẩu, thƣờng xuyên
thay đổi mật khẩu định kỳ tuy nhiên thì điều này đôi khi cũng không hẳn là tốt
ví dụ nhƣ nếu thƣờng xuyên thay đổi mật khẩu thì thỉnh thoảng ngƣời dùng có
thể chọn mật khẩu đáp ứng yêu cầu nhƣng không phải là mật khẩu tốt (do hệ
thống yêu cầu ngƣời dùng phải thay đổi mật khẩu).
2. Mật khẩu một lần:Ở đây hiểu ngay từ dùng một lần tức là mỗi khi đăng nhập thì
mật khẩu chỉ dùng 1 lần. Hay đây chính là hệ thống xác nhận ngƣời dùng bằng
cách hỏi đáp và mật khẩu ở đây chính là câu trả lời của ngƣời dùng đối với câu

hỏi của hệ thống, sử dụng hàm cho mỗi ngƣời dùng là cố định, tuy nhiên thì
tham số của mỗi lần xác nhận là khác nhau nên câu trả lời của ngƣời dùng thì
cũng khác nhau.
3. Bảo vệ thông tin mật khẩu đƣợc lƣu trữ trong máy tính. Các file mật khẩu đƣợc
lƣu trong máy tính đƣợc mã hóa để chống lại việc truy cập và lấy thông tin mật
khẩu. Và dạng mã hóa thƣờng dùng là mã hóa truyền thống và mã hóa một
chiều. Ở đây hiểu mã hóa truyền thống là cách thức mã hóa toàn bộ file mật
khẩu hoặc chỉ trƣờng mật khẩu đƣợc mã hóa (trong CSDL). Khi ngƣời dùng
nhập thông tin mật khẩu vào hệ thống thì mật khẩu lƣu trữ đƣợc giải mã và so
sánh với mật khẩu đã nhập. Do đó thì tại thời điểm ngƣời dùng nhập mật khẩu
vào thì nó sẽ thể hiện rõ trong bộ nhớ và bất cứ ai truy cập đƣợc vào bộ nhớ thì
khả năng lộ mật khẩu là rất cao.
Còn mã hóa một chiều thì sẽ khắc phục đƣợc nhƣợc điểm trên, các mật khẩu
trong quá trình ngƣời dùng chọn làm mật khẩu của mình và sẽ lƣu trong CSDL
dƣới dạng mã hóa một chiều, khi ngƣời dùng nhập thông tin mật khẩu của mình

21

vào hệ thống thì thông tin mật khẩu đó sẽ đƣợc mã hóa và so sánh với thông tin
đƣợc lƣu trữ, nếu khớp thì ngƣời dùng đƣợc phép đăng nhập hệ thống.
2). Nhóm các công cụ thực hiện việc kiểm soát gián tiếp
Đối với nhóm công cụ này thì việc kiểm soát đƣợc tiến hành tự động, không có
sự tác động trực tiếp của ngƣời dùng nhƣ việc ngƣời dùng nhập mật khẩu vào hệ thống
(dùng bàn phím nhập, ) bao gồm có tƣờng lửa, mạng riêng ảo…Do đó thông tin vào,
ra hệ thống sẽ đƣợc kiểm soát (phải đi qua các công cụ này, nhƣ tƣờng lửathì lọc thông
tin nào đƣợc phép, thông tin nào không đƣợc phép vào hệ thống thông qua một chính
sách đƣợc xác nhận từ trƣớc, hoặc mạng riêng ảo thì bảo vệ thông tin đƣờng trên
đƣờng truyền, chúng thiết lập một “ống” kết nối khi thông tin đƣợc gửi đi trên mạng
công khai, khi đó tránh đƣợc hiểm họa bị xâm phạm, đọc trộm…
- Phần này chỉ tìm hiểu qua về công cụ là mạng riêng ảo:

Mạng riêng ảo, trƣớc hết là một mạng kết nối giữa các máy tính khác nhau
trong một mạng cục bộ với các máy tính khác qua mạng Internet (các máy tính trong
cơ quan với các chi nhánh ngoài cơ quan với nhau thông qua mạng Internet).
Mạng riêng ảo


Hình 2.3 Sơ đồ kết nối VPN mạng cơ quan và chi nhánh.
- Mục đích của mạng riêng ảo chỉ gói gọn trong những yêu cầu sau:
1. Thiết lập kết nối từ xa tới các tài nguyên (file, thƣ mục chia sẻ, CSDL,…) của
một tổ chức bất kỳ lúc nào.
2. Kết nối các phòng ban trong cùng một cơ quan với nhau, hay các cơ sở, chi
nhánh của cơ quan với nhau.
3. Kiểm soát đƣợc các truy nhập của các đối tác của cơ quan với các tài nguyên
trong cơ quan.
- Một số kỹ thuật trong mạng riêng ảo:
Hầu hết các mạng riêng ảo đều dựa vào kỹ thuật gọi là đƣờng ống (giống nhƣ
ống nƣớc - tunneling) để tạo ra một mạng riêng trên nền mạng internet. Bản chất của
quá trình này là cho toàn bộ gói tin vào trong lớp tiêu đề - header chứa thông tin định
tuyến để thông tin có thể truyền qua hệ thống mạng trung gian theo “đƣờng ống”. Khi
gói tin đƣợc đƣa tới đích thì gói tin sẽ đƣợc gỡ ra khỏi tiêu đề và chuyến đến máy tính
cần nhận gói tin đó. Do đó để hai máy gửi và nhận hiểu đƣợc thông tin thì chúng phải
đƣợc thiết lập cùng một cách thức kết nối là giao thức chung. Giao thức này “bọc” gói
tin và đƣợc hai máy gửi - nhận biết, hai điểm “vào”, “ra” gọi là giao diện “ống”.
Kỹ thuật “ống” yêu cầu 3 giao thức khác nhau:
1. Giao thức truyền thông tin, đƣợc sử dụng bởi mạng mà có gói tin đi qua.
2. Giao thức mã hóa thông tin, đƣợc bao quanh thông tin gốc (IPSec,…).
3. Giao thức gói tin, đây là giao thức thông tin gốc đƣợc truyền đi (IP,…).
Một số mô hình của mạng riêng ảo:
Có các mô hình chính trong mạng riêng ảo nhƣ sau:
1. Truy cập từ xa:Đây cũng đƣợc gọi là mạng quay số riêng ảo để kết nối giữa

ngƣời dùng trong cơ quan với mạng nội bộ cơ quan đó từ xa qua nhiều thiết bị
khác nhau nhƣ điện thoại, máy tính… mô hình này thƣờng dùng giao thức kết
Mạng cơ quan
Mạng chi nhánh

Internet


22

nối điểm-điểm (PPP -Point-to-Point Protocol). Đây là một phần giao thức
TCP/IP, đóng vai trò truyền tải cho các giao thức IP khác trên mạng.
2. Điểm nối điểm:Với loại này thì giao thức mã hóa GRE-Generic Routing
Encapsulation sẽ cho cơ cấu “đóng gói” giao thức gói tin để truyền thông tin
trên giao thức truyền tải. Bao gồm thông tin về loại gói tin và thông tin về kết
nối giữa hai máy tính. Mô hình này cũng còn đƣợc gọi là mô hình site-to-site và
đƣợc chia thành 2 loại chính là Intranet VPN -kết nối các mạng cục bộ LAN
qua mạng riêng ảo trên Internet và Extranet VPN - kết nối LAN - LAN của các
tổ chức khác nhau cùng làm việc qua mạng riêng ảo.
2.3.2.Cơ sở lý thuyết mật mã trong bảo mật CSDL
2.3.2.1.Giới thiệu
Có thể nói rằng, thời đại hiện nay là thời đại của công nghệ thông tin, trong đó
thông tin đƣợc lƣu trữ các máy tính rất phổ biến, các thông tin này đƣợc trao đổi qua
mạng internet và lƣu trữ trong CSDL…, chính vì thế khả năng dữ liệu bị mất mát trên
đƣờng truyền, thay đổi, chỉnh sửa trái phép…là không thể tránh khỏi. Do đó đặt ra vấn
đề đảm bảo tính bí mật, toàn vẹn của dữ liệu trên đƣờng truyền hoặc trong các CSDL,
mã hóa dữ liệu là phƣơng pháp chính trong việc bảo vệ dữ liệu. Thực chất, mã hóa là
quá trình biến đổi thông tin ban đầu (dạng plain text) sang một dạng khác gọi là bản
mã (cipherText).
Một hệ thống mã hóa bao gồm có những thành phần sau:

- PlainText: Là bản tin sẽ đƣợc mã hóa hay bản tin gốc.
- CipherText: Là bản tin đã đƣợc mã hóa hay bản tin mã.
Thuật toán mã hóa và giải mã:
- Encryption: Là quá trình chuyển bản tin gốc sang dạng mật mã.
- Decryption: Là quá trình giải bản tin mật mã trở về bản tin gốc.
- Cách chọn khóa: Là giá trị toán học dùng để thực hiện mã hóa.
Có nhiều phƣơng pháp mã hóa đã đƣợc đƣa ra dựa trên các giải thuật phức tạp,
để tạo ra sự khó khăn cho những ngƣời nào đó muốn phá mật mã mà không cần đƣợc
ai trao cho chìa khóa. Nói việc tạo ra sự khó khăn là vì trên lý thuyết, không thể nói
việc tìm ra khóa là không thể. Nhƣng nếu việc tìm ra khóa là một việc khó khăn đến
mức làm cho kẻ gian nản lòng hoặc đến khi tìm ra khóa thì dữ liệu không còn giá trị
nữa thì đó là một mức độ an toàn tốt. Quá trình mã hóa và giải mã đƣợc minh họa theo
sơ đồ sau:



Hình 2.4Quá trình mã hóa và giải mã.

Bản tin
gốc
Bản

Bản

Bản tin
gốc
Internet
Quá trình mã
hóa
Quá trình giải mã


23

2.3.2.2. Mã hóa bằng khóa bí mật
Các hệ thống mã hóa bằng khóa bí mật còn đƣợc gọi là mã hóa bằng khóa riêng
hay mã hóa bằng khóa đối xứng, mã hóa khóa đối xứng sử dụng duy nhất một khóa
cho cả quá trình mã hóa lẫn giải mã.
Có hai thuật toán chính trong mã hóa khóa bí mật:
 Stream Algorithms/Stream Ciphers: Thuật toán hoạt động trên văn bản/dữ liệu
bình thƣờng theo từng bit một.
 Block Algorithms/Block Ciphers: Thuật toán hoạt động trên văn bản/dữ liệu
theo các khối (32 bit, 64bit, 128bit…).
Một số thuật toán hiện đang đƣợc sử dụng rộng rãi hiện nay nhƣ: DES, Triple-DES,
RC6, Rijndael (AES)…
Quá trình mã hóa và giải mã bằng khóa bí mật đƣợc minh họa nhƣ hình sau:
























Quá trình truyền
dữ liệu






Khóa bí mật(chỉ
Có ngƣời mã hóa và
ngƣời giải mã biết)
Quá trình
mã hóa
Quá trình
giải mã
Bản tin gốc
Bản tin gốc
Bản tin mã
Bản tin mã

```
```

```

```
```
```


Hình 2.5 Mã hóa bằng khóa bí mật.
2.3.2.3. Mã hóa bằng khóa công khai
Mã hóa bằng khóa công khai hay còn đƣợc gọi là mã hóa khóa bất đối xứng hay
mã hóa bằng khóa chung. Có sự khác biệt cơ bản giữa một hệ thống mã hóa bằng khóa
bí mật và hệ thống mã hóa bằng khóa công khai là hệ thống mã hóa bằng khóa công
khai sử dụng hai khóa khác nhau để mã hóa và giải mã. Chính vì thế, một hệ mã hóa
khóa công khai sử dụng hai khóa: một khóa dành cho ngƣời mã hóa thƣờng đƣợc công
khai và khóa còn lại dùng cho ngƣời giải mã và đƣợc giữ bí mật. Nhƣ vậy thì hệ thống
mã hóa sử dụng khóa công khai cần có một quá trình sinh ra hai khóa để mã hóa và
giải mã thông điệp, và các khóa này đƣợc xem nhƣ một bộ đôi:
 Public-key (khóa công khai): Là khóa đƣợc phép công khai mà không phải chịu
bất kỳ một rủi ro nào về an toàn, khóa này đƣợc dùng để mã hóa thông điệp/dữ
liệu.

24

 Private-key (khóa bí mật): Là khóa không đƣợc phép để lộ, mỗi một thông
điệp/dữ liệu đƣợc mã hóa bằng khóa công khai thì chỉ có thể giải mã đƣợc bằng
một khóa bí mật thích hợp.
Một số thuật toán mã hóa khóa công khai phổ biến nhƣ: RSA, Elgamal,…
Quá trình mã hóa và giải mã bằng cách sử dụng khóa công khai đƣợc minh họa nhƣ
hình sau:
























Quá trình truyền
dữ liệu





Khóa công khai, chỉ

dùng để mã hóa (có
thể cho mọi ngƣời
biết)

Khóa mật, chỉ dùng
để giải mã (cần
đƣợc giữ bí mật)
Quá trình
mã hóa
Quá trình
giải mã
Bản tin gốc
Bản tin gốc
Bản tin đã
đƣợc mã
hóa
Bản tin đã
đƣợc mã
hóa

```
```
```

```
```
```


Hình 2.6 Mã hóa bằng khóa công khai.

2.3.2.4. Ƣu và khuyết điểm của hai phƣơng pháp
1). Phƣơng pháp mã hóa khóa bí mật
Các ƣu/nhƣợc điểm của hệ thống mã hóa khóa bí mật:
Các ƣu điểm
Các nhƣợc điểm
- Có thể đƣợc thiết kể để đạt tốc độ cao,
các thiết bị phần cứng hỗ trợ có thể đạt
tốc độ lên đến hàng trăm MB/s trong
khi việc thực thi bằng phần mềm chỉ
đạt đƣợc khoảng vài MB/s.
- Khóa dùng để mã hóa khóa đối xứng
tƣơng đối ngắn.
- Đƣợc xem nhƣ một thành phần cơ bản
để có thể triển khai, xây dựng các kỹ
thuật mã hóa bao gồm có khởi tạo các
số ngẫu nhiên, các hàm băm, kỹ thuật
tính toán.
- Ngoài ra còn có thể đƣợc kết hợp với
nhau để tạo thành các thuật toán mã
hóa mạnh hơn.
- Trong quá trình truyền thông tin giữa
hai ngƣời thì khóa cần phải đƣợc giữ bí
mật cho cả hai bên.
- Trong một hệ thống mạng lớn thì số
lƣợng khóa cần quản lý rất nhiều.
Chính vì thế để việc quản lý khóa một
cách hiệu quả đòi hỏi phải sử dụng một
bên tin cậy thứ ba (Trusted Third Party
- TTP).
- Khóa bí mật cần phải đƣợc thay đổi

thƣờng xuyên.
- Kỹ thuật chữ ký số đƣợc phát triển từ
cơ chế mã hóa khóa bí mật đòi hỏi phải
sử dụng các khóa lớn cho các hàm xác
nhận công khai hoặc sử dụng một TTP.
2). Phƣơng pháp mã hóa khóa công khai
Các ƣu/nhƣợc điểm của hệ thống mã hóa khóa công khai:

25

Các ƣu điểm
Các nhƣợc điểm
- Chỉ có khóa riêng mới cần giữ bí mật,
tuy nhiên thì việc xác nhận của khóa
công khai thì cần phải đƣợc đảm bảo.
- Việc quản trị các khóa trên mạng thì
chỉ đòi hỏi tồn tại duy nhất một thành
phần tin cậy TTP-Trusted Third Party.
- Cặp khóa riêng và công khai thì có thể
đƣợc sử dụng trong một thời gian dài.
- Có nhiều mô hình khóa công khai
đƣợc phát triển và hình thành nên các
kỹ thuật chữ ký số rất hiệu quả. Khóa
đƣợc sử dụng cho hàm kiểu công cộng
thì nhỏ hơn rất nhiều so với dùng khóa
đối xứng.
- Trong một mạng lớn thì số lƣợng các
khóa cần thiết để quan tâm ít hơn so
với việc dùng khóa đối xứng.
- Tốc độ của hệ mã hóa khóa công khai

thì chậm hơn rất nhiều so với hệ mã
hóa khóa bất đối xứng.
- Kích thƣớc khóa lớn hơn nhiều so với
hệ mã hóa khóa đối xứng.
- Không có mô hình khóa công khai nào
đã đƣợc chứng minh là an toàn, phần
lớn các mô hình mã hóa có hiệu quả
hiện nay có sự an toàn dựa trên giả
thiết của một tập nhỏ các vấn đề về lý
thuyết số học.
- Hệ mã hóa khóa công khai chỉ đƣợc
tìm ra vào những năm 1970 cho nên
chƣa có bề dày lâu đời nhƣ hệ mã hóa
khóa đối xứng.
2.3.2.5. Cơ chế mã hóa khóa bí mật
1). Khái quát
Cùng với sự phát triển mạnh mẽ về sức mạnh cũng nhƣ tốc độ của các bộ xử lý,
chuẩn mã hóa dữ liệu (DES) với khóa là 56 bit không đƣợc xem là an toàn đối với kiểu
tấn công vét cạn để tìm ra khóa. Việc tăng kích thƣớc của khóa cũng nhƣ khối mã hóa
yêu cầu khả năng tăng tốc của quá trình mã hóa và giải mã. Hiện nay thì một khóa 56
bit đƣợc xem nhƣ không còn an toàn nữa, thay vào đó là Triple-DES (hay mã hóa DES
3 cấp) đƣợc sử dụng để tăng tính an toàn cho khóa. Vì thế, một trong những yêu cầu
đặt ra là xây dựng một thuật toán mã hóa mới có độ an toàn cao và tốc độ nhanh hơn
hẳn Triple-DES.
Để đáp ứng yêu cầu trên, vào năm 1997 học viện quốc gia Mỹ về tiêu chuẩn kỹ
thuật (NIST – Institute of Standards and Technology) đã tiến hành một cuộc lựa chọn
một thuật toán mã hóa với khóa đối xứng và thuật toán đƣợc chọn xem là chuẩn mã
hóa cao cấp AES (Advance Encryption Standard). Và có rất nhiều thuật toán đƣợc
đăng ký trong cuộc cạnh tranh để đạt chuẩn AES này.
Trong các thuật toán mới, mã hóa khối có chiều dài 128 bit làm cho việc tấn

công bằng cách lập từ điển để đoán nội dung của chuỗi cần mã hóa trở nên khó khăn
hơn. Bên cạnh đó thì có thể chọn lựa ra các giá trị độ dài khóa là 128, 192 và 256 bit.
Vào năm 1998 thì NIST thông báo chọn đƣợc ra 15 thuật toán mạnh đòi hỏi sự
hỗ trợ về mặt kỹ thuật của các chuyên gia về mã hóa để phân tích và nghiên cứu để
chọn ra thuật toán hiệu quả và an toàn nhất.
Tiếp sau đó thì năm thuật toán đƣợc chọn vào vòng chung kết bao gồm có
Rijndael, Twofish, Serpent, MARS và RC6.
Cuối cùng vào tháng 2-2000, một thuật toán có tên là Rijndael đƣợc thiết kế bởi
Vinent Rijmen và Joan Daemen đã đƣợc NIST công nhận là chuẩn mã hóa cao cấp
AES. Thuật toán Rijndael đƣợc chọn là chuẩn mã hóa cao cấp dựa vào nhiều yếu tố
nhƣ tốc độ, tính an toàn, khả năng tích hợp vào phần cứng…
2). Cơ chế mã hóa AES

×