Open4

読者コミュニティ|SAML入門

本の感想や質問をお気軽にコメントしてください。
初心者なりに仕様書を見ながらまとめたので、間違っているところがあるかもしれません。

https://zenn.dev/kxn4t/books/3778cace88911a

認証フローでのユーザ⇔SP間、ユーザ⇔IDP間のHTTP通信はHTTPSが必須なのでしょうか。

5章のサンプルに使用しているOneloginのSAMLRequestではAssertionConsumerServiceURLがHTTPになっていますし、同じOneloginが提供するpython3-samlのサンプルSPサイトもHTTPによるものです。
一方、ADFS3.0(Windows Server 2012 R2)をIDPとして、python3-samlのサンプルをSPとして登録しようとすると、AssertionConsumerServiceURLがHTTPであると登録不可とエラーが出ており、HTTPSが必須なのかどうかわからないです。

質問ありがとうございます!
仕様上はHTTPSの使用は必須ではないが、推奨される、が回答になりますね。
ほとんどのBindingsやProfilesでRECOMMENDEDと強めに書かれています。

ADFS3.0だと必須とされるというのは自分も知らなかったのですが、盗聴や改ざんを防ぎ、機密性と完全性を担保するためにIdPが必須だと判断するのはわからなくはないかなとは思います。

このあたりの仕様について、

  • 簡単に知りたい場合は Overview4.6 Security in SAMLの章を、
  • もう少し突っ込んで知りたい場合は Profiles4.1.3.3 <AuthnRequest> Is Issued by Service Provider to Identity Provider4.1.3.5 Identity Provider Issues <Response> to Service ProviderのRECOMMENDEDと書いてあるところを、
  • もっと知りたい場合は Security and Privacy Considerations4 Security Techniquesあたりを
    見てもらえると良いかと思います。

丁寧な回答ありがとうございます。
なかなか仕様を読み込むことは自分のレベルでは難しかったので、とても助かりました。

仕様も具体的な場所を章をしてもらえれば読めると思うので、読んでみようと思います。

ログインするとコメントできます