Tải bản đầy đủ (.ppt) (15 trang)

GIAO THỨC XÁC THỰC KERBEROS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (733.14 KB, 15 trang )

GIAO THỨC XÁC THỰC KERBEROS
Sinh viên thực hiện:
Đoàn Lê Minh Châu
Đào Duy Đạt
Huỳnh Quốc Trưởng
Phan Đình Qui

Giáo viên hướng dẫn:
Th.s Văn Thiên Hoàng

Thành phố Hồ Chí Minh – năm 2012


GiỚI THIỆU VỀ KERBEROS
Kerberos là một giao thức chứng thực mạng, nó cho phép
các cá nhân giao tiếp với nhau trên một mạng không an toàn
bằng cách xác thực người dùng này với người dùng khác
theo một cơ chế bảo mật và an toàn. Kerberos ngăn chặn
việc nghe trộm thông tin cũng như relay attacks, và đảm bảo
tính toàn vẹn của dữ liệu. Kerberos hoạt động theo mô hình
client/server và nó thực hiện quá trình chứng thực 2 chiều –
cả người dùng và dịch vụ xác thực lẫn nhau.
Kerberos được xây dựng dựa trên mô hình mã hóa khóa đối
xứng và đòi hỏi một thành phần thứ ba tin cậy (trusted third
party) tham gia vào quá trình chứng thực.


Lịch sử và phát triển
 Kerberos được phát triển bởi MIT nhằm bảo vệ những dịch vụ được

cung cấp bởi dự án Athena. Kerberos trải qua nhiều phiên bản, trong


đó, các phiên bản từ 1 – 3 chỉ được sử dụng nội bộ bên trong MIT.
Giao thức được đặt tên dựa theo một nhân vật trong thần thoại Hy
Lạp Kerberos (hay Cerberus), đó là một con chó săn 3 đầu khổng lồ
dưới âm phủ.
Steve Miller và Clifford Neuman, những thiết kế gia chính của
Kerberos phiên bản 4, đã công bố phiên bản này vào cuối thập niên 80,
mặc dù mục đích chính của họ vẫn là dùng để phục vụ cho dự án
Athena.
Phiên bản 5, được phát triển bởi John Kohl và Clifford Neuman, xuất
hiện trong RFC 1510 vào 1993, với mục đích khắc phục những giới
hạn và các vấn đề liên quan đến bảo mật trong phiên bản 4.
Windows 2000, XP và 2003 Server sử dụng Kerberos như là một
phương pháp chứng thực mặc định.


Mô ta
Kerberos sử dụng một đối tác tin cậy thứ ba để thực hiện quá trình chứng
thực, được gọi là Trung tâm phân phối khóa (Key Distribution Center –
KDC), bao gồm 2 phần riêng biệt: một server chứng thực (Authentication
Server – AS) và một server cấp ticket (Ticket Granting Server – TGS).
Kerberos làm việc dựa trên các ticket để thực hiện quá trình chứng thực
người dùng.
Kerberos duy trì một cơ sở dữ liệu chứa các secret key; mỗi thực thể trên
mạng – client hoặc server – đều chia sẽ một secret key chỉ giữa bản thân nó
với Kerberos. Để thực hiện quá trình giao tiếp giữa 2 thực thể, Kerberos tạo
ra một session key. Khóa này dùng để bảo mật quá trình tương tác giữa các
thực thể với nhau.


Mô hình hoạt đôông của Kerberos



Hoạt đô ông của Kerberos

 Dưới đây là một mô tả về quá trình hoạt động của giao thức (AS =

Authentication Server, TGS = Ticket Granting Server, C = Client, S =
Service):
1. Người dùng nhập vào username và password ở phía client.
2.Client thực hiện thuật toán băm một chiều trên password được nhập
vào, và nó trở thành secret key của client.
3.Client gởi một message dưới dạng clear-text đến AS để yêu cầu dịch
vụ. Chú ý: không có secret key cũng như password nào được gởi đến
AS.
4.AS kiểm tra xem có tồn tại người dùng C trong cở sở dữ liệu của nó hay
không. Nếu có, nó gởi ngược lại cho client 2 message:
 Message A: chứa Client/TGS session key được mã hóa bởi secret key của

người dùng (client).
 Message B: chứa Ticket Granting Ticket (bao gồm Client ID, Client
Network Address, Ticket Validity Period, và một Client/TGS session key)
được mã hóa sử dụng secret key của TGS.


