You are on page 1of 31

Đề tài: KERBEROS

GV hướng dẫn:
Nhóm SV thực hiện: 1. Lê Vũ Phong
2. Lê Hồ Chí Quốc
Lớp: HTTT K30
MỤC LỤC
I. NHỮNG KHÁI NIỆM LIÊN QUAN
1. An toàn thông tin
1.1 Khái niệm
An toàn nghĩa là thông tin được bảo vệ, các hệ thống và những dịch vụ có
khả năng chống lại những tai hoạ, lỗi và sự tác động không mong đợi, các
thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất. Hệ thống có một
trong các đặc điểm sau là không an toàn: Các thông tin dữ liệu trong hệ
thống bị người không được quyền truy nhập tìm cách lấy và sử dụng (thông
tin bị rò rỉ). Các thông tin trong hệ thống bị thay thế hoặc sửa đổi làm sai
lệch nội dung (thông tin bị xáo trộn)...
Thông tin chỉ có giá trị cao khi đảm bảo tính chính xác và kịp thời, hệ thống
chỉ có thể cung cấp các thông tin có giá trị thực sự khi các chức năng của hệ
thống đảm bảo hoạt động đúng đắn. Mục tiêu của an toàn bảo mật trong
công nghệ thông tin là đưa ra một số tiêu chuẩn an toàn. Ứng dụng các tiêu
chuẩn an toàn này vào đâu để loại trừ hoặc giảm bớt các nguy hiểm. Do kỹ
thuật truyền nhận và xử lý thông tin ngày càng phát triển đáp ứng cácyêu
cầu ngày càng cao nên hệ thống chỉ có thể đạt tới độ an toàn nào đó. Quản lý
an toàn và sự rủi ro được gắn chặt với quản lý chất lượng. Khi đánh giá độ
an toàn thông tin cần phải dựa trên phân tích các rủi ro, tăng sự an toàn bằng
cách giảm tối thiểu rủi ro. Các đánh giá cần hài hoà với đặc tính, cấu trúc hệ
thống và quá trình kiểm tra chất lượng.
Hiện nay các biện pháp tấn công càng ngày càng tinh vi, sự đe doạ tới độ an
toàn thông tin có thể đến từ nhiều nơi theo nhiều cách chúng ta nên đưa ra
các chính sách và phương pháp đề phòng cần thiết.
1.2 Taị sao phải quan tâm đến an toàn thông tin?
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ
về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển
ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm
ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an
toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và
trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an
toàn thông tin dữ liệu. Các phương pháp bảo vệ an toàn thông tin dữ liệu có
thể được quy tụ vào ba nhóm sau:
Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường
khó bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xân
nhập nhất đó là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và
kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp
thuật toán. An toàn thông tin bao gồm các nội dung sau:
Đảm bảo tính tin cậy (Confidentiality): Thông tin không thể bị truy nhập trái
phép bởi những người không có thẩm quyền.
Đảm bảo tính nguyên vẹn (Integrity): Thông tin không thể bị sửa đổi, bị làm
giả bởi những người không có thẩm quyền.
Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng để đáp ứng sử
dụng cho người có thẩm quyền.
Đảm bảo tính không thể từ chối (Non-repudiation): Thông tin được cam kết
về mặt pháp luật của người cung cấp.
Xác định càng chính xác các nguy cơ nói trên thì càng quyết định được tốt
các giải pháp để giảm thiểu các thiệt hại. Có hai loại hành vi xâm phạm
thông tin dữ liệu đó là: vi phạm chủ động và vi phạm thụ động. Vi phạm thụ
động chỉ nhằm mục đích cuối cùng là nắm bắt được thông tin (đánh cắp
thông tin). Việc làm đó có khi không biết được nội dung cụ thể nhưng có
thể dò ra được người gửi, người nhận nhờ thông tin điều khiển giao thức
chứa trong phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số
lượng, độ dài và tần số trao đổi.
Vì vậy vi pham thụ động không làm sai lệch hoặc hủy hoại nội dung thông
tin dữ liệu được trao đổi. Vi phạm thụ động thường khó phát hiện nhưng có
thể có những biện pháp ngăn chặn hiệu quả. Vi phạm chủ động là dạng vi
phạm có thể làm thay đổi nội dung, xóa bỏ, làm trễ, xắp xếp lại thứ tự hoặc
làm lặp lại gói tin tại thời điểm đó hoặc sau đó một thời gian. Vi phạm chủ
động có thể thêm vào một số thông tin ngoại lai để làm sai lệch nội dung
thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn chặn hiệu
quả thì khó khăn hơn nhiều.
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào
là an toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng
không thể đảm bảo là an toàn tuyệt đối.
2. Giao thức xác thực
2.1 Khái niệm
Xác thực-Authentication là một hành động nhằm thiết lập hoặc chứng thực
một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời
khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác thực một đối
tượng còn có nghĩa là công nhận nguồn gốc (provenance) của đối tượng
trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của
họ. Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác
thực (authentication factors) để minh chứng cụ thể.
Trong an ninh máy tính xác thực là một quy trình nhằm cố gắng xác
minh nhận dạng số (digital identity) của phần truyền gửi thông tin (sender)
trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập. Phần gửi
cần phải xác thực có thể là một người dùng sử dụng một máy tính, bản thân
một máy tính hoặc một chương trình ứng dụng máy tính (computer
program). Ngược lại Sự tin cậy mù quáng (blind credential) hoàn toàn không
thiết lập sự đòi hỏi nhận dạng, song chỉ thiết lập quyền hoặc địa vị hẹp hòi
của người dùng hoặc của chương trình ứng dụng mà thôi.
Đinh nghĩa toán học Một mã xác thực là một bộ 4 (S,R,K,C) thoả mãn các
điều kiện sau :
 S là tập hữu hạn các trạng thái nguồn có thể
 A là tập hợp các nhãn xác thực có thể
 K là một tập hữu hạn các khoá có thể (không gian khoá)
 Với mỗi kK có một quy tắc xác thực ek : S→R
 Tập bản tin được xác định bằng C=S→R
