20:55:56)追加された行はこの色です。削除された行はこの色です。.NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。ConsiderationsのFlowに着目したセキュリティに関する考慮事項。[#v20d442b]-codeを用いたアクセストークン・リクエストが可能になる。refresh_tokenの開示)-ただし、アクセストークン・リクエストには、client_secretも必要。codeでは、クライアントにcodeが渡る。~このクライアントの信頼性は、クライアントのタイプによって異なる。referer~Redirectエンドポイントからのリダイレクト。[#xcaf95ff]-SSL/TLSの利用-クライアント認証-短い有効期限-1回限りの使用制限-ブラウザキャッシュを自動的にクリーンアップするために、~redirect_uriのターゲットページをリロードする。[#e7dc0993]-codeに高いエントロピーを使用-強力なクライアント認証-有効期間を短くする。-トークンに署名する。-codeをredirect_uriに紐付け検証する。--redirect_uriは、スターターとアクセストークン・リクエストで必要とする。--codeのオンライン推測に加え(client_id、client_secret、)redirect_uriが必要。[#j164b0c0]悪意のあるClientが、アクセストークンを取得できる。[[共通的な影響>#v20d442b]]には合致しない(アクセストークンの取得が可能)。[#ze01a730]-パブリック・クライアントが登録される。-フロー中のユーザ同意のシミュレートする(など)。[#v3499c66]-クライアントに対するDNSまたはARPスプーフィングが行われる。-悪意のあるClientに誘導してcodeを入手する。[#gb0b1185][[前述>#e11c5a29]]の、パブリック・クライアント版。[#f681ed6a]-パブリック・クライアントが登録される。-悪意のあるClientに対するDNSまたはARPスプーフィングが行われる。-悪意のあるClientに誘導してcodeを入手する。[#a67d0e68]攻撃者は、被害者のアカウントで正規のClientのリソースにアクセス可能。[[共通的な影響>#v20d442b]]には合致しない(アクセストークンの取得が可能)。Serverの既存のパブリック・クライアントのredirect_uriを編集・追加する。-悪意のあるClientに誘導してcode(state)を取得する。-codeを他の正規のクライアントに向けてcode(state)を置換する。[#gd3bf925]-クライアント認証-他のフローを使用する。[#e45f294b]脆弱なClientによって被害者は攻撃者のアカウントでリソースにアクセス可能。[[共通的な影響>#v20d442b]]には合致しない(アクセストークンの取得が可能)。[#a76152b7]-攻撃者は、脆弱なClientをターゲットとしたcodeを収集し、-CSRFのリンクを踏ませるなどのCSRF攻撃を行う。[#seeda7ff]-"state"パラメタを使用し、CSRFを防止する。[[共通的な影響>#v20d442b]]には合致しない(アクセストークンの取得が可能)。[#r77cfba2]-ユーザを偽造サイトに誘導する。-ダミーボタンのセットの上に、透明なiFrameでターゲットサイトを読み込む。-ボタンをクリックすると、実際には隠しページのAuthorizeボタンなどをクリック。[[共通的な影響>#v20d442b]]には合致しない(アクセストークンの取得が可能)。[#u436bc0c]-パブリック・クライアントが登録される。-既存ログイン・セッションを持っている。POST要求を自動的に送信する。--外部ブラウザで既存のセッションを乱用--特定のデバイスでブラウザ間のクッキーを乱用--別のスコープを静かに要求する。[#t537780c]-これは、CSRF対策を使用して防止することはできない。使用しない(行わない)。-パスワード認証とユーザー同意を1つのフォームにまとめ、--CAPTCHAを使用するか、--ワンタイム秘密をリソース所有者に使用する。Ownerに通知する。[#cd626c90]DOSにより、codeプールなどのリソースを枯渇させる。[#h93f7d2a]生成codeを使用して、redirect_uriにボットネットで攻撃する。[#ab2571d1]-"state"パラメタを使用し負荷軽減を行う。-無効なcode要求の数がしきい値を超える--クライアントからの接続を制限/禁止する。--ユーザ・アカウントからの接続を制限/禁止する(Client側で認証が必要)。[#i064d25e]外部ログイン・シナリオで、被害者の身元を使用してログインしてしまう。外部ログイン・シナリオでは、userinfoエンドポイントに対するリクエストによってログインが完了する。[#qf191ada]-犠牲者の有効なcode(state)を収集する-正規のClientのログイン・プロセスを開始させ、てcode(state)置換を行う。[[漏洩した利用者のcode置換>#p8bd5a13]]を外部ログイン・シナリオで利用する。identifierでClientに直接返される。refererを介して漏洩しない。Ownerの、そのscopeのリソースにアクセス可能になる。[#mf2daa3e]-有効期間を短くする。-スコープを制限する。-キャッシュを無効化する。code>#j8c50476]]と同じ。[#w6a08854]-DNSまたはARPスプーフィング-攻撃者のスクリプトをダウンロードする。[#ocade264]-スクリプトを取得するSDNを認証する。-スクリプトの改竄の確認処理を実装する。code>#z08fc60f]]と同じ。code>#p007b55e]]と同じ。2.0ではIdPの仕様について言及されていないので、~ここでは唯一、サインイン・プロセスの問題を扱う(ただし非対話)。[#dffb5785]-クライアントにユーザ/パスワードが渡る。-トークン取り消しが機能しない。-認可プロセスを制御できない。[#lcf01c6d]-ユーザ/パスワードの漏洩--[[ユーザ/パスワードの盗難>#db447962]]--[[ユーザ/パスワードの盗聴>#g872ebc1]]--[[ユーザ/パスワードのオンライン推測>#s789d1f8]]--[[Client側でのパスワードの露見アクシデント>#v557e2e3]]-非対話的問題を突いた攻撃。[#b6dc1303]-限定的に利用する。Serverが同じ組織に利用されているケース-ユーザに異なるサービスに同じ~ユーザ/パスワードを使用しないように促す。[#k5d9ffbf]-SSL/TLSを利用する。-平文認証を使用しない代替認証を使用する。[#ma826c54]クライアントが十分な保護を提供していない場合、偶発的に起きる。[#adb2505d]-他のフローを使用する。[#v8648471]悪意のあるClientが、不要に大きなscopeを持ったトークンを取得できる。[#j88ae5de]悪意のあるClientが、不要に大きなscopeを持ったトークンを要求する。[#w094e5b5]-他の(対話的)フローを使用する。Ownerに通知する。[#ze601703]-他の(対話的)フローを使用する。-当該フローでrefresh_token--発行しない。Ownerに通知する。[#se987155]-サインイン--安全なパスワードポリシー設定する。--ロックアウト、タールピット(一時的ロック)を使用する。--CAPTCHAを使用する。-他のフローを使用する。-クライアント認証を併用する。Credentials>#z7c59f6c]]で説明したものと同様だが、~ユーザ/パスワードは使用しないため、非対話的問題を突いた攻撃の考慮事項に限定される。