1. Trang chủ
  2. » Luận Văn - Báo Cáo

An Ninh Và Bảo Mật Dữ Liệu Đề Bài Tìm Hiểu Giao Thức Kerberos Cơ Chế Quản Lí Và Phân Phối Khóa Đồng Bộ.pdf

15 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu Giao Thức Kerberos Cơ chế quản lí và phân phối khóa đồng bộ
Tác giả Hoàng Thị Phương Duyên, Nguyễn Tiến Dũng, Nguyễn Minh Đức
Người hướng dẫn Th.S Trần Duy Hùng
Trường học Trường Đại học Mở Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 15
Dung lượng 1,16 MB

Nội dung

Khái niệm - 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.. Hệ thống Bao gồm: - Người dùng dịch vụ Client - M

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN MÔN: AN NINH VÀ BẢO MẬT DỮ LIỆU

Đề bài : Tìm hiểu Giao Thức Kerberos

Cơ chế quản lí và phân phối khóa đồng bộ

Giảng viên hướng dẫn: Th.S Trần Duy Hùng

Sinh viên thực hiện: Hoàng Thị Phương Duyên - 2010A02

Nguyễn Tiến Dũng - 2010A02 Nguyễn Minh Đức - 2010A02

Hà Nội, năm 2022

Trang 2

MỤC LỤC

A Tìm hiểu về giao thức Kerberos 1

I Khái niệm 1

II Lịch sử phát triển 1

III Cơ chế hoạt động 1

IV Một số phiên bản Kerberos 4

1 Các lãnh địa Kerberos 4

2 Kerberos phiên bản 4 4

3 Kerberos phiên bản 5 5

V Các yêu cầu và ứng dụng của thuật toán Kerberos 5

VI Ứng dụng trong đảm bảo an toàn thông tin của Kerberos 6

VII Ưu - nhược điểm bảo mật của Kerberos 6

B Cơ chế quản lý và phân phối khóa đồng bộ 7

I Trung tâm phân phối khóa 7

II Khóa Phiên (Session Keys) 9

III Các bước tạo khóa phiên 9

C Tài liệu tham khảo 11

Trang 3

BẢNG PHÂN CÔNG CÔNG VIỆC

Hoàng Thị

Phương Duyên

Tìm hiểu giao thức Kerberos

Làm slide

Nguyễn Tiến

Dũng Tìm hiểu cơ chế quản lý và phân phối khóa đồng bộ

Nguyễn Minh

Đức

Tìm hiểu giao thức Kerberos

Làm slide

Trang 4

A.Tìm hiểu về giao thức Kerberos

I Khái niệm

- 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 máy chủ-máy khách (client-server) và đảm bảo nhận thực cho cả hai chiều

- Kerberos được xây dựng dựa trên mô hình mã hóa khóa đối xứng và đbi hci

mô dt thành phần thứ ba tin câ dy (trusted third party) tham gia vào quá trình chứng thực

II Lịch sử phát triển

- Học viện kỹ thuật 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ó hai phiên bản đang sử dụng là: Kerberos 4 và Kerberos 5

- 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 RFC 1510 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

- Windows 2000, XP và 2003 Server sử dụng Kerberos như là mô dt phương pháp chứng thực mă dc định

Trang 5

III Cơ chế hoạt động

Kerberos hoạt động theo mô hình máy trạm/ máy chủ và nó thực hiện quá trình xác thực 2 chiều - cả người dùng và dịch vụ xác thực lẫn nhau

1 Hệ thống

Bao gồm:

- Người dùng dịch vụ (Client)

- Máy chủ cung cấp khóa – KDC (Key Distribution Center)

Máy chủ xác thực – AS (Authentication Server)

Máy chủ cấp vé – TGS (Ticket Granting Server)

CSDL thông tin của client – server

- Máy chủ cung cấp dịch vụ - AP (Application Server)

2 Tổng quan về cách thức hoạt động

- Client xác thực với AS AS check trong CSDL sau đó cấp quyền cho Client đến TGS TGS cấp cho client vé để sử dụng dịch vụ trên SS Client mang vé đến SS để sử dụng dịch vụ

