暗号資産を購入
市場
現物
先物取引BTC
MEXC Earn
イベントセンター
報酬ハブ
もっと見る
手数料0祭
暗号化: 暗号化とは?暗号化とは、読み取り可能な情報を、正しい鍵を持つ許可された主体だけが元のデータに戻せる形式へ変換する暗号処理です。読み取り可能な入力を平文、保護された出力を暗号文と呼びます。復号は、必要な暗号鍵を使って暗号文を平文に戻す処理です。暗号資産では、秘密鍵、ウォレットファイル、復旧用バックアップ、アカウント認証情報、メッセージ、API接続、その他の機密情報を保護するために暗号化がよく使われま暗号化: 暗号化とは?暗号化とは、読み取り可能な情報を、正しい鍵を持つ許可された主体だけが元のデータに戻せる形式へ変換する暗号処理です。読み取り可能な入力を平文、保護された出力を暗号文と呼びます。復号は、必要な暗号鍵を使って暗号文を平文に戻す処理です。暗号資産では、秘密鍵、ウォレットファイル、復旧用バックアップ、アカウント認証情報、メッセージ、API接続、その他の機密情報を保護するために暗号化がよく使われま

暗号化

2026/10/13 15:30
#Beginner
Humanity
H$0.05397-10.05%
SynFutures
F$0.003079-5.78%
PX
PX$0.0125-4.58%
STANDARD
STANDARD$0.3094+40.00%
Blobacoin
BLOB$0.00145-61.94%

暗号化とは?

暗号化とは、読み取り可能な情報を、正しい鍵を持つ許可された主体だけが元のデータに戻せる形式へ変換する暗号処理です。

読み取り可能な入力を平文、保護された出力を暗号文と呼びます。

復号は、必要な暗号鍵を使って暗号文を平文に戻す処理です。

暗号資産では、秘密鍵、ウォレットファイル、復旧用バックアップ、アカウント認証情報、メッセージ、API接続、その他の機密情報を保護するために暗号化がよく使われます。

暗号化は暗号技術という広い分野の一部であり、デジタル署名、ハッシュ、鍵交換、コミットメント、ゼロ知識証明なども暗号技術に含まれます。

NISTの暗号技術の概要では、暗号技術は数学的手法を用いて情報や電子通信を保護すると説明されています。

暗号化は機密性を提供できますが、データの作成者や改ざんの有無を自動的に証明するものではありません。

そのため安全なシステムでは、暗号化に加えて認証、完全性チェック、アクセス制御、バックアップ、慎重な鍵管理を組み合わせます。

暗号化の仕組み

暗号化アルゴリズムは、平文、暗号鍵、場合によってはノンスや初期化ベクトルなどの追加値を受け取ります。

アルゴリズムがこれらの入力を処理し、正しい鍵を持たない人には意味をなさないように見える暗号文を生成します。

復号アルゴリズムは適切な鍵とパラメーターを使い、平文を再構成します。

現代の暗号化の安全性は、アルゴリズムを秘密にすることではなく、鍵を秘密にすることに依存すべきです。

広くレビューされているアルゴリズムは、公開分析を受けていない独自アルゴリズムより一般に安全です。

攻撃者が暗号鍵を入手すると、その鍵で保護されたすべてのデータを復号できる可能性があります。

そのため、鍵の生成、保管、アクセス、ローテーション、バックアップ、破棄は、暗号化アルゴリズムそのものと同じくらい重要です。

暗号鍵とは?

暗号鍵とは、情報の暗号化や復号に暗号アルゴリズムが使用する秘密または管理対象の値です。

安全な鍵には、推測や総当たり攻撃に耐える十分な予測困難性(エントロピー)が必要です。

鍵は通常、覚えやすい単語や予測可能な数字ではなく、暗号学的に安全な乱数生成器で作成します。

必要な鍵長は、選択するアルゴリズムとセキュリティ目標によって異なります。

鍵を長くしても、脆弱なアルゴリズム、不適切な実装、侵害された端末、弱いパスワードの問題は解決できません。

NISTの暗号鍵管理ガイダンスでは、暗号鍵素材の生成、保管、確立、使用、保護、破棄を扱っています。

共通鍵暗号

共通鍵暗号では、暗号化と復号に同じ秘密鍵、または密接に関連する秘密鍵を使います。

送信者と受信者は、安全な方法で同じ秘密鍵を入手する必要があります。

共通鍵暗号は一般に効率が高く、大容量ファイル、ウォレットのバックアップ、データベース、ネットワーク通信、アプリケーションの保存データの保護に適しています。

主な課題は、共有秘密情報を漏らさずに配布・保管することです。

攻撃者が共通鍵を盗むと、保護された情報を復号したり、信頼できそうな改ざん済み暗号文を作成したりできる場合があります。

安全なシステムでは、一時的な共通鍵の確立や暗号化を公開鍵方式で行い、共通鍵暗号と組み合わせることがよくあります。

Advanced Encryption Standard

Advanced Encryption Standard(AES)は、広く使われている共通鍵ブロック暗号です。

現行のNIST FIPS 197規格は、AES-128、AES-192、AES-256を定めています。

各方式は128、192、256ビットの鍵を使い、128ビット単位のブロックを処理します。

AESが定義するのはブロック暗号自体であり、完全なファイル暗号化システムではありません。

ソフトウェアはAESを安全な動作モードで使用し、鍵、ノンス、認証タグ、エラーを正しく管理する必要があります。

基礎となる暗号が強固とされていても、実装の不備によってAESシステムからデータが漏れる可能性があります。

認証付き暗号化

