ホーム/ すべての記事/APKダウンロード/Binance(バイナンス)APKの署名を検証するには?SHA-256ハッシュの照合方法

Binance(バイナンス)APKの署名を検証するには?SHA-256ハッシュの照合方法

Binance(バイナンス)APK の完全性を検証する主な方法は、SHA-256 ハッシュの照合(すべてのユーザー向け、1 分で完了)と apksigner による署名検証(上級ユーザー向け、開発者証明書の検証)の 2 つです。Binance公式サイトから APK をダウンロードした後に検証を行うことで、改ざんされたアプリをインストールするリスクを大幅に低減できます。アプリの入り口はBinance公式アプリから、全プラットフォームの手順はダウンロードセンターで確認してください。この記事では、OS ごとの具体的な実行コマンドを紹介します。

SHA-256 とは何か

SHA-256 は暗号学的ハッシュアルゴリズムの一種で、任意のファイルから 64 文字の 16 進数文字列を生成します。主な特徴は以下の通りです:

  • 同じファイルからは常に同じハッシュが生成される
  • ファイルが 1 バイトでも異なれば、ハッシュは全く別物になる
  • 同じハッシュを持つ別のファイルを偽造することはほぼ不可能

検証のロジック:

  1. Binance 公式が各バージョンの APK の SHA-256 を公開する
  2. ユーザーがダウンロードした APK の SHA-256 をローカルで計算する
  3. 両者が一致すれば、APK は改ざんされていないと判断できる

公式ハッシュの入手方法

Binance 公式サイトのダウンロードページ(binance.com → フッターのダウンロードエリア → Android)に、現在の APK バージョンの SHA-256 文字列が表示されます。例:

SHA-256:
a3f5b8c7d9e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c6d8e0f2a4

この 64 文字(スペースや改行を含まない)をコピーして、照合の基準にします。

Windows での検証手順

PowerShell による検証

  1. 「Win + R」キーを押し、「powershell」と入力して Enter キーを押し、PowerShell を開きます。
  2. 以下のコマンドを入力します(パスはダウンロードした APK の実際の場所に書き換えてください):
Get-FileHash 'C:\Users\ユーザー名\Downloads\Binance-2.95.0.apk' -Algorithm SHA256
  1. Enter キーを押すと、以下のように出力されます:
Algorithm  Hash                                                              Path
---------  ----                                                              ----
SHA256     A3F5B8C7D9E2F4A6B8C0D2E4F6A8B0C2D4E6F8A0B2C4D6E8F0A2B4C6D8E0F2A4  ...
  1. 「Hash」列の文字列を公式のものと照合します。

PowerShell の出力はデフォルトで大文字ですが、照合時は大文字・小文字を区別する必要はありません。

CMD による検証(代替案)

PowerShell に慣れていない場合は、コマンドプロンプト(CMD)で certutil を使用することもできます:

certutil -hashfile C:\Users\ユーザー名\Downloads\Binance-2.95.0.apk SHA256

出力例:

SHA256 hash of file Binance-2.95.0.apk:
a3 f5 b8 c7 d9 e2 f4 a6 b8 c0 d2 e4 f6 a8 b0 c2
d4 e6 f8 a0 b2 c4 d6 e8 f0 a2 b4 c6 d8 e0 f2 a4
CertUtil: -hashfile command completed successfully.

スペースを取り除いて照合してください。

macOS / Linux での検証手順

ターミナルを開き、shasum コマンドを使用します:

shasum -a 256 ~/Downloads/Binance-2.95.0.apk

出力例:

a3f5b8c7d9e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c6d8e0f2a4  /Users/ユーザー名/Downloads/Binance-2.95.0.apk

最初の 64 文字がハッシュ値、その後ろがファイルパスです。最初の 64 文字をコピーして公式のものと照合します。

Linux では sha256sum も使用できます:

sha256sum ~/Downloads/Binance-2.95.0.apk

Android での検証手順

スマホ上で直接検証する場合(スマホで直接ダウンロードした場合など):

方法 1:Termux

  1. Google Play から Termux をインストールします。
  2. Termux のコマンドラインに入ります。
  3. 以下のコマンドを実行します:
sha256sum /sdcard/Download/Binance-2.95.0.apk
  1. 出力された 64 文字を公式のものと照合します。

方法 2:Hash Droid などのアプリ

アプリストアで 「Hash Droid」 や 「Crypto」 を検索してインストール → APK ファイルを選択 → SHA-256 を計算します。

ハッシュの照合方法

ローカルで取得したハッシュを、公式のハッシュと 1 文字ずつ照合します:

  • 64 文字が完全に一致している必要があります。
  • 大文字・小文字は区別しません(A と a は同じとみなします)。
  • 1 文字でも欠けてはいけません。

最も簡単な比較方法:

  1. ローカルのハッシュをメモ帳の 1 行目に貼り付けます。
  2. 公式のハッシュを 2 行目に貼り付けます。
  3. テキスト比較ツール(Beyond Compare など)で比較します。

または、目視でも 64 文字程度であれば 5〜10 秒で確認可能です。

ハッシュが一致しない場合の対処法

ハッシュが異なる場合、以下の可能性があります:

  • APK が改ざんされている(最も可能性が高い)
  • ダウンロードが中断され、ファイルが不完全である
  • ハッシュのコピーミス(文字の欠けや余計なスペースなど)