- Để dễ hiểu thì có thể hiểu là: Muốn sử dụng dịch vụ thì phải có vé, mà muốn có

vé phải đi mua vé ở quầy bán vé, muốn vào được quầy bán vé thì phải qua phbng bảo về để xác thực

Trang 6

3 Cụ thể cách thức hoạt động

Mô hình Kerberos tiêu biểu

Dưới đây là mô dt mô tả về quá trình hoạt đô dng của giao thức (AS = Authentication Server, TGS = Ticket Granting Server, C = Client, S = Service):

- Người dùng nhâ dp vào username và password ở phía client

- Client thực hiê dn thuâ dt toán băm mô dt chiều trên password được nhâ dp vào, và nó trở thành secret key của client

- Client gửi mô dt message dưới dạng clear text đến AS để yêu cầu dịch vụ Chú ý: không có secret key cũng như password nào được gửi đến AS

- AS kiểm tra xem có tồn tại người dùng C trong cở sở dữ liê du của nó hay không Nếu có, nó gửi ngược lại cho client 2 messages:

Message A: chứa Client/TGS session key được mã hóa bởi secret key của người dùng (client)

Message B: chứa Ticket Granting Ticket (bao gồm Client ID, Client Network Address, Ticket Validity Period, và mô dt Client/TGS session key) được mã hóa sử dụng secret key của TGS

- Khi client nhâ dn được Message A và B, nó giải mã Message A để lấy Client/TGS session key Session key này được sử dụng cho quá trình giao đ{i tiếp theo với TGS Chú ý: client không thể giải mã Message B, bởi vì nó được

mã hóa bởi secret key của TGS

- Khi yêu cầu dịch vụ (S), client gửi 2 message sau đến TGS:

Message C: bao gồm Message B và ID của dịch vụ được yêu cầu Message D: chứa Authenticator (gồm client ID và timestamp), được mã hóa bởi Client/TGS session key

Trang 7

- Khi nhâ dn được Message C và D, TGS giải mã Message D sử dụng Client/TGS session key và gửi 2 message ngược lại cho client:

Message E: chứa Client-to-Server Ticket (bao gồm Client ID, Client Network Address, Ticket Validity Period, và mô dt Client/Service session key) được mã hóa bởi secret key của Service

Message F: chứa Client/Server session key được mã hóa bởi Client/TGS session key

- Khi nhâ dn được Message E và F, Client sau đó gửi mô dt Authenticator mới và

mô dt Client-to-Server ticket đến Server chứa dịch vụ được yêu cầu

Message G: chứa Client-to-Server ticket được mã hóa sử dụng secret key của Server

Message H: mô dt Authenticator mới, chứa Client ID, Timestamp và được mã hóa sử dụng Client/Server session key

- Sau đó, Server giải mã Ticket sử dụng secret key của chính nó, và gửi mô dt message cho client để xác nhâ dn tính hợp lê d thực sự của client và sự s}n sàng cung cấp dịch vụ cho client

Message I: chứa giá trị Timestamp trong Authenticator được gửi bởi client s~ được cô dng thêm 1, được mã hóa bởi Client/Server session key

- Client s~ giải mã sự xác nhâ dn này sử dụng khóa chia s~ giữa nó với server, và kiểm tra xem giá trị timestamp có được câ dp nhâ dt đúng hay không Nếu đúng, Client có thể tin tưởng Server và b•t đầu đưa ra các yêu cầu dịch vụ gửi đến Server

- Server cung cấp dịch vụ được yêu cầu đến client

IV Một số phiên bản Kerberos

1 Các lãnh địa Kerberos

Môi trường Kerberos bao gồm: máy chủ Kerberos, một số máy trạm đã được đăng ký với máy chủ, các máy chủ ứng dụng chia sẻ khoá với máy chủ Một hệ thống như vậy được gọi là một lãnh địa Kerberos Thông thường là một miền

Trang 8

hành chính duy nhất Nếu có nhiều lãnh địa, thi các máy chủ Kerberos cần phải chia sẻ khoá và tin cậy nhau

