暗号学的疑似乱数生成器(CSPRNG)とは
予測不可能な乱数を生成するセキュリティの根幹技術
CSPRNGとは
暗号学的疑似乱数生成器(Cryptographically Secure Pseudo-Random Number Generator、CSPRNG)は、暗号処理に使える品質の高い乱数を生成するアルゴリズムのことだよ。「疑似」とついてるのは、真の乱数(物理的なランダム性)ではなく計算によって生成されるからだね。
普通の乱数生成器との違い
プログラミングで「普通に」乱数を生成すると、多くの場合は予測可能な擬似乱数になる。たとえばゲームのサイコロとか、シミュレーションには十分でも、セキュリティ用途では危険だよ。
CSPRNGは次のような性質を持つ。
- 予測不可能性: 過去の出力値から次の値を予測できない
- 後退安全性: 内部状態が漏洩しても過去の出力が復元できない
- 統計的ランダム性: 偏りのない均一な分布を持つ
パスワード生成との関係
パスワード生成ツールがCSPRNGを使っているかどうかは非常に重要だよ。CSPRNGを使っていないと、生成されたパスワードに規則性が生まれて攻撃者に予測されてしまう可能性がある。
このサイトのパスワード生成もCSPRNGを使っているから、生成されたパスワードは真にランダムで予測不可能なんだ。
OSレベルのCSPRNG
主要OSにはCSPRNGが組み込まれてる。Linux/macOSでは /dev/urandom、WindowsではCryptGenRandomがその役割を担うよ。現代のプログラミング言語のセキュリティライブラリは、これらOSのCSPRNGを呼び出して利用してることが多いね。
作ったパスワードは頭で覚えるのではなく、マネージャーに任せると安全です。 編集部がふだん使っているサービスをご紹介します。
洗練されたUI・Watchtower侵害通知・旅行モード搭載。Apple製品ユーザーに特に人気の老舗マネージャー。
オープンソースで透明性が高く、無料プランでも基本機能をフルに使える。セルフホストも可能。
SOC2 Type2認証取得済み。BreachWatch によるダークウェブ監視と法人向け管理コンソールが強力。
NordVPN 系列の老舗。XChaCha20 暗号化・データ漏洩スキャナ・パスワードヘルスを内蔵。日本語UI対応。
スイス拠点・Proton Mail 系列。E2E 暗号化・メールエイリアス・2FA を1つに統合。プライバシー重視派に。