Chú ý một trạng thái nguồn tương đương với một bản rõ.Một bản tin
gồm một bản rõ với một nhãn xác thực kèm theo,một cách chính xác hơn có
thể coi đó là là một bản tin đã được xác nhận.Một quy tắc xác thực không
nhất thiết phải là hàm đơn ánh.
Để phát một thông báo (đã được kí).Alice và Bob phải tuân theo giao
thức sau.Trước tiên họ phải chọn một khoá ngẫu nhiên K∈K.Điều này được
thực hiện một cách bí mật như trong hệ mật khoá bi mật. Sau đó giả sử rằng
Alice muốn gửi một trạng thái nguồn sS cho Bob trong một kênh không an
toàn.Alice sẽ tính a=ek(s) và gửi bản tin (s, a) cho Bob.Khi nhận được (s, a)
Bob tính a’=eK(s).Nếu a=a’ thì Bob chấp nhận bản tin là xác thực,ngược lại
Bob sẽ loại bỏ nó.
Ta sẽ nghiên cứu hai kiểu tấn công khác nhau mà Oscar có thể tiến
hành.Trong cả hai loại này, Oscar sẽ là’’kẻ xâm nhập vào giưa cuộc’’.Các
phép tấn công này được mô tả như sau:
 Giả mạo
Oscar đưa ra một bản tin (s, a) vào kênh và hi vọng nó sẽ được Bob
chấp nhận.

 Thay thế
Oscar quan sát một bản tin trong (s, a) kênh, sau đó anh ta biến đổi nó
thành (s’,a’), trong đó s’=s và hi vọng được Bob chấp nhận như một bản tin
xác thực .Bởi vậy anh ta tin sẽ lái được Bob đi tới trạng thái nguồn mới này

Ứng với mỗi phương pháp này là một xác xuất lừa bịp, là xác suất để
Oscar thành công trong việc lừa Bob nếu anh ta (Oscar) tuân thủ một chiến
lược tối ưu. Các xác suất này được kí hiệu là Pd 0 (trường hợp giảmạo) và
Pd1 (trường hợp thay thế). Để tình Pd 0 và Pd1 ta cần phải xác định các phân
bố xác suất trên S vàK. Các xác suất này được kí hiệu tương ứng là Ps và Pk.
Giả sử rằng Oscar đã biết mã xác thực và hai phân bố xác suất này. Chỉ
có một thông tin mà Alice và Bob có nhưng mà Oscar không được biết là giá
trị của khoá.
2.1 Các phương pháp xác thực
2.1.1 Xác thực dựa trên user name và password
Sự kết hợp của một user name và password là cách xác thực cơ bản nhất.
Với kiểu xác thực này, chứng từ ủy nhiệm User được đối chiếu với chứng từ
được lưu trữ trên database hệ thống , nếu trùng khớp username và password,
thì user được xác thực và nếu không User bị cấm truy cập. Phương thức này
không bảo mật lắm vì chứng từ xác nhận User được gửi đi xác thực trong
tình trạng plain text, tức không được mã hóa và có thể bị tóm trên đường
truyền.

2.2.1 Challenge handshake authentication protocol (CHAP)


