1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bảo mật cơ sở dữ liệu MySQL

57 1,4K 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 0,91 MB

Nội dung

5 DANH MỤC CÁC HÌNH VẼ Hình 1.1 Tương tác giữa trình ứng dụng và cơ sở dữ liệu Hình 1.2 Hệ thống kiểm soát truy nhập Hình 1.3 Kiểm soát truy nhập bắt buộc Hình 1.4 Kiểm soát truy nhập t

Trang 1

1

MỤC LỤC

LỜI CAM ĐOAN 3

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 4

DANH MỤC CÁC HÌNH VẼ 5

MỞ ĐẦU 6

Chương 1 - TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ LIỆU 8

1.1 Giới thiệu 8

1.2 Khái niệm cơ bản 8

1.2.1 Các thành phần của DBMS 9

1.2.2 Các mức mô tả dữ liệu 10

1.3 Vấn đề an toàn trong cơ sở dữ liệu 11

1.3.1 Các hiểm hoạ đối với an toàn cơ sở dữ liệu 11

1.3.2 Các yêu cầu bảo vệ cơ sở dữ liệu 12

1.4 Kiểm soát an toàn 13

1.4.1 Kiểm soát luồng 14

1.4.2 Kiểm soát suy diễn 14

1.4.3 Kiểm soát truy nhập 14

Chương 2 - CƠ SỞ LÝ THUYẾT MẬT MÃ TRONG BẢO MẬT CỞ SỞ DỮ LIỆU 16

2.1.Giới thiệu 16

2.2 Mã hóa bằng khóa bí mật 16

2.2.1 Cơ chế mã hóa khóa bí mật 17

2.3 Mã hóa bằng khóa công khai 19

2.3.1 Cơ chế mã hóa khóa công khai 20

2.4 Xác thực thông tin 23

2.5 Hàm băm 23

2.6 Chữ ký số 24

Trang 2

2

Chương 3 - NGHIÊN CỨU CÁC GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU

MYSQL 26

3.1 Giải pháp bảo mật cơ sở dữ liệu 26

3.1.1 Giới thiệu 26

3.1.2 Mô hình bảo mật CSDL 26

3.1.3 Các yếu tố mất an toàn 29

3.1.4 Yêu cầu đặt ra khi xây dựng một hệ thống an toàn 31

3.1.5 Giải pháp 31

3.2 Nghiên cứu giải pháp bảo mật CSDL trong hệ quản trị CSDL MySQL 39

3.2.1 Giới thiệu 39

3.2.2 Vấn đề bảo mật trong MySQL 39

3.2.3 Xây dựng ứng dụng 47

KẾT LUẬN 56

TÀI LIỆU THAM KHẢO 57

Trang 3

3

LỜI CAM ĐOAN

Tôi xin cam đoan những kết quả được trình bày trong luận văn là hoàn toàn trung

thực của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt Nam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước Nhà trường

TÁC GIẢ LUẬN VĂN

Nguyễn Xuân Trường

Trang 4

4

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

AES Advanced Encrypition Standard Chuẩn mã tiên tiến

CA Certificate Authority Chủ quyền chứng nhận

CSDL Database Cơ sở dữ liệu

DBMS Database Management Hệ quản trị cơ sở dữ liệu DDL Data Definition Language Ngôn ngữ định nghĩa dữ liệu DES Data Encript Standard Chuẩn mã hóa dữ liệu

DML Data Nanipulation Language Ngôn ngữ thao tác dữ liệu MAC Message Authentication Code Mã xác thực bản tin

QL Query Language Ngôn ngữ truy vấn

SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

Trang 5

5

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Tương tác giữa trình ứng dụng và cơ sở dữ liệu

Hình 1.2 Hệ thống kiểm soát truy nhập

Hình 1.3 Kiểm soát truy nhập bắt buộc

Hình 1.4 Kiểm soát truy nhập tuỳ ý

Hình 1.5 Thiết kế các quy tắc trao quyền

Hình 2.1 Mã hóa bằng khóa bí mật

Hình 2.2 Sơ đồ mã hóa AES

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

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

Hình 3.2 Dòng dữ liệu trao đổi giữa hai nút

Hình 3.3 Mô hình khai thác CSDL được bảo mật

Hình 3.4 Giao thức bắt tay của SSL

Hình 3.5 Mô hình bài toán ứng dụng một cấp

Hình 3.6 Form đăng nhập và xác thực user

Hình 3.7 Giao diện chọn chứng thư số của người đăng nhập

Hình 3.8 Dữ liệu rõ trên ứng dụng máy trạm chi nhánh

Hình 3.9 Thông tin user đã được mã hóa trong CSDL MySQL

Hình 3.10 Dữ liệu đã được mã hóa ở một số trường lưu trong máy chủ chi nhánh Hình 3.11 Thêm mới danh mục cán bộ

