Hashing Hàm làm rối

Một phần của tài liệu Bảo mật dữ liệu đầu vào cho mạng 3G (Trang 39)

Hàm làm rối là một phương thức mật mã nhưng nó không phải là một thuật toán mã hoá. Hàm làm rối chỉ sử dụng một chứng chỉ số duy nhất được biết đến với tên như "hash value - giá trị hash", "hash - băm", Message Authentication Code (MAC), fingerprint - vân tay, hay một đoạn tin nhắn. Dữ liệu đầu vào của bạn có thể là một file, một ổ đĩa, một quá trình truyền thông tin trên mạng hay một bức thư điện tử. Thông số hash value được sử dụng để phát hiện khi có sự thay đổi của tài nguyên. Nói cách khác, hàm băm sử dụng nó để phát hiện ra dữ liệu có toàn vẹn trong quá trình lưu trữ hay trong khi truyền hay không.

Hình 2.2: Ví dụ về thống số MAC

Thông số hash value được tính toán để so sánh với thông số hash value được tạo ra trước đó một tuần. Nếu hai thông số giống nhau thì dữ liệu chưa có sự thay đổi. Nếu hai thông số có sự khác nhau, thì dữ liệu đã bị thay đổi. Hình 2.2 thể hiện một cách cơ bản về hash hay thông số MAC. Thông số giá trị MAC được tính toán bởi người gửi (sender) và người nhận (receive) với cùng một thuật toán.

Không như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu thành một dạng mật mã, quá trình hashing sử dụng một thông số hash value và không thay

đổi dữ liệu ban đầu. Do những tính năng đặc biệt, hashing có thể sử dụng để bảo vệ và kiểm tra tính toàn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để kiểm tra khi có một tiến trình sao chép được thực hiện và đảm bảo tính chính xác của dữ liệu khi chúng được sao chép.

Ví dụ, Message Digest 5 (MD5) là một thuật toán hash với 128-byte hash. Điều này có nghĩa không có vấn đề với dữ liệu đầu vào và dữ liệu đầu ra sau quá trình hash bởi nó luôn luôn thêm vào 128 bytes. Sức mạnh của quá trình hashing là nó được thực hiện một chiều và không thể có phương thức nào có thể thực hiện ngược lại được để chuyển đổi thông số hash thành dữ liệu ban đầu. Nếu một vài người có được các thông số hash của bạn, họ không thể lấy được dữ liệu ban đầu. Tuy nhiên đó không phải là phương thức mật mã không thể tấn công. Hashing có thể bị tấn công bởi các phương thức đảo ngược hay tấn công ngày sinh (birthday attack). Phương thức tấn công bình thường sử dụng đó là các công cụ password-cracking. Hầu hết các hệ thống lưu trữ mật khẩu trong dữ liệu tài khoản và được hashed (băm). Hashs không thể thực hiện ngược lại, bởi đó là một giải pháp bảo mật, có nghĩa không có công cụ nào có thể chuyển ngược lại một mật khẩu được hash thành một mật khẩu nguyên bản chưa được hash. Tuy nhiên thuật toán nào cũng có những bất cập riêng, việc sử dụng các phần mềm, password crackers cũng có thể phát hiện ra đoạn mã thêm vào dữ liệu ban đầu và chỉ cần xoá đoạn hash value đi là có thể truy cập bình thường.

Những thuật toán băm thường được sử dụng:

- Giải thuật băm an toàn (SHA-1) với giá trị hash 160-byte. - Giải thuật tiêu hóa tin 5 (MD5) với giá trị hash 128-byte. - Giải thuật tiêu hóa tin 4 (MD4) với -128-byte hash value. - Giải thuật tiêu hóa tin 2 (MD2) với -128-byte hash value.

2.3.5. Nhận thực

Nhận thực đảm bảo rằng người dùng đang thông tin với bạn của mình chứ không bị mắc lừa bởi người khác? Nhận thực có thể giải quyết bằng sử dụng mật mã hóa công khai.

Một ví dụ đơn giản: User A muốn biết User B (người đang liên lạc với mình) có đúng là bạn của mình hay không? Bằng cách: trước hết, User A sử dụng khóa công khai của User B để mật mã hóa tên và số ngẫu nhiên A, sau đó gửi tới User B. Sau khi nhận được bản tin, User B sử dụng khóa riêng của mình (khóa riêng B) để giải mật mã đồng thời tiến hành mật mã hóa số ngẫu nhiên của mình (B) và số ngẫu nhiên của A cộng với khóa chia sẻ phiên bằng cách sử dụng khóa công khai B. Sau đó gửi trả lại User A, người này nhận được bản tin và có thể biết rằng bản tin này có thật sự được User B phát hay không, bằng cách kiểm tra số ngẫu nhiên A. Tiếp theo, User A lại sử dụng khóa riêng chia sẻ phiên để mật mã hóa số ngẫu nhiên B. Sau đó gửi tới User B

phân tích bản tin nhận được, User B có thể tin chắc rằng User A đã nhận được bản tin đúng, bằng cách kiểm tra số ngẫu nhiên B. Như vậy, những người khác không thể đọc được các bản tin này vì họ không thể tạo ra được các số ngẫu nhiên đúng.

Một phần của tài liệu Bảo mật dữ liệu đầu vào cho mạng 3G (Trang 39)