Thứ Tư, 13 tháng 4, 2011

Giao thức xác thực CHAP (Challenge-handshake authentication protocol)

Tạm dịch là giao thức xác thực thử thách-bắt tay.Tại sao lại thử thách - bắt tay.Ta sẽ đi tìm hiểu từng khái niệm để làm rõ giáo thức này vậy
Chap là mô hình xác thực dựa trên username và password.Ta xét trường hợp 2 router sử dụng giao thức xác thực Chap.
Router 1 và Router 2 có cùng một password chung được thiết lập trước đó.Router 1 muốn kết nối đến router 2 thì nó phải chứng minh được rằng nó nắm bí mật (chính là password) giữa chúng.Khác với giao thức PAP truyền pass dưới dạng clear text .Giao thức Chap truyên một giá trị hash mà giá trị đầu vào là password và các trường khác .Để vượt qua được thử thách thì giá trị hash sau khi tính toán của 2 bên phải giống nhau
 Các bước như sau
Bước 1: Router1 Gửi yêu cầu kết nối tới Router 2

Bước 2: Router2 sẽ gửi lại Router 1 một bản tin có các trường chính sau đây:
01 - Xác định loại bản tin là: challenge
ID - Xác định phiên đó - trường này có tác dụng chống hình thức tấn công gửi lại khi bên thứ 3 bắt được gói tin
random - số ngẫu nhiên sinh bởi Router 2
Router2 - Tên xác thực của nó - Tên của router 2 .tên này sẽ có trong cơ sở dữ liệu của router 1 và tương ứng sẽ là password kèm theo user này.
Bước 3: Route1 nhận được bản tin challenge(code=01) sẽ xử lý như sau:
Lấy ID, random ở bản tin challenge gửi sang, rồi căn cứ vào tên xác thực là router2 để tìm ra password xác thực. - lúc này router 1 đã có các thông tin như : ID , số ngẫu nhiên và password tương ứng với username router2-
3 thông số đó được lấy làm đầu vào hàm băm MD5 Hash. Đầu ra là một giá trị gọi là số hassh.
Sau khi xử lý xong, Router 1 sẽ gửi lại Router2 một bản tin có code =02, gọi là bản tin response.
Trong bản tin này có 2 trường vẫn giữ nguyên giá trị như bản tin challenge là: ID và random. Ngoài ra còn có thêm kết quả của hàm hash, tên xác thực của Router1 cũng được gửi đi.
Bước 4: Router 2 nhận được kết bản tin response từ Router1. Nó tìm kiếm password tương ứng với username mà nó nhận được.
Sau đó nó cũng tính toán giá trị MD5 Hash với 3 thông số đầu vào: ID, random và password vừa tim.
Cuối cùng nó so sánh giá trị 2 hàm Hash: giá trị nó tự tính toán và giá trị nó nhận được.
Bước 5:
- Nếu giá trị nó tính và giá trị nó nhận được giống nhau thì gửi bản tin có code=03, succcess
- Nếu không giống nhau thì gửi bản tin có code=04, faile.

Nếu Router1 nhận được bản tin code=03 thì quá trình xác thực kết thúc.
Còn không thì xác thực ko thành công và kết nối bị Faile.

Không có nhận xét nào:

Đăng nhận xét