Hình 3.12 Sửa danh mục cán bộ

Hình 3.13 Mô hình bài toán ứng dụng hai cấp

Hình 3.14 Dữ liệu rõ trên ứng dụng máy trạm chi nhánh

Hình 3.15 Dữ liệu với một số trường đã được mã hóa lưu trong máy chủ trụ sở chính

Hình 3.16 Thông tin chứng thư số của người gửi

Trang 6

kỹ thuật tấn công ngày càng tin vi hiện đại thực hiện trên diện rộng với nhiều cách thức khác nhau Điều đó sẽ ảnh hưởng rất lớn đến quá trình hoạt động của tổ chức, doang nghiệp, website do đó ta cần phảo có biện pháp để bảo vệ toàn bộ cơ sở dữ liệu đó

Tính cấp thiết của đề tài

Hiện nay rất nhiều các đơn vị sử dụng hệ quản trị CSDL MySQL để tránh nguy cơ mất an toàn thông tin và bảo vệ dữ liệu của các đơn vị, doanh nghiệp, các website Do vậy cần tập trung nghiên cứu bảo mật cơ sở dữ liệu là rất cần thiết Chính vì nhận thấy nhiệm vụ bảo vệ dữ liệu quan trọng như trên và My SQL - là hệ

quản trị cơ sở dữ liệu rất phổ biến nên tôi đã chọn đề tài "Bảo mật Cơ sở dữ liệu

MySQL"

Mục đích của đề tài (các kết quả cần đạt được)

- Đề tài tìm hiểu các kỹ thuật và phương pháp để thực hiện nhiệm vụ bảo mật

và an toàn thông tin trong MySQL, quá trình thực hiện và các kiến thức khoa học và thuật toán liên quan như: Xác thực, bảo mật dữ liệu, mật mã, chữ ký số …

- Áp dụng các kết quả tìm hiểu để triển khai hệ thống bảo mật và an toàn thông tin trong MySQL

- Các vấn đề bảo mật, chứng thực trong MySQL, sử dụng chữ ký số, các kỹ thuật sử dụng, phương pháp kết hợp các hệ mật mã trong bảo mật

Trang 7

7

- Cài đặt thử nghiệm vấn đề về bảo mật và an toàn trong MySQL đã nghiên cứu

Phương pháp nghiên cứu

Nghiên cứu tài liệu, ứng dụng và công nghệ liên quan Tổng hợp các tài liệu

lý thuyết về bảo mật CSDL Xây dựng ứng dụng để bảo mật CSDL MySQL

Trang 8

8

Chương 1 - TỔNG QUAN VỀ AN TOÀN THÔNG TIN TRONG CƠ SỞ DỮ

LIỆU 1.1 Giới thiệu

An ninh cơ sở dữ liệu đã trở thành một vấn đề có tầm quan trọng toàn cầu, những kẻ xâm nhập tìm mọi con đường để đánh cắp dữ liệu Mặc dù chúng ta không bao giờ khẳng định an toàn 100%, chúng ta cần phải thực hiện mọi biện pháp

để giảm thiểu rủi ro và bảo vệ trước những kẻ xâm phạm, bởi vì tác động của một hành vi xâm phạm có thể là thảm họa ở nhiều mức độ khác nhau

Hướng triển khai nhiều lớp bảo mật trong môi trường cơ sở dữ liệu quan trọng là phương pháp hữu hiệu nhất để giảm thiểu nguy cơ xâm phạm dữ liệu Nếu nhiều lớp bảo mật được áp dụng cho một môi trường lưu trữ dữ liệu, khi đó những

kẻ xâm nhập sẽ có một thời gian khó khăn hơn khi truy cập dữ liệu Trong các môi trường đa lớp bảo mật, một kẻ xâm nhập đã có thể thỏa hiệp các lớp đầu tiên sẽ phải tìm cách vượt qua lớp thứ hai và thậm chí lớp ba để có được quyền truy cập, làm cho xâm nhập phức tạp và tốn thời gian

Để bảo mật môi trường lưu trữ dữ liệu cần có những lớp bảo vệ sau: bảo mật

cơ sở dữ liệu, bảo mật máy tính và an ninh mạng Để đảm bảo hiệu quả cơ sở dữ liệu, người ta phải bảo mật môi trường cơ sở dữ và bảo mật của các hệ cơ dữ liệu

đó

1.2 Khái niệm cơ bản

CSDL là tập hợp có tổ chức của các dữ liệu liên quan 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 và thiết kế pha logic, hai pha này dùng để mô tả cấu trúc 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ừng DBMS

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

Trang 9

9

phần mềm nhỏ chạy trên máy tính các nhân đến các hệ quản trị phức tạp chạy trên các siêu máy tính 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 là ngôn ngữ định nghĩa dữ liệu, hỗ trợ định nghĩa lược đồ CSDL logic

 DML là ngôn ngữ thao tác dữ liệu, được người dùng đặc biệt sử dụng, ví

