Tin tức và phân tích của tất cả các thiết bị di động

Hướng dẫn dành cho nhà phát triển về Xác thực SAML [3 Online Tools]

Trong thế giới ngày nay, việc đơn giản hóa việc quản lý mật khẩu là điều cần thiết. Khi các công ty phát triển kỹ thuật số, nhân viên đang sử dụng các công cụ cộng tác, nhắn tin và lưu trữ nhiều hơn bao giờ hết.

Điều này đặt ra một thách thức cho các nhà phát triển: làm thế nào để cung cấp cho nhân viên quyền truy cập an toàn vào các ứng dụng nội bộ và dữ liệu được lưu trữ trên đám mây? Đối với nhiều người, xác thực SAML là câu trả lời!

SAML là gì?

Ngôn ngữ đánh dấu xác nhận bảo mật hoặc SAML là một tiêu chuẩn mở giúp đơn giản hóa quy trình xác thực. Nó dựa trên XML (Ngôn ngữ đánh dấu mở rộng), tiêu chuẩn hóa giao tiếp giữa các thực thể được xác thực và một dịch vụ hoặc ứng dụng web. Nói cách khác, SAML cho phép bạn sử dụng một lần đăng nhập để đăng nhập vào nhiều ứng dụng khác nhau.

Một mặt, nhà cung cấp dịch vụ cần xác thực nhà cung cấp danh tính (IdP) để cấp quyền cho người dùng. Ví dụ: Salesforce là nhà cung cấp dịch vụ dựa vào nhà cung cấp danh tính để xác thực người dùng.

Mặt khác, nhà cung cấp danh tính xác nhận rằng người dùng cuối đúng như họ nói và gửi dữ liệu này đến nhà cung cấp dịch vụ cùng với quyền truy cập của người dùng đối với dịch vụ. Một ví dụ là AuthO, một trong những công ty hàng đầu trong việc cung cấp các giải pháp nhận dạng.

Còn đăng nhập một lần SAML thì sao?

Một trong những vai trò chính của SAML là cho phép đăng nhập một lần. Trước SAML, có thể đăng nhập một lần nhưng phụ thuộc vào cookie và chỉ có thể thực hiện được trong cùng một miền.

SAML cho phép đăng nhập một lần (SSO), cho phép người dùng truy cập nhiều ứng dụng bằng một lần đăng nhập và bộ thông tin xác thực. Mặc dù SAML không phải là mới nhưng nó đã xuất hiện từ năm 2002 và nhiều công ty cũng như ứng dụng SaaS mới đang sử dụng SAML cho đăng nhập một lần. Phiên bản mới nhất của nó, SAML 2.0cho phép đăng nhập một lần trên nhiều miền dựa trên web và là tiêu chuẩn cho ủy quyền tài nguyên.

Ưu điểm của xác thực SAML là gì?

SAML mang lại nhiều lợi ích cho bảo mật, người dùng và các nhà cung cấp dịch vụ (SP) khác.

Đơn giản: Người dùng chỉ đăng nhập vào IdP của họ một lần, sau đó tận hưởng quyền truy cập liền mạch và an toàn hơn vào tất cả các ứng dụng.

Tăng cường bảo mật: Nhiều nhà cung cấp dịch vụ không có thời gian hoặc nguồn lực để triển khai và thực thi xác thực người dùng an toàn khi đăng nhập. Nói chung, các nhà cung cấp danh tính được trang bị tốt hơn để xác thực danh tính của người dùng. Bằng cách trả lại xác thực cho nhà cung cấp danh tính, SAML cho phép xác thực an toàn có thể áp dụng nhiều lớp bảo mật, chẳng hạn như MFA.

Trải nghiệm người dùng tốt hơn: Với SAML, người dùng có thể tạm biệt nỗi đau nhớ nhiều tên người dùng và mật khẩu

Giảm chi phí quản lý: các nhà cung cấp dịch vụ có thể cải thiện tính bảo mật cho nền tảng của họ mà không cần lưu trữ mật khẩu. Không cần phải đối phó với mật khẩu bị quên. Bộ phận trợ giúp giảm chi phí và giải phóng các nhóm kỹ thuật cho các yêu cầu khẩn cấp khác.

Auth0 là gì và nó liên quan như thế nào đến xác thực SAML?

Auth0 là một nền tảng cung cấp dịch vụ xác thực và ủy quyền người dùng. Nó có thể là cả IdP và SP. Auth0 cung cấp thông tin đăng nhập phổ quát có thể được tích hợp với SAML. Các nhà phát triển thường sử dụng Auth0 với SAML để đa dạng hóa rủi ro bằng cách có nhiều nhà cung cấp danh tính.

Auth0 có thể được sử dụng với hầu hết tất cả các ngôn ngữ và API chính. Nó cũng có thể được tích hợp với các nhà cung cấp phương tiện truyền thông xã hội, cơ sở dữ liệu và thư mục LDAP.

Quy trình đăng nhập một lần SAML

Một trong những vai trò chính của SAML là kích hoạt đăng nhập một lần (SSO). Trước SAML, có thể đăng nhập một lần nhưng phụ thuộc vào cookie và chỉ có thể thực hiện được trong cùng một miền.

SAML cho phép đăng nhập một lần, cho phép người dùng truy cập nhiều ứng dụng bằng một lần đăng nhập và thông tin xác thực. SAML không phải là mới, nó đã xuất hiện từ năm 2002 và nhiều công ty cũng như ứng dụng SaaS mới đang sử dụng SAML cho SSO. Phiên bản mới nhất của nó, SAML 2.0cho phép đăng nhập một lần trên nhiều miền dựa trên web và là tiêu chuẩn cho ủy quyền tài nguyên.

Cụ thể, điều này liên quan đến việc yêu cầu xác thực từ người dùng chỉ một lần khi người dùng sau sử dụng các ứng dụng khác nhau. Ví dụ: chúng ta có thể nghĩ về xác thực của Google, được chia sẻ giữa các dịch vụ khác nhau như Gmail, Youtube, Google Apps, v.v.

Trong phương thức hoạt động này, Google là nhà cung cấp danh tính (IdP) cho các dịch vụ của mình. Các dịch vụ này được gọi là “Nhà cung cấp dịch vụ” (SP).

xác thực

Khi kết nối với một ứng dụng bên ngoài, nó sẽ gửi một người dùng không xác định đến IdP của công ty. Nhà cung cấp danh tính này là một dịch vụ web có sẵn qua HTTPS. Nó có thể được lưu trữ nội bộ hoặc bên ngoài.

xác thực nội bộ

Sau đó, người dùng xác nhận danh tính của họ với nhà cung cấp danh tính. Giai đoạn này có thể được thực hiện bằng xác thực rõ ràng (đăng nhập/mật khẩu) hoặc truyền mã thông báo hiện có.

Định lý sinh

Sau đó, IdP sẽ tạo “mã thông báo”, một loại bằng chứng về danh tính của người dùng, chỉ hợp lệ đối với dịch vụ được yêu cầu và trong một khoảng thời gian nhất định. Trong mã thông báo này, chúng tôi sẽ tìm thấy cụ thể:

  • Nhận dạng người dùng: đăng nhập, e-mail hoặc các trường khác
  • Các thuộc tính bổ sung tùy chọn: họ, tên, ngôn ngữ, v.v.
  • Thời hạn hiệu lực của mã thông báo
  • Chữ ký mã thông báo của IdP

Truyền từ IdP sang SP

Trong chế độ thực tế nhất, xác nhận không được chuyển trực tiếp từ nhà cung cấp danh tính đến nhà cung cấp dịch vụ mà bởi chính người dùng. Thông qua cơ chế HTTP Bounce, nhà cung cấp nhận dạng sẽ cung cấp cho trình duyệt của khách hàng một mã thông báo để gửi cho nhà cung cấp dịch vụ. Nó có thể được so sánh với thẻ căn cước do tỉnh cấp phải được xuất trình cho bất kỳ cơ quan nào.

Tiêu thụ mã thông báo theo SP

Nhà cung cấp dịch vụ nhận được mã thông báo từ người dùng. Nhà cung cấp dịch vụ đã chọn tin tưởng nhà cung cấp danh tính này. Nó cũng xác minh chữ ký và tính toàn vẹn của mã thông báo, cũng như thời hạn hiệu lực. Nếu các bài kiểm tra được kết luận, SP sẽ mở một phiên cho người dùng.

Nguồn: Wikipedia

SAML so với xác thực Ủy quyền người dùng

Xác thực SAML thường bị nhầm lẫn với ủy quyền. Để rõ ràng, điều quan trọng là phải phân biệt giữa các khái niệm xác thực và ủy quyền.