Challenge Handshake Authentication Protocol (CHAP) cũng là mô
hình xác thực dựa trên user name/password. Khi user cố gắng log on, server
đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thử thách (challenge
message) trở lại máy tính User. Lúc này máy tính User sẽ phản hồi lại user
name và password được mã hóa. Server xác thực sẽ so sánh phiên bản xác
thực User được lưu giữ với phiên bản mã hóa vừa nhận , nếu trùng khớp,
user sẽ được authenticated. Bản thân Password không bao giờ được gửi qua
network.
Phương thức CHAP thường được sử dụng khi User logon vào các
remote servers của cty chẳng hạn như RAS server. Dữ liệu chứa password
được mã hóa gọi là password băm (hash password). Một gói băm là một loại
mã hóa không có phương cách giải mã.
2.2.3 Kerberos
Kerberos authentication dùng một Server trung tâm để kiểm tra việc
xác thực user và cấp phát thẻ thông hành (service tickets) để User có thể truy
cập vào tài nguyên. Kerberos là một phương thức rất an toàn trong
authentication bởi vì dùng cấp độ mã hóa rất mạnh. Kerberos cũng dựa trên
độ chính xác của thời gian xác thực giữa Server và Client Computer, do đó
cần đảm bảo có một time server hoặc authenticating servers được đồng bộ
time từ các Internet time server. Kerberos là nền tảng xác thực chính của
nhiều OS như Unix, Windows
2.2.4 Tokens
Tokens là phương tiện vật lý như các thẻ thông minh (smart cards) hoặc
thẻ đeo của nhân viên (ID badges) chứa thông tin xác thực. Tokens có thể
lưu trữ số nhận dạng cá nhân-personal identification numbers (PINs), thông
tin về user, hoặc passwords. Các thông tin trên token chỉ có thể được đọc và
xử lý bởi các thiết bị đặc dụng, ví dụ như thẻ smart card được đọc bởi đầu
đọc smart card gắn trên Computer, sau đó thông tin này được gửi đến
authenticating server. Tokens chứa chuỗi text hoặc giá trị số duy nhất thông
thương mỗi giá trị này chỉ sử dụng một lần.
2.2.5 Biometrics
Biometrics (phương pháp nhận dạng sinh trắc học) mô hình xác thực
dựa trên đặc điểm sinh học của từng cá nhân. Quét dấu vân tay (fingerprint
scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói(voice-
recognition), nhận dạng khuôn mặt(facerecognition).
2.2.6 Multi-factor authentication
Multi-factor authentication, xác thực dựa trên nhiều nhân tố kết hợp, là
mô hình xác thực yêu cầu kiểm ít nhất 2 nhân tố xác thực .Có thể đó là sự
kết hợp của bất cứ nhân tố nào ví dụ như: bạn là ai, bạn có gì chứng minh,
và bạn biết gì?.
2.2.7 Mutual authentication
Mutual authentication, xác thực lẫn nhau là kỹ thuật bảo mật mà mỗi thành
phần tham gia giao tiếp với nhau kiểm tra lẫn nhau. Trước hết Server chứa
tài nguyên kiểm tra “giấy phép truy cập” của client và sau đó client lại kiểm
tra “giấy phép cấp tài nguyên” của Server.
II GIAO THỨC KERBEROS
1.Sơ lược về giao thức
Tên của giao thức Kerberos được lấy từ tên của con chó ba đầu
Cerberus canh gác cổng địa ngục trong thần thoại Hy Lạp. Nó được phát
triển trong dự án Athena của học viện công nghệ MIT- Massachusetts
Institute of Technology.
Kerberos một giao thức mật mã dùng để xác thực trong các mạng máy
tính theo mô hinh hình mô hình client-server hoạt động trên những đường
truyền không an toàn. Giao thức Kerberos có khả năng chống lại việc nghe
lén hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn của dữ liệu. Mục tiêu
khi thiết kế giao thức này là nhằm vào và đảm bảo tính toàn vẹn và tính bảo
mật cho thông tin truyền đi cả hai chiều.
1.1.Lịch sử phát triển
Học viện công nghệ Massachusetts (MIT) phát triển Kerberos để bảo
vệ các dịch vụ mạng cung cấp bởi dự án Athena. Giao thức đã được phát
triển dưới nhiều phiên bản, trong đó các phiên bản từ 1 đến 3 chỉ dùng trong
nội bộ MIT.
Các tác giả chính của phiên bản 4, Steve Miller và Clifford Neuman, đã xuất
bản giao thức ra công chúng vào cuối thập niên 1980, mặc dù mục đích
chính của họ là chỉ phục vụ cho dự án Athena.
Phiên bản 5, do John Kohl và Clifford Neuman thiết kế, xuất hiện trong tài
liệu (RFC1510) vào năm 1993 (được thay thế bởi RFC 4120 vào năm 2005
với mục đích sửa các lỗi của phiên bản 4.
MIT đã cung cấp các phiên bản thực hiện Kerberoslo miễn phí dưới giấy
phép tương tự như dùng cho các sản phẩm BSD (Berkeley Software
Distribution).
Chính phủ Hoa Kỳ đã cấm xuất khẩu Kerberos vì nó có sử dụng thuật toán
DES 56 bit. Tuy nhiên, trước khi chính sách xuất khẩu của Hoa Kỳ thay đổi
năm 2000, đã có phiên bản KTH-KRB viết tại Thuỵ Điển thực hiện
Kerberos 4 được phân phối rộng rãi bên ngoài Hoa Kỳ. Phiên bản này được
dựa trên một phiên bản khác có tên là eBones. eBones lại dựa trên một phiên
bản được xuất khẩu của MIT thực hiện Kerberos 4 (patch-level 9) gọi là
Bones (loại bỏ các hàm mật mã và các lệnh gọi chúng). Eric Young, một lập
trình viên người Austraulia, đã phục hồi lại các lệnh gọi hàm và sử dụng các
hàm mật mã trong thư viện của anh ta. Một phiên bản khác thực hiện
Kerberos 5, Heimdal, cũng được thực hiện bởi nhóm đã xuất bản KTH-
KRB.
Các hệ điều hành Windows 2000, Windows XP và Windows Server 2003 sử
dụng một phiên bản thực hiện Kerberos làm phương pháp mặc định để xác
thực. Những bổ sung của Microsoft vào bộ giao thức Kerberos được đề cập
trong tài liệu RFC 3244 http://tools.ietf.org/html/3244 ("Microsoft Windows
2000 Kerberos Change Password and Set Password Protocols"). Hệ điều
hành Mac OS X cũng sử dụng Kerberos trong các phiên bản Clients và
Server của mình.
Năm 2005, nhóm làm việc của IETF về Kerberos cập nhật các đặc điểm kỹ
thuật tại địa chỉ http://www.ietf.org/html.charters/krb-wg-charter.html. Các
cập nhật gần đây bao gồm:
RFC 3961: Các quy định về mật mã hóa và kiểm tra tổng
RFC 3962: Mã hoá AES cho Kerberos 5
RFC 4120: Phiên bản mới về tiêu chuẩn Kerberos V5: "The Kerberos
Network
Authentication Service (V5)". Phiên bản này thay thế RFC 1510, làm rõ các
vấn đề của giao thức và cách sử dụng;
RFC 4121: Phiên bản mới của tiêu chuẩn GSS-API: "Cơ cấu GSS-API của
Kerberos Version 5: Version 2."
1.2 Ứng dụng của kerberos
Ngày nay dịch vụ xác thực Kerberos này được ứng dụng nhiều ở thực tiễn
như là:
- Tích hợp trong các ứng dụng mạng
+OpenSSH (với Kerberos v5 hoặc cao hơn)
+NFS (kể từ NFSv3)
+PAM (với modular pam_krb5)
+SOCKS (kể từ SOCKS5)
+Apache (với modular mod_auth_kerb)
+Dovecot IMAP4 và POP3
- Một cách gián tiếp, tất cả phần mềm sử dụng SASL để nhận thực, chẳng
hạn như penLDAP
- Bộ Kerberos còn đi kèm với các bộ phần mềm client/server của rsh, FTP
và Telnet
+Hệ thống X Window
+Thẻ thông minh Smark Card
+Được tích hợp để xác thực trong các hệ điêu hành mạng.
+Xây dưng tích hợp trong các hệ thống xác thực của các ngân hàng.
+Tích hợp kerboros trong các hệ thống bastion host.
2.Mục tiêu, yêu cầu của hệ thống Kerberos
2.1 Mục tiêu
Mật khẩu của người dùng không bị thất lạc trên mạng.
Đảm bảo mật khẩu của khách hàng không lưu trữ trực tiếp trên máy
người dùng mà dược loại bỏ ngay sau khi sử dụng
Mật khẩu của người dùng không bao giờ nên được cất giữ trong một
hình thức không được mật mã ngay cả trong cơ sở dữ liệu máy chủ dịch vụ.
Người sử dụng có yêu cầu nhập mật khẩu duy nhất một lần mỗi phiên
làm việc. Vì vậy người sử dụng có thể truy cập tất cả các dịch vụ mà họ
được ủy uyền cho mà không cần phải nhập lại mật khẩu trong phiên này.
Đặc tính này được gọi là Single Sign-On
Quản lý thông tin xác thực là tập trung và cư trú trên máy chủ xác thực.
Các máy chủ ứng dụng không trực tiếp xác thực thông tin cho người dùng
của họ, điều này làm cho hệ thống có được các hệ quả:
 Người Quản trị quản lý tập trung tài khoản người dùng trên các
máy chủ xác thực mà không cần thao tác trên các máy chủ dịch vụ.
 Khi người dùng thay đổi mật khẩu của mình, nó được thay đổi cho
tất cả các dịch vụ cùng một lúc.
 Không có sự xác thực thừa nhằm bảo vệ được mật khẩu.
Không chỉ những người sử dụng phải chứng minh rằng họ là những
người họ nó mà các máy chủ ứng dụng phải xác thực lại của khách hàng của
họ có đúng không. Đặc tính này được gọi là xác thực chéo.
Sau khi hoàn thành xác nhận và uỷ quyền, Client và Server phải có khả
năng thiết lập một kết nối đã mã hóa, nếu được yêu cầu. Đối với mục đích
này, Kerberos cung cấp hỗ trợ cho các thế hệ và trao đổi của một khoá mật
mã sẽ được sử dụng để mã hóa dữ liệu.
2.2Yêu cầu
Để Kerberos đạtđược mục tiêu đã đặt ra, phải đảm bảo các yêu cầu sau:
- Bảo mật(security)
- Tin cậy(reliability)
- Minh bạch (transparency)
- Uyển chuyển (scalability).
3. Hoạt động của hệ thống Kebores
3.1 Môi trường hoạt động của Kerbores (Kerbores realms )
Để có thể triển khai một hệ thống hoạt động với dịch vụ Kerberos, yêu
cầu về môi trường:
 Có ít nhất 1 máy chủ cài đặt dịch vụ Kerberos (Kerberos Server).
 Các Clients phải được đăng ký với máy chủ Kerberos.
 Một số các máy chủ ứng dụng đóng vai trò phân bổ các khóa với
máy Kerberos.
Để có kerberos Realms hoạt động ta cần có Một vùng một quản trị
(administrative domain)
Nếu như có nhiều realms, Kerberos servers phải phân bổ các khóa và
ủy thác cho các realms.
3.2 Nguyên tắc hoạt động chung
Giao thức Kerberos được xây dựng dựa trên giao thức Needham-
Shroeder (NS giao thức).Mô tả trong một bài báo xuất bản năm 1978 của
Roger Needham và Michael Shroeder, nó được thiết kế để cung cấp một
dịch vụ chứng thực phân phối an toàn, thông qua mật mã khóa bí mật.
Kerberos sử dụng một bên thứ ba tham gia vào quá trình nhận thực gọi
là "trung tâm phân phối khóa" ( key distribution center - KDC). KDC bao
gồm hai chức năng: "máy chủ xác thực" (authentication server - AS) và
"máy chủ cung cấp vé" (Ticket Granting Server - TGS). "Vé" trong hệ thống
Kerberos chính là các chứng thực chứng minh nhân dạng của người sử dụng.
Đối với người sử dụng, các khóa bí mật chính là băm thông tin đầu vào
khi đăng ký thường được lưu trong các trung tâm phân phối khóa trên server
Kerberos. Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống
chia sẻ một khóa chung với máy chủ Kerberos. Việc sở hữu thông tin về
khóa chính là bằng chứng để chứng minh nhân dạng của một người sử dụng.
Trong mỗi giao dịch giữa hai người sử dụng trong hệ thống, máy chủ
Kerberos sẽ tạo ra một khoá phiên dùng cho phiên giao dịch đó.
Đối với một dịch vụ, chính là một chuỗi ngẫu nhiên tạo ra, hoạt động
như một mật khẩu, nó cũng được lưu giữ trong Trung tâm phân phối khóa,
và trong một tập tin gọi là keytab trên máy của bên dịch vụ.
Đối với sơ đồ này để làm việc, khách hàng và dịch vụ phải tin tưởng
một dịch vụ của bên thứ ba (các máy chủ Kerberos ), cung cấp khóa xác
thực phân phối chúng theo yêu cầu..
Hoạt động Kerberos được dựa trên vé. Vé là một chuổi dữ liệu mã hóa
được truyền qua mạng, và được lưu trữ trên máy của khách hàng. Cách lưu
trữ phụ thuộc vào hệ điều hành và cấu hình của khách hàng. Theo cách
thông thường, nó được lưu trữ như tập tin dạng text khả năng tương thích
với nhiều hệ điều hành khác nhau.
3.3 Mô tả giao thức
Kerberos được mô tả như sau A sử dụng máy chủ kerberos S để chứng thực
với máy chủ dịch vụ B.
AS :A,B
SA : { TS, L, KAB, B, {TS, L, KAB, A}KBS}KAS
AB: {TS, L, KAB, A}KBS , { A,TA }KAB
BA: { TA + 1 }KAB
An ninh của giao thức phụ thuộc rất nhiều vào các trường T (đánh dấu thời
điểm) và L (thời hạn) của các gói tin. Đây chính là các chỉ thị về tính chất
mới của các gói tin và chống lại các tấn công gửi lại các gói tin cũ.
Trong các bản tin ở trên, máy chủ S bao gồm cả dịch vụ xác thực và cung
cấp vé. Trong gói tin { TS, L, KAB, B, {TS, L, KAB, A}KBS}KAS
KAB chính là khóa phiên giữa A và B;
{TS, L, KAB, A}KBS là vé gửi từ máy khách tới máy chủ;
{ A,TA }KAB là phần để xác thực A với B;
{ TA + 1 }KAB để khẳng định lại xác thực của B và thông qua đó chấp
nhận A. Điều này cần thiết để hai bên nhận dạng lẫn nhau.
3.4 Các thành phần trong hệ thống kerberos
3.4.1 Realm và Principa
- Realm: Chính là một tên miền để thiết lập giới hạn trong phạm vi mà một
máy chủ xác thực có thẩm quyền để xác thực người dùng, máy chủ lưu trữ
hoặc dịch vụ. Điều này không có nghĩa là xác thực giữa một người dùng và
dịch vụ mà họ phải thuộc các lĩnh vực quản lý các máy chủ xác thực
kerberos.
- Principal: Tên một chỉ mục trong cơ sở dữ liệu máy chủ xác thực là các
thành phần tham gia xác thực trong hệ thống bao gồm người sử dụng và các
server
3.4.2 Trung tâm phân phối khoá (KDC- Key Distribution Centre)
KDC là đối tượng cơ bản trong hệ thống Kerberos liên quan đến việc
xác thực người dùng và dịch vụ. Các máy chủ xác thực trong một realm
kerberos có chức năng phân phối vé giữ người dùng và nhà cung cấp dịch
vụ, được gọi là Trung tâm phân phối khóa KDC. Nó có thể nằm hoàn toàn
trên một máy chủ vật lý duy nhất (đôi với hệ thống đơn giản ) chia thành ba
phần chính:
 Server xác thực
 Máy chủ cung cấp .
 Cơ sở dữ liệu
 Server xác thực-Authentication Server (AS)
 Máy chủ xác thực ( authentication server – AS ) AS là một phần
của KDC trả lời yêu cầu xác thực từ các khách hàng
 Khi người sử dụng có yêu cầu xác nhận, họ đăng nhập bằng tài
khoản và mật khẩu của mình ( có thể đăng ký hoặc khởi tạo tài khoản người
dùng mới ). Để đáp lại một yêu cầu xác thực của người dùng AS cấp cho họ
một TGT nếu người sử dụng thực sự là người mà họ nói mà AS đã định
danh. Người dùng có thể sử dụng TGT để có được cung cấp vé dịch vụ khác
mà không cần phải đăng nhập lại.
 Server cấp vé-Ticket Granting Server (TGS )
 Trong hệ thống Kerberos chính là các chứng thực định danh người
sử dụng. Nó có nhiệm vụ kiểm tra tính hợp lệ TGS đảm bảo sự xác thực
giưa người dùng máy chủ ứng dụng.
 Nếu các đinh danh của server TGS trên vé TGT củ người dùng là
hợp lệ nó sẽ cấp cho người dùng 1 vé thông hành mới để có thể truy cập vào
các server ứng dụng gọi là TGS.
 Cơ sở dữ liệu
Cơ sở dữ liệu cho các mục chứa các liên kết với người sử dụng và dịch
vụ. Tham chiếu tới các mục mới bằng cách sử dụng nhánh chính (tức là tên
của mục nhập). Mỗi mục chứa các thông tin sau:
 Khoá mật mã và có thông tin liên quan.
 Thời gian hiệu lực tối đa cho một vé
 Thời gian tồn tại tối đa một vé, có thể được gia hạn (chỉ ở
Kerberos 5).
 Các thuộc tính hoặc cờ đặc trưng cho những hành vi của vé.
 Mật khẩu hết hạn.
Để đảm bảo các thông tin này sẽ được mã hóa và sao lưu và việc trao
đổi giữa các các máy với nhau.

3.4.3 Vé (Ticket)
 Một vé là một cái gì đó mà Client gởi đến một ứng dụng máy chủ
để chứng minh sự xác thực của nó để nhận dạng. Vé được phát hành bởi các
máy chủ xác thực và được mã hóa bằng cách sử dụng khoá bí mật của các
dịch vụ mà họ được dành cho. Khoá này là một bí mật chỉ được chia sẻ giữa
các máy chủ xác thực và máy chủ cung cấp các dịch vụ, ngay cả những
Client chỉ có thể yêu cầu cấp vé nhưng không có quyền xem thay đổi nội
dung của nó. Chính thông tin chứa trong một vé bao gồm:
 Những yêu cầu của người sử dụng thiết yếu (thông thường
Username).
 Các thiết yếu của các dịch vụ đó là dành cho.
 Địa chỉ IP của máy khách mà từ đó các vé có thể được sử dụng.
 Ngày và thời gian (trong thời gian định dạng) khi những vé có tính
hợp lệ .
 Vòng đời tối đa của vé
 Các khóa phiên (điều này có một vai trò cơ bản được mô tả dưới
đây).
 Mỗi một vé có hạn sử dụng ( thường 10 giờ ). Đây là điều cần
thiết giúp các máy chủ xác thực có thể kiểm soát tốt hơn đối với một vé đã
được ban hành. Realm quản trị có thể ngăn ngừa việc phát hành mới hoặc
thu hồi vé cho một người sử dụng vào bất kỳ thời diểm nào, nó có thể không
ngăn cản người sử dụng bất hợp pháp khi họ có vé. Đây là lý do cho việc
giới hạn vòng đời của vé để hạn chế thay thế và mạo danh người sử dụng
hợp pháp.
3.4.4 Khóa phiên
Như chúng ta đã thấy, người dùng và các dịch vụ chia sẻ một bí mật
với các KDC. Đối với người sử dụng khóa nay chinh là phép băm các thông
tin đầu vào và mật khẩu cho.Đối với server dịch vụ, đó là chìa khóa bí mật
của họ (được đặt bởi quản trị viên). Các khóa này được gọi là khóa dài hạn,
vì nó không thay đổi khi phiên làm việc thay đổi.
Tuy nhiên, người sử dụng vẫn phải xác thực đối với server dịch vụ ít
nhất là cho thời gian trong đó có một khách hàng đã có một phiên làm việc
mở trên dịch vụ đó điều này quan trọng, tạo ra bởi các KDC khi một vé đã
được ban hành, được gọi là các khóa phiên. Các bản sao dành cho dịch vụ
này là bao bọc KDC trong vé (trong bất kỳ trường hợp nào ứng dụng máy
chủ của họ hiểu biết khóa dài hạn và có thể giải mã nó và trích các khóa
phiên), trong khi các bản sao dành cho người sử dụng đã đóng gói trong một
gói được mã hóa với người sử dụng khoá lâu dài. Các khóa phiên đóng một
vai trò cơ bản trong chứng minh xác thực của người sử dụng.
3.4.5 Mã hóa
Như chúng ta thấy thấy Kerberos thường được nhu cầu để mã hóa và
giải mã thông điệp (vé và khóa) đi qua giữa những người khác nhau trong
việc xác thực. Điều quan trọng cần lưu ý là chỉ sử dụng Kerberos mã hóa
khóa đối xứng (nói cách khác khóa cùng được sử dụng để mã hóa và giải mã
).
Kerberos 4 thực hiện một loại mã hóa mà là ở DES 56 bit. Sự yếu kém
này đã dẫn đến dễ bị tấn công làm cho Kerberos 4 bị lỗi thời. Phiên bản 5
của Kerberos, hỗ trợ rất nhiều kiểu mã hóa phức tạp khác nhau tùy vào việc
triển khai trên một mô hinh cụ thể nào đó. vì vậy tính linh hoạt và mở rộng
của giao thức đã được nâng caolàm cho Kerberos 5 có khã năng tương thích
cao với nhiều hệ thống khác nhau. Để khách hàng có thể sử dụng ứng dụng
xác thực bằng cách sử dụng các máy chủ khác nhau, họ phải có ít nhất một
loại mã hóa chung.
Những khó khăn liên quan đến việc triển khai vận hành giữa UNIX của
Kerberos 5 và tồn tại trong Active Directory của Windows là giới hạn hỗ trợ
mã hóa chỉ dưng lại ở DES 56 bit. Điều này sẽ làm giảm tính an toàn của hệ
thống. Vấn đề này sau đó đã được giải quyết với phiên bản 1,3 của MIT
Kerberos 5. Phiên bản này được giới thiệu RC4-HMAC và bộ ba DES
(3DES) và mới hơn AES 128 và AES 256 đáng đề cập đến.
3.5 Hoạt động
Kerberos không xây dựng các giao thức chứng thực phức tạp cho mỗi
máy chủ mà hoạt động dựa trên một máy chủ chứng thực tập trung KDC
(Key Distribution Centre). KDC cung cấp vé cho việc chứng thực người
dùng và bảo mật truyền thông bởi khoá phiên trong vé gồm3 giai đoạn và 6
bước trao đổi
 Client chứng thực AS (Authentication Server - biết khoá mật của tất cả
người dùng được lưu giữ trên một cơ sở dữ liệu tập trung )
AS_REQ là yêu cầu người dùng xác thực ban đầu(khởi tạo dich vụ)
yêu cầu này được chuyển trực tiếp tới các thành phần được gọi là KDC
Authentication Server (AS).
AS_REP là trả lời của máy chủ xác thực để yêu cầu trước đó. Về cơ
bản nó chứa TGT (mã hóa bằng cách sử dụng khóa TGS bí mật) và khóa
phiên (được mã hóa bằng khóa bí mật của người dùng yêu cầu)
 Client xác thực TGS (Ticket Granting Server - cung cấp vé dịch vụ cho
phép người dùng truy nhập vào các máy chủ trên mạng)
TGS_REQ là yêu cầu từ khách hàng đến Cấp vé máy chủ (TGS) cho
một vé thông hành. Về cơ bản nó chứa TGT (mã hóa bằng cách sử dụng
khóa TGS bí mật) và khóa phiên (được mã hóa bằng khóa bí mật của người
dùng yêu cầu)
TGS_REP là trả lời của Cấp vé máy chủ để yêu cầu trước đó.Nằm bên
trong là vé dịch vụ theo yêu cầu (được mã hóa với khóa bí mật của dịch vụ)
và phiên dịch vụ một khóa tạo ra bởi TGS và được mã hóa bằng khóa phiên
trước đó được tạo ra bởi AS.
 khách hàng truy cập và được cấp phép sử dung dịch vụ
AP_REQ là yêu cầu khách hàng gửi tới một máy chủ ứng dụng để truy
cập vào một dịch vụ. Các thành phần là các dịch vụ bán vé thu được từ TGS
với thư trả lời trước và nhận thực một lần nữa được tạo ra bởi khách hàng,
nhưng lần này được mã hóa bằng khóa phiên dịch (tạo ra bởi TGS);
AP_REP là trả lời rằng các máy chủ ứng dụng cung cấp cho khách
hàng để chứng minh nó thực sự là máy chủ của khách hàng là mong muốn.
Gói này không phải lúc nào cũng được yêu cầu. Các khách hàng yêu cầu
máy chủ cho nó chỉ khi xác thực lẫn nhau là cần thiết.
 Lưu ý tất cả các trao đổi giữa các máy đều dược đóng dấu thời gian
Timestamp
Pha 1 Truyền thông
với AS
Key Distribution Center
(KDC)

Authentication Server
(AS)

` DATABASE

Client Ticket Granting Server


TGS_AS_REP
(TGS)

Pha 2 Truyền thông


với TGS

Pha 3 Truyền thông


Client/Server

Applycation Server

Hình 1 hoạt động của giao thức kerberos


Trong kịch bản này, người dùng C đăng nhập vào máy trạm client và
yêu cầu truy nhập tới máy chủ V.
3.5.1 Giai đoạn thứ nhất
Kết nối với AS để lấy về vé xin truy nhập TGS, ticket-granting-ticket
(TGT)
Truyền thông với AS thường là giai đoạn khởi đầu của phiên đăng
nhập, nhằm lấy về dữ liệu chứng thực (TGT) cho TGS, để sau đó lấy về
chứng thực cho các máy chủ khác mà không phải nhập lại khoá bí mật của
client. Khoá bí mật của client được sử dụng cho cả việc mã hoá và giải mã.
Người sử dụng nhập tên và mật khẩu tại máy tính của mình (máy
khách).
Phần mềm máy khách thực hiện hàm băm một chiều trên mật khẩu
nhận. được.Kết quả sẽ được dùng làm khóa bí mật của người sử dụng.
Phần mềm máy khách gửi một gói tin (không mật mã hóa) tới máy chủ
dịch vụ AS để yêu cầu dịch vụ. Nội dung của gói tin là: "người dùng U
muốn sử dụng dịch vụ". Cần chú ý là cả khóa bí mật lẫn mật khẩu đều không
được gửi tới AS.
AS kiểm tra nhận dạng của người yêu cầu có nằm trong cơ sở dữ liệu
của mình không. Nếu có thì AS gửi 2 gói tin sau tới người sử dụng:
 Gói tin A: "Khóa phiên TGS/Client" được mật mã hóa với khóa bí
mật của người sử dụng.
 Gói tin B: "Vé chấp thuận" (bao gồm chỉ danh người sử dụng (ID),
địa chỉ mạng của người sử dụng, thời hạn của vé và "Khóa phiên
TGS/Client") được mật mã hóa với khóa bí mật của TGS.
User Login
(ID,Password)
->one way hash
Client Secret Key
User U want using service AS check Client is in
Database?

A:Client /TGS session key


encrypted with Client secret
` Authentication Server
key DATABASE
(AS)
B:TGT include ID of
User,Client Network add,
Client validity ticket,
Client decodes A: Generates Client Secret key
Client/TGS session key
using it’s secret key->
(Encryted TGS)
Client/TGS session
key

Hình 2.2: Ngừơi dùng truy cập vào AS


3.5.2 Giai đoạn thứ 2
Trao đổi với máy chủ cấp vé dịch vụ TGS, lấy về service ticket truy nhập
máy chủ V:
Khi nhận được 2 gói tin A và B, phần mềm máy khách giải mã gói tin A để
có khóa phiên với TGS. (Người sử dụng không thể giải mã được gói tin B vì
nó được mã hóa với khóa bí mật của TGS). Tại thời điểm này, người dùng
có thể nhận thực mình với TGS.
Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới TGS:
Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và chỉ danh (ID) của yêu
cầu dịch vụ.
Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử dụng và thời điểm
yêu cầu), mật mã hóa với "Khóa phiên TGS/Client ".
Khi nhận được 2 gói tin C và D, TGS giải mã C, D rồi gửi 2 gói tin sau tới
người sử dụng:
Gói tin E: "Vé" (bao gồm chỉ danh người sử dụng, địa chỉ mạng người sử
dụng, thời hạn sử dụng và "Khóa phiên máy chủ/máy khách") mật mã hóa
với khóa bí mật của máy chủ cung cấp dịch vụ.
Gói tin F: "Khóa phiên máy Server/Client" mật mã hóa với "Khóa phiên
TGS/Client ".
C:TGT from B and Service ID
D: authentication of TGS decryption C, D and
client:ID,timestamp Test Client ID from C and
( Enc with Cli/TGS session key D validity?
from A)
`
Ticket Granting Server
E:Client/Server ticket( Client ID, (TGS)
Client net add, validity period,Client/
Client decodes F: Server session key En with Server
using it’Client/TGS session key)
session key obtain
F:Cli/Ser session key En with Cli/
Client/Server session
TGS sesssion key from A
key

hình 3 : Trao đổi giữa người dùng và TGS

3.5.3 Giai đoạn thứ 3


Khi nhận được 2 gói tin E và F, người sử dụng đã có đủ thông tin để nhận
thực với máy chủ cung cấp dịch vụ S. Client gửi tới S hai gói tin:
Gói tin E thu được từ bước trước (trong đó có "Khóa phiên máy Server/máy
Client" mật mã hóa với khóa bí mật của S).
Gói tin G: phần nhận thực mới, bao gồm chỉ danh người sử dụng, thời điểm
yêu cầu và được mật mã hóa với "Khóa phiên máy Server/Client".
Sever giải mã "Vé" bằng khóa bí mật của mình và gửi gói tin sau tới người
sử dụng để xác nhận định danh của mình và khẳng định sự đồng ý cung cấp
dịch vụ:
Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1, mật mã hóa
với "Khóa phiên Server/Client ".
Máy khách giải mã gói tin xác nhận và kiểm tra thời gian có được cập nhật
chính xác. Nếu đúng thì người sử dụng có thể tin tưởng vào máy chủ S và
bắt đầu gửi yêu cầu sử dụng dịch vụ.
Máy chủ cung cấp dịch vụ cho người sử dụng
E:Client/Ser ticket(Client ID, Server decrypts E using Server
net add, validity period , Cli/ secret key and gets Cli ID,net
Ser sessiob key En with Ser add, validity period, Cli/Ser
Decrypt H using Cli/Ser
secret key session key
session key checks?
Timestamp+1 Ser decrypt G using Cli/Ser
G:Authentication composed of session key and gets Cli ID
Trsut Ser Client ID and timestamp (en and timestamp
with Cli/Ser sesion key from
F)

` H: timestamp found in G+1


En with Cli/Ser session key
Applycation Server
Client Server provide service User Ser check Cli ID from E
matches from G Timestamp
validity?

Hình 4: Người dùng chứng thực với server dịch vụ


3.5.4 Tăng cường tính bảo mật
Khi một phiên truyền thông được thiết lập, khoá phiên sẽ được truyền
an toàn đến các bên truyền thông. Điều này sẽ đảm bảo cho hệ thống các
tính năng bảo mật sau:
 Tính xác thực : Không ai gửi một thông điệp sai. Do chỉ có client và
máy chủ dịch vụ có thể biết được khoá phiên nên không thể xảy ra trường
hợp có kẻ thứ ba mạo danh một trong hai bên để tham gia vào phiên truyền
thong. Ở đây, Kerberos đảm bảo tính Chứng thực lẫn nhau.
 Tính riêng tư, tính toàn vẹn : Thông điệp trước khi truyền sẽ được mã
hoá và kí bằng khoá phiên nên thám mã không thể nào có thể đọc hay thay
đổi nội dung thông điệp được truyền.
Như vậy, sử dụng giao thức Kerberos thì ta được đảm bảo tính xác
thực, tính riêng tư, và tính toàn vẹn của các thông điệp được truyền. Đây
chính là các yêu cầu cần và đủ để đảm bảo một phiên truyền thông an toàn.
Ngoài ra, Kerberos còn cung cấp một chức năng quan trọng như sau :
 Hỗ trợ cơ chế uỷ nhiệm : Trong các ứng dụng đa lớp, khi người dùng
yêu cầu một dịch vụ ở tầng giao diện người dùng, từ đây sẽ gửi yêu cầu đến
tầng giữa thực hiện các chức năng của hệ thống đồng thời tạo ra các thao tác
truy vấn tới tầng dữ liệu lấy ra thông tin của người dùng. Thông thường, các
tầng nằm phân tán trong các máy chủ trên mạng nên đều có cơ chế bảo mật
độc lập với nhau.

Hình 5 Hỗ trợ uỷ nhiệm trong Kerberos


Do vé Kerberos có khả năng đại diện vì thế các tầng có thể dùng vé này
đại diện cho người dùng để thực hiện các chức năng được phép. Vì thế, mỗi
tiến trình của mỗi tầng đều có thể xác định chính xác được người dùng mà
nó phục vụ, từ đó có cơ chế phân quyền, auditing phù hợp. Như vậy, với sự
hỗ trợ khả năng uỷ nhiệm trong Kerberos các dịch vụ bảo mật như auditing,
phân quyền được thực hiện một cách dễ dàng.

 Mã hóa sử dụng khoá mật và bên thứ ba được tin cậy


Thuật toán mã hoá điển hình được sử dụng trong Kerberos là DES
(Data Encryption Standard - chuẩn mã hoá dữ liệu). Tuy nhiên thiết kế kiểu
modum của Kerberos cho phép sử dụng các phương pháp mã hoá khác.
DES là thuật toán tiêu chuẩn đối với phương thức mã hoá dựa trên khoá mật.
Trong hệ Kerberos, một máy chủ xác thực trung tâm sẽ chứng nhận
danh tính của tất cả các thực thể (ở đây thực thể có thể là một người dùng,
một chương trình chạy trên máy khách hoạt động nhân danh một người dùng
cụ thể, hoặc một dịch vụ do một máy chủ ứng dụng cung cấp). Chức năng
của Kerberos hoàn toàn dựa trên tính đáng tin cậy của máy chủ xác thực,
máy chủ này phải biết mật khẩu hay khóa của mọi thực thể. Vì vậy một điều
rất cốt yếu là bản thân máy chủ phải được bảo vệ tuyệt đối an toàn.
4. Đánh giá ưu nhược điểm của hệ thống Kerbores
4.1Ưu điểm
Mỗi khi đăng nhập vào hệ thống (login vào KDC), người dùng sẽ được cấp
một vé TGT để xin các service ticket cho các lần truy nhập sau vào các máy
chủ dịch vụ trong hệ thống. Tức là với vé TGT, người dùng không cần phải
nhập định danh, mật khẩu thêm một lần nào nữa, vì lý do này giao thức
Kerberos còn gọi là giao thức Đăng nhập một lần (Single sign-on).Ta sẽ
đánh giá các điểm của năng SSO theo cả ba quan điểm: của người dùng, của
nhà quản trị, nhà phát triển hệ thống. Theo đó, Kerberos :
Tăng sự tiện dụng cho người dùng: Người dùng không cần phải đăng nhập
nhiều lần khi sử dụng hệ thống, cũng như không cần phải nhớ quá nhiều mật
khẩu cho các dịch vụ trong hệ thống. Tất cả chỉ là một tài khoản cho hết thảy
các dịch vụ trong hệ thống.
Hỗ trợ các nhà phát triển hệ thống: SSO cung cấp một framework chứng
thực chung cho các nhà phát triển. Vì thế họ không cần phải quan tâm đến
chứng thực khi xây dựng hệ thống nữa, coi như là các yêu cầu gửi đến hệ
thống đã được chứng thực. Điều này sẽ làm cho các nhà phát triển hoàn toàn
yên tâm về an ninh của hệ thống được xây dựng, mà tránh được công việc
nặng nhọc là xây dựng an toàn bảo mật cho hệ thống mới.
Làm đơn giản hoá công tác quản trị: Theo truyền thống, mỗi ứng dụng có cơ
sở dữ liệu người dùng riêng phục vụ cho cơ chế chứng thực độc lập của nó,
nên khi các hệ thống tham gia vào mạng, số lượng người dùng sẽ tăng lên rất
nhanh làm quá tải công tác quản trị. Với SSO, mọi hệ thống sử dụng cùng cơ
sở dữ liệu người dùng tập trung vì thế công tác quản trị đã được tập trung
hoá, số lượng người dùng giảm đi rất nhiều.
Tăng cường bảo mật: Hệ thống SSO có cơ chế chứng thực an toàn cũng như
bảo mật truyền thông trên mạng. Giảm thiểu số lần nhập mật khẩu cũng có
nghĩa là tăng độ an toàn cho hệ thống vì với số lượng mật khẩu nhiều người
dùng thường ghi mật khẩu ra xung quanh, dễ để lộ.
Kerberos là một giao thức xác thực cho máy chủ tin cậy trên các mạng
không đáng tin cậy. Cụ thể nó có thể dụng để xác thực qua internet trên mô
hình phân tán(chỉ có kerberos V) và tập trung.
Hầu hết các dịch vụ mạng thường sử dụng mật khẩu dựa trên chương trình
xác thực. Chương trình này đòi hỏi một người sử dụng để xác thực đến một
máy chủ mạng cho bởi cung cấp tên đăng nhập và mật khẩu của họ Thật
không may, việc truyền tải thông tin xác thực cho nhiều dịch vụ là không
được mật mã. Đối với Đề án như vậy để được an toàn, hệ thống mạng có thể
được truy cập vào để người bên ngoài, và tất cả các máy tính và người sử
dụng trên mạng phải được tin cậy và đáng tin cậy.
Thậm chí nếu đây là trường hợp, một khi mạng được kết nối với Internet,
nó không còn có thể giả định rằng các mạng được an toànBất cứ kẻ tấn công
những người thu truy cập mạng có thể sử dụng một phân tích gói đơn giản,
cũng được biết đến như là một sniffer gói, để đánh chặn tên người dùng và
mật khẩu được gửi theo cách này, ảnh hưởng đến tài khoản người dùng và
toàn vẹn của cơ sở hạ tầng an ninh toàn bộ.
Mục tiêu thiết kế chính của Kerberos là để loại bỏ việc truyền mật khẩu
không mã hóa trên mạng. Nếu sử dụng đúng cách, Kerberos có hiệu quả loại
bỏ các gói tin sniffers.
Kerberos có khã năng tương thích cao đã được tích hợp vào điều hành hệ
phổ biến ( như windows, linux , unix, mac os...) cũng có thể tích hơp trực
tiếp vào các ứng dụng mạng hoạt động trên các hệ điều hành khác nhau.
4.2Nhược điểm
Tuy nhiên, bất kỳ hệ thống bảo mật nào cũng không thể chống lại tất cả các
kiểu tấn công của hacker, Kerberos cũng có những nhược điểm nhất định
như:
Khó tích hợp với các hệ thống cũ: thường thì các hệ thống sẵn có trong
mạng đã có cơ chế chứng thực riêng, cũng như cơ sở dữ liệu thông tin người
dùng riêng. Vì thế, việc tích hợp hệ thống cũ vào hệ SSO không tránh khỏi
phải sửa lại mã chương trình hệ thống cũng như di chuyển, thay đổi cơ sở dữ
liệu người dùng.
Tấn công ở desktop Cũng do tính năng SSO, có khả năng kẻ địch giành
được quyền truy nhập tới các tài nguyên khi người dùng của máy đó rời khỏi
máy sau khi đăng nhập mà quên không khoá máy lại. Hệ thống SSO chỉ bảo
mật trên đường truyền mà không bảo mật cho dữ liệu trước khi được truyền
nên mật khẩu của người dùng rất có khả năng bị các chương trình như trojan
đánh cắp, giành quyền truy nhập hệ thống.
Kerberos xác thực sử dụng một máy chủ lưu trữ trên một mạng không đáng
tin. Mục tiêu chính của nó là để ngăn chặn từ mật khẩu không mã hóa được
gửi qua mạng. . Tuy nhiên, nếu hacker có quyền truy cập vào máy chủ lưu
trữ một trong những vấn đề mà vé được sử dụng để xác thực - được gọi là
trung tâm phân phối khoá (KDC) - các hệ thống xác thực Kerberos có thể bi
sụp.
Giao thức đòi hỏi đồng hồ của tất cả những máy tính liên quan phải được
đồng bộ. Nếu không đảm bảo điều này, cơ chế nhận thực giữa trên thời hạn
Sử dụng sẽ không hoạt động.

You might also like