Bảo toàn dữ liệu bằng hàm băm

Một phần của tài liệu an ninh cơ sở dữ liệu (Trang 35 - 36)

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.

Một phần của tài liệu an ninh cơ sở dữ liệu (Trang 35 - 36)