Xác thực: đây là xác minh danh tính của người dùng; về cơ bản, họ được kiểm tra xem họ có đúng như những gì họ nói không. Một ví dụ là việc sử dụng địa chỉ email và mật khẩu để truy cập hệ thống – một phiên duy nhất hoặc đăng nhập cho các nền tảng khác.

Ủy quyền: Đây là những quyền mà người dùng cấp cho công cụ của bên thứ ba để truy cập tài nguyên trong tài khoản của họ. Với sự đồng ý của người dùng, giao thức ủy quyền trao đổi mã thông báo mà không cần truy cập vào thông tin đăng nhập của họ. Thông thường, bạn làm điều này bằng cách cho phép nền tảng (chẳng hạn như Facebook) để truy cập một số thông tin nhất định từ Tài khoản Google của bạn.

Các thuật ngữ SAML cơ bản

xác nhận SAML

Xác nhận SAML thường được chuyển từ nhà cung cấp danh tính sang nhà cung cấp dịch vụ. Tuyên bố chứa các tuyên bố mà nhà cung cấp dịch vụ sử dụng để đưa ra quyết định kiểm soát truy cập. SAML cung cấp ba loại khai báo:

  • Khai báo xác thực đảm bảo rằng nhà cung cấp dịch vụ đã thực sự được xác thực với nhà cung cấp danh tính trong thời gian được chỉ định bằng cách sử dụng phương thức xác thực.
  • Một khai báo thuộc tính xác nhận rằng chủ thể được liên kết với các thuộc tính nhất định. Một thuộc tính chỉ đơn giản là một cặp tên-giá trị. Các bên phụ thuộc sử dụng các thuộc tính để đưa ra quyết định kiểm soát truy cập.
  • Một tuyên bố quyết định được ủy quyền xác nhận rằng thực thể có thể hành động trên các tài nguyên bằng cách cung cấp bằng chứng về điều này. Khả năng hiển thị của các trạng thái quyết định ủy quyền trong SAML bị hạn chế có chủ ý.

khẳng định dịch vụ khách hàng

Dịch vụ máy khách xác nhận hoặc ACS là điểm mà nhà cung cấp danh tính chuyển hướng sau phản hồi xác thực của người dùng. Điểm mà nhà cung cấp danh tính chuyển hướng đến là điểm cuối HTTPS truyền dữ liệu cá nhân.

Trạng thái mặc định của rơle

Đây là URL mặc định mà người dùng sẽ được chuyển hướng đến sau khi xác thực thông báo SAML. Trạng thái chuyển tiếp mặc định được sử dụng để điều phối các thông báo giữa IdP và SP.

SAML là một giao thức được sử dụng rộng rãi và bạn thường cần giải mã các xác nhận SAML. Dưới đây là một số công cụ SAML tốt nhất để mã hóa, giải mã và định dạng thông báo cũng như xác nhận SAML:

#1. công cụ SAML

SAMltool của OneDesign là tập hợp các công cụ và bộ công cụ SAML dựa trên web. Chúng bao gồm các công cụ khác nhau để mã hóa và giải mã thông báo SAML, mã hóa và giải mã các xác nhận cũng như ký và xác minh các thông báo và xác nhận SAML. SAMLtool cũng cung cấp một số plugin khác nhau để tích hợp các công cụ này với một số CMS.

#2. samtool.io

Được cung cấp bởi Auth0, samltool.io là một công cụ trực tuyến cũng giải mã, kiểm soát và xác thực các thông báo và xác nhận SAML bằng cách chỉ cần dán URL yêu cầu hoặc XML thô.

#3. bộ giải mã SAM

Bộ giải mã SAM là một công cụ giải mã SAML trực tuyến đơn giản do PingIdentity cung cấp. Bộ giải mã SAM có thể được sử dụng để giải mã, đệm và định dạng thông báo SAML, xác nhận và siêu dữ liệu.

những từ cuối

SAML rất hữu ích để triển khai phiên bản trung tâm của xác thực dựa trên đánh dấu. Một trong những lợi thế đáng kể của nó là hiệu quả cao và tiêu chuẩn bảo mật cao.

Đặc biệt, số lượng rò rỉ bảo mật có thể được giảm thiểu vì các ứng dụng riêng lẻ không cần lưu trữ hoặc đồng bộ hóa dữ liệu người dùng. Bằng cách này, một trong những mục tiêu cơ bản đã đạt được, đó là dung hòa mức độ bảo mật cao với mức độ dễ sử dụng tốt nhất có thể.

Bạn cũng có thể xem một số nền tảng xác thực người dùng tốt nhất.