5.Khi client nhận được Message A và B, nó giải mã Message A để lấy
Client/TGS session key. Session key này được sử dụng cho quá trình giao đổi
tiếp theo với TGS. Chú ý: client không thể giải mã Message B, bởi vì nó
được mã hóa bởi secret key của TGS.
6.Khi yêu cầu dịch vụ (S), client gởi 2 message sau đến TGS:
 Message C: bao gồm Message B và ID của dịch vụ được yêu cầu.

 Message D: chứa Authenticator (gồm client ID và timestamp), được

mã hóa bởi Client/TGS session key.

7.Khi nhận được Message C và D, TGS giải mã Message D sử dụng
Client/TGS session key và gởi 2 message ngược lại cho client:
 Message E: chứa Client-to-Server Ticket (bao gồm Client ID,

Client Network Address, Ticket Validity Period, và một
Client/Service session key) được mã hóa bởi secret key của Service.
 Message F: chứa Client/Server session key được mã hóa bởi
Client/TGS session key.


8.Khi nhận được Message E và F, Client sau đó gởi một Authenticator
mới và một Client-to-Server ticket đến Server chứa dịch vụ được yêu
cầu.
 Message G: chứa Client-to-Server ticket được mã hóa sử dụng secret key

của Server.
 Message H: một Authenticator mới, chứa Client ID, Timestamp và được
mã hóa sử dụng Client/Server session key.

9.Sau đó, Server giải mã Ticket sử dụng secret key của chính nó, và gởi
một message cho client để xác nhận tính hợp lệ thực sự của client và
sự sẵn sàng cung cấp dịch vụ cho client.
 Message I: chứa giá trị Timestamp trong Authenticator được gởi bởi

client sẽ được cộng thêm 1, được mã hóa bởi Client/Server session key.


10.Client sẽ giải mã sự xác nhận này sử dụng khóa chia sẽ giữa nó với
server, và kiểm tra xem giá trị timestamp có được cập nhật đúng hay
không. Nếu đúng, Client có thể tin tưởng Server và bắt đầu đưa ra các
yêu cầu dịch vụ gởi đến Server.
11.Server cung cấp dịch vụ được yêu cầu đến client.


THIẾT KẾ GIAO DIỆN
Giao diện phía Client


Màn hình sau khi kêt nối vào TGS


Client sử dụng dich vụ


Giao diện Server
AS phan hồi gói tin cho Client


TGS phản hồi gói tin cho Client


 Kết Luận:
 -Kerberos là giao công đoạn đầu tiên và quan trọng nhất trong dịch vụ AAA

(Authentication,Authorization,Accounting).
 1.Xác thực (Authentication)


Xác thực dùng để nhận dạng (identify) người dùng. Trong suốt quá trình xác
thực, username và password của người dùng được kiểm tra và đối chiếu với
cơ sở dữ liệu lưu trong AAA Server. Tất nhiên, tùy thuộc vào giao thức mà
AAA hỗ trợ mã hóa đến đâu, ít nhất thì cũng mã hóa username và password.
2.Thẩm quyền (Authorization)
Authorization cho phép nhà quản trị điều khiển việc cấp quyền trong một
khoảng thời gian, hay trên từng thiết bị, từng nhóm, từng người dùng cụ thể
hay trên từng giao thức. AAA cho phép nhà quản trị tạo ra các thuộc tính mô
tả các chức năng của người dùng được phép làm. Do đó, người dùng phải
được xác thực trước khi cấp quyền cho người đó.
3.Tính cước (Accounting)
Accounting cho phép nhà quản trị có thể thu thập thông tin như thời gian bắt
đầu, thời gian kết thúc người dùng truy cập vào hệ thống, các câu lệnh đã
thực thi, thống kê lưu lượng, việc sử dụng tài nguyên và sau đó lưu trữ thông
tin trong hệ thống cơ sở dữ liệu quan hệ. Nói cách khác, accounting cho phép
giám sát dịch vụ và tài nguyên được người dùng sử dụng.


  Như đã nêu ở trên ,Kerberos là giao thức xác thực người dùng nên thường






được sử dụng để xác thực :
+Cơ sở dữ liệu
+Sharepoint
+Các ứng dụng Web và Share Service Provider (SSP)
+Tài khoản computer và user

+……………

Kết Thúc



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×