SAML (Ngôn ngữ Đánh giá An ninh) cho phép truy cập an toàn, liên tục vào nhiều ứng dụng bằng cách trao đổi dữ liệu xác thực giữa Nhà cung cấp Danh tính (IdP) và Nhà cung cấp Dịch vụ (SP).
Điều này cho phép người dùng đăng nhập một lần và truy cập nhiều dịch vụ mà không cần nhập lại thông tin xác thực, nâng cao độ an toàn và trải nghiệm người dùng trong môi trường doanh nghiệp. Trong bài viết này, chúng ta sẽ khám phá cách hoạt động của SAML và những lợi ích của nó.
Ngôn Ngữ Đánh Giá An Ninh (SAML) là gì?
Xác thực SAML cho phép truy cập an toàn vào các dịch vụ bằng cách trao đổi dữ liệu xác thực và phân quyền giữa Nhà cung cấp Danh tính (IdP) và Nhà cung cấp Dịch vụ (SP). Giao thức này thường được sử dụng trong môi trường doanh nghiệp để cung cấp cho người dùng truy cập liên tục vào nhiều ứng dụng bằng cách sử dụng một tập hợp thông tin xác thực duy nhất.
Các Thành Phần của SAML
Dưới đây là các thành phần và khái niệm chính của SAML:
- Nhà cung cấp Danh tính (IdP): Đây là thực thể xác thực một người dùng và cung cấp một đánh giá cho nhà cung cấp dịch vụ. Đánh giá này chứa thông tin về danh tính và thuộc tính của người dùng.
- Nhà cung cấp Dịch vụ (SP): Đây là thực thể nhận đánh giá SAML và đưa ra quyết định kiểm soát truy cập dựa trên nó. Nhà cung cấp dịch vụ tin tưởng nhà cung cấp danh tính để xác thực người dùng.
- Đánh giá SAML: Đây là tài liệu XML mà nhà cung cấp danh tính gửi đến nhà cung cấp dịch vụ. Nó chứa thông tin xác thực, thông tin thuộc tính và quyết định phân quyền.
- Đăng nhập Một Lần (SSO): SAML thường được sử dụng để thực hiện SSO, cho phép người dùng xác thực một lần với nhà cung cấp danh tính và truy cập nhiều nhà cung cấp dịch vụ mà không cần xác thực lại.
- Liên kết: SAML hỗ trợ nhiều loại liên kết cho việc vận chuyển tin nhắn, bao gồm HTTP Redirect, HTTP POST, và SOAP.
- Giao thức dựa trên XML: SAML sử dụng XML để mã hóa các tin nhắn được trao đổi giữa nhà cung cấp danh tính và nhà cung cấp dịch vụ.
SAML 2.0
Xây dựng dựa trên khái niệm của SAML, hãy cùng tìm hiểu SAML 2.0, phiên bản được sử dụng rộng rãi nhất của tiêu chuẩn. SAML 2.0 đã giới thiệu nhiều cải tiến và tính năng so với phiên bản trước, SAML 1.1:
- Cải thiện Đăng nhập Một Lần (SSO): SAML 2.0 cải thiện khả năng SSO, làm cho việc thực hiện trở nên dễ dàng hơn và mạnh mẽ hơn về mặt an ninh và trải nghiệm người dùng.
- Liên kết Danh tính: Nó cho phép liên kết danh tính liền mạch hơn giữa các miền khác nhau, cho phép người dùng truy cập tài nguyên từ các tổ chức khác nhau với một quy trình xác thực duy nhất.
- Hỗ trợ Nhiều Bối cảnh Xác thực: SAML 2.0 có thể xử lý các cấp độ đảm bảo xác thực khác nhau, cho phép sử dụng các phương pháp xác thực mạnh mẽ hơn khi cần.
- Trao đổi Metadata: Phiên bản này hỗ trợ việc trao đổi metadata giữa nhà cung cấp danh tính và nhà cung cấp dịch vụ, giúp tự động hóa cấu hình và thiết lập mối quan hệ tin cậy.
- Cải tiến Liên kết Giao thức: SAML 2.0 bao gồm hỗ trợ tốt hơn cho các giao thức vận chuyển khác nhau, như HTTP Redirect, HTTP POST và Artifact Binding, nâng cao tính linh hoạt và khả năng tương thích.
- Truy vấn và Đồng ý Thuộc tính: SAML 2.0 cho phép truy vấn thuộc tính người dùng và quản lý đồng ý của người dùng hiệu quả hơn, cải thiện quyền kiểm soát của người dùng đối với dữ liệu cá nhân.
Xác thực SAML hoạt động như thế nào?
Quá Trình Xác Thực
Xác thực SAML bắt đầu khi một người dùng khởi động quy trình đăng nhập bằng cách nhập thông tin xác thực của họ tại IdP. IdP xác minh danh tính của người dùng và tạo một đánh giá SAML, chứa các thuộc tính người dùng và thông tin xác thực.
Đánh giá này bao gồm các chi tiết như danh tính người dùng, thời gian xác thực và các điều kiện mà đánh giá là hợp lệ. Để đảm bảo tính toàn vẹn và tính xác thực của thông tin, đánh giá được ký số bởi IdP.
Truy cập Dịch vụ
Khi đã được xác thực, người dùng cố gắng truy cập một dịch vụ được cung cấp bởi SP. SP, cần xác minh danh tính người dùng, sẽ chuyển hướng người dùng đến IdP với một yêu cầu xác thực. IdP sẽ phản hồi bằng cách gửi đánh giá SAML đến SP, thường thông qua trình duyệt của người dùng sử dụng HTTP POST hoặc HTTP Redirect.
SP sau đó xác thực đánh giá SAML bằng cách kiểm tra chữ ký số và các điều kiện của đánh giá. Nếu đánh giá hợp lệ, SP sẽ cấp quyền truy cập của người dùng đến dịch vụ yêu cầu. Quy trình này diễn ra liền mạch với người dùng, người chỉ cần đăng nhập một lần để truy cập nhiều dịch vụ.
Kịch bản Ví dụ
Xem xét một kịch bản doanh nghiệp điển hình. Vào đầu ngày làm việc, John đăng nhập vào hệ thống Quản lý Danh tính và Truy cập (IAM) của công ty, đóng vai trò là IdP, bằng thông tin xác thực doanh nghiệp của mình.
IdP xác minh thông tin xác thực của John và tạo một đánh giá SAML, bao gồm thông tin như tên người dùng của John, dấu thời gian xác thực và thuộc tính truy cập dựa trên vai trò. John sau đó cố gắng truy cập dịch vụ email do công ty cung cấp, một SP.
Dịch vụ email chuyển hướng John đến IdP với một yêu cầu xác thực. IdP gửi lại đánh giá SAML cho dịch vụ email thông qua trình duyệt của John. Dịch vụ email xác thực đánh giá bằng cách kiểm tra chữ ký số và đảm bảo rằng tất cả các điều kiện được đáp ứng, chẳng hạn như đánh giá được chỉ định cho dịch vụ email và chưa hết hạn.
Khi đã được xác thực, John được cấp quyền truy cập vào dịch vụ email mà không cần nhập lại thông tin xác thực, cho phép anh sử dụng dịch vụ một cách liền mạch.
Lợi ích của Xác thực SAML
Bằng cách tích hợp xác thực SAML, các tổ chức có thể đơn giản hóa quản lý truy cập người dùng, nâng cao độ an toàn bằng cách giảm nguy cơ mệt mỏi và tái sử dụng mật khẩu, và cung cấp cho người dùng truy cập liên tục vào nhiều ứng dụng. Sự tích hợp này cuối cùng cải thiện cả hiệu quả hoạt động và tư thế an ninh.
Đánh giá SAML là gì?
Đánh giá SAML là một tài liệu XML được phát hành bởi Nhà cung cấp Danh tính SAML (IdP) và được tiêu thụ bởi Nhà cung cấp Dịch vụ (SP). Nó chứa các tuyên bố về một người dùng mà cả hai bên đều có thể tin tưởng.
Mục đích chính của Đánh giá SAML là truyền đạt thông tin an ninh giữa IdP và SP một cách an toàn và chuẩn hóa. Dưới đây là các thành phần chính và các loại tuyên bố có trong một Đánh giá SAML:
Các Thành Phần Chính
- Người phát hành: Thực thể đã phát hành đánh giá, thường là IdP.
- Đối tượng: Người dùng hoặc thực thể mà đánh giá đề cập đến. Thường bao gồm một định danh duy nhất cho người dùng.
- Các điều kiện: Các ràng buộc và quy tắc dưới đó đánh giá có hiệu lực, bao gồm giới hạn về thời gian và đối tượng.
- Tuyên bố xác thực: Thông tin về xác thực của người dùng tại IdP, chẳng hạn như phương pháp xác thực và dấu thời gian.
- Tuyên bố thuộc tính: Một tập hợp các thuộc tính về người dùng, chẳng hạn như tên, địa chỉ email, vai trò, v.v.
- Tuyên bố quyết định phân quyền: Thông tin về quyền truy cập của người dùng đối với các tài nguyên cụ thể.
Các Loại Tuyên Bố
- Tuyên bố xác thực: Mô tả hành động xác thực tại IdP, bao gồm phương pháp sử dụng và thời gian xác thực.
- Tuyên bố thuộc tính: Chứa các thuộc tính liên quan đến đối tượng. Ví dụ, địa chỉ email của người dùng, vai trò hoặc thông tin có liên quan khác.
- Tuyên bố quyết định phân quyền: Cung cấp thông tin về việc người dùng có được cấp phép truy cập vào một tài nguyên cụ thể hay không. Điều này bao gồm quyết định (cấp phép hoặc từ chối) và tài nguyên liên quan.
Đánh giá SAML hoạt động như thế nào
- Người dùng yêu cầu truy cập: Người dùng cố gắng truy cập một tài nguyên tại SP.
- SP yêu cầu xác thực: SP chuyển hướng người dùng đến IdP để xác thực.
- Người dùng xác thực: Người dùng cung cấp thông tin xác thực cho IdP.
- IdP phát hành đánh giá: Sau khi xác thực thành công, IdP tạo Đánh giá SAML và gửi lại cho SP, thường thông qua trình duyệt của người dùng.
- SP xác thực đánh giá: SP xác thực đánh giá, kiểm tra tính toàn vẹn, tính hợp lệ của người phát hành và các điều kiện.
- Cấp quyền truy cập: Nếu đánh giá hợp lệ, người dùng sẽ được cấp quyền truy cập vào tài nguyên.
Các vấn đề an ninh
- Mã hóa: Các Đánh giá SAML có thể được mã hóa để đảm bảo tính bảo mật.
- Ký: Các đánh giá thường được ký để đảm bảo tính toàn vẹn và tính xác thực của chúng.
- Hết hạn: Các đánh giá bao gồm các điều kiện, như giới hạn thời gian, để giảm thiểu nguy cơ tấn công phát lại.