dụ như nhà phát triển Bao gồm các cú pháp cập nhật, xóa, thêm thông tin

 QL 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

 Hỏi đáp cơ sở dữ liệu - QL

 Quản trị cơ sở dữ liệu - DBMS

Trang 10

10

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ừ trong CSDL rồi trả về kết qủa 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

Hình 1.1 Tương tác giữa trình ứng dụng và cơ sở dữ liệu 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 truy cập tới CSDL

1.2.2 Các mức mô tả dữ liệu

DBMS mô tả dữ liệu theo nhiều mức khác nhau Mỗi mức cung cấp một mức trừu tượng về cơ sở dữ liệu Trong DBMS có thể có các mức mô tả sau:

 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 đó

Vùng làm việc của các trình ứng dụng

Thủ tục của DBMS

Vùng làm việc của DBMS

Trang 11

11

 Tầng lược đồ dữ liệu logic: ở tầng này tất 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 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ư 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àm thay đổi các chương trình ứng dụng làm việc của 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 đó

1.3 Vấn đề an toàn trong cơ sở dữ liệu

1.3.1 Các hiểm hoạ đối với an toàn cơ sở dữ liệu

Hiểm họa đối với an ninh cơ sở dữ liệu là người truy cập trái phép vào CSDL nhằm sao chép, sửa đổi, khám phá thông tin Hiện nay hiểm họa hàng đầu đối với

an toàn cơ sở sữ liệu là:

 Lạm dụng quyền vượt mức: Người dùng sử dụng quyền vượt mức các yêu cầu trong chức năng công việc của mình

 Lạm dụng quyền hợp pháp: Người dùng sử dụng không dúng mục đích quyền của mình để thu thập dữ liệu

 Nâng cấp quyền bất hợp pháp: Kẻ tấn công thay đổi quyền truy nhập của người bình thường thành quyền truy nhập của một người quản trị

 Lợi dụng các điểm yếu của nền tảng: Các điểm yếu trên hệ điều hành, điểm yếu trong các dịch vụ được cài đặt máy chủ CSDL có thể dẫn tới truy nhập bất hợp pháp, hay từ chối dịch vụ

Trang 12

 Từ chối dịch vụ: Người dùng hợp pháp sẽ không thể truy cập được dữ liệu hay các ứng dụng trên mạng

 Lợi dụng sự sơ hở để khai thác phương tiện lưu trữ: do các phương tiện lưu trữ không thường xuyên được bảo vệ khỏi các tấn công dễ dẫn đến mất mát đĩa và băng sao lưu CSDL

1.3.2 Các yêu cầu bảo vệ cơ sở dữ liệu

Bảo vệ cơ sở dữ liệu khỏi các hiểm hoạ, có nghĩa là bảo vệ tài nguyên, đặc biệt là dữ liệu khỏi các thảm hoạ, hoặc truy nhập trái phép Các yêu cầu bảo vệ cơ

sở dữ liệu gồm:

 Bảo vệ chống truy cập trái phép: đây là một vấn đề được quan tâm chính 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 cậ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 khô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 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 chỉ rõ khả năng thu được thông tin bí mật

từ những dữ liệu đã được công khai Vấn đề suy diễn thường là mối đe dọa lớn của

cơ sở dữ liệu thống kê Người dùng sẽ bắt đầu tìm thông tin ẩn từ những dấu vết để lại trên thông tin đã được công khai

Trang 13

13

 Bảo vệ toàn vẹn CSDL: bảo vệ truy vấn lại sự truy cập trái phép bắt nguồn

từ các lỗi, virut, sự phá hoại hoặc các lỗi hệ thống DBMS dựa vào dạng bảo vẹn thông qua việc kiểm soát tính đúng đắn của hệ thống, các thủ tục sao lưu, phục hồi

dữ liệu, các thủ tục an toàn dữ liệu Để duy trì tính tương thích của CSDL, mỗi giao tác phải là một đơn vị tính toán tin cậy, tương thích

 Tính đúng đắn của các phép toán thực hiện trên dữ liệu: yêu cầu này đảm bảo tính tương thích logic của dữ liệu và các thao tác thực hiện đồng thời trên dữ liệu

 Tính toàn vẹn về mặt ngữ nghĩa của dữ liệu: yêu cầu đảm bảo tính tương thích logic của dữ liệu bị thay đổi, bằng cách kiểm tra dữ liệu có nằm trong khoảng giá trị cho phép hay không

 Dữ liệu có khả năng lưu vết và kiểm tra: là khả năng ghi lại mọi truy cập tới dữ liệu và dữ liệu có khả năng kiểm tra được nhằm đảm bảo tính toàn vẹn dữ liệu

 Xác thực người dùng: hệ thống phải có khả năng xác thực đối tượng người dùng, và quyền truy cập của người dùng tới dữ liệu, chỉ có người có quyền hợp pháp mới được truy cập tới dữ liệu

 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ọng đặt biệt trong các môi trường năng động, nhạy cảm như quân đội, 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

 Có nhiều cấp độ bảo vệ khác nhau: 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

 Giới hạn thông tin truyền nhằm tránh mất mát thông tin trên đường truyền

