Bao Mat Trong SQL Server

79
  ĐẠI HC QUC GIA HÀ NI  TRƢỜNG ĐẠI HC CÔNG NGH HOÀNG CHÍ HIU BO MT TRONG CƠ SDLIU SQL SERVER  KHOÁ LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Các hthng thông tin HÀ NI - 2010

Transcript of Bao Mat Trong SQL Server

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.