Search

検索したいワードを入力してください

2019年04月10日

今更聞けないブロックチェーン!秘密鍵とは?何に使われている?

この記事では、ブロックチェーンの概要や中身の仕組みに焦点を当てて、どういった技術が使われているのか説明しました。そこで重要となる公開鍵暗号方式について、秘密鍵の取り扱いについてなどのセキュリティ対策や管理の方法にも触れています。

ブロックチェーンについて

今回はブロックチェーンのセキュリティーを守る役割を担う秘密鍵について紹介します。

その前に、ブロックチェーンについて簡単に説明します。ブロックチェーン自体がイマイチよくわからないという人は読んでみてください。

ブロックチェーンとは

ブロックチェーンとは分散型台帳技術と呼ばれています。台帳とはお金のやり取りを記録するもの、分散とはお金のやり取りをする人みんなで運営・管理をすることです。つまり、ブロックチェーンとはお金のやり取りをする人みんなで、台帳の運営・管理をする仕組みのことです。

ブロックチェーンは最新技術なので現在は銀行のような特定の管理機関はありません。また、法整備も整っていない状態です。そのため、自由で枠にとらわれずに開発ができる反面、トラブルに弱いという特徴があります。

具体的に何に使われているの?

ブロックチェーンは具体的に仮想通貨やゲーム開発などに使われています。中でも、仮想通貨の開発に使われていることで有名です。

仮想通貨にはどんなものがあるのかを紹介します。

ビットコイン

ビットコインは1番最初のブロックチェーンの実用例です。ブロックチェーンはビットコインを実現するための手段として生み出されたのでこの2つは切っても切れない関係です。

ビットコインは、新しい決済システムと完全電子通貨を実現する総意ネットワークです。例えば、電子マネーやプリペイドカードは「現金をチャージして、その通貨価値をデジタルデータとして記録したもの」です。

しかし、ビットコインは現金でのやりとりがありません。ビットコインはインターネット上のみで扱うことのできるお金です。

ブロックチェーンの将来性は?

ブロックチェーンはインターンネット以来の革新的な技術と言われるほど、将来性があります。銀行 、医療、製造 政治 、不動産、教育 、投資 、国際貿易、農業 、オンラインショッピングなど多岐に渡る分野での応用が期待されています。

なぜなら、改ざんや情報の書き換えなどの不正がしにくいからです。それは、今回の本題の秘密鍵などのセキュリティーが大きく関わっていますので後で説明します。

ブロックチェーンが作成される流れ

ブロックチェーンは主にJavaScriptというプログラミング言語で作成されます。ブロックチェーンを作るには、ブロックとはどのようなものなのかを理解し、ブロックの構造を決め、ブロックを作り出すことから始まります。

主に取引、記録、検証というプロセスの繰り返しです。ちなみに、ブロックチェーンの開発にはハッシュ値といった難しい計算が必要です。

公開鍵暗号の概要

それでは、本題の公開鍵暗号の概要を説明します。これから紹介するのはブロックチェーンのみならず、インターネット上で暗号化技術を用いたデータの送受信を行う際に必要な技術です。この部分がしっかり機能していないと不正や改ざん、情報流失などのトラブルに発展します。

共通鍵暗号方式

共通鍵暗号方式とは、暗号化と復号化の際に共通鍵を使う暗号方式のことです。

この共通鍵の情報は、送信側と受信側の二者間のみで共有されます。送信者がデータを共通鍵で暗号化し受信者に送り、受信者は受け取ったデータを共通鍵で復号化して、データを取得します。共通鍵暗号方式で通信を行う場合は、送信者は通信をする前に相手に共通鍵を渡しておく必要があり、受信者は共通鍵を使ってデータを復号します。

共通鍵暗号方式は取引相手ごとに固有の鍵を作成しなければならないので取引相手が多くなれば多くなるほど取り扱いが面倒です。また、第三者に紛失や盗まれたりしないように安全な方法で取引相手に鍵を渡さなければならないというリスクもあります。

公開鍵暗号方式

公開鍵暗号方式とは、暗号化と復号化で異なる鍵を使う暗号方式のことです。公開鍵と秘密鍵が使用されます。

受信者は公開鍵と秘密鍵を生成し、送信者は受信者が公開した公開鍵を取得します。そして、送信者は公開鍵でデータを暗号化し受信者へ送信します。受信者は受け取ったデータを受信者のみが持っている秘密鍵で復号化し、データを取得します。

共通鍵暗号方式だと共通鍵をいちいち渡す必要がありますが、公開鍵暗号方式では受信者は秘密鍵を使い、送信者は公開鍵を使うというシンプルなやり方です。

秘密鍵と公開鍵の違いとは

公開鍵暗号方式で利用する秘密鍵と公開鍵の違いについて説明します。