1.4 Kiểm soát an toàn

Có thể bảo vệ được cơ sở dữ liệu thông qua các phương pháp an toàn sau:

 Kiểm soát luồng

Trang 14

14

 Kiểm soát suy diễn

 Kiểm soát truy nhập

Với kiểm soát này chỉ những người có người dùng hợp pháp mới có thể hiểu được vì dữ liệu đã được mã hóa bằng khóa bí mật, để đảm bảo dữ liệu được bí mật

1.4.1 Kiểm soát luồng

Kiểm soát luồng là kiểm tra xem thông tin có trong một số đối tượng có đi vào các đối tượng có mức bảo vệ thấp hơn hay không Các kiểm soát luồng điều chỉnh phân bố luồng thông tin giữa các đối tượng có khả năng truy nhập Các chính sách kiểm soát luồng cần phải chỉ ra các luồng có thể được chấp nhận, hoặc phải điều chỉnh

1.4.2 Kiểm soát suy diễn

Kiểm soát suy diễn nhằm mục đích bảo vệ dữ liệu không bị khám phá gián tiếp

Các kênh suy diễn chính trong hệ thống là:

Truy nhập gián tiếp: từ dữ liệu được phép truy nhập để khám phá ra những

dữ liệu khác qua các câu hỏi truy vấn

Dữ liệu tương quan: Dữ liệu tương quan là một kênh suy diễn đặc trưng,

xảy ra khi dữ liệu có thể nhìn thấy được X và dữ liệu không thể nhìn thấy được Y kết nối với nhau mặt ngữ nghĩa Kết quả là có thể khám phá được thông tin về Y nhờ đọc X

Thiếu dữ liệu: Kênh thiếu dữ liệu là một kênh suy diễn mà qua đó, người

dùng có thể biết được sự tồn tại của một tập giá trị X

1.4.3 Kiểm soát truy nhập

Kiểm soát truy nhập trong các hệ thống thông tin là đảm bảo mọi truy nhập trực tiếp vào các đối tượng của hệ thống tuân theo các kiểu và các quy tắc đã được xác định trong chính sách bảo vệ Một hệ thống kiểm soát truy nhập (hình 1.2) bao gồm các chủ thể truy nhập vào đối tượng

Trang 15

Chương này nhằm giới thiệu một cách tổng quan về an toàn thông tin trong cơ

sở dữ liệu Chương đã đề cập tới các vấn đề:

 Khái niệm cơ bản về CSDL

 Vấn đề an toàn trong CSDL trong đó đã đưa ra được các nguy cơ, hiểm họa hiện nay đối với cơ sở dữ liệu và yêu cầu bảo vệ cơ sở dữ liệu

 Các phương pháp kiểm soát an toàn để bảo vệ CSDL

Các quy tắc truy nhập

Các thủ tục kiểm soát

Truy nhập bị

từ chối Truy nhập được phép

Sửa đổi yêu cầu

Các chính sách

an toàn

Yêu cầu

truy nhập

Trang 16

16

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

Có thể nói rằng, thời đại hiện nay là thời đại của công nghệ thông tin, trong

đó thông tin được lưu trữ các máy tính rất phổ biến, các thông tin này được trao đổi qua mạng internet và lưu trữ trong CSDL…, chính vì thế khả năng dữ liệu bị mất mát trên đường truyền, thay đổi, chỉnh sửa trái phép…là không thể tránh khỏi Do

đó đặt ra vấn đề đảm bảo tính bí mật, toàn vẹn của dữ liệu trên đường truyền hoặc trong các CSDL, mã hóa dữ liệu là phương pháp chính trong việc bảo vệ dữ liệu Thực chất, mã hóa là quá trình biến đổi thông tin ban đầu sang một dạng khác gọi là bản mã

Có nhiều phương pháp mã hóa đã được đưa ra dựa trên các giải thuật phức tạp, để tạo ra sự khó khăn cho những người nào đó muốn phá mật mã mà không cần được ai trao cho chìa khóa Nói việc tạo ra sự khó khăn là vì trên lý thuyết, không thể nói việc tìm ra khóa là không thể hoặc đến khi tìm ra khóa thì dữ liệu không còn giá trị nữa thì đó là một mức độ an toàn tốt

2.2 Mã hóa bằng khóa bí mật

