1 TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT HANOI UNIVERSITY OF MINING AND GEOLOGY BÀI TẬP LỚN CƠ SỞ AN NINH MẠNG ĐỀ TÀI Kerberos NHÓM 10 HỌ TÊN Nguyễn Đức Mạnh 2021050435 Phùng Hồng Phúc 2021050518 Lưu Ngọc Ngu[.]
Trang 1TRƯỜNG ĐẠI HỌC MỎ-ĐỊA CHẤT HANOI UNIVERSITY OF MINING AND GEOLOGY
Trang 2MỤC LỤC
Ι.Những khái niệm liên quan……….1
1 An toàn thông tin 2
1.1 Khái niệm 2
1.2 Tại sao phải quan tâm đến an toàn thông tin 3
2 Giao thức xác thực 4
II GIAO THỨC KERREROS 8
1.Sơ lược về giao thức 8
2.Mục tiêu, yêu cầu của hệ thống Kerberos 10
2.1 Mục tiêu 10
2.2 Yêu cầu 11
3 Hoạt động của hệ thống Kebores 11
4 Quy trình hoạt động của kerberos 16
Hình 1 hoạt động của giao thức kerberos 18
Trang 34.1 Giai đoạn thứ nhất 18 4.2 Giai đoạn thứ hai 20 4.3 Giai đoạn thứ ba 21
Ι 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ăngchố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ìmcá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ặcsử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 tinh 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ặcgiả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áttriển đáp ứng các yê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ảmtố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ìnhkiể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á
chính sách và phương pháp đề phòng cần thiết
Trang 41.2 Tại 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ângcao 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ànthô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 đễ sản nhập nhất đó là môitrườ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ạngtruyề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ộidung 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ởinhữ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
Trang 5những người không có thẩm quyền
Đảm bảo tính sẵn sàng riability) Thông tin luôn sẵn :
dụng cho người có thẩm quyền
có khi không biết được nội dung cụ thể nhưng có
thể đó ra được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trongphầ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 phạm 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ệnphá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àmtrễ, sắ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ờigian 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ộidung thông tin trao đổi Vi phạm chủ động dễ phát hiện nhưng để ngăn chặn hiệu quảthi 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àntuyệ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ậnnguồn gốc (provenance) của đối tượng trong khi xác thực một người thường bao gồmviệ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ềunhâ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ố
Trang 6(digital identity) của phần truyền gửi thông tin (sender) trong giao thông liên lạc chẳnghạ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ượclạ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đang, 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ệnsau :
- 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=5—E
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ướctiên họ phải chọn một khoả ngẫu nhiên Kek Điều này được thực hiện một cách bí mậtnhư trong hệ mặt khoá bí mật Sau đó giả sử rằng Alice muốn gửi một trạng thái nguồnsẽ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 tinh 3 Cu=1 thì Bob chấp nhận bản tin là xác thực ngược lại 2.2
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ả hailoạ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
* Thay thế
Ứ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ôngtrong 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
Trang 7được kí hiệu là Pd, (trường hợp giảmạo) và Pdl (trường hợp thay thế) Để tỉnh Pdo vàPdi 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ệutương ứng là P và P
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ôngtin mà Alice và Bob có nhưng mà Oscar không được biết là giả
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ựatrê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ạimá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ủacty chẳng hạn như R4S 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ênKerberos 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
Trang 8độ chính xác của thời gian xác thực giữa Server và Client Computer, do đó cần đảmbảo có một time server hoặc authenticating servers được đồng bộ time từ các Internettime 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ặcpasswords 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, vi dụ như the smart card được đọc bởi đầu đọcsmart 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ểmsinh 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ặtfacerecognition)
Trang 9II GIAO THỨC KERREROS
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áccổng địa ngục trong thần thoại
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
Trang 10Phiê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 đíchsử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 phi 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ênbản KTH-KRB viết tại Thụy Điển thực hiện Kerberos 4 được phân phối rộng rãi bênngoà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 đượcxuấ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ộtphiên bản thực hiện Kerberos làm phương pháp mặc định để xác thực Những bổ sungcủ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 andSet 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 địachỉ http://www.ietf.org html charters krb-wg-charter.html Các cập nhật gần đây baogồm:
RFC 3961 Các quy định về mật mã hóa và kiểm tra tổng
FFC 3962 Mà hoa AES cho Kerberos -
RFC 4120: Phiên bản mới về tiêu chuẩn Kerberos V5 "The Kerberos
Trang 11Kerberos Version 5: Version 2."
+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à đượ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ậyngườ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ôngcầ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
Trang 12Quả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ậpmộ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
- 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ôitrườ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 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 may 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
Trang 133.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 giaothức) Mô tả trong một bài báo xuất bản năm 1978 của Roger Needham và MichaelShroeder, 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âmphân phối khỏa" ( key distribution center - KDC) KDC bao gồm hai chức năng "máychủ xác thực" (authentication server - AS) và "máy chủ cung cấp vẽ" (Ticket GrantingServer - TGS) "Vẻ" trong hệ thống
Kerberos chinh là các chứng thực chứng minh nhân dạng của người sử dụng Đối vớingườ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ộtkhó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 khoa 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 x40 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ủabê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êucầ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 quamạ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ềuhà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