基礎知識

「ウォレット」「秘密鍵」「公開鍵」~暗号資産を安全に管理するということ~

「秘密鍵」と「公開鍵」は全く違うものです。 秘密鍵を安全に管理して自分の資産を守りましょう。(なお、秘密鍵のことはプライベートキー、公開鍵のことはパブリックキーとも呼ばれます。)

今回は、公開鍵暗号方式と暗号資産ウォレットにおける秘密鍵の役割について解説します。

公開鍵暗号方式とは?

公開鍵暗号方式とは

公開鍵暗号.png (1000×586)

公開鍵暗号方式とは、「公開鍵」と「秘密鍵」という2つの鍵を使ってやり取りする暗号化方式のことです。「公開鍵」とはその名の通り誰でも利用できるように広く公開されている鍵です。一方「秘密鍵」は特定のユーザーのみが所有する鍵で、こちらは安全に管理されていなければなりません。

公開鍵は秘密鍵から生成され、その秘密鍵とペアになることで高い秘匿性を実現します。つまり、同じペアの公開鍵と秘密鍵を使用しなければ、正常に復号化できないようになっているということです。秘密鍵から公開鍵を作るのは簡単ですが、公開鍵から秘密鍵を数学的に特定するのは、現実的に不可能だと言われています。

image-public.png (200×150)

公開鍵は閉める専用の鍵です。一方秘密鍵は開ける(復号する)専用の鍵で、受信者だけが持っています。情報を送りたい人は、受信者用の公開鍵を手に入れて、それで鍵を閉めて、受信者に送ります。受信者は自分だけが持っている秘密鍵で開ければいいというわけです。受信者が秘密鍵をしっかりと管理さえしていれば、情報は完璧に秘匿できます

公開鍵暗号で最も有名なのはRSA暗号で、1977年、発明したロナルド・リベスト氏、アディ・シャミア氏、レオナルド・エーデルマン氏の頭文字を取って名づけられました。RSAによる暗号アルゴリズムは、桁数の大きな素数を掛け合わせて積を求めるのは簡単でも素因数分解は困難であることを応用し、2つの非対称の鍵(公開鍵を秘密鍵)を作り出すことにより安全性を導き出したものです。

共通鍵暗号方式とは

kyoutsuu.png (714×288)

RSAが発明される前は共通鍵暗号方式を使っていました。共通鍵暗号化方式とは、データの暗号化と復号化に同じ鍵を使う暗号化の仕組みです。データをやり取りする相手にあらかじめ共通鍵を渡しておくので、暗号化と復号化の手順はシンプルで分かりやすいものです。しかし、共通鍵暗号方式は、通信相手ごとに異なる共通鍵を準備しなければならない点が問題点となります。また、共通鍵は、最初に受信する人に鍵を送る必要があります。この時に安全に鍵を転送しないと、鍵が漏洩するリスクが大きくなるのです。共通鍵が漏洩すると、暗号化と復号化の両方が可能なため、データを盗まれる恐れがあります。

そこで、その問題を無くしたのが公開鍵暗号方式だったのです。

鍵長

さて、どの方式を使おうと重要になってくるのが鍵長です。鍵長とは、データの暗号化や復号に必要な暗号鍵のデータの大きさのことで、単位は「bit(ビット)」で表されます。鍵長が大きいほど暗号化や復号処理の負担がかかるため、第三者に解読されにくくなります。反対に、鍵長の数字が小さければ、暗号鍵が割り出される可能性が高くなるのです。そのため、鍵が破られにくい最適な鍵長を確保することが大切です。

ビットコインでは公開鍵暗号方式の一種でRSAのセキュリティをさらに高めた楕円曲線暗号が使われていますが、これで暗号資産の鍵がなぜ長いのかお分かりになったでしょうか。

公開鍵暗号方式では1024~2048ビットの暗号鍵が利用されていますが、2048ビットの鍵長はパターンの重複が少なく、現在のコンピュータの性能では解読はほぼ不可能だと言われています。

暗号資産ウォレットにおける秘密鍵の役割

どの暗号資産ウォレットにも必ず公開鍵と秘密鍵があります。

秘密鍵とは暗号資産の所有者であることを証明するために使われ暗号資産を所有している所有者のみが知る情報です。ウォレット内で管理・保管します。ですから、ウォレットに入っているのは暗号資産ではなく、秘密鍵です。そして暗号資産の送付を行う際は ウォレット内で管理している秘密鍵を使って署名する必要があります。一方、公開鍵はウォレットを特定したり、送金を受取るために使われます。名称未設定のデザイン-5.jpg (1000×563)暗号資産ウォレットを作る時には通常12~24のシードフレーズを書き留めるように指示されます。シードフレーズはパスフレーズやニーモニックフレーズとも呼ばれます。シードフレーズは秘密鍵から生成されますが、秘密鍵そのものではありません。そしてこのフレーズにより、ハードウェアが故障や紛失、盗難などにあった場合でも、ウォレットソフトウェアを再度ダウンロードすることで、シードフレーズを用いて資産へのアクセスを回復し、今まで通り送受信を行うことができます。

シードフレーズは誰にも見せてはいけません。シードフレーズを知っている人であれば誰でもチェーン上の資産へアクセスできるということを忘れないでください。

もし、何者かによって自分の資産を送金されてしまった場合、ブロックチェーンの性質上、取り戻すことは不可能です。

最後に

暗号資産を安全に管理するために大切なこととして、ウォレットの秘密鍵の重要性がお分かりいただけたかと思います。秘密鍵を守るためにもウォレットの入っているスマートフォンやパソコンで不用意にクリックしたりタップしたり、メールを開いたりしないよう気をつけましょう。また、ある程度暗号資産が増えてきたら、一つのウォレットですべて管理せず、複数のウォレットを使い分け、リスクを分散させておきましょう。