1. Trang chủ
  2. » Tất cả

Đồ án an toàn và bảo mật mạng hệ thống xác thực

22 1,2K 11
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 22
Dung lượng 318 KB

Nội dung

Giao thức này thường thấy trong các modem adsl,cac router dung để xác thực khi vào mạng các nhà cung cấp mạngisp cũng dung giao thức này để xác thực các kết nối từ clien tới sever.Khi mộ

Trang 1

I.Giới thiệu authentication

1.Authentication là gì?

2.Các nhân tố cho xác thực

II.Các giao thức nền tảng cho Xác thực:

2.1 Giao thức PAP Password Authentication Protocol (PAP)

2.2 Giao thức Xác thực CHAP (Challenge Handshake Authentication Protocol)

2.3 Giao thức TCACS và RADIUS

2.4 Giao thức xác thực Kerberos

2.5 Giao thức Xác thực LDAP(Light Weight Access Protocol)

III.Một số mô hình xác thực:

1 Mô hình user/password

2 Hệ thống đăng nhập một lần Single sign-on (SSO)

3 Mô hình PKI (Public Key Infrastructure )

có nghĩa là công nhận nguồn gốc (provenance) của đối tượng, trong khi, xác thực một người thường bao gồm việ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ều nhân tố xác thực (authentication factors) để minh chứng cụ thể

1.2.Các nhân tố dung cho xác thực:

Trong an ninh máy tính (computer security) thường dùng nhận dạng số (digital identity)

Trong các lĩnh vực khác thường dùng các nhân tố nhận dạng đặc điểm con người(vân tay, chứng minh nhân dân,hình…),vật(tên gọi ,số hiệu…)

Đôi khi xác thưc chỉ dùng 1 nhân tố xác thực hoặc kết hợp nhiều nhân tố lạivới nhau

II.Các giao thức xác thực