2 Kerberos phiên bản 4

Là sơ đồ xác thực dùng bên thứ ba và có máy chủ xác thực (AS – Authentication Server) Người dùng thca thuận với AS về danh tính của mình, AS cung cấp sự tin cậy xác thực thông qua thẻ cấp thẻ TGT (Ticket Granting Ticket) Người sử dụng thường xuyên yêu cầu TGS cho truy cập đến các dịch vụ khác dựa trên thẻ cấp thẻ TGT của người sử dụng và máy chủ cung cấp thẻ (TGS – Ticket Granting Server) cung cấp các thẻ dịch vụ theo yêu cầu và thẩm quyền Người sử dụng nhận thẻ được cấp từ máy chủ xác thực AS, mỗi thẻ cho một phiên làm việc và cũng nhận thẻ cấp dùng dịch vụ (Service Granting Ticket) từ TGT Mỗi thẻ dùng cho một dịch vụ khác nhau được yêu cầu, thông qua việc trao đ{i giữa máy chủ/trạm để nhận được dịch vụ

3 Kerberos phiên bản 5

Kerberos 5 được phát triển vào giữa những năm 1990, được thiết kế theo chuẩn RFC 1510 Nó cung cấp những cải tiến so với phiên bản 4 cụ thể hướng tới các thiếu sót và môi trường thuật toán mã thủ tục mang thứ tự byte thời gian sử dụng thể truyền tiếp xác thực xác thực lãnh địa con Và các sự khác biệt về kỹ thuật như mã kép các dạng sử dụng không chuẩn khoá phiến chống tấn công mật khẩu

V Các yêu cầu và ứng dụng của thuật toán Kerberos

1 Yêu cầu của thuật toán Kerberos

An toàn

Tin cậy

Trong suốt

Có thể mở rộng

Trang 9

2 Ứng dụng của thuật toán 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ư: 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 mô đun pam_krb5)

SOCKS (kể từ SOCKS5)