対処法:

  1. 公式のハッシュを正しくコピーできているか再確認します。
  2. APK を再度ダウンロードします(中断された可能性があるため)。
  3. 別のブラウザを使って再度ダウンロードを試みます。
  4. それでも一致しない場合は、絶対にインストールしないでください。APK は改ざんされています。ファイルを削除してください。
  5. サードパーティサイトではなく、必ず公式サイトから再度ダウンロードしてください。

apksigner による署名検証(上級編)

SHA-256 検証は「公開されているものと一致するか」を確認するものですが、より彻底的な方法は APK の開発者署名を検証することです。これには Android SDK が必要です:

apksigner のインストール

  • Android Studio をインストールする(build-tools が含まれています)
  • または、build-tools を単体でダウンロードする

apksigner は通常、以下の場所にあります:

  • Windows: %ANDROID_HOME%\build-tools\xx.x.x\apksigner.bat
  • macOS / Linux: $ANDROID_HOME/build-tools/xx.x.x/apksigner

署名の検証

apksigner verify --print-certs Binance-2.95.0.apk

出力には以下が含まれます:

Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
Number of signers: 1
Signer #1 certificate DN: CN=Binance, OU=Binance, O=Binance Holdings Limited, ...
Signer #1 certificate SHA-256 digest: ...

重要な確認ポイント:

  • 「Verifies」という文字があり、署名が有効であること。
  • 「certificate DN」に 「Binance Holdings Limited」 またはそれに類する記載があること。
  • SHA-256 digest が開発者証明書のフィンガープリントであること。

もし DN に Binance の組織名が含まれていない場合、その APK は別の開発者によって再署名された偽物です。

自動化による一括検証

頻繁に APK をダウンロードする上級ユーザーは、スクリプトで自動化できます:

Bash スクリプト(macOS / Linux)

#!/bin/bash
APK_FILE="$1"
EXPECTED_HASH="公式公開のSHA-256"

LOCAL_HASH=$(shasum -a 256 "$APK_FILE" | awk '{print $1}')

if [ "$LOCAL_HASH" = "$EXPECTED_HASH" ]; then
  echo "✓ 検証成功"
else
  echo "✗ ハッシュが一致しません"
  echo "ローカル:$LOCAL_HASH"
  echo "公式:$EXPECTED_HASH"
fi

実行方法:./verify.sh Binance-2.95.0.apk

PowerShell スクリプト(Windows)

$APK = "$env:USERPROFILE\Downloads\Binance-2.95.0.apk"
$Expected = "公式公開のSHA-256".ToUpper()

$Local = (Get-FileHash $APK -Algorithm SHA256).Hash

if ($Local -eq $Expected) {
  Write-Host "✓ 検証成功" -ForegroundColor Green
} else {
  Write-Host "✗ ハッシュが一致しません" -ForegroundColor Red
  Write-Host "ローカル:$Local"
  Write-Host "公式:$Expected"
}

よくある誤解

誤解 1:ハッシュが同じなら 100% 安全である

ハッシュが同じであればファイルが改ざんされていないことを意味しますが、APK 自体が信頼できるかどうかは入手先に依存します。公式サイトからのダウンロードでハッシュが一致するのが最高の保証です。サードパーティ経由の場合、ハッシュが一致していても、そのサードパーティが APK を入手した時点で差し替えられている可能性がゼロではありません(確率は極めて低いですが)。

誤解 2:MD5 検証でも十分である

MD5 は意図的に衝突(同じハッシュを持つ別のファイル)を生成できることが証明されています。MD5 は使用しないでください。SHA-1 も推奨されません。現在は SHA-256 が業界標準です。

誤解 3:ファイルサイズが同じなら安全である

サイズが同じでも、内容を改ざんすることは可能です。必ずハッシュ値を検証してください。

よくある質問(FAQ)

Q: ダウンロードのたびに検証が必要ですか? A: 毎回行うことをお勧めします。1 分で終わる作業です。公式サイトからのダウンロードでネットワークが正常であればリスクは低いですが、習慣化することで万が一のミスを防げます。

Q: アプリ内アップデートの APK も検証が必要ですか? A: 不要です。アプリ内アップデートは Binance サーバーからの内部ダウンロードであり、HTTPS 通信 + 署名検証によって完全性が担保されています。

Q: APKPure でダウンロードした APK に SHA-256 の記載がない場合は? A: binance.com で公式の SHA-256 を探し、それを照合基準にしてください。一致すれば APKPure が改ざんしていないことがわかります。不一致なら破棄してください。

Q: ハッシュ検証は成功したのにインストールできません。なぜですか? A: 問題は APK の完全性ではなく、システムの互換性、署名の競合、セキュリティソフトによるブロックなどが考えられます。「Binance アプリがインストールできない場合の対処法」を参照してください。

Q: apksigner で v1, v2, v3 すべて通過と表示されるのはどういう意味ですか? A: Android のバージョンによって異なる署名スキーム(v1/v2/v3)がサポートされています。すべて通過していることは、Binance APK が複数の検証メカニズムに対応しており、互換性が高いことを意味します。

まとめ

Binance APK を検証する標準的な流れ:ダウンロード後に SHA-256 コマンドでローカルハッシュを計算 → Binance 公式サイトのハッシュと照合 → 一致した場合のみインストール。Windows は PowerShell の Get-FileHash、macOS/Linux は shasum -a 256、Android は Termux の sha256sum を使用します。MD5 は安全ではないため使用しないでください。上級ユーザーはさらに apksigner を使って開発者署名を確認してください。検証を習慣化することで、フィッシング APK による被害を防ぐことができます。