認証付き暗号化は、機密性と完全性の両方を保護します。

受信者が暗号化データの改ざん、破損、偽造を検知できるようにします。

関連データ付き認証暗号化では、バージョン番号、アカウント識別子、メッセージ種別など、暗号化しない情報も保護できます。

AES-GCMは広く使われている認証付き暗号化方式の1つです。

NISTのGCM仕様は、関連データ付き認証暗号化のためのGalois/Counter Modeを定めています。

ChaCha20とPoly1305を組み合わせる方式も一般的です。

開発者は、暗号化とメッセージ認証アルゴリズムを手作業で組み合わせず、レビュー済みの暗号ライブラリを使用してください。

ノンスまたは初期化ベクトルとは?

ノンスとは、特定の暗号鍵とアルゴリズムで一度だけ使うことを意図した値です。

初期化ベクトル(IV)は、一部の暗号化モードを初期化するために使う追加値です。

システムによってはノンスの予測困難性が必要ですが、主に鍵ごとの一意性を求める方式もあります。

一意性が必要な方式でノンスを再利用すると、平文が漏れたり、メッセージ間の関係が明らかになったり、攻撃者がデータを偽造したりする可能性があります。

通常、ノンスは秘密にする必要がないため、暗号文と一緒に保存されます。

すべての暗号に同じ一般ルールを適用せず、選択したアルゴリズムの正確なノンス要件に従う必要があります。

公開鍵暗号

公開鍵暗号では、公開鍵と秘密鍵を使います。

受信者に適した公開鍵で暗号化された情報は、通常、対応する秘密鍵でのみ復号できます。

公開鍵は公開できますが、秘密鍵は秘密に保つ必要があります。

事前に同じ秘密鍵を共有しなくてもよいため、公開鍵暗号は鍵の配布を簡素化します。

一方、公開鍵演算は一般に処理が遅く、大容量ファイルを直接暗号化する用途には適しません。

実用的なシステムでは、公開鍵暗号で一時的な共有秘密を確立し、実データの保護には共通鍵暗号を使うのが一般的です。

ハイブリッド暗号化

ハイブリッド暗号化は、公開鍵暗号と共通鍵暗号を組み合わせます。

送信者はランダムな共通鍵を生成し、メッセージやファイルを効率よく暗号化します。

次に、公開鍵暗号または鍵カプセル化方式によって共通鍵を保護します。

受信者は秘密鍵で共通鍵を取り出し、その鍵でデータを復号します。

この方式は、公開鍵暗号による鍵配布のしやすさと、共通鍵暗号の処理速度を組み合わせます。

暗号化メッセージ、ファイル共有システム、バックアップツール、ネットワークプロトコルでは、ハイブリッド方式がよく使われます。

暗号資産における暗号化と公開鍵暗号の違い

暗号資産システムは公開鍵暗号を多用しますが、公開鍵暗号が常に暗号化を意味するわけではありません。

ウォレットの秘密鍵は通常、トランザクションを承認するデジタル署名の作成に使われます。

対応する公開鍵やアドレスを使って、他の参加者が署名を検証できます。

Ethereumの鍵に関する文書では、秘密鍵がトランザクションやデータへの署名に使われ、公開情報が識別と検証を支えると説明されています。

署名済みトランザクションは通常、ネットワークから読み取れますが、権限のないユーザーが送信者の有効な署名を作ることはできません。

そのため、トランザクションの承認とトランザクションの機密性を区別する必要があります。

暗号化とデジタル署名の違い

暗号化は主に、権限のない人に情報を読まれないようにするためのものです。

デジタル署名は主に、秘密鍵の保有者が特定データを承認したことを証明するためのものです。

暗号化では復号鍵を使って隠された内容を取り出します。

署名検証では、秘密鍵を明かすことなく公開情報を使って真正性と完全性を確認します。

暗号資産のトランザクションは通常、ネットワーク参加者が検証できるよう署名されます。

バリデーターやノードが指示を読み取り、実行・検証する必要があるため、通常は暗号化されません。

ウォレットのバックアップを暗号化し、オンチェーントランザクションに署名するなど、1つのシステムで両方を使う場合もあります。

暗号化とハッシュの違い

正しい復号鍵があれば、暗号化は元に戻せます。

暗号学的ハッシュは、一方向の変換として設計されています。

ハッシュ関数は、実用上どのような長さのデータでも固定長のダイジェストに変換します。

安全なハッシュから元の入力を再構成するための通常の復号鍵はありません。

ブロックチェーンは、ブロック識別子、トランザクション識別子、データコミットメント、アドレス生成、証明システム、完全性チェックにハッシュを使います。

パスワードを照合するだけのシステムでは、単純な暗号化を用いてパスワードを保存すべきではありません。

パスワードのシステムでは通常、ソルトと適切な処理パラメーターを用いた専用のパスワードハッシュ関数または鍵導出関数を使います。

暗号化とエンコードの違い

エンコードは、データを保存や送信に便利な別形式へ変換します。

代表例として、16進数、Base64、構造化テキスト形式などがあります。

エンコードには秘密鍵が不要で、機密性も提供しません。

形式が分かれば、通常は誰でも元に戻せます。

秘密鍵を16進数で表記しても、人にとって読みにくく見えるだけで、完全に露出した状態です。

エンコードされたウォレット秘密情報を、暗号化済みバックアップとして扱ってはいけません。

ブロックチェーントランザクションは暗号化されているか?

多くのパブリックブロックチェーンでは、トランザクションは初期状態で暗号化されていません。

暗号署名が付けられ、検証のためにネットワーク参加者へ配布されます。