Các hệ thống mã hóa bằng khóa bí mật còn được gọi là mã hóa bằng khóa riêng hay mã hóa bằng khóa đối xứng, mã hóa khóa đối xứng sử dụng duy nhất một khóa cho cả quá trình mã hóa lẫn giải mã

Một số thuật toán hiện đang được sử dụng rộng rãi hiện nay như: DES, Triple DES, RC6, Rijndael (AES)…

Quá trình mã hóa và giải mã bằng khóa bí mật được minh họa như hình sau:

Trang 17

Hệ mã hóa khóa bí mật không an toàn nếu khóa bị lộ với xác suất cao, trong

hệ này khóa phải được gửi đi trên kênh an toàn

Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ

mã hóa bí mật Người gửi và người nhận luôn phải thống nhất với nhau về khóa Việc thay đổi khóa là rất khó khăn và dễ bị lộ

2.2.1.2 Cơ chế mã hóa AES

AES là thuật toám mã hóa khối được chính phủ Hoa kỳ áp dụng làm chuẩn

mã hóa từ năm 2001 AES có thể 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ớ Nó sử dụng một kích thước

khối 128-bit và kích thước khóa 128, 192, hoặc 256 bit

Để mã hóa khối dữ liệu bằng AES thì đầu tiên, tiến hành thao tác:

 Add Round Key (thao tác XOR một khóa con với khối dữ liệu) Tiếp theo thì thực hiện một số vòng lặp chính, số vòng lặp chính trong Rijdael như sau:

Bản mã

hóa AES

Bản rõ Giải mã

Mã hóa

Khóa Bản mã

Trang 18

18

- Là 9 vòng nếu cả khối cùng mã hóa và khóa có cùng chiều dài là 128 bit

- Là 11 vòng nếu hoặc khối dữ liệu hay khóa là 192 bit và không có cái nào

có kích thước lớn hơn 192 bit

- Là 13 vòng nếu hoặc khối dữ liệu hay khóa có chiều dài là 256 bit Vòng lặp chính bao gồm những bước sau:

 SubByte (Substitution Byte): Mỗi byte của khối được thay thế bằng một giá trị khi qua một hộp S-box

 ShiftRow (Shift Rows): Là quá trình chuyển đổi các dòng

 MixColumn (Multiply Colunms): Thực hiện quá trình nhân ma trận, mỗi cột được nhân với một ma trận kích thước 4x4

 AddRoundKey (Xored By Key): Quá trình này chỉ là việc XOR khóa con

và cho kết quả của vòng hiện hành

Vòng cuối cùng chỉ thi hành việc chuyển đổi:

- SubByte

- ShiftRow

- AddRoundKey

2.2.1.3 Phân phối khóa bí mật

Vấn đề an toàn trong dùng khóa đối xứng là vấn đề rất quan trọng vì khóa yêu cầu giữ bí mật tuyệt đối, nếu khóa bị lộ coi như toàn bộ thông tin bị lộ An toàn trong dùng khóa đối xứng liên quan mật thiết tới vấn đề phân phối khóa Sơ đồ khóa đối xứng đòi hỏi cả hai đối tác chia sẻ khóa bí mật chung Dẫn đến việc phải phân phối khóa mật

Với hai đối tác A và B cần thực hiện chia sẻ thông tin thì có cách phân phối khóa bí mật như sau:

 A lựa chọn khóa bí mật và truyền cho B

 Đối tác thứ ba chọn khóa và phân phối cho A và B

Trang 19

19

 A và B có thể thống nhất dùng khóa trước để mã khóa mới

 A và B trao đổi với một đối tác thứ ba là C và C chuyển tiếp giữa A và B

Phân loại khóa: có hai loại chính là khóa phiên và khóa chính

- 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 cho một phiên logic sau đó bị hủy

- Khóa chính: là khóa dùng để mã hóa các khóa phiên chia sẻ giữa người dùng và trung tâm phân phối khóa

Đối với vấn đề phân phối khóa thì đối với các mạng lớn thì đòi hỏi cần một trung tâm phân phối khoá và trung tâm này tạo sự tin cậy giữa các đối tượng sử dụng khóa với trung tâm và giữa các trung tâm với nhau Thời gian sống của khóa phiên cần phải hạn chế cho an toàn và các khóa được phát sinh càng ngẫu nhiên càng tốt và hỗ trợ kiểm soát mục đích của bên dùng khóa

2.3 Mã hóa bằng khóa công khai

