共通鍵暗号方式と公開鍵暗号方式について解説

情報セキュリティ

暗号の歴史

日本敗戦の大きな理由は通信傍受

太平洋戦争で勝負をわける海戦となった「ミッドウエー海戦」この海戦での大きな敗因の1つと言われているのが、アメリカ軍に通信を傍受されていたという点です。80年前の当時でも通信を傍受するということは頻繁に行われており、暗号通信が如何に大切であるかを認識させられた出来事でした。現代において数多くの暗号通信方法が存在しますが、今回は基本となる「共通鍵暗号方式」と「公開鍵暗号方式」について解説していこうと思います。

共通鍵暗号方式

暗号化と復号化に同じ鍵を使う

まず共通鍵暗号方式を説明するために送信者Sと受信者R、攻撃者Aを設定し、送信者Sさんがメッセージを受信者Rさんに送る場合を考えます。共通鍵暗号方式と呼ばれている通り、データの暗号と復号に共通の鍵を使います。今回、Sさんは事前にRさんに共通鍵をなんらかの方法で渡しておきます。実際に暗号通信を行う際にはSさんはまず送信したいデータを共通鍵を使って暗号化します。この暗号データを受け取ったRさんは事前に渡された共通鍵を使って、暗号文を復号します。これ共通鍵暗号方式と呼ばれる暗号通信の仕組みです。

共通鍵暗号方式の弱点は共通鍵を送り合う必要があるので、共通鍵がAさんに盗まれた場合、いとも簡単に情報が盗まれてしまう点です。

攻撃者はなんらなかの方法をつかって共通鍵を盗もうとしてきます。もちろん共通鍵を手渡しで渡せば確実に安心な通信方式なのですが、それではインターネットの強みを活かせません。とはいうものの共通鍵さえ盗まれなければ通信を傍受されることのない通信方法です。

鍵の管理が面倒

共通鍵暗号方式は通信する相手が増えるに応じて保有する共通鍵も増えます。なので通信相手が多くなればなるほど共通鍵の管理の複雑性が増してしまうというデメリットがあります。

公開鍵暗号方式

公開鍵をインターネット上に公開する

ここでも先程登場したSさん、Rさん、Aさんに再度登場してもらいます。SさんとRさんは互いに暗号通信を行う為にそれぞれ自身の「公開鍵」と呼ばれる鍵をインターネット上で公開します。インターネット上に公開しているので誰もが他人の公開鍵を保有することが可能です。

公開鍵はデータを暗号化するために用いられます。SさんがRさんに対して暗号通信を行う時、Rさんが公開した公開鍵を使って暗号化して送信します。

秘密鍵で復号する

暗号化されたデータは秘密鍵をつかって復号します。ただ復号できるデータは自身が公開した公開鍵をつかって暗号化されたデータだけです。また復号に使う秘密鍵は自身のものでなければいけません。今回の例ですと、Rさんの公開鍵で暗号化されたデータを復号できるのはRさんの秘密鍵だけであり、Rさんの公開鍵で暗号化されたデータを復号できるのはRさんのみとなります。なので秘密鍵さえ攻撃者Aに渡さなければ、通信を傍受される可能性はありません。

公開鍵と秘密鍵の正統性を担保する仕組

公開鍵と秘密鍵のペアが本当に所有者のものかを認証局(CA)が審査をして、もしその正当性が確認できた場合、所有者の公開鍵に対してディジタル署名を発行する仕組みのことをPKI(public key  infrastructure)と呼びます。ディジタル署名の中には認証局によって発行された公開鍵が含まれており、利用者はこの公開鍵を使って、所有者と思われる人物から発行された公開鍵が正しいものなのかを確認することができます。

番外:その他おすすめの記事

開発がもっと快適に、楽しくなるアイテムを紹介します。アイテム1つで開発の楽しさが全然変わるので、良いアイテムにはじゃんじゃんお金を投資すると良いですよ。

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムです。

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがります。

おすすめアイテム③

PCスタンド、magic keyboard、magic mouseを購入してから、開発効率があがり、身体的負担が減って快適に開発ができるようになりました。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。初心者には最低限読んでおいて欲しい技術本をまとめました。例えば「リーダブルコード」などは技術力の高いエンジニアなら必ず過去に読んでいる本だと思います。

時短アイテム!日々の生活の質を上げる

日常生活における無駄を省く表品をまとめました。1日無駄な作業時間が10分発生するとしたら1年間で3600時間もその無駄な作業に時間を費やすことになります。このような魔の作業を消し去ってくれる商品をまとめました。。

気軽にお声かけください

このような形でほぼ毎日、情報発信を行ってます。技術的な部分で誤っている点などもあるかもしれません。その様な部分を発見した方はTwitterのDMなどで知らせていただければ凄い嬉しいです。また自身自身のエンジニアのネットワークを広げたいと思ってます。日頃六本木や渋谷にいることが多いですので気軽にお誘いください。情報交換しましょう。

筆者
筆者

今回の記事の内容は以上で終了です。最後まで読んでくれてありがとうございました。Twitterもやってるのでフォローしてくれたら嬉しいです!

タイトルとURLをコピーしました