Ethereumのトランザクションに関する文書では、トランザクションをアカウントからの暗号署名付き命令と説明しています。

Ethereumのプライバシー文書によると、Ethereumに記録されたトランザクションは、初期状態では公開され、恒久的に残ります。

公開トランザクションデータには、送信者・受取人アドレス、送金額、スマートコントラクト呼び出し、イベントログ、その他アプリケーション情報が含まれる場合があります。

オンチェーンに置く前にデータを暗号化すると平文は隠せますが、暗号文、送信者、タイミング、サイズ、コントラクトとのやり取りは見える可能性があります。

後に鍵が漏えいすれば、パブリックブロックチェーンに恒久保存された暗号化データが読まれるおそれがあります。

パブリックブロックチェーンですべてを単純に暗号化できない理由

ブロックチェーンノードは、有効なトランザクションと状態変更について合意する必要があります。

一般的なパブリックスマートコントラクトネットワークでは、ノードが同じコントラクト命令を実行し、同じ結果を検証できなければなりません。

バリデーターが利用できない鍵でトランザクション命令や状態を暗号化すると、通常の実行は不可能になります。

プライバシー重視のプロトコルは、ブロックチェーン全体に通常のファイル暗号化を適用するのではなく、専用の暗号技術でこの問題に対処します。

こうした技術には、ゼロ知識証明、コミットメント、安全なマルチパーティ計算、信頼実行環境、しきい値暗号、準同型暗号などがあります。

それぞれ、信頼性、性能、複雑さ、データ可用性のトレードオフが異なります。

ウォレットの暗号化

ウォレットの暗号化とは通常、パスワードから導出した暗号鍵で保存済みの秘密鍵やシード情報を保護することです。

暗号化されたウォレットファイルは、コピーまたは盗まれても、秘密鍵がただちに明らかになるわけではありません。

鍵を復号して使うには、ユーザーが正しいパスワードを入力する必要があります。

Bitcoinウォレットの文書では、暗号化されたウォレットファイルは、使用していない間の秘密鍵を保護すると説明されています。

また、マルウェアがパスワードを入手したり、復号済みの鍵をメモリから読み取ったりすると、ファイル暗号化では保護できないとも説明されています。

そのためウォレット暗号化は、端末の侵害に対する完全な保護ではなく、一部のデータ窃取への対策です。

暗号化キーストアファイル

キーストアファイルは、暗号化された秘密鍵と復号鍵を導出するためのパラメーターを保存する構造化ファイルです。

通常、暗号文、ソルト、ノンスまたはIV、鍵導出設定、チェックサムまたは認証値、識別メタデータを含みます。

ファイル内にパスワード自体を保存すべきではありません。

ERC-2335キーストア規格は、BLS秘密鍵に使われる暗号化JSON形式を定義しています。

対応するパスワードベースの鍵導出方式には、PBKDF2とscryptがあります。

キーストアは互換ツール間でコピーできますが、ファイルと弱いパスワードの両方が漏れれば、鍵を盗まれる可能性があります。

元のウォレットを削除したりバリデーター鍵を移行したりする前に、互換性を確認してください。

パスワードと鍵導出関数

人が作るパスワードは通常、ランダムに生成した暗号鍵よりエントロピーが大幅に低くなります。

鍵導出関数は、パスワードとソルトから鍵素材を生成し、パスワードの推測に必要なコストを高めます。

PBKDF2、scrypt、Argon2は、さまざまなシステムで使われるパスワードベースの鍵導出方式です。

ソルトにより、異なるファイル間で同じパスワードから自動的に同じ派生鍵が生成されるのを防ぎます。

処理負荷やメモリ要件を設定すると、暗号化ファイルを盗んだ攻撃者によるオフライン推測を遅らせられます。

強力な鍵導出関数でも、非常に弱いパスワードを完全に安全にはできません。

ウォレット開発者は、対応端末で許容できるロック解除時間と攻撃耐性のバランスを取り、レビュー済みのパラメーターを選ぶ必要があります。

ウォレットのパスワードとリカバリーフレーズ

ウォレットのパスワードとリカバリーフレーズは、通常それぞれ役割が異なります。

ウォレットのパスワードは、多くの場合、1台の端末に保存された暗号化ファイルをロック解除します。

リカバリーフレーズを使えば、別の互換端末でウォレットの基礎となる鍵を再生成できます。

通常、端末上のウォレットパスワードを変更または忘れても、リカバリーフレーズは変わりません。

リカバリーフレーズを入手した攻撃者は、端末上のウォレットパスワードを必要としない場合があります。

そのため、暗号化されたウォレットファイルとは別に、リカバリーフレーズを保護する必要があります。

暗号化ウォレットアプリを削除しても、別の場所に保存したリカバリーフレーズのコピーは削除されません。

BIP-39パスフレーズと暗号化

BIP-39パスフレーズは、書き留めたリカバリーフレーズを暗号化する単なるパスワードではありません。

BIP-39仕様では、ニーモニック文と任意のパスフレーズを鍵導出処理で組み合わせてシードを生成します。

どのパスフレーズからも有効なシードが生成され、異なるウォレットアドレスになる可能性があります。

誤ったパスフレーズを入力すると、明確なパスワードエラーではなく、空のように見えるウォレットが開く場合があります。

任意パスフレーズを付けずにニーモニックだけを使うと、別のウォレットが生成される可能性があります。

復旧時や失敗時の挙動が異なるため、BIP-39パスフレーズを通常のファイル暗号化と説明すべきではありません。

ハードウェアウォレットと暗号化