Mã hóa bằng khóa công khai hay còn được gọi là mã hóa khóa bất đối xứng hay mã hóa bằng khóa chung Hệ thống mã hóa bằng khóa công khai sử dụng hai khóa khác nhau để mã hóa và giải mã: một khóa dành cho người mã hóa thường được công khai và khóa còn lại dùng cho người giải mã và được giữ bí mật Như vậy thì hệ thống mã hóa sử dụng khóa công khai cần có một quá trình sinh ra hai khóa để mã hóa và giải mã thông điệp, và các khóa này được xem như một bộ đôi:

 Public-key (khóa công khai): Là khóa được phép công khai mà không phải chịu bất kỳ một rủi ro nào về an toàn, khóa này được dùng để mã hóa dữ liệu

 Private-key (khóa bí mật): Là khóa để giải mã và được giữ bí mật, mỗi một

dữ liệu được mã hóa bằng khóa công khai thì chỉ có thể giải mã được bằng một khóa bí mật thích hợp

Một số thuật toán mã hóa khóa công khai phổ biến như: RSA, Elgamal,… Quá trình mã hóa và giải mã bằng cách sử dụng khóa công khai được minh họa như hình sau:

Trang 20

20

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

2.3.1 Cơ chế mã hóa khóa công khai

2.3.1.1 Cơ chế mã hóa RSA

Thuật toán mã hóa RSA do ba nhà toán học là Ron Rivest, Adi Shamir và Len Adlerman tại đại học MIT cùng thực hiện vào năm 1977 và được công bố vào năm 1978 Thuật toán được đặt tên là RSA(Rivest - Shamir - Adlerman) được thiết

kế theo hệ mã hóa khóa công khai

Sự khác biệt cơ bản giữa một hệ mã hóa khóa bí mật với một hệ mã hóa khóa công khai đó là hệ mã hóa khóa công khai sử dụng hai khóa khác nhau để mã hóa

và giải mã Vì thế một bộ mã hóa khóa công khai gồm hai khóa, một khóa dành cho người mã hóa và thường được công khai, khóa còn lại dành cho người giải mã, được giữ bí mật Mặc dù hai khóa này thực hiện các thao tác ngược nhau và có liên quan đến nhau, nhưng phải làm thế nào đó để không thể suy ra khóa bí mật từ khóa công khai

Và để thực hiện được yêu cầu này, Rivest, Shamir và Adleman đã đưa ra phương pháp dựa trên nhận xét là có thể dễ dàng sinh ra hai số nguyên tố lớn và nhân chúng lại với nhau, nhưng rất khó khăn khi muốn phân tích thừa số cho tích của chúng

Các bước thực hiện của thuật toán RSA:

Khóa giải Bản mã

Khóa mã

Trang 21

21

Hình 2.3 Các bước thực hiện của thuật toán RSA

Vấn đề cốt lõi của thuật toán RSA là hai số nguyên tố p và q, hai số này cần phải được giữ bí mật tuyệt đối Mặt khác, có thể tính toán được khóa bí mật D nếu phân tích được n thành hai số nguyên tố p và q Nhưng điều này là không khả thi vì phải đối mặt với bài toán khó

Trang 22

22

Mã hóa: Bản tin gốc: P, bản mã: C=Pe(mod n)

Giải mã: Bản tin mã: C, bản giải mã: P=Cd(mod n)

Các hệ thống mã hóa khóa công khai khắc phục được nhược điểm phân phối khóa phải được giữ một cách an toàn Tuy nhiên thì khi công khai các khóa dùng để

mã hóa thì lại nảy sinh vấn đề một người nào đó giả danh sử dụng để mã hóa các thông báo gửi đến bên nhận làm cho họ không thể phân biệt được thông báo đó là hợp lệ hay không Và có nhiều phương pháp giải quyết được vấn đề này, điển hình

là chữ ký số

2.3.1.2 Phân phối khóa công khai

Các hệ mã công khai chúng ta đã biết yêu cầu mỗi người phải có một giá trị công khai Để phân phối các giá trị đó cho người dùng đảm bảo tính xác thực, ta có thể sử dụng một trong các kỹ thuật sau:

Phân phối điểm - điểm trên kênh truyền tin cậy: Khóa công khai của các bên thu được thông qua việc tra đổi trược tiếp với nhau trên mật kênh tin cậy Phương pháp này phù hợp với hệ thống không thường xuyên sử dụng hoặc hệ thống đóng và nhỏ

Truy nhập trực tiếp tới các tệp dùng chung: Sử dụng một cơ sở dữ liệu công khai lưu trữ tên và khóa công khai được xác thực mỗi người dùng hệ thống Truy cập từ xa trên những kênh truyền công cộng có thể tránh được những tấn công bị động, còn muốn chống lại những tấn công chủ động ta sử dụng những kênh truyền tin cậy

Sử dụng phục vụ ủy quyền trực tuyến: Một phục vụ tin cậy cho phép các truy nhập như khi truy nhập tới tệp dùng chung, khi các bên có nhu cầu khóa công khai,

nó sẽ được phục vụ gửi cho và chữ ký của phục vụ trên đó Mỗi người sử dụng đều

