2019.04.05

第三者から情報を守る!公開鍵暗号方式の仕組みや活用方法を解説!

公開鍵暗号方式はあまり聞きなれない言葉かもしれませんが、実は日頃から多くの人がかかわっている身近なものなのです。電子署名や暗号通信などで使われるものが公開鍵暗号方式です。これらはインターネット上で安全に情報のやり取りをするためによく活用されています。第三者から情報を守るのに有効な公開鍵暗号方式、その仕組みや活用方法についてわかりやすく解説します。

リンクをクリップボードにコピーしました

1.インターネット上のセキュリティリスクと対策

誰もが簡単に活用できるインターネット、気軽に利用できるようになったことと同時にトラブルやコンピューターウイルスの出現などの課題も増えました。日々膨大な量の情報が行き来するインターネット上では、さまざまなセキュリティリスクが懸念されています。主なリスクと対策について紹介します。

1-1.不正ログイン

不正ログインとは、個人が所有しているIDやパスワードを第三者に悪用目的で取得され、勝手にオンラインシステムやインターネットサービスにログインされることです。アカウントの乗っ取りと表現されることが多いですが、不正ログインによる被害報告は警察庁の調査によると、認知されている件数としては2014年をピークに減少傾向にあるようです。しかし、検挙した件数は年々増加傾向にあり、認知はされていない不正ログイン自体は増えてきているとも言えます。

IDやパスワードの管理を徹底すること以外にも、システムやサービスの脆弱性を狙った攻撃にも注意が必要です。ブラウザとサーバー側がやり取りする通信をSSL認証で暗号化したり、ログインを2段階認証に切り替えたりするなどの対策が不可欠です。

1-2.データの改ざん

データの改ざんとは、インターネット上で送受信や管理されている情報を、第三者が勝手に書き換えることです。電子署名での対策がデータ改ざんの防止にも有効です。電子署名とは電子化した文書に対する署名のことで、なりすましやデータの改ざんを防止できるほか、作成者の本人確認が確実に行われるので受け取る側としても安心です。電子署名により送信時に情報を暗号化したり、データが正しいものであることを証明したりできます。

1-3.情報の不正取得

情報の不正取得とはインターネット上で送受信されている機密性の高いデータを、第三者が不正に閲覧することです。第三者が見ても解読できないようにデータを暗号化して、情報の漏洩を防止する対策が有効です。暗号化は暗号システムを用いて、内容を暗号鍵というデータに切り替えます。暗号化した際には、もともとのデータとは別物のデータになります。これを元のデータに戻す復号を行うことで、暗号化されていたデータが再度変換されます。暗号化を介すればデータが第三者に閲覧されるリスクが減り、安全に情報をやり取りすることが可能です。

2.安全に情報を送受信できる公開鍵暗号方式とは?

インターネット上で安全に情報の送受信を行うために必要な基盤として、公開鍵暗号方式があります。実はこの方式を日頃なにげなく多くの人がさまざまな場面で利用しています。公開鍵暗号方式の仕組みや暗号化の方法を解説します。

2-1.公開鍵暗号方式の仕組み

公開鍵暗号方式とは、電子文書を送受信する双方の人がそれぞれの暗号鍵を使うことで情報のやり取りが成り立つというものです。公開鍵と秘密鍵がひとつの組み合わせとなることで暗号化された文書が守られ、不正なデータ取得などを回避できます。送信する側は公開鍵で文書を暗号化します。この公開鍵は誰でも入手することができます。一方、受信する側が使うのは秘密鍵と呼ばれるもので、本人のみが知っている暗号鍵です。秘密鍵で復号することで情報の安全な送受信が実現します。公開鍵暗号方式の仕組みを使えば、秘密鍵が他者に知られない限り、情報が漏洩することはありません。

2-2.公開鍵暗号方式による暗号化の方法

公開鍵暗号方式による暗号化の方法について、送信側をAさん、受信側をBさんとして流れに沿って解説すると、次のような方法になります。まず、Bさんは自分が情報の受信をすることを目的に秘密鍵と公開鍵を生成します。この公開鍵は要件によって変わることはなく、Bさんが受け手になる際の共通の暗号鍵です。次にBさんは公開鍵をネット上に公開します。秘密鍵はそのままBさんが保管しておきます。Bさんに文書を送りたいAさんは、Bさんの公開鍵を取得します。そしてAさんは文書を用意し、公開鍵で暗号化します。暗号化したものを情報としてBさんへ送信します。Bさんは秘密鍵を使い復号し、情報を受け取ります。