ハードウェアウォレットは、専用端末内で秘密鍵の処理を行うよう設計されています。

端末内の機密ストレージを暗号化し、PINなどの認証方法でアクセスを保護する場合があります。

主なセキュリティ上のメリットは、接続先コンピューターに秘密鍵をさらさずにトランザクションへ署名できることです。

Ethereumのセキュリティガイドは、インターネット接続されたコンピューターの侵害リスクを抑えるため、秘密鍵をオフラインで保管することを推奨しています。

ただし、ユーザーが悪意あるアドレス、コントラクト呼び出し、権限、メッセージを承認する可能性があるため、ハードウェアウォレットでもすべてのトランザクションが安全になるわけではありません。

元の端末がなくてもウォレットを再生成できる場合があるため、リカバリーフレーズも保護しなければなりません。

暗号化されたウォレットバックアップ

暗号化バックアップは、リムーバブルメディア、パソコン、リモートストレージなどに保存したウォレットデータを保護できます。

不正な改ざんを検出できるよう、バックアップには認証付き暗号化を使うべきです。

復号パスワードや鍵を、保護されていない形で暗号化ファイルの隣に保存してはいけません。

端末の紛失、物理的損傷、ストレージ障害に備え、独立した複数のコピーを保管してください。

一度もテストしていないバックアップは、破損、パスワード誤り、非対応形式、メタデータ欠落などによって使えない可能性があります。

テストは、信頼できない環境やインターネット接続環境にウォレットの秘密情報をさらさずに行う必要があります。

通信中の暗号化

通信中の暗号化は、端末やサービス間を移動するデータを保護します。

暗号資産ウォレットは、ノード、RPCサービス、ウェブサイト、署名システム、アプリケーションサーバーとの通信にネットワーク接続を使います。

こうしたインターネット接続の保護には、TLS(Transport Layer Security)が一般的に使われます。

TLS 1.3規格は、盗聴、改ざん、メッセージ偽造から通信を保護するよう設計されています。

TLSはウォレットとサーバー間の通信を保護できますが、受信サーバーは通信を復号した後、平文を読めます。

そのため、ユーザーは通信経路の暗号化、エンドツーエンド暗号化、サービス運営者への信頼を区別する必要があります。

RPC通信の暗号化

リモートプロシージャコール(RPC)インターフェースを使うと、ウォレットやアプリケーションはブロックチェーンデータを照会し、トランザクションを送信できます。

暗号化されていないRPC接続では、リクエスト、アドレス、認証情報、送信したトランザクションがネットワーク監視者に漏れる場合があります。

リモートRPCアクセスには、証明書を検証する暗号化通信を使うべきです。

機密性の高い管理用RPCメソッドにも、認証、ファイアウォール、制限されたネットワークアクセスを設定してください。

TLSを使っても、処理するRPCプロバイダーがリクエストを観察できなくなるわけではありません。

独自に管理するノードを運用すれば外部プロバイダーへの依存を減らせますが、ノード自体を適切に設定・保護する必要があります。

保存データの暗号化

保存データの暗号化は、端末、ディスク、データベース、リムーバブルメディア、バックアップサービスに保存されたデータを保護します。

フルディスク暗号化は、電源が切れたコンピューターやドライブが盗まれた場合にデータを保護できます。

アプリケーションレベルの暗号化では、他のディスクデータが読める場合でも、特定のウォレットファイルを保護できます。

データベース暗号化では、顧客記録、API認証情報、署名方針、運用上の秘密情報を保護できます。

端末のロックを解除し、アプリケーションが復号鍵を使える状態では、保存データの暗号化による保護は限定されます。

ユーザーのアクティブセッションで動作するマルウェアは、復号済みデータを読み取れる場合があります。

エンドツーエンド暗号化

エンドツーエンド暗号化とは、データを宛先の端末向けに暗号化し、通常は中継サービスが復号できないようにすることです。

サーバーは内容を復号する鍵を持たずに、暗号文を中継または保管できます。

暗号資産アプリケーションでは、メッセージ、トランザクションリクエスト、復旧の調整、非公開アカウントデータにエンドツーエンド暗号化を利用できます。

暗号化前と復号後にはデータが平文で存在するため、端末のセキュリティも重要です。

送信者、受信者、メッセージサイズ、タイミング、頻度などのメタデータは、見える場合があります。

メッセージ本文が暗号化されているだけで、完全なプライバシーがあると主張すべきではありません。

アプリケーションレベルの暗号化

アプリケーションレベルの暗号化は、データベース、クラウドサービス、分散型ストレージネットワーク、ブロックチェーンに送信する前にデータを保護します。

ストレージプロバイダーが受け取るのは平文ではなく暗号文です。

誰がデータを復号できるか、鍵をどのように配布・失効するかをアプリケーション側で決める必要があります。

複数ユーザーと共有するファイルでは、メンバーが変わると暗号化がより複雑になります。

将来のアクセス権をユーザーから取り消しても、そのユーザーがすでに取得した平文や古い鍵は削除されません。

分散型ストレージに恒久的な暗号化コンテンツを置く前に、アクセスと復旧の仕組みを定義してください。

パブリックブロックチェーン上の暗号化データ

暗号文をブロックチェーントランザクションやスマートコントラクトの状態に記録できます。

これにより直ちに平文が見られるのを防げる場合がありますが、トランザクションが見えなくなるわけではありません。

送信者、受取人、コントラクトアドレス、トランザクション手数料、データサイズ、タイミング、繰り返されるやり取りの関連性は、引き続き確認される可能性があります。

