Strongcoin.comは最初のハイブリッドオンラインビットコインウォレットである。このウォレットの素晴らしい特徴の一つは、暗号化された紙の財布を提供するために印刷できるPDFを各ユーザーに提供することです。この記事では、そのバックアップから資金を回復するプロセスを説明します。
ストロングコインのウェブサイトから抜粋した例である:
この場合、1人のユーザーが6つの異なる秘密鍵を持つことになる。ペーパーウォレットには、公開アドレス、暗号化されたバージョンの秘密鍵、ペーパーウォレットが生成された時点の残高が含まれる。
ブロックチェーン・エクスプローラーに公開アドレスを入力すれば、各秘密鍵に保存されている現在の残高を得ることができる。
Clue(手がかり)」という欄もある。これはユーザーが単にパスワードの手がかりを書き込むためのものなのか、あるいはStrongcoin.comのウェブサイト内から手がかりを追加して紙の財布に印刷できるようにするためのものなのかは(現時点では)明らかではない。
ストロングコインのウォレットフォーマットはBIP38プロトコルよりも古く、異なる暗号化スキームを使用しています。
以下はすべて、あなたが紙の財布のパスワードを知っていることを前提としている。パスワードがわからない場合、そして最も可能性の高い候補を試した場合、おそらく専門家の助けが必要だろう。
Crypto Asset Recoveryは、あなたのペーパーウォレットとパスワードの推測を、数億、数十億、またはそれ以上のパスワードのバリエーションに拡張することができます。そして、正しいパスワードが見つかるまで、暗号化された秘密鍵と照らし合わせて、それぞれのパスワードをテストします。
資金が回収されなかった場合、お客様は当社に対して金銭的な債務を負うことはありません。(資金を回収した場合は、回収した資金の20%をいただきます)。詳細についてご興味がおありですか? ご連絡ください。
ストロングコインは2011年10月に、ペーパーウォレットの秘密鍵をどのように暗号化しているかを説明している。
ストロングコインは、ペーパーウォレットの秘密鍵を暗号化するために、OpenSSLと呼ばれる評価の高いオープンソースの暗号化ソフトウェアを使用しています。同じソフトウェアを使って秘密鍵を復号化することができます。
OpenSSLは100以上の異なる暗号アルゴリズムをサポートしています。
暗号はデータを変換するために使用され、読み取り不可能にし、不正アクセスから保護する。置換、転置、またはその両方を含む、明確に定義された一連のステップを経て、平文を暗号化されたテキスト(暗号文)に、またはその逆に変換する。
ストロングコインはAES-256-CBCと呼ばれる暗号を使用した。AES(Advanced Encryption Standard)は広く使われている対称暗号化アルゴリズムである。特にAES-256-CBCは、256ビットのキーサイズと暗号ブロック連鎖(CBC)動作モードを指す。256ビットのキー・サイズは高レベルのセキュリティを提供し、CBCモードは同一の平文ブロックであっても異なる暗号化が行われることを保証し、パターン認識攻撃に対する追加のセキュリティ・レイヤーを提供します。
ちょっと想像してみよう。Strongcoin.comのウォレットを持っていて、あなたの 暗号化されていない暗号化されていない秘密鍵が次のものだとします: 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
その秘密鍵をパスワードで暗号化したい:オープンセサミ
コンピュータにOpenSSLライブラリをインストールしたら、以下のコマンドで暗号化された秘密鍵を作成できる:
echo "5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF" | openssl enc -e -aes-256-cbc -a -| openssl enc -e -aes-256-cbc -ak OpenSesame
U2FsdGVkX1+m4PKpcBfkuRmmklQ5nA2WFq17zKEfJndwrvSb6Hb5ACsVgkw4J+wc
vaiFfwQ9AaQaFTa6dUx51gMuCv+Rtz2iycvZWYP0Rrw=
U2Fs "と "vaiF "で始まる2行は、暗号化された秘密鍵を表しています。
面白いことに、同じコマンドを2回目に実行すると、暗号化された秘密鍵がどのように変化しているかに注目してほしい!これがCBCモードのマジックだ:
echo "5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF" | openssl enc -e -aes-256-cbc -a -.k OpenSesame
U2FsdGVkX18D+Cljo/dm2es1MeBMUR4BStRbYsciKLBCObM4xR9tzeIUsLHwIF6d
CxircUKMIAUMSKZXXRtIWyEMQsea/uglA6c1Y37gM14=
2つ目の暗号化された秘密鍵はもう無視しよう。
Strongcoinペーパーウォレットと完全に互換性を持たせるためには、2行の秘密鍵を各行の31文字目以降で4行に分割する必要がある:
U2FsdGVkX1+m4PKpcBfkuRmmklQ5nA2
WFq17zKEfJndwrvSb6Hb5ACsVgkw4J+wc
vaiFfwQ9AaQaFTa6dUx51gMuCv+Rtz2
iycvZWYP0Rrw=
暗号化された秘密鍵をkey.txtというテキストファイルに保存しよう。
では、このサンプル・データを使って復号化し、暗号化されていない秘密鍵が得られることを確認してみよう:
openssl enc -d -aes-256-cbc -in key.txt -a -k OpenSesame
5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF
完璧です!これで、ストロングコインが使用している手法を使って秘密鍵を暗号化し、復号化することができました。
あなたの暗号化されていない秘密鍵を持っている人は、あなたの資金をすべて奪うことができるということは言っておく価値がある。ですから、基本的な予防策を講じる必要があります:
ご不明な点がございましたら、お気軽にCryptoAssetRecovery.comまでお問い合わせください。