Keberos version 4

Một phần của tài liệu bài giảng an toàn và bảo mật thông tin (Trang 117 - 121)

Trong các phần trên, chúng ta đã tìm hiểu về chứng thực X.509 và giao thức SSL dùng để bảo mật dữ liệu truyền đi trên mạng Internet. Mỗi server trên internet đều có chứng chỉ X.509 và cơ chế xác thực mật khẩu người sử dụng để bảo đảm tính chứng thực của cả hai bên, đồng thời thiết lập khóa phiên để bảo mật dữ liệụ

Giao thức Keberos là một giao thức chứng thực sử dụng trong môi trường mạng quy mô nhỏ hơn như là mạng cục bộ LAN. Trong mạng LAN sử dụng trong các tổ chức và doanh nghiệp, cũng có các dịch vụ được cung cấp qua mạng như dịch vụ in ấn, dịch vụ chia sẻ file, cơ sở dữ liệu, email… Mỗi dịch vụ này đều cần chứng thực người sử dụng cũng như bảo mật. Dĩ nhiên là có thể dùng chứng thực X509. Tuy nhiên trong môi trường

SSL Record Protocol TCP IP SSL Handshake Protocol SSL Change Cipher Spec Protocol SSL Alert Protocol HTTP

118

mạng nhỏ như mạng LAN, giao thức Keberos có thể được sử dụng như là một giải pháp thay thế.

