---
url: https://docs.ogmabox.com/ja/app/utilities/token-analysis.md
description: Ogma でトークンサンプルの構造と予測可能性を解析します。
---

# トークン解析 {#token-analysis}

**トークン解析**ページ（Token Analysis）は、貼り付けたトークンサンプルから一意性、長さ、認識できる形式、文字分布を集計します。

## サンプルの入力 {#submitting-a-sample}

1. **ユーティリティ > トークン解析**を開きます。
2. 入力領域に複数のトークンを、各行一つずつ貼り付けます。同じトークンのコピーを繰り返すのではなく、変動を調べられる十分な数の独立して生成されたサンプルを用意してください。
3. **分析**をクリックします。

トークンを生成する操作（繰り返しログインする、新しい CSRF トークンを要求する、UI から API キーを生成する）を繰り返し、レスポンスから値をキャプチャしてサンプルを収集します。

## 解析結果 {#analysis-output}

### エントロピースコア {#entropy-score}

ページは各トークン内の文字頻度からシャノンエントロピーを計算し、平均値、最小値、最大値、トークンごとの値を報告します。これはトークンや生成器の全体的な暗号学的強度ではありません。表示されるスコアを 64 ビットや 128 ビットの鍵強度要件と比較しないでください。

### パターン検出 {#pattern-detection}

形式検出器は、JWT の形をした値、UUID、一般的な長さの 16 進数、Base64url の形をした文字列、数値を認識します。認識は形式の説明にすぎません。JWT の署名を検証したり、16 進数トークンを生成したアルゴリズムを特定したりはしません。別の[リクエストシーケンサー](./request-sequencer.md)では、収集したサンプルの単純な等差数列も調べます。

### 文字分布 {#character-distribution}

文字頻度のヒートマップには、サンプル全体の印字可能な ASCII 文字の分布が表示されます。偏った分布は構造を示す場合がありますが、均一な分布は予測困難性の証明にはなりません。

## 結果の解釈 {#interpreting-results}

表示された測定値を、アプリケーションのトークンのライフサイクル、エンコード、生成方法と合わせて確認してください。手動で調べるべき例は次のとおりです。

* 連番パターンがあると、一つの有効なトークンを持つ攻撃者は隣接するトークンを列挙できます。
* タイムスタンプの接頭辞があると、トークンの探索空間が狭い時間帯に縮まります。
* 文字の多様性が低いと、有効な鍵空間はトークン長から想定されるものよりはるかに小さくなります。

## 使用例 {#use-cases}

* **セッショントークン**：重複値や、予想外に小さい文字集合を調べます。
* **CSRF トークン**：独立したサンプルを比較してから、検証処理を別途テストします。
* **API キー**：形式と変動を調べ、生成強度は別途検証します。
* **パスワードリセットトークン**：予測可能なリセットトークンは、被害者の操作なしでのアカウント乗っ取りを可能にします。
* **招待コードと数値 ID**：短いコードや自動採番 ID がセキュリティに関わる場面で公開されているかをテストします。

## 関連ページ {#related-pages}

* [JWT](./jwt.md)
* [リクエストシーケンサー](./request-sequencer.md)
* [比較](./compare.md)
