Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gr-PHYSEC — 物理層セキュリティのためのGNU Radioモジュール。深層学習によるチャネルフィンガープリンティング、特徴量量子化、およびSDR IQサンプルからのSHA3-512鍵生成を使用。 | Kitploit
ツール/GitHubGitHub/c2a2-at-florida-atlantic-university/gr-physec
暗号化/復号化ツールワイヤレスセキュリティ暗号化ハードウェアとIoTセキュリティ機械学習
GitHubc2a2-at-florida-atlantic-university/gr-physec

gr-PHYSEC

物理層セキュリティのためのGNU Radioモジュール。深層学習によるチャネルフィンガープリンティング、特徴量量子化、およびSDR IQサンプルからのSHA3-512鍵生成を使用。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
215ヶ月前未レビュー

gr-PHYSEC: 物理層セキュリティ向けGNU Radioモジュール

このGNU Radioモジュールは、深層学習モデルを使用した物理層セキュリティアプリケーション向けのチャネルフィンガープリンティング機能を提供します。

機能

  • チャネルフィンガープリンティング: IQサンプルから固有のチャネル特性を抽出
  • 深層学習統合: 特徴抽出のために学習済みモデル(QExtractor.h5)を使用
  • 特徴量子化: 抽出された特徴をバイナリ値に変換
  • プライバシー増幅: 鍵生成のために暗号学的ハッシュ(SHA3-512)を適用
  • リアルタイム処理: SDRデバイスからのIQサンプルをリアルタイムで処理
  • 複数モデル対応: TripletNetとQuadrupletNetの両アーキテクチャをサポート

要件

  • GNU Radio 3.10+
  • Python 3.8+
  • TensorFlow 2.x
  • NumPy
  • Hashlib(組み込み)

インストール

1. リポジトリのクローン

root@kitploit:~
git clone <your-repo-url>/gr-PHYSEC.git
cd gr-PHYSEC

2. ビルドディレクトリの作成

root@kitploit:~
mkdir build
cd build

3. 設定とビルド

root@kitploit:~
cmake ..
make -j$(nproc)

4. インストール

root@kitploit:~
sudo make install
sudo ldconfig

5. インストールの確認

root@kitploit:~
gnuradio-companion

新しいカテゴリ [PHYSEC] と PHYSEC Fingerprint Block が表示されるはずです。

使用方法

GNU Radio Companion (GRC)

  1. GNU Radio Companionを開く
  2. [PHYSEC] カテゴリを探す
  3. PHYSEC Fingerprint Block をドラッグアンドドロップする
  4. パラメータを設定する:
    • Model Path: QExtractor.h5ファイルへのパス
    • Model Type: "quadruplet" または "triplet" から選択
    • Spectrogram Size: FFTサイズ(デフォルト: 512)
    • Sample Rate: SDRサンプルレート(Hz)
    • Center Frequency: SDR中心周波数(Hz)
    • Key Length: 希望する鍵長(ビット)

Pythonスクリプト

root@kitploit:~
from gnuradio import gr
from gnuradio import PHYSEC

# Create decoupled PHYSEC blocks
spectrogram = PHYSEC.spectrogram_block(
    vector_size=512,
    sample_rate=1e6,
    center_freq=2.4e9
)

feature_extractor = PHYSEC.feature_extraction_block(
    model_path="/path/to/QExtractor.onnx"
)

feature_quantizer = PHYSEC.feature_quantization_block(
    threshold_type="mean"
)

parity_generator = PHYSEC.parity_generation_block(
    key_length=512
)

reconciler = PHYSEC.reconciliation_block(
    key_length=512
)

privacy_amplifier = PHYSEC.privacy_amplification_block()

フローグラフの例

分離されたPHYSECブロックを使用した完全なフローグラフの例については、examples/decoupled_physic_example.grc を参照してください。

ブロックパラメータ

Spectrogram Block

Feature Extraction Block

パラメータ型デフォルト説明
model_pathstring-ONNXモデルファイルへのパス

Feature Quantization Block

パラメータ型デフォルト説明
threshold_typestring"mean"閾値方式: "mean"、"median"、または "zero"

Parity Generation Block

パラメータ型デフォルト説明
key_lengthint512パリティ生成のためのバイナリ鍵の長さ

Reconciliation Block