Keberos là giao thức chứng thực dựa trên khái niệm trung tâm phân phối khóa KDC (xem phần 3.9 và mô hình mở rộng chống replay attack trong chương 6), tức Keberos chỉ dựa trên mã hóa đối xứng. Giao thức này do MIT chuẩn hóạ Mục đích của Keberos là để trao đổi khóa phiên, thông qua đó đảm bảo tính bảo mật và tính chứng thực. Do nguyên tắc của Keberos dựa trên KDC nên Keberos cũng kế thừa được những ưu điểm của mô hình KDC như tính phi trạng tháị Hình dưới minh họa mô hình hoạt động của Keberos version 4. ` Authentication Server(AS) Keberos Ticket-Granting Server (TGS) 1. Reques t Ticket- Granting T icket 2. Ticket+S ession Key 3. Request Service- Granting Ticket 5. Re quest Ser vice 6. Provid e server authentic ator 4. Ticket+Session Key Thực hiện 1 lần lúc logon Thực hiện 1 lần tại mỗi phiên dịch vụ Thực hiện 1 lần theo loại dịch vụ Client A Server B

Hình 7-9. Mô hình chứng thực và trao đổi khóa phiên Keberos

Trong mô hình trên, client A cần kết nối sử dụng dịch vụ tại server B. Authentication Server AS (chỉ có một AS) và Ticket-Granting Server TGS (có thể có nhiều TGS) đóng vai trò là các KDC. Server AS có nhiệm vụ cung cấp khóa đối xứng cho trao đổi giữa client A và server TGS. Server TGS có nhiệm vụ cung cấp khóa đối xứng cho trao đổi giữa client A và server dịch vụ B. Các người sử dụng A cần đăng ký mật khẩu KA của mình với Server AS. Các server dịch vụ B đăng ký khóa bí mật KB với Server TGS. Server TGS cũng đăng ký khóa bí mật KTGS với Server AS. Quá trình phân phối khóa phiên KAB để người sử dụng A kết nối với Server B trải qua ba giai đoạn như saụ

a) Giai đoạn đăng nhập: có hai thông điệp 1. A  AS: IDA|| IDTGS|| TS1

2. AS  A: E(KATGS||IDTGS||TS2||Lifetime2||TicketTGS, KA)

TicketTGS = E(KATGS||IDA||ADA||IDTGS||TS2||Lifetime2, KTGS)

Trước tiên A sẽ gửi yêu cầu đến server AS, đề nghị cung cấp khóa phiên để kết nối với server TGS. IDA và IDTGS nhằm định danh client A và server TGS, TS1 là timestamp xác định thời điểm client A gửi yêu cầụ Sau đó server AS sẽ phát sinh khóa phiên KATGS này và mã hóa thành hai bản, một bản dành cho A (được mã hóa bởi KA) và một bản dành cho TGS (được mã hóa bởi KTGS). Tuy nhiên bản dành cho TGS được giao cho A quản lý và được gọi là Ticket-Granting Ticket (TGT). A sẽ

119 dùng ticket này để thiết lập kết nối với TGS. TS2 là timestamp xác định thời điểm cấp thẻ, Lifetime2 là thời hạn hiệu lực của thẻ nàỵ ADA là địa chỉ mạng của client A, yếu tố này dùng để chống lại phá hoại replay attack.

b) Giai đoạn đăng ký sử dụng dịch vụ:

3. A  TGS: IDB|| TicketTGS|| Authenticator Authenticator = E(IDA||ADA||TS3 , KATGS) 4. TGS  A: E(KAB||IDB||TS4||TicketB, KATGS)

TicketB = E(KAB||IDA||ADA||IDV||TS4||Lifetime4, KB) 

Sau khi được cấp ticket TGT và khóa phiên KATGS để trao đổi với server TGS, client A gửi ticket này cho server TGS cùng với một autheticator để TGS chứng thực client Ạ Trong thông điệp này client cũng yêu cầu TGS cấp khóa phiên để kết nối với server dịch vụ B. IDB nhằm xác định server dịch vụ nàỵ TS3 là timestamp xác định thời điểm A sử dụng KATGS(chống replay attack).

Sau khi giải mã ticket, TGS có được khóa phiên KATGS. Từ đó TGS có thể kiểm tra tính chứng thực của client A qua Authenticator. Sau đó TGS sẽ phát sinh khóa phiên KAB và mã hóa thành hai bản, một bản dành cho A (được mã hóa bởi KATGS ) và một bản dành cho B (được mã hóa bằng KB). Tương tự như TGT, bản dành cho B cũng được giao cho A quản lý và được gọi là service ticket. A dùng ticket này trao đổi dữ liệu với B.

TS4và Lifetime4 là thời điểm hiệu lực và thời hạn hiệu lực của ticket nàỵ c) Giai đoạn sử dụng dịch vụ:

5. A  B: TicketB|| Authenticator Authenticator = E(IDA||ADA||TS5 , KAB) 6. B  A: E(TS5 + 1, KAB)

Tương tự như ở thông điệp 3, sau khi được cấp service ticket và khóa phiên KAB

để trao đổi với server B, client A gửi ticket này cho server B cùng với một Autheticator để B chứng thực A (tương tự như authenticator để TGS chứng thực A). B giải mã ticket này để có được khóa phiên KAB và từ đó B giải mã authenticator để kiểm tra tính chứng thực của Ạ TS5 là timestamp xác định thời điểm A sử dụng KAB

(chống replay attack)

Tiếp theo B có thể gửi lại TS5+1 cho A để A chứng thực B. Sau thông điệp này A và B có thể tiến hành trao đổi dữ liệu thông qua khóa phiên KAB.

A có thể sử dụng TicketB để kết nối với server B nhiều lần trong thời hạn

TicketBcòn hiệu lực. Khi ticket này hết hạn, A có thể gửi lại yêu cầu mới cho TGS để TGS cấp ticket khác.

7.5 Câu hỏi ôn tập

1. Tại sao nếu Bob tin tưởng vào khóa công khai của trung tâm chứng thực X thì Bob có thể tin tưởng vào khóa công khai của Alicẻ (khóa này được nhúng trong chứng chỉ X.509 do X cấp cho Alice)

120

2. Trong giao thức SSL, client có cần cung cấp chứng chỉ X.509 cho server không? 3. Trong giao thức SSL, dữ liệu Web (HTML) được mã hóa dùng phương pháp mã

hóa khóa công khai hay mã hóa đối xứng? (adsbygoogle = window.adsbygoogle || []).push({});

4. Giao thức SSL có thể bảo đảm dữ liệu truyền trên mạng. Vậy mục đích của giao thức Keberos là gì?

7.6 Bài tập thực hành

1. Tạo chứng chỉ X.509 theo các cách thức:

 Dùng công cụ makecert của microsoft

 Dùng công cụ openssl

 Đăng ký tại Verisign

2. Lập trình xem nội dung của một chứng chỉ X509, trích khóa công khai từ chứng chỉ.

3. Cài đặt SSL cho web server Internet Information Server IIS 4. Cài đặt SSL cho web server Apachẹ

121

CHƢƠNG 8. PHÁ MÃ VI SAI VÀ PHÁ MÃ TUYẾN TÍNH

Trong chương 3 chúng ta đã đề cập sơ lược đến ba cách thức phá mã DES. Chương này trình bày cách thức phá mã vi sai và phá mã tuyến tính. Việc tìm hiểu hai cách thức tấn công này giúp chúng ta hiểu rõ hơn về đặc điểm và cách thức xây dựng mã khốị Để đơn giản, chúng ta sẽ tìm hiểu phá mã TinyDES. Việc phá mã DES cũng thực hiện theo nguyên tắc tương tự.

Một phần của tài liệu bài giảng an toàn và bảo mật thông tin (Trang 117 - 121)