Tải bản đầy đủ (.pdf) (15 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 15 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b> TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN</b>

<b>BÀI TẬP LỚN</b>

<b>MÔN: AN NINH VÀ BẢO MẬT DỮ LIỆUĐề bài : Tìm hiểu Giao Thức KerberosCơ chế quản lí và phân phối khóa đồng bộ</b>

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

<i>Sinh viên thực hiện:</i> 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

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

MỤC LỤC

<b>A. Tìm hiểu về giao thức Kerberos...1</b>

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 tồn thơng tin của Kerberos...6

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

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

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

<b>C. Tài liệu tham khảo...11</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b> </b>

<b>BẢNG PHÂN CÔNG CÔNG VIỆC</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

A.<b>Tìm hiểu về giao thức KerberosI.Khái niệm</b>

- 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 tồ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 tồ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.

<b>II.Lịch sử phát triển</b>

- 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.

<b>Đã có hai phiên bản đang sử dụng là: Kerberos 4 và Kerberos 5</b>

- 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.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>III.Cơ chế hoạt động</b>

Kerberos hoạt động theo mơ hình máy trạm/ máy chủ và nó thực hiện q 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.

<b>1. Hệ thống </b>

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)

<b>2. Tổng quan về cách thức hoạt động</b>

- 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.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>3. Cụ thể cách thức hoạt động</b>

<b>Mơ hình Kerberos tiêu biểu</b>

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 tố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 để 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.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="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.

<b>IV.Một số phiên bản Kerberos1. Các lãnh địa Kerberos</b>

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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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.

<b>2. Kerberos phiên bản 4</b>

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ụ.

<b>3. Kerberos phiên bản 5</b>

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 tố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 khố phiến chống tấn công mật khẩu.

<b>V.Các yêu cầu và ứng dụng của thuật toán Kerberos1. Yêu cầu của thuật toán Kerberos</b>

An tồn Tin cậy Trong suốt Có thể mở rộng

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>2. Ứng dụng của thuật toán Kerberos</b>

Ngày nay dịch vụ xác thực Kerberos này được ứng dụng nhiều ở thực tiễn như:

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.

<b>VI.Ứng dụng trong đảm bảo an tồn thơng tin của Kerberos</b>

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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="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

<b>VII. Ưu - nhược điểm bảo mật của Kerberos1. Ưu điểm</b>

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à ln được mã hóa.

Kerberos khơng 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).

<b>2. Nhược điểm</b>

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ì tồ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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="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ì tồ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ễ đốn thì hệ thống dễ bị mất an tồ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ì tồn bộ hệ thống s~ trở nên mất an tồn.

B.<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</b>

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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

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

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<b> khóa phiên</b> 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 tốn mã hố điển hình được sử dụng trong Kerberos là <b>DES</b> (Data Encryption Standard - chuẩn mã hố 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ã hố sử dụng “khố 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ã hố sử dụng “khóa cơng khai” (hay

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="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.

<b>II.Khóa Phiên (Session Keys)</b>

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)

<b>III.Các bước tạo khóa phiên1. Bước 1</b>

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

<b>2. Bước 2</b>

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

</div>

×