ブロックチェーンの履歴が維持される限り、暗号文も残り続ける場合があります。

後に復号鍵が漏えいしたり、アルゴリズムに脆弱性が見つかったりすれば、過去のデータが読める可能性があります。

暗号化してあるというだけで、機密性の高い個人データを恒久的にオンチェーンへ記録すべきではありません。

暗号化とスマートコントラクト

通常のパブリックスマートコントラクトでは、公開実行で使用する通常の復号鍵を、ネットワーク参加者全員から秘密に保つことはできません。

コントラクトのバイトコード、入力、ストレージ、実行結果は、通常、公開されるかノードによって再現可能です。

復号鍵をコントラクトストレージに保存しても、秘密にはなりません。

鍵をエンコードしたり、公開された複数の値に分割したりしても、信頼できる機密性は得られません。

スマートコントラクトでプライバシーを実現するには、非公開の計算を保護するか、すべての入力を明かさずに結果を証明する専用プロトコルが必要です。

通常のパブリックコントラクトに直接送信した秘密情報は、公開される可能性があると考えるべきです。

ゼロ知識証明と暗号化の違い

ゼロ知識証明では、基礎となる秘密情報をすべて明かさずに、ある命題が真であることを証明できます。

暗号化は、後で許可された主体が復号できるようデータを隠します。

この2つの技術は別の問題を解決し、組み合わせて利用できます。

非公開トランザクションシステムでは、許可された閲覧者向けにデータを暗号化しつつ、隠されたトランザクションがプロトコルのルールに従うことをゼロ知識証明で示す場合があります。

ゼロ知識証明は、ネットワークメタデータ、ウォレットアドレス、ブラウザー情報、あらゆる公開入力を自動的に隠すものではありません。

プライバシーアプリケーションでは、証明回路だけでなく、情報の流れ全体を分析する必要があります。

準同型暗号

準同型暗号では、平文を明かさずに暗号化データに対して特定の計算を行えます。

復号後の結果は、元の情報に対して計算した結果に対応します。

完全準同型暗号は、暗号文に対する広範な計算を実現することを目指します。

この技術は機密性の高いブロックチェーン分析やスマートコントラクトロジックに役立つ可能性がありますが、大規模な用途では計算負荷が依然として高い場合があります。

実装では、安全な鍵管理、アクセス制御、計算の検証可能性、メタデータ漏えい対策も必要です。

準同型暗号を、通常のブロックチェーン実行に単純に置き換えられるものとして扱ってはいけません。

しきい値暗号

しきい値暗号では、復号権限を複数の参加者に分割します。

保護されたデータを復号するには、所定数の参加者が協力する必要があります。

1人の参加者が完全な復号能力を保持する必要はありません。

暗号資産プロトコルでは、封印入札、遅延開示、非公開ガバナンス、保護されたトランザクション順序付けなどにしきい値暗号を利用できます。

参加者の選定方法、鍵の生成方法、メンバーがオフラインの場合の対応、悪意ある鍵シェアの扱いを設計で定める必要があります。

しきい値暗号は復号を制御しますが、マルチシグウォレットは通常トランザクションの承認を制御するため、両者は異なります。

暗号化とマルチシグセキュリティの違い

マルチシグウォレットでは、トランザクション承認の前に複数の承認が必要です。

暗号化は、保護された情報を誰が読めるかを制御します。

ウォレットで両方を使うことはできますが、相互に代替できるものではありません。

1つの秘密鍵を暗号化しても、独立したトランザクション承認者が複数いることにはなりません。

マルチシグの方針を設定しても、トランザクションの詳細やバックアップファイルが自動的に暗号化されるわけではありません。

強固なカストディシステムでは、承認、機密性、バックアップ、復旧、運用上の責任を分離します。

暗号化とマルチパーティ計算の違い

マルチパーティ計算では、各参加者がすべての秘密入力を明かさずに、複数の当事者が計算結果を導き出せます。

暗号資産カストディシステムでは、1台の端末に完全な秘密鍵を再構成せず署名を生成するために、マルチパーティ方式を使う場合があります。

これは、秘密鍵ファイルをパスワードで暗号化することとは異なります。

マルチパーティプロトコルには、参加者の誠実性、通信、バックアップ、しきい値、端末侵害に関する独自の前提があります。

参加者間の通信保護には、暗号化メッセージを併用する場合があります。

鍵管理

鍵管理は、暗号鍵のライフサイクル全体を扱います。

これには生成、配布、保管、有効化、使用、ローテーション、バックアップ、復旧、失効、アーカイブ、破棄が含まれます。

技術的に強力な暗号化アルゴリズムでも、鍵がログ、ソースコード、スクリーンショット、サポートチケット、公開リポジトリにコピーされれば機能しません。

組織は、必要とするシステムや担当者に鍵へのアクセスを限定すべきです。

価値の高い署名鍵や暗号鍵には、専用ハードウェア、職務分掌、アクセス記録、検証済みの復旧手順が必要になる場合があります。

暗号鍵を失うと、正しく暗号化されたデータに永久にアクセスできなくなる可能性があります。

鍵のローテーション

鍵のローテーションとは、古い暗号鍵を新しい鍵に置き換えることです。

鍵が侵害された際に漏えいするデータ量を抑えられる場合があります。

新しい記録を新しい鍵で暗号化しつつ、過去のデータを復号するために古い鍵へのアクセスを制御して維持するシステムもあります。

大規模なアーカイブを再暗号化するには、かなりの時間と慎重な障害対応が必要です。

ブロックチェーンアプリケーションでは、鍵を変更しても削除できない不変データも考慮する必要があります。

