Binance 公式 APK の署名フィンガープリントとは? 偽装を防ぐための照合方法
ハッシュ検証は「このパッケージが改ざんされていないこと」を保証し、署名検証は「このパッケージが Binance 自身によって署名されたこと」を保証します。両者はそれぞれ異なる段階を管理しています。本ノートでは、Binance APK の署名メカニズムと照合方法を明確に解説し、「ハッシュを自ら変更して再配布された偽造パッケージ」を見破る手助けをします。インストーラをダウンロードするには Binance公式サイト へ行くか、直接 Binance公式アプリ の入口をご利用ください。iPhone 端末の方は iOSインストールチュートリアル をご覧ください。
APK 署名とは
すべての Android APK は、パッケージ化の際に秘密鍵で署名される必要があり、Android システムはインストール時にこの署名を確認します:
- 新規インストール:署名の形式が合法であればインストール可能。
- アップグレードインストール:新しいパッケージは、インストール済みバージョンと同じ秘密鍵で署名されている必要があり、そうでない場合は「署名が一致しません」というエラーになります。
秘密鍵は Binance の開発チームによって保管されており、外部の人間が取得することはできません。そのため、偽造者が作成した APK は、画面がいくら似ていても、署名フィンガープリントは本物のパッケージとは必ず異なります。
署名バージョン:V1、V2、V3
Android の署名メカニズムには 3 つの主要なバージョンがあります:
| バージョン | 導入時期 | 特徴 |
|---|---|---|
| V1 (JAR Signing) | Android 1.0 から | 古い形式。ファイルごとの検証 |
| V2 (APK Signature Scheme) | Android 7.0 から | パッケージ全体の署名。より高速で安全 |
| V3 | Android 9.0 から | キーローテーションに対応 |
| V4 | Android 11.0 から | インクリメンタルインストール用 |
Binance APK は V1 + V2 + V3 を同時に有効にしているため、Android 7 から最新バージョンまでのすべてのデバイスと互換性があります。
APK の署名フィンガープリントの確認方法
方法1 · コマンドライン(apksigner)
Google 公式が提供する apksigner ツールを使用すると、署名フィンガープリントを直接確認できます。事前に Android SDK コマンドラインツールをインストールしておく必要があります。コマンドは概ね apksigner verify --print-certs に APK のパスを追加したものです。出力には SHA-1 と SHA-256 の 2 種類のフィンガープリントが表示されます。
方法2 · GUI ツール Windows では APK Studio や ApkTool GUI が推奨されます。APK をドラッグ&ドロップするだけで証明書情報を確認できます。
方法3 · Android 端末での自己確認 APK 情報ビューア(APK Analyzer など)をインストールし、APK を開いて「証明書 (Certificate)」タブに切り替えます。
方法4 · インストール済みバージョンの確認 Binance がすでにインストールされている場合、アプリ内 → 設定 → アプリについて → セキュリティ情報(一部のバージョン)で現在の署名の概要を確認できます。
本物の公式署名フィンガープリントの特徴
Binance 公式署名証明書の特徴は以下の通りです:
| フィールド | 期待される値 |
|---|---|
| 発行者 (Issuer CN) | Binance または記名のエンジニア |
| 発行対象 (Subject) | 同上(自己署名証明書) |
| アルゴリズム | SHA256withRSA |
| 公開鍵の長さ | 2048 ビット または 3072 ビット |
| 有効期限 | 通常は 25 年以上 |
具体的なフィンガープリントの文字列については、Binance は(照合用に精密な偽造が作られるのを防ぐため)積極的には公開していません。しかし、「自己照合」を用いることができます:2 台のクリーンなデバイスでそれぞれ公式サイトから APK をダウンロードし、署名フィンガープリントが一致するかを確認します。一致すれば信頼できます。
偽造パッケージの一般的な署名の特徴
詐欺師が偽造パッケージを作成する際、通常は再署名を行います。その特徴は以下の通りです:
- 発行者に「Android」「Test」「Debug」などの汎用的な文字が記載されている
- 公開鍵の長さが 1024 ビット(安全ではなく、新しいバージョンの Android では警告されます)
- 有効期限が短い(1 年または数年)
- アルゴリズムが MD5withRSA(非推奨)
これらはすべて低コストの署名の痕跡です。いずれか 1 つでも該当する場合は、その APK を即座に破棄してください。
インストール時の署名検証フロー
APK のインストールをタップすると、Android システムはバックグラウンドで自動的に以下の検証を行います:
- APK を展開し、META-INF ディレクトリ内の署名ファイルを見つける
- 署名ブロック内の公開鍵を使用して APK 全体のハッシュを検証する
- 検証に合格し、かつ V2/V3 検証にも合格した場合、次のステップへ進む
- デバイス上にすでに同じパッケージ名のアプリが存在するかを確認する
- 存在する場合、新旧両方のパッケージの署名公開鍵が同じであるかを比較する
- 異なる場合 →「署名が一致しません、インストールできません」とポップアップ表示してブロックする
- 同じ場合 → アップグレードフローへ進む
プロセス全体はユーザーに対して透過的ですが、原理を理解しておくとエラーのトラブルシューティングに役立ちます。
「署名が一致しません」エラーの対処法
最も一般的なシナリオは、「以前サードパーティのストアからダウンロードした海賊版 Binance をインストールしていたが、公式パッケージに乗り換えようとしたところインストールできない」というものです。対処法は 1 つだけです:まず旧バージョンをアンインストールし、その後新バージョンをインストールします。アンインストールするとローカルキャッシュは消去されますが、アカウントはクラウド上にあるため失われることはなく、再ログインすれば問題ありません。
公式の V1 から V2 へのアップグレードで署名不一致が発生した場合(極めて稀です)、以下の原因が考えられます:
- 一方が V1 の単独署名で、もう一方が V1+V2 の二重署名だが、V1 の証明書が入れ替えられている
- ユーザーが「Binance ベータ版」をインストールしてしまった(開発・テスト環境では異なる秘密鍵が使用されます)
通常のユーザーがこのような特殊な状況に遭遇することはありません。
複数の Binance 亜種の区別方法
一部のメディアは「Binance 軽量版」「Binance プロ版」といったものをリリースすることがあります。パッケージ名は異なりますが、いずれも Binance の名を冠しています。どれが公式かを判断するには:
| パッケージ名 | 公式か |
|---|---|
| com.binance.dev | はい |
| com.binance.us | はい(米国独立サイト) |
| com.binance.lite | いいえ(偽造) |
| com.binance.pro | いいえ(偽造) |
| com.binancecn.app | いいえ(偽造) |
com.binance.dev という 1 つのパッケージ名のみを認識してください。
長期的なアドバイス
ダウンロード後すぐに署名を確認する習慣を身につけましょう:
- APK をダウンロードしたら、まず SHA-256 ハッシュを確認する
- インストール前にツールを使用して署名フィンガープリントを確認する
- 前回インストールしたバージョンのフィンガープリントと比較する
- 一致した場合のみインストールする
この一連の作業は 5〜10 分で完了し、APK レベルでのほぼすべての偽造攻撃を防ぐことができます。
FAQ
Q:署名は偽造できますか? A:理論上不可能です。秘密鍵は Binance のみが所持しています。Binance の秘密鍵が流出しない限り偽造されることはなく、現在のところそのような事件はありません。
Q:署名フィンガープリントと SHA-256 ファイルハッシュは同じですか? A:異なります。ファイルハッシュは APK ファイル全体を対象としますが、署名フィンガープリントは署名ブロック内の証明書を対象とします。
Q:アップグレードする際、スマートフォンに署名検証ツールをインストールする必要がありますか? A:必要ありません。システムが自動的に検証し、一致しない場合はインストールをブロックします。
Q:MIUI は APK を変更して再署名することがありますか? A:ありません。MIUI の「アプリ保護」はスキャンを行うことはあっても、再署名することはありません。もし署名が変わっていた場合は、間違いなく中間者によって改ざんされています。