次世代 Web カンファレンス :AuthN/Z
パスワード
パスワードが漏れてるのが現実(@komatak)
記憶に頼らない認証になってきてる
SMSでのコードとかAuthNとか
SIMで認証できる。SIMの持ち主が分かってるので
知らない人に取られたら認証されちゃう
「どこまで人を特定するのか」という問題
なぜパスワードがだめなのか
推測しやすいパスワードで色々なところに登録してしまう
-> バレる
-> 他のサービスで試されと、使い回してるところにも入られてしまう
実際に、特的にIPアドレスからいろんなアカウントでログイン試行されてる(@kura_lab)
まとめて試す(リスト型)んじゃなく、ゆっくり試行することが増えてきてて、バレにくくなってる(@phr_eidentity)
OpenID出始めは、「パスワード使いまわすからダメ、ではなくて「自分のアイデンティティは自分で持とうよ」という文脈だった(@agektmr)
OAuthが出たのが、「パスワードだめ」の大きなきっかけ(@phr_eidentity)
とはいえパスワード無くなってない。(@phr_eidentity)
パスワード管理ツール
みんな1Password
YAHOO Japan!ではパスワードなしで登録・認証
アカウントリカバリーは課題
秘密の質問とかよくないが、別のリカバリー方法を提供するのが難しい(@kura_lab)
最後の砦をお客さんが持っていないといけない。それはWeb AuthNで解決されるのか?(@komatak)
Web Authentication
FIDOの中の一つとして出てきた
オーセンティケーター(セキュリティキー)に公開鍵と秘密鍵のペアを作らせる
-> 共通鍵暗号より全然安全になる
セキュリティキーを持ち歩かせるのは難しいことがある
-> スマホを使う
バイオメトリクス(指紋)とスマホの所持として二要素認証として機能する
パスワードはクライアントからサーバーに送られてしまうが、Web AuthNはネットワークにパスワードに乗らない
OTPだとフィッシングに引っかからないがWeb AuthNだと引っかからない(@agektmr)
オーセンティケーターがドメインを確認してくれる
フィッシングは世の中に多い(@komatak)
パスワード認証の場合は人間が引っかかったら完全にパスワードを盗まれる
リカバリー
オーセンティケーター忘れた時、一時的にオフにして対応したりする(@phr_eidentity)
複数認証要素を持ってて、その時だけOTPにする(@agektmr)
メールでパスワードリセット(@kura_lab)
サービスに登録してある情報をカスタマーサポートで問い合わせる(@kura_lab)
本人確認はコストもかかるし、変更(住所とか)の反映してないと合わないが(@phr_eidentity)
アイデンティティ
カジュアルにサービスを試すために登録するケースと、本人として使う場合とがある
銀行とか政府とか、対面で本人確認できたアカウントを元に各種サービスの認証に使われるのがいいのではないか(@phr_eidentity)
それ自体、本人確認手続きにハックポイントがありそうではある(@komatak)
本人確認は継続的にやっていく必要がある。
オフラインの本人確認も危ない
免許証の偽造
SIM作成時の確認が免許証
SIMが簡単・安価に偽造できると電話番号を基盤にしてるのも危ない
OAuth
RFCが多いことの功罪(@komatak)
ユースケースがどんどん標準化されるのはいい
追いかけるのしんどい
攻撃が出てきたら対策でRFCが出てきてる(@kura_lab)
セキュリティを強固にするために、低いレイヤーの物を使ったりもしてきてる(@kura_lab)
実装が難しくなる
Web AuthnとOpenID Connect
ディベロッパーには直接Web Authnを使ってほしくない
直接使うと脆弱性を作られそう
サードパーティのちゃんと作ってるのを使ってほしい
ACR、AMRを正しく使うようにする
きちんと返すIdPを選ぶ
自分のところをどれくらい強固にするのか分からない
基準はあるが、結局個別のリスクやニーズを考える必要があるので頭を使う
認証にまつわるところのユーザー体験の話があまりされていない
IdPに対する信頼をどうユーザーはするか
UXによる。
サインアップ後、ユーザーが望まない動作をデフォルトにしない、とか。
Decentralized Identity
ブロックチェイン上でアイデンティティを管理する
改竄防止や本人確認に使えるかもしれない
Q.
OAuthのみの認証したくないが?
アイデンティティとは? Eメールアドレス?