có thể kiểm thử được chữ ký của phục vụ đó

Sử dụng phục vụ ủy quyền ngoại tuyến và chứng chỉ: Phục vụ được gọi là

CA (ủy quyền chứng chỉ) Mỗi người sử dụng chỉ phải liên lạc với phục vụ một lần

để đăng ký khóa công khai của mình và nhận khóa kiểm thử chữ ký của CA CA sẽ

Trang 23

- Kiểm chứng danh tính nguồn gốc thông tin, tức là kiểm tra xem thông tin

có đúng là người gửi hay bị kẻ khác mạo danh

- Chống từ chối bản tin gốc, tức là bản thân thông tin có chứa định danh người gửi và không ai có thể làm việc đó

- Có thể bổ sung thêm việc bảo mật như mã hóa

Do đó để đáp ứng được những yêu cầu đó thì có ba cách mã hóa được lựa chọn là:

- Thông tin được mã hóa bằng khóa đối xứng hoặc công khai

- Sử dụng mã xác thực bản tin, dùng khóa với 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 nén thông tin thành dấu vân tay cho thông tin

Yêu cầu bảo mật thông tin khi truyền thông tin trên mạng bao gồm có: 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 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 của người khác để truyền tin, ngăn chặn việc nội dung thông tin bị cắn xén và sửa đổi, tránh việc thay đổi thứ tự bản tin truyền, chống chối cãi

2.5 Hàm băm

Hàm băm chính là một biến thể của mã xác thực thông điệp Với hàm băm, đầu vào là một thông điệp M có kích thước bất kỳ, nhưng đầu ra H(M) có kích thước cố định Mã băm chính là hàm của tất cả các bit trong một thông điệp, đồng

Trang 24

Các bước thực hiện để băm một thông điệp là:

Bước 1: Với một thông điệp có kích thước bất kỳ, bổ sung một số bit vào

thông điệp để sao cho độ dài của thông điệp khi đó là bội của một số cho trước Sau

đó chia nhỏ thông điệp ra thành các khối M1, M2,….Ms…

Bước 2: Với 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 như sau:

 H(0) là trạng thái ban đầu, khởi tạo

 Hi=f(Hi-1, Mi) với i=1,2…s

 Hs là thông điệp đã được rút gọn

2.6 Chữ ký số

Một chữ ký số là một cơ chế xác thực cho phép người tạo ra một thông điệp

để đính kèm một mã số hoạt động như một chữ ký Thông thường các chữ ký được

Trang 25

25

tạo thành bằng cách lấy các hash của thông điệp và mã hóa các tin nhắn với khóa riêng của người tạo ra nó Chữ ký đảm bảo nguồn gốc và tính toàn vẹn của thông điệp Chữ ký số dùng để hai thành viên bảo vệ lẫn nhau trong việc gửi thông điệp Chữ ký số 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ố:

 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ý

Quá trình thực hiện chữ ký số công khai: Chữ ký số khóa công khai dựa trên nền tảng mật mã khóa công khai Để có thể trao đổi thông tin trong môi trường này, mỗi người dùng có một căp khóa (khóa công khai và khóa bí mật) Khóa công khai được công bố rộng rãi, còn khóa bí mật được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa công khai

Quá trình gồm ba thuật toán: tạo khóa, tạo chữ ký số và kiểm tra chữ ký số

Kết luận

Trong chương này đã giới thiệu những kiến thức chung về mã hóa đối xứng,

mã hoá công khai và cơ chế mã hóa Nêu ra các vấn đề an toàn toàn trong dùng các

hệ mã, phân phối và sử dụng khóa Tìm hiểu về xác thực thông tin, kỹ thuật băm, chữ ký số và một số kỹ thuật cơ bản được sử dụng

Trang 26

26

Chương 3 - NGHIÊN CỨU CÁC GIẢI PHÁP BẢO MẬT CƠ SỞ DỮ LIỆU

MYSQL 3.1 Giải pháp bảo mật cơ sở dữ liệu

3.1.1 Giới thiệu

Áp dụng các 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 CSDL Chương 3 sẽ đề xuất giải pháp bảo mật cơ sở dữ liệu, nghiên cứu giải pháp và xây dựng ứng dụng bảo mật trong hệ CSDL MySQL

3.1.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ừ 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ấu trúc của hệ thống an toàn được mô tả Mô hình bảo mật hỗ trợ cho người phát triển đưa ra các định nghĩa ở cấp độ cao các yêu cầu 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 của 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 cập tới một đối tượng được kiểm tra trong bảng CSDL xem có thỏa mãn các quyền mà họ được cấp không Nếu truy cập của người dùng phù hợp với các quyền của họ thì họ được quyền tiếp tục truy cập vào hệ thống, nếu không hệ thống đưa ra thông báo từ chối truy cập Mô hình bảo vệ tùy chọn nhìn chung cho phép người dùng cấp quyền cho những người dùng khác để truy cập tới các đối tượng trong 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

