トレーサビリティとは何か? 種類・必要性・ブロックチェーンとの関係
トレーサビリティとは何?
ブロックチェーンにはさまざまな暗号技術が応用されています。そんな暗号技術について理解を深めるためにも、本記事では暗号技術の主な方式やハッシュ化との違い、活用シーンなどについて解説します。
ブロックチェーン以外にも普及が進む暗号技術を自社でも活用したい方、必見です。
目次
暗号技術とは、第三者からデータの内容をわからない形に変換し、その後に変換したデータを元に戻す技術です。
第三者からデータの内容をわからない形に変換することを「暗号化」、元の形に戻すことを「復号」といいます。例えば、手紙の文面を当事者にしか解読できないよう変換することも、暗号化の1種です。
また、暗号資産(仮想通貨)を支えるブロックチェーン技術にも暗号技術が応用されており、インターネットの普及も伴ってさまざまなシーンで暗号技術の需要が高まっています。
暗号化には「アルゴリズム」と「鍵」が必要です。アルゴリズムとは暗号化のルールを指し、鍵とは非公開で運用される暗号化や復号に用いるデータを意味します。暗号技術は、大きく次の3方式に分けられます。
ここでは、各方法の詳しい内容について解説します。
共通鍵暗号方式とは、データの送信者と受信者が「同じ鍵」を用いて暗号化や復号を行う
方法のことです。送信者と受信者が共有する鍵を「共通鍵」と呼びます。
この共通鍵を持たない第三者はデータの内容を見れません。車や玄関のドアは、開ける場合も閉める場合も同じ鍵を使うのと同様のイメージです。
共通鍵暗号は処理速度が速く、インターネットの通信において活用されるケースが多いです。ただし、通信前には事前に共通鍵を相手方に渡す必要があり、鍵自体が盗まれるリスクがあります。
公開鍵暗号方式は「公開鍵」と「秘密鍵」の2種類の鍵を使って暗号化や復号する方法のことです。公開鍵とは「利用者に公開して誰でも利用できる鍵」、秘密鍵とは「誰にも公開されず、自分のみが利用できる鍵」を意味します。
いずれの鍵も暗号化は可能です。ただし、暗号化に用いる鍵は目的によって使い分ける必要があります。公開鍵暗号方式の流れは次の2つです。
前述の通り、共通鍵暗号方式は共通鍵の受け渡しが難しいというデメリットがあります。一方、公開鍵暗号方式では暗号化に同じ公開鍵、復号には別の秘密鍵を用います。
そのため、復号は秘密鍵を持つデータの受信者しかできない仕組みになっており、鍵の受け渡しにかかるリスクを抑えることが可能です。
また、公開鍵暗号方式によって共通鍵を暗号化し、安全な状態で鍵を受け渡した後に共通鍵暗号方式によって暗号化通信をするといった工夫がされるケースもあります。
エニグマ暗号方式とは、キーボードで入力した文字を別の文字に変換して暗号化する方法のことです。エニグマとは、第二次世界大戦中に作られたドイツの暗号機を意味します。
エニグマに平文を入力すると暗号文が出力され、反対に暗号文をエニグマに入力すると平文が出力されます。ローターと呼ばれる部品の組み合わせや順序、開始位置などの設定が1つでも異なると、平文や暗号文を入力しても正しい結果を得られません。
つまり、ローターの設定を知る人同士しか情報を入手できず「共通鍵暗号方式」の原型ともいえる仕組みなのです。
ハッシュ化とは、ある特定の文字列や数字の羅列を一定のルールに基づく計算によって別の値に置き換えることを意味します。一方、暗号化もデータが読み取られることを防ぐ技術であり、ハッシュ化と混同するケースも少なくありません。
暗号化とハッシュ化の違いは「不可逆性」にあり、つまりは「元に戻せるかどうか」です。
暗号化した情報は、保有を許された人しか知らない「鍵」を使用して、復元できます。一方、ハッシュ化するとハッシュ化した当人も含めて、誰も元には戻せません。
このハッシュ化が適した情報とは「パスワード」です。ネットショッピングや銀行を始めとするウェブサービスの多くでは、ログイン時にIDとパスワードを必要とします。
もし、ハッキングなどによってパスワードが流出しても、ハッシュ化されたパスワードであれば、ハッカー側で復元できません。その結果として不正アクセスを防ぎ、セキュリティの安全性を担保できます。
また、暗号化が適した情報とは「クレジットカード番号などの秘匿性の高い情報」です。ショッピングサイトなどで入力するクレジットカードの情報は、運営会社にそのまま伝える必要があります。
そこで、クレジットカード情報を暗号化し、運営会社だけが持つ「鍵」が無いと情報を見られないようにすることで、安全な状態で相手方に情報を届けられるのです。
ちなみに、ハッシュについては次のページでさらに詳しく解説しています。ぜひ参考にしてみてください。
インターネット通信において欠かせない暗号技術は、さまざまなシーンで利用されています。中でも、代表的なシーンは次の3つです。
これらの利用シーンから用途を理解するためにも、それぞれの詳しい内容を解説します。
暗号資産の代表ともいえるビットコインの基幹技術に、ブロックチェーンがあります。ブロックチェーンとは情報をブロック単位でまとめて暗号化し、過去から1本のチェーンのようにつなげることで取引履歴を正確に維持する技術のことです。
このブロックチェーンには、公開鍵暗号方式が利用されています。公開鍵暗号技術による電子署名を用いて相手との安全な取引を実現し、記録された情報を共有して取引の透明性とプライバシー保護を両立しているのです。
ちなみに、ブロックチェーンについては次のページで詳しく解説しています。
SSL(Secure Sockets Layer)とは、Webサイトとそのサイトを閲覧するユーザとのやり取りを暗号化する仕組みです。SSL通信には共通鍵暗号方式と公開鍵暗号方式のいずれも採用されています。
公開鍵暗号方式は通信する情報を暗号化するための共通鍵をクライアントとサーバー間での共有に利用されています。また、共通鍵暗号方式によって共有した共通鍵を用いて、ログインに関する情報などを暗号化して通信するのです。
SSL通信はセキュアな通信によって個人情報の傍受を防ぎ、安全な環境でWebサービスとユーザーを結ぶための暗号化方式といえます。
マイナンバーカードとは、住所や氏名、生年月日、性別、マイナンバー、顔写真などが券面に記載されるICカードです。マイナンバーカードには「署名用電子証明書」と「利用者証明電子証明書」が格納され、公開鍵暗号方式が用いられています。
マイナンバーカードを発行する際は秘密鍵と公開鍵のペアが各市町村から発行されます。
そして、公開鍵に対して「地方公共団体 情報システム機構」という機関が、マイナンバーカードの発行番号などの情報と紐づけ、電子証明書として発行するのです。
秘密鍵と公開鍵のいずれも機能する電子証明書がICの中に格納され、電子証明書を取り出す際の暗証番号を設定して配布されています。
暗号技術とは異なり、不可逆性を持つハッシュ化が活用されるシーンもみていきましょう。代表的なシーンは次の3つです。
ここでは、利用シーンごとの用途や目的について詳しく解説します。
電子署名とは、データ化された電子文書におけるサインや印鑑に相当するものです。電子署名は「公開鍵暗号」と「ハッシュ関数」 を組み合わせて実現しています。
電子署名では対象となるデータに署名した段階から内容に改ざんがないことを証明する必要があります。そこで、元には誰も戻せないハッシュ値を用いて改ざんの有無を事前に検知できるようにしているのです。
具体的には、電子署名後に契約書のデータに改ざんがあると、ハッシュ値が署名時点のハッシュ値と合致せず、電子署名自体が無効になります。電子署名に関する詳しい内容は次のページを参考にしてみてください。
電子メールは、インターネット上のあらゆる経路を伝達していくように設計されており、指定できません。そのため、盗聴や改ざん、なりすましといったさまざまな脅威にさらされます。
しかし、送信側であらかじめメール本文のハッシュ値を作成し、メールとハッシュ値をそれぞれ送信することで対策されるケースも増えてきました。添付した電子署名と受信した電子メールの本文から生成されたハッシュ値を照合すれば、メール本文に書き換えがあったかを判断できるのです。
公開鍵暗号技術が採用されるブロックチェーンには、ハッシュ化も利用されています。前述の通り、ブロックチェーン上の取引記録を「ブロック」と呼ばれる塊に格納します。
各ブロックには取引記録だけでなく、1つ前に生成されたブロックの内容を示す「ハッシュ値」も格納し、時系列に沿ってつなげられるのです。
そのため、ブロック内の情報を改ざんするには、後続するすべてのブロックのハッシュ値を変更する必要があり、事実上は不可能といえます。
銀行のような中央集権的な監視システムを持たないビットコインの仕組みでは、ハッシュ化が重要な役割を果たしています。
第三者からデータの内容をわからない形に変換し、その後に変換したデータを元に戻す技術を意味する「暗号化技術」は、ブロックチェーンを始めとするさまざまな場面で利用されています。また、暗号化技術は大きく3つの方式で成り立っており、目的や用途によって使い分けられています。
ただし、暗号化技術に似た意味を持つハッシュ化とは「不可逆性の有無」によって全く異なるものであることを認識しておかなければなりすません。今回ご紹介した暗号化技術やハッシュ化の活用シーンをもとに、複合的にセキュリティ対策を講じるための方法としていずれも検討してみてください。