共通鍵と公開鍵と秘密鍵の違いとは、かんたんに言うと「鍵の役割」の違いです。
共通鍵は、同じ鍵で閉めて、同じ鍵で開ける方法です。公開鍵は、ほかの人に見せてもよい鍵です。秘密鍵は、自分だけが持つ大切な鍵です。
この3つは、インターネットで情報を安全にやり取りするために使われます。この記事では、暗号化の仕組みを初心者向けにわかりやすく解説します。
ほかのIT用語も知りたい方は、初心者向けのIT用語辞典もあわせてご覧ください。
共通鍵と公開鍵と秘密鍵の違いとは?かんたんに言うと鍵の役割が違う
共通鍵と公開鍵と秘密鍵の違いとは、情報を守る時に使う鍵の役割の違いです。
共通鍵は、送る人と受け取る人が同じ鍵を使います。公開鍵と秘密鍵は、2つで1組の鍵として使います。
身近な例で言うと、共通鍵は「同じ合鍵を2人で持つ」ようなものです。
公開鍵は「誰でも手紙を入れられる投函口」のようなものです。秘密鍵は「本人だけが中身を取り出せる鍵」のようなものです。
この例をITに戻すと、共通鍵は同じ鍵を相手と共有して情報を守る方法です。共有とは、同じものを相手と持つことです。
公開鍵と秘密鍵は、2つの鍵を組み合わせて情報を守る方法です。
まず暗号化とは?中身を見られにくくする仕組み
暗号化とは、情報の中身をそのまま読めない形に変えることです。
たとえば、「こんにちは」という文字を、決まったルールで意味の分からない文字列に変えるようなイメージです。
暗号化された情報は、正しい鍵がないと元に戻せません。
元に戻すことを、少し専門的には復号といいます。復号とは、読めない形になった情報を、元の読める形に戻すことです。
データとは、文字、画像、数字などの情報のことです。暗号化は、このデータを守るために使われます。
共通鍵とは?同じ鍵で閉めて同じ鍵で開ける方法
共通鍵とは、同じ鍵を使って暗号化と復号を行う方法です。
送る人も受け取る人も、同じ鍵を使います。
共通鍵は、対称鍵と呼ばれることもあります。
対称とは、暗号化する時と元に戻す時に、同じ鍵を使うという意味です。
たとえば、Aさんが共通鍵で情報を閉めます。Bさんは同じ共通鍵で、その情報を開けます。
身近な例で言うと、同じ合鍵を持っている2人が、同じ箱を開け閉めするようなものです。
この方法は、処理が速いという特徴があります。処理とは、コンピューターが作業することです。
ただし、同じ鍵を相手へ安全に渡す必要があります。
この「大切な鍵をどうやって安全に相手へ渡すか」という問題は、少し難しい言葉で鍵配送問題と呼ばれます。
公開鍵とは?ほかの人に見せてもよい鍵
公開鍵とは、ほかの人に見せてもよい鍵のことです。
公開鍵は、秘密鍵と2つで1組になって使われます。2つで1組のことを、ペアといいます。
この記事では、情報を暗号化して安全に送る場面を中心に説明します。
その場合は、公開鍵で閉めて、秘密鍵で開けると考えると分かりやすいです。
公開鍵で閉めた情報は、対応する秘密鍵で開けます。
身近な例で言うと、公開鍵は「誰でも使える投函口」のようなものです。
多くの人が、そこに手紙を入れられます。一方で、その手紙を取り出せるのは、秘密鍵を持っている本人だけです。
この方法は、相手に秘密の鍵を渡さなくてもよい点が便利です。
秘密鍵とは?自分だけが持つ大切な鍵
秘密鍵とは、自分だけが持つ大切な鍵です。
公開鍵とセットで使われますが、秘密鍵は人に渡してはいけません。
公開鍵は見せてもよい鍵です。秘密鍵は、自分だけで守る鍵です。
たとえば、公開鍵で閉められた情報は、対応する秘密鍵を持つ人だけが開けられます。
そのため、秘密鍵を守ることはとても大切です。
秘密鍵を人に渡してしまうと、本来自分だけが開けるはずの情報を、ほかの人に開けられる可能性があります。
共通鍵・公開鍵・秘密鍵の違いを比較表で整理
| 種類 | かんたんな意味 | 鍵の数の考え方 | 使い方 | 人に見せてもよいか |
|---|---|---|---|---|
| 共通鍵 | 同じ鍵を相手と持つ | 2人で1つの鍵を共有する | 同じ鍵で閉めて、同じ鍵で開ける | 相手以外には見せない |
| 公開鍵 | ほかの人に見せてもよい鍵 | 秘密鍵と2つで1組 | 暗号化する時などに使う | 見せてもよい |
| 秘密鍵 | 自分だけが持つ鍵 | 公開鍵と2つで1組 | 公開鍵で閉めた情報を開ける時などに使う | 見せてはいけない |
共通鍵は、1つの鍵を相手と共有する考え方です。
公開鍵と秘密鍵は、2つの鍵をペアで使う考え方です。
この違いを先に押さえると、暗号化の仕組みが理解しやすくなります。
共通鍵と公開鍵・秘密鍵の関係を身近な例で理解する
共通鍵、公開鍵、秘密鍵は、名前だけを見ると分かりにくいです。
身近な例に置き換えると、役割の違いをイメージしやすくなります。
共通鍵は「同じ合鍵を2人で持つ」イメージ
共通鍵は、同じ合鍵を2人で持つイメージです。
AさんもBさんも、同じ鍵で箱を開け閉めできます。
ITに戻すと、同じ鍵を送る人と受け取る人が持ち、その鍵で情報を暗号化したり元に戻したりします。
公開鍵は「誰でも使える投函口」イメージ
公開鍵は、誰でも使える投函口のようなものです。
多くの人が、そこに情報を入れられます。
ITに戻すと、公開鍵はほかの人に渡してもよい鍵です。情報を安全に送るために使われます。
秘密鍵は「本人だけが開けられる鍵」イメージ
秘密鍵は、本人だけが持つ鍵です。
投函された手紙を取り出せるのは、秘密鍵を持っている本人だけです。
ITに戻すと、公開鍵で暗号化された情報は、対応する秘密鍵を持つ人だけが元に戻せます。
共通鍵と公開鍵方式のメリット・デメリット
共通鍵と公開鍵方式には、それぞれよい点と注意点があります。
ここでいう公開鍵方式とは、公開鍵と秘密鍵をペアで使う方法のことです。
公開鍵だけを使う方法ではなく、秘密鍵と組み合わせて使います。
共通鍵のメリット
共通鍵のメリットは、処理が速いことです。
たくさんのデータをやり取りする時に向いています。
たとえば、Webサイトを見たり、画像などをやり取りしたりする場面では、速さが大切です。
共通鍵のデメリット
共通鍵のデメリットは、鍵の受け渡しが難しいことです。
同じ鍵を相手にも持ってもらう必要があるため、その鍵を安全に渡す必要があります。
もし鍵を渡す途中で他人に知られると、情報を読まれるおそれがあります。
この「鍵をどう安全に渡すか」という課題が、鍵配送問題です。
公開鍵方式のメリット
公開鍵方式のメリットは、秘密の鍵を相手に渡さなくてよいことです。
公開鍵は見せてもよいため、相手に渡しやすいです。
そのため、まだ同じ鍵を持っていない相手とも、やり取りを始めやすくなります。
公開鍵方式のデメリット
公開鍵方式のデメリットは、処理が重くなりやすいことです。
共通鍵に比べると、コンピューターの作業に時間がかかる場合があります。
そのため、すべての通信を公開鍵方式だけで行うのではなく、共通鍵と組み合わせて使うことが多いです。
鍵の数はどう違う?共通鍵・公開鍵・秘密鍵の考え方
共通鍵は、送る人と受け取る人が同じ鍵を使います。
そのため、AさんとBさんの間では、同じ鍵を共有します。
共通鍵は、相手ごとに同じ鍵を共有する必要があります。
そのため、やり取りする相手が増えるほど、管理する鍵も増えやすくなります。
一方で、公開鍵と秘密鍵は2つで1組です。
公開鍵はほかの人に見せてもよい鍵です。秘密鍵は自分だけが持つ鍵です。
公開鍵方式では、自分の公開鍵と秘密鍵の組み合わせを使います。
公開鍵はほかの人に渡せるため、多くの相手とやり取りする時に管理しやすいという特徴があります。
つまり、共通鍵は「同じ鍵を共有する」、公開鍵と秘密鍵は「2つの鍵を役割分担して使う」と考えると分かりやすいです。
HTTPSでは共通鍵・公開鍵・秘密鍵を組み合わせて使う
HTTPSとは、Webサイトを安全に見るための通信の仕組みです。
通信とは、スマホやパソコンが情報を送り合うことです。
ブラウザとは、Webサイトを見るためのアプリです。Microsoft Edge、Google Chrome、Safariなどがあります。
URLとは、Webページの住所のようなものです。
ブラウザの上の方には、URLが表示される場所があります。
安全な通信が使われている時は、その近くに鍵マークが表示されることがあります。
HTTPSでは、共通鍵・公開鍵・秘密鍵の考え方が組み合わされて使われます。
イメージとしては、最初に公開鍵という頑丈な金庫を使って、後で使う共通鍵を安全に渡すようなものです。
その後は、その共通鍵を使って、すばやく情報をやり取りします。
つまり、公開鍵と秘密鍵は「安全に始めるため」、共通鍵は「速くやり取りするため」に役立ちます。
共通鍵・公開鍵・秘密鍵の覚え方
共通鍵は、「同じ鍵を共に使う」と覚えると分かりやすいです。
共通という言葉の通り、相手と同じ鍵を共有します。
公開鍵は、「公開してよい鍵」と覚えると分かりやすいです。
秘密鍵は、「秘密にしておく鍵」と覚えます。
覚え方をまとめると、共通鍵は「同じ合鍵」です。
公開鍵は「誰でも使える投函口」、秘密鍵は「本人だけが開ける鍵」です。
初心者が間違えやすいポイント
共通鍵・公開鍵・秘密鍵は、名前が似ているため混乱しやすいです。
ここでは、特に間違えやすい点を整理します。
公開鍵は人に見せてもよい
公開鍵は、名前の通り公開してよい鍵です。
ただし、何でも開けられる万能の鍵ではありません。
公開鍵は、秘密鍵とセットで意味を持ちます。
秘密鍵は人に渡してはいけない
秘密鍵は、自分だけが持つ大切な鍵です。
人に渡したり、見える場所に置いたりしてはいけません。
秘密鍵を守ることで、自分だけが情報を開ける状態を保てます。
共通鍵は相手と同じ鍵を持つ
共通鍵は、同じ鍵を相手と共有します。
そのため、鍵を安全に渡すことが大切です。
共通鍵は速く使いやすい反面、鍵の受け渡しに注意が必要です。
公開鍵と秘密鍵は2つで1組
公開鍵と秘密鍵は、2つで1組です。
公開鍵だけ、または秘密鍵だけで考えると分かりにくくなります。
公開鍵で閉めたものを、対応する秘密鍵で開けると考えると理解しやすいです。
暗号化の場面では公開鍵で閉めて秘密鍵で開ける
この記事で説明している暗号化の場面では、公開鍵で情報を閉めて、秘密鍵で開けると考えると分かりやすいです。
ただし、公開鍵と秘密鍵はほかの使い方をする場面もあります。
その代表例が電子署名です。
電子署名とは、デジタル上のはんこのように「本人が作ったものか」を確かめるための仕組みです。
電子署名では、暗号化とは少し違う使い方をします。
秘密鍵を使って「これは本人が作ったものです」と示し、公開鍵を使ってそれを確かめます。
ただし、この記事の中心から外れるため、ここでは深く扱いません。
共通鍵・公開鍵・秘密鍵についてよくある質問
共通鍵と公開鍵と秘密鍵の一番大きな違いは何ですか?
一番大きな違いは、鍵の役割です。
共通鍵は、同じ鍵を送る人と受け取る人が使います。
公開鍵は、ほかの人に見せてもよい鍵です。秘密鍵は、自分だけが持つ鍵です。
公開鍵と秘密鍵は何が違いますか?
公開鍵は、ほかの人に見せてもよい鍵です。
秘密鍵は、自分だけが持つ鍵です。
公開鍵と秘密鍵はペアで使われます。ペアとは、2つで1組という意味です。
共通鍵と対称鍵は同じ意味ですか?
ほぼ同じ意味で使われます。
共通鍵は、暗号化する時と元に戻す時に同じ鍵を使います。
このような考え方を、対称鍵と呼ぶことがあります。
鍵配送問題とは何ですか?
鍵配送問題とは、共通鍵をどうやって安全に相手へ渡すかという問題です。
共通鍵は、同じ鍵を相手と共有する必要があります。
そのため、鍵を渡す途中で他人に知られないようにすることが大切です。
共通鍵と公開鍵方式はどちらが速いですか?
一般的には、共通鍵の方が速いです。
公開鍵方式は、コンピューターの作業が多くなるため、処理が重くなりやすいです。
そのため、実際の通信では、共通鍵と公開鍵方式を組み合わせることが多いです。
ITパスポートではどこを覚えればよいですか?
ITパスポートとは、ITの基本を問う国家試験です。
ITパスポートでは、細かい計算よりも違いを押さえることが大切です。
共通鍵は「同じ鍵を共有する」、公開鍵と秘密鍵は「2つで1組」と覚えるとよいです。
また、共通鍵は速い、公開鍵方式は鍵を安全に渡しやすい、という違いも押さえておきましょう。
まとめ:共通鍵と公開鍵と秘密鍵の違いとは鍵の役割の違い
共通鍵と公開鍵と秘密鍵の違いとは、鍵の役割の違いです。
共通鍵は、同じ鍵で閉めて、同じ鍵で開ける方法です。相手と同じ鍵を共有します。
公開鍵は、ほかの人に見せてもよい鍵です。秘密鍵は、自分だけが持つ大切な鍵です。
公開鍵と秘密鍵は、2つで1組として使われます。
暗号化の場面では、公開鍵で閉めて、秘密鍵で開けると考えると分かりやすいです。
共通鍵は処理が速い一方で、鍵を安全に渡す必要があります。この課題は、鍵配送問題と呼ばれます。
また、相手が増えるほど、共通鍵の管理は大変になりやすいです。
公開鍵方式は鍵を渡しやすく、多くの相手とやり取りしやすい一方で、処理が重くなりやすいです。
実際のHTTPSなどでは、最初に公開鍵と秘密鍵の仕組みで共通鍵を安全に渡し、その後は共通鍵で速くやり取りすることが多いです。
まずは、共通鍵は「同じ合鍵」、公開鍵は「誰でも使える投函口」、秘密鍵は「本人だけが開ける鍵」と覚えると分かりやすいです。