Trang 27

27

thu hồi quyền truy cập của người sử dụng khác tới đối tượng mà họ tạo ra

 Đánh giá: Cho đến nay, truy cập thông tin vẫn dựa 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 cậ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 cậ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, 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ý việc 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ác thự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 cậ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 cập được kết hợp với các chủ thể và các đối tượng trong

hệ thống, thao tác truy cậ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 cập giữa lớp chủ thể và lớp đối tượng mà hệ thống đặt 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 Đối với những môi trường đòi hỏi linh động thì chính sách này là không phù hợp Hiện nay mô hình an toàn có thể được xây dựng từ sự tích hợp của chính sách tùy chọn và chính sách bắt buộc

Bên cạnh các 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:

Trang 28

28

 Mô hình phụ thuộc vào mục đích của hệ thống: Tùy thuộc vào mục tiêu của hệ thống, tài nguyên cần bảo vệ, cách điều khiển mà ta có các mô hình khác nhau 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á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 tính an toàn của hệ thống

 Đối tượng: đây là các thực thể bị động của hệ thống, chịu sự điều khiển truy cập của chủ thể Nó bao gồm các thông tin cần được bảo vệ từ việc truy cập hoặc các thay đổi bất hợp pháp trên đối tượng

 Mô hình truy cập: biểu diễn cách mà chủ thể truy cậ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ới CSDL

 Tập các quyền: là các quyền truy cập của chủ thể

 Quyền quản lý: đây chính là các quyền như: cấp phát, thu hồi, sở hữu, cấp quyền

Ngày đăng: 23/11/2016, 03:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bùi Văn Đài (2013), Nghiên cứu về bảo mật cơ sở dữ liệu SQL Server, Luận văn thạc sĩ, Học viện kỹ thuật quân sự Sách, tạp chí
Tiêu đề: Nghiên cứu về bảo mật cơ sở dữ liệu SQL Server
Tác giả: Bùi Văn Đài
Năm: 2013
2. Phạm Thị Ngọc Oanh (2009), Nghiên cứu giải pháp bảo mật cơ sở dữ liệu, Khóa luận tốt nghiệp, Đại học Quốc Gia Hà Nội Sách, tạp chí
Tiêu đề: Nghiên cứu giải pháp bảo mật cơ sở dữ liệu
Tác giả: Phạm Thị Ngọc Oanh
Năm: 2009
3. Đỗ Trung Tuấn (2004), Cơ sở dữ liệu, NXB Đại học Quốc Gia Hà Nội Sách, tạp chí
Tiêu đề: Cơ sở dữ liệu
Tác giả: Đỗ Trung Tuấn
Nhà XB: NXB Đại học Quốc Gia Hà Nội
Năm: 2004
4. Hồ Văn Hương, Hoàng Chiến Thắng (2013), Ký số và xác thực trên nền tảng web, Tạp chí An toàn thông tin, số 2 (026) Sách, tạp chí
Tiêu đề: Ký số và xác thực trên nền tảng web
Tác giả: Hồ Văn Hương, Hoàng Chiến Thắng
Năm: 2013
5. Hồ Văn Hương, Nguyễn Quốc Uy (2013), Giải pháp bảo mật cơ sở dữ liệu, Tạp chí An toàn thông tin, số 3(027) Sách, tạp chí
Tiêu đề: Giải pháp bảo mật cơ sở dữ liệu
Tác giả: Hồ Văn Hương, Nguyễn Quốc Uy
Năm: 2013
6. Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy (2013), Giải pháp bảo mật và xác thực thư điện tử, Tạp chí An toàn thông tin số 04 (028) Sách, tạp chí
Tiêu đề: Giải pháp bảo mật và xác thực thư điện tử
Tác giả: Hồ Văn Hương, Hoàng Chiến Thắng, Nguyễn Quốc Uy
Năm: 2013
7. Hồ Văn Hương, KS Nguyễn Quốc Uy (2014), Giải pháp bảo mật cơ sở dữ liệu ứng dụng mã nguồn mở, Tạp trí An toàn thông tin.Tài liệu tiếng anh Sách, tạp chí
Tiêu đề: Giải pháp bảo mật cơ sở dữ liệu ứng dụng mã nguồn mở
Tác giả: Hồ Văn Hương, KS Nguyễn Quốc Uy
Năm: 2014
9. William Stallings (2010), Cryptography and Network Security: Principles and practice, Prentice Hall Sách, tạp chí
Tiêu đề: Cryptography and Network Security: Principles and practice
Tác giả: William Stallings
Năm: 2010
10. Wrox Author Team, MySQL Security Handbook (Handbook Series) [Illustrated] [Paperback] Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w