Apache (với mô đun 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ư penDAP Bộ Kerberos cbn đ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 Kerberos trong các hệ thống bastion host

VI Ứng dụng trong đảm bảo an toàn thông tin của Kerberos

Kerberos nhằm đối phó với các hiểm họa sau:

Người dùng giả danh người khác

Người dùng thay đ{i địa chỉ mạng của client

Trang 10

Người dùng xem trộm thông tin trao đ{i và thực hiện kiểu tấn công lặp lại

Kerberos bao gồm 1 server tập trung có chức năng xác thực người dùng

và các server dịch vụ phân tán

Tin cậy server tập trung thay vì các client

Giải phóng chức năng xác thực khci các server dịch vụ và các client

VII Ưu - nhược điểm bảo mật của Kerberos

1 Ưu điểm

Cho đến nay, Kerberos vẫn được phân phối miễn phí từ MIT và một số nguồn khác Nó được tích hợp s}n trong các hệ điều hành như Windows, Mac OS, Unix… và một số sản phẩm khác Kerberos được đánh giá là giao thức xác thực

an toàn nhờ các đặc điểm sau:

Khi sử dụng Kerberos, mật khẩu không bao giờ truyền đi trong mạng dưới dạng rõ mà luôn được mã hóa

Kerberos không yêu cầu người dùng lặp đi lặp lại thao tác nhập mật khẩu trước khi truy cập vào các dịch vụ, hạn chế nguy cơ tấn công ăn c•p dữ liệu

Giao thức được mã hóa theo các chuẩn mã hóa cao cấp như Triple DES, RC4, AES nên rất an toàn

Tất cả các trao đ{i giữa các máy đều chứa timestamp nên vé bị đánh c•p không thể tái sử dụng, chống được tấn công dùng lại (replay attack)

2 Nhược điểm

Bên cạnh các ưu điểm, hệ thống Kerberos cũng tồn tại một số hạn chế nhất định

Độ bảo mật của hệ thống phụ thuộc vào sự an toàn của hệ thống KDC Nếu KDC bị tấn công thì toàn bộ các thành phần trong hệ thống cũng bị tê liệt

Do tất cả các trao đ{i đều g•n timestamp nên đbi hci các máy tính trong hệ thống phải đồng bộ về thời gian (không chênh lệch nhau quá 5 phút) Nếu

Trang 11

không đảm bảo điều này, cơ chế xác thực dựa trên thời hạn sử dụng s~ không hoạt động

Với cơ chế đăng nhập một lần trên một máy tính, nếu máy tính đó rơi vào tay những kẻ tấn công mạng thì toàn bộ dữ liệu người dùng s~ bị đánh c•p

và gây nguy cơ cho toàn bộ hệ thống

Nếu máy chủ trung tâm ngừng hoạt động thì mọi hoạt động s~ ngừng lại Điểm yếu này có thể được hạn chế bằng cách sử dụng nhiều máy chủ Kerberos

Giao thức đbi hci đồ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 Thiết lập mặc định đbi hci các đồng hồ không được sai lệch quá 10 phút Cơ chế thay đ{i mật khẩu không được tiêu chuẩn hóa

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 nhc 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à đảm bảo 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

B.Cơ chế quản lý và phân phối khóa đồng bộ

I Trung tâm phân phối khóa

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 KDC Key Distribution Center

Trang 12

Trên lý thuyết KDC bao gồm 3 thành phần:

Database của tất cả các principal và các khóa đã mã hóa của nó để gia nhập

Authentication Server

Ticket Granting Server

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 serverKerberos 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 khóa 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

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 mô đun 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 Phương thức mã hoá sử dụng “khoá mật” (cbn gọi là khóa đối xứng) hoạt động theo nguyên t•c: mỗi cặp thực thể trao đ{i thông tin s~ chia sẻ một khóa duy nhất dùng cho cả hai công đoạn mã hóa và giải mã Đây là hướng tiếp cận đối lập với phương thức mã hoá sử dụng “khóa công khai” (hay

Trang 13

khóa bất đối xứng) với các khóa dùng để mã hóa và giải mã là riêng biệt và rất khó có thể suy ra nhau, điều này cho phép một trong hai khóa được công bố rộng rãi Các hệ mã dựa trên khóa mật có ưu thế về tốc độ xử lý nhưng gặp phải khó khăn rất cơ bản trong việc truyền khóa giữa hai bên tham gia trao đ{i thông tin, trong khi hệ mã dựa trên khóa công khai có thể giải quyết tốt vấn đề này Chính

vì vậy nên khi áp dụng vào thực tế hai kỹ thuật này thường được sử dụng kết hợp với nhau Trong cả hai phương thức mã hóa sử dụng khóa mật và khóa công khai, mô hình triển khai ph{ biến là dựa vào bên thứ ba được tin cậy để chứng nhận danh tính

II Khóa Phiên (Session Keys)

KDC tạo khóa bí mật cho mỗi thành viên, khóa bí mật này có thể dùng giữa thành viên và KDC, chứ không dùng giữa hai thành viên

Nếu muốn dùng giữa hai thành viên, KDC tạo một session key giữa hai thành viên, sử dụng khóa của họ với trung tâm

Khóa phiên giữa hai thành viên chỉ được dùng một lần (Sau khi giao tiếp kết thúc thì khóa phiên cũng không cbn tác dụng)

III Các bước tạo khóa phiên

1 Bước 1

A gửi yêu cầu đến KDC để nhận được khóa phiên nhằm thực hiện truyền thông với B

Bản tin gồm định danh của A,B và một định danh duy nhất N1 cho phiên truyền gọi là nonce (nhãn thời gian, biến đếm, số ngẫu nhiên)]

Đối phương rất khó để xác định nonce

2 Bước 2

KDC trả lời yêu cầu bằng một tin tức, được mã hóa với việc sử dụng khóa Ka Người duy nhất có thể nhận và đọc được tin tức này đó chính là A và bởi vậy A

có thể tin tưởng rằng tin tức đã được gửi từ KDC

Tin tức có 2 thông tin được chờ đợi với A

Ngày đăng: 08/04/2024, 09:27

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w