DDBMS - Bảo mật cơ sở dữ liệu & Mật mã
Trong chương này, chúng ta sẽ xem xét các mối đe dọa mà hệ thống cơ sở dữ liệu phải đối mặt và các biện pháp kiểm soát. Chúng tôi cũng sẽ nghiên cứu mật mã như một công cụ bảo mật.
Bảo mật cơ sở dữ liệu và các mối đe dọa
Bảo mật dữ liệu là một khía cạnh bắt buộc của bất kỳ hệ thống cơ sở dữ liệu nào. Nó có tầm quan trọng đặc biệt trong các hệ thống phân tán vì số lượng lớn người dùng, dữ liệu bị phân mảnh và sao chép, nhiều trang web và kiểm soát phân tán.
Các mối đe dọa trong cơ sở dữ liệu
Availability loss - Mất tính khả dụng đề cập đến sự không sẵn có của các đối tượng cơ sở dữ liệu bởi những người dùng hợp pháp.
Integrity loss- Mất tính toàn vẹn xảy ra khi các hoạt động không được chấp nhận được thực hiện trên cơ sở dữ liệu do vô tình hoặc cố ý. Điều này có thể xảy ra khi tạo, chèn, cập nhật hoặc xóa dữ liệu. Nó dẫn đến dữ liệu bị hỏng dẫn đến các quyết định không chính xác.
Confidentiality loss- Mất bí mật xảy ra do tiết lộ thông tin bí mật trái phép hoặc không cố ý. Nó có thể dẫn đến các hành động bất hợp pháp, các mối đe dọa an ninh và mất niềm tin của công chúng.
Các biện pháp kiểm soát
Các biện pháp kiểm soát có thể được chia thành các loại sau:
Access Control- Kiểm soát truy cập bao gồm các cơ chế bảo mật trong hệ quản trị cơ sở dữ liệu để bảo vệ chống lại các truy cập trái phép. Người dùng có thể có quyền truy cập vào cơ sở dữ liệu sau khi xóa quá trình đăng nhập chỉ thông qua các tài khoản người dùng hợp lệ. Mỗi tài khoản người dùng được bảo vệ bằng mật khẩu.
Flow Control- Hệ thống phân tán bao gồm nhiều luồng dữ liệu từ trang này sang trang khác và cả trong một trang. Kiểm soát luồng ngăn không cho dữ liệu được truyền theo cách mà nó có thể bị truy cập bởi các tác nhân không được phép. Chính sách luồng liệt kê các kênh mà thông tin có thể chảy qua. Nó cũng định nghĩa các lớp bảo mật cho dữ liệu cũng như các giao dịch.
Data Encryption- Mã hóa dữ liệu đề cập đến việc mã hóa dữ liệu khi dữ liệu nhạy cảm được truyền thông qua các kênh công khai. Ngay cả khi một tác nhân trái phép có được quyền truy cập vào dữ liệu, anh ta cũng không thể hiểu được dữ liệu đó vì nó ở định dạng khó hiểu.
Mật mã là gì?
Cryptography là khoa học về mã hóa thông tin trước khi gửi qua các đường truyền thông tin không đáng tin cậy để chỉ người nhận được ủy quyền mới có thể giải mã và sử dụng.
Tin nhắn được mã hóa được gọi là cipher text và tin nhắn gốc được gọi là plain text. Quá trình chuyển đổi văn bản thuần túy sang văn bản mật mã bởi người gửi được gọi là mã hóa hoặcencryption. Quá trình chuyển đổi văn bản mật mã sang văn bản thuần túy bởi người nhận được gọi là giải mã hoặcdecryption.
Toàn bộ quy trình giao tiếp bằng mật mã có thể được minh họa thông qua sơ đồ sau:
Các phương pháp mã hóa thông thường
Trong mật mã thông thường, việc mã hóa và giải mã được thực hiện bằng cùng một khóa bí mật. Ở đây, người gửi mã hóa thư bằng một thuật toán mã hóa sử dụng một bản sao của khóa bí mật. Sau đó, tin nhắn được mã hóa sẽ được gửi qua các kênh liên lạc công cộng. Khi nhận được thông điệp được mã hóa, người nhận sẽ giải mã nó bằng một thuật toán giải mã tương ứng sử dụng cùng một khóa bí mật.
Bảo mật trong mật mã thông thường phụ thuộc vào hai yếu tố:
Một thuật toán âm thanh được tất cả mọi người biết đến.
Một khóa bí mật dài được tạo ngẫu nhiên, tốt nhất là chỉ người gửi và người nhận biết.
Thuật toán mật mã thông thường nổi tiếng nhất là Data Encryption Standard hoặc là DES.
Ưu điểm của phương pháp này là dễ áp dụng. Tuy nhiên, vấn đề lớn nhất của mật mã thông thường là chia sẻ khóa bí mật giữa các bên giao tiếp. Cách gửi chìa khóa rườm rà và rất dễ bị nghe trộm.
Mật mã khóa công khai
Trái ngược với mật mã thông thường, mật mã khóa công khai sử dụng hai khóa khác nhau, được gọi là khóa công khai và khóa cá nhân. Mỗi người dùng tạo cặp khóa công khai và khóa cá nhân. Sau đó, người dùng đặt khóa công khai ở một nơi có thể truy cập được. Khi người gửi muốn gửi một tin nhắn, anh ta sẽ mã hóa nó bằng khóa công khai của người nhận. Khi nhận được tin nhắn được mã hóa, người nhận sẽ giải mã nó bằng khóa riêng của mình. Vì khóa riêng tư không ai biết ngoại trừ người nhận, nên không ai khác nhận được tin nhắn có thể giải mã được.
Các thuật toán mật mã khóa công khai phổ biến nhất là RSA thuật toán và Diffie– Hellmanthuật toán. Phương pháp này rất an toàn để gửi tin nhắn riêng tư. Tuy nhiên, vấn đề là, nó liên quan đến rất nhiều tính toán và do đó chứng tỏ là không hiệu quả đối với các tin nhắn dài.
Giải pháp là sử dụng kết hợp mật mã khóa công khai và thông thường. Khóa bí mật được mã hóa bằng mật mã khóa công khai trước khi chia sẻ giữa các bên giao tiếp. Sau đó, thông điệp được gửi bằng mật mã thông thường với sự hỗ trợ của khóa bí mật được chia sẻ.
Chữ ký kỹ thuật số
Chữ ký số (DS) là một kỹ thuật xác thực dựa trên mật mã khóa công khai được sử dụng trong các ứng dụng thương mại điện tử. Nó liên kết một dấu hiệu duy nhất cho một cá nhân trong nội dung thông điệp của anh ta. Điều này giúp người khác xác thực người gửi tin nhắn hợp lệ.
Thông thường, chữ ký điện tử của người dùng thay đổi theo từng tin nhắn để cung cấp bảo mật chống lại việc làm giả. Phương pháp như sau:
Người gửi nhận một tin nhắn, tính toán thông báo tóm tắt của tin nhắn và ký thông báo thông báo bằng khóa riêng tư.
Sau đó, người gửi sẽ bổ sung thông báo đã ký cùng với thông điệp văn bản rõ ràng.
Tin nhắn được gửi qua kênh liên lạc.
Người nhận xóa thông báo đã ký được thêm vào và xác minh thông báo bằng cách sử dụng khóa công khai tương ứng.
Sau đó, máy thu nhận thông điệp bản rõ và chạy nó thông qua cùng một thuật toán tổng hợp thông báo.
Nếu kết quả của bước 4 và bước 5 khớp nhau, thì người nhận biết rằng tin nhắn có tính toàn vẹn và xác thực.