NGUYÊN TẮC HOẠT ĐỘNG CHUNG* Đố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.. *
Trang 1HỌC VIỆN KĨ THUẬT MẬT MÃ
Báo cáo Môn học: An toàn hệ điều hành
Đề tài 06: Trình bày và phân tích cơ chế xác thực đăng nhập
Kerberos trên Windows
Sinh viên thực hiện:
Đỗ Duy Hưng AT150225
Nguyễn Thùy Dương AT150209
Đỗ Cao Đức AT150215 Trịnh Thị Dung AT150211
Hà Ngọc Hiếu AT150218 Nguyễn Tuấn Đạt AT150212 Giáo viên giảng dạy: Trần Sỹ Nam
Trang 2NỘI DUNG CHÍNH
1
2
3
Phần I: SƠ LƯỢC VỀ GIAO THỨC
Phần II: CƠ CHẾ HOẠT ĐỘNG CỦA HỆ
THỐNG KERBEROS
Phần III: ĐÁNH GIÁ HỆ THỐNG KERBEROS
Trang 3ỨNG DỤNG CỦA KERBEROS KERBEROS LÀ GÌ?
PHẦN I
LỊCH SỬ PHÁT
TRIỂN
Trang 4LỊ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.
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
Trang 5Tê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.
Giao thức được xây dựng dựa trên mã hoá đối xứng và cần đến một bên thứ ba mà
cả hai phía tham gia giao dịch tin tưởng.
Trang 6hoặc cao hơn)
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:
Trang 7ỨNG DỤNG CỦA KERBEROS
SOCKS ( kể từ SOCKS5) Apache ( với modular
Trang 8ỨNG DỤNG CỦA KERBEROS
Thẻ thông minh Smark Card
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.
Được tích hợp để xác thực trong các hệ điêu
hành mạng.
Tích hợp kerboros trong các
hệ thống bastion host
Trang 9MỤC TIÊU VÀ YÊU CẦU CỦA HỆ THỐNG KERBEROS
HOẠT ĐỘNG
NGUYÊN TẮC HOẠT ĐỘNG CHUNG
MÔ TẢ GIAO THỨC
MÃ HÓA
YÊU CẦU MỤC TIÊU
Trang 10MỤC TIÊU
* Người sử dụng có thể truy cập tất cả các dịch vụ mà họ được ủy quyề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
* 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 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.
Trang 12YÊU CẦU
* Để 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
Trang 13NGUYÊN TẮC HOẠT ĐỘNG CHUNG
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.
Trang 14NGUYÊN TẮC HOẠT ĐỘNG CHUNG
* Đố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
Trang 15NGUYÊN TẮC HOẠT ĐỘNG CHUNG
Mô hình ho t đ ng c a Kerberos ạt động của Kerberos ộng của Kerberos ủa Kerberos
Trang 16Pha 1: Client xác thực với AS để lấy về
K TGS
A B = TGT (Ticket-Granting-Ticket)
Trang 17Pha 2: Client xác thực với TGS
(Client ID, IP,
[Client-to-server ticket (client ID, client IP,
validity period ,KClient/Service) ] K service
[K Client/Service ]K Client/TGS
Trang 18Pha 3: Client truy nhập và yêu cầu cấp phép
sử dụng dịch vụ
From previos step
a new Authenticator( client
ID, timestamp) KClient/Service
H
Timestamp + 1
Trang 19* 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 { T S , L, KAB, B, {T S , L, KAB, A}K BS }K AS
KAB chính là khóa phiên giữa A và B;
{T S , L, KAB, A}K BS là vé gửi từ máy khách tới máy chủ;
{ A,T A }KAB là phần để xác thực A với B;
{ T A + 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
Trang 20CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
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
Trang 21CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
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ụ
* KDC được chia thành ba phần chính:
Server xác thực
Máy chủ cung cấp
Cơ sở dữ liệu
Trang 22CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
Server xác thực-Authentication Server (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( vé chấp nhận) 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
Trang 23CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
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ủa 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
Trang 24Khoá 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
Trang 25* 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
Trang 26* Tuy nhiên, người sử dung 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 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
Trang 27MÃ HÓA
* 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
Trang 28* 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)
Trang 29HOẠT ĐỘNG
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
Trang 30HOẠT ĐỘNG
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
Trang 31ƯU ĐI MỂM NHƯỢC ĐIỂM
ĐÁNH GIÁ HỆ THỐNG KERBEROS
Trang 32ƯU ĐIỂM
* Tăng sự tiện dụng cho người dung
* Hỗ trợ các nhà phát triển hệ thống
* Làm đơn giản hoá công tác quản trị
* Tăng cường bảo mật
* 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
* 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
Trang 33NHƯỢC ĐIỂM
* Khó tích hợp với các hệ thống cũ
* 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
* 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
* 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