鍵ローテーション計画では、バージョン識別子、移行手順、ロールバック規則、古い鍵の安全な廃止を定義してください。

エンベロープ暗号化

エンベロープ暗号化は、ランダムに生成したデータ暗号化鍵でデータを保護します。

別の鍵暗号化鍵で、データ暗号化鍵を保護します。

各ファイルや記録に個別のデータ鍵を設定し、集中管理またはハードウェア保護された鍵でそのアクセスを管理できます。

データ全体を再暗号化せずにデータ鍵を再ラップできる場合があり、鍵のローテーションを簡素化できます。

鍵暗号化鍵やそのアクセスシステムを失うと、多数の保護データに影響する可能性があります。

暗号資産インフラでは、鍵階層のすべてに厳格なアクセス制御とバックアップを適用してください。

暗号化と乱数

安全な暗号化には、鍵、ノンス、ソルト、一時的な秘密情報に質の高い乱数が必要です。

予測可能な乱数を使うと、攻撃者が鍵を推測したり、保護データを復元したりできる可能性があります。

一般的なプログラミング言語の乱数関数は、暗号用途には適さない場合があります。

開発者は、OSまたは安全な乱数生成機能を提供するレビュー済み暗号ライブラリを使用してください。

仮想マシン、組み込み端末、新たに起動したシステムでは、十分なエントロピーがあるか確認する必要があります。

厳密にレビューされたエントロピー生成方法に従わない限り、ユーザーは自分で単語、サイコロの出目、日付、パターンを選んでウォレット鍵を作成すべきではありません。

暗号化では侵害された端末を保護できない

必要な鍵や平文に攻撃者がアクセスできない間、暗号化はデータを保護します。

マルウェアは暗号化の前または復号後に情報を盗む可能性があります。

キーロガーは、ユーザーがウォレットのパスワードを入力する際に記録できます。

ウォレットファイルが暗号化されていても、クリップボードのマルウェアが暗号資産アドレスを置き換える場合があります。

画面キャプチャ型マルウェアは、リカバリーフレーズの表示時に記録する可能性があります。

端末の保護、ソフトウェア更新、トランザクションの確認、物理的な保護も必要です。

暗号化とフィッシング

フィッシングサイトでも、有効な暗号化HTTPS接続を利用できます。

鍵マークが示すのは表示されたドメインとの接続が暗号化されていることであり、ウェブサイトが誠実であることではありません。

攻撃者は誤解を招くドメインの証明書を取得し、悪意ある承認や署名リクエストを安全な通信経路で届けることができます。

操作を進める前に、ドメイン、ウォレットの確認画面、コントラクトアドレス、ネットワーク、資産、金額、権限を確認してください。

暗号化は通信経路を保護しますが、リクエストの金融上の意図を検証するものではありません。

暗号化とデータ可用性

暗号化データを利用するには、許可されたユーザーが暗号文と必要な復号情報の両方を入手できなければなりません。

分散型ストレージ上のファイルは、保存を続ける参加者がいなくなると利用できなくなる場合があります。

鍵の唯一のコピーを保管しているハードウェア端末が故障する可能性があります。

パスワードを忘れたり、鍵を分担する参加者が利用できなくなったりすることもあります。

安全な設計では、機密性と耐障害性のあるバックアップ・復旧のバランスを取ります。

鍵の保護されていないコピーを多数作れば可用性は高まるかもしれませんが、機密性は失われます。

耐量子暗号

大規模な耐障害性量子コンピューターは、素因数分解問題や離散対数問題に基づく広く利用されている公開鍵アルゴリズムを脅かす可能性があります。

耐量子暗号は、従来型と量子コンピューターの両方による攻撃への耐性を目指して設計されたアルゴリズムを使います。

NISTは2024年8月、最初の3つの耐量子暗号規格を承認しました。

NISTの耐量子標準に関する発表には、鍵確立用ML-KEMのFIPS 203と、デジタル署名用FIPS 204およびFIPS 205が含まれます。

ML-KEMは鍵カプセル化方式であり、共通鍵データ暗号化を直接置き換えるものではありません。

共有秘密を確立するためにML-KEMを使い、その後、認証付き共通鍵暗号でデータを暗号化できます。

暗号資産における量子リスク

量子リスクは、暗号化と暗号資産の署名にそれぞれ異なる影響を与えます。

公開鍵署名方式は、将来的に耐量子方式への移行が必要になる可能性があります。

共通鍵暗号も量子探索技術の影響を受けますが、鍵長を増やすことで追加の保護を得られます。

長期的な量子探索の進歩に備える場合、AES-256はAES-128より保守的な選択肢と一般に考えられています。

トランザクション形式、アドレス規則、スマートコントラクト、ノード、カストディシステムの連携が必要となる場合があるため、暗号資産ネットワークは1つのウォレットアプリを変更するだけでは安全に移行できません。

根拠のない量子コンピューター関連の主張を理由に資産を移動せず、公式のプロトコルアップグレード情報に従ってください。

暗号資産における暗号化のメリット

ストレージ端末やバックアップファイルが盗まれた場合、暗号化によってウォレットの秘密情報を保護できます。

信頼できないネットワークを通じて機密情報を送る際の露出を抑えられます。

プライベートメッセージ、API認証情報、アカウント記録、復旧情報を保護できます。

ブロックチェーンアプリケーションで、管理されたデータ共有を実現できます。

認証付き暗号化は、内容を隠すとともに、不正な変更を検知できます。

ハイブリッド方式やしきい値方式では、1つの平文秘密情報を共有するより安全にアクセス権を分散できます。

