+1

[Phần 1] SAML (Security Assertion Markup Language)

1. Định nghĩa

SAML (Security Assertion Markup Language): công nghệ cho phép người dùng đăng nhập một lần nhưng có thể truy cập nhiều ứng dụng.

Ví dụ: Người dùng chỉ cần đăng nhập google và sau đó sử dụng tính năng này ở những web application khác như Facebook, Instagram, ... Sau đó, Identity Provider (IdP) - trong ví dụ trên là Google - sẽ xác thực người dùng đăng nhập, sau đó sử dụng SAML để chuyển dữ liệu xác thực đó cho Service Provider (SP) - trong ví dụ trên là Facebook, Instagram, ...

2. Mục đích

  • Tăng khả năng bảo mật cho doanh nghiệp (mã hóa dữ liệu xác thực và gửi đi).
  • Đơn giản đăng nhập: Người dùng sẽ chỉ cần đăng nhập một lần nhưng có thể sử dụng được nhiều ứng dụng, dịch vụ khác nhau.
  • Giảm rủi ro bị đánh cắp mật khẩu: Thay vì có nhiều mật khẩu cho nhiều dịch vụ và người dùng k nhớ hết chúng rồi ghi ra thì chỉ cần một mật khẩu dựa trên quy tắc mình có thể nhớ là có thể đăng nhập được nhiều dịch vụ.

3. Lợi ích của SAML

Đối với người dùng

  • Đăng nhập một lần - Single Sign-On (SSO)
  • Tăng cường bảo mật mật khẩu
  • Tiện lợi

Đối với doanh nghiệp

  • Tăng năng suất hoạt động: nhân viên, đối tác, khách hàng sẽ không mất quá nhiều thời gian vào việc đăng nhập cũng như xử lý các vấn đề liên quan (quên pass, mất pass, ...).
  • Tăng mức độ bảo mật: sử dụng chứng chỉ XML và mã hóa để xác thực người dùng giữa IdP và SP.
  • Hỗ trợ xác thực đa yếu tố và truy cập có điều kiện.
  • Giảm chi phí: do quá trình xác thực người dùng được tự động hóa.
  • Khả năng tương thích: SAML được hỗ trợ bởi nhiều nhà IdP và SP khác nhau, do đó doanh nghiệp dễ dàng triển khai, sử dụng.

4. Cách hoạt động

4.1. SAML Parties

  • Users: người dùng muốn truy cập vào ứng dụng/ dịch vụ được liên kết với một bên xác thực
  • Service Providers (SP): Ứng dụng/ dịch vụ mà người dùng muốn sử dụng, SP dựa vào IdP để xác minh danh tính người dùng thông qua SAML và cấp cho User quyền truy cập dựa trên thông tin được cấp
  • Indentity Providers (IdP): Bên thứ ba đáng tin cậy xác nhận thông tin đăng nhập của người dùng và lưu giữ thông tin về đặc tính nhận dạng, quyền truy cập của người dùng

4.2. Mô hình hoạt động

image.png

  1. User truy cập trang web hoặc ứng dụng của SP, kích hoạt quá trình xác thực SAML.
  2. SP tạo yêu cầu SAML (cho IdP) và gửi lại cho User.
  3. User tự động chuyển tiếp yêu cầu SAML đến cho IdP.
  4. IdP xác thực người dùng và tạo xác nhận SAML chứa thông tin và quyền của người dùng. Dựa vào cấu hình được thống nhất mà xác nhận SAML được mã hóa theo phương pháp đã chọn.
  5. IdP gửi xác nhận SAML cho User.
  6. User tự động chuyển tiếp xác nhận SAML tới SP để được xác thực và phân quyền.
  7. SP phản hồi với người dùng những thông tin họ được truy cập.

5. Nguồn tham khảo


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí