Câu hỏi Đăng ký Phản hồi SAML có hoặc không có Chữ ký xác nhận?


Khi ký một Phản hồi SAML cũng có một xác nhận đã ký, tôi nên:

A) Tạo chữ ký Phản hồi mà không có chữ ký xác nhận. Sau đó, chèn chữ ký xác nhận sau khi cả hai chữ ký đã được tạo.

B) Tạo chữ ký xác nhận và bao gồm chữ ký đó khi tạo chữ ký Phản hồi.

C) Cái gì khác.?

~ Cảm ơn trước!


13
2017-08-05 18:21


gốc




Các câu trả lời:


SAML là khủng khiếp, mỗi khi tôi đọc câu trả lời họ gần như chính xác, đây là thuật toán chính xác chưng cất:

  1. SHA1 phiên bản kinh điển của xác nhận.
  2. Tạo một đoạn XML SignedInfo với chữ ký SHA1
  3. Ký mảnh XML SignedInfo, lại là biểu mẫu chuẩn
  4. Lấy SignedInfo, Chữ ký và thông tin quan trọng và tạo một đoạn XML Chữ ký
  5. Chèn SignatureXML này vào Assertion (nên đi ngay trước đối tượng saml: subject)
  6. Không trả lời xác nhận (với chữ ký được bao gồm) và đưa vào phản hồi
  7. SHA1 phản hồi này
  8. Tạo một đoạn XML SignedInfo với chữ ký SHA1
  9. Ký mảnh XML SignedInfo, lại là biểu mẫu chuẩn
  10. Lấy SignedInfo, Chữ ký và thông tin quan trọng và tạo một đoạn XML Chữ ký
  11. Chèn SignatureXML này vào phản hồi
  12. Thêm thông tin phiên bản XML vào phản hồi.

Đó là nó. SAML hoàn toàn khủng khiếp. Có rất nhiều sự tinh tế nhỏ làm cho việc thực hiện SAML là một cơn ác mộng (như tính toán hình thức kinh điển của một tập hợp con của XML (sự khẳng định), cũng không bao gồm phiên bản XML của các tài liệu XML.

Tôi đã hoàn thành việc thực hiện của mình, tôi hy vọng sẽ không bao giờ phải xem lại nỗi đau đó nữa.


37
2017-08-16 04:54





Tôi tin câu trả lời đúng là B). Ký Assertion trước rồi ký vào Response có chứa dữ liệu Assertion đã ký. Tuy nhiên, nếu một tổ chức phát hành đơn lẻ (STS / IDP / etc) đang ký cả hai thì không có lý do thực sự nào để ký xác nhận là có? Chỉ cần ký vào Thông báo / Phản hồi của Giao thức cần bao gồm dữ liệu Xác nhận. Điều này sẽ cắt giảm các yêu cầu xử lý tại SP. Đối với SSO Web, tôi chỉ từng thấy cả hai phần được ký khi bạn có một thực thể khác ký xác nhận và phản hồi. - Ian


6
2017-08-05 21:06





Nếu bạn đang ký cả hai, thì xác nhận PHẢI được ký trước, sau đó là phản hồi, bởi vì chữ ký phản hồi sẽ dựa trên toàn bộ nội dung của phản hồi (bao gồm chữ ký xác nhận). Vì vậy, việc ký xác nhận thứ hai sẽ làm mất hiệu lực chữ ký phản hồi.


5
2017-08-07 16:50





Câu trả lời đúng là B.

Nếu khẳng định bên ký nhận phản hồi SAML bằng A, thì bên phụ thuộc phải xóa chữ ký của phản hồi SAML và chữ ký xác nhận SAML trước khi xác thực phản hồi SAML. Đặc tả kỹ thuật cốt lõi SAML nói rằng chữ ký không được tạo ra bằng cách sử dụng các biến đổi khác với biến đổi chữ ký bao bọc hoặc biến đổi chuẩn hóa độc quyền. Không ai trong số hai biến đổi này có thể loại bỏ chữ ký xác nhận SAML. Do đó, bên phụ thuộc không thể xác thực phản hồi SAML.


0
2018-03-09 13:01