3.公開鍵暗号方式のメリットと問題点

公開鍵暗号方式は、送受信したい情報をデータ改ざんや不正取得などのリスクから守り、安全にやり取りするためには欠かせません。しかし、公開鍵暗号方式には問題点もあります。メリットと問題点それぞれについて紹介します。

3-1.メリット

公開鍵暗号方式は、暗号を解くことが非常に困難で、セキュリティが高いことがメリットです。堅牢度の高い暗号を解読するのは複雑な計算が必要となり、コストと時間がかかります。とにかく簡単には破られない鍵と考えてよいでしょう。公開鍵暗号方式にはペアで鍵が使われます。この特性を活用し、通信相手が本人なのか認証することも可能です。公開鍵と秘密鍵がペアとなり情報の暗号化や復号を行うので、常に受信者側が設定した公開鍵は変わりません。

鍵を共有する共通鍵暗号方式のようにペアごとに鍵を用意する必要がなく、手間が省けるのもメリットです。また、秘密鍵は受信者のみが持つものと鍵が生成される段階から決まっているので、誰とも共有しないものです。共通鍵のように復号のために送信側と受信側の間で鍵を配送する必要がないのも、余計なセキュリティリスクの心配がありません。

3-2.問題点

公開鍵暗号方式は堅牢度の高さが評価されています。複雑な計算処理によりセキュリティが高められており、安全ではあります。しかし一方で、データの暗号化に大きな負荷がかかるという問題点もあります。送受信する情報が多くなればそれだけ負荷がかかるため、大きな情報のやり取りには向いていません。そのため、高速で暗号化や復号化が可能な共通鍵暗号方式と組み合わせて、デメリットを補いながら使用されることもあります。共通鍵暗号方式では鍵を共有することから、その鍵の受け渡し時のセキュリティリスクが心配されていました。

公開鍵暗号方式と組み合わせる有用な方法は、大きな情報を送受信したいときには暗号と復号化では共通鍵暗号方式を介し、その鍵を送る際に公開鍵暗号方式を使うというものです。これで安全な鍵の受け渡しが可能になります。

4.公開鍵暗号方式と共通鍵暗号方式の違い

インターネット上で情報を暗号化してやり取りする方法として公開鍵暗号方式のほかに共通鍵暗号方式があります。先にも少し触れてはきましたが、共通鍵暗号方式とは何か、その特徴をわかりやすく紹介します。また、公開鍵暗号方式との違いも解説します。

4-1.共通鍵暗号方式とは

共通鍵暗号方式とは、名称の通り共通のひとつの暗号鍵を使い、情報の送受信をする方法のことです。送信者は共通鍵で情報を暗号化し送信したあと、今度は受信者へ暗号鍵を送る必要があります。受信者は鍵を受け取ってから復号することが可能です。複数のユーザーで同じ共通鍵を使うと、情報が復号化されてしまう可能性があるため、ユーザーごとに別々の鍵を生成する必要があります。共通鍵暗号方式は処理が速いことからファイル暗号などに適用されることが多いです。

共通鍵暗号方式でのネックは、共通の暗号鍵のセキュリティリスクです。送信者は受信者が情報を復号するために事前に鍵を送らなければならないものの、鍵の受け渡し時のセキュリティリスクへの懸念があります。

4-2.公開鍵と共通鍵の違い

公開鍵と共通鍵の違いは、暗号化と復号化の作業に使う鍵はペアで使うものなのか、それともひとつなのかという点です。公開鍵はペアとなる秘密鍵がないと復号化することができません。共通鍵は暗号化に使用した鍵で復号化ができます。公開鍵はユーザー同士で同じ鍵を使用しますが、秘密鍵がなければ情報が漏洩することはありません。一方で、共通鍵はユーザー同士で鍵を共有すると、情報漏洩につながってしまうこともあります。

公開鍵で暗号化した情報を復号するには処理に時間がかかってしまい、共通鍵と比べた際のデメリットと言えます。共通鍵の場合は高速での復号ができます。

5.公開鍵暗号方式で使われている暗号化の種類

情報を暗号化する方法には、さまざまな種類があります。そのなかでも、公開鍵暗号方式と共通鍵暗号方式で使われている暗号化の主な方法を順に紹介します。

5-1.DH法

