Upload
quang-tran
View
373
Download
1
Embed Size (px)
Citation preview
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 1/79
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG CHÍ HIẾU
BẢO MẬT TRONG CƠ SỞ DỮ LIỆU SQL SERVER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
HÀ NỘI - 2010
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 2/79
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG CHÍ HIẾU
BẢO MẬT TRONG CƠ SỞ DỮ LIỆU SQL SERVER
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
Cán bộ hƣớng dẫn: TS. Hồ Văn Hƣơng
HÀ NỘI - 2010
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 3/79
LỜI CẢM ƠN.
Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin trường đại học Công Nghệ -
Đại học Quốc Gia Hà Nội đã tạo điều kiện thuận lợi để em thực hiện đề tài khóa luận tốt
nghiệp này.
Em xin chân thành cảm ơn TS. Hồ Văn Hương, thầy đã luôn quan tâm, tận tình
hướng dẫn em trong quá trình học tập, nghiên cứu và thực hiện đề tài này.
Em xin chân thành cảm ơn các thầy cô trong và ngoài khoa Công Nghệ Thông Tin
đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu đã truyền thụ cho em
những kiến thức, kinh nghiệm đã quan tâm dìu dắt và giúp đỡ em trong quá trình thực tậpcũng như trong lúc thực hiện đề tài này.
Mặc dù đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được sự tận tình
chỉ bảo của thầy cô và các bạn.
HÀ NỘI, THÁNG 6 NĂM 2010
Hoàng Chí Hiếu
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 4/79
CHƢƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC AN TOÀN THÔNG TIN TRONG CƠ
SỞ DỮ LIỆU ................................................................................................................. 3
1.1. Giới thiệu ................................................................................................................ 3
1.2. Khái niệm................................................................................................................. 4
1.3. Vấn đề an toàn thông tin........................................................................................... 81.4. Vấn đề an toàn thông tin trong cơ quan chính phủ và thương mại điện tử ................. 11
1.5. Thiết kế cơ sở dữ liệu an toàn ................................................................................... 13
1.5.1. Phân tích sơ bộ..................................................................................................... 14
1.5.2. Phân tích yêu cầu và chọn lựa chính sách an toàn................................................. 15
1.5.3. Thiết kế khái niệm ............................................................................................... 18
1.5.4. Thiết kế logic ....................................................................................................... 19
1.5.5. Thiết kế vật lý ...................................................................................................... 19
1.5.6. Cài đặt cơ chế an toàn .......................................................................................... 19
1.5.7. Kiểm tra và kiểm thử............................................................................................ 22
1.6. An toàn cơ sở dữ liệu thống kê ................................................................................. 22
1.6.1. Khái niệm ............................................................................................................ 22
1.6.2. Phương pháp bảo vệ suy luận ............................................................................... 23
1.7. Kết luận.................................................................................................................... 24
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ
LIỆU.............................................................................................................................. 26
2.1. Giới thiệu................................................................................................................. 26
2.2. Mã hóa khóa đối xứng.............................................................................................. 26
2.2.1. Mã khối................................................................................................................. 26
2.2.2. An toàn trong việc dùng mã hóa khóa đối xứng .................................................... 30
2.3. Mã hóa khóa công khai ............................................................................................ 30
2.3.1 Mã hóa RSA .......................................................................................................... 32
2.3.2. Mã hóa Elgamal .................................................................................................... 322.3.3. Phân phối khóa...................................................................................................... 33
2.3.4. Trao đổi khóa Diffie Helman ................................................................................ 34
2.3.5. Xác thực thông tin ................................................................................................. 35
2.3.6. Hàm băm .............................................................................................................. 38
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 5/79
2.3.7. Chữ ký số.............................................................................................................. 41
2.4. Kết luận ................................................................................................................... 43
CHƢƠNG 3: ĐỀ XUẤT GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU ........................ 45
3.1. Giới thiệu................................................................................................................. 453.2. Mô hình bảo mật cơ sở dữ liệu ................................................................................. 45
3.3. Các yếu tố mất an toàn ............................................................................................. 48
3.4. yêu cầu đặt ra khi xây dựng hệ thống an toàn ........................................................... 50
3.5. Giải pháp ................................................................................................................. 51
3.5. 1. Mô hình đề xuất ................................................................................................... 51
3.5.2. Giải pháp đề xuất .................................................................................................. 51
3.5.3. Các giải pháp kỹ thuật ........................................................................................... 52
3.5.3.1. Giải pháp bài toán “đảm bảo an toàn dữ liệu khi chuyển dữ liệu trên mạng” ...... 52
3.5.3.2. Giải quyết bài toán “Đảm bảo an toàn CSDL trong lúc khai thác CSDL phục vụ
tác nghiệp”...................................................................................................................... 55
3.5.3.3. Giải quyết bài toán “đảm bảo an toàn CSDL khi không phục vụ tác nghiệp” ...... 56
3.5.4. Thiết kế hệ mật ..................................................................................................... 57
3.5.5. Hệ thống quản lý và phân phối khóa ..................................................................... 57
3.6. Nghiên cứu giải pháp bảo mật CSDL trong DBMS SQL Server ............................... 58
3.6.1. Giới thiệu .............................................................................................................. 58
3.6.2. Vấn đề bảo mật trong SQL Server ......................................................................... 59
3.6.2.1. Bảo mật trong môi trường mạng ......................................................................... 59
3.6.2.2. Bảo mật tại chỗ .................................................................................................. 62
3.6.2.3. Biện pháp tác nghiệp .......................................................................................... 63
3.7. Xây dựng ứng dụng.................................................................................................. 63
3.7.1. Chèn dữ liệu vào bảng trong CSDL....................................................................... 64
3.7.2. Hiển thị những thông tin trong CSDL dưới dạng bản mã....................................... 65
3.7.3. Hiển thị những thông tin trong CSDL sau khi được mã hóa .................................. 663.7.4. Giao diện ứng dụng và cách sử dụng ..................................................................... 67
3.8. Kết luận ................................................................................................................... 70
TÀI LIỆU THAM KHẢO ...................................................................................................... 72
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 6/79
DANH MỤC CÁC HÌNH
Tên hình Trang
Hình 1.1: Mô hình DBMS. 6
Hình 1.2: Mô hình tương tác giữa ứng dụng và CSDL. 6
Hình 1.3: Các tầng mô tả dữ liệu. 7
Hình 1.4: Mô hình thiết kế CSDL an toàn. 15
Hình 2.1: Sơ đồ mã hóa khóa đối xứng. 26
Hình 2.2: AddRoundKey bản rõ và khóa. 28
Hình 2.3: Bước SubBytes. 28
Hình 2.4: Bước ShiftRow. 29
Hình 2.5: Bước MixColumns. 29Hình 2.6: Sơ đồ mã hóa khóa công khai. 31
Hình 2.7: Sơ đồ MAC. 38
Hình 3.1: Các thành phần của mô hình an toàn trong một hệ thống an toàn . 48
Hình 3.2: Dòng dữ liệu trao đổi giữa hai nút. 54
Hình 3.3: Mô hình khai thác CSDL được bảo mật . 56
Hình 3.4: Quá trình chèn dữ liệu vào CSDL. 65
Hình 3.5: Giao diện dùng để hiển thị bản mã. 66
Hình 3.6: Quá trình hiển thị những thông tin trong CSDL sau khi giải mã . 66Hình 3.7: Giao diện để người dùng đăng nhập vào hệ thống. 67
Hình 3.8: Giao diện chính của chương trình. 68
Hình 3.9: Giao diện khi chèn dữ liệu thành công. 68
Hình 3.10: Giao diện khi hiển thị bản mã. 69
Hình 3.11: Giao diện thông báo khi người dùng không nhập khóa. 69
Hình 3.12: Giao diện khi người dùng nhập khóa chính xác. 70
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 7/79
KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
Viết tắt Tiếng Anh Tiếng Việt
AES Advanced Encription Standard Chuẩn mã hóa tiên tiến
CA Certificate Authority Chủ quyền chứng nhận CSDL Database Cơ sở dữ liệu
DBMS Database Management System Hệ quản trị cơ sở dữ liệu
DDL Data Difinition Language Ngôn ngữ định nghĩa dữ liệu
DES Data Encript Standard Chuẩn mã hóa dữ liệu
DML Data Manipulation Language Ngôn ngữ thao tác dữ liệu
MAC Message Authentication Code Thuật toán chữ ký số
PKI Public Key Infrastructure Hạ tầng khóa công khai
QL Query Language Ngôn ngữ truy vấn
SHA Sucure Hash Authorithm Thuật toán băm an toàn
SQL Structure Query Language Ngôn ngữ truy vấn có cấu trúc
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 8/79
1
MỞ ĐẦU
Thông luôn là một nguồn tài sản quan trọng của các tổ chức, doanh nghiệp và cần
được bảo vệ bằng mọi giá. Ngày nay, với những đòi hỏi gắt gao của môi trường làm việc
cũng như nhu cầu chia sẻ thông tin ở mức tối đa. Các tổ chức, doanh nghiệp phải năngđộng chia sẻ thông tin của mình cho nhiều đối tượng khác nhau qua môi trường không an
toàn như Internet hay Intranet, cùng với việc sử dụng các hệ quản trị cơ sở dữ liệu để lưu
trữ tập trung hay phân tán những thông tin quý giá của mình. Do đó hệ quản trị cơ sở dữ
liệu và hệ thống mạng máy tính sẽ là tiêu điểm tấn công của nhiều kẻ xấu nhằm chiếm
đoạt thông tin. Việc bảo vệ thông tin ngày càng trở nên quan trọng và khó khăn hơn khi
các kỹ thuật tấn công ngày càng tinh vi, thực hiện trên diện rộng với nhiều cách thức khác
nhau. Ở mức độ nhẹ, các tấn công sẽ làm hệ thống cơ sở dữ liệu bị hỏng hóc, hoạt động
không ổn định, mất mát dữ liệu làm cho hoạt động của tổ chức, doanh nghiệp bị trì trệ . Nghiêm trọng hơn, các thông tin sống còn của tổ chức doanh nghiệp bị tiết lộ, thay đổi có
thể làm sụp đổ hoàn toàn hệ thống thông tin của tổ chức hay doanh nghiệp.
Chính vì vậy, đặt ra vấn đề cần phải bảo vệ thông tin trong các hệ quản trị cơ sở dữ
liệu, thông tin trên đường truyền nhằm chống lại các truy cập, sửa đổi trái phép dữ liệu
của người dùng. Nhiệm vụ chính của khóa luận là nghiên cứu, đề xuất các giải pháp bảo
mật cơ sở dữ liệu dựa trên kiến trúc tổng quan của mô hình an toàn thông tin trong cơ sở
dữ liệu và vận dụng cơ sở lý thuyết mật mã ứng dụng trong bảo mật cơ sở dữ liệu. Khóaluận gồm ba chương:
Chƣơng 1: Tổng quan về kiến trúc an toàn thông tin trong cơ sở dữ liệu.
Trong đó trình bày các khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu,
nêu lên các vấn đề dẫn tới mất an toàn thông tin, thông qua đó đưa ra các
phương pháp bảo vệ cơ sở dữ liệu, trình bày các bước cơ bản để thiết kế một cơ
sở dữ liệu an toàn.
Chƣơng 2: Cơ sở lý thuyết mật mã trong bảo mật cơ sở dữ liệu. Trong đó
hai hệ mật quan trọng làm nền tảng cho các thuật toán bảo mật là hệ mật mã
hóa khóa đối xứng và hệ mật mã hóa khóa công khai được trình bày. Ngoài vấn
đề bảo mật dữ liệu hệ mật còn đưa ra phương pháp xác thực thông tin, xác thực
người dùng dựa trên hệ mật mã hóa khóa công khai.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 9/79
2
Chƣơng 3: đề xuất giải pháp bảo mật cơ sở dữ liệu và demo . Giải pháp bảo
mật cơ sở dữ liệu nhằm giải quyết các vấn đề bảo mật dữ liệu và xác thực thông
tin trên đường truyền không tin cậy và bảo mật cơ sở dữ liệu tại chỗ. Ngoài ra
còn đưa ra các nguyên tắc chỉ đạo khi người dùng thực hiện các nhiệm vụ tác
nghiệp để khai thác cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu, thực hiện mộtsố nghiên cứu tìm hiểu về giải pháp bảo mật trong hệ quản trị cơ sở dữ liệu
SQL Server. Cuối cùng là làm demo về bảo mật cơ sở dữ liệu bằng cách mã
hóa các trường thông tin trong hệ quản trị cơ sở dữ liệu SQL Server.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 10/79
3
CHƢƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ LIỆU
1.1. Giới thiệu
Trong những năm gần đây, công nghệ thông tin được sử dụng rộng rãi trong nhiềuhệ thống máy tính của các tổ chức như Chính phủ, phi chính phủ, các doanh nghiệp, các
trường đại học, bệnh viện … và các cá nhân. Đặc biệt là sự phát triển mạnh của các phần
cứng, phần mềm về chất lượng và số lượng, giá cả hợp lý, kéo theo đó là sự ra đời của các
công cụ trợ giúp đã góp phần khuyến khích việc sử dụng dịch vụ máy tính ngày càng tăng
nhanh. Do đó, ngày càng có nhiều dữ liệu được lưu trữ và quản lý bởi các hệ thống máy
tính. Vì vậy vấn đề đặt ra là làm sao để đảm bảo tính an toàn và toàn vẹn của dữ liệu trên
các hệ thống này?
Có rất nhiều phương pháp để thiết kế cơ sở dữ liệu ( CSDL ) đã được phát triển
nhằm hỗ trợ cho các yêu cầu ứng dụng khác nhau được đặt ra trong thực tế. Trong đó mô
hình khái niệm, mô hình logic cùng với các công cụ truy vấn đã được nghiên cứu và phát
triển nhằm tạo ra một hệ quản trị cơ sở dữ liệu ( DBMS ) hỗ trợ tốt nhất cho người dùng
khai thác và quản lý dữ liệu. Một đặc điểm cơ bản của DBMS là khả năng quản lý đồng
thời nhiều giao diện ứng dụng, một CSDL cho phép nhiều người dùng cùng khai thác dữ
liệu tại một thời điểm.
Ngoài ra DBMS còn hỗ trợ việc xử lý phân tán, góp phần nâng cao phát triển hệ
thống thông tin tự động. Vì vậy, việc xử lý thông tin của các tổ chức có các chi nhánh ở
xa nhau có thể được thực hiện nhanh chóng thông qua mạng máy tính, cho phép truyền
thông tin với số lượng lớn. Sử dụng CSDL phân tán và tập trung gắn liền với việc giải
quyết bài toán an toàn dữ liệu, đồng thời vẫn phải thỏa mãn các đòi hỏi đa dạng của mô
hình CSDL thương mại. Trong thực tế, sự cố xảy ra với dữ liệu không chỉ ảnh hưởng với
từng người sử dụng, từng ứng dụng mà nó còn ảnh hưởng lớn đến toàn bộ hệ thống thôngtin.
Sử dụng giao diện trong khi thao tác với CSDL đã góp phần hỗ trợ nhiều nhóm
người dùng khác nhau, nhưng cũng kéo theo đó là vấn đề mất an toàn thông tin do lượng
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 11/79
4
thông tin được trao đổi là rất lớn, nhiều người dùng tinh vi hơn tạo ra những khả năng
truy nhập trái phép vào hệ thống CSDL.
An toàn thông tin trong một hệ thống CSDL, thông tin phải đáp ứng ba yêu cầu sau:
Tính bí mật của thông tin: Thông tin sẽ không đến được với các tổ chức, cánhân không có quyền truy cập tới nó.
Tính toàn vẹn của thông tin: Đảm bảo tính nhất quán của dữ liệu, ngăn chặn
những sửa đổi vô tình hay hữu ý tới nguồn thông tin.
Tính sẵn sàng: Một hệ thống thông tin an toàn luôn phải sẵn sàng cung cấp
thông tin cho người dùng hợp pháp khi người ngày truy nhập tới CSDL. Chính
xác hơn là phần cứng hay phần mềm của hệ thông phải hoạt động hiệu quả và
hệ thống có khả năng khôi phục nhanh chóng, chính xác thông tin khi xảy ra sự
cố.
1.2. Khái niệm
CSDL dữ liệu là một tập hợp dữ liệu không nhất thiết đồng nhất, có quan hệ với
nhau về mặt logic được sử dụng trong các tổ chức với những ứng dụng khác nhau. Trong
thiết kế CSDL có hai vấn đề chính đó là thiết kế pha khái niệm, hai pha này được dùng để
mô tả cấu trúc của CSDL. Trong quá trình thiết kế pha logic, lược đồ logic được chuyển
từ lược đồ khái niệm. Pha khái niệm độc lập với DBMS pha logic phụ thuộc vào từngDBMS.
DBMS là phần mềm ứng dụng để quản lý, tạo mới, bảo trì và đảm bảo truy cập có
điều kiện tới CSDL của người dùng. Có rất nhiều DBMS khác nhau, từ các phần mềm
nhỏ chạy trên máy tính cá nhân đến các hệ quản trị phức tạp chạy trên các máy chủ.
Nhưng tất cả đều có đặc điểm chung là sử dụng ngôn ngữ truy vấn có cấu trúc SQL. Các
ngôn ngữ dùng trong DBMS bao gồm:
DDL – Data Definition Language: Là ngôn ngữ định nghĩa dữ liệu, hỗ trợ địnhnghĩa lược đồ CSDL logic.
DML – Data Munipulation Language: Là ngôn ngữ thao tác dữ liệu, được
người dùng đặc biệt sử dụng, ví dụ như các nhà phát triển. Bao gồm các cú
pháp cập nhật, xóa, thêm thông tin.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 12/79
5
QL – Query Language: Là ngôn ngữ hỏi, cho phép người sử dụng khai thác dữ
liệu truy vấn thông tin trên CSDL.
Một DBMS thông thường bao gồm nhiều modun tương ứng với các chức năng sau:
Định nghĩa dữ liệu – DDL.
Thao tác dữ liệu – DML.
Hỏi đáp CSDL – QL.
Quản trị CSDL – DBMS.
Quản lý file.
Và tập hợp các dữ liệu hỗ trợ các modun này:
Các bảng mô tả CSDL. Các bảng trao quyền.
Các bảng truy nhập đồng thời.
Nguyên lý hoạt động: yêu cầu của người dùng cuối hoặc một chương trình ứng dụng
thông qua câu lệnh của DML hoặc QL để thao tác với CSDL. Các câu lệnh này trước tiên
được thông dịch bằng bộ xử lý DML, QL. Kết quả đưa ra các câu hỏi tối ưu theo lược đồ
CSDL (đã được trình bày trong bảng mô tả CSDL). Những bảng này được định nghĩa
thông qua các câu lệnh DDL và được trình biên dịch DDL biên dịch. Sau đó các câu lệnhđược đưa tới bộ quản lý CSDL. Tại đây bộ quản lý CSDL kiểm tra xem người dùng hoặc
chương trình có được phép truy cập đến CSDL hay không, thông qua bảng phân quyền.
Ngoài ra chương trình quản lý CSDL còn thực hiện việc kiểm tra xem các truy cập đồng
thời có được phép thực hiện không thông qua bảng truy cập đồng thời. Tiếp đó thực hiện
truy vấn tới chương trình quản lý file thực thi các thao tác trên file. Chương trình này chịu
trách nhiệm lấy dữ liệu từ CSDL rồi trả về kết quả cho người dùng thông qua chương
trình quản lý file, chương trình quản lý CSDL. Bộ xử lý DML, QL là nơi tiếp nhận sự trả
về cuối cùng.
Tất cả mọi thao tác nhằm truy vấn tới CSDL đều được thực hiện thông qua các thủ
tục của DBMS. Thực hiện một câu lệnh DML tương ứng với một thủ tục của DBMS tr uy
cập tới CSDL. Thủ tục lấy dữ liệu từ CSDL đưa tới các vùng làm việc của ứng dụng
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 13/79
6
tương ứng với câu lệnh retrieval, chuyển dữ liệu từ vùng làm việc vào CSDL tương ứng
với câu lệnh insert, update, xóa dữ liệu ra khỏi CSDL với câu lệnh delete.
Hình 1.1: Mô hình DBMS.
Hình 1.2: Mô hình tương tác giữa ứng dụng và CSDL.
Trong DBMS có các tầng mô tả dữ liệu, mỗi tầng mô tả dữ liệu cung cấp cái nhìn
khác nhau về CSDL.
Vùng làm việc củaứng dụng
Các trình ứng dụng ………………….. …………………..
Thủ tục củaDBMS
Vùng làm việc
của DBMS
Cơ sở dữliệu
Bộ xử lý DML, bộ truy vấn
CSDL
Trình biêndịch DDL
Bộ quản lýCSDL
Bộquản lý
file
Các bảng truy
cập đồng thời
Các bảng phân quyền
CSDL
Các bảng môtả CSDL
Các câu truy vấn
của người dùng
Các câu lệnhDDL
Các chương trìnhứng dụng DML
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 14/79
7
Hình 1.3: Các tầng mô tả dữ liệu.
Tầng hiển thị logic: Chức năng của tầng là hỗ trợ các ứng dụng hiển thị trên đó,
việc xây dựng tầng này phụ thuộc vào các yêu cầu của mô hình logic và mục
đích của ứng dụng. Tầng hiển thị logic mô tả một phần tầng lược đồ CSDL
logic. Tầng này sử dụng DDL để định nghĩa các hiển thị logic và DML để thực
hiện các thao tác trên đó.
Tầng lược đồ dữ liệu logic: Ở tầng này tất cả các dữ liệu của CSDL được mô tả
sử dụng mô hình logic của DBMS. Dữ liệu và các mối quan hệ của dữ liệu
được mô tả qua DDL của DBMS và các thao tác khác nhau trên tầng này được
xác định thông qua DML của DBMS.
Tầng dữ liệu vật lý: Ở tầng này kiến trúc lưu trữ của dữ liệu chính xác là các
file trên bộ nhớ ngoài. Dữ liệu là các dữ liệu vật lý được lưu trữ như các bản
ghi hay con trỏ của bản ghi.
Việc DBMS tạo ra các tầng khác nhau trong mô tả của dữ liệu làm cho khái niệm về
logic và vật lý của dữ liệu trở nên độc lập ở cả hai mức logic và vật lý .
Độc lập logic nghĩa là một lược đồ logic có thể được thay đổi mà không làmthay đổi các chương trình ứng dụng làm việc với lược đồ này.
Độc lập vật lý nghĩa là lược đồ dữ liệu vật lý có thể thay đổi mà không cần thay
đổi các ứng dụng truy cập dữ liệu trên đó.
View 1
View N
CSDL logic CSDL
Người dùng/ứng dụng P1
Người dùng/ứng dụng PN
………….. ……………....
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 15/79
8
Ngày nay, người ta sử dụng DBMS dựa trên mô hình thực thể quan hệ trong lĩnh
vực thương mại điện tử ngày càng nhiều. Thực thể được xem như là các lớp đối tượng của
thế giới bên ngoài được mô tả bên trong CSDL và các quan hệ mô tả mối liên hệ giữa hai
hay nhiều thực thể. Mô hình cung cấp tính độc lập cao với kiến trúc vật lý của dữ liệu,
thêm vào đó mô hình linh động, đa dạng trong việc thực hiện các câu lệnh truy vấn màkhông bị giới hạn bởi tầng vật lý, đây chính là những ưu điểm của nó so với mô hình phân
quyền và mô hình mạng. Theo mô hình quan hệ dữ liệu được thể hiện về khái niệm trong
bảng hai chiều bao gồm các cột và các dòng. Các bảng gọi là các quan hệ, các dòng gọi là
các bộ, các cột là các thuộc tính. Theo cách nhìn trước đây, mỗi cột là một bản ghi, thuộc
tính cho biết ý nghĩa của các giá trị trong bản ghi. CSDL dùng các giá trị thuộc tính để
liên kết dữ liệu thuộc các bảng khác nhau.
1.3. Vấn đề an toàn thông tin
Trong môi trường CSDL sự khác nhau giữa chương trình ứng dụng và người sử
dụng của tổ chức dẫn tới việc phải kết hợp thành một bộ dữ liệu duy nhất thông qua
DBMS. Ngoài ra DBMS còn phải giải quyết vấn đề sao chép dữ liệu, xung đột dữ liệu, sự
phụ thuộc của chương trình và kiến trúc của dữ liệu. Mặt khác DBMS với tính năng bảo
mật giúp tránh khỏi các đe dọa từ bên ngoài vào trong hệ thống vốn là một vấn đề nóng
và ngày càng trở nên quan trọng, cấp bách với môi trường CSDL.
Một hiểm họa có thể được xác định khi đối phương sử dụng các kỹ thuật đặc biệt để
tiếp cận nhằm khám phá, sửa đối trái phép những thông tin quan trọng trong hệ thống do
hệ thống quản lý. Các xâm phạm dữ liệu đó bao gồm đọc, sửa, xóa dữ liệu trái phép .
Mất an toàn dữ liệu liên quan đến các vấn đề:
Mất thông tin: Thông tin bị lộ do sự truy cập trái phép của người sử dụng.
Thay đổi dữ liệu một cách trái phép: Người thay đổi có thể không cần biết đến
nội dung của dữ liệu. Sự từ chối phục vụ của hệ thống: Hệ thống từ chối dịch vụ sự truy cập hợp
pháp của người dùng vào trong CSDL hoặc các truy cập sử dụng tài nguyên.
Sự an toàn của dữ liệu thường bị đe dọa do:
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 16/79
9
Các thảm họa từ tự nhiên như: Động đất, lụt lội, hỏa hoạn… có thể phá hoại
phần cứng, hệ thống lưu trữ dữ liệu dẫn đến mất tính toàn vẹn và sẵn sàng của
hệ thống.
Lỗi của phần cứng, phần mềm dẫn đến việc áp dụng các chính sách an toàn
không đúng, từ đó kéo theo các truy cập trái phép của người dùng. Các sai phạm vô ý do người dùng gây ra ví dụ : Nhập kiểu dữ liệu không chính
xác, sử dụng các ứng dụng không đúng.
Những xâm phạm liên quan đến hai lớp người dùng sau:
Người dùng hợp pháp có thể lạm dụng quyền sử dụng vượt quá quyền hạn được
phép của họ.
Đối phương là một người hay nhóm người truy nhập thông tin trái phép, có thể
là những người nằm ngoài tổ chức hay bên trong tổ chức. Họ tiến hành các
hành vi phá hoại phần mềm cơ sở dữ liệu hay hệ thống phần cứng. hoặc đọc ghi
các dữ liệu trái phép. Trong cả hai trường hợp trên họ đều thực hiện với chủ ý
rõ ràng.
Các biện pháp bảo vệ CSDL:
Bảo vệ cơ sở dữ liệu khỏi các hiểm họa có nghĩa là bảo vệ tài nguyên, đặc biệt là
bảo vệ dữ liệu khỏi các thảm họa, hoặc truy nhập trái phép. Các biện pháp bảo vệ bao
gồm:
Bảo vệ chống truy cập trái phép: Đây là vấn đề được quan tâm nhiều nhất trong
an toàn CSDL. Nó bao gồm việc truy cập hợp pháp tới dữ liệu của người được
cấp quyền. Các yêu cầu truy nhập sẽ được DBMS kiểm tra lại để xem xét có
chấp nhận quyền đó của người dùng hay chương trình ứng dụng thông qua
bảng phân quyền. Kiểm soát truy cập tới dữ liệu khó hơn nhiều so với kiểm
soát truy cập tới file và việc kiểm soát cần được thực hiện trên các đối tượng dữ
liệu ở mức thấp nhất hơn mức file đó là các bản ghi, thuộc tính và giá trị.
Bảo vệ chống suy diễn: Suy diễn là khả năng có được các thông tin bí mật từnhững thông tin không bí mật. Đặc biệt suy diễn ảnh hưởng tới các CSDL
thống kê, trong đó người dùng không được phép dò xét thông tin của các cá thể
khác từ các dữ liệu thống kê.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 17/79
10
Bảo vệ toàn vẹn CSDL: Bảo vệ CSDL khỏi các truy nhập trái phép mà có thể
dẫn đến việc thay đổi nội dung dữ liệu. Các lỗi do Virus, sự phá hoại hoặc hỏng
hóc trong hệ thống có thể gây hỏng dữ liệu DBMS dựa vào dạng bảo vệ này,
thông qua việc kiểm soát đúng đắn của hệ thống các thủ tục sao lưu, phục hồi
và các thủ tục an toàn dữ liệu. Để duy trì tính tương thích của CSDL mỗi giaotác phải là một đơn vị tính toán tin cậy và tương thích. Hệ thống khôi phục sử
dụng nhật ký. Với mỗi giao tác nhật ký ghi lại các phép toán đã được thực hiện
trên dữ liệu ( chẳng hạn như read, write, insert, update, delete) cũng như các
phép toán điều khiển giao tác ( commit, abort ) cả giá trị cũ và mới của các bản
ghi kéo theo. Hệ thống phục hồi đọc file nhật ký để xác định giao tác nào bị
hủy bỏ hoặc giao tác nào cần phải thực hiện lại. Hủy một giao tác có nghĩa là
phục hồi lại các giá trị cũ của mỗi phép toán trên bản ghi kéo theo. Thực hiện
lại các giao tác có nghĩa là cập nhật lại giá trị mới của mỗi phép toán vào bản
ghi kéo theo. Các thủ tục an toàn đặc biệt bảo vệ dữ liệu không bị truy nhập trái
phép. Xây dựng mô hình, thiết kế và thực hiện các thủ tục này là một trong các
mục tiêu an toàn CSDL.
Toàn vẹn dữ liệu thao tác: Đảm bảo tính tương thích của dữ liệu khi có nhiều
giao tác thực hiện đồng thời. Bộ quản lý tương tranh trong DBMS đảm bảo tính
chất khả tuần tự và cô lập của các giao tác. Khả tuần tự có nghĩa là kết quả của
việc thực hiện đồng thời một tập hợp các giao tác này. Tính cô lập thể hiện sự
độc lập giữa các giao tác, tránh hiệu ứng Domino, trong đó việc hủy bỏ một
giao tác dẫn đến hủy bỏ các giao tác khác.
Tính toàn vẹn ngữ nghĩa của dữ liệu: Yêu cầu này đảm bảo tính tương thích
logic của các dữ liệu bị thay đổi, bằng cách kiểm tra các giá trị dữ liệu có nằm
trong khoảng giá trị cho phép hay không. Các hạn chế ( trên các giá trị dữ liệu )
được biểu diễn như các ràng buộc toàn vẹn. Các ràng buộc có thể được xác
định trên toàn bộ CSDL hoặc là cho một số giao tác.
Khả năng lưu vết và kiểm tra: Yêu cầu này bao gồm khả năng lưu lại mọi truynhập tới dữ liệu (với các phép toán read và write). Khả năng kiểm tra và lưu vết
đảm bảo tính toàn vẹn dữ liệu vật lý và trợ giúp cho việc phân tích dãy truy
nhập vào cơ sở dữ liệu.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 18/79
11
Xác thực người dùng: Hệ thống phải có khả năng xác thực đối với người dùng
và quyền truy cập của người dùng tới dữ liệu được phép. Chỉ có những người
dùng có quyền truy nhập hợp pháp mới có quyền truy cập đến dữ liệu. Yêu cầu
này thực sự cần thiết để xác định tính duy nhất của người dùng.
Bảo vệ dữ liệu nhạy cảm: Bảo vệ dữ liệu nhạy cảm là một vấn đề rất quan trọngvà cần được quan tâm đặc biệt trong các môi trường nhạy cảm như quân sự,
thương mại… Vì vậy cần có chế độ kiểm soát người dùng truy cập tới dữ liệu
nhạy cảm, hạn chế tối đa mức truy cập không cần thiết .
Bảo vệ nhiều mức: Tùy vào tính chất nhạy cảm của dữ liệu mà phân cấp, cấp
độ bảo vệ khác nhau và trao quyền cho người dùng truy cập tới dữ liệu là khác
nhau.
1.4. Vấn đề an toàn thông tin trong cơ quan chính phủ và thƣơng mại điện tử
An toàn thông tin bao gồm 2 mức:
Mức ngoài: Kiểm soát truy nhập vật lý vào hệ thống quản lý, bảo vệ hệ thống
vật lý khỏi các thảm họa tự nhiên, con người hoặc máy móc gây ra.
Mức trong: Chống lại các tấn công có thể xảy ra đối với các hệ thống xuất phát
từ sự không trung thực gây lỗi hoặc thiếu tinh thần trách nhiệm của người dùng
trong hoặc ngoài hệ thống.
Các mức an toàn này được xem là an toàn vật lý và an toàn logic. Vài năm trước đây
an toàn vật lý được chú ý nhiều hơn cả vì xét theo góc độ bảo vệ chung nó là quá trình
khai hóa tài nguyên của hệ thống trong môi trường vật lý an toàn. Tuy nhiên không thể
đảm bảo an toàn chắc chắn nếu chỉ dựa vào bảo vệ vật lý. Trong thực tế người dùng hợp
pháp có thể truy nhập gian lận dữ liệu. Đây là một hình thức lạm dụng quyền. Do vậy việc
trao quyền phải được phân phối một cách hợp lý, tránh tình trạng lạm dụng quyền.
Quyền truy nhập thông tin nhạy cảm chỉ nên trao cho những người dùng tin cậy tránh việc
lạm dùng quyền truy nhập bất hợp pháp đến những dữ liệu nhạy cảm. Trong các môitrường khác nhau thì cấp độ bảo vệ dữ liệu là khác nhau. Hệ thống an toàn dữ liệu t rong
các cơ quan chính phủ và trong thương mại điện tử là hai vấn đề được quan tâm hàng đầu.
CSDL trong các cơ quan chính phủ: CSDL cần được phân loại thành thông tin
cần thiết cho các cơ quan quốc gia, những thông tin này cần được chia thành 2
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 19/79
12
loại là những thông tin cần được giữ bí mật và những thông tin có thể công
khai. Bảo vệ thông tin dựa vào việc kiểm soát và phân quyền. Dữ liệu được
phân thành các mức an toàn khác nhau tùy theo mức độ nhạy cảm của nó và
việc trao quyền chỉ định tới từng đối tượng người dùng một cách chính xác,
hợp lý. Trong môi trường này việc thâm nhập vào CSDL là rất khó khăn, độngcơ thâm nhập vào CSDL ở mức cao hơn và có các kỹ thuật thâm nhập tinh vi
hơn.
CSDL trong thương mại điện tử: Việc đánh giá thiệt hại trong các hệ thống
thông tin của các tổ chức thương mại là khá dễ dàng. Mức độ nhạy cảm do tổ
chức công bố bằng cách phân biệt dữ liệu thiết yếu và dữ liệu có yêu cầu bảo vệ
thấp hơn. Do vậy, thiết kế an toàn trong CSDL thương mại ít khi được xem là
mối quan tâm hàng đầu, các vấn đề cũng không được chú ý nhiều. Trong các
môi trường này vấn đề an toàn xuất phát từ người dùng hợp pháp. Việc kiểm tra
sơ bộ độ tin cậy của người dùng còn lỏng lẻo. Việc phân quyền không thật hợp
lý các yêu cầu bảo vệ ở mức thấp. Vì vậy, không cần đến các kỹ thuật tinh vi
cũng có thể thâm nhập được vào hệ thống CSDL.
Tóm lại, kiểm soát truy nhập trong hệ thống tuân theo các chính sách truy nhập ( chỉ
ra ai là người có thể truy nhập và truy nhập đến đối tượng nào của hệ thống ) Chính sách
truy nhập không nên phụ thuộc vào các cơ chế thực thi kiểm soát truy nhập vật lý. Chính
sách truy nhập xác định các yêu cầu truy nhập. Sau đó các yêu cầu được chuyển thành các
quy tắc truy nhập, dựa vào các chính sách được phê chuẩn. Đây là giai đoạn thiết yếu khi
phát triển các hệ thống an toàn. Tính đúng đắn và đầy đủ của các quy tắc và cơ chế thực
thi tương ứng được xác định trong giai đoạn này. Quá trình ánh xạ cần được thực hiện
bằng cách sử dụng các kỹ thuật được xây dựng mô hình cho các yêu cầu và chính sách an
toàn : Một mô hình cho phép nhà thiết kế miêu tả rõ ràng và kiểm tra các đặc tính an toàn
của hệ thống.
Có nhiều thảm họa có thể xảy ra đối với tính bí mật và an toàn của cơ sở dữ liệu,
chúng làm cho việc bảo vệ cơ sở dữ liệu trở nên phức tạp hơn. Chính vì vậy, việc bảo vệ
cơ sở dữ liệu đòi hỏi nhiều biện pháp trong đó có cả con người, phần mềm và phần cứng.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 20/79
13
Bất kỳ điểm yếu nào cũng làm ảnh hưởng đến độ an toàn của toàn bộ hệ thống. Hơn nữa,
bảo vệ dữ liệu cũng nảy sinh nhiều vấn đề về tính tin cậy của hệ thống.
Như vậy, khi phát triển hệ thống an toàn cần quan tâm đến một số khía cạnh thiết
yếu sau: Các đặc điểm của môi trường xử lý và lưu giữ thực tế. Cần phân tích cẩn thận
để đề ra mức bảo vệ theo yêu cầu của hệ thống. Đây chính là các yêu cầu an
toàn.
Các cơ chế bảo vệ môi trường xử lý. Chúng là các biện pháp kiểm soát vật lý
và quản trị góp phần đảm bảo hiệu lực của các cơ chế hoạt động an toàn.
Các cơ chế dữ liệu bên trong. Chúng được thực hiện khi người dùng qua được
các kiểm soát đăng nhập và xác thực.
Tổ chức vật lý của các hệ thống được lưu giữ.
Các đặc tính an toàn do hệ điều hành và phần cứng cung cấp.
Độ tin cậy của phần mềm và phần cứng.
Các khía cạnh về tổ chức con người.
1.5. Thiết kế CSDL an toàn
An toàn CSDL được nhìn nhận như là một yêu cầu hai bổ sung thêm vào hệ thống
hiện có hoặc làm một đòi hỏi thiết yếu của hệ thống. Chính vì vậy, nó được coi là một yêucầu quan trọng cần được thỏa mãn trong các thiết kế ban đầu hệ thống. Một số trường hợp
coi bảo mật không là mối quan tâm chính trong việc phát triển hệ thống, do đó hệ thống
được làm phong phú thêm bằng cách thêm vào các gói tin an toàn với chức năng cơ bản ở
mức độ hệ điều hành. DoD được xem là nhân tố hữu ích cấu thành nên các chuẩn đảm
bảo an toàn trong hệ thống. DoD được xem xét như là một gợi ý cho việc thiết kế CSDL
an toàn.
Một hướng tiếp cận mang tính phương pháp luận thỏa mãn các yêu cầu của DoD đóchính là phương pháp luận tích hợp đa giai đoạn, cho phép nhà phát triển phân tích các
yêu cầu an toàn, chọn lựa các chính sách an toàn một cách phù hợp nhất. Phương pháp
luận dựa trên các nguyên tắc của chuẩn DoD bao gồm các giai đoạn sau:
Phân tích sơ bộ.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 21/79
14
Yêu cầu và các chính sách an toàn.
Thiết kế khái niệm.
Thiết kế logic.
Thiết kế vật lý.
Lợi ích mà phương pháp tích hợp đa giai đoạn mang lại là:
Có thể chia nhỏ quá trình thiết kế thành các thành phần nhỏ hơn, cho phép nhà
thiết kế tập trung chi tiết vào từng khía cạnh riêng của từng phần.
Tách chính sách an toàn ra khỏi cơ chế an toàn. Chính sách là các cơ chế ở mức
cao bắt buộc việc thiết kế phải tuân theo. Cơ chế an toàn là một tập hợp các
chức năng phần cứng, phần mềm. Các cơ chế nên được dựa trên các yêu cầu an
toàn để đảm bảo chúng tuân theo một chính sách an toàn đó. Thuận tiện trong thiết kế hệ thống cài đặt và quản lý.
Hỗ trợ vạch kế hoạch cho việc bảo vệ hệ thống thông tin trong hệ thống.
1.5.1. Phân tích sơ bộ
Giai đoạn này thực hiện việc tìm hiểu tính khả thi của hệ thống an toàn tức là tìm
hiểu những gì có thể xảy ra đối với hệ thống. Trong một hệ thống thông tin tính khả thi
dựa vào việc phân tích những khía cạnh sau: Đánh giá rủi ro, ước lượng chi phí dành ch o
thiết kế, xác định ứng dụng phải được phát triển và xác định quyền ưu tiên của chúng. Đểđảm bảo mục đích này, các phân tích cần quan tâm đến:
Các rủi ro của hệ thống: Đây là đe dọa đáng kể nhất có thể xảy ra đối với một
CSDL, cần ước tính các hình thức xâm phạm tương ứng và hậu quả của việc
mất mát, thông qua các kỹ thuật phân tích rủi ro. Nói chung, các đe dọa điển
hình là: Đọc, sửa đổi trái phép dữ liệu, không cho phép người sử dụng hợp
pháp truy nhập. Các hình thức tấn công phụ thuộc vào các kiểu đe dọa.
Các đặc trưng của môi trường CSDL: Tùy thuộc vào việc phân quyền truy nhập
CSDL, loại dữ liệu được sử dụng người ta sẽ thiết kế mô hình phù hợp. Như trong môi trường quân đội phù hợp với bảo vệ đa mức nhưng trong môi trường
thương mại chưa chắc đã phù hợp vì việc định nghĩa mức truy cập cho người
dùng gặp khó khăn.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 22/79
15
Khả năng ứng dụng của các sản phẩm an toàn hiện có: Việc ứng dụng các sản
phẩm an toàn hiện có phải được xem xét dựa trên tính tiện lợi mà nó mang lại
và có khả năng phát triển hệ thống an toàn từ việc kết hợp nhiều sản phẩm
thương mại khác nhau hay không? Việc lựa chọn đó tùy thuộc vào mô hình và
cấp độ bảo vệ dữ liệu.
Hình 1.4: Mô hình thiết kế CSDL an toàn.
Khả năng tích hợp các sản phẩm an toàn: Có khả năng tích hợp với các thiết bị
an toàn cơ học là phần cứng và phần mềm.
Hiệu suất đạt được của hệ thống an toàn: Hiệu suất đạt được của hệ thống an
toàn phải được so sánh với khả năng hoạt động hiệu quả của hệ thống hiện tại
hoặc là hệ thống mới mà không cần bất kỳ các cơ chế và kiểm soát an toàn nào.
1.5.2. Phân tích yêu cầu và chọn lựa chính sách an toàn
Phân tích sơ bộ
Ngôn ngữ đặctả các yêu cầu
an toàn
Phân tích yêucầu và chínhsách an toàn
Thiết kế kháiniệm
Thiết kế logic
Thiết kế vật lý
Cơ chế an toàn
Cài đặt
Mô hình kháiniệm an toàn
Mô hìnhlogic an toàn
Mô hình vậtlý an toàn
Kỹ thuật DBMSan toàn
Lược đồ logican toàn
Các tham số chiếu
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 23/79
16
Việc phân tích yêu cầu bắt đầu từ việc phân tích đầy đủ các chính xác tất cả các đe
dọa có thể xảy ra đối với hệ thống. Điều này cho phép các nhà thiết kế xác định các yêu
cầu an toàn một cách chính xác và đầy đủ, tùy thuộc vào các đòi hỏi bảo vệ thực tế của hệ
thống.
CSDL khác nhau đòi hỏi có các bảo vệ khác nhau. Sự khác nhau đầu tiên xuất phát
từ tính nhạy cảm của thông tin, tiếp đến là các luật và các dự luật có thể. Hơn nữa, các hệ
thống được phân loại thành hệ thống rủi ro cao và hệ thống rủi ro thấp, dựa vào các yếu tố
cơ bản chẳng hạn như mức tương quan dữ liệu, chia sẻ dữ liệu, khả năng truy nhập dữ
liệu, kỹ năng của nhân viên và các kỹ thuật được lựa chọn .
Bảo vệ hệ thống hầu hết chịu ảnh hưởng bởi số lượng và cấp độ người dùng. Một
mặt sự chuyên nghiệp của người dùng làm cho hệ thống đáng tin cậy hơn, mặt khác do
nắm được kẽ hở an toàn chính người dùng lại là mối đe dọa tiềm tàng khả năng lạm dụng
quyền là rất cao. Chính vì vậy, thể hiện dữ liệu phải có tính an toàn cao. Trong phân tích
yêu cầu, khả năng tấn công vào hệ thống nên được xem xét đến mục đích tấn công. Hầu
hết các kiểu tấn công là thực hiện quyền truy nhập trái phép vào dữ liệu, làm lộ dữ liệu,
thay đổi dữ liệu hoặc từ chối quyền truy nhập tới dữ liệu .
Trong việc phân tích hệ thống, phân tích các mối đe dọa và các điểm yếu dễ bị tấn
công thường được xem xét ở các mặt sau:
Phân tích giá trị: Phân tích dữ liệu được lưu giữ và các ứng dụng truy nhập vào
dữ liệu này nhằm xác định mức nhạy cảm của chúng. Các kiểm soát truy nhập
tăng theo mức nhạy cảm của dữ liệu.
Nhận dạng các mối đe dọa: Cần nhận dạng các mối đe dọa điển hình cũng như
các kỹ thuật thâm nhập ( có thể có ) của các ứng dụng khác nhau.
Phân tích các điểm yếu dễ bị tấn công: Cần nhận dạng các điểm yếu của hệthống và liên hệ chúng với các đe dọa đã được nhận dạng từ trước .
Phân tích rủi ro: Đánh giá các đe dọa, các điểm yếu của hệ thống và các kỹ
thuật xâm nhập dựa vào các xâm phạm tính bí mật, tính toàn vẹn của hệ thống.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 24/79
17
Chẳng hạn như khám phá, xử lý dữ liệu trái phép sử dụng trái phép tài nguyên
và từ chối dịch vụ.
Ước tính rủi ro: Cần ước tính khả năng xảy ra của từng biến cố không mong
muốn, kết hợp khả năng phản ứng hoặc đối phó của hệ thống đối với các biến
cố này. Xác định yêu cầu: Cần xác định yêu cầu an toàn dựa vào các đe dọa ( đã được
ước tính ) và các biến cố không mong muốn đồng thời dựa vào khả năng xuất
hiện của chúng.
Để hỗ trợ việc chọn lựa các chính sách an toàn một cách hợp lý nhất người ta dựa
vào một bộ các tiêu chuẩn chọn lựa chính sách an toàn :
Tính bí mật đối nghịch với tính toàn vẹn dữ liệu và tính tin cậy của dữ liệu :
Việc chia sẻ tối đa nghịch với đặc quyền tối thiểu: Tùy thuộc từng môi trường
mà có lựa chọn phù hợp.
Mức độ chi tiết của kiểm soát: Nghĩa thứ nhất chỉ phạm vi của kiểm soát trong
mối quan hệ về số lượng của chủ thể và đối tượng bị kiểm soát. Nghĩa thứ hai
chỉ độ chi tiết của của từng đối tượng bị kiểm soát. Thứ ba khi nói đến độ chi
tiết của kiểm soát người ta muốn nói đến mức độ điều khiển. Trong một hệ
thống, việc kiểm soát tất cả các file trong hệ thống nằm ở vùng duy nhất và khi
có lỗi xảy ra thì chúng tập trung trong một vùng duy nhất này. Trong các hệthống khác, an toàn phức tạp hơn nhiều, nhưng các kiểm soát và các trách
nhiệm được dàn trải trên các vùng khác nhau của hệ thống.
Các thuộc tính được sử dụng cho kiểm soát truy cập: Các quyết định an toàn
dựa trên các thuộc tính chủ thể/đối tượng dựa trên ngữ cảnh yêu cầu truy nhập .
Các thuộc tính cơ bản là: Vị trí, phân phối chủ thể/đối tượng, thời gian, trạng
thái một hoặc nhiều biến của hệ thống, lược sử truy nhập. Các chính sách an
toàn phải được lựa chọn tùy thuộc vào nhu cầu của kiểm soát.
Tính toàn vẹn: Á p dụng các chính sách và mô hình an toàn xác định vào trongcác môi trường, trong đó tính toàn vẹn là mối quan tâm chính ví dụ trong các
môi trường CSDL…
Trao các quyên ưu tiên: Mâu thuẫn có thể xảy ra giữa các nguyên tắc có thể
tăng và quyền ưu tiên dùng để giải quyết các mâu thuẫn này.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 25/79
18
Các đặc quyền: Chính là khả năng sử dụng các quyền: Đọc, ghi , thực thi, xóa,
sửa, thêm. Để quản lý đặc quyền, các phép trao/thu hồi đặc quyền phải rõ ràng.
Quyền: Một chính sách phải định nghĩa các kiểu vai trò, quyền và trách nhiệm
khác nhau trong cùng một hệ thống. Các vai trò phổ biến là người sử dụng,
người sở hữu, người quản trị an toàn. Ngoài ra còn có thêm các nhóm người sửdụng điều này thực sự hữu ích khi những người sử dụng chia sẻ các yêu cầu
truy nhập thông thường trong tổ chức.
Tính kế thừa: Điều này chỉ ra việc sao chép các quyền truy nhập. Việc truyền
lại các quyền truy nhập không xảy ra trong các chính sách tùy ý, nhưng lại xảy
ra trong các chí nh sách bắt buộc.
1.5.3. Thiết kế khái niệm
Trong giai đoạn này, các yêu cầu và các chính sách an toàn ( được định nghĩa trong
giai đoạn trước đó ) được hình thức hóa khái niệm. Mô hình an toàn khái niệm là một
công cụ và nó được sử dụng cho việc hình thức hóa các yêu cầu và các chính sách .
Mô hình an toàn khái niệm được định nghĩa thông qua:
Nhận dạng các chủ thể và các đối tượng liên quan đến một quan điểm an toàn,
các chủ thể/đối tượng có chung một vai trò trong tổ chức được nhóm lại với
nhau. Nhận dạng các chế độ truy nhập được trao cho các chủ thể khác nhau trên các
đối tượng khác nhau, xác định các ràng buộc có thể trên truy nhập .
Phân tích việc thừa kế các quyền trên hệ thống thông qua các đặc quyền
trao/thu hồi quyền.
Từ các bước trên yêu cầu được biểu diễn thành các bộ bốn như sau:
{chủ thể, quyền truy cập, đối tượng, thuộc tính}
Nhiệm vụ mà các mô hình này thực hiện là: Mô tả ngữ nghĩa của CSDL an toàn.
Hỗ trợ việc phân tích các luồng quyền.
Hỗ trợ cho người quản trị CSDL. Tại mức khái niệm các kiểm tra này dễ thực
hiện hơn so với tại mức cơ chế an toàn.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 26/79
19
Một mô hình an toàn mức khái niệm cho phép biểu diễn một cách tường minh các
chính sách và các yêu cầu, đồng thời cho phép kiểm tra một số đặc tính an toàn hệ thống.
Mô hình an toàn khái niệm biểu diễn các chủ thể, các đối tượng, các phép toán, các
chế độ truy nhập tùy thuộc vào các yêu cầu chính sách đã được định nghĩa. Mô hình củamột hệ thống xác định phải đảm bảo:
Đầy đủ: Mô hình đáp ứng tất cả các yêu cầu an toàn đã được xác định ban đầu.
Tính thương thích: Các thao tác thực hiện phải nhất quán với nhau.
Mô hình phải đảm bảo rằng tất cả các yêu cầu được xác định là thống nhất với
nhau và không tồn tại dư thừa dữ liệu.
1.5.4. Thiết kế logic
Trong giai đoạn này người ta sử dụng mô hình an toàn khái niệm chuyển nó thành
mô hình logic. Mô hình này được DBMS hỗ trợ. Hơn nữa trong giai đoạn thiết kế logic
các nguyên tắc an toàn phải được xác định trong mô hình logic một cách chi tiết ở mức độ
hệ điều hành và các chức năng được cung cấp bởi các gói an toàn. Mục đích là xác định
các yêu cầu an toàn, chính sách và các ràng buộc các tiên đề được biểu diễn trong mô
hình an toàn mức khái niệm, sử dụng các thông tin về chức năng an toàn được định nghĩa
trong mức khái niệm, người phát triển xây dựng các yêu cầu an toàn có thể được cung cấp
ở mức độ hệ điều hành, mức DBMS hoặc thông qua các gói an toàn.
1.5.5. Thiết kế vật lý
Những chi tiết về việc tổ chức và cài đặt phân tích các mô hình thỏa mãn các yêu
cầu được xem xét trong giai đoạn thiết kế vật lý. Được bắt đầu từ mức thiết kế logic. Nhìn
chung việc phân công mức công việc an toàn phụ thuộc vào từng cấp độ. Mục đích là gán
mức bắt buộc chính xác cho từng nhiệm vụ an toàn.
1.5.6. Cài đặt cơ chế an toàn Một bộ các nguyên tắc có thể được sử dụng hữu ích cho người phát triển trong việc
lựa chọn và cài đặt các cơ chế trộn ghép phi hình thức, nhằm tránh những vấn đề nghiêm
trọng sau này. Phần này nói về các nguyên tắc cơ bản và thảo luận về các vấn đề thực
hiện.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 27/79
20
Các nguyên tắc dành cho việc lựa chọn và cài đặt được liệt kê như sau:
Tính kinh tế của cơ chế: Các cơ chế nên đơn giản nhất ở mức có thể thực hiện
được. Nói chung khi xây dựng hệ thống mức cơ học nên đặt ra các yêu cầu:
Giảm bớt chi phí, độ tin cậy cao, việc kiểm tra và kiểm toán các giai đoạn của
hệ thống dễ dàng hơn. Hiệu quả: Vấn đề đặt ra ở đây chính là tốc độ xử lý dữ liệu, các cơ chế nên hiệu
quả, hiệu quả đạt được là khi chúng thường được gọi vào thời gian chạy.
Độ tuyến tính của các chi phí: Sau giai đoạn cài đặt các chi phí hoạt động nên
cân xứng với việc sử dụng thực tế của các cơ chế.
Tách bạch đặc quyền và các trách nhiệm: Chúng ta nên phân tầng một số cơ
chế kiểm soát và thực hiện truy nhập phụ thuộc vào điểu kiện. Chúng ta có thể
tách các đặc quyền thông qua việc sử dụng các cơ chế khác nhau và sử dụng lặp
đi lặp lại cùng một cơ chế trong các hệ thống phân tán.
Đặc quyền tối thiểu: Nên giới hạn các mức đặc quyền tối thiểu đối với các
chương trình và người sử dụng. Chúng ta cần quan tâm đến nguyên tắc “cần –
để - biết ” khi lựa chọn các chính sách và và áp dụng nguyên tắc này cho các
thành phần của hệ thống. Lợi ích của đặc quyền tối thiểu mang lại là: Hạn chế
lỗi, có khả năng bảo trì, phòng vệ sự tấn công của Trojan, kiểm tra các hiệu
chỉnh.
Kiểm soát toàn bộ: Mỗi lần truy nhập vào một đối tượng phải tuân theo kiểmsoát quyền.
Thiết kế dựa trên các kỹ thuật chuẩn, đã được công nhận: Các kỹ thuật an toàn
được chấp nhận phải là các kỹ thuật có độ tin cậy cao. Khi truy nhập đến các
thành phần bí mật phải dựa vào khóa và mật khẩu là chính .
An toàn thông tin ngầm định: Một CSDL nên có các quyền ngầm định. Nhìn
chung thì một hệ thống đóng an toàn hơn hệ thống mở.
Cơ chế phổ biến tối thiểu: Việc thiết kế phải khuyến khích tính độc lập giữa các
cơ chế. Khả năng chấp nhận mang tính tâm lý: Việc sử dụng các cơ chế phải dễ dàng,
cho phép người dùng sử dụng chúng một cách phù hợp. Tránh các hạn chế
không cần thiết.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 28/79
21
Tính mềm dẻo: Một cơ chế an toàn nên tuân theo các chính sách khác nhau.
Tính mềm dẻo của cơ chế bao hàm cả việc duy trì bảo vệ chống lại các tấn công
chủ ý và vô ý. Do đó, thiết kế cần đảm bảo được các hoạt động đúng đắn và
liên tục của cơ chế ngay cả khi các biến cố xảy ra do tấn công chủ ý hoặc vô ý .
Đồng thời trong các điều kiện xấu nhất cơ chế vẫn làm việc. Sự cách ly: Cơ chế an toàn phải chứng minh được rằng nó phù hợp với các yêu
cầu chính sách an toàn.
Tính đầy đủ và tương thích: Cơ chế an toàn phải đầy đủ và nhất quán.
Khả năng quan sát hệ thống: Hệ thống cần có khả năng quan sát và tấn công lại
các cơ chế. Điều này cho phép chỉ ra các điểm yếu hoặc các lỗi thiết kế.
Vấn đề bỏ sót dữ liệu: Phần bỏ sót là các đoạn thông tin. Một tiến trình đã sử
dụng chúng và có thể lưu giữ chúng trong bộ nhớ mặc dù tiến trình đã kết thúc.
Vì vậy dữ liệu có thể bị lộ nếu chủ thể trái phép kiểm tra các phần bị bỏ sót. Cơ
chế an toàn thích hợp thường loại bỏ các phần bị bỏ sót.
Tính ẩn của dữ liệu: Dữ liệu ẩn đi đối với người dùng không được phép.
Hệ số làm việc: Nhằm đánh giá chất lượng của một cơ chế.
Các bẫy chủ ý: Thiết kế một cơ chế với lỗi chủ ý bên trong sau đó kiểm soát
chúng trong thời gian thực của hệ thống để phát hiện ra các cố gắng để xâm
nhập, nhằm giám sát các hành vi của kẻ xâm nhập.
Xác định tình trạng khẩn cấp: Nên thiết kế các cơ chế cùng với các phươngthức “mất khả năng làm việc”. Để cho phép một số người dùng tin cậy tạm thời
ngừng kiểm soát hoặc sửa đổi tạm thời các phương thức kiểm soát.
Phần cứng an toàn: Phần cứng phải tin cậy nếu không những kẻ xâm nhập có
thể lợi dụng các lỗi phần cứng hoặc phần mềm để vượt qua kiểm soát an toàn .
Ngôn ngữ lập trình: Khi lập trình chúng ta phải tuân thủ một cách nghiêm ngặt
các đặc tả của mô hình.
Tính đúng đắn: Một cơ chế không đúng đắn có thể đưa ra các bảo vệ sai lầm và
có thể gây ra các tình trạng: Thứ nhất, từ chối các hoạt động dịch vụ hợp pháp,thứ hai, trao các quyền truy nhập trái phép. Với tình trạng thứ hai, hệ thống có
thể gặp nguy hiểm do không đảm bảo được tính bí mật, và toàn vẹn dữ liệu.
Phần cơ chế được phát triển từ nhiều vấn đề hỗn tạp, có thể cài đặt qua phần cứng,
phần mềm, hoặc các chương trình cơ sở. Khi quyết định phương pháp sử dụng trong quá
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 29/79
22
trình cài đặt cần xem xét kỹ lưỡng tính hiệu quả, kích cỡ độ phức tạp mà hệ thống mang
lại.
1.5.7. Kiểm tra và thử nghiệm
Nhìn chung, mục đích của giai đoạn này là kiểm tra các yêu cầu và các chính sáchan toàn. Việc kiểm tra này được thực hiện thông qua các sản phẩm phần mềm. Để làm
được điều này cần có sẵn các phương pháp hình thức và phi hình thức dựa vào hoặc
không dựa vào các ký hiệu toán học.
Các phương pháp phi hình thức dựa trên:
Kiểm soát chéo các yêu cầu/chương trình nguồn hoặc các yêu cầu/các hành vi
thời gian chạy.
Duyệt lại chương trình phần mềm để phát hiện ra các lỗi/các mâu thuẫn.
Phân tích hành vi của chương trình, tùy thuộc vào các tham số khác nhau nhằm
kiểm tra các đường dẫn thực hiện khác nhau và biến thể tương ứng của các
tham số.
Thông qua thử nghiệm, gỡ rối.
Nói chung, các phương pháp phi hình thức có thể được áp dụng một cách nhanh
chóng, không cần định nghĩa trước mô hình an toàn hình thức. Các phương pháp phi hìnhthức có thể xác định hành vi của phần mềm trong các trường hợp cụ thể. Nhưng nó
không thể chỉ ra cấm thực hiện các hoạt động trái phép trong hệ thống. Các phương pháp
hình thức tinh xảo hơn, chúng dựa vào các ký hiệu toán học và các phương pháp toán học .
1.6. An toàn CSDL thống kê
1.6.1. Khái niệm
CSDL thống kê là CSDL được sử dụng cho các truy vấn thống kê trên một tập concủa các thực thể CSDL. Trước đây, CSDL thống kê chỉ được dùng cho các tính toán
thống kê, sau này nó được sử dụng cho các CSDL thông thường trong bệnh viện, nhà
băng, thương mại với tính chất là thống kê CSDL.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 30/79
23
Bảo vệ CSDL thống kê có nghĩa là ngăn cản và tránh xa các suy luận thống kê. Vấn
đề đầu tiên trong an toàn CSDL thống kê là đánh giá khả năng lọc thống kê, cái chỉ cho
phép câu truy vấn thống kê và ngăn cản các truy cập trực tiếp tới mức thực thể xác định
trong CSDL thống kê. Tuy nhiên lọc thống kê không thể ngăn chặn các suy luận. Khi vấn
đề này xảy ra, một CSDL thống kê chắc chắn sẽ xảy vấn đề thỏa hiệp. Một CSDL thốngkê chắc chắn được thỏa hiệp nếu một người dùng tìm ra một cá thể có những nét đặc
trưng của riêng nó ví dụ như các giá trị thuộc tính.
Kỹ thuật thiết kế và cài đặt cho mục đích bảo vệ suy luận là một công việc phức tạp,
các nhân tố chi phối tới kỹ thuật thiết kế và cài đặt là:
Bảo vệ những nét đặc trưng của CSDL thống kê.
Sự biểu biết của người dùng dữ liệu thống kê, đó là những hiểu biết về chuyên
môn, kỹ năng mềm.
Các kiểu tấn công có thể là sự kết hợp của nhiều loại tấn công như vậy mức độ
nguy hiểm là rất cao.
Kiến trúc của CSDL thống kê được xây dựng dựa trên mô hình quan hệ. Theo mô
hình quan hệ dữ liệu được thể hiện về khái niệm trong bảng hai chiều gồm các cột và các
dòng. Các bảng gọi là các quan hệ các dòng là các bộ dữ liệu và các cột biểu diễn thuộc
tính. Các câu truy vấn thống kê chính có thể được người dùng sử dụng trong truy vấnthông tin trong một CSDL thống kê như: Count, sum, avg, max, min…
1.6.2. Phƣơng pháp bảo vệ suy luận
Phương pháp bảo vệ suy luận còn được gọi là điều khiển suy luận, mục đích là ngăn
chặn người dùng tìm ra các thông tin về đặc trưng của các cá thể trong CSDL thống kê.
Việc thỏa hiệp đối với người dùng có thể xảy ra hai trường hợp:
Thỏa hiệp hoàn toàn: Thỏa hiệp hoàn toàn có thể xảy ra nếu người dùng đi qua
một hoặc nhiều câu truy vấn thống kê có thể biểu diễn thuộc tính A i một hoặctoàn bộ giá trị cho một bản ghi j trong CSDL thống kê.
Thỏa hiệp một phần: Thỏa hiệp một phần xảy ra nếu người dùng đi qua một
hoặc nhiều câu truy vấn thống kê có thể được biểu diễn thuộc tính A i có giá trị
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 31/79
24
0 hoặc là có thể ước lượng được giá trị A trên thực tế, nó như là một biến thống
kê trạng thái có thể được biểu diễn như sau: Var(A) < k2.
Phương pháp khái niệm là một phương pháp nằm trong bảo vệ suy luận. Cụ thể ở
đây sử dụng mô hình mắt cáo và phương pháp phân chia khái niệm được đề xuất bởi Chinvà Ozsoyoghi cho việc phân chia CSDL thống kê cá nhân vào trong cộng đồng.
Ngoài phương pháp khái niệm còn có phương pháp dựa trên kỹ thuật hạn chế và
phương pháp dựa trên kỹ thuật xáo trộn.
Phương pháp dựa trên kỹ thuật hạn chế: Phương pháp này chống lại việc suy
luận bằng cách sử dụng các câu truy vấn thống kê hạn chế.
Phương pháp dựa trên kỹ thuật xáo trộn: Phương pháp này nhằm ngăn chặn
những suy luận thống kê bằng cách kết hợp một vài dạng chuyển đổi trong khi
xử lý một câu truy vấn thống kê.
1.7. Kết luận
Chương này nhằm giới thiệu một cách tổng quan về kiến trúc an toàn thông tin trong
CSDL. Chương này đề cập đến các vấn đề chính sau:
Các khái niệm cơ bản về CSDL.
Vai trò của DBMS trong quản lý, đảm bảo an toàn thông tin. Thành phần, kiến trúc cũng như nguyên lý hoạt động của một DBMS.
Các mối đe dọa dẫn đến mất an toàn thông tin đồng thời nêu lên các phương
pháp bảo vệ an toàn CSDL.
Giới thiệu về hệ thống CSDL trong cơ quan chính phủ và CSDL trong thương
mại điện tử, mức độ an toàn của từng mô hình.
Các chính sách bảo đảm an toàn trong thiết kế CSDL.
Mô hình và các bước cơ bản để thực hiện thiết kế một CSDL an toàn.
Nêu lên một vài vấn đề trong an toàn CSDL thống kê.
Những vấn đề nêu ra trong chương này là những kiến thức cơ bản về vấn đề an toàn
CSDL, hướng dẫn xây dựng một hệ CSDL đảm bảo các chính sách an toàn, làm cơ sở
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 32/79
25
cho việc xây dựng các mô hình CSDL an toàn trong trường hợp cụ thểm thỏa mãn yêu
cầu mà một trình ứng dụng đặt ra.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 33/79
26
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CƠ SỞ DỮ LIỆU
2.1. Giới thiệu
Máy tính ngày càng đượ c sử dụng nhiều trong việc lưu trữ dữ liệu, đồng thời vớiviệc ra đời của mạng máy tính biến máy tính trở thành một hệ thống thông tin liên lạc
nhanh gọn, hiệu quả. Tuy nhiên, cũng phải đặt ra bài toán làm thế nào để đảm bảo tính bí
mật, toàn vẹn của thông tin trên đường truyền hoặc trong các DBMS. Thông tin chỉ đến
được với người có quyền hợp pháp hay vấn đề xác thực thông tin từ người gửi. Mã hóa
thông tin là phương pháp chính trong việc bảo vệ thông tin. Có hai phương pháp mã hóa
thông tin được sử dụng phổ biến là mã hóa khóa đối xứng và mã hóa khóa công khai.
2.2. Mã hóa khóa đối xứng
Mã hóa khóa đối xứng là dạng mã mà thuật toán mã hóa vả giải mã sử dụng chung
một khóa tức là biết chìa này dễ tính chìa kia. Mã hóa khóa đối xứng biến đổi một bản rõ
thành một bản mã bằng cách sử dụng một khóa và một thuật toán mã hóa. Và ngược lại để
giải mã thì cũng dùng chìa khóa để mã hóa và thuật toán giải mã.
Mã hóa khóa đối xứng sử dụng hai phương pháp cơ bản để mã hóa là kỹ thuật thay
thế và kỹ thuật chuyển vị. Mã hóa khóa đối xứng gồm 5 thành phần: Bản rõ P, bản mã C,
khóa K, thuật toán mã hóa E và thuật toán giải mã D.
Hình 2.1 Sơ đồ mã hóa khóa đối xứng
2.2.1. Mã khối
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 34/79
27
Đây là kiểu mã được sử dụng rộng rãi nhất trong các thuật toán mã hóa khóa đối
xứng. Mã khối xử lý bản tin theo khối bằng cách chia bản rõ thành từng khối sau đó lần
lượt mã hóa từng khối. Mỗi khối có thể gồm 64bits, 128bits, 192bits…
Nguyên lý hoạt động của mã khối: Hầu hết các mã khối đối xứng đều tuân theo cấutrúc mã Feisel. Mã khối được xem như một loại mã có phép thế cực lớn cần bảng 264 đầu
vào cho khối 64 bits. Ta sử dụng kết hợp kỹ thuật thay thế, kỹ thuật chuyển vị và vòng lặp
để mã hóa và giải mã mã khối.
Phép thế hoán vị: Năm 1949 Shanon đưa ra ý tưởng mạng ghép thế và hoán vị với
mong muốn cản trở việc thám mã dựa vào nguyên tắc phân tích thống kê. Mạng S -P ra
đời dựa trên hai thao tác cơ bản là: Phép thế S và phép hoán vị P. Chúng tạo ra độ rối loạn
và khuếch tán của bản tin.
Phép thế S: Là kỹ thuật trong đó một ký tự của bản rõ được thay thế bằng một, hoặc
một vài ký tự số, biểu tượng trong bản mã. Trong quá trình thám mã sử dụng kỹ thuật
thay thế có hai phương pháp chính là phương pháp vét cạn và phương pháp đánh giá tần
suất xuất hiện các chữ cái trong bản mã với tần suất xuất hiện các chữ cái trong tiếng anh.
Chống lại việc thám mã bằng cách phân tích tần suất chính là thực hiện dấu đi những tính
chất mang tính quy luật trên bản mã do đó phương pháp xấp xỉ tần suất xuất hiện các ký
tự trong bản mã hoặc sử dụng nhiều bảng chữ cái đã được sử dụng trong mã hóa. Tuy
nhiên với nhiều bảng chữ cái vẫn tạo ra những tính chất mang tính quy luật tồn tại trên
bản mã để có thể giải mã được chúng.
Phép hoán vị P: Kỹ thuật chuyển vị là kỹ thuật mã hóa đơn giản nhất, chỉ bằng cách
thay thế những vị trí trong bản rõ theo quy luật nào đó ta sẽ thu được bản mã. Các thuật
toán mã hóa dạng này là: Mã Rail Fence, mã dịch chuyển vòng.
Chuẩn mã hóa tiên tiến AES: AES là một thuật toán mã hóa khối được chính phủhoa kỳ áp dụng làm chuẩn mã hóa. AES có thể dễ dàng thực hiện với tốc độ cao bằng
phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ. Do AES là một tiêu chuẩn mã
hóa mới, nó đang được tiến hành để sử dụng đại trà.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 35/79
28
AES làm việc với từng khối dữ liệu 4x4. Quá trình mã hóa bao gồm 4 bước:
AddRoundKey: Mỗi byte của khối được kết hợp với khóa con. Mỗi khóa con
trong chu trình khóa được tạo ra từ khóa chính với quá trình tạo khóa con
Rijdael. Mỗi khóa có độ dài như các khối. Quá trình được thực hiện bằng phép
XOR từng bit của khóa con vơi khối dữ liệu.
Hình 2.2: AddRoundKey bản rõ và khóa.
Bước SubBytes: Các bytes được thay thế thông qua bảng S- box. Đây chính là
quá trình phi tuyến của thuật toán. Hộp S- box này được tạo ra trong từ nghịch
đảo trong trường hữu hạn GF( 28 ) có tính chất phi tuyến. Để chống lại các tấn
công trên các đặc tính đại số, hộp S- box này được tạo nên bằng cách kết hợpnghịch đảo với một phép biến đổi affine khả nghịch.
Hình 2.3: Bước SubBytes.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 36/79
29
Bước ShiftRow: Các hàng được dịch vòng một số vị trí nhất định. Đối với AES
hàng đầu được giữ nguyên. Mỗi byte của hàng thứ hai được dịch sang trái một
bit. Tương tự mỗi byte của hàng thứ 3 và thứ 4 lần lượt được dịch sang trái 2
hoặc 3 bit.
Hình 2.4: Bước ShiftRow.
Bước MixColumns: Bốn byte trong từng cột được kết hợp lại theo một phép
tuyến tính khả nghịch. Mỗi khối 4 bytes đầu vào sẽ cho một khối 4 bytes ở đầu
ra với tính chất mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 bytes ở đầu ra. Cùng
với bước ShiftRow, MixColumns đã tạo ra tính chất khuếch tán cho thuật toán.
Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa
thức f(x) = 3x3
+ x2
+ x + 2(modulo x4
+1 ). Vì thế bước này có thể được xemnhư là phép nhân ma trận trong trường hữu hạn.
Hình 2.5: Bước MixColumns.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 37/79
30
2.2.2. An toàn trong dùng mã hóa khóa đối xứng
Vấn đề an toàn thông tin khi dùng mã hóa khóa đối xứng là một vấn đề khó khăn vì
khóa cần được yêu cầu bí mật tuyệt đối, nếu khóa bị lộ thì coi như toàn bộ thông tin mật
bị lộ. An toàn trong khi dùng mã hóa khóa đối xứng liên quan mật thiết đến vấn đề phân
phối khóa. Sơ đồ phân phối khóa đối xứng đòi hỏi cả hai đối tác chia sẻ khóa bí mậtchung. Dẫn đến việc thực hiện phân phối khóa mật. Thông thường trong các hệ mật bị sập
là do bẻ khóa trong sơ đồ phân phối khóa. Đối với hai đối tác A và B cho trước có một số
cách phân phối khóa khác nhau:
A lựa chọn khóa và truyền tay cho B.
Đối tác thứ 3 chọn khóa và phân phối khóa cho A và B.
A và B trao đổi với một đối tác thứ ba là C, C chuyển tiếp giữa A và B.
Phân loại khóa:
Khóa phiên: Là khóa tạm thời, dùng để mã hóa dữ liệu giữa nhóm người dùng
sử dụng cho một phiên logic và sau đó bị hủy, khóa phiên được sử dụng ở tầng
thấp nhất của mã hóa.
Khóa chính: Dùng để mã hóa các khóa phiên chia sẻ giữa người sử dụng và
trung tâm phân phối khóa.
Vấn đề phân phối khóa: Đối với các mạng lớn đòi hỏi cần phải phân cấp trung tâm phân phối khóa và phải tạo tin cậy cho nhau giữa người sử dụng với trung tâm, trung tâm
với trung tâm. Thời gian sống của khóa phiên cần được hạn chế cho an toàn hơn. Sử dụng
phương pháp khóa tự động thay mặt người dùng nhưng phải có hệ thống tin cậy, các khóa
cấp phát được sinh ra càng ngẫu nhiên càng tốt, đồng thời cần hỗ trợ kiểm soát mục đích
của người sử dụng khóa.
2.3. Mã hóa khóa công khai
Mã hóa khóa công khai ra đời vào những năm đầu thập kỷ 70. Có thể nói đây là bước tiến quan trọng nhất trong lịch sử 3000 năm về mã hóa. Mã hóa khóa công khai sử
dụng 2 khóa, một khóa riêng và một khóa công khai, hai khóa là khác nhau, không đối
xứng do đó mã hóa khóa công khai còn được gọi là mã hóa bất đối xứng. Sự ra đời của
mã hóa khóa công khai là sự vận dụng sáng tạo của lý thuyết về hàm số. Mã hóa khóa
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 38/79
31
công khai ra đời hỗ trợ thêm để giải quyết bài toán an toàn trong phân phối khóa. Ngày
nay, cả mã hóa khóa công khai và mã hóa khóa đối xứng cùng được phát triển và hỗ trợ,
hạn chế những nhược điểm của nhau. Mã hóa khóa công khai ra đời ngoài việc mã hóa
thông tin nó còn được dùng trong quá trình kiểm chứng chữ ký.
Độ an toàn của mã hóa khóa công khai cũng giống như khóa riêng, việc tìm kiếm
vét cạn có thể thực hiện được với khóa công khai khi biết thuật toán, biết một trong hai
khóa ta tìm các thuộc tính liên quan để tìm ra khóa thứ hai. Nhưng nói chung không gian
khóa là rất lớn nên bài toán có độ phức tạp cao. Mã hóa khóa công khai thường chậm hơn
nhiều so với mã hóa khóa đối xứng vì vậy người ta thường dùng mã hóa khóa công khai
để mã hóa những thông tin nhỏ ví dụ như: Mã hóa khóa của trong mã hóa khóa đối xứng.
Mã hóa khóa công khai là công cụ hữu ích trong việc xác thực thông tin.
Hình 2.6: Sơ đồ mã hóa khóa công khai.
Sau khi thông tin được mã hóa vấn đề an toàn nảy sinh hai vấn đề:
Phân phối khóa: Làm sao có thể phân phối khóa một cách an toàn.
Chữ ký điện tử: Làm cách nào để kiểm chứng được thông tin gửi đến là nguyênvẹn từ đúng người đứng tên gửi đến?
Mã hóa khóa công khai giải quyết hai vấn đề trên.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 39/79
32
Các đặc trưng của mã hóa khóa công khai.
Khó có khả năng tính toán để tìm ra khóa giải mã nếu chỉ biết thuật toán mã
hóa và khóa công khai.
Có thể dễ dàng mã hóa hoặc giải mã nếu biết khóa tương ứng.
Một trong hai khóa dùng để mã hóa, khóa còn lại dùng để giải mã.
2.3.1. Mã hóa RSA
Mã hóa RSA là mã hóa khóa công khai được tạo bởi Rivest, Shamir, Adleman vào
năm 1977. Mã hóa RSA là mã hóa được biết đến nhiều nhất và sử dụng nhiều nhất hiện
nay, nó dựa trên các phép toán lũy thừa trong trường hữu hạn, các số nguyên theo modulo
nguyên tố là một số rất lớn. Việc thám mã tức là tìm ra các khóa riêng dự theo việc phân
tích một số lớn thành thừa số nguyên tố là một bài toán khó.
Mã hóa RSA được làm theo sơ đồ sau:
Khởi tạo khóa RSA: Người tạo chọn cặp khóa công khai – bí mật như sau:
Chon p, q là các số nguyên tố lớn. Đặt n= p*q, P = C = Z n
Chọn b nguyên tố với (n) =(p-1) * (q-1).
Định nghĩa K = {(n, a, b): a*b 1 mod( (n))}
n, b là khóa công khai; a, p, q là khóa bí mật. Với mỗi K = (n, a, b) mỗi x P, y C, định nghĩa:
Hàm mã hoá: y = ek (x) = xb mod n
Hàm giải mã: dk (y) = ya mod n
Độ an toàn của mã hóa RSA:
Độ an toàn của mã hóa RSA phụ thuộc vào độ an toàn của bài toán phân tích số
lớn thành hai thừa số nguyên tố. Do đó, nếu chúng ta tìm ra hai số nguyên tố p
và q càng lớn thì độ an toàn của mã hóa RSA càng cao.
2.3.2. Mã hóa Elgamal
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 40/79
33
Mã hóa Elgamal được T.Elgamal đề xuất năm 1985, dựa vào độ phức tạp của bài
toán tính logarit rời rạc và sau đó đã nhanh chóng được sử dụng rộng rãi không nhữn g
trong vấn đề bảo mật truyền tin mà còn trong vấn đề xác nhận và chữ ký điện tử.
Sơ đồ mã hóa Elgamal: Chọn số nguyên tố p sao cho bài toán logarit rời rạc trong Zp là khó.
Chọn là phần tử nguyên thủy của tập Zp*
Đặt P = Zp* , C = Zp
* x Zp*
Định nghĩa K = {(p, , a, ): a Zp* , a (mod p)}
KP= (p, , ) là khóa công khai, KS= a là khóa bí mật
Chọn ngẫu nhiên số k Zp-1 . Giữ bí mật k
Định nghĩa: Hàm lập mã: eK (x, k) = (y1, y2)
Trong đó: y1 = k mod p và y2 = x * k mod p
Hàm giải mã: dK (y1, y2) = y2 (y1a) -1 mod p với y1, y2 Zp
*
Độ an toàn của mã hóa Elgamal:
Độ an toàn của mã hóa Elgamal phụ thuộc vào bài toán tính logarit rời rạc. Có
một điều cảnh báo là nên chú ý chọn modun cho p là số nguyên tố s ao cho p-1
có ít nhất một ước số nguyên tố lớn. Một trường hợp mất an toàn của hệ mật Elgamal là việc dùng cùng một số k
cho nhiều lần lập mã.
2.3.3. Phân phối khóa
Để thực hiện phân phối khóa công khai có các cách sau:
Thông báo khóa công khai cho người sử dụng: Người dùng phân phối khóa
công khai cho người nhận hoặc thông báo rộng rãi cho cộng đồng. Chẳng hạn
người dùng có thể tự gửi cho nhóm chia sẻ tin hoặc một danh sách thư điện tửkhóa công khai của mình. Điểm yếu chính của thông báo khóa công khai là
việc mạo danh. Một người nào đó có thể tạo khóa và tuyên bố mình là một
người khác và gửi thông báo cho mọi người. Cho đến khi giả mạo bi phát hiện
thì kẻ mạo danh đã có thể lừa trong vai trò của người khác.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 41/79
34
Thư mục truy cập công cộng: Người sử dụng thư mục truy nhập công cộng có
thể đạt được tính an toàn cao hơn bằng cách đăng ký khóa với thư mục công
cộng để đăng tải và chia sẻ cho mọi người. Thư mục cần được đảm bảo là đáng
tin cậy với các tính chất sau: Chứa việc nhập tên và khóa công khai, người
dùng đăng ký mật với thư mục, người dùng có thể thay khóa bất kỳ lúc nào thưmục được in định kỳ, thư mục có thể truy cập qua mạng. Tuy nhiên mô hình
trên vẫn có các lỗ hổng có thể xâm nhập, sửa, hoặc giả mạo khi vào hệ thống.
Chủ quyền khóa công khai: Đây là bước cải thiện an toàn tính an toàn bằng
cách kiểm soát chặt chẽ tập trung việc phân phối khóa từ thư mục. Nó bao gồm
các tính chất của một thư mục và đòi hỏi người dùng biết được khóa công khai
của thư mục đó. Sau đó người dùng nhận được bất kỳ khóa công khai mong
muốn nào bằng cách truy nhập thời gian thực đến thư mục khi nào cần tới khóa.
Chứng nhận khóa công khai: Chứng nhận cho phép trao đổi khóa không cần
truy cập thời gian thực đến chủ quyền thư mục khóa công khai. Để làm việc đó
chứng nhận gắn danh tính của người sử dụng với khóa công khai của anh ta và
“đóng dấu vào giấy chứng nhận” đó để tránh giả mạo. Các thông tin đi kèm
thông thường là chu kỳ kiểm định, quyền sử dụng, thời hạn… Nội dung trên
được ký bởi khóa công khai của CA được thông báo rộng rãi, nên chứng nhận
đó có thể được kiểm chứng bởi một người nào đó biết khóa công khai CA.
2.3.4. Trao đổi khóa Diffie Helman
Trao đổi khóa công khai Diffie Helman là sơ đồ khóa công khai đầu tiên được đề
xuất bởi Diffie và Helman vào năm 1976 cùng với sự ra đời của khái niệm khóa công
khai. Đây là phương pháp thực tế trao đổi công khai khóa mật. Nó thúc đẩy việc nghiên
cứu đề xuất mã hóa khóa công khai. Sơ đồ được sử dụng trong nhiều sản phẩm thương
mại.
Là sơ đồ trao đổi khóa mật dùng khóa công khai: Không thể dùng để trao đổi thôngtin bất kỳ, có thể thiết lập khóa chung, chỉ có hai đối tác biết đến, giá trị khóa phụ thuộc
vào các đối tác, dựa trên phép toán lũy thừa trong trường hữu hạn là bài toán dễ, nhưng độ
an toàn dựa trên độ khó của bài toán logarit rời rạc nên nó là bài toán khó.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 42/79
35
Sơ đồ phân phối khóa Diffie Hellman:
Hai bên thống nhất với nhau hai số chung: Là số nguyên tố q và α < q là căn
nguyên thủy của q.
A chọn một số XA < q là thông tin riêng của A. Sau đó A tính Y A = α X A mod q.
B chọn một số XB < q là thông tin riêng của B. Sau đó B tính Y B = αXB mod q.
Trao đổi khóa Diffie Hellman:
A trao giá trị YA cho B và B trao giá trị của YB cho A.
Khóa phiên dùng chung cho hai người sử dụng A, B là K AB.
KAB = αXA.XB mod p.
2.3.5. Xác thực thông tinXác thực thông tin liên quan đến các khía cạnh sau khi truyền tin trên mạng như:
Bảo vệ tính toàn vẹn của thông tin: Bảo vệ thông tin không bị thay đổi hoặc có
các biện pháp phát hiện nếu thông tin bị thay đổi trên đường truyền.
Kiểm chứng danh tính và nguồn gốc của thông tin: Xem xét thông tin có đúng
do người xưng tên gửi không hay một kẻ khác bị thay đổi trên đường truyền.
Không chối từ bản gốc: Trong trường hợp cần thiết, bản thân tin chứa các thông
tin chứng tỏ chỉ có người xưng danh gửi, không một ai khác có thể làm điều đó.
Như vậy người gửi không thể từ chối hành động gửi, thời gian gửi và nội dungcủa bản tin.
Ngoài ra có thể xem xét bổ sung thêm các yêu cầu bảo mật như mã hóa.
Với mong muốn đáp ứng các yêu cầu trên, có 3 cách mã hóa được lựa chọn sau để
sử dụng:
Thông tin được mã hóa bằng mã hóa khóa đối xứng hoặc mã hóa khóa công
khai.
Mã xác thực thông tin: Dùng khóa và một hàm nén thông tin cần gửi để nhậnđược một đặc trưng đính kèm với thông tin và người gửi đó.
Sử dụng hàm băm tức là băm nén thông tin tạo thành “dấu vân tay” cho thông
tin.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 43/79
36
Các yêu cầu bảo mật khi truyền thông tin trên mạng.
Giữ bí mật thông tin, chỉ cho phép người có quyền biết nắm được thông tin.
Không cho phép việc theo dõi hoặc cản trở việc truyền tin.
Tránh việc giả mạo, lấy danh nghĩa người khác để truyền tin.
Tránh tình trạng nội dung bản tin bị cắt xén, sửa đổi.
Tránh tình trạng thay đổi thứ tự các bản tin truyền.
Không cho phép người gửi từ chối trách nhiệm tác giả bản tin.
Không cho phép người gửi từ chối sự tồn tại và đích của bản tin người muốn
gửi tới.
Mã thông tin: Mã thông tin một phần đã cung cấp nội dung xác thực vì khóa được
chia sẻ giữa người nhận và người gửi cũng như việc thay đổi nội dung của thông tin sẽkhông rõ ràng nếu không có khóa. Ta có thể xét hai trường hợp mã hóa cơ bản bằng mã
hóa khóa đối xứng và mã hóa khóa công khai:
Khi mã hóa khóa đối xứng được sử dụng thì người nhận biết người gửi phải tạo
ra bản tin, vì chỉ có người gửi và người nhận biết được khóa sử dụng. Người
nhận có thể biết nội dung không bị sửa đổi, nếu bản tin của cấu trúc phù hợp,
tính dư thừa và tổng kiểm tra đề phát hiện bất cứ thay đổi nào.
Khi mã hóa khóa công khai được sử dụng thì nhà cung cấp không đủ độ tin cậy
về người gửi vì mọi người đều có thể biết khóa công khai của người nhận. Tuynhiên nếu người gửi ký mẩu tin sử dụng khóa riêng của họ và sau đó mã hóa
với khóa công khai của người nhận, thì khi đó đảm bảo cả tính bảo mật và xác
thực của thông tin. Việc kết hợp giữa khóa riêng của người nhận đảm bảo tính
ưu việt trong truyền tin nhưng nó làm cho quá trình mã hóa và giải mã thông tin
chậm đi đáng kể.
Mã xác thực bản tin ( MAC ): Mã xác thực bản tin được sinh ra bởi thuật toán mã
tạo ra một khối thông tin có kích thước nhỏ cố định. Việc xác thực bản tin phụ thuộc vàokhóa và nội dung của bản tin. Nó giống như mã nhưng không cần phải giải mã, được bổ
sung như chữ ký để gửi kèm làm bằng chứng xác thực người gửi. Người nhận sẽ thực
hiện một số tính toán trên bản tin để kiểm tra xem có phù hợp với MAC đi kèm không.
Giúp tạo niềm tin không bị thay đổi và đến từ người gửi.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 44/79
37
Cũng có thể mã hóa mã MAC để đảm bảo tính bảo mật. Nói chung người ta sử dụng
khóa riêng biệt cho mỗi MAC và có thể tính trước hoặc sau khi mã hóa. Nhược điểm của
MAC là phụ thuộc vào khóa và mẩu tin của người gửi nhưng đôi khi chỉ cần xác thực
mẩu tin và thông tin xác thực đó chỉ phụ thuộc vào mẩu tin để lưu trữ làm bằng chứng chotính toàn vẹn của nó khi đó người ta sử dụng hàm băm thay cho mã MAC. MAC không
phải là chữ ký điện tử vì cả người nhận và người gửi đều cho biết thông tin về khóa.
Tính chất của MAC:
Nén bản tin M có độ dài tùy ý bằng cách sử dụng khóa K tạo nên mẩu tin có độ
dài cố định.
Là hàm nhiều – một: Có nhiều bản tin khác nhau nhưng chỉ có cùng một MAC.
Tuy nhiên ta phải chọn hàm MAC sao cho những bản tin có MAC giống nhau
là rất khó.
Yêu cầu đối với MAC:
Biết bản tin và MAC không thể tìm được bản tin khác có cùng MAC.
Các MAC phải được phân bố đều.
MAC phải phụ thuộc như nhau vào tất cả các bit trong bản tin.
Sử dụng mã hóa khóa đối xứng cho MAC: Ta có thể dùng mã khối với chế độ chuỗimóc nối để mã hóa thông tin và sử dụng khối cuối cùng của mã khối làm MAC của mẩu
tin.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 45/79
38
Hình 2.7: Sơ đồ MAC.
2.3.6. Hàm băm Một biến thể của MAC là hàm băm một chiều. Hàm băm ban đầu là đầu vào của
một bản tin M có kích thước thay đổi, đầu ra của một hàm H(M) có kích thước cố định.
Mã băm là hàm của tất cả các bit có trong thông báo, đồng thời nó cung cấp khả năng
phát hiện lỗi. Nếu A thay đổi một bit bất kỳ hoặc một chuỗi bit thay đổi thì hàm băm cũng
thay đổi theo. Để đáp ứng yêu cầu xác thực hàm băm phải thỏa mãn các yêu cầu sau:
Có thể áp dụng cho mọi bản tin có kích thước tùy ý, tuy nhiên phải tạo đầu ra Hcó kích thước cố định thường là 128bits hoặc 1024bits.
Dễ tính h = H(M) cho mọi bản tin M, hàm H tính toán nhanh, hiệu quả, phụ
thuộc chặt chẽ vào bản tin và không tính toán ngược lai.
Cho x không thể tìm được y sao cho H(x) = H(y) và không thể tìm được x, y
sao cho H(x) = H(y).
Hàm băm tạo nên “dấu vân tay” hay là thông tin đặc trưng của dữ liệu.
Nén bản tin tùy ý về dấu vân tay có kích thước cố định.
Các bước để băm một thông điệp là:
Bước 1: Cho trước một thông điệp có độ dài bất kỳ. Bổ sung một số bit vào
thông điệp để được thông điệp có độ dài là bội của một số cho trước. Chia nhỏ
thông điệp thành khối M1, M2,…Ms…
MH
C
MC
Nguồn A Đích B
K
KSo sánh
CK(M)
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 46/79
39
Bước 2: H là hàm trạng thái có kích thước n bit, f là hàm nén thực hiện thao tác
trên gói dữ liệu với trạng thái hiện tại.
H0 là trạng thái khởi tạo.
Hi = f(Hi-1, Mi) với I = 1,2,3…s.
Hs là thông điệp rút gọn.
Tháng 4 năm 1995 thuật toán SHA-1 được đề xuất nhằm thay thế cho những hàm
băm trước đó. Khi nhập vào một thông điệp có chiều dài bất kỳ nhỏ hơn 264bits, SHA-1
cho ra kết quả là một thông điệp rút gọn dài 160bits. Trước đây SHA-1 được cho là an
toàn vì không thể tìm ra thông điệp liên quan đến thông điệp rút gọn hay tìm ra hai thông
điệp khác nhau nhưng có cùng thông điệp rút gọn. Bất kỳ thay đổi nào của thông điệp với
xác suất cao vẫn cho ra các thông điệp rút gọn khác nhau.
Các bước của thuật toán băm SHA-1:
Mở rộng thông điệp: Thông điệp M được mở rộng trước khi băm, mục đích của
việc mở rộng này nhằm đảm bảo thông điệp mở rộng có độ dài là bội số của
512bits. Giả sử độ dải của thông điệp M là n bit, thêm bit 1 vào cuối thông điệp
theo sau là k bit 0 với k là số nguyên dương nhỏ nhất thỏa mãn n + 1 + k = 448
mod 415. Sau đó thêm khối 64 bit là biểu diễn nhị phân của n.
Phân tích thông điệp đã mở rộng: Sau khi thông điệp đã được mở rộng, thôngđiệp cần được phân tích thành N khối m bit trước khi băm. Thông điệp mở rộng
được phân tích thành N khối 512 bit là M(1), M(2)…M(N) trước khi băm.
Trong đó 512 bits dữ liệu ban đầu có thể được biểu diễn bởi 16 từ 32 bits.
Khởi tạo giá trị băm: Giá trị băm là một chuỗi bit có kích thước của thông điệp
băm. Trong đó Hj(i) là từ j trong giá trị băm ở lần lặp i với 0 ≤ i ≤ N và 0 ≤ j ≤
(số từ trong giá trị băm -1). Trước khi băm, với mỗi thuật toán băm an toàn, giá
trị băm ban đầu H(0) phải được thiết lập. Kích thước và số lượng từ trong H(0)
tùy thuộc vào kích thước thông điệp rút gọn. Tính toán giá trị băm: SHA-1 được sử dụng để băm thông điệp M có độ dài n
bit thỏa mãn điều kiện 0 ≤ n ≤ 264.
Thuật toán sử dụng:
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 47/79
40
Một bảng phân bố thông điệp gồm 80 từ 32bit. Các từ khóa của bảng phân bố
thông điệp được ký hiệu W(0), W(1)… W(79).
SHA-1 sử dụng dãy các hằng số K(0), K(1)…K(79) có giá trị như sau:
K(t) = 5A827999 (0 ≤ t ≤ 19).
K(t) = 6ED9EBA1 (20≤ t ≤39).K(t) = 8F1BBCDC (40 ≤ t ≤59).
K(t) = CA62C1D6 (60 ≤ t ≤79).
5 biến 32bits.
Một giá trị gồm 5 từ 32 bit.
5 biến ký hiệu là a, b, c, d, e .
Các từ của giá trị băm ký hiệu H0(i), H1
(i), H2(i), H3
(i), H4(i). H(0) giữ giá trị băm
ban đầu và được thay thế bằng các giá trị băm thành công. H(i) sau mỗi khối
thông điệp được xử lý và kết thúc bằng giá trị băm cuối cùng H(N).
Tính toán thông điệp băm:
Định nghĩa: S^n(X) = (X << n) or (X >> 32-n)
X << n có nghĩa là loại bỏ từ trái sang phải n bit và thêm vào kết quả n số 0
vào bên phải.
X >> n có nghĩa là loại bỏ từ phải qua trái n bit và thêm vào kết quả n số 0
vào bên trái.
Khởi tạo H:
H0 = 67452301; H1 = EFCDAB89;
H2 = 98BADCFE; H3 = 10325476;
H4 = C3D2E1F0;
Chia M(i) thành 16 từ W(0), W(1)… W(15).
For(t=16; t <= 79; t++)
{
W(t) = S^1(W(t-3) XOR W(t-8) XOR W(t-14) XOR (t-16)).
Đặt a = H0, b = H1,c = H2, d = H3, e = H4;}
for( t=0 ; t <=79; t++)
{
temp = S^5(A) + f(t,B,C,D) + E + W(t) + K(t)
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 48/79
41
e = d; d =c; c= b; b= a; a= temp;
Đặt H0 = H0 + a, H1 = H1 + b, H2 = H2 + c, H3 = H3 + d, H4 = H4 + e;
}
Sau khi tính toán được hết M(n) thông điệp rút gọn là một chuỗi 160bit là biểu diễn
của 5 từ: H0, H1, H2, H3, H4.
Ưu điểm của thuật toán:
Cùng với MD5 SHA-1 được xem là hai thuật toán băm phổ biến nhất hiện nay
SHA-1 được xem là an toàn đối với hiện tượng đụng độ vì rất khó tìm được hai
thông điệp khác nhau có giá trị băm giống nhau.
Chuẩn SHA-1 được chứng nhận bởi viện công nghệ và tiêu chuẩn Quốc Gia
Mỹ (NIST) và là phương pháp duy nhất được chấp nhận trong nội bộ chính phủ
Mỹ.
SHA-1 được coi là chuẩn của việc bảo vệ các kênh liên lạc trực tuyến tồn tại
hơn 10 năm qua.
Nhược điểm của thuật toán:
SHA-1 được thiết kế cho bộ xử lý 32 bit, nhưng thế hệ máy tính gần đây dùng
các bộ xử lý 64bits mà SHA-1 lại không hiệu quả trên bộ xử lý này.
Tháng 2 năm 2005 SHA-1 bị tấn công bởi 3 chuyên gia người Trung Quốc.Thuật toán này bị giải mã thông qua phương pháp tính phân bố.
2.3.7. Chữ ký số
MAC hỗ trợ việc bảo vệ hai thành viên nhưng hai thành viên không bảo vệ lẫn nhau
trong việc gửi thông điệp. Để giải quyết vấn đề này, chữ ký số là công cụ hữu hiệu nhất.
Chữ ký số phải có tính chất sau:
Có khả năng xác thực tác giả và thời gian ký. Có khả năng xác thực nội dung tại thời điểm ký.
Thành viên thứ ba có thể xác thực để giải quyết tranh chấp.
Các yêu cầu đối với chữ ký số:
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 49/79
42
Chữ ký phải là chuỗi bit phụ thuộc vào các thông điệp được ký
Chữ ký phải sử dụng một thông tin duy nhất nào đó từ người gửi nhằm ngăn
chặn tình trạng làm giả chữ ký và chối bỏ chữ ký.
Việc tạo ra chữ ký số là dễ dàng.
Khó có thể làm giả chữ ký.
Cần phải lưu trữ một bản sao các chữ ký.
Có nhiều hướng tiếp cận chữ ký số, các hướng tiếp cận này được phân chia thành hai
loại: Tiếp cận trực tiếp và tiếp cận chữ ký của thành viên thứ ba.
Tiếp cận trực tiếp: Ở đây chữ ký số được tạo ra bằng cách mã toàn bộ thông báo
bằng khóa riêng của người gửi hoặc mã hóa mã băm của thông báo bằng khóa riêng của
người gửi. Có thể đảm bảo tính bí mật của thông tin bằng cách mã hóa khóa công khai
của người nhận hoặc mã hóa bằng khóa chung được người nhận và người gửi trao đổi
trước. Vấn đề đặt ra ở đây là tính hợp lệ, an toàn đều phụ thuộc vào tính an toàn của khóa
riêng.
Tiếp cận chữ ký số của thành viên thứ ba: Khi X muốn gửi thông báo cho Y. Trước
tiên X phải thông báo đó cho A để A chứng thực rằng thông tin ấy được gửi từ X và đánh
dấu xác thực vào thông tin gửi. A có trách nhiệm kiểm tra nguồn gốc, nội dung thông báovà chữ ký số của X. Sau đó thông báo được gán nhãn thời gian và gửi cho Y. Giải quyết
được vấn đề chối bỏ chữ ký trong hướng tiếp cận trực tiếp. Như vậy, thành viên thứ ba
đóng quan trọng. Đó phải là đối tượng có độ tin cậy cao. Nếu A đáp ứng được sự tin cậy
thì X được đảm bảo không có bất ký ai có thể làm giả chữ ký của anh ta. Để giữ bí mật
thông tin gửi đối với A, thì chúng ta cũng có thể giải quyết bằng cách: X và Y trao đổi với
nhau một khóa chung K XY. X gửi cho A tên của X và một bản sao thông tin đã được mã
hóa bằng khóa K XY va một chữ ký gồm tên của X và giá trị băm đã được mã hóa. A mã
hóa mọi thứ băng nhãn rồi gửi cho Y.
Thuật toán chữ ký số Elgamal: Thuật toán này dựa vào sự tính toàn rời rạc.
Thuật toán được trình bày như sau:
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 50/79
43
Giả sử p là số nguyên tố sao cho bài toán logarit rời rạc trong Zp là khó.
Giả sử là phần tử nguyên thủy của Z *
p. Đặt P= Z *
p, A= Z *
p Zp-1 và
Khóa K={(p, , a, ) : a mod p, a Z *
p}.
Giá trị p, , là công khai, còn a là bí mật. Ký số:
Với mỗi K = (p, ,a, ) và với một số ngẫu nhiên (mật) k Z*p-1:
SigK (x,k) = ( , )
Trong đó = k mod p và = ( x - a ) k-1 mod (p-1).
Kiểm tra chữ ký:
với Z *
p, Zp-1 ta định nghĩa:
Ver(x, , )=True
x
mod p. Tính an toàn của chữ ký ElGamal:
Việc giữ bí mật khóa a dùng để tạo chữ ký là có ý nghĩa quyết định đối với việc
bảo đảm tính an toàn của chữ ký.
Nếu không có a, phải tính a thông qua ,,p công khai bằng cách tính log
mod p. Đây là bài toán “khó”.
Ưu điểm của sơ đồ chữ ký ElGamal:
Sơ đồ chữ ký ElGamal là một trong những sơ đồ mạnh và hiện nay đã được
nhiều nước trên thế giới ứng dụng làm chuẩn chữ ký số. Điểm mạnh và an toàn của chữ ký ElGamal là dựa trên tính “khó” giải của bài
toán logarit rời rạc trên trường hữu hạn Zp , đây là một bài toán mà cho đến nay
chưa có một thuật toán “nhanh” để giải nó.
Ứng dụng của sơ đồ chữ ký ElGamal:
Sơ đồ được thiết kế đặc biệt cho mục đích ký trên các văn bản điện tử.
2.4. Kết luận
Như vậy với các kiến thức chung về khái niệm và thuật toán cơ bản của mật mã
trong đó tập trung vào các vấn đề sau:
Giới thiệu về mã hóa khóa đối xứng và các kỹ thuật sử dụng trong mã hóa khóa
đối xứng và chuẩn dữ liệu AES.
Nêu các vấn đề an toàn trong việc sử dụng mã hóa khóa đối xứng.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 51/79
44
Giới thiệu về mã hóa khóa công khai và một số kỹ thuật sử dụng trong mã hóa
khóa công khai.
Cách thức phân phối khóa công khai.
Kỹ thuật trao đổi khóa Diffie Hellman.
Các khía cạnh, yêu cầu và cách thức xác thực thông tin.
Giới thiệu về hàm băm, kỹ thuật băm và một số hàm băm thông dụng.
Giới thiệu về chữ kí số, các cách tiếp cận chữ kí số.
Đây là công cụ hữu hiệu đảm bảo tính bí mật, toàn vẹn của dữ liệu thông qua
phương pháp mã hóa dữ liệu. Ngoài ra đóng vai trò xác thực người gửi, đảm bảo thông tin
đến đúng đích , chính xác và toàn vẹn.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 52/79
45
CHƢƠNG 3: ĐỀ XUẤT GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU VÀ DEMO
3. 1. Giới thiệu Áp dụng những kiến thức về an toàn thông tin trong cơ sở dữ liệu và cơ sở lý thuyết
mật mã trong bảo mật CSDL. Ở chương này sẽ đề xuất các giải pháp bảo mật CSDL.
3.2. Mô hình bảo mật CSDL Đối tượng mà mô hình CSDL an toàn nghiên cứu là các thủ tục ở cấp độ cao, tính
độc lập của phần mềm, mô hình khái niệm nhằm bảo vệ an toàn hệ thống từ các yếu tố
bên ngoài. Mô hình an toàn cung cấp các thành phần đại diện về mặt ngữ nghĩa trong đó
cho phép các thuộc tính của hàm, và các cấu trúc của hệ thống an toàn được mô tả. Mô
hình bảo mật hỗ trợ cho phép người phát triển đưa ra các định nghĩa ở cấp độ cao các yêu
cầu cần được bảo vệ và các chính sách được cung cấp một cách ngắn gọn, rõ ràng phùhợp với mô hình trừu tượng và dễ dàng trong cài đặt hệ thống.
Có nhiều mô hình an toàn, các mô hình có thể phân thành nhiều loại nhưng xoay
quanh hai mô hình chính là mô hình an toàn bắt buộc và mô hình an toàn tùy chọn.
Mô hình an toàn tùy chọn: Quản lý truy cập người dùng tới thông tin trong
CSDL dựa vào việc xác thực người dùng, dựa vào các quy tắc dành riêng cho
từng người dùng và từng đối tượng trong hệ thống, các quyền mà người dùng
được thao tác với đối tượng. yêu cầu của người dùng truy nhập tới đối tượngđược kiểm tra trong bảng CSDL. Hầu hết quyền đều ở dạng là các chính sách
sở hữu, ở đây người tạo ra một đối tượng được phép cấp phát hoặc thu hồi
quyền truy nhập của người sử dụng khác tới một đối tượng mà họ tạo ra.
Đánh giá: Cho đến nay, truy nhập thông tin vẫn dựa vào phần lớn trên chính
sách bảo vệ tùy chọn. Thuận lợi mà chính sách tùy chọn mang lại là tính mềm
dẻo phù hợp với nhiều hệ thống và các chương trình ứng dụng. Tuy nhiên,
chính sách điều khiển truy nhập tùy chọn có mặt hạn chế, nó không thể cung
cấp một cách thực sự chắc chắn nhằm thỏa mãn các yêu cầu bảo vệ. Mặc dùmỗi cách thức truy nhập chỉ được điều khiển hoặc được cho phép nếu được ủy
quyền, tuy nhiên vẫn có thể vượt qua các hạn chế đó bằng cách lách quyền.
Vấn đề chính mà chính sách tùy chọn gặp phải đó là nó không chịu bất kỳ hạn
chế nào trên các cách thức sử dụng thông tin mà một người dùng giành được,
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 53/79
46
do đó thông tin bị điều khiển dễ dàng. Chính điều này làm cho điều khiển tùy
chọn có thể bị tấn công từ Trojan khi chúng được nhúng vào trong chương
trình.
Mô hình an toàn bắt buộc quản lý truy cập tới thông tin trong CSDL dựa vào
việc phân lớp các chủ thể và các đối tượng trong hệ thống. đối tượng là cácthực thể thụ động lưu trữ thông tin như file, bản ghi, không gian trong bản
ghi… chủ thể là các thực thể hoạt động, thành phần truy nhập tới các đối tượng.
Nhìn chung, một chủ thể được coi là một quá trình xử lý tính toán đại diện cho
người dùng. Các lớp thao tác truy nhập của chủ thể trên đối tượng được cấp nếu
thỏa mãn các yêu cầu truy nhập giữa lớp chủ thể và lớp đối tượng mà hệ thống
sinh ra.
Đánh giá: Những thuận lợi mà chính sách bắt buộc mang lại xuất phát từ môi
trường, nơi có các đối tượng và chủ thể được phân lớp. chúng cung cấp tính xác
thực ở cấp độ cao cho vấn đề an toàn dựa trên nhãn có thực. M hình điều khiển
bắt buộc và mô hình điều khiển luồng cho phép lưu vết thông tin do đó ngăn
chặn được các kiểu tấn công bề mặt của Trojan. Tuy nhiên chính sách điều
khiển truy cập bắt buộc cũng có mặt hạn chế, nó quá cứng nhắc và do đó không
thể áp dụng cho một số môi trường đòi hỏi độ linh động cao như hệ thống
thông tin thương mại. Tuy nhiên, ngày nay đã có những mô hình an toàn được
xây dựng là sư tích hợp của chính sách tùy chọn và chính sách bắt buộc như mô
hình Sea View.
Bên cạnh mô hình ràng buộc và mô hình tùy chọn, các mô hình có thể được phân
loại theo các hướng sau:
Mô hình phụ thuộc vào mục đích của hệ thống: Như mô hình để bảo vệ hệ điều
hành, mô hình để bảo vệ CSDL hoặc bảo vệ cả hệ điều hành và CSDL. Tùy
thuộc vào mục tiêu của hệ thống các nguồn tài nguyên khác nhau cần bảo vệ,
các cách điều khiển khác nhau mà có cách thức thiết kế mô hình khác nhau. Mô hình phụ thuộc vào các chính sách hệ thống đặt ra: Mô hình bắt buộc hoặc
mô hình tùy chọn.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 54/79
47
Mô hình phụ thuộc vào các cách thức kiểm soát: Một vài mô hình cho phép
truy cập trực tiếp tới thông tin, một vài mô hình khác cho phép truy cập gián
tiếp tới thông tin.
Do đó việc lựa chọn mô hình bảo mật nào trong phát triển hệ thống an toàn phụthuộc vào mục đích môi trường, dữ liệu nó muốn bảo vệ, dựa trên các mặt an toàn chính
sách an toàn, và trên các mục đích muốn kiểm soát. Có thể một mô hình là không đủ để
đảm bảo an toàn trên nhiều khía cạnh khác nhau của hệ thống. Vì vậy, cần có sự kết hợp
của nhiều mô hình để đáp ứng được yêu cầu về an toàn CSDL mà nhà quản lý đặt ra.
Các thành phần của mô hình CSDL an toàn:
Chủ thể: Đây là những thực thể hoạt động của hệ thống, thực hiện các yêu cầu
truy cập tới các đối tượng. những truy cập bất hợp pháp của chủ thể có thể đe
dọa đến an toàn của hệ thống.
Đối tượng: Đây là các thực thể bị tấn công của hệ thống, chịu sự điều khiển
truy nhập của chủ thể. Nó bao gồm các thông tin cần được bảo vệ từ việc truy
nhập hoặc các thay đổi bất hợp pháp trên đối tượng.
Mô hình truy nhập: Biểu diễn cách mà chủ thể truy nhập, thực thi trên các đối
tượng.
Chính sách: Là các quy tắc đặt ra nhằm thực hiện việc kiểm soát và truy cập tớiCSDL.
Tập các quyền: Là các quyền truy cập của chủ thể. Thể hiện trạng thái truy
nhập, cái mà chủ thể được phép thực thi trên các đối tượng của hệ thống.
Quyền quản lý: Đây chính là các đặc quyền như: cấp phát, thu hổi, sở hữu, cấp
quyền.
Các tiên đề: Đây chính là các thuộc tính mà một hệ thống an toàn phải được
thỏa mãn. Chúng là điều kiện mà một quyền khi được yêu cầu thực thi phải
thỏa mãn. Một sự thay đổi trên một thể hiện đặc quyền chỉ được phép khi điqua đặc quyền quản lý mà các tiên đề được thỏa mãn.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 55/79
48
Hình 3.1: Các thành phần của mô hình an toàn trong một hệ thống an toàn.
3.3. Các yếu tố mất an toàn Các hiểm họa đối với hệ thống có thể phân thành hiểm họa vô tính hay cố ý, chủ
động hay thụ động:
Hiểm họa vô tình: Ví dụ như người dùng truy nhập khởi động hệ thống ở chế
độ đặc quyền họ có thể tùy ý chỉnh sửa hệ thống. Nhưng sau khi hoàn thànhcông việc người dùng không chuyển hệ thống sang chế độ thông thường để kẻ
xấu lợi dụng sử dụng quyền bất hợp pháp.
Hiểm họa cố ý: Như cố tính truy nhập trái phép vào hệ thống.
Các chủ thể
Người quản trị an toàn
Yêu cầutruy cập
Các câu truyvấn tới thaotác quản lý
Xử lý
Kiểm soáttruy cập
Được phéptruy vấn
Từ chốitruy vấn Tập các
quyền
Các tiên đềvà chính sách
Được phéptruy vấn
Quyền quản lý
Từ chốitruy vấn
Kiểm soáttrên các thaotác quản lý
Người dùng
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 56/79
49
Hiểm họa thụ động: Là hiểm họa nhưng chưa hoặc không tác động trực tiếp
vào hệ thống như nghe trộm các gói tin trên đường truyền mạng.
Hiểm họa chủ động: Là việc thay đổi thông tin, thay đổi tình trạng hoạt động
của hệ thống.
Đối với hệ thống thông tin mối đe dọa tiềm ẩn là rất lớn nó có thể xuất phát từ từ các
nguyên nhân sau:
Từ phía người sử dụng: Xâm nhập bất hợp pháp, ăn cắp thông tin có giá trị
trong hệ thống.
Trong kiến trúc hệ thống thông tin: Tổ chức hệ thống kỹ thuật không có cấu
trúc hoặc không đủ mạnh để bảo vệ thông tin.
Ngay trong chính sách bảo mật an toàn thông tin: Không chấp hành các chuẩn
an toàn, không xác định rõ các quyền trong vận hành hệ thống.
Thông tin trong hệ thống máy tính cũng sẽ bị xâm nhập nếu không có các công
cụ quản lý, kiểm tra và điều khiển hệ thống.
Nguy cơ nằm ngay trong cấu trúc phần cứng của các thiết bị tin học trong phần
mềm hệ thống và ứng dụng do hãng sản xuất cài sẵn loại “rệp” điện tử theo ý
đồ định trước gọi là “bom điện tử”.
Nguy hiểm nhất đối với mạng máy tính mở đó chính là đó chính là hoạt động
của tin tặc từ phía bọn tội phạm.
Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:
Tấn công giả mạo: Là một thực thể giả danh thực thể khác để tấn công. Tấn
công giả mạo thường được kết hợp với các dạng tấn công khác nhau như tấn
công chuyển tiếp, tấn công sửa đổi thông báo.
Tấn công chuyển tiếp: Xảy ra khi một thông báo hoặc một phần thông báo
được gửi nhiều lần gây ra các tác động tiêu cực.
Tấn công sửa đổi thông báo: Xảy ra khi nội dung của một thông báo bị sửa đổinhưng không bị phát hiện.
Tấn công từ chối dịch vụ: Xảy ra khi một thực thể không thực hiện chức năng
của mình gây cản trở cho các thực thể khác thực hiện chức năng của chúng.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 57/79
50
Ngăn chặn không cho người dùng truy nhập hợp pháp vào dữ liệu mà họ được
quyền truy nhập.
Tấn công từ chối bên trong hệ thống: Xảy ra khi người dùng hợp pháp vô tình
hay cố ý can thiệp trái phép vào hệ thống.
Tấn công từ bên ngoài: Xảy ra khi có tình trạng nghe trộm, thu chặn, giả mạongười dùng hợp pháp vượt quyền hoặc lách qua các cơ chế kiểm soát truy nhập.
Tấn công bị động: Nhận được nội dung bản tin hoặc theo dõi luồng truyền tin.
Tấn công chủ động: Giả mạo một người nào đó, lặp đi lặp lại bản tin trước hoặc
thay đổi bản tin truyền, từ chối dịch vụ.
3.4. Yêu cầu đặt ra khi xây dựng hệ thống an toànChính vì các yếu tố mất an toàn trên, đặt ra yêu cầu phải có một hệ thống đủ mạnh
để quản lý, cấp quyền truy nhập cho từng cá nhân một cách hợp lý, chỉ có cá nhân có đủthẩm quyền mới được phép truy nhập vào CSDL để tránh xâm nhập bất hợp pháp vào hệ
thống, thực hiện các thao tác đọc, ghi, thêm, xóa, sửa dữ liệu trong CSDL làm mất tính
toàn vẹn của dữ liệu, có những thao tác mã hóa dữ liệu nhạy cảm để tránh trường hợp nội
dung dữ liệu bị lộ, sửa đổi trên đường truyền. Khi xây dựng mô hình an toàn CSDL, mô
hình cần thỏa mãn các yêu cầu sau:
Khả năng thích nghi của hệ thống: Tính an toàn cần phải làm việc được trên
mọi nền, các thiết bị phần cứng, phần mềm, tránh xảy ra xung đột với các hệ
thống khác.
Tính trong suốt: Khi thực hiện cài đặt chương trình vào hệ thống chương trình
là trong suốt, việc thêm nó vào không làm ảnh hưởng đến các ứng dụng khác.
Khả năng mở rộng: Các modun của chương trình ứng dụng nên đượ c xây dựng
một cách độc lập với nhau, việc này thuận tiện cho việc sử dụng lại các modun
khi có yêu cầu, đồng thời khi thực hiện một thay đổi trên modun này không làm
ảnh hưởng đến các modun khác. Đặc biệt, ngày càng có nhiều thuật toán bảo
mật hay được tìm ra và có nhiều ứng dụng ưu việt hơn.
Dễ cài đặt: Các modun an toàn có thể cài đặt trên máy tính cá nhân hay các
máy chủ một cách dễ dàng mà không cần phải thực hiện bất kỳ thay đổi nào
của hệ thống.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 58/79
51
Tính hiệu quả: Tính bí mật của hệ thống được nâng cao, tốc độ xử lý của hệ
thống là khả thi.
3.5. Giải pháp
3.5.1. Mô hình đề xuất Căn cứ vào mô hình truy xuất dữ liệu và các nguy cơ có thể gây mất an toàn cho
CSDL thì mô hình an toàn hệ thống CSDL đề xuất phải giải quyết các bài toán sau:
Đảm bảo an toàn dữ liệu CSDL khi chuyển dữ liệu trên mạng.
Đảm bảo an toàn dữ liệu CSDL trong lúc khai thác CSDL phục vụ tác nghiệp
Đảm bảo an toàn dữ liệu CSDL khi không phục vụ tác nghiệp.
Giải quyết được bài toán này thì hệ thống an toàn sẽ đảm bảo được các mục tiêu đề
ra.
Giải quyết bài toán thứ nhất nhằm chống lại các tấn công vào CSDL qua môi trường
mạng – chống lại việc chặn bắt dữ liệu trên kênh truyền.
Bài toán thứ hai nhằm chống lại việc các tấn công trực tiếp vào CSDL qua môi
trường hệ quản trị CSDL.
Bài toán thứ ba nhằm chống lại các tấn công trực tiếp vào CSDL qua môi trường hệđiều hành.
Như vậy, với mô hình này chúng ta đã ngăn chặn được mọi con đường tấn công vào
CSDL.
3.5.2 Giải pháp đề xuất Hệ thống bảo mật CSDL hoạt động dựa trên nguyên tắc kết hợp chặt chẽ thông giữa
biện pháp nghiệp vụ và các giải pháp kỹ thuật. Các biện pháp nghiệp vụ và giải pháp kỹ
thuật không được ảnh hưởng đến khả năng khai thác CSDL. Với giải pháp kỹ thuật cũng
kết hợp nhiều phương pháp khác nhau để thu nhỏ dần không gian hiểm họa đối với
CSDL, tiến tới kiểm soát hoàn toàn các hiểm họa đối với CSDL. Việc bảo vệ có thể thực
hiện bằng nhiều lớp bảo vệ. Các biện pháp nghiệp vụ mang tính chất hỗ trợ các giải pháp
kỹ thuật.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 59/79
52
Theo nguyên tắc phối hợp nhiều phương pháp khác nhau và chia thành nhiều lớp.
Các giải pháp kỹ thuật phải giải quyết cả hai mục tiêu: Toàn vẹn dữ liệu và bảo mật dữ
liệu. Tính toàn vẹn dữ liệu nhằm chống lại tất cả những tấn công trái phép dẫn tới sai lệch
dữ liệu cũng như từ chối dịch vụ. Bảo mật dữ liệu nhằm chống lại tất cả những tấn c ôngtrái phép dẫn đến khám phá thông tin trong CSDL một cách bất hợp pháp.
3.5.3. Các giải pháp kỹ thuật
3.5.3.1. Giải pháp bài toán “đảm bảo an toàn dữ liệu khi chuyển dữ liệu trên mạng” Đảm bảo an toàn dữ liệu CSDL khi chuyển trên mạng nhằm chống lại các tấn công
vào CSDL qua môi trường mạng – chống lại việc chặn bắt dữ liệu trên kênh truyền. Các
giao thức IP/TCP không được thiết kế với dự phòng gắn liền cho bảo mật, vì vậy có nhiều
hệ thống bảo mật khác nhau được phát triển cho các ứng dụng và lưu lượng trên mạngInternet. Phần mềm có nhiệm vụ chuẩn bị dữ liệu cho việc truyền lên một mạng, cung cấp
một số khả năng có thể áp dụng xác thực và mã hóa. Những ứng dụng trên được thực hiện
tại một trong ba lớp: Phần mềm ứng dụng, lớp giao vận/mạng, thiết bị liên kết dữ liệu và
ổ đĩa. Một vài giao thức mật mã cho các ứng dụng bao gồm Secure MINE, SSL/TSL,
Secure HTTP, VPN. Trong đó giao thức SSL/TSL là hai giao thức bảo mật đặt ở tầng
giao vận, VPN đặt ở tầng mạng và tầng liên kết dữ liệu được sử dụng rộng rãi ngày nay.
Ứng dụng giao thức SSL/TSL: Là dịch vụ an toàn tầng giao vận. SSL là giao
thức đa mục đích được tạo ra để thực hiện giao tiếp giữa hai ứng dụng trên một
cổng định trước (thường là socket 443 ) nhằm mã hóa toàn bộ thông tin đi đến.
SSL sử dụng giao thức TCP/IP để truyền tải dữ liệu còn bản thân SSL thì mã
hóa các dữ liệu này. SSL được thiết kế độc lập với tầng ứng dụng để đảm bảo
tính bí mật, an toàn, chống lại việc giả mạo luồng thông tin qua Internet giữa
hai ứng dụng bất kỳ. Toàn bộ cơ chế hoạt động và hệ thống thuật toán sử dụng
trong SSL được phổ biến công khai trừ khóa chia sẻ tạm thời được sinh ra tại
thời điểm trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối với ngườiquan sát trên mạng máy tính. Ngoài ra, giao thức SSL còn đòi hỏi ứng dụng
chủ phải được xác định bằng một đối tượng thứ ba (CA) thông qua giấy chứng
thực điện tử dựa trên các hệ mật mã hóa khóa công khai. Giao thức SSL dựa
trên hai nhóm giao thức là giao thức bắt tay và giao thức bản ghi. Giao thức bắt
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 60/79
53
tay xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông
tin hoặc dữ liệu. Giao thức bản ghi xác định khuôn dạng cho tiến hành mã hóa
và truyền tin hai chiều giữa hai đối tượng. SSL không phải là một giao thức
đơn lẻ mà là một tập các thủ tục đã được chuẩn hóa để thực hiện các nhiệm vụ
bảo mật sau: Xác thực máy chủ, xác thực máy trạm, mã hóa kết nối. Tuy nhiên,SSL không ngăn chặn các cuộc tấn công phân tích lưu lượng, các cuộc tấn công
có định hướng dựa vào phần thực thi TCP. Giao thức TSL dựa trên giao thức
SSL v3.0 nhưng có một số cải tiến an toàn như dùng HMAC thay cho MAC
dùng phép tính toán khác trong bảo mật của máy chủ và tài liệu khóa thêm các
bộ chỉnh sửa.
Ứng dụng kỹ thuật mạng riêng ảo: Kỹ thuật mạng riêng ảo để tách biệt toàn bộ
hệ thống CSDL với phần mạng còn lại. Mục đích giảm bớt các loại hiểm họa,
đặc biệt là hiểm họa từ các hacker. Với phép lọc này cho phép loại bỏ được
phần lớn những tấn công thông thường vào CSDL. Tất cả các cổng không phục
vụ cho công việc khai thác và quản lý dữ liệu đều bị đóng. Các cổng phục vụ
trong hệ thống phải được kiểm soát chặt chẽ. Số cổng phục vụ cho khai thác
CSDL và các dịch vụ liên quan không nhiều nên có thể chủ động kiểm soát.
Giữa các Server CSDL được kết nối với nhau theo một kênh an toàn. Các dữ
liệu khi ra khỏi vùng làm việc CSDL sẽ được mã hóa và giải mã khi chuyển
vào vùng làm việc.
Kiểm soát quá trình trao đổi dữ liệu trên mạng: Kiểm soát quá trình trao đổi dữ
liệu giữa các phần của CSDL trong toàn mạng là một công việc khó khăn vì các
hệ thống CSDL thường gồm nhiều mức người sử dụng và quá trình trao đổi dữ
liệu là quá trình hai chiều.
Kiểm soát quá trình trao đổi dữ liệu phải giải quyết các vấn đề sau:
Đảm bảo kiểm soát được chính xác các điểm kết nối tham gia vào quá trình trao
đổi dữ liệu, không để xảy ra những kết nối không kiểm soát được. Trong lúc tiến hành trao đổi dữ liệu, toàn bộ dữ liệu tác nghiệp phải được đảm
bảo an toàn ( dữ liệu tác nghiệp bao gồm dữ liệu tại các trạm và dữ liệu trên
đường truyền ).
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 61/79
54
Hình 3.2: Dòng dữ liệu trao đổi giữa hai nút.
Để giải quyết vấn đề trên phải xây dựng tiến trình trao đổi dữ liệu an toàn sao cho
đảm bảo kết quả có được như sử dụng kỹ thuật của hệ thống nhưng dữ liệu thì được bảo
mật. Điều này được giải quyết thông qua các cách sau:
Không sử dụng tiến trình trao đổi của hệ thống mà viết lại tiến trình đó để có
thể kiểm soát được dòng dữ liệu trong quá trình trao đổi. Nhờ đó mà có thể chủ
động đưa ra các kỹ thuật mật mã vào để bảo vệ dữ liệu trong quá trình trao đổi
trên mạng.
Bảo mật dữ liệu trong quá trình xử lý để trao đổi: Bảo mật dữ liệu trên mạng phải được tiến hành từ nút tới nút (nghĩa là từ Client tới Server hoặc từ Server
này đồng bộ tới Server khác). Dữ liệu trao đổi trước khi truyển lên kênh truyền
sẽ được mã hóa bằng hệ mật mã để chỉ hai nút tham gia xử lý trao đổi dữ liệu
trên mạng là hai hệ khác nhau. Khi dữ liệu được chuẩn bị đưa lên mạng dữ liệu
sẽ được bảo vệ bằng hệ thống mã hóa phục vụ cho quá trình trao đổi trên kênh
truyền, khi dữ liệu chuyển vào CSDL nơi đó sẽ được bảo vệ bằng hệ thống mã
hóa phục vụ cho quá trình lưu trữ và khai thác.
Dòng dữ liệu trao đổi trên kênh giữa hai nút A và B được thực hiện trong sơ đồ hình 3.2
Như vậy dữ liệu lặp giữa các Server CSDL được bảo vệ bởi hai tầng mật mã. Với
việc áp dụng các kỹ thuật trên, chúng ta đã giải quyết được bài toán thứ nhất trong mô
hình đặt ra.
Tạo dữ liệutrao đổi
Mã hóa dữ liệutrao đổi
Dữ liệu nhận
được từ nút A
Giải mã dữ liệutrao đổi
Nút A Nút B
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 62/79
55
3.5.3.2. Giải quyết bài toán “Đảm bảo an toàn CSDL trong lúc khai thác CSDL phụcvụ tác nghiệp”
Bài toán đảm bảo an toàn CSDL trong lúc khai thác CSDL phục vụ tác nghiệp nhằm
chống lại các tấn công trực tiếp vào CSDL qua môi trường DBMS. Bài toán này được giải
quyết theo các hướng sau:
Phân hoạch CSDL: CSDL nên được phân hoạch theo chiều ngang tùy theo độ
nhạy cảm của dữ liệu. Với mỗi phân hoạch hệ thống an toàn sẽ thực hiện một
chiến lược bảo mật riêng theo yêu cầu bảo mật của dữ liệu. Những phần CSDL
lưu giữ như thông tin ít nhạy cảm thì chỉ cần đảm bảo tính xác thực toàn vẹn
của dữ liệu. Với phần CSDL lưu giữ thông tin yêu cầu độ mật cao thì luôn lưu
giữ ở dạng mã hóa toàn bộ CSDL. Việc khai thác trên thành phần CSDL nàychỉ có thể tiến hành qua thành phần giao diện ứng dụng. Khi làm việc chỉ người
làm việc thích hợp mới có thể chuyển CSDL về trạng thái sẵn sàng phục vụ và
khi kết thúc công việc CSDL lại được chuyển về trạng thái an toàn tuyệt đối.
Những người dùng có quyền khai thác trên CSDL có yêu cầu độ mật cao thì
cũng có quyền khai thác CSDL có yêu cầu độ mật thấp hơn.
Mã hóa các trường dữ liệu quan trọng: Những trường chứa thông tin có độ bảo
mật cao được mã hóa bằng hệ mật tương ứng với yêu cầu của dữ liệu. Việc xác
định độ mật của từng trường phải được xác định bởi những người có thẩmquyền. Các thông tin có độ mật cao luôn được lưu trữ ở dạng mã hóa. Những
thông tin này chỉ được giải mã ở tầng giao diện với người dùng và chỉ có những
thông tin thỏa mãn yêu cầu của người dùng và trong thẩm quyền được phép của
người dùng mới được giải mã.
Kiểm soát các luồng dữ liệu: Kiểm soát chuyển thông tin giữa các mức có
những mức bảo vệ khác nhau. Có hai kiểu chính sách kiểm soát thông tin trong
các hệ quản trị CSDL để phục vụ cho bảo vệ CSDL là:
Mandatory: Với kiểu chính sách kiểm soát này thì ngoài việc chống lại việckhai thác dư liệu bất hợp pháp của những người dùng không có thẩm quyền thì
hệ thống còn có khả năng chống lại việc khám phá dữ liệu gián tiếp thông qua
chuyển dữ liệu theo kênh ngầm để từ đó có thể dẫn tới khám phá ra dữ liệu một
cách bất hợp pháp. Ví dụ: Chuyển dữ liệu từ mức bảo vệ cao xuống mức bảo vệ
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 63/79
56
thấp thông qua lệnh Read dữ liệu ở mức cao và Write xuống mức bảo vệ thấp
hơn. Hành động này sẽ tạo điều kiện cho việc khai thác dữ liệu có mức bảo vệ
cao bởi người dùng không có thẩm quyền.
Hình 3.3: Mô hình khai thác CSDL được bảo mật.
Kiểm soát người dùng CSDL: Người dùng CSDL, hồ sơ được kiểm soát bởi hai
mức an toàn: Mức quy định bởi hệ thống an ninh CSDL và mức quy định bởi
người quản trị CSDL. Khi người dùng vượt qua được cả hai mức kiểm soát thì
mới có thể thực hiện được các thao tác với CSDL. Tuy bị kiểm soát bở i haimức bảo vệ, song giao diện truy cập chỉ có một giao diện duy nhất để không
gây phiền phức trong quá trình sử dụng của người dùng.
Tóm lại, với những giải pháp kỹ thuật trên, chúng ta đã giải quyết được bài toán thứ
hai trong mô hình an toàn đề xuất. Mô hình có thể được thể hiện như hình 3.3.
3.5.3.3. Giải quyết bài toán “đảm bảo an toàn CSDL khi không phục vụ tác nghiệp” Khi không phục vụ tác nghiệp, phần CSDL chứa dữ liệu có độ mật cao sẽ được
chuyển về trạng thái lưu giữ. Khi ở trạng thái này thì ngoài những trường quan trọng được
mã hóa theo cách đã trình bày trong bài toán an toàn thứ hai thì toàn bộ CSDL được mã
hóa. Hệ mật phục vụ cho mã hóa cũng là sự kết hợp giữa mã hóa khóa đối xứng và mã
hóa khóa công khai đảm bảo cho người dùng hợp lệ có thể chuyển CSDL về trạng thái
Giao diện người dùng CSDL
Người dùng
CSDL CSDL CSDL
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 64/79
57
khai thác. Như vậy sẽ ngăn chặn được những tấn công qua đường hệ điều hành vào CSDL
chứa những thông tin có độ bảo mật cao.
Với những dữ liệu không có nhu cầu bảo mật thì hệ thống chỉ đảm bảo xác thực nội
dung. Các kỹ thuật được áp dụng nhằm đảm bảo phát hiện được những thay đổi nội dung bất hợp pháp.
3.5.4. Thiết kế hệ mật Hệ mật được sử dụng để bảo vệ dữ liệu cho hệ thống CSDL trong mô hình bảo mật
CSDL đề xuất dựa trên hai hệ mật cơ bản sau:
Hệ mật mã khóa công khai.
Hệ mật mã khóa đối xứng.
Hệ mật mã khóa công khai được sử dụng để phân phối khóa phiên cho các phiên làm
việc, xác thực người sử dụng và dữ liệu còn hệ mật mã khóa đối xứng được sử dụng để
mã hóa dữ liệu. Hai hệ mật mã này được kết hợp với nhau để tạo ra các hệ mật cụ thể
phục vụ cho các mục tiêu an toàn khác nhau như đã trình bày ở trên.
3.5.5. Hệ thống quản lý và phân phối khóa Hệ thống bảo mật sử dụng hai hệ mật cơ bản để đảm bảo an toàn là hệ mật mã hóa
khóa công khai và hệ mật mã hóa khóa đối xứng. Hệ mật mã hóa khóa công khai được sửdụng để phục vụ cho phân phối khóa phiên trong các phiên làm việc, xác thực người dùng
và dữ liệu.
Để giải quyết vấn đề “quản lý và phân phối khóa trong hệ thống bảo mật ứng dụng
cơ sở hạ tầng khóa công khai ( PKI )”. Hệ thống cấp phát chứng chỉ là việc như sau: Một
CA phát hành các chứng chỉ cho người tham gia vào hệ thống CSDL nắm giữ cặp khóa
công khai – bí mật. Mỗi chứng chỉ gồm có một khóa công khai và thông tin dùng để nhận
dạng duy nhất chỉ thể của chứng chỉ. Chứng chỉ CA kí bằng khóa riêng của CA.
Một khi các chứng chỉ được thiết lập, nếu người dùng cần khóa công khai của một
đối tượng khác trong hệ thống CSDL, anh ta có thể lấy được khóa công khai của đối
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 65/79
58
tượng đó bằng cách lấy một bản sao chứng chỉ của thuê bao, lấy ra khóa công khai, kiểm
tra chữ ký của CA có trên chứng chỉ bằng cách sử dụng khóa công khai của CA.
Nếu một đối tượng muốn làm giả một chứng chỉ để truy nhập trái phép vào hê thống
CSDL khi chứng chỉ này đang được phát hành cho người sử dụng khóa công kha i, anh tasẽ bị những người này phát hiện ra việc làm giả, bởi vì chữ ký số của CA được kiểm tra
chính xác. Khi sử dụng chứng chỉ trong hệ thống bảo đảm an toàn CSDL các cặp khóa
của người dùng và khóa công khai của CA sẽ được lưu trữ trên thiết bị lưu trữ an toàn,
nhỏ gọn. Với cách phân phối khóa như vậy, sẽ giúp thuận lợi hơn rất nhiều cho việc quản
lý khóa với việc mở rộng hệ thống. Chúng ta đều biết phân phối khóa là một khâu hết sức
quan trọng tất cả các hệ thống an toàn. Có được một hệ thống phân phố i khóa an toàn
cũng đồng nghĩa với việc nâng cao hiệu quả và độ tin cậy của hệ thống mật mã mà ta áp
dụng.
3.6. Nghiên cứu giải pháp bảo mật CSDL trong DBMS SQL Server
3.6.1. Giới thiệu
SQL Server là một DBMS do Microsoft phát triển. Các phiên bản của SQL Server
(trước phiên bản 7.0) được phát triển trên nền tảng là Sybase SQL Server. Phiên bản SQL
Server 7.0 được viết lại từ mã Sybase. Nó được tiếp nối bởi SQL Server 2000. Ngày này
SQL Server đã có phiên bản mới nhất là SQL Server 2010. SQL Server hỗ trợ nhiều loạidữ liệu khác nhau như: Interger,float, double, char, varchar, text. Một cơ sở dữ liệu SQL
Server có thể chứa tối đa 231 đối tượng và có thể span trên nhiều hệ điều hành cấp tập tin
với kích thước tối đa là 220TB. Các dữ liệu trong CSDL được lưu trữ trong các tập tin dữ
liệu chính với phần mở rộng là .mdf, tập tin thứ cấp được xác định với phần mở rộng là
.ndf được sử dụng để lưu trữ siêu dữ liệu và Log files được định nghĩa với phần mở rộng
là .ldf.
SQL Server cho phép nhiều người dùng sử dụng cùng một cơ sở dữ liệu đồng thời. Nó kiểm soát truy cập đồng thời vào dữ liệu được chia sẻ để đảm bảo tính toàn vẹn của
dữ liệu – khi nhiều người dùng cập nhật cùng một dữ liệu hoặc người dùng cố gắng để
đọc dữ liệu đó là trong quá trình bị thay đổi bởi người dùng khác. SQL Server cung cấp
hai chế độ kiểm soát đồng thời là: bi quan và lạc quan.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 66/79
59
SQL Server là một hệ quản trị cơ sở dữ liệu nhanh, đáng tin cậy, dễ sử dụng. SQL
Server ngày đã và đang được Microsoft quan tâm phát triển để hoàn thiện hơn nhằm đe m
lại những tính năng tốt nhất cho người sử dụng.
3.6.2. Vấn đề bảo mật trong SQL Server Bảo mật trong CSDL là yếu tố cần thiết trong tất cả các DBMS. Bảo mật là bảo vệ
dữ liệu chống lại các Cracker đồng thời cũng bảo vệ dữ liệu đối với người dùng. Ví dụ:
Người dùng có thể đọc, xóa, sửa hoặc thêm những bản ghi mà họ không được phép. Để
tránh tình trạng này, người quản trị có thể tạo ra một cơ chế bảo mật trên CSDL để ngăn
chặn các thao tác mà người dùng không được phép thao tác trên CSDL. Bảo mật đóng vai
trò chính trong bất kỳ ứng dụng nào mà người dùng có thể truy cập vào ít nhất một lần.
Cơ chế bảo mật của DBMS SQL Server là một trong những DBMS an toàn nhất hiện nay.
Trong chương này chúng ta nói đến các lĩnh vực bảo mật cơ bản trong SQL Server:
Bảo mật trong môi trường mạng.
Bảo mật tại chỗ.
3.6.2.1. Bảo mật trong môi trƣờng mạng
Các phiên bản gần đây của SQL Server hỗ trợ cho việc kết nối an toàn giữa các
Client và Server dùng giao thức Secure Sockets Layer (SSL). Giao thức SSL được sử
dụng để mã hóa dữ liệu và xác thực người dùng trong SQL Server để đảm bảo tính toàn
vẹn và bí mật CSDL. SSL là kỹ thuật dùng để dò tìm các dữ liệu bị lặp, bị mất hoặc bị
thay đổi. Giao thức SSL được phát triển bởi Netscape, giao thức SSL đã được sử dụng
rộng rãi trên mạng Internet trong việc xác thực và mã hóa thông tin giữa máy trạm và máy
chủ. SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được chuẩn hóa
để thực hiện các nhiệm vụ bảo mật sau:
Xác thực máy chủ: Cho phép người sử dụng xác thực được máy chủ muốn kết
nối. Lúc này, phía trình duyệt sẽ sử dụng các kỹ thuật mã hóa khóa công khai
để chắc chắn rằng chứng chỉ và khóa công cộng của máy chủ là có giá trị đượccấp bởi một CA trong danh sách các CA đáng tin cậy của máy trạm.
Xác thực máy trạm: Cho phép phía máy chủ xác thực được người sử dụng
muốn kết nối. Phía máy chủ cũng sử dụng các kỹ thuật mã hóa khóa công khai
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 67/79
60
để kiểm tra xem chứng chỉ và khóa công cộng của máy trạm có giá trị hay
không và được cấp bởi một CA trong danh sách đáng tin cậy hay không.
Mã hóa kết nối: Tất cả các thông tin trao đổi giữa máy chủ và máy trạm được
mã hóa trên đường truyền nhằm nâng cao tính tin cậy.
Giao thức SSL hoạt động dựa trên hai nhóm giao thức con là giao thức “bắt tay” và
giao thức “bản ghi”. Giao thức bắt tay xác định các tham số giữa hai đối tượng có nhu cầu
trao đổi thông tin hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiến hành
mã hóa và truyền tin hai chiều giữa hai đối tượng đó. Giao thức SSL “bắt tay” sẽ sử dụng
SSL “bản ghi” để trao đổi một số thông tin giữa máy chủ và máy trạm vào lần đầu tiên
thiết lập để kết nối SSL. Một giao dịch SSL thường bắt đầu bởi quá trình “bắt tay” giữa
hai bên. Các bước trong quá trình “bắt tay” có thể như sau:
Bước 1: Máy trạm gửi cho máy chủ số phiên bản SSL đang dùng và tham số
của thuật toán mã hóa, dữ liệu được tạo ra ngẫu nhiên (chữ ký số) và một số
thông tin khác mà máy chủ cần thiết để kết nối với máy trạm.
Bước 2: Máy chủ gửi cho máy trạm số phiên bản SSL đang dùng, và các tham
số của thuật toán mã hóa, dữ liệu được tạo ra ngẫu nhiên và một số thông tin
khác mà máy trạm cần thiết để kết nối với máy chủ. Ngoài ra, máy chủ cũng
gửi chứng chỉ của nó đến máy trạm và yêu cầu chứng chỉ của máy trạm nếu
cần.
Bước 3: Máy trạm sử dụng một số thông tin mà máy chủ gửi đến để xác định
máy chủ. Nếu như máy chủ không được xác thực thì người sử dụng sẽ được
cảnh báo và kết nối không được thiết lập. Ngược lại thì thực hiện tiếp bước 4.
Bước 4: Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên,
máy trạm (cùng với sự cộng tác của máy chủ và phụ thuộc vào thuật toán được
sử dụng) sẽ tạo ra premaster secret cho phiên làm việc, mã hóa bằng khóa công
khai mà máy chủ gửi đến ở bước 2 và gửi đến máy chủ.
Bước 5: Nếu máy chủ có yêu cầu xác thực máy trạm, thì phía máy trạm phảiđánh dấu vào phần thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà
hai bên đều biết. Trong trường hợp này, máy trạm sẽ gửi cả thông tin được
đánh dấu và chứng chỉ của mình cùng với premaster secret đã được mã hóa tới
máy chủ.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 68/79
61
Bước 6: Máy chủ sẽ xác thực máy trạm. Trong trường hợp máy trạm không
được xác thực phiên làm việc sẽ bị ngắt. Ngược lại máy chủ sẽ sử dụng khóa
mật để giải mã premaster secret sau đó thực hiện một số bước để tạo ra master
secret.
Bước 7: Máy trạm và máy chủ sử dụng master secret để tạo khóa phiên, đâychính là các khóa đối xứng được sử dụng để mã hóa và giải mã các thông tin
trong phiên làm việc và kiểm tra tính toàn vẹn dữ liệu .
Bước 8: Máy trạm sẽ gửi một lời nhắn đến máy chủ thông báo rằng các t hông
điệp tiếp theo sẽ được mà hóa bằng khóa phiên. Sau đó nó gửi một lời nhắn đã
được mã hóa để thông báo rằng phía máy trạm đã kết thức giai “đoạn bắt” tay.
Bước 9: Máy chủ cũng gửi đến máy trạm một lời nhắn để thông báo rằng các
phiên làm việc tiếp theo sẽ được mã hóa bằng khóa phiên. Sau đó nó gửi một
lời nhắn đã được mã hóa để thông báo rằng máy chủ đã kết thúc giai đoạn bắt
tay.
Bước 10: Lúc này giai đoạn “bắt tay” đã hoàn thành và phiên làm việc SSL bắt
đầu. Cả hai máy trạm và máy chủ sẽ sử dụng các khóa phiên để mã hóa và giải
mã thông tin trao đổi giữa hai bên và kiểm tra tính toàn vẹn của dữ liệu.
Các thuật toán mã hóa xác thực mà SSL sử dụng bao gồm : DES, DSA, RC4, RSA,
SHA-1…
Ngoài ra còn có chuẩn X509 là một đề xuất của ITU (Internationa
Telecommunication Union) định nghĩa một framework về chứng thực. X509 hỗ trợ cả hai
mã là mã hóa khóa công khai và mã hóa khóa đối xứng. Ở đây các máy chủ phân tán bảo
trì CSDL thông tin của người dùng và xác định khung cho các dịch vụ xác thực. Thư mục
chứa các chứng nhận khóa công khai, khóa công khai của người sử dụng được ký bởi chủ
quyền chứng nhận. Để thống nhất dịch vụ, hệ thống cũng xác định các thủ tục xác thực,
sử dụng mã hóa khóa công khai và chữ ký điện tử. Các chứng nhận của X509 được phát
hành bởi chủ quyền chứng nhận CA như:
Số sổ duy nhất với CA xác định chứng nhận. Thuật toán xác định chữ ký.
Chu kỳ hiệu lực bắt đầu từ ngày nào và khi nào thì kết thúc.
Đối tượng của tên X500 là tên của người sở hữu.
Đối tượng thông tin khóa công khai như thuật toán, các tham số, khóa.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 69/79
62
Chữ ký hoặc Hash của các trường trong chứng nhận.
…..
Người sử dụng bất kỳ có thể trao đổi với CA để chứng nhận. Chỉ CA mới có thể sửa
chứng nhận. Vì không thể bị giả mạo nên chứng nhận có thể được đặt trong thư mục công
cộng. Nếu cả hai người sử dụng chia sẻ chung CA thì họ được giả thiết là biết khóa côngkhai của CA đó. Ngược lại các CA cần tạo nên sơ đồ phân cấp để trao đổi chứng nhận với
nhau. Sử dụng chứng nhận liên kết các thành viên của sơ đồ để có được chứng nhận của
các CA khác. Mỗi CA có thể gửi tiếp các chứng nhận của mình cho các Client và có thể
gửi lại chứng nhận của mình cho cha của nó. Mỗi Client tin tưởng các chứng nhận của
cha. Có thể kiểm chứng nhận bất kỳ của một CA cho người sử dụng bằng các CA trong
sơ đồ phân cấp. Giấy chứng nhận có chu kỳ sử dụng, có thể thu hồi trước thời hạn trong
những trường hợp cần thiết như khóa riêng của người sử dụng bị lộ, người dùng không
tiếp tục được chứng nhận bởi CA đó, giấy chứng nhận của CA bị làm hại. Nói chung CA
bảo trì danh sách các chứng nhận bị thu hồi. Người sử dụng có thể kiểm tra lại các chứng
nhận đã bị thu hồi. X509 bao gồm ba thủ tục xác thực tùy chọn: Xác thực một chiều, xác
thực hai chiều, xác thực ba chiều. Mọi thủ tục đều sử dụng các chữ ký khóa công khai.
Xác thực một chiều: Một chiều A -> B được sử dụng để thiết lập danh tính của
A và rằng mẫu tin là từ A, mẫu tin được được gửi cho B tính toàn vẹn và gốc
gác của mẫu tin. Mẫu tin có thể bao gồm cả nhãn thời gian, ký hiệu đặc trưng
của mẫu tin, danh tính của B và nó được ký bởi A. Có thể bao gồm một số
thông tin bổ sung cho B như khóa phiên.
Xác thực hai chiều: Hai mẫu tin A -> B và B -> A được thiết lập, ngoài mẫu tin
từ A đến B như trên còn có thêm việc xác thực danh tính của B và trả lời từ B,
trả lời này dành cho A, tính toàn vẹn và gốc gác của trả lời. Trả lời bao gồm cả
ký hiệu đặc trưng của mẫu tin từ A, cả nhãn thời gian và ký hiệu đặc trưng trả
lời từ B. Có thể bao gồm một số bổ sung cho A.
Xác thực ba chiều: Ba mẫu tin A -> B, B -> A và A -> B được thiết lập như
trên mà không có đồng hồ đồng bộ. Ngoài hai chiều như trên còn có trả lời lạitừ A đến B chứa bản sao ký hiệu đặc trưng của trả lời từ B nghĩa là các nhãn
thời gian mà không cần kiểm tra.
3.6.2.2. Bảo mật tại chỗ
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 70/79
63
Quá trình kết nối đến CSDL được thực hiện theo hai giai đoạn:
Giai đoạn kiểm tra kết nối: Khi người dùng cố gắng kết nối vào CSDL. Server
chấp nhận hoặc từ chối các kết nối cơ bản dựa trên việc nhận dạng người dùng.
Chỉ khi thông tin gửi đến Server là hợp lý thì Server mới chấp nhận, nếu k hông
Server cấm truy nhập. Khi những thông tin truy nhập là chính xác Server chấpnhận kết nối sau đó chuyển sang giai đoạn hai. Chờ đợi yêu cầu. Việc nhận
dạng người dùng dựa trên hai phần thông tin sau: Client host từ kết nối của
người dùng, username SQL Server của người dùng.
Bất kỳ ai kết nối vào SQL Server hệ thống đều đòi hỏi passwor d, password là công
cụ được thêm vào để xác nhận người dùng, username là tên của người dùng muốn kết nối,
hostname là tên máy kết nối.
Giai đoạn kiểm tra yêu cầu: Xảy ra mỗi khi người dùng thực hiện yêu cầu truy
vấn vào CSDL. Sau quá trình kết nối đã được thiết lập, mỗi dòng lệnh đều phải
đi qua tiến trình, điều này đảm bảo mọi người dùng đều bị giới hạn làm việc.
Mỗi khi yêu cầu được đưa ra SQL Server kiểm tra xem người dùng đã được
phân quyền ở mức độ user chưa. Nếu có người dùng được phép làm bất kỳ việc
gì trên CSDL của SQL Server, nếu không tìm thấy SQL Server kiểm tra tiếp
trong bảng db.
3.6.2.3. Biện pháp tác nghiệp
Để đảm bảo CSDL trong SQL Server an toàn ngoài các kỹ thuật bảo mật cụ thể,
chúng ta cũng nên quan tâm đến các biện pháp tác nghiệp sau:
Đòi hỏi tất cả người sử dụng CSDL của SQL Server phải có tài khoản.
Không cấp quyền processor hoặc Super cho người không phải là nhà quản trị.
Không cấp các đặc quyền file cho người không phải là nhà quản trị.
3.7. Xây dựng ứng dụng Dựa vào những kiến thức trong các phần trên, trong phần này chúng ta sẽ tập trung
xây dựng một ứng dụng nhỏ, ứng dụng này được viết bằng C#. Ở đây khóa luận demo
chương trình bảo mật tại chỗ bằng cách sử dụng hệ mã hóa AES.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 71/79
64
Giả sử chúng ta đã có một CSDL có tên là QLSINHVIEN trong CSDL này có một
bảng là :
SINHVIEN(
masv varchar(256) not null,
hoten varchar(256),lop varchar(256),
quequan varchar(256),
primary key(masv)
).
Ở đây số ký tự của các bảng này phải là 256 vì chúng ta sử dụng hàm băm SHA-1
256 bit để băm những thông tin. Khi sử dụng hàm băm thì tất cả những thông các thông
điệp có chiều dài bất kỳ đều có chiều dài là 256.
Chức năng chính của chương trình là bảo mật thông tin tại chỗ trong CSDL. Tức là
những thông tin trong cơ sở dữ liệu phải được mã hóa để những người không có quyền thì
không thể xem những thông tin nhạy cảm. Như vậy chương trình demo sẽ bao gồm các
chức năng sau:
Chèn dữ liệu vào bảng trong CSDL.
Hiển thị những thông tin đã mã hóa có trong CSDL.
Hiển thị những thông tin trong CSDL sau khi đã được giải mã.
Khi một người dùng muốn truy nhập vào hệ thống để thực hiện những tác vụ của
mình thì họ phải có tài khoản. Vì vậy, giao diện ban đầu được thiết kế để người dùng
nhập tài khoản và mật khẩu của họ. Nếu người dùng này không có tài khoản và mật khẩu
chính xác thì chương trình sẽ không hoạt động cho đến khi người dùng này nhập chính
xác tài khoản và mật khẩu.
Khi người dùng đã đăng nhập vào hệ thống thành công thì sẽ hiện ra giao diện như
hình 3.5.
3.7.1. Chèn dữ liệu vào bảng trong CSDL
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 72/79
65
Nếu người dùng muốn chèn thêm dữ liệu vào bảng CSDL thì họ phải nhập những
thông tin cần thiết vào các textBox. Chương trình sẽ lấy các thông tin từ các textBox do
người dùng nhập vào, sau đó dùng thuật toán AES để mã hóa những thông tin này. Quá
trình mã hóa được mô tả như sau:
Hình 3.4: Quá trình chèn dữ liệu vào CSDL.
Quá trình chèn dữ liệu gồm 3 giai đoạn:
Giai đoạn 1: Lấy dữ liệu do người dùng nhập vào từ các textBox.
Giai đoạn 2: Sử dụng thuật toán mã hóa AES để mã hóa dữ liệu vừa lấy với
khóa K. Giai đoạn 3: Lấy kết quả của quá trình mã hóa rồi chèn vào CSDL.
Vậy giao diện này gồm có 4 textBox dùng để nhập những thông tin cần thiết khi
người dùng thêm dữ liệu vào CSDL và có 4 button trong đó có 3 button dùng để khi ấn
chuột vào các button này chương trình sẽ thực hiện những chức năng tương ứng của
chương trình, button còn lại khi chúng ta ấn chuột vào button này thì sẽ thoát khỏi chương
trình.
3.7.2. Hiển thị những thông tin trong CSDL dƣới dạng bản mã
Để hiển thị những thông tin dưới dạng bản mã chúng ta phải kết nối đến CSDL.
Sau đó đổ những dữ liệu trong CSDL ra một dataGridView. Giao diện hiển thị bản mã
được thể hiện như sau:
Dữ liệu cần mã hóa
Thuật toán mã hóaAES
Khóa K
Bản mãhóa
CSDL
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 73/79
66
Hình 3.5: Giao diện dùng để hiển thị bản mã.
3.7.3. Hiển thị những thông tin trong CSDL sau khi đƣợc mã hóa
Để hiển thị những thông tin trong CSDL sau khi được mã hóa, chúng ta phải kết nối
đến CSDL để lấy ra từng trường trong CSDL. Sao đó kết hợp với khóa K để giải mã.
Hình 3.6: Quá trình hiển thị những thông tin trong CSDL sau khi giải mã.
Như vậy quá trình này gồm 3 bước sau:
Bản mã hóa củadữ liệu
Hiển thị bản rõ Thuật toán giảimã AES
Khóa K1
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 74/79
67
Giai đoạn 1: Lấy những thông tin dưới dạng bản mã trong CSDL.
Giai đoạn 2: Sử dụng thuật toán giải mã của AES để giải mã những thông tin
vừa lấy với khóa giải mã là khóa K1 mà người dùng nhập vào.
Giai đoạn 3: Lấy kết quả này hiển thị ra RichTextBox.
Vì thế giao diện của phần này gồm có 1 textBox để người dùng nhập khóa K 1 để
giải mã dữ liệu, một RichTextBox để hiển thị những thông tin sau khi đã được giải mã.
3.7.4. Giao diện ứng dụng và cách sử dụng
.
Hình 3.7: Giao diện để người dùng đăng nhập vào hệ thống.
Để đăng nhập vào hệ thống thì người dùng phải truy vấn đến CSDL. Ở đây chúng ta
sử dụng tài khoản là: sa và mật khẩu là: 123456. Giao diện này được mô tả như hình 3.7.
Hình 3.8 là form giao diện chính của chương trình, nó cho phép chúng ta có thể chèn
những thông tin vào CSDL. Những thông tin được nhập lên Server qua việc nhập dữ liệu
thông qua các Textbox. Khi chèn những thông tin này vào trong CSDL nếu thành công thì
sẽ đưa ra thông báo để cho người dùng biết.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 75/79
68
Hình 3.8: Giao diện chính của chương trình.
.
Hình 3.9: Giao diện khi chèn dữ liệu thành công
Giao diện khi hiển thị bản mã:
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 76/79
69
Hình 3.10: Giao diện khi hiển thị bản mã
Giao diện khi hiển thị bản rõ.
Nếu không nhập khóa thì hiện ra thông báo:
Hình 3.11: Giao diện thông báo khi người dùng không nhập khóa.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 77/79
70
Giao diện khi nhập chính xác khóa:
Hình 3.12: Giao diện khi người dùng nhập khóa chính xác.
Ở đây, khi nhập xong khóa, khóa sẽ được che đi để người hạn chế những người có thể
xem trộm thông tin khi người dùng đang nhập khóa. chúng ta ấn chuột vào button View
PlainText thì khóa sẽ được xóa để hạn chế những người có thể biết khóa. Và nếu muốn
cập nhật lại thì người dùng phải nhập lại khóa.
3.8. Kết luận
Chương ba đã đưa ra mô hình an toàn trong hệ thống CSDL, nêu lên các yếu tố dẫn
đến mất an toàn dữ liệu, thông qua đó đặt ra yêu cầu khi xây dựng một hệ thống CSDL an
toàn. Chương ba đưa ra các giải pháp để bảo mật CSDL đó là việc kết hợp giữa kỹ thuật
bảo vệ dữ liệu trên đường truyền không tin cây như Internet hay Intranet, bảo vệ CSDL
tại chỗ và các biện pháp tác nghiệp trong khi thao tác với CSDL. Chương ba cũng đưa ra
những nghiên cứu giải pháp bảo mật CSDL của SQL Server để thấy rõ việc áp dụng các
giải pháp bảo mật và ứng dụng lý thuyết mật mã để làm demo việc bảo mật CSDL trong
SQL Server.
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 78/79
71
KẾT LUẬN
Theo yêu cầu ban đầu đặt ra là nghiên cứu giải pháp bảo mật cơ sở dữ liệu SQL
Server cho đến giờ khóa luận đã đạt được những kết quả sau:
Khóa luận đã trình bày khái quát về cơ sở lý thuyết mật mã trong bảo mật cơ
sở dữ liệu các hệ mật mã phổ biến như hệ mật mã khóa đối xứng (AES), hệ
mật mã khóa công khai (RSA và Elgamal) cùng với hàm băm SHA-1.
Tổng quan về kiến trúc an toàn thông tin trong cơ sở dữ liệu . Trong đó đưa ra
phương pháp bảo mật cơ sở dữ liệu và trình bày các bước để thiết kế cơ sở dữ
liệu an toàn.
Áp dụng lý thuyết đã nghiên cứu ở trên khóa luận đề xuất giải pháp bảo mật cơ
sở dữ liệu SQL Server trong chương 3. Giải pháp bảo mật cơ sở dữ liệu đề xuất
nhằm giải quyết vấn đề bảo mật dữ liệu và xác thực thông tin trên đường truyền
không tin cậy và bảo mật cơ sở dữ liệu tại chỗ. Ngoài ra còn đưa thêm các
nguyên tắc chỉ đạo trong khi người dùng thực hiện các nhiệm vụ tác nghiệp để
khai thác dữ liệu. Khóa luận nghiên cứu, tìm hiểu giải pháp bảo mật trong SQL
Server để giải quyết vấn đề này. Cuối cùng là phần demo chương trình sử dụng
những lý thuyết mật mã để mã hóa thông tin.
Do thời gian và khả năng có hạn nên đề tài mới dừng lại ở mức nghiên cứu các giải
pháp an toàn CSDL, khóa luận chưa áp dụng các nghiên cứu để xây dựng chương trình
bảo mật cơ sở dữ liệu trong thực tế. Nếu có thời gian khóa luận sẽ đi sâu vào lập trình,
xây dựng các module phức tạp chương trình ứng dụng ngày càng hoàn thiện hơn.
Hƣớng phát triển của khóa luận:
Bảo mật trong CSDL được ứng dụng rất nhiều trong thực tế như: Thương mại điệntử, xây dựng các ứng dụng bảo mật tại chỗ trong các công ty, bảo mật thông tin trong môi
trường mạng…
5/11/2018 Bao Mat Trong SQL Server - slidepdf.com
http://slidepdf.com/reader/full/bao-mat-trong-sql-server 79/79
72
TÀI LIỆU THAM KHẢO
Tiếng Việt:
[1] Đỗ Trung Tuấn (2004) - Cơ sở dữ liệu, NXB Đại học Quốc Gia Hà Nội
[2] Phan Đình Diệu - Lý thuyết mật mã và an toàn thông tin(2005), NXB Đại học
Quốc Gia Hà Nội. [3] Trịnh Nhật Tiến – Giáo trình an toàn dư liệu
[4] http://quantrimang.com/
Tiếng anh:
[5] http://wikipedia.org/
[6] Silvana Castano, Maria Grazia Fugini, Giancarl Martella, Pierangela Samarati ,
Database Security(1994), Addison Wesley.
[7] Prentice Hall - Cryptography and Network Security Principles and Practice, 2nd
Edition.pdf.