シングルサインオンを 図で理解する - osaka city...

24
シングルサインオンを 図で理解する 20101117

Upload: others

Post on 17-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

シングルサインオンを  図で理解する

2010-­‐11-­‐17    

Page 2: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

勘合符

•  義満の時代  商人のオレオレ公認を防いだ。  

朱印船とか。  

h(p://www2.airnet.ne.jp/shibucho/kangou.html

Page 3: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

3者間での認証

依頼人

認証局

提供者

Page 4: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

3者間での認証

依頼人

認証局

提供者

私は公認のTakuyaです。  ID=hogehogeです。

Page 5: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

3者間での認証

依頼人

認証局

提供者

私は公認のTakuyaです。  本人確認ID=1AE13B109です。  

Takuyaさんで方で  ID=1AE13B109は居ますか。  

Page 6: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

3者間での認証

依頼人

認証局

提供者

居ますね。  本人確認IDも一致しています。  

Page 7: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

3者間での認証

依頼人

認証局

提供者

Takuyaさん、ようこそ  受けたいサービスは何ですか

Page 8: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

シングルサインオン

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

Cookie:  ID=1234,Secret=12AE23609

ID/PW ID/Cookie  このCookieに見覚えある?

Cookie

Page 9: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

シングルサインオン  (証明書)

依頼人  ブラウザ

認証局  (CAサーバ)

提供者  (WEBアプリ)

証明書(署名済み)

署名した? 署名して?

ルート証明書 ルート証明書

Page 10: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

OpenID

依頼人  ブラウザ

認証局  (OpProvider)

提供者  (WEBアプリ) /login.php?

ID=1234&Secret=12AE23609

ID/Secretに署名した?

ID/Secret  に署名して

Page 11: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

OpenID  もうちょっと詳しく

依頼人  ブラウザ

認証局  (OpProvider)

提供者  (WEBアプリ)

/login.php?ID=1234&Secret=12AE23609

ID/Secretに署名した?

Secret  に署名して

h(p://mixi.jp/fooの持ち主です

Secretに署名貰ってきて

貰いました

Page 12: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

TLS/SSL  (逆)

依頼人  ブラウザ

認証局  (CA)

提供者  (WEBアプリ)

ルート証明書 ルート証明書

通信したいです

私はサーバーAです。  

署名して? 署名した?

Page 13: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

TLS/SSL  (オレオレ認証局)

依頼人  ブラウザ

認証局  (CA)

提供者  (WEBアプリ)

ルート証明書

通信したいです

私はサーバーAです。  

署名して?

CAどこ・・・

Page 14: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

AcYveDirectory  (Kerberos)

依頼人  ユーザー

認証局  (KDS)

提供者  Windows

Page 15: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

Cookie/GET  により実装されるべき

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

Cookie:  ID=1234,Secret=12AE23609

ID/PW ID/Cookie  このCookieに見覚えある?

Cookie

Page 16: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

シングルサインオンの実態A

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

セッションDB

HTTPやAPIでなくデータベースを共有している

Page 17: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

シングルサインオンの実態B

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

セッションDB

SSOサーバーがレイヤ7スイッチを兼ねている

Page 18: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

第三者が介在する

•  事前に共有するもの  – ルート証明書  

– パスワード(平文)  – パスワード(ハッシュ)  

•  ユーザーID  – 証明書(署名済み)  – ユーザー自身による宣言  •  ID,URL  

Page 19: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

セッションハイジャック

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

攻撃者  (WEBアプリ)

傍受

Page 20: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

ID/PWを保存する

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

サードパーティ  (WEBアプリ)

ID/PW

ID/PW

Page 21: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

OAuth •  認証にも使えるが認証だけでない。  •  APIで認証連携を実現するには、これ以外に無い

依頼人  ブラウザ

認証局  (oAuthサーバ)

データ提供者  (WEBアプリ)

ソフトウェア  (携帯端末)

アクセス権限の委譲

キー

ID/PW

Page 22: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

認証といえない

•  簡単ログイン  •  Basic認証  

•  非・暗号化Cookie  – セッションCookie発行用Cookie

Page 23: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

DoCoMoの端末ID  (簡単ログイン)

依頼人  ブラウザ

認証局  (SSOサーバ)

提供者  (WEBアプリ)

端末から提示されたIDを検証するすべを持たない。

ハードウェア的に担保されていた  (DoCoMoのIPアドレスで自由にIDを設定することは出来ない。  殆どの人が出来なかった。一部の人は可能だった。  現在は破綻(アンドロイド端末があるため)

Page 24: シングルサインオンを 図で理解する - Osaka City …nakano/SecurityLec10/SSO.pdf共有してるもの 端末!認証局 サーバ!認証局 検証方法 認証後 SSO

共有してるもの

端末-­‐認証局 サーバ-­‐認証局 検証方法 認証後

SSO パスワード ドメインCookie ドメインCookieを元に問い合わせ

セッションCookie

TLS/SSL ルート証明書 ルート証明書 署名検証 セッションCookie/  証明書

OpenID パスワード  Id=URL

独自ハッシュ  Id=URL

ハッシュに署名した値を検証

セッションCookie  

DoCoMo  i-­‐mode

SIMカード 無し Ipアドレス SIMカードによる端末ID