Cĩ hai phương thức xác thực nguồn gốc dữ liệu: xác thực dựa trên mật khẩu và xác thực dựa trên giao thức hỏi đáp.
a) Phương thức xác thực dựa trên mật khẩu
Đối với phương thức này, tồn tại 2 nguy cơ mất an tồn như sau:
- Nguy cơ thứ nhất: Mật khẩu phải truyền qua một kênh khơng an tồn. Ví dụ trong trường hợp đăng nhập từ xa sử dụng giao thức telnet yêu cầu truyền nhận dạng (ID) và mật khẩu (password) của người sử dụng ở dạng bản rõ tới máy đích. Như
vậy nguy cơ mất an tồn là cao vì phải truyền mật khẩu qua Internet - một kênh khơng an tồn.
- Nguy cơ thứ hai: mật khẩu phải được lưu trong một phương tiện lưu trữ
của máy chủ, thơng thường là máy chủ đăng nhập (login server). Việc lưu trữ mật khẩu cũng là một nguy cĩ mất an tồn cao.
b) Phương thức xác thực dựa trên các giao thức hỏi đáp
Để xác thực qua một kênh khơng an tồn, cĩ thể sử dụng một giao thức hỏi đáp
để kiểm tra xem đối tác cần xác thực cĩ sở hữu một giá trị bí mật để xác thực đối tác
đĩ hay khơng. Phương thức này khơng yêu cầu phải trao đổi các giá trị bí mật thơng qua kênh khơng an tồn. Giao thức hỏi đáp này sử dụng mã xác thực bản tin MAC hoặc chữ ký số.
Hình 4.15: Giao thức hỏi đáp MAC
Phương pháp này sử dụng một khĩa bí mật chung giữa hai đối tác. Chẳng hạn khi một người sử dụng muốn đăng nhập vào một máy chủ, máy chủ sẽ gửi một câu khẩu lệnh (challenge) tới người sử dụng, dứoi dạng một giá trị ngẫu nhiên (gọi là nonce). Để đề phịng tấn cơng kiểu lặp lại, mỗi giá trị nonce thường khơng được sử
dụng đến lần thứ hai. Người sử dụng tạo ra một trả lời (response) bằng cách ghép các giá trị ngẫu nhiên RS (nhận được từ máy chủ) với thơng số nhận dạng ID của người đĩ, sau đĩ đưa tới một hàm băm cĩ sử dụng khĩa được khởi tạo bởi một khĩa bí mật. Bản thân hàm băm để tăng tính an tồn. Kết quả của hàm băm là mã MAC, cùng với thơng số
nhận dạng ID sẽđược gửi tới máy chủ. Với đặc tính một chiều của MAC, dữ liệu được truyền đi trên kênh khơng an tồn sẽ khơng để lộ bất cứ thơng tin nào về khĩa bí mật.
Máy chủ dựa vào các thơng tin mà nĩ cĩ (bao gồm ID, RU, RS, khĩa bí mật) để
tính giá trị MAC, sau đĩ so sánh với MAC mà người sử dụng gửi đi. Nếu người sử
dụng cĩ đúng khĩa bí mật sử dụng chung thì hai giá trị này trùng khớp với nhau và quá trình xác thực thành cơng.
Giao thức xác thực sử dụng chữ ký số
Giao thức hỏi đáp cũng cĩ thể dựa trên chữ ký số, sử dụng mật mã khĩa cơng khai. Người sử dụng là người duy nhất cĩ khĩa bí mật, cịn một server bất kỳ đề cĩ khĩa cơng khai tương ứng của người sử dụng đĩ nếu muốn xác thực. Người sử dụng tạo ra một mã hash từ các thơng tin: ID, RS (nhận được từ máy chủ như một khẩu
Giá trị ngẫu nhiên (Nonce)
Kênh khơng an tồn
IDU RU RS
Key Keyed Hash Function
IDU RU MAC IDU RU RS RS
Key Keyed Hash Function
MAC MAC Khẩu lệnh
Đáp
lệnh), RU. Bằng cách mật mã giá trị hash với khĩa bí mật, sẽ tạo thành một chữ ký số để gửi lại máy chủ (như một trả lời).
Các hệ thống mật mã khĩa cơng khai đã trở nên thơng dụng vì khĩa cơng khai khơng cần phải giữ bí mật và do đĩ cĩ thểđược phân phối một cách rộng rãi. Vì vậy, khi một máy chủ xác thực một người sử dụng bằng cách kiểm tra chữ ký trên cơ sở
khĩa cơng khai của người sử dụng đĩ thì vấn đềđặt ra là liệu cặpkhĩa cơng khai/ bí mật sử dụng trong quá trình xác thực cĩ thực sự thuộc về người sử dụng này hay khơng.
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số
Nếu khĩa cơng khai sử dụng trong quá trình xác thực được lấy từ một thư mục cơng cộng thì một tấn cơng kiểu trung gian (man-in-the-middle attack) cĩ thể dễ dàng thay thế khĩa cơng khai của người sử dụng bằng một khĩa cơng khai của kẻ tấn cơng.
Đây chính là nguyên nhân dẫn đến việc hình thành các chứng thực (certificate). Các chứng thực thiết lập một mối liên hệ tin cậy giữa nhận dạng người sử dụng và khĩa cơng khai của người đĩ.