- 追加された行はこの色です。
- 削除された行はこの色です。
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>認証基盤]]
* 目次 [#ja706efb]
#contents
*概要 [#m3ad8819]
[[ASP.NET Core Identity]]で、TOTPがサポートされていたので調査した。
*詳細 [#qdede1c4]
**HOTP [#q7b55de0]
**時刻同期方式OTP [#m143e368]
-特許対象で、詳細が一般に公開されていない
-難解さに基づくセキュリティに依拠している。
-専門家によって理論的に安全性が確認されていない。
-以下の様な方式で実装されているらしい。
--トークンカードは一定間隔でトークコードを生成
--ユーザ名を送信
--パスコード要求を返信
--パスコード(トークコード+PIN)を送信
**S/Key [#v4d018ec]
-≒[[チャレンジ&レスポンス>認証基盤#zb3340de]]
-シーケンス
--ユーザIDを送信
--Seed+「初期値(最大値) or 保存しているSequence番号-1」を返信
--S=Seed+PasswordをSequence回ハッシュ関数にかけOTPとして送信
--ハッシュ値の比較(妥当性検証)
---初回は初期値(最大値)-1回分を自力で計算して比較
---初回以降は前回OTPをハッシュ関数にかけて比較(サーバ負荷軽減)
--比較して=だった場合、認証OKを返信
**TOTPとHOTP [#j1d0aa2a]
***HOTP [#q7b55de0]
カウンターベースのOTP(HOTP:HMAC-based One-Time Password RFC 4226)
-HMACを使用したカウンターベースのOTP生成するアルゴリズム
-カウンターベースと言う事は、[[S/Key>#v4d018ec]]的な方式か?
-OTPを利用しない限り、OTPが更新されないのでブルートフォース攻撃できる
**TOTP [#x917920a]
***TOTP [#x917920a]
時間ベースのOTP(TOTP:Time-based One Time Password RFC 6238)
-[[HOTP>#q7b55de0]]のカウンタ値をUNIXエポック間隔(30秒など)で取得。
-特定の時間内なら何度でも利用できる(再生攻撃対策がない場合)
**比較 [#sccc37be]
||TOTP/HOTP|セキュリティトークン|h
|開始するコスト|安い|高い|
|耐タンパー性|低い|高い|
*参考 [#l67b58ce]
-2要素認証のTOTPとHOTP、どちらがより安全か? – yohgaki's blog~
https://blog.ohgaki.net/2fa-totp-hotp-which-is-safer
**Google 認証システム [#m26b6406]
-Google 認証システムの仕組み~
https://sekika.github.io/2016/03/26/GoogleAuthenticator/
-Googleの2段階認証で使われているOTPの仕様が気になった - r-weblife~
http://d.hatena.ne.jp/ritou/20111225/1324822654
**Qiita [#yb0e1c02]
-今さら聞けない2段階認証の話いろいろ~
https://qiita.com/isaoshimizu/items/5ca25efebdc5ecee7d9b
**One-time Password algorithm [#k861366f]
***HOTP [#c9657e49]
-RFC 4226 - HOTP: An HMAC-Based One-Time Password Algorithm~
https://tools.ietf.org/html/rfc4226
-HMAC-based One-time Password algorithm - Wikipedia~
https://en.wikipedia.org/wiki/HMAC-based_One-time_Password_algorithm
***TOTP [#q5ffff02]
-RFC 6238 - TOTP: Time-Based One-Time Password Algorithm~
https://tools.ietf.org/html/rfc6238
-Time-based One-time Password algorithm - Wikipedia~
https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm
-IBM Knowledge Center - TOTP ワンタイム・パスワード・メカニズムの構成~
https://www.ibm.com/support/knowledgecenter/ja/SSPREK_9.0.2/com.ibm.isam.doc/config/task/ConfiguringOneTimePasswordTOTP.html
-RFC6238 Time-based One-time Password Algorithm (TOTP)の仕組みのメモ~
https://qiita.com/shrkw/items/426a7f1a59f42e0bd523
----
Tags: [[:IT国際標準]], [[:認証基盤]]