Kerberos là mụ ̣t giao thƣ́c chƣ́ng thƣ̣c ma ̣ng , nú cho phộp cỏc cỏ nhõn giao tiờ́p với nhau trờn mụ ̣t ma ̣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ƣ tấn cụng thay thế và đảm bảo tí nh
toàn vẹn của dữ liệu. Kerberos hoa ̣t đụ ̣ng theo mụ hình mỏy trạm/ mỏy chủ 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 tham gia vào quá trình chƣ́ng thƣ̣c.
II.2.3.1 Mụ tả giao thức
Kerberos sƣ̉ du ̣ng mụ ̣t đụ́i tác tin cõ ̣y thƣ́ ba đờ̉ thƣ̣c hiờ ̣n quá trình chƣ́ng thƣ̣c đƣợc go ̣i là Trung tõm phõn phụ́i khóa bao gụ̀m 2 phõ̀n riờng biờ ̣t : mụ ̣t mỏy chủ chƣ́ng thƣ̣c (AS) và một mỏy chủ cấp thẻ (TGS). Kerberos làm viờ ̣c dƣ̣a trờn các thẻ đờ̉ 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 khoỏ bớ mật . Mụ̃i thƣ̣c thờ̉ trờn mạng(mỏy trạm hoă ̣c mỏy chủ ) đều chia sẽ một khoỏ bớ mật chỉ giữa bản thõn
- 42 -
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 khoỏ phiờn . 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.
II.2.3.2 Hoạt động của Kerberos
Quỏ trỡnh hoạt động của giao thức (AS = Mỏy chủ xỏc thực, TGS = Mỏy chủ cấp thẻ, C = Mỏy trạm, S = Dịch vụ):
1. Ngƣời dùng nhõ ̣p vào tờn truy cập và mật khẩu ở phía mỏy trạm.
2. Mỏy trạm thƣ̣c hiờ ̣n thuõ ̣t toán băm mụ ̣t chiờ̀u trờn mật khẩu đƣợc nhõ ̣p
vào và nú trở thành khoỏ bớ mật của mỏy trạm.
3. Mỏy trạm gởi mụ ̣t thụng điệp dƣới da ̣ng bản rừ đờ́n AS đờ̉ yờu cõ̀u di ̣ch
vụ. Khụng có khoỏ bớ mật cũng nhƣ mật khẩu nào đƣợc gởi đờ́n AS.
4. AS kiờ̉m tra xem có tụ̀n ta ̣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 mỏy trạm 2 thụng điệp:
oThụng điệp A : chƣ́a khoỏ phiờn Mỏy trạm /TGS đƣợc mã hóa bởi
khoỏ bớ mật của ngƣời dùng.
oThụng điệp B: chƣ́a Thẻ (bao gụ̀m ID của mỏy trạm , địa chỉ mạng
của mỏy trạm , kỳ hạn thẻ cú giỏ trị và mụ ̣t khoỏ phiờn mỏy trạm/TGS) đƣợc mã hóa sƣ̉ du ̣ng khoỏ bớ mật của TGS.
5. Khi mỏy trạm nhõ ̣n đƣợc thụng điệp A và B , nú giải mó thụng điệp A
để lấy kho ỏ phiờn mỏy trạm /TGS. Khoỏ phiờn này đƣợc sƣ̉ du ̣ng cho quỏ trỡnh giao đổi tiếp theo với TGS . Ở đõy mỏy trạm khụng thờ̉ giải mó thụng điệp B bởi vỡ nú đƣợc mó húa bởi khoỏ bớ mật của TGS.
6. Khi yờu cõ̀u di ̣ch vu ̣ (S), mỏy trạm gởi 2 thụng điệp sau đờ́n TGS:
oThụng điệp C: Gụ̀m thụng điệp B và ID của di ̣ch vu ̣ đƣợc yờu cõ̀u
oThụng điệp D: chƣ́a Authenticator (gụ̀m ID mỏy trạm và timestamp )
đƣợc mã hóa bởi khoỏ phiờn Mỏy trạm/TGS.
- 43 -
oThụng điệp E: chƣ́a thẻ (mỏy trạm đến mỏy chủ ) (bao gụ̀m ID mỏy
trạm, địa chỉ mạng của mỏy trạm , kỳ hạn thẻ cú giỏ trị và mụ ̣t khoỏ phiờn mỏy trạm/dịch vụ) đƣợc mã húa bởi khoỏ bớ mật của dịch vụ.
oThụng điệp F: chƣ́a khoỏ phiờn của mỏy trạm/mỏy chủ đƣợc mã hóa
bởi khoỏ phiờn mỏy trạm/TGS.
8. Khi nhõ ̣n đƣợc thụng điệp E và F , mỏy trạm sau đó gởi mụ ̣t
Authenticator mới và mụ ̣t thẻ (mỏy trạm đến mỏy chủ ) đến mỏy chủ chƣ́a di ̣ch vu ̣ đƣợc yờu cõ̀u.
oThụng điệp G : chƣ́a thẻ (mỏy trạm đến mỏy chủ ) đƣợc mã hóa sƣ̉
dụng khoỏ bớ mật của mỏy chủ.
oThụng điệp H : mụ ̣t Authenticator mới chƣ́a ID mỏy trạm ,
Timestamp và đƣợc mã hóa sƣ̉ du ̣ng khoỏ phiờn mỏy trạm/mỏy chủ.
9. Sau đó, mỏy chủ giải mã thẻ sƣ̉ du ̣ng khoỏ bớ mật của chính nó , và gởi
mụ ̣t thụng điệp cho mỏy trạm đờ̉ xác nhõ ̣n tính hợp lờ ̣ thƣ̣c sƣ̣ của mỏy trạm và sƣ̣ sẵn sàng cung cṍp di ̣ch vu ̣ cho mỏy trạm.
oThụng điệp I: chƣ́a giá tri ̣ T imestamp trong Authenticator đƣợc gởi
bởi mỏy trạm sẽ đƣợc cụ ̣ng thờm 1, đƣợc mã hóa bởi khoỏ phiờn mỏy trạm/mỏy chủ.
10.Mỏy trạm sẽ giải mã sƣ̣ xác nhõ ̣n này sƣ̉ du ̣ng khóa chia sẽ giƣ̃a nó với
mỏy chủ, và kiểm tra xem giỏ trị timestam p có đƣợc cõ ̣p nhõ ̣t đúng hay khụng. Nờ́u đúng, mỏy trạm có thờ̉ tin tƣởng mỏy chủ và bắt đõ̀u đƣa ra cỏc yờu cầu dịch vụ gởi đến mỏy chủ.
11.Mỏy chủ cung cṍp di ̣ch vu ̣ đƣợc yờu cõ̀u đờ́n mỏy trạm.
II.2.3.3 Hạn chế của Kerberos
Kerberos thớch hợp cho việc cung cấp cỏc dịch vụ xỏc thực, phõn quyền và bảo đảm tớnh mật của thụng tin trao đổi trong phạm vi một mạng hay một tập hợp nhỏ cỏc mạng. Tuy nhiờn, nú khụng thật thớch hợp cho một số chức năng khỏc, chẳng hạn nhƣ ký điện tử (yờu cầu đỏp ứng cả hai nhu cầu xỏc thực và
- 44 -
bảo đảm khụng chối cói đƣợc).Một trong những giả thiết quan trọng của giao thức Kerberos là cỏc mỏy chủ trờn mạng cần phải tin cậy đƣợc. Ngoài ra, nếu ngƣời dựng chọn những mật khẩu dễ đoỏn thỡ hệ thống dễ bị mất an toàn trƣớc kiểu tấn cụng từ điển, tức là kẻ tấn cụng sẽ sử dụng phƣơng thức đơn giản là thử nhiều mật khẩu khỏc nhau cho đến khi tỡm đƣợc giỏ trị đỳng
Do hệ thống hoàn toàn dựa trờn mật khẩu để xỏc thực ngƣời dựng, nếu bản thõn cỏc mật khẩu bị đỏnh cắp thỡ khả năng tấn cụng hệ thống là khụng cú giới hạn. Điều này dẫn đến một yờu cầu rất căn bản là Trung tõm phõn phối khúa cần đƣợc bảo vệ nghiờm ngặt. Nếu khụng thỡ toàn bộ hệ thống sẽ trở nờn mất an toàn.