秘密鍵は、取引データを暗号化するもので、受信側のみ保持している鍵、公開鍵は暗号化した取引データを復号化するもので、誰でも取得できる鍵です。そのため、秘密鍵は厳重に注意して保管しなければなりません。

銀行の口座番号が公開鍵、暗証番号が秘密鍵だと例として考えてみるとわかりやすいです。口座番号を元に給料が振り込まれます。その給料を引き出すために暗証番号を使います。口座番号が他人に知られたらお金を盗まれてしまいます。そのため、みなさんは慎重に暗証番号を扱っていますよね。

それこそが、秘密鍵と公開鍵の違いです。

電子署名とは

電子署名とは、紙文書における署名や印章のデジタル版です。

紙文書だと、データの管理や処理に時間がかかるのでデジタルに対応した電子文書の方が便利です。ただし、電子文書は筆跡や印影が残らないので作成者が誰なのか証明しにくいことや不正に改ざんしても証拠が残りにくいという問題点もあります。

そこで、電子文書に電子署名を利用して、署名を行ったのは署名者本人であるかどうかの確認や署名後に電子文書が改ざんされていないかどうかの確認をすることで問題の解決をします。

復元パスフレーズとは

復元パスフレーズはウォレット(仮想通貨を保管する場所のこと)を開けるための秘密鍵を失くしてもウォレットを復元できるパスワードです。

主に英語や日本語の単語12~24の組み合わせで構成されます。これは秘密鍵同様、他者へ教えてはいけない自分だけのパスワードです。また、秘密鍵をなくした場合、仮想通貨が取り出せる最後の砦とも言えます。

どこで公開鍵暗号方式が使われているか

具体的に公開鍵暗号方式はどこで使われているでしょうか。答えは高度なセキュリティが必要なところです。私達の生活に必要なものから、最新技術まで幅広くありますので紹介します。

SSL通信

インターネット上でデータを暗号化して送受信する仕組みのSSL通信は公開鍵暗号で通信を行います。個人情報やクレジットカード情報などの重要なデータを暗号化して、サーバ~PC間での通信を安全に行なう必要があるので通信を行う前に鍵を渡さなければならない共通鍵暗号暗号方式よりも秘密鍵と公開鍵を使ってセキュリティができる公開鍵暗号方式の方が適しているでしょう。

マイナンバーカード

マイナンバーとは、国民一人一人がもつ12ケタの番号のことで2015年10月以降、住民票を有する方全員に付与されました。これは一生使うものなので何らかの不正行為などに使われる恐れがあってはいけません。そこで公開鍵暗号方式を使って厳重なセキュリティをしています。

また、マイナンバーカードは電子署名も利用されています。改ざんがないことを証明するためのものです。これによって、署名者の基本4情報(氏名・生年月日・住所・性別)が管理されています。

ブロックチェーン

先ほど、ブロックチェーンの将来性についてお話ししました。改ざんや情報の書き換えなどの不正がしにくいからあらゆる場面での応用が期待されているとのことでしたね。

そのブロックチェーンの高度なセキュリティは公開鍵暗号方式を使うことで実現できているのです。また、ブロックチェーンの公開鍵暗号方式は楕円曲線暗号という暗号化技術で公開鍵の生成をしています。これによって、公開鍵から秘密鍵を割り出すことはできないような強力なセキュリティを作っています。

送金の流れ

送金とは、お金を相手に手渡しではなく、銀行振込み、または郵便局から現金書留、郵便為替などの手段で送ることです。最近はネットバンクやスマートフォンのアプリで簡単に送金できるようになりました。

お金の管理なのでとても重要ですから、公開鍵暗号が使われます。現物のお金と仮想通貨のどちらでも活躍しますが、目に見えないため不正に操作されてしまうリスクがある仮想通貨の分野では特に活躍します。

秘密鍵の管理

秘密鍵は銀行で例えると暗証番号のようなものです。他人に知られてしまうとお金を盗まれてしまいます。そう考えると、秘密鍵の管理はとても大切なのがわかります。

過去の流出事件のほとんどが秘密鍵の流出

2018年1月26日コインチェック社から仮想通貨の流出や2014年2月当時世界最大の取引所マウントゴックス社が、管理していた225億相当のビットコインと現金約28億円の預かり金を消失させてしまうなどの事件が起きています。所説ありますが、これらの流出事件は恐らく秘密鍵の流出だと言われています。

取引所はたくさんの顧客の秘密鍵を保管しているため、ハッカーなどの脅威から秘密鍵を盗み取られないよう、高度なセキュリティ対策が求められます。

例えば、ハッキングされてもハッカーが「秘密鍵」にたどりつけないよう、ネットワークから切り離した媒体に「秘密鍵」を保管するといった、コールドウォレットという対策などがあります。コインチェックの仮想通貨流出事件では、このコールドウォレットの対策が取られていなかったことが原因であるとも言われています。

秘密鍵は自分で管理することが大切

