公開鍵・秘密鍵とは?暗号化方式の仕組みについて解説!

公開鍵・秘密鍵という言葉は聞いたことあるが、よく意味がわかっていないという方いらしゃっるのではないでしょうか。

私自身も公開鍵・秘密鍵と聞いてはじめはよく意味がわかっていませんでした。

公開鍵と秘密鍵は、セキュリティを強化する際に使用するものになります。

本記事では、公開鍵・秘密鍵・暗号化方式について説明していきます。

ITのセキュリティの勉強をしている方や公開鍵・秘密鍵・暗号化方式について詳しく知りたい方はぜひ、参考にしてみてください。

この記事でわかること
・暗号化とは
・公開鍵と秘密鍵
・公開鍵暗号化方式
・共通鍵暗号化方式
・公開鍵暗号化方式と共通鍵暗号化方式のメリット・デメリット


暗号化とは?

公開鍵・秘密鍵について説明する前に暗号化について説明します。

暗号化とは、元となるデータを違うデータに変換し、解読できない状態にすることです。

暗号化されたデータは、特定の鍵を使ってのみ元の形式に戻すことができます。
暗号化のデータを元のデータに戻すことを復号と言います。

暗号化により、データの機密性、完整性、および認証性が確保されます。

暗号化の主な方法

公開鍵暗号化方式
②共通鍵暗号化方式

公開鍵と秘密鍵

まずはじめに、公開鍵と秘密鍵とは、何か説明していきます。

インフラエンジニアの業務の中でもよく耳にする言葉になりますので、覚えておくと業務の役に立ちます。

公開鍵

公開鍵とは、公開鍵暗号化方式で使われる通信を暗号化するときに使うキーになります。

公開鍵暗号方式では、2種類のキーを使用しますが、そのうちの1つのキーで誰でも利用でき、広く公開されているキーが公開鍵になります。

公開鍵は、秘密鍵から作られ、その作られた秘密鍵に対応しており、通信の安全性を高めています。

秘密鍵

秘密鍵とは、公開鍵に対応して作られたキーで暗号化された通信を復号する際に使用するキーです。

秘密鍵は、公開鍵とは違い特定の人のみが持つ鍵のため、公開鍵で暗号化された通信は、その人以外に読み取られる心配はありません。

公開鍵暗号化方式

公開鍵暗号化方式の特徴としては、「暗号化」と「復号化」の鍵が異なります

また、鍵の作成は、データの送信者(Aさん)ではなく、受信者(Bさん)が鍵を作成するという特徴があります。

先ほど説明しましたが、暗号化する鍵のことを公開鍵、復号化する鍵のことを秘密鍵と呼びます。

公開鍵暗号化方式は、共通鍵暗号化方式に比べて鍵を2つ使っているため安全性は高いですが、処理速度は遅くなります。

共通鍵暗号化方式

共通鍵暗号化方式は、暗号化するための鍵と復号化するための鍵を同じ鍵を使う特徴がある暗号化方式になります。

公開鍵暗号化方式に比べて鍵が1つという特徴があるため処理速度が速いというメリットがあります。

同一の鍵を送信側と受信側でそれぞれ持っているというイメージです。

公開鍵暗号方式と共通鍵暗号方式のメリット・デメリット

公開鍵暗号化方式と共通鍵暗号化方式の特徴について説明しました。

ここでは、具体的に公開鍵暗号化方式と共通鍵暗号化方式を使うメリット・デメリットについて説明していきます。

・公開鍵暗号化方式

メリット①公開鍵と秘密鍵がだけのやりとりのため、大人数に対しても対応できる
②鍵が共通でないため、不正に鍵を盗まれた場合でもリスクは小さい
デメリット①共通鍵暗号化方式に比べて処理に時間がかかる

・共通鍵暗号化方式

メリット①同じ鍵を使用するため、処理速度が速い
デメリット①やりとりする相手の人数分の鍵の管理が必要※1
②共通鍵が盗まれると簡単にデータが見られてしまう恐れがある

※1
例:Aさんが5人の人と鍵のやりとりをする場合
①(Aさん:Bさん)②(Aさん:Cさん)③(Aさん:Dさん)④(Aさん:Eさん)⑤(Aさん:Fさん)
Aさんが5人の人鍵のやりとりをする際には、Aさん1人で5つの鍵を持たなければいけない。

まとめ
・公開鍵暗号化方式は複数の方とやりとりする際に使用します。
・共通鍵暗号化方式は1人の方とやりとりする際に使用します。

暗号化の必要性

公開鍵・秘密鍵・暗号化について説明してきましたが、そもそも、暗号化がなせ必要になるのかわからないという方いらっしゃると思います。

ここでは、なぜ暗号化を使う必要があるのか説明していきます。

セキュリティ対策ができる

最近では、IT業界の中でクラウド化が進んでいて会社内だけでなく外出先や家から業務を行うことが増えました。

ITの発展でいい点もたくさんありますが、その一方で外出先で情報の入っている端末などを紛失した際に暗号化されていないと中のデータを読み取られてしまう可能性があるというマイナスな点もあります。

仮に中のデータを読み取られてしまった場合、会社の賠償責任がすごいことになってしまいます。

そのため、データを暗号化して万が一があった場合にもデータを読み取られないように暗号化しています。

不正アクセス攻撃の対策ができる

暗号化することで外部からデータを盗み取ろうとしても盗み取れない状態を作ることができます。

仮に第3者がデータを盗み取ろうとデータの中身を見ても、意味のわからない情報に変換し、データの中身がわからないようにします。

これにより、外部からの不正アクセスに対して解読されなかったり改ざんされるリスクを抑えることができます。

暗号化のデメリット

暗号化を使用することで多くの良い点もありますが、デメリットもありますのでしっかり理解した上で暗号化を使用しましょう。

暗号化のデメリットを2点紹介します。

暗号化作業に時間がかかることもある

暗号化する際に暗号化までに時間がかかることがあります。

特にハードディスクを暗号化する場合には、容量によっては暗号化するのに1時間~20時間ほどの時間を要することもあります。

データが復元できないこともある

暗号化に使用した鍵を削除・紛失してしまった場合には、データの復元ができなくなることもあります。

そのため、暗号化で使用している鍵の管理には十分注意しましょう。

まとめ

いかがでしたでしょうか。

本記事では、公開鍵・秘密鍵・暗号化方式についてわかりやすく解説してきました。

インフラエンジニアの業務を行う中で必ず耳にする用語になるので、覚えておくといいと思います。

ITのセキュリティの知識の勉強をしたい方や、公開鍵・秘密鍵・暗号化方式について詳しく知りたいという方はぜひ、参考にしてみてください。

【初心者エンジニア必見!エンジニアが持っておきたい持ち物・ガジェット一覧】

エンジニアにおすすめの持ち物とガジェットを一覧でまとめています。

利用することで作業効率を上げることのできる物を厳選して紹介しているため、エンジニアの方やリモート勤務の方は特に参考にしてみてください。




ABOUT US
はなちゃん
25歳インフラエンジニア5年目のはなちゃんです。 未経験からインフラエンジニアになった経験を生かしてインフラエンジニアの基礎的部分、linux、awsを中心にブログを書いています。 転職サイトを利用した転職経験もあります。 ■保有資格:LPIC lenel3・ITパスポート・AWS SAA ■業務経験:インフラ業務の設計~運用まで