パラメータ型デフォルト説明
key_lengthint512調整のためのバイナリ鍵の長さ

Privacy Amplification Block

パラメータ型デフォルト説明
パラメータ不要--SHA3-512ハッシュを適用

入力/出力

Spectrogram Block

  • 入力: SDRからの複素IQサンプル
  • 出力: スペクトログラムデータ(204×31のfloat値)

Feature Extraction Block

  • 入力: スペクトログラムデータ(204×31のfloat値)
  • 出力: 特徴ベクトル(512のfloat値)

Feature Quantization Block

  • 入力: 特徴ベクトル(512のfloat値)
  • 出力: バイナリ特徴(512のuint8値)

Parity Generation Block

  • 入力: バイナリ特徴(512のuint8値)
  • 出力: パリティビット(string)

Reconciliation Block

  • 入力: バイナリ特徴 + パリティビット
  • 出力: 調整済みバイナリ鍵(string)

Privacy Amplification Block

  • 入力: バイナリ特徴(512のuint8値)
  • 出力: 最終暗号鍵(128バイト)

メッセージフォーマット

フィンガープリント出力メッセージには以下が含まれます:

root@kitploit:~
{
    "fingerprint": "generated_hash_string",
    "block_count": 123,
    "sample_rate": 1000000.0,
    "center_freq": 2400000000.0,
    "spectrogram_size": 512
}

処理パイプライン

  1. IQサンプル収集: Stream to Vectorを使用して受信IQサンプルをバッファリング
  2. スペクトログラム作成: STFT、RMS正規化、周波数クロッピングを使用してIQサンプルをスペクトログラムに変換
  3. 特徴抽出: ONNXモデルを使用してチャネル特徴を抽出
  4. 特徴量子化: 設定可能な閾値を使用して特徴をバイナリ値に変換
  5. パリティ生成: 誤り訂正のためのReed-Solomonパリティビットを生成
  6. 鍵調整: パリティビットを使用して誤りを訂正
  7. プライバシー増幅: 最終鍵生成のためにSHA3-512ハッシュを適用
  8. 出力: ブロック間のストリームベース通信

モデル要件

ONNXモデルは以下を満たす必要があります:

  • 入力形状 (batch, 204, 31) のスペクトログラムデータを受け入れる
  • 長さ512の特徴ベクトルを出力する
  • ONNX Runtimeと互換性がある
  • float32の入力/出力をサポートする

トラブルシューティング

よくある問題

  1. モデルが見つからない: QExtractor.h5へのパスが正しいことを確認してください
  2. TensorFlowエラー: TensorFlowのインストールと互換性を確認してください
  3. メモリ問題: メモリ使用量を減らすにはspectrogram_sizeを小さくしてください
  4. パフォーマンス: 利用可能な場合はGPUアクセラレーションを使用してください

デバッグ出力

このブロックは詳細なデバッグ情報を提供します:

  • 処理状況のコンソール出力
  • 中間結果のためのメッセージポート
  • 有益なメッセージを伴うエラーハンドリング

開発

新機能の追加

  1. 適切な専用ブロック(例: spectrogram_block.py)を変更する
  2. grc/ 内の対応するGRCブロック定義を更新する
  3. モジュールを再ビルドする
  4. サンプルでテストする

テスト

サンプルスクリプトを実行:

root@kitploit:~
cd examples
python3 fingerprint_example.py

ライセンス

このプロジェクトはGPL-3.0-or-laterライセンスの下でライセンスされています。

コントリビューション

  1. リポジトリをフォークする
  2. フィーチャーブランチを作成する
  3. 変更を加える
  4. 該当する場合はテストを追加する
  5. プルリクエストを送信する

サポート

問題や質問については:

  1. トラブルシューティングセクションを確認する
  2. サンプルファイルを確認する
  3. リポジトリでissueを開く
  4. 開発チームに連絡する

謝辞

  • PHYSECチャネルフィンガープリンティング研究に基づいています
  • 深層学習推論にTensorFlowを使用しています
  • SDR処理のためにGNU Radioと統合しています
ツールをダウンロード
パラメータ型デフォルト説明
vector_sizeint512スペクトログラム作成のためのFFTサイズ
sample_ratefloat1e6SDRサンプルレート(Hz)
center_freqfloat2.4e9SDR中心周波数(Hz)