DH法とは、インターネット上で安全に鍵交換を行うやりかたのひとつで、鍵から生成した乱数を送る方法です。共通鍵を暗号化して送信する方法として用いられています。DH法は理論の発展やコンピューターの計算能力の向上により、暗号が解読されてしまう可能性が出てきました。そのため、より複雑な暗号化方法である「ECDH」が使われることが多くなっています。

5-2.RSA暗号

公開鍵暗号方式では、RSA暗号を用いて暗号化する方法があります。公開鍵暗号として代表的で、世界で初めて実用化されたことで知られています。オイラー定理の整数論と2つの素数を使って暗号化し、素因数分解により復号化する仕組みです。暗号を復号化するためには複雑な計算が必要になります。公開鍵暗号方式のなかでRSA暗号が特質なのは、秘密鍵の使い方を逆転させることが可能である点です。本来であれば、情報の暗号化に公開鍵を使い、復号時に秘密鍵を利用していますが、RSA暗号は秘密鍵での暗号化も可能です。

5-3.DSA

DSAとは、公開鍵暗号方式を応用させたデジタル署名アルゴリズムのことです。1991年にアメリカ国防総省の諜報機関であるアメリカ国家安全保障局によって開発されました。1994年にはアメリカ政府のデジタル署名の標準方式に定められました。署名鍵を生成するためにハッシュ関数を採用しています。暗号は難解で、秘密鍵なしでの解読は困難といわれています。

5-4.楕円曲線暗号

楕円曲線暗号とは、楕円曲線上の離散対数問題を安全性の証としており、それを根拠に完全に情報をやり取りする仕組みです。2人の暗号学者、ビクター・ミラーとニール・コブリッツが別々に開発したものです。特定のアルゴリズムではなく、離散対数問題に楕円曲線を適用させることで、セキュリティを保ちつつ暗号鍵を短くするために活用されています。

公開鍵暗号方式ではRSA暗号がメジャーですが、楕円曲線暗号は暗号鍵をより短くしても同じくらい暗号としての強度を保つことが可能です。また、暗号化や復号化に必要な計算も少ないことから、ICカードなどで早い時期から取り入れられてきました。これまでRSA暗号が担ってきたものについても、徐々に楕円曲線暗号へ切り替えられています。

6.情報を安全に送受信!公開鍵暗号方式の活用方法

公開鍵暗号方式は、主に電子署名や暗号通信に活用されています。電子署名と暗号通信でどのように使われているのか具体的に紹介します。

6-1.電子署名

公開鍵暗号方式では、暗号化された情報を解読するには必ずペアとなる暗号鍵が必要となります。常に公開鍵と秘密鍵がペアとしてはたらくため、この仕組みを応用して、たとえば情報を送信する際に秘密鍵で暗号化し、受信者が公開鍵で復号できれば、送信者が本人である安全な情報と証明できます。秘密鍵はひとつ、且つ本人しか所有できないものであり、ペアとなるのはその公開鍵だからです。このように、本人を確認するために公開鍵暗号方式を使うことを電子署名といいます。

6-2.暗号通信

個人情報やカード情報を送信する際に、暗号通信の手段として、共通鍵暗号と公開鍵暗号を組み合わせたSSL認証が使われます。SSLでは共通鍵を公開鍵で暗号化し、安全に鍵の受け渡しを行うようにします。共通鍵暗号方式では、リスクのない鍵の受け渡しがネックでしたが、公開鍵と組み合わせることでその課題をクリアできます。たとえば、ECサイトとのやり取りには安全の確保が必須です。まず、ECサイトへ情報を送信する際にサイト側から公開鍵が送られ、共通鍵で情報を暗号化します。暗号化した情報をサイトへ送り、サイト側は秘密鍵で復号化することで共通鍵を受け取れるという仕組みです。

暗号化・復号化が速いという共通鍵のメリットと、公開鍵暗号方式の安全性の高いやり取りができる特性を活かせるので情報がしっかりと守られます。

7.公開鍵暗号方式は電子署名や暗号通信に活用されている!

公開鍵暗号方式はビジネスの場だけではなく、実は私たちの暮らしのなかのさまざまなところでも活用されています。電子署名や暗号通信に使われているものを、きっと目にしたことがあるでしょう。高度な計算でなければ解読できない公開鍵暗号方式による暗号化を導入すれば、安全に情報の送受信ができます。つい気軽に活用しているインターネットですが、利用上のセキュリティリスクに危機感をもち、適切な対策をとることが情報社会に生きるうえでとても重要です。