手当たり次第に書くんだ

飽きっぽいのは本能

LDAP より SAML/OIDC の方が高セキュリティであるという幻想

SAML/OIDC は認証結果の連携手段

  • SAML(Security Assertion Markup Language)やOIDC(OpenID Connect)は、IdP(Identity Provider)で行われた認証の結果を、アプリケーションに伝達するプロトコルです。
  • そのため、アプリケーション側でトークンの検証、ユーザー認可の実装、セッション管理が不適切であれば、SAML/OIDCを利用していてもセキュリティは担保されません。

SAML/OIDC が「高セキュリティ」であるという印象は、機能の豊富さによるもの

  • SAML/OIDC は MFA(多要素認証)、SSO(シングルサインオン)、認証ログの一元化、ログインルールのポリシー制御などに対応しやすいため、「セキュリティが高い」という印象を持たれがちです。
  • しかし、これらは IdP の機能や運用によるものであり、プロトコルそのものが安全というわけではない

LDAPは「古くて脆弱な認証方式」という認識は誤り

  • LDAP はそもそも認証プロトコルではなく、ディレクトリ情報(ユーザー名やハッシュ化されたパスワードなど)を管理するためのデータベースインタフェースです。
  • LDAP を用いた認証は、アプリケーションがbindなどを用いて明示的に行う。これはアプリ側で認証制御が可能であることを意味し、運用次第では非常に堅牢な構成となり得ます。
  • 適切に TLS を用い、アカウントロック・ログ監査などを導入すれば、LDAP ベースの認証が「低セキュリティ」であるという評価は当たりません。

本質は「プロトコル」ではなく「実装と運用」の品質にある

  • SAML/OIDC も LDAP も、それぞれの使い方次第で安全にも危険にもなる。
  • セキュリティの高さは、利用するプロトコルの種類ではなく、設計・実装・運用・可視化・監査体制の全体で決まる

もっというと目的が違う

SAML/OIDC も LDAP も、どのようなシーンでも使用できるが、SAML/OIDC は基本的に Web アプリケーションが前提であり、そしてインターネット上での連携で多く使われると思います。

LDAP は Linux 認証を含め多くの用途で利用可能です。どちらかというと、プライベート空間での利用が多いとも言えます。

個人的な観点では、システム管理を行うレイヤでは LDAP 認証が適しており、一般ユーザーレイヤでは SAML/OIDC が良いのではと思います。

LDAP 連携はシンプルですが、SAML/OIDC はやたらと面倒なことが多く、OSS 系であれば割としっかりしていますが、古めのプロダクトだとかなり中途半端な対応、または情報が非常に不足が多いです。

LDAP より SAML/OIDC の方が高セキュリティであるという幻想

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る