2.1 Giao thức PAP(Password Authentication Protocol (PAP)

Trang 2

Giao thức này thường thấy trong các modem adsl,cac router dung để xác thực khi vào mạng các nhà cung cấp mạng(isp) cũng dung giao thức này để xác thực các kết nối từ clien tới sever.

Khi một kết nối PPP được yêu cầu bởi client và PAP(point-to-point protocol) được chọn dùng, access server sẽ ra lệnh cho client sử dụng PAP Client sau đó sẽ phải gửi bộ username và password của mình, các thông tin này đều được truyền dưới dạng clear text mà không được mã hóa gì cả và được đóng gói trong các gói

dữ liệu của PPP Server sau đó sẽ quyết định chấp nhận hay từ chối việc thiết lập kết nối.Đây là cơ chế PAP một chiều giữa một client và một server Nếu hai routernói chuyện với nhau thì Two-way PAP (PAP hai chiều) sẽ được sử dụng trong đó mỗi router sẽ gửi username và password, như vậy mỗi router sẽ chứng thực lẫn nhau

2.2 Giao thức Xác thực CHAP (Challenge Handshake Authentication

Protocol)

CHAP được sử dụng phổ biến hơn PAP, do nó có khả năng mã hóa mật khẩu cũng như dữ liệu

Giả sử một user A(remote) quay số truy cập vào access server B

• Giả sử một user A quay số truy cập vào access server B

• Access server sẽ gửi qua đường truyền một gói tin khởi tạo chứng thực Type 1 gọi là gói tin Challenge Gói tin Challenge này chứa một số được sinh ngẫu nhiên, một số ID sequence number để xác định challenge và tên chứng thực của challenager

Trang 3

• Bên gọi sẽ lấy ra chuỗi authentication name, và tìm trong dữ liệu của mình chuỗi mã mật CHAP ứng với user name nhận được.

• Caller sẽ nhập mã mật của CHAP, số ID sequence number và một giá trị số được sinh ngẫu nhiên vào thuật toán băm Message Digest 5 (MD5)

• Giá trị kết quả sau khi tính toán hàm băm được gửi trả lại cho Challenger (Access server) trong một gói CHAP Response (Type 2) chứa chuỗi băm, tên chứng thực của caller và cuối cùng là ID (Sequence Number) được lấy

từ gói Challenge

Trang 4

• Khi nhận được gói Response Type 2, Challenger sẽ sử dụng ID để tìm gói Challenge nguyên thủy.

• username của caller (A) được sử dụng để tìm kiếm mã mật CHAP từ một local database, hay một RADIUS server hoặc một TACACS+ server

• ID, giá trị Challande gốc được sinh ngẫn nhiên và giá trị CHAP ngẫu nhiên ban đầu và mã mật của được đưa vào xử lỷ bởi hàm băm MD5

• Chuỗi băm kết quả sau khi tính toán sau đó được so sánh với giá trị nhận được trong gói Response

• Nếu 2 chuỗi là giống nhau thì quá trình chứng thực CHAP đã thành công vàcác gói Type 3 được gửi đến caller chứa ID Điều này có nghĩa là kết nối đãđược chứng thực hợp lệ

• Nếu chứng thực CHAP thất bại, một gói tin Type 4 sẽ được gửi đến caller trong đó chứa original ID, xác nhận quá trình chứng thực là không thành công

RFC1994 http://www.ietf.org/rfc/rfc1994.txt

Trang 5

2.3 Giao thức TCACS và RADIUS

Tổng quan về TACACS

TACACS là giao thức được chuẩn hóa sử dụng giao thức hướng kết nối

(connection-oriented) là TCP trên port 49

TACACS có các ưu điểm sau:

•Với khả năng nhận gói reset (RST) trong TCP, một thiết bị có thể lập tức báo cho đầu cuối khác biết rằng đã có hỏng hóc trong quá trình truyền

•TCP là giao thức mở rộng vì có khả năng xây dựng cơ chế phục hồi lỗi Nó có thểtương thích để phát triển cũng như làm tắc nghẽn mạng với việc sử dụng sequencenumber để truyền lại

•Toàn bộ payload được mã hóa với TACACS+ bằng cách sử dụng một khóa bí mật chung (shared secret key) TACACS+ đánh dấu một trường trong header để xác định xem thử có mã hóa hay không

•TACACS+ mã hóa toàn bộ gói bằng việc sử dụng khóa bí mật chung nhưng bỏ qua header TACACS chuẩn Cùng với header là một trường xác định body có được mã hóa hay không Thường thì trong toàn bộ thao tác, body của một gói được mã hóa hoàn toàn để truyền thông an toàn

•TACACS+ được chia làm ba phần: xác thực (authentication), cấp quyền

(authorization) và tính cước (accounting) Với cách tiếp cận theo module, ta có thể

sử dụng các dạng khác của xác thực và vẫn sử dụng TACACS+ để cấp quyền và tính cước Chẳng hạn như, việc sử dụng phương thức xác thực Kerberos cùng với việc cấp quyền và tính cước bằng TACACS+ là rất phổ biến

•TACACS+ hỗ trợ nhiều giao thức

•Với TACACS+, ta có thể dùng hai phương pháp để điều khiển việc cấp quyền thực thi các dòng lệnh của một user hay một nhóm nhiều user:

oPhương pháp thứ nhất là tạo một mức phân quyền (privilege) với một số câu lệnhgiới hạn và user đã xác thực bởi router và TACACS server rồi thì sẽ được cấp cho mức đặc quyền xác định nói trên

oPhương pháp thứ hai đó là tạo một danh sách các dòng lệnh xác định trên

TACACS+ server để cho phép một user hay một nhóm sử dụng

•TACACS thường được dùng trong môi trường enterprise Nó có nhiều ưu điểm

và làm việc tốt đáp ứng yêu cầu quản lý mạng hàng ngày

Trang 6

•RADIUS có phần overhead ít hơn so với TACACS vì nó sử dụng UDP, trong phần overhead không có địa chỉ đích, port đích.

•Với cách thức phân phối dạng source code, RADIUS là dạng giao thức hoàn toàn

mở rộng Người dùng có thể thay đổi nó để làm việc với bất kì hệ thống bảo mật hiện có

•RADIUS yêu cầu chức năng tính cước (accounting) mở rộng

RADIUS thường được dùng để tính cước dựa trên tài nguyên đã sử dụng Ví dụ như ISP sẽ tính cước cho người dùng về chi phí kết nối Ta có thể cài đặt RADIUSAccounting mà không cần sử dụng RADIUS để xác thực và cấp quyền Với chức năng accounting mở rộng, RADIUS cho phép dữ liệu được gửi từ các thiết bị xuất phát cũng như là thiết bị đích, từ đó giúp ta theo dõi việc sử dụng tài nguyên (thời gian, số lượng các gói tin, số lượng byte, ) trong suốt phiên làm việc

Hoat động:

Giao thức Remote Authentication Dial In User Service (RADIUS) được định nghĩa trong RFC 2865 được đưa ra với định nghĩa: Với khả năng cung cấp xác thực tập trung, cấp phép và điều khiển truy cập (Authentication, Authorization, và Access Control – AAA) cho các phiên làm việc với SLIP và PPP Dial-up – như việc cung cấp xác thực của các nhà cung cấp dịch vụ Internet (ISP) đều dựa trên giao thức này để xác thực người dùng khi họ truy cập Internet Nó cần thiết trong tất cả các Network Access Server (NAS) để làm việc với danh sách các username

và password cho việc cấp phép, RADIUS Access-Request sẽ chuyển các thông tin tới một Authentication Server, thông thường nó là một AAA Server (AAA – Authentication, Authoriztion, và Accounting) Trong kiến trúc cua hệ thống nó tạo

ra khả năng tập trung các dữ thông tin của người dùng, các điều kiện truy cập trên một điểm duy nhất (single point), trong khi có khả năng cung cấp cho một hệ thống lớn, cung cấp giải pháp NASs

Khi một user kết nối, NAS sẽ gửi một message dạng RADIUS Access-Request tới máy chủ AAA Server, chuyển các thông tin như username và password, thông quamột port xác định, NAS identify, và một message Authenticator

Sau khi nhận được các thông tin máy chủ AAA sử dụng các gói tin được cung cấp như, NAS identify, và Authenticator thẩm định lại việc NAS đó có được phép gửi các yêu cầu đó không Nếu có khả năng, máy chủ AAA sẽ tìm kiểm tra thông tin username và password mà người dùng yêu cầu truy cập trong cơ sở dữ lệu Nếu quá trình kiểm tra là đúng thì nó sẽ mang một thông tin trong Access-Request quyết định quá trình truy cập của user đó là được chấp nhận

Khi quá trình xác thực bắt đầu được sử dụng, máy chủ AAA có thể sẽ trả về một RADIUS Access-Challenge mang một số ngẫu nhiên NAS sẽ chuyển thông tin

Trang 7

đến người dùng từ xa (với ví dụ này sử dụng CHAP) Khi đó người dùng sẽ phải trả lời đúng các yêu cầu xác nhận (trong ví dụ này, đưa ra lời đề nghị mã hoá password), sau đó NAS sẽ chuyển tới máy chủ AAA một message RADIUS Access-Request.

Nếu máy chủ AAA sau khi kiểm tra các thông tin của người dùng hoàn toàn thoả mãn sẽ cho phép sử dụng dịch vụ, nó sẽ trả về một message dạng RADIUS

Access-Accept Nếu không thoả mãn máy chủ AAA sẽ trả về một tin RADIUS Access-Reject và NAS sẽ ngắt kết nối với user

Khi một gói tin Access-Accept được nhận và RADIUS Accounting đã được thiết lập, NAS sẽ gửi mộtgói tin RADIUS Accounting-Request (Start) tới máy chủ AAA Máy chủ sẽ thêm các thông tin vào file Log của nó, với việc NAS sẽ cho phép phiên làm việc với user bắt đầu khi nào, và kết thúc khi nào, RADIUS

Accouting làm nhiệm vụ ghi lại quá trình xác thực của user vào hệ thống, khi kết thúc phiên làm việc NAS sẽ gửi một thông tin RADIUS Accounting-Request (stop)

2.4Giao thức Kerberos:

Kerberos là một giao thức chứng thực mạng được phát triển trong dự

án Athena của học viện công nghệ Massachusetts (MIT) Kerberos là một cơ chếchứng thực mạnh cho các ứng dụng client/server trên môi trường mạng phân tán;

nó cho phép các thực thể truyền thông trong mạng chứng thực lẫn nhau mà vẫnđảm bảo an toàn, chống nghe lén hay tấn công dùng lại trên mạng Nó cũng đảmbảo tính toàn vẹn và tính mật cho thông tin truyền đi, sử dụng mã hoá bí mật nhưDES, triple DES

Nội dung

Kerberos không xây dựng các giao thức chứng thực phức tạp cho mỗi máy chủ

mà hoạt động dựa trên một máy chủ chứng thực tập trung KDC (Key DistributionCentre) KDC cung cấp vé cho việc chứng thực người dùng và bảo mật truyềnthông bởi khoá phiên trong vé KDC gồm:

Trang 8

- Máy chủ chứng thực AS (Authentication Server) biết khoá mật của tất cảngười dùng được lưu giữ trên một cơ sở dữ liệu tập trung.

- Máy chủ cấp khoá TGS (Ticket Granting Server) cung cấp vé dịch vụ chophép người dùng truy nhập vào các máy chủ trên mạng

Giao thức Kerberos hoạt động khá phức tạp, về cơ bản được thực hiện qua bagiai đoạn, hay ba pha Trong kịch bản này, người dùng C đăng nhập vào máy trạmclient và yêu cầu truy nhập tới máy chủ V

Pha thứ nhất: Kết nối với AS để lấy về vé xin truy nhập TGS, ticket (TGT)

ticket-granting-Truyền thông với AS thường là giai đoạn khởi đầu của phiên đăng nhập, nhằm lấy

về dữ liệu chứng thực (TGT) cho TGS, để sau đó lấy về chứng thực cho các máychủ khác mà không phải nhập lại khoá bí mật của client Khoá bí mật của clientđược sử dụng cho cả việc mã hoá và giải mã

a Người dùng C đăng nhập vào hệ thống, nhập định danh và mật khẩu Client sẽchuyển đổi mật khẩu thành khoá mật của C, lưu trữ trong biến của chương trình.Sau đó, client gửi yêu cầu xin cấp TGT tới AS bằng thông điệp KerberosAuthentication Service Request (KRB_AS_REQ) gồm 2 phần :

- Định danh người dùng, định danh TGS nhằm chỉ định sử dụng dịch vụ TGSdưới dạng bản rõ

Trang 9

- Dữ liệu tiền chứng thực (pre-authentication data) chứng minh rằng ngườidùng có đúng mật khẩu của anh ta Phần này được mã hoá bằng khoá sinh ra

từ mật khẩu người dùng

b AS sẽ truy lục trong cơ sở dữ liệu, lấy khoá bí mật của C, giải mã phần dữ liệutiền chứng thực, kiểm tra có hợp lệ không Nếu có, AS có thể bảo đảm dữ liệu tiềnchứng thực được mã hoá đúng bằng khoá bí mật của C, không bị tấn công dùnglại

c Cuối cùng thì AS cũng đã xác minh được định danh của C, AS sẽ phản hồi bằngmột thông điệp Kerberos Authentication Service Response (KRB_AS_REP) cóchứa vé TGT bao gồm :

- Một khoá phiên SK1 dùng cho truyền thông giữa client và TGS ở pha thứhai, được mã hoá bằng khoá mật của C đảm bảo chỉ có C mới giải mã được

- Bản sao của SK1 được mã hoá bằng khoá mật của TGS đảm bảo chỉ TGSđọc được

Pha thứ hai: Truyền thông với máy chủ cấp vé dịch vụ TGS, lấy về service ticket

truy nhập máy chủ V

a Có vé TGT và khóa phiên SK1, C đã sẵn sàng để truy nhập vào TGS Đầu tiên

C gửi cho TGS một thông điệp Kerberos Ticket Granting Service Request(KRB_TGS_REQ) có chứa :

- Vé TGT và Định danh dịch vụ yêu cầu V

Bộ dữ liệu chứng thực gọi là Authenticator được mã hoá bằng SK1 gồm địnhdanh người dùng C, IP của client và tem thời gian Authenticator chỉ sử dụng mộtlần và có hiệu lực trong một thời gian cực ngắn

b TGS dùng khoá mật của mình giải mã TGT, lấy ra SK1 để giải mãauthenticator, kiểm tra tính hợp lệ Nếu hợp lệ, TGS được đảm bảo chắc chắn rằngngười gửi chiếc vé chính là chủ nhân thực sự của nó Khi đó, TGS sẽ sinh ra khoáphiên mới SK2 chung cho client và máy chủ V Hai bản sao của khoá phiên nàyđược gửi về cho C bằng thông điệp Kerberos Ticket Granting Service Response(KRB_TGS_REP) gồm:

- Một bản sao khoá phiên SK2 được mã hoá bằng khoá phiên của C

- Bản kia được mã hóa bằng khoá mật của V đảm bảo chỉ V mới mở được

Trang 10

Pha thứ ba: Truyền thông trong chứng thực client/server, trao đổi dữ liệu

a Bây giờ thì client sẵn sàng chứng thực với máy chủ V Client gửi cho V mộtthông điệp Kerberos Aplication Request (KRB_AP_REQ) có chứa :

- Authenticator mã hoá bởi khoá phiên SK2

- Service ticket mã hoá bởi khoá mật của V

- Cờ xác định client có yêu cầu chứng thực lẫn nhau không

b V giải mã service ticket, lấy ra SK2 giải mã authenticator, xác minh tính hợp lệ.Nếu hợp lệ, B xem giá trị cờ yêu cầu chứng thực lẫn nhau Nếu cờ được thiết lập,

V sử dụng SK2 mã hoá thời gian từ authenticator và gửi về cho C bằng thông điệpKRB_AP_REP

c C giải mã thông điệp bằng khoá phiên dùng chung với V, xác minh thời giantrong đó có đúng như khi gửi cho V không Nếu hợp lệ, kết nối truyền thông sẽđược thực hiện

Như vậy, khoá phiên đã được chuyển tới server V và client một cách an toàn,

được sử dụng cho việc bảo mật truyền thông giữa client và server về sau Hơn nữa,

cả client và server đều được chứng thực lẫn nhau, không xảy ra trường hợp giảmạo một trong hai bên tham gia truyền thông

Tại sao LDAP được coi là lightweight? Lightweight được so sánh với cái gì?

Đó là những câu hỏi khi bạn muốn tìn hiểu chi tiết hơn về LDAP

Để trả lời những câu hỏi này, bạn cần tìm hiểu nguồn gốc của LDAP

Bản chất của LDAP là một phần của dịch vụ thư mục X.500 LDAP thực chất được thiết kế như một giao thức nhẹ nhàng, dùng như gateway trả lời những yêu

Trang 11

cầu của X.500 server X.500 thực tế là một tập các chuẩn.

X500 được biết như là một heavyweight Nó yêu cầu client và server liên lạc vớinhau sử dụng theo mô hình OSI Mô hình 7 tầng của OSI là một mô hình chuẩn phù hợp trong thiết kế với giao thức mạng, nhưng khi so sánh với chuẩn TCP/IP thì nó trở nên không còn hợp lý

LDAP được so sánh với lightweight vì nó sử dụng gói tin overhead thấp, nó được xác định chính xác trên lớp TCP ( mặc định là cồng 389) của danh sách các giao thức TCP/IP Bởi vì X.500 là một lớp giao thức ứng dụng, nó chứa nhiều thứ hơn ví dụ như các network header được bao quanh các gói tin ở mỗi layer trước khi nó được chuyển đi trong mạng

LDAP được coi là lightweight bởi vì nó đã lược bỏ rất nhiều những phương thức

ít được dùng của X.500 LDAPv3 chỉ có 9 core hoạt động và cung cấp một mô hình đơn giản cho người lập trình và quản trị hệ thống Việc cung cấp một tập các hoạt động nhỏ hơn và đơn giản hơn cho phép người phát triển tập trung vào nhữngngữ nghĩa của chương trình mà không cần phải hiểu những giao thức đặc trưng mà

ít khi được dùng đến Theo đó, người thiết kế LDAP hi vọng rằng sẽ tạo ra được

sự đón nhận nhiều hơn nữa bằng cách cung cấp những phát triển ứng dụng đơn giản hơn

Ngày đăng: 14/12/2021, 18:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w