秘密鍵の管理は取引所に完全に任せるのでなく、自分で管理することも大切です。どんなに取引所がハッキング対策をしていても完全というわけではありません。なんらかの原因でハッカーに攻撃されてハッキングに合い、秘密鍵を奪われてしまうと、自分の資産を失ってしまいます。

ですから、仮想通貨交換所に預けておく資産と秘密鍵を自分で管理できるウォレットを利用して保管しておく資産を分けておいた方が安全です。

復元パスフレーズの管理も大切

秘密鍵と同様に復元パスフレーズを管理することも大切です。

先ほども説明しましたが、復元パスフレーズは秘密鍵をなくした場合、仮想通貨が取り出せる最後の砦とも言えます。

もし、復元パスフレーズを他人に知られてしまうと、誰でもウォレットを復元できるようになってしまいます。そのため、秘密鍵以上に厳重に保管する必要があります。

安全なウォレットについて

ウォレットとは、文字通り仮想通貨の「財布」です。仮想通貨の保管や他のウォレットへの送金ができます。

そのウォレットにも種類があります。種類別に特徴から安全性を見ていきましょう。

ホットウォレット

ホットウォレットとは、インターネットに接続された状態のウォレットです。インターネットに接続されているので即時に入出金のやり取りができます。安全性の問題点としてはインターネットを介した盗難の危険があることがあげられます。

具体的にホットウォレットは取引所ウォレット、ウェブウォレット、ソフトウェアウォレットがあります。

取引所ウォレットは取引所ウォレットとは、取引所に購入した仮想通貨をそのまま預けていることです。送金などはする必要がなく、すぐに仮想通貨の取引ができます。ウェブウォレットとは、サイトに登録をし、そのサイトのサーバーないでウォレットを管理します。ソフトウェアウォレットは、自分のパソコンやスマートフォンにソフトウェアをダウンロードして使います。

コールドウォレット

コールドウォレットはインターネットに接続されていないウォレットです。インターネットに繋がっていないのでコールドウォレットはすぐに取引はできませんが、ハッキングリスクは低いと言えるでしょう。安全性はコールドウォレットの方が上です。

具体的にコールドウォレットにはペーパーウォレット、ブレインウォレット、ハードウェアウォレットなどがあります。

ペーパーウォレットはその名の通り紙に秘密鍵の文字列やQRコードを書いて保管する方法です。ブレインウォレットはこれも名前のまま脳に記憶する方法です。ただ、長い文字列を記憶するのは難しいでしょう。ハードウェアウォレットはUSB接続できる専用のハードに秘密鍵を保存する方法です。最もメジャーな作り方です。

秘密鍵の重要性を理解しよう!

前半はブロックチェーンについて、後半は秘密鍵などのセキュリティについて紹介しました。ブロックチェーンとそのブロックチェーンのセキュリティに大きくかかわる秘密鍵がどれほど重要か理解していただけましたか?

ブロックチェーンは様々な分野で応用でき、公開鍵暗号方式というセキュリティで強固に守られてるのでその活躍が期待されています。

その公開鍵暗号方式で活躍するのが秘密鍵です。秘密鍵を失くしたり、ハッキングによって奪われてしまうと自分の資産をすべて奪われてしまいます。取引所に頼るだけでなく、自分で管理することが大切です。また、復元パスフレーズは秘密鍵を失くした時の最終手段なのでこちらは秘密鍵以上に厳重に保管しましょう。

多くの人がプログラミングを諦めてしまう理由をご存知ですか?



近年プログラミングを勉強する人が増えています。

プログラミング学習者の多くは独学から取り組もうとしますが、だいたい80%ほどは3ヶ月も続かずに諦めてしまいます。早い人は1日目で。

多くの人がプログラミングを独学しようとして諦める理由は、次の3つ。
●モチベーションが維持できない
●エラーの原因・解決方法が分からない
●どう学習すればよいか分からない

TechBoostというプログラミングスクールでは、みんなと一緒にプログラミングをするのでモチベーションの維持ができ、分からないことがあればマンツーマンで教えてくれ、徹底的に研究された初心者向けの教材が揃っています。

TechBoostを卒業後、実際にエンジニアとして転職した方もいるほど。

本気でプログラミングを学びたい方は、一度無料のカウンセリングでご相談ください。プログラミングを嫌いになる前に。

tech boost卒業生インタビュー

tech boostの卒業生の声を聞きました。あなたがプログラミングを学びたい理由を、一度考えてみてください。
営業→Javaエンジニア→Rubyエンジニアと転向し、第一志望のFinTech企業で働く山下さん
元営業、ビジネスのわかるエンジニアを目指す菅原さん
サンフランシスコに交換留学し、シリコンバレーのVCでインターン中の梅本さん
予備校の営業から半年でエンジニア転職を果たした小田島さん

tech boostの口コミ



Related