LDAP
Basic認証
SAML
Kerberos
Digest認証

聞いたことがある認証について調べてみた

OAuth以外の聞いたことがあったり、たまに使ったりするやつ。
なんとなくわかれば良い程度のメモ。
インフラはさっぱりなので思うところがあればコメントください。

Basic認証とDigest認証はブラウザ認証で、他はサーバー間認証だと思いますが、
Kerberosはサーバー間認証なのかはっきりとはわかりませんでした。HTTP 認証方式この中にKerberosもいるのが気がかりでした。IEならできるとかなんとか?

Basic認証

HTTPで定義される認証方式の一つ。基本認証と呼ばれることも。Basic認証では、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64でエンコードして送信する。このため、盗聴や改竄が簡単であるという欠点を持つ

平文なので安全ではない。
SSLにすれば問題ない。

Digest認証

HTTPの認証方法の一つ。ユーザ名とパスワードをMD5でハッシュ(ダイジェスト)化して送る。Basic認証では防げなかった盗聴や改竄を防ぐために考案された。

MD5なので安全性は高くない。
SSLにすれば問題ない。

LDAP認証

LDAP(Lightweight Directory Access Protocol)は、Active Directoryのようなディレクトリサービスにアクセスするためのプロトコル。クライアントはTCPポート番号389を使用してLDAPサーバに接続を行い属性(個人名や部署名)で構成するエントリ(関連属性のまとまり)の検索、追加、削除の操作をします。

LDAPサーバーに登録された情報で認証する。
LDAPサーバーにアカウント持たせることでまとめてユーザ管理できて楽。

平文なのでLDAP通信にはSSLやKerberosを使ったりする。

Difference between SSL and Kerberos authentication?

SSL化するとLDAPSになる。(ldaps://)

LDAPS

LDAPによりサーバとクライアントの間で送受信される利用者や機器の設定情報などを暗号化して安全にやり取りすることができる。通常のLDAPはTCPの389番ポートを使用するが、LDAPSは標準的にはTCPの636番ポートを使用する。

ケルベロス認証

サーバとクライアント間の身元確認のために使用するプロトコルです。Kerberosはクライアントとサーバとを相互認証できるだけでなくデータ保全のためにクライアントとサーバ間の通信を暗号化します。

ケルベロス認証では、ユーザが正しいユーザIDとパスワードをAS(Authentication Server)に送信して認証に成功するとTGS(Ticket Granting Server)からチケットと呼ばれるデータを受け取れます。ケルベロス認証はこのチケットを認証に使用しています。サーバはアクセスしてくるユーザがアクセス権を持っているかどうかをユーザIDとパスワードではなくチケット( クライアントのID、タイムスタンプ、有効期限を含む )を使用して確認します。認証時にチケットを使用することでアカウント(ユーザ ID、パスワード)の漏洩を防いでいます。

シングルサインオンに適している。

SAML認証

異なるインターネットドメイン間でユーザー認証を行うための XML をベースにした標準規格です。

シングルサインオンを実現する。
ユーザー認証はIdentity Provider側で行う。(LDAPサーバーみたいなもの)