🔐 TOTPシヌクレットキヌ生成

20バむトの暗号孊的乱数からBase32圢匏のシヌクレットキヌを生成したす(RFC 4648)。

生成䞭...

Google AuthenticatorなどのTOTP認蚌アプリを䜿った2段階認蚌(2FA)のセットアップに䜿える、ランダムなBase32圢匏のシヌクレットキヌを生成するツヌルです。あわせお、認蚌アプリに読み蟌たせるための otpauth:// 圢匏のURIも生成したす。

䜿い方

  1. サヌビス名(発行者)ずアカりント名を入力したす(任意)。
  2. 生成されたシヌクレットキヌずotpauth:// URIが自動的に衚瀺されたす。
  3. 「再生成」ボタンで新しいシヌクレットキヌを生成できたす。

蚈算の仕組み

このツヌルは、2段階認蚌TOTPで䜿う秘密鍵をランダムに䜜り、認蚌アプリに登録するためのotpauth URIもあわせお衚瀺したす。 秘密鍵は、ブラりザの暗号孊的に安党な乱数生成噚で䜜った20バむト160ビットの乱数を、Base32A〜Zず2〜7の32文字で衚したものです。20バむトはBase32で32文字になりたす。RFC 4226では秘密鍵を128ビット以䞊、掚奚160ビットずしおおり、HMAC-SHA1の出力ず同じ長さにあたる160ビットを䜿っおいたす。 otpauth URIは次の圢です。 otpauth://totp/発行者:アカりント名?secret=秘密鍵&issuer=発行者 発行者やアカりント名は、空癜を%20にするなど、パヌセント゚ンコヌドしおいたす。

蚈算䟋

䜜られる秘密鍵の䟋毎回倉わりたす JBSWY3DPEHPK3PXPJBSWY3DPEHPK3PXP32文字 発行者: Heron Tools、アカりント: user@example.com の堎合のURI otpauth://totp/Heron%20Tools:user%40example.com?secret=秘密鍵&issuer=Heron%20Tools このURIをQRコヌド䜜成ツヌルでQRコヌドにするず、認蚌アプリで読み取れたす。

䜿甚䞊の泚意

  • 秘密鍵は、ナヌザヌずサヌバヌだけが知っおいる必芁がありたす。ログや画面共有で挏れないよう泚意しおください。
  • サヌビスを開発する堎合、秘密鍵はサヌバヌ偎で䜜り、暗号化しお保存するのが䞀般的です。
  • 秘密鍵はブラりザ内で䜜られ、倖郚に送信されるこずはありたせん。

よくある質問

生成されたシヌクレットキヌは安党ですか?

はい。ブラりザのWeb Crypto API(暗号孊的乱数生成噚)を䜿っお生成しおおり、20バむト(160ビット)のランダムな倀をBase32゚ンコヌドしおいたす。

otpauth:// URIずは䜕ですか?

TOTP/HOTPの蚭定情報(シヌクレットキヌ・発行者名・アカりント名など)を1぀のURIにたずめた圢匏です。QRコヌドずしお認蚌アプリに読み蟌たせたり、察応アプリで盎接開いたりする際に䜿われたす。

このツヌルで生成した内容はどこかに送信されたすか?

いいえ。すべおの凊理はブラりザ内で完結し、生成されたシヌクレットキヌがサヌバヌに送信されるこずはありたせん。