暗号化はリスクを減らせますが、資産の安全を保証したり、トランザクションの慎重な確認に取って代わったりするものではありません。

暗号化の限界

暗号化は、許可されたユーザーが平文を意図的に共有することを防げません。

あらゆる種類のメタデータを隠すものではありません。

復号鍵が盗まれた後のデータは保護できません。

有効だが悪意あるトランザクションで送金された資産を取り戻すことはできません。

追加のプライバシー技術がなければ、パブリックスマートコントラクトの実行を機密にできません。

ソフトウェアに実装上のバグがないことを保証しません。

唯一の復号鍵やパスワードを失うと、データが永久に失われる可能性もあります。

開発者向け暗号化の利用方法

まず明確な脅威モデルを定義し、機密性が必要な情報を特定します。

保守が継続されている暗号ライブラリと、標準化された認証付き暗号方式を使用してください。

鍵は安全な乱数を用いて生成し、公開ソースコードにハードコードしてはいけません。

ノンスとIVの要件に正確に従う必要があります。

パスワード保護データには、適切なパラメーターを設定したソルト付き鍵導出関数を使用してください。

エラーメッセージから秘密データのどの部分が正しいかを推測できないようにします。

破損した暗号文、誤ったパスワード、ノンスの再利用、切り詰められたファイル、期限切れの鍵、中断された移行をテストしてください。

セキュリティレビューでは、暗号化関数だけでなく鍵のライフサイクル全体を検証します。

暗号資産ユーザーが暗号化を安全に使う方法

まず、パスワードがローカルウォレットファイルを暗号化するのか、ウォレットの導出方法を変更するのか、オンラインアカウントを保護するのかを理解します。

次に、暗号化されたウォレットデータには、強力で使い回しのないパスワードを設定します。

ローカル暗号化で保護されない場合があるため、リカバリーフレーズは別途保護してください。

暗号文と必要な復旧情報の両方を安全にバックアップします。

多額の暗号資産を入金する前に、復旧手順をテストしてください。

ウォレットの秘密情報をウェブサイト、メッセージ、サポートフォームに入力しないでください。

署名する前に、信頼できる画面でトランザクションの詳細を確認します。

ウォレットソフトウェア、OS、ブラウザー、端末を最新の状態に保ちます。

暗号化されたネットワーク接続を使いつつ、HTTPSをウェブサイトの正当性の証明とみなさないでください。

パスワード、端末、鍵の管理者が利用できなくなった場合の対応を計画します。

ウォレットバックアップを暗号化する例

Aliceが機密性の高い鍵素材を含むウォレットバックアップを作成するとします。

ウォレットはランダムなソルトを生成し、パスワードベースの鍵導出関数を使ってAliceのパスワードから暗号鍵を導出します。

ウォレットは一意のノンスを生成し、認証付き暗号化でバックアップを暗号化します。

暗号文、ソルト、ノンス、鍵導出パラメーター、認証タグを構造化ファイルに保存します。

ファイルだけを盗んだ攻撃者は、Aliceのパスワードを推測し、負荷の高い鍵導出処理を使って各候補を検証する必要があります。

強力なパスワードと適切な処理パラメーターにより、この攻撃を大幅に困難にできます。

Aliceは暗号化バックアップを複数の安全な場所に保管し、パスワードは別に保管します。

バックアップに頼る前に、管理された環境で復旧手順をテストします。

パスワードを忘れ、代替の復旧方法もない場合、暗号化バックアップは永久に利用できなくなる可能性があります。

暗号化でよくある間違い

暗号資産のトランザクションは暗号技術を使うため非公開だと思い込むこと。

デジタル署名と暗号化を混同すること。

Base64、16進数、その他のエンコード形式を暗号化として扱うこと。

復号パスワードを暗号化済みウォレットファイルの隣に保存すること。

適切な鍵導出関数を使わず、弱い人間向けパスワードを使用すること。

一意性が必要な暗号化モードでノンスを再利用すること。

認証機能なしでデータを暗号化すること。

将来の鍵漏えいを考慮せず、機密データを恒久的に暗号化してオンチェーンに置くこと。

暗号化されたハードウェアウォレットが悪意あるトランザクションのリスクをなくすと思い込むこと。

元のウォレットを失う前に、バックアップの復元をテストしないこと。

FAQ

暗号資産における暗号化とは?

ウォレットデータ、メッセージ、バックアップ、その他の情報を、許可された鍵で復号する必要がある暗号文へ変換することです。

暗号資産のトランザクションは暗号化されていますか?

多くのパブリックブロックチェーントランザクションは暗号化されず、署名され、公開検証が可能です。

ブロックチェーントランザクションが暗号化ではなく署名されるのはなぜですか?

ネットワーク参加者はトランザクション命令を読み取り、検証する必要があり、署名は権限を持つ鍵が承認したことを証明するためです。

暗号化と暗号技術の違いは?

暗号化は暗号技術の一部です。暗号技術には、ハッシュ、署名、証明、コミットメント、鍵確立方式なども含まれます。

暗号化とハッシュの違いは?

暗号化は適切な鍵で元に戻せますが、安全なハッシュは一方向の変換として設計されています。

暗号化とエンコードの違いは?

暗号化には保護された鍵素材が必要ですが、エンコードはデータの表現形式を変えるだけで、通常は誰でも元に戻せます。

共通鍵暗号とは?

暗号化と復号に同じ秘密鍵、または密接に関連する秘密鍵を使う方式です。

公開鍵暗号とは?

暗号化に公開鍵、復号に対応する秘密鍵を使う方式です。

