Hiểm họa đối với máy tính được định nghĩa như một sự cố tiềm tàng có ác ý, có thể tác động không mong muốn lên các tài sản, tài nguyên gắn liền với hệ thống máy tính đó.. Sự an ninh đạt
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan : Luận văn “Nghiên cứu một số mô hình đảm bảo an ninh cơ
sở dữ liệu và thử nghiệm ứng dụng” là công trình nghiên cứu khoa học, độc lập của tôi
Đây là đề tài của luận văn Thạc sỹ ngành công nghệ thông tin Kết quả nghiên cứu được trình bày trong luận văn này chưa từng được công bố dưới bất kỳ hình thức nào
Hà Nội, ngày 28 tháng 05 năm 2010
Tác giả luận văn
Lê Thị Sinh
Trang 2MỤC LỤC
LỜI CAM ĐOAN 1
DANH MỤC CÁC HÌNH VẼ 5
DANH MỤC CÁC BẢNG BIỂU 5
BẢNG CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT 6
LỜI NÓI ĐẦU 7
Chương 1 TỔNG QUAN VỀ AN NINH HỆ THỐNG THÔNG TIN 9
1.1 VẤN ĐỀ AN NINH CƠ SỞ DỮ LIỆU 9
1.1.1 Khái niệm Cơ sở dữ liệu 9
1.1.1.1 Cơ sở dữ liệu và mô hình Cơ sở dữ liệu 9
1.1.1.2 Cơ sở dữ liệu dạng quan hệ 10
1.1.2 Vấn đề bảo vệ Cơ sở dữ liệu 10
1.1.2.1 Những hiểm họa đối với Cơ sở dữ liệu 10
1.1.2.2 Những yêu cầu bảo vệ Cơ sở dữ liệu 11
1.1.2.3 Các phương pháp bảo vệ Cơ sở dữ liệu 12
1.2 VẤN ĐỀ AN NINH MẠNG MÁY TÍNH 17
1.2.1 Khái niệm Mạng máy tính 17
1.2.2 Vấn đề bảo vệ Mạng máy tính 18
1.2.2.1 Những hiểm họa đối với Mạng máy tính 18
1.2.2.2 Những yêu cầu bảo vệ Mạng máy tính 19
1.3 VẤN ĐỀ AN NINH HỆ ĐIỀU HÀNH [4]-[7] 21
1.3.1 Khái niệm Hệ điều hành 21
1.3.2 Vấn đề bảo vệ Hệ điều hành 23
1.3.2.1 Những hiểm họa đối với Hệ điều hành 23
1.3.2.2 Những yêu cầu bảo vệ Hệ điều hành 23
1.3.2.3 Các phương pháp bảo vệ Hệ điều hành 23
1.4 VẤN ĐỀ BẢO VỆ DỮ LIỆU 27
1.4.1 Khái niệm dữ liệu 27
1.4.2 Vấn đề bảo vệ dữ liệu trong CSDL 27
1.4.2.1 Những hiểm họa đối với dữ liệu trong CSDL 27
1.4.2.2 Những yêu cầu bảo vệ dữ liệu trong CSDL 27
1.4.2.3 Các phương pháp bảo vệ dữ liệu trong CSDL 27
Chương 2 MỘT SỐ NHIỆM VỤ VÀ PHƯƠNG PHÁP BẢO VỆ DỮ LIỆU .28 2.1 BẢO MẬT DỮ LIỆU 28
2.1.1 Bảo mật dữ liệu bằng hệ mật mã 28
2.1.2 Một số hệ mật mã dữ liệu [2] 28
2.1.3 Hệ mật mã chuẩn DES (Data Encryption Standard) [6] 29
2.2 BẢO TOÀN DỮ LIỆU [2] 35
2.2.1 Bảo toàn dữ liệu bằng chữ ký số 35
2.2.2 Bảo toàn dữ liệu bằng hàm băm 35
2.3 XÁC THỰC DỮ LIỆU [6] 36
2.3.1 Xác thực dữ liệu bằng chữ ký số 36
2.3.2 Một số phương pháp ký số 36
2.3.3 Sơ đồ chữ ký số RSA 37
Trang 3Chương 3 MỘT SỐ MÔ HÌNH AN NINH CSDL [7] 39
3.1 TỔNG QUAN VỀ MÔ HÌNH AN NINH CSDL 39
3.2 MÔ HÌNH MA TRẬN TRUY CẬP HARRISON–RUZZO–ULLMAN (HRU) 41
3.2.1 Trạng thái cấp quyền (Authorization State) 41
3.2.2 Các kiểu truy cập (Access Modes) 43
3.2.3 Các phép toán (Operations) 43
3.2.4 Các câu lệnh (Commands) 46
3.2.5 Ủy quyền 49
3.2.6 Thực thi của mô hình ma trận truy cập (Model Implementation) 50
3.2.7 Mở rộng mô hình: 50
3.3 MÔ HÌNH TAKE - GRANT 52
3.3.1 Trạng thái ủy quyền (Authorization State) 52
3.3.2 Các kiểu truy cập (Access Modes) 53
3.3.3 Các phép toán (Operations and Transfer to privileges) 54
3.3.4 Mở rộng của mô hình 57
3.4 MÔ HÌNH ACTEN (ACTION – ENTITY MODEL) 59
3.4.1 Các kiểu truy cập 59
3.4.1.1 Kiểu truy cập Static 59
3.4.1.2 Kiểu truy cập Dynamic 59
3.4.2 Việc cấp quyền (Authorizations) 61
3.4.3 Sự phân lớp thực thể (Entity classification) 62
3.4.4 Các cấu trúc của mô hình (Model structures) 62
3.4.5 Luật biến đổi và luật kiên định 64
3.5 MÔ HÌNH WOOD ET AL 68
3.5.1 Kiến trúc ANSI/SPARC 68
3.5.2 Chủ thể và đối tượng 69
3.5.3 Kiểu truy nhập 70
3.5.4 Hàm ánh xạ (Mapping function) 71
3.5.5 Trạng thái cấp quyền (Authorization state) 71
3.5.6 Các luật truy nhập ở mức khái niệm 73
3.5.7 Các luật truy nhập ở mức ngoài 74
3.5.8 Kiểm soát truy cập 75
3.6 THẢO LUẬN VỀ MÔ HÌNH TỰ QUYẾT 77
3.7 MÔ HÌNH SEA VIEW 79
3.7.1 Mô hình MAC (Mandatory Access Control) 79
3.7.2 Mô hình TCB (Trusted Computing Base) 81
3.7.2.1 Quan hệ đa mức 81
3.7.2.2 Truy nhập tới quan hệ đa mức 85
3.7.2.3 Chính sách “an ninh thận trọng” 86
3.7.2.4 Kiểm soát truy nhập “thận trọng” 87
3.7.2.5 Quản trị cấp quyền 87
3.7.3 Mô tả về quan hệ đa mức 87
3.8 MÔ HÌNH JAJODIA VÀ SANDHU 88
Trang 43.8.1 Quan hệ đa mức 88
3.8.1.1 Các đặc trưng 88
3.8.1.2 Truy cập vào mô hình đa mức 90
3.8.2 Mở rộng của mô hình 90
3.9 MÔ HÌNH SMITH AND WINSLELT 92
3.9.1 Các đặc trưng cơ bản 92
3.9.2 Truy nhập tới quan hệ đa mức 94
Chương 4 THỬ NGHIỆM ỨNG DỤNG 101
4.1 GIỚI THIỆU HỆ THỐNG QUẢN LÝ ĐÀO TẠO 101
4.2 ÁP DỤNG MÔ HÌNH AN NINH MA TRẬN TRUY NHẬP 102
4.2.1 Chủ thể và các quyền truy cập 102
4.2.3 Tập các kiểu truy cập 103
4.3 ÁP DỤNG PHƯƠNG PHÁP MÃ HOÁ DỮ LIỆU 106
4.3.1 Bảo vệ chương trình quản lý 106
4.3.2 Bảo vệ dữ liệu bằng phương pháp mã hoá 106
KẾT LUẬN 107
TÀI LIỆU THAM KHẢO 108
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Thông tin có thể rò rỉ trên kênh truyền từ X sang Y 12
Hình 3.7 Kiến trúc cơ sở dữ liệu 3 mức ANSI/SPARC 63Hình 3.8 Mối quan hệ giữa các luật tại các mức khác nhau 67Hình 3.9 Minh họa một kiểu tấn công Trojan Hourse 71
DANH MỤC CÁC BẢNG BIỂU
Bảng 3.4 Các phép toán trong mô hình Take -Grant 45
Trang 6Tên bảng Trang
Bảng 3.10 Ví dụ về một quan hệ đa mức EMPLOYEE 85Bảng 3.11 Giải thích ở các mức khác nhau của quan hệ EMPLOYEE 86Bảng 3.12 Quan hệ đa mức EMPLOYEE sau khi chèn 88Bảng 3.13 Ví dụ 1 về update trong quan hệ đa mức 89Bảng 3.14 Ví dụ 2 về update trong quan hệ đa mức 89
BẢNG CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT
CNTT Information Technology Công nghệ thông tin
DAC Dicretionary Access Control
Models Mô hình điều khiênt truy nhập tự quyết
MAC Mandatory Access Control
Models
Mô hình bắt buộc
TCB Trusted Computing Base Cơ sở tính toán tin cậy
AC Access Constraint table Bảng truy nhập bắt buộc
ACL Access Control List Danh sách điều khiển truy cập
Trang 7LỜI NÓI ĐẦU
Hiện nay, ngành Công nghệ thông tin đã có những phát triển vượt bậc Sự phát triển này đã đem lại sự thay đổi to lớn về mọi mặt trong nền kinh tế cũng như xã hội
Từ các văn bản đơn giản, các dữ liệu quan trọng cho đến các công trình nghiên cứu đều được tổ chức và lưu trữ trên máy Đặc biệt khi mạng Internet và các mạng cục bộ phát triển, các dữ liệu không chỉ được tổ chức và lưu trữ trên các máy đơn lẻ mà chúng còn được trao đổi, truyền thông qua hệ thống mạng một cách nhanh chóng, dễ dàng Việc kết nối máy tính vào mạng hết sức đơn giản, nhưng lợi ích từ việc sử dụng mạng để chia sẻ tài nguyên giữa những người sử dụng lại hết sức to lớn Mạng máy tính hiện nay đã là công cụ không thể thiếu được trong hầu hết các hoạt động của con người như giải trí, giáo dục, kinh doanh, bảo hiểm, ngân hàng,…
Tuy nhiên, lại phát sinh một vấn đề mới là các thông tin quan trọng nằm trong kho dữ liệu hoặc đang trên đường truyền có thể bị ăn cắp, có thể bị làm sai lệch hoặc giả mạo Điều đó làm ảnh hưởng không nhỏ đến các tổ chức, các công ty hay cả một quốc gia Để giải quyết vấn đề trên, các nhà nghiên cứu đã bắt tay vào nghiên cứu và xây dựng các mô hình nhằm đảm bảo an toàn và bảo mật thông tin Hiện nay đã có một số lý luận, khái niệm và một số mô hình về an toàn bảo mật thông tin, an ninh cơ
sở dữ liệu (CSDL), an ninh hệ điều hành được đưa ra Các phần mềm ứng dụng cũng
đã được phát triển và cung cấp môi trường giúp người lập trình có thể khắc phục, hạn chế các chỗ hổng trong việc quản lý CSDL
Thông tin trong máy tính hoặc trên đường truyền cần đảm bảo ba yêu cầu cơ bản là:
- Yêu cầu bí mật: Thông tin không bị lộ cho những người không có trách nhiệm
- Yêu cầu toàn vẹn: Thông tin không bị thay đổi trong quá trình sử dụng
- Yêu cầu sẵn sàng: Cung cấp kịp thời, đáp ứng yêu cầu của người sử dụng.Khi kho dữ liệu ngày càng nhiều và việc truyền tin trên mạng ngày càng gia tăng, phổ biến thì hiểm họa đối với máy tính ngày càng nguy hiểm Hiểm họa đối với máy tính được định nghĩa như một sự cố tiềm tàng có ác ý, có thể tác động không mong muốn lên các tài sản, tài nguyên gắn liền với hệ thống máy tính đó Các nhà nghiên cứu đã chia hiểm họa thành ba dạng khác nhau: lộ tin, xâm phạm tính toàn vẹn và từ chối dịch vụ
Trong môi trường CSDL, những ứng dụng và người dùng khác nhau cùng khai thác dữ liệu thông qua hệ quản trị CSDL Qua quá trình khai thác dữ liệu có thể mâu thuẫn nhau Khi đó những hiểm họa trở lên nghiêm trọng hơn vì các hiểm họa này phát sinh trong môi trường CSDL
Trang 8Sự an ninh đạt được trong môi trường CSDL có nghĩa là nhận ra các hiểm họa, lựa chọn đúng đắn cách và cơ chế giải quyết các hiểm hoạ đó.
Bảo vệ CSDL tránh khỏi các hiểm họa có nghĩa là bảo vệ tài nguyên lưu trữ dữ liệu chi tiết Việc bảo vệ CSDL có thể đạt được thông qua các biện pháp an ninh như: kiểm soát lưu lượng, kiểm soát suy diễn, kiểm soát truy nhập Cùng với nó, kỹ thuật mật mã có thể được sử dụng để lưu trữ dữ liệu dưới dạng mã hóa với khóa bí mật, bí mật về thông tin được bảo đảm, vì dữ liệu mọi người có thể nhìn thấy nhưng chỉ người dùng có khóa hợp lệ mới có khả năng hiểu An ninh và bảo mật CSDL dựa trên các vấn đề về an ninh và bảo mật máy tính (phần cứng), hệ điều hành, hệ quản trị CSDL,
mã hóa Các hiểm họa đe dọa sự an toàn CSDL hầu hết bắt nguồn từ bên ngoài hệ thống
Phạm vi luận văn đề cập đến vấn đề về an toàn thông tin dựa trên một số mô hình
về an ninh CSDL điển hình như mô hình ma trận truy cập, mô hình Take Grant, mô hình Acten… Từ đó áp dụng xây dựng chương trình ứng dụng để đảm bảo an toàn CSDL trong phạm vi chương trình
Luận văn gồm bốn chương
Chương 1 Tổng quan về an ninh hệ thống thông tin: chương này giới thiệu
một số khái niệm chung về CSDL, an ninh CSDL, an ninh mạng máy tính, an ninh hệ điều hành và một số vấn đề về bảo vệ dữ liệu
Chương 2 Một số phương pháp bảo vệ dữ liệu: chương này giới thiệu một số
phương pháp bảo vệ dữ liệu như bảo mật, bảo toàn và xác thực dữ liệu
Chương 3 Một số mô hình đảm bảo an ninh CSDL: Chương này giới thiệu
một số mô hình về an ninh CSDL điển hình như mô hình ma trận truy cập, mô hình Take Grant, mô hình Acten, Wood at al, Sea View, Jajodia and Sandhu, Smith and Winslelt
Chương 4 Thử nghiệm ứng dụng: Chương này giới thiệu phần mềm ứng dụng
quản lý đào tạo của trường Cao đẳng Kinh Tế - Kỹ Thuật Hải Dương trong khuôn khổ một mô hình đảm bảo an ninh CSDL
Để hoàn thành luận văn này, trước hết tôi xin chân thành cảm ơn PGS.TS Trịnh Nhật Tiến - người đã trực tiếp hướng dẫn, cung cấp tài liệu và có nhiều
ý kiến đóng góp cho luận văn Tôi cũng xin chân thành cảm ơn các thày cô giáo, cán
bộ khoa Công nghệ thông tin, phòng Sau đại học, Trường Đại học công nghệ (ĐHQG Hà nội) đã tận tình giảng dậy, giúp đỡ tôi trong suốt khóa học Cuối cùng tôi xin chân thành cảm ơn lãnh đạo Trường Cao đẳng Kinh tế - Kỹ thuật Hải Dương, các đồng nghiệp và gia đình đã tạo điều kiện giúp đỡ về vật chất cũng như tinh thần để tôi hoàn thành luận văn này
Trang 9Chương 1 TỔNG QUAN VỀ AN NINH HỆ THỐNG THÔNG TIN
1.1 VẤN ĐỀ AN NINH CƠ SỞ DỮ LIỆU
Với sự phát triển ngày càng cao của công nghệ máy tính thì yêu cầu thao tác và
xử lý thông tin với khối lượng lớn trong một thời gian ngắn là hết sức cần thiết Vì vậy các dữ liệu đó phải được tổ chức và lưu trữ một cách hợp lý trên máy tính, đáp ứng mọi yêu cầu khai thác thông tin của nhiều người dùng hợp pháp Với khối lượng lớn
dữ liệu được lưu nên giá trị của dữ liệu lưu trữ trong máy tính thường rất lớn so với hệ thống chứa nó, vì vậy việc đảm bảo an toàn cho dữ liệu là hết sức quan trọng
Ở góc độ HĐH mà xem xét, hệ thống quản lý CSDL chỉ là một chương trình ứng dụng loại lớn Chính sách an ninh của hệ thống CSDL một phần là do HĐH thực hiện, phần khác là do giải pháp an toàn của bản thân hệ thống CSDL
Ở góc độ an toàn và bảo mật CSDL mà xem xét, thì đặc điểm cơ bản của hệ thống CSDL có thể khái quát như sau:
- Yêu cầu bảo vệ thông tin trong CSDL tương đối nhiều, yêu cầu bảo vệ thông tin ngày càng cao
- Thời gian tồn tại CSDL là tương đối dài
- Sự an toàn CSDL có liên quan đến an toàn thông tin ở nhiều mức độ khác nhau
Từ các góc độ trên ta thấy hệ thống CSDL sẽ phải đối phó với nhiều hiểm họa.Các nhà khoa học đã định nghĩa hiểm họa đối với một hệ thống máy tính như một sự cố tiềm tàng có ác ý, có thể tác động không mong muốn lên các tài sản, tài nguyên gắn liền với hệ thống máy tính đó Hiểm họa được chia thành ba dạng cơ bản như sau [3]:
- Hiểm họa lộ tin: Thông tin được lưu dữ trong máy tính hoặc trên đường truyền
bị lộ cho người không có trách nhiệm Đây là một hiểm họa được quan tâm rất lớn trong an toàn thông tin
- Hiểm họa xâm phạm tính toàn vẹn: Thông tin bị sửa đổi trái phép trong quá trình sử dụng
- Hiểm họa từ chối dịch vụ: Ngăn cản người dùng hợp pháp truy cập dữ liệu và
sử dụng tài nguyên
1.1.1 Khái niệm Cơ sở dữ liệu
1.1.1.1 Cơ sở dữ liệu và mô hình Cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) là tập hợp các dữ liệu, và tập hợp các quy tắc tổ chức dữ liệu chỉ và mối quan hệ giữa chúng Thông qua các quy tắc này, người sử dụng xác định khuôn dạng logic cho dữ liệu Người quản trị CSDL là người xác định các quy tắc tổ chức và kiểm soát, cấp quyền truy cập đến các thành phần của dữ liệu Người dùng tương tác với CSDL thông qua hệ quản trị CSDL
Trang 10Mô hình CSDL là sự biểu diễn các đối tượng trong thế giới thực dưới dạng một quan niệm nào đó Nó gồm tập hợp các khái niệm biểu diễn cấu trúc của CSDL như: các kiểu dữ liệu, các mối liên kết, các ràng buộc dữ liệu, các thao tác trên CSDL, cách thức bảo vệ CSDL,…
1.1.1.2 Cơ sở dữ liệu dạng quan hệ
CSDL dạng quan hệ được xây dựng trên nền tảng là khái niệm lý thuyết tập hợp trên các quan hệ CSDL dạng quan hệ được lưu trữ như sau: mỗi quan hệ tương ứng với một bảng dữ liệu, mỗi dòng trong bảng tương ứng với một bản ghi (một mẩu tin hay một bộ dữ liệu) cần quản lý, mỗi cột (trường) lưu trữ một thuộc tính nào đó của đối tượng
Mô hình dữ liệu quan hệ là mô hình được nghiên cứu và sử dụng nhiều nhất bởi
nó có cơ sở lý thuyết đầy đủ nhất
Đảm bảo an ninh trong CSDL dạng quan hệ chính là việc đảm bảo an ninh cho các bảng, các cột và các dòng dữ liệu cơ sở
1.1.2 Vấn đề bảo vệ Cơ sở dữ liệu
1.1.2.1 Những hiểm họa đối với Cơ sở dữ liệu
Trong CSDL, hiểm họa được hiểu là những tác nhân không thân thiện (cố ý hay
vô ý) sử dụng kỹ thuật đặc biệt để làm lộ tin hay sửa đổi thông tin do hệ thống quản lý
Sự xâm phạm tới an ninh CSDL bao gồm việc xem trộm, sửa chữa hoặc xóa dữ liệu Hậu quả của sự xâm phạm là các hiểm họa, các hiểm họa được chia thành ba nhóm sau:
- Lộ tin: Người dùng không hợp pháp truy cập CSDL để xem dữ liệu, hay lấy tin
mật bằng cách suy diễn từ các thông tin được phép
- Sửa chữa dữ liệu không hợp pháp: Người dùng không hợp pháp xâm phạm tính
toàn vẹn của dữ liệu trong CSDL
- Từ chối dịch vụ: Ngăn cản người dùng hợp pháp truy nhập dữ liệu hay sử dụng
tài nguyên trong CSDL
Hiểm họa cũng được phân loại theo hai cách sau:
- Hiểm họa không cố ý: là các rủi ro về thiên tai như động đất, hỏa hoạn, lụt; các
thiếu sót kỹ thuật trong phần cứng, phần mềm; sự xâm phạm không cố ý của con người Tất cả những điều đó có thể tác động đến hệ thống và dữ liệu
- Hiểm họa cố ý: là do người dùng cố tình gây ra Người dùng lạm dụng đặc
quyền và ủy quyền của mình để gây lên các hiểm họa hay hành động thù địch bằng việc tạo ra virut, trojan horse hay “cửa sập” để lấy cắp thông tin với mục đích gian lận
Trang 111.1.2.2 Những yêu cầu bảo vệ Cơ sở dữ liệu
Bảo vệ CSDL tránh khỏi các hiểm họa có nghĩa là bảo vệ tài nguyên lưu trữ dữ liệu, tránh khỏi việc cập nhật dữ liệu không hợp pháp (một cách vô tình hay cố ý) Những yêu cầu về bảo vệ CSDL bao gồm:
* Yêu cầu bí mật:
- Bảo vệ tránh những truy nhập không được phép: Chỉ cho phép người dùng hợp
pháp truy nhập đến CSDL Các truy nhập phải được hệ quản trị CSDL kiểm soát để chống lại những người dùng hoặc các ứng dụng không được phép
- Bảo vệ tránh suy diễn: Suy diễn là khả năng thu được thông tin bí mật từ những
dữ liệu không bí mật, được hình thành từ việc thống kê Do đó người dùng phải ngăn ngừa việc truy tìm tới các thông tin cá nhân bắt đầu từ việc thống kê thu thập thông tin
* Yêu cầu toàn vẹn:
- Toàn vẹn của CSDL: Bảo vệ CSDL tránh các truy nhập không được phép, từ đó
có thể thay đổi nội dung dữ liệu Việc bảo vệ CSDL, một mặt thông qua hệ thống kiểm soát chính xác, thông qua các thủ tục sao lưu và phục hồi khác nhau của hệ quản trị CSDL, mặt khác thông qua thủ tục an ninh đặc biệt
- Toàn vẹn hoạt động của dữ liệu: Bảo đảm tính ổn định về logic của dữ liệu
trong CSDL khi xảy ra tranh chấp
- Toàn vẹn ngữ nghĩa của dữ liệu: Bảo đảm tính ổn định logic của việc chỉnh sửa
dữ liệu như sự toàn vẹn bắt buộc
- Kế toán và kiểm toán: Khả năng ghi lại tất cả các truy nhập tới dữ liệu Đây là
công cụ được dùng để bảo đảm tính toàn vẹn dữ liệu về mặt vật lý
- Quản lý và bảo vệ các dữ liệu nhạy cảm: CSDL có thể chứa các dữ liệu nhạy
cảm (ví dụ CSDL Quân sự), một số CSDL khác lại công khai (ví dụ CSDL Thư viện) Với CSDL pha trộn bao gồm cả dữ liệu nhạy cảm và dữ liệu công khai, thì vấn đề bảo
vệ phức tạp hơn nhiều
- Bảo vệ đa mức: Thiết lập các yêu cầu bảo vệ, thông tin có thể được phân thành
các mức khác nhau, ở đó mức nhạy cảm có thể khác biệt trong các mục của cùng bản ghi hoặc cùng thuộc tính giá trị Phân chia theo lớp các mục thông tin khác nhau, phân chia truy cập tới các mục đơn của bản ghi trong phân lớp của chúng
- Hạn chế chuyển dịch thông tin: Loại bỏ việc chuyển thông tin không được phép
giữa các chương trình Việc chuyển thông tin xuất hiện theo các kênh được quyền, các kênh bộ nhớ và các kênh chuyển đổi Các kênh được quyền cung cấp thông tin ra, qua các hoạt động được phép như soạn thảo hoặc dịch file Kênh bộ nhớ là vùng nhớ, ở đó thông tin được lưu trữ bởi chương trình và có thể đọc được bằng các chương trình khác Kênh chuyển đổi là kênh liên lạc trên cơ sở sử dụng tài nguyên hệ thống không bình thường cho các liên lạc giữa các đối tượng của hệ thống
Trang 121.1.2.3 Các phương pháp bảo vệ Cơ sở dữ liệu
Để bảo vệ dữ liệu trong CSDL chúng ta cần phải bảo vệ bằng nhiều lớp:
+ Lớp ngoài cùng: Lớp mạng máy tính
+ Lớp trong: Lớp Hệ điều hành
+ Lớp trong tiếp theo: Lớp CSDL
+ Lớp dữ liệu trong CSDL
Các biện pháp an ninh để bảo vệ CSDL có thể đạt được thông qua:
+ Kiểm soát luồng
+ Kiểm soát suy diễn
+ Kiểm soát truy nhập
Đối với các biện pháp này người ta sử dụng kỹ thuật mật mã để mã hoá thông tin Thông tin được đảm bảo an toàn hơn vì nó tạo ra dữ liệu mọi người có thể nhìn thấy, nhưng chỉ có người dùng hợp lệ mới có khả năng hiểu được Tuy nhiên biện pháp bảo
vệ này không có tác dụng đối với người dùng trực tiếp như xâm nhập qua mạng, mà chủ nhân đã mở sẵn thông tin
* Kiểm soát luồng (lưu lượng):
Đó là điều khiển phân bố thông tin trong các đối tượng có khả năng truy nhập Luồng xuất hiện giữa hai đối tượng X và Y khi có trạng thái “đọc” giá trị từ X và
“ghi” giá trị vào Y Kiểm soát luồng là kiểm tra thông tin chứa trong một vài đối tượng
có bị rò rỉ sang đối tượng khác hay không Nếu có, người dùng sẽ nhận được trong Y những gì mà anh không thể nhận trực tiếp từ X, như vậy thông tin trong X đã bị lộ
Chính sách kiểm soát luồng yêu cầu liệt kê và điều phối các luồng thông tin Việc
vi phạm luồng xuất hiện qua yêu cầu chuyển dữ liệu giữa hai đối tượng không được phép Cơ chế kiểm soát sẽ từ chối yêu cầu đó
Để kiểm soát luồng thông tin, cần phân lớp các yếu tố hệ thống, đó là chủ thể và đối tượng Hoạt động “đọc” và “ghi” là hợp lệ trên cơ sở mối quan hệ trong lớp Đối tượng ở lớp cao hơn được bảo vệ cao hơn khi truy nhập “đọc” so với đối tượng ở mức thấp hơn Ở đây, kiểm soát luồng loại bỏ những vi phạm về thông tin chuyển cho lớp thấp hơn
Đối tượng X Luồng thông tin Đối tượng YHình 1.1 Thông tin có thể rò rỉ trên kênh truyền từ X sang Y
Trang 13* Kiểm soát suy diễn:
Theo Denning và Schlorer (1983), kiểm soát suy diễn nhằm bảo vệ dữ liệu khỏi các truy nhập gián tiếp Điều này xảy ra khi người dùng đọc X, và dùng hàm f để tính lại: Y = f(X)
Các kênh suy diễn thông tin chính có thể làm lộ thông tin trong hệ thống gồm có:
(1)Truy nhập gián tiếp: Xảy ra khi người không được quyền có thể thu được
thông tin qua câu hỏi trên tập dữ liệu X được phép sử dụng
Ví dụ: Câu lệnh Select * from HANG where Y=15
Các giá trị thoả mãn của điều kiện câu lệnh sẽ bị lộ ra, khi đó sẽ biết được giá trị của các thuộc tính khác mà CSDL muốn giữ bí mật
(2)Dữ liệu tương quan: Là kênh suy diễn điển hình, trong đó dữ liệu X được
phép truy nhập có liên hệ ngữ nghĩa với dữ liệu Y cần bảo vệ
Ví dụ: Thunhap(Y) = Luong(X) - Thue(X)
Nếu thông tin về Lương và Thuế bị lộ thì việc bảo vệ Thu nhập không có ý nghĩa
(3)Mất dữ liệu: Là kênh suy diễn cho người dùng biết sự có mặt của tập dữ liệu
X, đặc biệt người dùng có thể biết tên đối tượng, qua đó có thể truy nhập đến thông tin chứa trong đó
* Kiểm soát truy nhập:
Biện pháp đảm bảo tất cả các đối tượng truy nhập hệ thống phải tuân theo quy tắc, chính sách bảo vệ dữ liệu Hệ thống kiểm soát truy nhập (hình 1.2) gồm người sử dụng và tiến trình Các chủ thể này khai thác dữ liệu, chương trình thông qua các phép toán Chức năng hệ thống kiểm soát truy nhập gồm hai phần:
(1) Tập chính sách an ninh và quy tắc truy nhập: Đặt ra kiểu khai thác thông tin
lưu trữ trong hệ thống
(2) Tập các thủ tục kiểm soát (cơ chế an ninh): Kiểm tra yêu cầu truy nhập, cho
phép hay từ chối yêu cầu khai thác
Từ chối truy nhậpChấp nhận truy nhậpSửa đổi truy nhập
Yêu cầu truy
nhập
Các chính
sách an ninh
Các thủ tục kiểm soát
Các quy tắc truy nhập
Hình 1.2 Hệ thống kiểm soát truy nhập
Trang 14Các chính sách an ninh:
Liên quan đến thiết kế và quản lý hệ thống cấp quyền khai thác Một cách thông thường để đảm bảo an ninh dữ liệu là định danh các đối tượng tham gia hệ thống và xác định quyền truy nhập cho đối tượng
- Tên (Identifier): gán cho đối tượng một tên (hay một số) theo cách thống nhất,
không có sự trùng lặp giữa các tên
- Uỷ quyền (Authrization): uỷ quyền khai thác một phép toán của chủ thể trên đối
tượng
Giới hạn quyền truy nhập:
Để trả lời câu hỏi bao nhiêu thông tin có thể truy nhập cho mỗi chủ thể là đủ?
Do vậy cần xác định giới hạn truy nhập Có hai chính sách cơ bản:
- Chính sách đặc quyền tối thiểu: Các chủ thể sử dụng lượng thông tin tối thiểu cần thiết cho hoạt động Đảm bảo chính sách này người dùng có thể truy nhập vào dữ liệu, thuận lợi cho truy nhập
- Chính sách đặc quyền tối đa: dựa trên nguyên tắc tối đa dữ liệu khả dụng trong CSDL, tức là chia sẻ tối đa, đảm bảo thông tin không bị truy nhập quá mức cho phép
Có hai kiến trúc kiểm soát truy nhập là hệ thống đóng và hệ thống mở
- Hệ thống đóng: chỉ các yêu cầu có quyền mới được phép truy nhập
- Hệ thống mở: chỉ các yêu cầu không bị cấm mới được phép truy nhập
Trang 15Không chấp nhận truy nhập
Không chấp nhận truy nhập
Chấp nhận truy
nhập
Hình 1.4 Hệ thống mở
Trang 16Quản lý quyền truy nhập: Chính sách quản lý quyền truy nhập có thể được
dùng trong điều khiển tập trung hoặc phân tán, việc lựa chọn này cũng là một chính sách an ninh, có thể kết hợp để có chính sách an ninh phù hợp
- Phân cấp uỷ quyền: Cơ chế kiểm soát được thực hiện ở nhiều trạm điều khiển tập trung, chúng có trách nhiệm điều khiển các trạm
- Chọn người sở hữu: Khi mô tả quan hệ phải mô tả người sở hữu và đảm bảo quyền khai thác dữ liệu của họ
- Quyết định tập thể: Có tài nguyên do một nhóm sở hữu, do đó khi có yêu cầu truy nhập nào thì cần có sự đồng ý của cả nhóm
Chính sách kiểm soát truy nhập: Chính sách này thiết lập khả năng và chỉ ra
cách để các chủ thể và đối tượng trong hệ thống được nhóm lại, để dùng chung các điều khiển truy nhập Ngoài ra, chính sách còn cho phép thiết lập việc chuyển giao quyền truy nhập
Chính sách phân cấp: Có thể coi là chính sách điều khiển luồng thông tin đi về
các đối tượng có độ ưu tiên thấp hơn Hệ thống các mức phân loại như sau:
Trang 171.2 VẤN ĐỀ AN NINH MẠNG MÁY TÍNH
1.2.1 Khái niệm Mạng máy tính
Mạng máy tính là tập hợp các máy tính được nối với nhau bởi đường truyền theo một cấu trúc nào đó, và thông qua đó các máy tính trao đổi thông tin qua lại cho nhau.Các thành phần trong hệ thống mạng máy tính gồm:
- Các thiết bị cuối là các thiết bị tính toán (PC, máy tính vừa và lớn), thiết bị
ngoại vi thông minh và thiết bị cuối không thông minh (Terminal) Chúng thực hiện nhiệm vụ tính toán, xử lý, lưu trữ, trao đổi dữ liệu, là giao diện tương tác giữa người
và máy
- Các thiết bị kết nối mạng gồm thiết bị chuyển mạch, dồn/tách kênh
(Multiplexer), các bộ tập trung (Concentrator) Các thiết bị chuyển mạch thực hiện chuyển tiếp số liệu chính xác giữa các thiết bị đầu cuối được kết nối trong mạng Các thiết bị dồn/tách kênh thực hiện kết nối nhiều thiết bị cuối có tốc độ trao đổi số liệu thấp trên cùng một đường truyền có dung lượng cao Các bộ tập trung thực hiện kết nối các thiết bộ cuối không thông minh
- Hệ thống truyền dẫn (có dây và không dây) kết nối vật lý các thiết bị mạng
với các thiết bị cuối Số liệu của các ứng dụng được truyền dưới dạng tín hiệu điện trên hệ thống truyền dẫn, tín hiệu ở dạng số hoá hay dạng tương tự Máy tính lưu trữ
dữ liệu ở dạng số hoá, còn phương tiện truyền thông lại lưu trữ dữ liệu ở dạng tương
tự, do vậy các tín hiệu phải được biến đổi trong quá trình truyền tin Thiết bị biến đổi
đó là Modem
Các hình thức kết nối:
(1) Kết nối điểm - Điểm:
- Kết nối hình sao: một thiết bị chính (Master) điều khiển quá trình trao đổi số liệu giữa các thiết bị cuối (Slaver)
- Kết nối theo đường tròn: số liệu được truyền tuần tự từ thiết bị cuối này đến thiết bị cuối khác theo một chiều nhất định
- Kết nối theo hình cây
- Kết nối toàn phần: Mỗi thiết bị cuối được kết nối với thiết bị cuối còn lại
(2) Kết nối quảng bá
- Kết nối theo đường thẳng (Bus): các thiết bị cuối sử dụng chung một đường truyền, tại một thời điểm chỉ có một thiết bị cuối được phát số liệu, các thiết bị còn lại đều có thể nhận số liệu
Trang 18- Kết nối theo đường tròn (Ring): như kết nối điểm - điểm về mặt vật lý, thuật toán điểu khiển truy nhập mạng đường tròn đảm bảo phương thức kết nối quảng bá.
- Kết nối vệ tinh: một vệ tinh thực hiện thu phát số liệu với một nhóm các trạm mặt đất (còn gọi là thông báo nhóm)
Các kiểu mạng:
(1) Mạng cục bộ (LAN):
Mạng LAN được thiết lập để liên kết các máy tính trong khu vực như trong một toà nhà, một khu nhà Thường mạng LAN liên kết một số máy tính, một vài máy in và một vài thiết bị lưu trữ Đặc trưng cơ bản của mạng LAN là kiểm soát cục bộ, nhỏ (thường dưới 100 máy), thiết bị tập trung trong khu vực nhỏ và được bảo vệ vật lý
(2) Mạng diện rộng (WAN):
Mạng WAN lớn hơn mạng LAN về cả kích thước, khoảng cách, kiểm soát cũng như sở hữu Đặc trưng cơ bản là kiểm soát riêng rẽ, bao phủ một diện rộng, thường sử dụng môi trường truyền thông công khai
(3) Liên mạng (Internets):
Internet kết nối nhiều mạng riêng biệt Internet là mạng toàn cầu, có các đặc tính: không kiểm soát được, không đồng nhất, bất kỳ ai cũng có thể tiếp cận mạng từ môi trường công khai, đơn giản
1.2.2 Vấn đề bảo vệ Mạng máy tính
1.2.2.1 Những hiểm họa đối với Mạng máy tính
(1) Nguyên nhân: Từ kiến trúc mạng máy tính, chúng ta nhận thấy trong mạng
xuất hiện các “hiểm họa” do các nguyên nhân sau:
- Dùng chung tài nguyên dẫn đến nhiều người có khả năng truy cập đến các hệ thống nối mạng hơn các tài nguyên đơn lẻ
- Sự phức tạp của hệ thống mạng máy tính dẫn đến có thể có nhiều HĐH khác nhau cùng hoạt động, hơn nữa trong HĐH mạng việc kiểm soát mạng thường phức tạp hơn HĐH trên máy tính đơn lẻ Sự phức tạp trên sẽ khó khăn trong việc bảo vệ mạng
- Ngoại vi không giới hạn khiến một máy chủ có thể là một nút trên hai mạng khác nhau, vì vậy các tài nguyên trên một mạng cũng có thể được một người dùng của mạng khác truy cập tới Đây là một kẽ hở trong an ninh mạng
- Nhiều điểm tấn công: Trong một máy đơn lẻ, việc kiểm soát truy nhập và đảm bảo bí mật dữ liệu đơn giản hơn nhiều so với một máy tính đã kết nối mạng Bởi khi một file được lưu trên máy chủ cách xa người dùng, nó có thể bị các máy khác tấn công khi người dùng sử dụng
Trang 19(2) Hiểm hoạ: Các nguyên nhân trên sẽ ẩn chứa các hiểm hoạ, người ta có thể
nhóm thành các loại sau:
- Nghe trộm: hiểu theo nghĩa chặn bắt thông tin lưu thông trên mạng
- Mạo danh: là giả mạo một quá trình, một cá nhân để nhận được thông tin trực tiếp trên mạng, hiểm họa này thường xảy ra trên mạng diện rộng
- Vi phạm bí mật thông báo: do chuyển sai địa chỉ đích, bộc lộ trên đường truyền tại các bộ đệm, bộ chuyển mạch, bộ định tuyến, các cổng, các máy chủ trung chuyển trên toàn tmạng
- Vi phạm toàn vẹn thông báo: trong quá trình truyền tin, thông báo có thể bị sai lệch do bị sửa nội dung (một phần hoặc toàn bộ)
- Sự can thiệp của tin tặc (Hacker): ngoài khả năng thực hiện các tấn công gây ra các hiểm hoạ trên, hacker còn có thể phát triển các công cụ tìm kiếm các yếu điểm trên mạng và sử dụng chúng theo mục đích riêng
- Toàn vẹn mã: là sự phá hoại mã khả thi, thường là cố ý nhằm xoá hoặc cài lại chương trình trên máy chủ
- Từ chối dịch vụ: có thể do kết nối vào mạng bị sai lệch hoặc do phá hoại, đưa vào các thông báo giả làm gia tăng luồng tin trên mạng
1.2.2.2 Những yêu cầu bảo vệ Mạng máy tính
Yêu cầu bảo vệ mạng máy tính bao gồm bảo vệ cả phần cứng và phần mềm
- Yêu cầu các dịch vụ luôn sẵn sàng: đường truyền giữa các máy trong mạng luôn được thông, các mã chương trình phải luôn khả thi và sẵn sàng phục vụ khi có yêu cầu
- Yêu cầu bí mật: dữ liệu không bị kẻ xấu nghe, lấy trộm hoặc nếu lấy được cũng khó để có thể hiểu nội dung
- Yêu cầu chính xác, toàn vẹn: dữ liệu trên đường truyền không bị kẻ xấu giả mạo hoặc thay đổi nội dung, liệu truyền trên mạng phải đến đúng địa chỉ, hạn chế các thông báo giả trên đường truyền
Các phương pháp bảo vệ Mạng máy tính:
(1) Mã hoá: là công cụ mạnh để bảo đảm bí mật, xác thực, toàn vẹn và hạn chế
truy nhập tới dữ liệu trong môi trường mạng có độ rủi ro khá cao Mã hoá có thể sử dụng giữa hai máy chủ hoặc giữa hai ứng dụng
Trang 20(2) Mã kết nối giữa hai máy: Dữ liệu được mã hoá trước khi đưa lên kết nối liên
lạc vật lý và được giải mã ngay khi đến máy nhận Mã hoá bảo vệ thông tin di chuyển giữa hai máy nhưng bản rõ vẫn còn trong máy Việc mã hoá và giải mã được thực hiện ngay ở tầng 1 hoặc 2 trong mô hình 7 mức, nên dữ liệu bị lộ ở tất cả các tầng khác Việc lộ tin có thể xảy ra ở hai tầng của máy tính trung gian hoặc bộ định tuyến vì quá trình định tuyến và lập địa chỉ ở các tầng cao hơn
* Mã hóa đầu cuối (mã hoá ứng dụng): thực hiện qua thiết bị phần cứng hoặc
phần mềm Việc mã hoá thực hiện trước khi kết nối (ở tầng 7), nên dữ liệu truyền đi ở dạng mã hoá qua toàn bộ mạng, vì vậy nếu bị lộ cũng không ảnh hưởng đến bí mật của
dữ liệu
Trong mã hoá đầu cuối tồn tại một kênh mã ảo giữa các cặp người dùng Để đảm bảo an ninh, mỗi cặp người dùng phải sử dụng chung một khoá, số lượng khoá bằng số cặp người dùng và bằng n(n-1)/2 đối với n người dùng, do vậy khi n lớn thì việc quản
lý và phân phối khoá là vấn đề cần quan tâm
(3) Bức tường lửa: Khi một mạng LAN được kết nối với Internet, hiểm hoạ sẽ
rất lớn nếu như có kẻ xâm nhập lọt được vào hệ thống, truy nhập tới các dữ liệu nhạy cảm Một cách lý tưởng, chúng ta mong muốn có một bộ lọc sẽ chỉ cho qua những tương tác mong muốn Có hai vấn đề kiểm soát truy nhập là xác định đâu là tương tác mong muốn cho phép truy nhập và đâu là tương tác không cho phép truy nhập Một loại bảo vệ máy tính như thế được gọi là bức tường lửa
Bức tường lửa là một quá trình lọc tất cả các luồng thông tin giữa mạng được bảo
vệ (mạng bên trong) và mạng kém tin cậy (mạng bên ngoài) Bức tường lửa thực hiện chính sách an ninh có thể ngăn chặn bất kỳ các truy nhập từ bên ngoài vào trong khi vẫn cho phép dữ liệu từ bên trong ra Bức tường lửa có thể chỉ cho phép truy nhập từ các địa chỉ xác định, những người xác định hoặc dành cho một số hoạt động, một số lựa chọn nhất định
Trang 211.3 VẤN ĐỀ AN NINH HỆ ĐIỀU HÀNH [4]-[7]
1.3.1 Khái niệm Hệ điều hành
Hệ điều hành (HĐH) nằm giữa mức ứng dụng và mức máy, đóng vai trò giao diện giữa chương trình ứng dụng và tài nguyên hệ thống HĐH quản lý tất cả các tài nguyên hệ thống, tối ưu hóa khả năng sử dụng tài nguyên sử dụng cho các trình ứng dụng khác nhau
Các chức năng của HĐH có thể tóm tắt như sau:
- Tiến trình và quản lý tiến trình: chức năng này được nhân của HĐH cung cấp
- Quản lý tài nguyên: phân phối tài của nguyên hệ thống cho ứng dụng có yêu cầu sử dụng
- Giám sát: giao diện trực tiếp với các ứng dụng, hỗ trợ thực thi các ngôn ngữ, lập lịch tiến trình đáp ứng các chương trình đang hoạt động, loại bỏ các sử dụng tài nguyên không hợp lệ, phân phối vùng nhớ dành cho các chương trình hoặc giữa các chương trình và HĐH
Các HĐH liên tục phát triển, từ những chương trình đơn giản để kiểm soát trao đổi giữa các chương trình, tới hệ thống phức tạp hỗ trợ đa nhiệm, xử lý thời gian thực,
đa xử lý và kiến trúc phân tán
Nói chung, HĐH cung cấp một số chức năng bảo vệ CSDL Trong hệ thống xử
lý, dữ liệu tập trung trong tài nguyên (bộ nhớ, file, thiết bị truy xuất) Hình 1.5 minh hoạ các chức năng hỗ trợ an ninh trong một phiên làm việc của người dùng trong hệ thống đa người dùng Ngoài chức năng dịch vụ, một vài chức năng của HĐH còn hướng tới hỗ trợ an ninh, đó là: nhận dạng/ xác thực người dùng; bảo vệ bộ nhớ; kiểm soát truy nhập tài nguyên; kiểm soát luồng; kiểm toán [7]
Trang 22Điều khiển luồng
Các chức năng an ninh của HĐH
Các chức năng dịch vụ của HĐH
Hình 1.5 Phiên làm việc của người dùng
Nhận dạng/Xác thực người dùng
Trang 231.3.2 Vấn đề bảo vệ Hệ điều hành
1.3.2.1 Những hiểm họa đối với Hệ điều hành
Từ những chức năng trên ta thấy việc bảo vệ HĐH là rất quan trọng Bởi vì khi HĐH bị xâm phạm thì việc quản lý và phân phối các tài nguyên hệ thống sẽ bị sai lệch, gây hại đến hệ thống, kiến cho hệ thống không quản lý được các tiến trình, không quản lý được tài nguyên của máy,
1.3.2.2 Những yêu cầu bảo vệ Hệ điều hành
Để HĐH hoạt động hiệu quả, chính xác thì HĐH cần thực hiện các yêu cầu bảo
vệ HĐH, bộ nhớ và các tài nguyên khác của máy tính khỏi các truy nhập trái phép
1.3.2.3 Các phương pháp bảo vệ Hệ điều hành
* Nhận dạng và xác thực người dùng: là tiền đề của hệ thống an ninh Với mục
đích đó, cơ chế xác định thực giá trị nhận dạng người dùng qua một vài chủ đề là những thông tin nhận biết người dùng qua một vài sở hữu riêng hoặc liên kết các mô hình đó
(1) Hệ thống xác thực dùng thông tin để nhận biết người dùng:
- Hệ thống mật khẩu: người dùng được nhận dạng qua một chuỗi các ký tự bí
mật (password) mà chỉ người dùng và hệ thống biết
- Hệ thống hỏi - đáp: người dùng được nhận dạng qua việc trả lời các câu hỏi
của hệ thống đưa ra Câu hỏi là khác nhau cho mỗi người dùng, và thường là các hàm toán học, máy sẽ tính toán sau khi nhận được các giá trị từ người dùng
- Hệ thống xác thực kép (bắt tay): hệ thống tự giới thiệu với người dùng, người
dùng xác thực hệ thống Việc xác thực hệ thống xuất hiện xuất hiện qua thông tin chỉ
người dùng biết (ví dụ: ngày, giờ của phiên làm việc cuối cùng) Hệ thống xác thực
người dùng bằng mật khẩu
(2) Hệ thống xác thực dùng thông tin sở hữu của người dùng:
Về cơ bản là hệ thống thẻ: thẻ từ chứa mã vạch hoặc mã từ hoặc bộ vi xử lý Việc xác thực xuất hiện lúc chấp nhận thẻ đưa vào đọc, đôi khi kèm theo mã bí mật
(3) Hệ thống xác thực dùng thông tin cá nhân của người dùng:
Thông tin cá nhân: là những thông tin đặc thù, chỉ có của người dùng như ảnh, vân tay, ảnh lưới võng mạc, áp lực chữ ký, độ dài các ngón tay trong bàn tay, giọng nói Những thông tin này dùng để nhận dạng người dùng, hiện nay có những hệ thống sau:
- Hệ thống Fax - máy tính: ảnh của người dùng được lưu trữ, nhận dạng bằng cách đối chiếu người với ảnh lưu trữ trên màn hình
- Hệ thống vân tay: nhận dạng theo kết quả so sánh dấu vân tay của người dùng với dấu vân tay của hệ thống lưu trữ
- Hệ thống áp lực tay: nhận dạng trên cơ sở áp lực chữ ký hoặc chữ viết trên các thiết bị phù hợp
- Hệ thống ghi âm: giọng nói của người dùng được đối chiếu với mẫu lưu trữ
Trang 24- Hệ thống võng mạc: nhận dạng người dùng bằng cách kiểm tra lưới võng mạc trong đáy mắt.
Các hệ thống trên có thể được dùng độc lập hoặc kết hợp nhiều hệ thống cùng một lúc tuỳ vào mức độ an ninh cần thiết
Các thông tin cá nhân, bằng cách thông thường người khác không có được, tuy vậy với những người chuyên nghiệp thì các thông tin này có thể lấy được và lưu trữ trước sau đó làm giả mà máy tính không phát hiện được
Các hệ thống này có độ phức tạp cao hơn so với các hệ thống trước đó, do phức tạp trong so sánh giữa các đặc điểm riêng được lưu trữ với các đặc điểm riêng trên thực tế Việc ứng dụng cũng gặp khó khăn, các nghiên cứu gần đây cho thấy tỷ lệ từ chối chính người dùng cao, ngoài ra khi có sự thay đổi của chính người dùng đó máy cũng không chấp nhận Mặt khác chi phí cao, tốn kém do vậy chỉ dùng trong các trường hợp bảo mật đặc biệt Không uỷ quyền cho người khác được khi gặp sự cố, dẫn đến có thể bị mất thông tin vĩnh viễn
* Các chức năng an ninh khác:
(1) Bảo vệ bộ nhớ: Trong môi trường đa nhiệm (đa chương trình), bộ nhớ cơ bản
được phân vùng và chia sẻ cho dữ liệu và chương trình của các người dùng khác nhau
Bộ nhớ có nhiều mức chia sẻ, từ mức không chia sẻ cho đến mức không kiểm soát chia sẻ Việc thực hiện cơ chế kiểm soát chia sẻ cần được bảo vệ tinh vi ở mức HĐH
để kiểm soát và chia sẻ bộ nhớ cho chương trình và các người dùng khác nhau
Truy nhập không đồng thời: đòi hỏi truy nhập đến bộ nhớ từ những người dùng
khác nhau tại cùng một thời điểm Công việc đồng thời ở cùng một đối tượng phải được loại bỏ theo nghĩa hoạt động tuần tự
Hạn chế: (chỉ cho chương trình) Chương trình được coi là hạn chế khi nó loại bỏ
khỏi bản sao những tham số Như vậy, chương trình được chia sẻ loại bỏ khỏi bản sao
và chuyển vào file hệ thống thông tin hạn chế từ đầu vào
Các cơ chế bảo vệ phần cứng và kiểm soát chia sẻ bộ nhớ gồm: địa chỉ phân cách, chuyển vị, thanh ghi giới hạn, đánh số, chia đoạn, thường các cơ chế này cấu tạo trong phần cứng nên luận văn không đi sâu vào nghiên cứu
(2) Kiểm soát truy nhập tài nguyên: Các chương trình trong khi hoạt động
(thực hiện tiến trình) cần tài nguyên của hệ thống để thực hiện các nhiệm vụ Thông thường, tiến trình tham chiếu đến bộ nhớ địa chỉ, sử dụng CPU, gọi đến các chương trình khác, thao tác trên file và truy nhập thông tin trong bộ nhớ thứ cấp (các thiết bị vật lý) Tất cả các tài nguyên đó phải được bảo vệ tránh các truy nhập không cho phép, hoặc ngẫu nhiên hoặc cố ý
Bảo vệ bộ nhớ và chia sẻ chương trình là các thực thi trực tiếp theo phần cứng như trên đã trình bầy ở trên Việc bảo vệ CPU cũng như vậy
Bảo vệ các tài nguyên khác (file, thiết bị ) thực thi qua cơ chế phần cứng và modul phần mềm HĐH Các modul có nhiệm vụ sau:
- Phân tích và kiểm tra từng truy cập đến tài nguyên
- Kiểm tra đích đến và loại trừ lan truyền dữ liệu bí mật
Trang 25- Kiểm soát và ghi các thao tác hoạt động để có thể phát hiện việc sử dụng tài nguyên không hợp pháp.
Cơ chế kiểm soát truy nhập:
Kiểm soát truy nhập đến tài nguyên đòi hỏi tài nguyên phải được nhận dạng Các phương pháp nhận dạng tài nguyên khác nhau tuỳ thuộc vào dạng tài nguyên
Bộ nhớ được nhìn nhận như sự xác lập về địa chỉ, phân vùng tới tiến trình và tới phần mềm hệ thống Các vùng nhớ khác nhau có thể được nhận dạng qua một cặp thanh ghi giới hạn, các bảng biến đổi và các cơ chế khác Các thiết bị và CPU được nhận dạng trong phần cứng Các file được nhận dạng qua tên, các chương trình (thủ tục) được nhận dạng qua tên và địa chỉ khởi động Người dùng được nhận dạng quan
kỹ thuật cấp quyền khi khởi động máy
Bảo vệ tài nguyên có nghĩa là loại bỏ cả hai truy nhập ngẫu nhiên và cố ý của người dùng không được phép Điều này có thể đảm bảo bằng khả năng cấp quyền xác định, sau đó chấp nhận mỗi tiến trình được cấp quyền chỉ truy nhập tới tài nguyên cần thiết để hoàn thành tiến trình đó (nguyên tắc đặc quyền tối thiểu) Theo nguyên tắc này, chương trình chỉ được truy nhập tới những tài nguyên cần thiết để hoàn thành nhiệm vụ đó
Cơ chế kiểm soát truy nhập hoạt động theo hai kiểu là: phân cấp truy nhập và ma trận bảo vệ (ma trận truy nhập)
- Phân cấp truy nhập: là cơ chế sử dụng các kiểu đặc quyền hoặc các chương
trình lồng nhau Tuỳ theo cơ chế kiểu đặc quyền, tiến trình có thể hoạt động theo các kiểu khác nhau, mỗi một đáp ứng về một đặc quyền được thiết lập liên quan đến bảng chỉ dẫn thực hiện Trong đa số các hệ thống, cùng tồn tại hai kiểu thực hiện là kiểu đặc quyền và kiểu người dùng Sự khác nhau giữa hai kiểu này là dạng chỉ dẫn bộ xử lý có thể hoạt động đúng, trong kiểu đặc quyền chủ yếu là quản lý hệ thống (chỉ dẫn xuất/nhập, chuyển trạng thái )
- Ma trận bảo vệ (ma trận truy nhập): truy nhập được chấp nhận đến đúng chủ
thể trong đối tượng có thể được biểu diễn qua ma trận truy nhập A, ở đó hàng S1, S2, ,
Sm đại diện cho các chủ thể của hệ thống, có cột O1, O2, , On đại diện cho các đối tượng hệ thống, A[Si,Oj] là thiết lập quyền xác định bởi Si trong Oj
Theo Harrision (1976) ma trận bảo vệ là cấu trúc phù hợp cho các truy nhập đại diện được quyền vào HĐH: Các đối tượng là tiến trình, tài nguyên hệ thống được bảo vệ; chủ thể là hệ thống những ngưởng dụng và tiến trình được họ thực hiện
Trang 26(4) Cơ chế kiểm soát luồng:
Cơ chế kiểm soát truy nhập chịu trách nhiệm kiểm tra quyền được cấp của người dùng khi truy nhập tài nguyên Cơ chế kiểm soát luồng chịu trách nhiệm kiểm chứng đích cuối của hoạt động ra, theo thứ bậc loại bỏ sự lan truyền dữ liệu bí mật
Luồng xuất hiện khi thông tin được chuyển từ đối tượng nguồn vào trong đối tượng đích Phân biệt hai loại luồng: luồng rõ ràng là luồng xuất hiện như là kết quả của sự phân vùng chỉ dẫn dạng y=f(x1,x2, , xn) Luồng không rõ ràng là luồng thường theo chỉ dẫn có điều kiện dạng “if then” Cơ chế kiểm soát luồng phải kiểm chứng rằng chỉ những luồng được cấp quyền là thực thi
Trang 271.4 VẤN ĐỀ BẢO VỆ DỮ LIỆU
1.4.1 Khái niệm dữ liệu
Dữ liệu tồn tại trong hệ thống dưới dạng tĩnh và động Dữ liệu tĩnh nằm trong bộ nhớ của máy tính, còn dữ liệu động nằm trên đường truyền trong mạng máy tính Dữ liệu tĩnh có 2 loại là nằm trong CSDL và nằm ngoài CSDL Để bảo vệ dữ liệu chúng ta phải bảo vệ dữ liệu cả trong bộ nhớ máy tính và trên đường truyền Tuy nhiên trong luận văn này chỉ tập trung nghiên cứu đến vấn đề bảo vệ dữ liệu tĩnh nằm trong CSDL
1.4.2 Vấn đề bảo vệ dữ liệu trong CSDL
1.4.2.1 Những hiểm họa đối với dữ liệu trong CSDL
- Dữ liệu có thể bị những người dùng không hợp lệ truy cập vào đọc dữ liệu và
sử dụng dữ liệu với mục đích xấu
- Dữ liệu có thể bị thay đổi, giả mạo bởi người dùng không hợp pháp làm cho mất tính toàn vẹn cũng như tính chính xác của dữ liệu
1.4.2.2 Những yêu cầu bảo vệ dữ liệu trong CSDL
- Bảo vệ dữ liệu không bị lộ với những người không được phép
- Bảo vệ dữ liệu không bị thay đổi bởi người dùng không hợp pháp
- Bảo đảm tính toàn vẹn, xác thực cho dữ liệu
1.4.2.3 Các phương pháp bảo vệ dữ liệu trong CSDL
Để bảo vệ dữ liệu trong CSDL chúng ta cần phải bảo vệ CSDL theo các lớp từ ngoài vào trong, tức là chúng ta cần bảo vệ lớp mạng máy tính, lớp HĐH, lớp CSDL
và lớp dữ liệu trong CSDL
Một số phương pháp được sử dụng để bảo vệ dữ liệu trong CSDL là sử dụng hệ mật mã để bảo mật dữ liệu, sử dụng hàm băm, chữ ký số để kiểm tra tính bảo toàn, tính xác thực của dữ liệu, …
Trang 28Chương 2 MỘT SỐ NHIỆM VỤ VÀ PHƯƠNG PHÁP BẢO VỆ DỮ LIỆU
2.1 BẢO MẬT DỮ LIỆU
2.1.1 Bảo mật dữ liệu bằng hệ mật mã
Bảo mật dữ liệu bằng hệ mật mã là quá trình mã hoá dữ liệu khi lưu và giải mã
dữ liệu khi đọc Mã hoá là quá trình chuyển thông tin có thể đọc được (bản rõ) thành thông tin khó thể đọc được theo cách thông thường (bản mã) Để đọc và hiểu được những thông tin đã được mã hoá thì phải giải mã để chuyển thông tin ngược lại từ bản mã thành bản rõ Thuật toán mã hoá hay giải mã là thủ tục tính toán để thực hiện mã hóa hay giải mã dữ liệu Trong mỗi thuật toán thì khóa mã hóa là một giá trị làm cho thuật toán mã hoá thực hiện theo cách riêng biệt và sinh ra bản rõ riêng Thông thường khoá càng lớn thì bản mã càng an toàn Phạm vi các giá trị có thể có của khoá được gọi là Không gian khoá
2.1.2 Một số hệ mật mã dữ liệu [2]
Hiện nay có nhiều hệ mật mã khác nhau, mỗi hệ mật mã có những ưu, nhược điểm riêng Tuỳ theo yêu cầu của môi trường ứng dụng, ta sử dụng hệ mật mã phù hợp Có những môi trường cần phải an toàn tuyệt đối, bất kể thời gian và chi phí Có những môi trường lại cần giải pháp dung hoà giữa bảo mật và chi phí thực hiện
Căn cứ vào thời gian đưa ra cũng như đặc trưng cơ bản, các hệ mật mã được chia thành hai loại: mật mã cổ điển và mật mã hiện đại Mật mã cổ điển chủ yếu dùng để
“che giấu” dữ liệu Với mật mã hiện đại, ngoài khả năng “che giấu” dữ liệu, còn dùng để thực hiện: Ký số (ký điện tử), tạo đại diện thông điệp, giao thức bảo toàn dữ liệu, giao thức xác thực tài liệu, giao thức chứng minh “không tiết lộ thông tin”, giao thức thỏa thuận, giao thức phân phối khóa, chống chối cãi trong giao dịch điện tử, giao thức chia sẻ bí mật,
Một số hệ mật mã nổi tiếng là:
- Mật mã cổ điển: Mã chuyển dịch, mã thay thế, mã apphin thực hiện mã hóa trên từng ký tự; Mã Vigenère thực hiện phép chuyển dịch, mã Hill thực hiện phép thay thế đồng thời trên một nhóm ký tự; Mã hoán vị được thực hiện trên từng bộ m ký tự liên tiếp, nhưng bản mã chỉ là một hoán vị của các ký tự trong từng bộ m ký tự của bản rõ;
Mã hóa chuẩn DES được công bố như một chuẩn chính thức cho truyền tin bảo mật của nhiều quốc gia Sau khi các hệ mật mã có khoá công khai được phát triển và sử dụng rộng rãi, cũng đã có nhiều ý kiến đề nghị thay đổi chuẩn mới cho các hệ mật mã, nhưng trên thực tế, DES vẫn còn được sử dụng như một chuẩn cho đến ngày nay trong nhiều lĩnh vực
- Mật mã hiện đại: mã khóa công khai RSA, mã khóa công khai Rabin, mã khóa công khai ElGamal
Trang 292.1.3 Hệ mật mã chuẩn DES (Data Encryption Standard) [6]
2.1.3.1 Giới thiệu
DES được IBM phát triển nó được công bố lần đầu tiên vào ngày 17/03/1975 Sau nhiều cuộc tranh luận công khai, cuối cùng DES được công nhận như một chuẩn liên bang vào ngày 23/11/1976 và được công bố vào ngày 15/01/1977 Năm 1980,
“Cách dùng DES” được công bố Từ đó chu kỳ 5 năm DES được xem xét lại một lần bởi Uỷ ban tiêu chuẩn quốc gia Mỹ, lần gần đây nhất là năm 2004
Qui trình mã hóa
Giai đoạn 1: Bản rõ chữ ===== Bản rõ số (Dạng nhị phân)
Chia thành
Giai đoạn 2: Bản rõ số ===== Các đoạn 64 bit rõ số
Giai đoạn 3: 64 bit rõ số ===== 64 bit mã số
b) Thực hiện mã hóa DES theo Sơ đồ
- Bản rõ là xâu x, bản mã là xâu y, khoá là xâu K, đều có độ dài 64 bit
- Thuật toán mã hóa DES thực hiện qua 3 bước chính như sau:
Bước 1:
Bản rõ x được hoán vị theo phép hoán vị IP thành IP(x)
IP(x) = L0R0, trong đó L0 là 32 bit đầu (Left), R0 là 32 bit cuối (Right)
(IP(x) tách thành L 0 R 0 ).
Bước 2:
Thực hiện 16 vòng mã hoá với những phép toán giống nhau
Dữ liệu được kết hợp với khoá thông qua hàm f: Li = Ri -1, Ri = Li -1⊕ f(Ri -1, ki), trong đó: ⊕ là phép toán hoặc loại trừ của hai xâu bit (cộng theo modulo 2) ;
k1, k2, , k16 là các khoá con (48 bit) được tính từ khóa gốc K
Bước 3:
Thực hiện phép hoán vị ngược IP-1 cho xâu L16R16, thu được bản mã y
y = IP-1(L16,R16)
Trang 30Sơ đồ cấu trúc thuật toán dùng trong DES
Trang 31c) Tính các khóa con k1 , k2, … , k16 từ khóa gốc K.
Sơ đồ
* Tính khoá k i (48 bit):
1) Khoá K là xâu dài 64 bit, trong đó 56 bit là khoá và 8 bit để kiểm tra tính chẵn
lẻ nhằm phát hiện sai, các bit này không tham gia vào quá trình tính toán
Các bit kiểm tra tính chẵn lẻ nằm ở vị trí 8, 16, 24,…, 64 được xác định, sao cho mỗi byte chứa một số lẻ các số 1 Bởi vậy mỗi sai sót đơn lẻ được xác định trong mỗi nhóm 8 bit
Trang 322) Tính khoá k i như sau:
+ Với khoá K độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hoán vị 56 bit còn lại theo phép hoán vị PC-1: PC-1 (K ) = C0 D0
Trong đó C0 là 28 bit đầu, D0 là 28 bit cuối cùng của PC-1( K )
+ Với i = 1, 2, , 16, ta tính: Ci = LSi ( Ci-1 ), Di = LSi ( Di-1 )
Trong đó LSi là phép chuyển dịch vòng sang trái:
Dịch 1 vị trí nếu i = 1, 2, 9, 16 Dịch 2 vị trí với những giá trị i khác
+ Với i = 1, 2, , 16, khóa k i được tính theo phép hoán vị PC-2 từ Ci Di
Trang 33* Tính hàm f (R i -1 , k i )
Để cho đơn giản, ta không ghi chỉ số i-1, i, và mô tả cách tính f (R, k):
1) Mở rộng xâu R (32 bit) thành xâu 48 bit, theo hàm mở rộng E:
E: R (32 bit) - > E(R) (48 bit)
E(R) gồm 32 bit của cũ của R và 16 bit của R xuất hiện lần thứ 2
2) Tính E(R) ⊕ k, trong đó E(R) (48 bit) và k (48 bit)
Kết quả gồm 8 xâu Bj, mỗi xâu Bj có 6 bit (8*6 = 48):
+ b1 b6 xác định biểu diển nhị phân của hàng r trong Sj (0 ≤ r ≤3 )
+ b2 b3 b4 b5 xác định biểu diển nhị phân của cột c trong Sj (0 ≤ c ≤ 15 )
Xâu Cj (4 bit) được định nghĩa là biểu diển nhị phân của phần tử S j (r, c)
4) Thực hiện 8 lần bước 3, ta nhận được xâu C = C1 C2 … C8 (32 bit)
Sau hoán vị P, cho kết quả P (C), đó chính là f (R, k)
e) Qui trình giải mã DES
Qui trình giải mã của DES tương tự như qui trình lập mã, nhưng dùng các khóa theo thứ tự ngược lại: k16, k15, …, k1 Từ dữ liệu đầu vào là bản mã y, kết quả nhận được là bản rõ x
f) Ví dụ
Bản rõ X = 0123456789ABCDEF =
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
50 58
Bước 1: Bản rõ x được hoán vị theo phép hoán vị IP, thành IP (x).
IP (x) = L0 R0, trong đó L0 là 32 bit đầu (Left), R0 là 32 bit cuối (Right) (IP(x) tách thành L0R0)
L0 = 1100 1100 0000 0000 1100 1001 1111 1111 (32 bit)
R0 = 1111 0000 1010 1010 1111 0000 1010 1010 (32 bit)
Ví dụ: theo hoán vị IP, bit 1 của L0 là bit 58 của x, bit 2 của L0 là bit 50 của x
Bước 2: Thực hiện 16 vòng mã hoá với những phép toán giống nhau
Dữ liệu được kết hợp với khoá thông qua hàm f:
L i = R i -1, R i = L i -1⊕ f (R i -1, k i),trong đó: k1, k2, , k16 là các khoá con (48 bit) được tính từ khóa gốc K
Bước 3: Kết quả là bản mã 85E813540F0AB405
Trang 342.1.3.3 Độ an toàn của Hệ mật mã DES
a) Độ an toàn của Hệ mật mã DES có liên quan đến các bảng S:
Ngoại trừ các bảng S, mọi tính toán trong DES đều tuyến tính, tức là việc tính phép hoặc loại trừ của hai đầu ra cũng giống như phép hoặc loại trừ của hai đầu vào, rồi tính toán đầu ra
Các bảng S chứa đựng nhiều thành phần phi tuyến của hệ mật mã, là yếu tố quan trọng nhất đối với độ mật của hệ thống
Khi mới xây dựng hệ mật mã DES, thì tiêu chuẩn xây dựng các hộp S không được biết đầy đủ Và có thể các hộp S này chứa các “cửa sập” được giấu kín Và đó cũng là một điểm đảm bảo tính bảo mật của hệ DES
b) Hạn chế của DES chính là kích thước không gian khoá:
Số khóa có thể là 256, không gian này là nhỏ để đảm bảo an toàn thực sự Nhiều thiết bị chuyên dụng đã được đề xuất nhằm phục vụ cho phép tấn công với bản rõ đã biết Phép tấn công này chủ yếu thực hiện theo phương pháp “vét cạn” Tức là với bản
rõ x và bản mã y tương ứng (64 bit), mỗi khoá có thể đều được kiểm tra cho tới khi tìm được một khoá K thoả mãn ek(x) = y
Trang 352.2 BẢO TOÀN DỮ LIỆU [2]
2.2.1 Bảo toàn dữ liệu bằng chữ ký số.
Theo sơ đồ chữ ký số, ta có thể dễ dàng nhận thấy khi nhận được dữ liệu người nhận ngoài việc xác thực thông tin nhận được có đúng do người gửi hay không, họ còn
có thể kiểm tra dữ liệu nhận được có bảo toàn hay không Bởi vì việc kiểm tra chữ ký
số trên tài liệu nhận được chính là việc sử dụng thuật toán giải mã với khóa công khai của người gửi trên chữ ký số, kết quả nhận được so sánh với dữ liệu nhận được, nếu chúng bằng nhau nghĩa là dữ liệu đã được bảo toàn ngược lại dữ liệu đã bị sửa làm thay đổi nội dung
2.2.2 Bảo toàn dữ liệu bằng hàm băm.
Theo các sơ đồ chữ ký số, chữ ký được xác định cho từng khối của văn bản, và nếu bản gồm nhiều khối thì chữ ký cho toàn văn bản phải do ghộp chữ ký trên từng khối lại với nhau mà thành; chữ ký trên từng khối văn bản thường có độ dài bằng (hoặc thậm chí gấp đôi) độ dài của khối văn bản, do đó chữ ký chung cũng có độ dài tương đương với độ dài văn bản, đó là một điều bất tiện Ta mong muốn, như trong trường hợp viết tay, chữ ký chỉ có độ dài ngắn và hạn chế cho văn bản có độ dài bất
kỳ Đối với chữ ký điện tử, vì chữ ký phải được “ký” cho từng bit của văn bản, nến muốn có chữ ký độ dài hạn chế trên văn bản có độ dài bất kỳ thì phải tìm cách rút ngắn
độ dài văn bản Nhưng bản thân văn bản không thể rút ngắn được, nên chỉ còn cách là tìm cho mỗi văn bản một bản “tóm lược” có độ dài hạn chế, rồi thay cho việc ký trên toàn bộ văn bản, ta ký trên bản tóm lược đó, xem chữ ký trên bản tóm lược có tư cách
là chữ ký trên văn bản Giả sử Σ là tập hợp tất cả các văn bản có thể có (tất nhiên, trong một lĩnh vực nào đó), và ∆ là tập hợp tất cả các bản “tóm lược” có thể được sử dụng Việc tìm cho mỗi văn bản một bản tóm lược tương ứng xác định một hàm h: Σ → ∆ Một hàm h như vậy người ta gọi là một hàm băm (hash function) Thông thường, Σ là tập hợp các dãy bit có độ dài tuỳ ý, và ∆ là tập hợp các dãy bit có một độ dài n cố định, nên người ta cũng định nghĩa hàm băm là các hàm h: Σ → ∆ (tức các hàm h: )
Một ứng dụng quan trọng khác của các hàm băm bảo mật là sự kiểm tra tính bảo toàn dữ liệu Việc xác định xem một file hay một thông điệp có bị sửa đổi hay không
có thể thực hiện bằng cách so sánh tóm lược được tính trước và sau khi gửi nhờ hàm băm Nếu hai tóm lược khác nhau có nghĩa là thông điệp đã bị thay đổi trên đường truyền Một số hàm băm được sử dụng phổ biến trong việc bảo mật dữ liệu cũng như kiểm tra tính bảo toàn của dữ liệu là MD5 và SHA-1
{ }0,1 ∗→{ }0,1 n
Trang 362.3 XÁC THỰC DỮ LIỆU [6]
2.3.1 Xác thực dữ liệu bằng chữ ký số.
Để chứng thực nguồn gốc hay hiệu lực của một tài liệu (ví dụ: đơn xin học, giấy báo nhập học, ), lâu nay người ta dùng chữ ký “tay”, ghi vào phía dưới của mỗi tài liệu Như vậy người ký phải trực tiếp “ký tay” vào tài liệu
Ngày nay các tài liệu được số hóa, người ta cũng có nhu cầu chứng thực nguồn gốc hay hiệu lực của các tài liệu này Rõ ràng không thể “ký tay” vào tài liệu, vì chúng không được in ấn trên giấy Tài liệu “số” (hay tài liệu “điện tử”) là một xâu các bit (0 hay 1), xâu bít có thể rất dài (nếu in trên giấy có thể hàng nghìn trang) “Chữ ký” để chứng thực một xâu bít tài liệu cũng không thể là một xâu bit nhỏ đặt phía dưới xâu bit tài liệu Một “chữ ký” như vậy chắc chắn sẽ bị kẻ gian sao chép để đặt dưới một tài liệu khác bất hợp pháp
Những năm 80 của thế kỷ 20, các nhà khoa học đã phát minh ra “chữ ký số” để chứng thực một “tài liệu số” Đó chính là “bản mã” của xâu bít tài liệu Người ta tạo ra
“chữ ký số” (chữ ký điện tử) trên “tài liệu số” giống như tạo ra “bản mã” của tài liệu với “khóa lập mã”
Như vậy “ký số” trên “tài liệu số” là “ký” trên từng bit tài liệu Kẻ gian khó thể giả mạo “chữ ký số” nếu nó không biết “khóa lập mã” Để kiểm tra một “chữ ký số” thuộc về một “tài liệu số”, người ta giải mã “chữ ký số” bằng “khóa giải mã”,
và so sánh với tài liệu gốc
Ngoài ý nghĩa để chứng thực nguồn gốc hay hiệu lực của các tài liệu số hóa Mặt mạnh của “chữ ký số” hơn “chữ ký tay” là ở chỗ người ta có thể “ký” vào tài liệu từ rất xa trên mạng công khai Hơn thế nữa, có thể “ký” bằng các thiết bị cầm tay (ví dụ: điện thoại di động) tại khắp mọi nơi miễn là kết nối được vào mạng, điểu đó sẽ giúp giảm thời gian, sức lực, chi phí hơn nhiều so với sử dụng chữ ký truyền thống
“Ký số” thực hiện trên từng bit tài liệu, nên độ dài của “chữ ký số” ít nhất cũng bằng độ dài của tài liệu Do đó thay vì ký trên tài liệu dài, người ta thường dùng “hàm băm” để tạo “đại diện” cho tài liệu, sau đó mới “Ký số” lên “đại diện” này
Trang 37Với khóa k ∈ K, có thuật toán ký Sig k ∈ S, Sig k: P→ A và thuật toán kiểm tra chữ ký Ver k∈ V, Ver k: P × A→{đúng, sai}, thoả mãn điều kiện với x ∈ P, y ∈ A Ver k (x, y) = Đúng, nếu y = Sig k (x)
Ver k (x, y) = Sai, nếu y ≠ Sig k (x)
Chú ý: Người ta thường dùng hệ mật mã khóa công khai để lập “Sơ đồ chữ ký
số” Ở đây khóa bí mật a dùng làm khóa “ký”, khóa công khai b dùng làm khóa kiểm tra “chữ ký” Ngược lại với việc mã hóa, dùng khóa công khai b để lập mã, dùng khóa
bí mật a để giải mã Điều này là hoàn toàn tự nhiên, vì “ký” cần giữ bí mật nên phải dùng khóa bí mật a để “ký” Còn “chữ ký” là công khai cho mọi người biết, nên họ dùng khóa công khai b để kiểm tra
Một số phương pháp ký số thường được nhắc đến là: chữ ký ElGamal, chữ ký DSS, chữ ký Rabin, chữ ký Schnorr, chữ ký RSA
2.3.3 Sơ đồ chữ ký số RSA.
2.3.3.1 Sơ đồ (Đề xuất năm 1978)
*Tạo cặp khóa (bí mật, công khai) (a, b):
Chọn bí mật số nguyên tố lớn p, q, tính n = p * q, công khai n, đặt P = C = ZnTính bí mật φ(n) = (p-1).(q-1) Chọn khóa công khai b < φ(n), nguyên tố với φ(n) Khóa bí mật a là phần tử nghịch đảo của b theo mod φ(n): a*b ≡ 1 (mod φ(n)).Tập cặp khóa (bí mật, công khai) K = {(a, b)/ a, b ∈ Zn, a*b ≡ 1 (mod φ(n))}
* Ký số: Chữ ký trên x ∈ P là y = Sig k (x) = x a (mod n), y ∈ A (R1)
* Kiểm tra chữ ký: Verk (x, y) = đúng ⇔ x ≡ y b (mod n) (R2)
Chú ý
- So sánh giữa sơ đồ chữ ký RSA và sơ đồ mã hóa RSA ta thấy có sự tương ứng
- Việc ký chẳng qua là mã hoá, việc kiểm thử lại chính là việc giải mã: Việc “ký số” vào x tương ứng với việc “mã hoá” tài liệu x Kiểm thử chữ ký chính là việc giải
mã “chữ ký”, để kiểm tra xem tài liệu đã giải mã có đúng là tài liệu trước khi ký không Thuật toán và khóa kiểm thử “chữ ký” là công khai, ai cũng có thể kiểm thử chữ ký được
Ví dụ Chữ ký trên x = 2
*Tạo cặp khóa (bí mật, công khai) (a, b):
Chọn bí mật số nguyên tố p=3, q=5, tính n = p * q = 3*5 = 15, công khai n
Đặt P = C = Zn. Tính bí mật φ(n) = (p-1).(q-1) = 2 * 4 = 8
Chọn khóa công khai b = 3 < φ(n), nguyên tố với φ(n) = 8
Khóa bí mật a = 3, là phần tử nghịch đảo của b theo mod φ(n): a*b ≡ 1 (mod φ(n))
* Ký số: Chữ ký trên x = 2 ∈ P là y = Sig k(x) = x a(mod n)= 23(mod 15) = 8, y ∈ A
* Kiểm tra chữ ký: Verk(x,y) = đúng ⇔ x ≡ yb (mod n) hay 2 ≡ 8 b(mod 15)
Trang 382.3.3.2 Độ an toàn của chữ ký RSA
Ví dụ 1 Người gửi G gửi tài liệu x cùng chữ ký y đến người nhận N, có 2 cách
xử lý như sau:
a) Ký trước, mã hóa sau:
G ký trước vào x bằng chữ ký y = SigG (x), sau đó mã hoá x và y nhận được
z = eG (x, y)
G gửi z cho N Nhận được z, N giải mã z để được x, y Tiếp theo kiểm tra chữ ký VerN (x, y) = true ?
b) Mã hóa trước, ký sau:
G mã hoá trước x bằng u = eG (x), sau đó ký vào u bằng chữ ký v = SigG (u)
G gửi (u, v) cho N Nhận được (u, v), N giải mã u được x Tiếp theo kiểm tra chữ
ký VerN (u, v) = true ?
Ví dụ 1 Giả sử H lấy trộm được thông tin trên đường truyền từ G đến N
Trong trường hợp a, H lấy được z Trong trường hợp b, H lấy được (u, v)
Để tấn công x, trong cả hai trường hợp, H đều phải giải mã thông tin lấy được
Để tấn công vào chữ ký, thay bằng chữ ký (giả mạo), thì xảy ra điều gì?
- Trường hợp a, để tấn công chữ ký y, H phải giải mã z, mới nhận được y
- Trường hợp b, để tấn công chữ ký v, H đã sẵn có v, H chỉ việc thay v bằng v’
H thay chữ ký v trên u, bằng chữ ký của H là v’ = SigH(u), gửi (u, v’) đến N Khi nhận được v’, N kiểm thử thấy sai, gửi phản hồi lại G G có thể chứng minh chữ ký đó là giả mạo G gửi chữ ký đúng v cho N, nhưng quá trình truyền tin sẽ bị chậm lại
Như vậy trong trường hợp b, H có thể giả mạo chữ ký mà không cần giải mã
Vì thế để an toàn thì chúng ta nên ký trước, sau đó mã hoá cả chữ ký rồi mới gửi
Trang 39Chương 3 MỘT SỐ MÔ HÌNH AN NINH CSDL [7]
3.1 TỔNG QUAN VỀ MÔ HÌNH AN NINH CSDL
Mục tiêu của mô hình an ninh là để tạo ra các phần mềm độc lập ở mức cao, các
mô hình khái niệm để bảo vệ các hệ thống thông tin Mô hình an ninh cho phép mô tả chức năng, cấu trúc của một hệ thống an ninh cần có, cũng như cho phép những người phát triển đưa ra những định nghĩa về bảo mật, những chính sách an ninh cần thiết cho
hệ thống Có rất nhiều mô hình an ninh được đưa ra, ta có thể phân thành hai loại mô hình an ninh chính như sau:
- Mô hình tự quyết (discretionary): Access Matrix, Take-Grant, Action-Entity,
Wood at al
- Mô hình bắt buộc (mandatory): Bell-LaPadula, Biba, Dion, The Sea View,
Jajodia & Sandhu, Smith & Winslelt, Lattice
(1) Mô hình tự quyết (Dicretionary Access Control Models - DAC)
Mô hình này đảm bảo quyền truy cập của người sử dụng đến tài nguyên của hệ thống dựa trên định danh của người sử dụng và các luật an ninh thông tin của người sử dụng đối với các đối tượng trong hệ thống Nếu người sử dụng có quyền thì có thể truy cập đến các đối tượng trong hệ thống, ngược lại sẽ bị từ chối Người sử dụng này có thể ủy quyền cho người sử dụng khác để truy cập đến tài nguyên của mình (ownership policy) Hầu hết các chuẩn chung trong việc quản trị là phân quyền sở hữu, việc phân quyền này có thể là tạo lập hoặc thu hồi quyền truy cập Do đó, mô hình an ninh này rất mềm dẻo, có thể đáp ứng được các yêu cầu đảm bảo an ninh khác nhau
(2) Mô hình bắt buộc (Mandatory Access Control Models - MAC)
Mô hình bắt buộc được dùng để bảo vệ và ngăn chặn các tiến trình máy tính, dữ liệu, và các thiết bị hệ thống khỏi sự lạm dụng Kỹ thuật này có thể mở rộng và thay thế kỹ thuật điều khiển truy cập tự quyết đối với các phép truy cập và sử dụng hệ thống tập tin (file-system permissions) cùng những khái niệm về người dùng và nhóm người dùng
Đặc trưng quan trọng nhất của MAC bao hàm việc từ chối người dùng toàn quyền truy cập/sử dụng tài nguyên do chính họ kiến tạo Chính sách an ninh của hệ thống (được quy định bởi nhà quản trị) hoàn toàn quyết định các quyền truy cập được công nhận, và một người dùng không thể tự hạn chế quyền truy cập vào các tài nguyên của họ hơn những gì mà nhà quản trị quy định (Các hệ thống dùng điều khiển truy cập
tự quyết cho phép người dùng toàn quyền quyết định quyền truy cập được công nhận cho các tài nguyên của họ, nghĩa là họ có thể cấp quyền truy cập cho những người dùng bất hợp pháp.)
Trang 40Mô hình này dựa trên việc phân lớp chủ thể (subject) và đối tượng (object) trong
hệ thống Giữa các chủ thể và đối tượng có mối quan hệ với nhau (Relationship)
Đối tượng: là các thực thể lưu giữ thông tin có tính bị động (passive), như:
Data files, Records, Fields in Record, …
Chủ thể: là các thực thể chủ động (active) có thể truy cập đến các đối tượng,
thường là các tiến trình của các người dùng
Chương này sẽ tìm hiểu một số mô hình bảo mật tự quyết và bắt buộc đã được đề xuất để bảo vệ thông tin trong hệ CSDL
HĐH
An ninh CSDL
An ninh tự quyết