Professional Documents
Culture Documents
An Toan He Dieu Hanh Nhom6
An Toan He Dieu Hanh Nhom6
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
LỊCH SỬ PHÁT
KERBEROS LÀ GÌ?
ỨNG DỤNG CỦA
TRIỂN KERBEROS
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.
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.
KERBEROS LÀ GÌ?
Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính 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 mô hình client - server và đảm
bảo nhận thực cho cả hai chiều.
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.
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.
Ứ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:
Được tích hợp để xác Xây dưng tích hợp trong các Tích hợp kerboros trong các
Thẻ thông minh Smark Card thực trong các hệ điêu hệ thống xác thực của các hệ thống bastion host
hành mạng. ngân hàng.
MỤC TIÊU YÊU CẦU
MÔ TẢ
MÃ HÓA
GIAO THỨC
MỤC TIÊ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)
YÊ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
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
NGUYÊ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.
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. 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..
NGUYÊN TẮC HOẠT ĐỘNG CHUNG
A B = TGT (Ticket-Granting-Ticket)
Pha 2: Client xác thực với TGS
C D
E F
Timestamp + 1
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.
* 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.
CÁ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
CÁ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
CÁ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.
CÁ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.
CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
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.
CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
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.
* 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.
CÁC THÀNH PHẦN TRONG
HỆ THỐNG KERBEROS
Khóa phiên
* Đố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).These keys are called long term, since they do not change when the work
session changes. 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ử 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.
MÃ 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.
HOẠT ĐỘNG
NHƯỢC ĐIỂM
ƯU ĐIỂM
Ư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.
NHƯỢ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.