ハイブリッド暗号化とは?

共通鍵でデータを保護し、その鍵を公開鍵方式で保護する暗号化方式です。

AESとは?

128、192、256ビット鍵に対応する標準化された共通鍵ブロック暗号です。

認証付き暗号化とは?

平文を隠し、保護されたデータの不正な改ざんを検知する暗号化方式です。

暗号化のノンスとは?

選択した暗号化方式の一意性または予測困難性の要件を満たす必要がある追加値です。

ウォレットのパスワードは秘密鍵と同じですか?

いいえ。ウォレットパスワードは暗号化ファイルのロック解除に使われる場合がありますが、秘密鍵は関連アカウントのトランザクションを直接承認します。

ウォレットのパスワードはリカバリーフレーズを保護しますか?

必ずしもそうではありません。リカバリーフレーズは、ローカルの暗号化ファイルとは独立してウォレットを再生成できる場合があります。

BIP-39パスフレーズは通常の暗号化ですか?

いいえ。保存済みニーモニックファイルを単に復号するのではなく、導出されるシードを変えて別のウォレットを作成します。

暗号化キーストアとは?

暗号化された秘密鍵素材と、復号鍵の導出・検証に必要なパラメーターを含む構造化ファイルです。

暗号化ウォレットがハッキングされることはありますか?

あります。攻撃者が弱いパスワードを推測したり、ウォレットソフトウェアを悪用したり、パスワードを記録したり、復号済みメモリを読み取ったり、悪意あるトランザクションを承認するようユーザーをだましたりする可能性があります。

ハードウェアウォレットは暗号化を使いますか?

内部ストレージを暗号化する場合がありますが、主な目的は秘密鍵の処理を接続先コンピューターから隔離することです。

HTTPSなら暗号資産のウェブサイトは安全ですか?

いいえ。HTTPSはドメインとの接続を暗号化しますが、ウェブサイトやトランザクションリクエストが誠実であることを証明しません。

スマートコントラクトは暗号鍵を秘密にできますか?

通常のパブリックスマートコントラクトでは、ネットワーク参加者全員から隠す必要がある秘密鍵を安全に保存できません。

暗号化データをオンチェーンに保存できますか?

可能ですが、暗号文とトランザクションのメタデータは公開されたままであり、将来鍵が漏えいすると恒久保存されたデータが読まれる可能性があります。

ゼロ知識証明は暗号化ですか?

いいえ。ゼロ知識証明は秘密入力のすべてを明かさずに命題の真偽を示し、暗号化は後で復元可能なデータを隠します。

しきい値暗号とは?

保護データの復号には、所定数の参加者の協力を必要とする方式です。

暗号化で盗まれた暗号資産を取り戻せますか?

いいえ。暗号化で有効なブロックチェーン送金を取り消したり、攻撃者に送られた資産を回収したりすることはできません。

暗号鍵を失うとどうなりますか?

復号鍵や復旧方法の利用可能なコピーが残っていなければ、正しく暗号化されたデータに永久にアクセスできなくなる可能性があります。

耐量子暗号とは?

将来の量子コンピューターによる攻撃への耐性を目指して設計された鍵確立・暗号化システムです。

現在のウォレットの暗号技術は耐量子ですか?

広く使われている暗号資産署名方式の多くは、十分に高性能な将来の量子コンピューターへの耐性を想定して設計されていません。

強力な暗号化で暗号資産の安全は保証されますか?

いいえ。端末、ソフトウェア、鍵管理、バックアップ、権限、トランザクション確認、ユーザーの行動にも左右されます。

まとめ

暗号化は、読み取り可能な情報を、正しい暗号鍵を持つ許可された主体が復元できる暗号文に変換します。

暗号資産では、ウォレットファイル、秘密鍵のバックアップ、認証情報、メッセージ、保存記録、ネットワーク接続の保護に使われます。

デジタル署名、ハッシュ、データのエンコードと混同してはいけません。

パブリックブロックチェーンのトランザクションは一般に、暗号化されず、署名された状態で公開されます。

共通鍵暗号は大容量データを効率よく保護し、公開鍵暗号は鍵の確立や特定の受信者向けデータの保護に役立ちます。

現代のシステムでは、これらの方式をハイブリッド暗号化や認証付き暗号化で組み合わせるのが一般的です。

ウォレットの暗号化は、ファイル窃取によるリスクを軽減しますが、マルウェアがパスワードや復号済み鍵を取得した後の秘密情報は保護できません。

リカバリーフレーズ、ローカルウォレットパスワード、BIP-39パスフレーズは、役割の違いを理解し、それぞれに応じて保護する必要があります。

開発者は、レビュー済みのアルゴリズム、安全な乱数、一意のノンス、強力な鍵導出、認証、包括的な鍵管理手順を使用してください。

ユーザーは、テスト済みバックアップを維持し、トランザクションの詳細を確認し、端末を保護し、HTTPSやハードウェア暗号化だけでアプリケーションを信頼できると判断しないようにしてください。

耐量子標準によって新しい鍵確立方式や署名方式が利用できるようになりつつありますが、暗号資産の移行にはウォレット、プロトコル、インフラ全体で慎重な連携が必要です。

暗号化を理解することで、暗号資産ユーザーは機密性とトランザクション承認を区別し、ウォレット、バックアップ、プライバシー、長期的な資産セキュリティについてより適切な判断を行えます。
押し目か、チャンスか?
押し目か、チャンスか?押し目か、チャンスか?
強制決済が相次ぐ中、BTC ETFへの流入額が$24億に達した理由とは