PINの数学的強度:組み合わせ数と試行回数制限
桁数ごとの組み合わせ数
以下の成功率は、各桁の数字を独立かつ均等にランダム生成し、重複しない候補を試す理想化したモデルです。人が選んだPINの実測成功率ではありません。
| 桁数 | 組み合わせ数 | 試行3回での成功率 | 試行10回での成功率 |
|---|---|---|---|
| 4桁 | 10,000通り | 0.03% | 0.1% |
| 6桁 | 1,000,000通り | 0.0003% | 0.001% |
| 8桁 | 100,000,000通り | 0.000003% | 0.00001% |
試行回数制限がない場合の危険性
金融機関のATMは発行体ごとの停止条件を持ちます。一方、Webサービスで試行回数制限やCAPTCHAがない場合、自動化ツールで短時間に多数の試行が可能です:
# 理想化した総当たり計算例(毎秒100回試行)
10,000通り(4桁) ÷ 100回/秒 = 100秒で全探索
1,000,000通り(6桁) ÷ 100回/秒 = 2.8時間で全探索
実際の所要時間は、オンラインのレート制限、ロック、認証方式、攻撃対象の分布で変わります。試行回数制限の実装パターン
| 実装方法 | セキュリティレベル | 採用例 |
|---|---|---|
| 3回失敗で永久ロック | 高 | 銀行ATM、クレジットカード |
| 5回失敗で30秒待機 | 中 | iOS(初期段階) |
| 10回失敗でデータ消去 | 高 | iOS(オプション設定) |
| CAPTCHA表示 | 中 | 一部のWebサービス |
| 制限なし | 危険 | 避けるべき |
統計データ:最も使われる危険なPINパターン
DataGenetics社の分析結果
DataGeneticsによる2012年の原分析(Web Archive保存版)は、複数の漏洩したWebパスワード表から数字4文字だけの約340万件を抽出したものです。実際の銀行・端末のPINではなく、PIN選択傾向の代理データです。現在の日本の利用者全体にそのまま当てはめず、この標本で多かった候補の例として参照します:
| 順位 | PIN | 使用率 | 分類 |
|---|---|---|---|
| 1位 | 1234 | 10.7% | 連番 |
| 2位 | 1111 | 6.0% | 繰り返し |
| 3位 | 0000 | 1.9% | 繰り返し |
| 4位 | 1212 | 1.2% | 繰り返しペア |
| 5位 | 7777 | 0.7% | 繰り返し |
| 6位 | 1004 | 0.6% | 日付(10月4日) |
この標本では:上位20個の4桁Webパスワードが全体の26.83%を占めました。均等ランダムな4桁なら20候補で0.2%です。ただし、実際のPINへの成功率や、20回試行できることを意味しません。
危険なパターンの分類
1. 連続番号(Sequential)
- 1234、2345、3456、4567(昇順)
- 4321、5432、6543(降順)
2. 繰り返し(Repetitive)
- 1111、2222、3333、4444、5555、6666、7777、8888、9999、0000
3. 誕生日・記念日(Dates)
- 生年や記念日を表す数字は推測されやすいため避ける
4. キーボード配置(Keyboard Pattern)
- 2580(テンキー縦一直線)
- 1379(テンキー対角線)
- 1470、3690(その他のライン)
攻撃者の試行順序
この標本の頻度順に候補を試すと仮定した例です。実際に試行できる回数や攻撃者の順序は利用先の制限によって異なります:
標本内の上位3候補を各1回試せる場合:
1234:10.713%
1111:6.016%
0000:1.881%
累計:18.610%(このWebパスワード標本内の実測割合)
均等ランダムな4桁PINで異なる3候補を試す場合:
3 ÷ 10,000 = 0.03%(数学モデル上の成功率)生体認証との組み合わせ:2要素認証の実践
PINのみ vs 生体認証+PIN
| 認証方式 | 突破条件 | セキュリティレベル |
|---|---|---|
| 4桁PINのみ(制限なし) | PINのみ | 低 |
| 4桁PIN(3回制限) | PINのみ(均等ランダムな場合に0.03%) | 中 |
| 6桁PIN(3回制限) | PINのみ(均等ランダムな場合に0.0003%) | 高 |
| 生体認証対応端末 + 4桁PIN | 端末のローカル解除 | 端末設定に依存 |
| 生体認証対応端末 + 6桁PIN | 端末のローカル解除 | 端末設定に依存 |
iOS/Androidの実装例
iOSのセキュリティ階層
1. Face ID / Touch ID(第1層)
- 失敗5回でPIN要求
- 顔・指紋の生体認証データはSecure Enclaveで保護されます。
2. パスコード(第2層)
- 6桁数字(デフォルト)
- 4桁数字(互換性オプション)
- カスタム英数字コード(最高セキュリティ)
3. データ保護(第3層)
- 10回失敗でデータ消去(オプション)
- 待機時間の段階的増加:
5回失敗 → 1分待機
6回失敗 → 5分待機
7-8回失敗 → 15分待機
9回失敗 → 60分待機Androidの実装例
1. 指紋認証 / 顔認証(第1層)
- 失敗5回でPIN要求
- 30秒待機後に再試行可能
2. PIN / パターン / パスワード(第2層)
- 4〜6桁PIN
- 4〜9点のパターンロック
- 英数字パスワード
3. デバイス保護(第3層)
- 30回失敗でファクトリーリセット警告
- Google Playプロテクト連携詳細は2要素認証(2FA)完全ガイドを参照してください。
金融機関のPIN管理要件
発行体ごとの公式要件を確認する
ATMやカードのPIN桁数、誤入力時の停止条件、ロック後の再開、再発行手続きは、発行体、カード種別、チャネルによって異なります。ISO 9564などの規格名だけから個別サービスの動作を断定せず、画面表示と金融機関の公式案内を確認してください。
NIST推奨とPIN管理
NISTのデジタルアイデンティティガイドラインを短い数字認証へ適用する場合も、オンライン認証、端末ローカル解除、金融カードPINを分けて扱います。共通して確認したい観点は次の通りです:
- 試行制限:オンラインで無制限に試せないようレート制限、遅延、ロック、監視を設計する
- 変更条件:漏洩、不正利用、端末紛失などのイベントと組織方針に基づいて変更する
- 認証経路:生体認証、PIN、アカウント回復、MFAの役割を混同しない
PINの安全な保管方法
パスワードマネージャーへの保存
銀行ATM PINやスマートフォンのロックPINを、1PasswordやBitwardenに保存する場合:
- 項目名を明確に:「みずほ銀行ATM PIN」「iPhoneロックコード」など用途を明記
- マスターパスワードを強固に:パスワードマネージャー自体のマスターパスワードは16文字以上のランダム生成を推奨
- 生体認証でロック解除:指紋・顔認証でパスワードマネージャーにアクセス
紙のメモの取り扱い
紙にPINを書く場合の注意点:
- 数字を一定数ずらす方法は推測されやすい難読化であり、安全な暗号化として頼らないでください。
- 財布と分離:キャッシュカードと同じ場所に保管しない
- 自宅の金庫:耐火金庫や鍵付き引き出しに保管
避けるべき保管方法
- スマートフォンのメモアプリに平文で保存(クラウド同期でアカウント乗っ取り時に漏洩)
- 写真として撮影(フォトクラウドで自動同期、第三者に見られるリスク)
- メール・チャットで送信(削除しても相手側・サーバー側に残る)
- Excelファイルに保存(パスワード保護なしは論外、保護ありでも弱い)
安全なPINの生成と使用
推奨設定
- 6桁以上:選択可能な場合は必ず6桁以上を選択
- ランダム生成:誕生日・記念日を避け、ランダムな数字を使用
- 禁止パターンの回避:連番(1234)、繰り返し(1111)、キーボード配置(2580)を避ける
- 用途ごとに異なるPIN:銀行ATMとスマートフォンで同じPINを使わない
実践ツール
統計的に安全なランダムPINを生成するには、以下のツールをご利用ください:
→ PIN・暗証番号生成ツールを使う代表的な連番・繰り返しを検出して再生成し、4〜20桁のランダムPINを生成できます。誕生日や電話番号など個人由来のパターンはご自身で避けてください。
まとめ:PINの安全性は文脈に依存する
PINの安全性は、単独で評価できるものではなく、以下の要素との組み合わせで決まります:
- 試行回数制限:桁数だけでなく、レート制限、遅延、ロック、監視を組み合わせる
- 桁数:均等ランダムなら、4桁から6桁で候補数が100倍になる。実際の安全性は選び方と試行制限にも依存する
- ランダム性:統計的に多く使われるパターンを避けることで、攻撃者の優先試行リストから外れる
- 端末設定とMFA:生体認証は端末のローカル解除手段であり、ネットサービスのMFAは別途設定する
- 物理的保護:スマートフォンの画面指紋防止、ATMの覗き見防止カバーなどの対策
金融機関のPINはカード、端末、監視、停止・再開手続きなどの仕組みと組み合わせて運用されます。具体的な条件は発行体の案内を確認してください。一方、Webサービスで試行制限なしの短いPINだけに依存する設計は避けるべきです。