IT PR

【何度聞いてもわからない】デジタル証明書vsデジタル署名の違い|IT四コマ

記事内に商品プロモーションを含む場合があります

デジタル証明書とデジタル署名の違い、言えますか?

「デジタル証明書」と「デジタル署名」って、どっちが何の役割なのでしょうか。

IPAの基本情報技術者試験や情報セキュリティマネジメント試験でも、よく出題されます。ただ、「説明してよ」って言われたら「うっ」となりますよね。

そこで今回は、四コマ漫画でこの2つの違いをイメージ解説していきます。

「物語だと頭に入るんだけど、ITの仕組みは何度聞いても頭に入らないんだよなぁ」
という方は、ぜひお読みください。

デジタル証明書とは

デジタル証明書を例えるなら、「電子的な身分証明書」です。

身分証明書には、いくつかの要素が必要です。

  • 氏名や住所
  • 信頼された発行元
  • 有効期限 など

ただの紙切れに自分の名前を書いてTSUTAYAに持って行っても、会員カードは更新できませんよね。店員さんに不審がられるだけです。(例えが古くてすみません)

電子データにおける身分証明書でも、これらの要素が必要です。

この「デジタル証明書」を構成する要素としては

  • 証明書の持ち主の情報
  • シリアル番号
  • デジタル署名
  • 公開鍵情報
  • 認証局(CA)の名前
  • 有効期限

などがあります。

デジタル証明書の役割としては「インターネット上での本人確認」や「データの改ざん防止」などがあります。

デジタル証明書の用途としては、ウェブサイト(HTTPS)のSSL/TLS証明書があります。また、メールの暗号化や署名、ソフトウェアの正当性確認などにも使われます。

デジタル署名とは

デジタル署名を例えるなら、「電子的なサイン」(又はハンコ)のようなものです。

またまた例えが古くてすみません。
小学生の頃にポケットビスケッツが大好きだったので、「署名」と聞くとついつい
ポケビの100万人署名活動を思い出してしまいます。

「懐かしいね〜」と思った方はきっと、30代以上でしょう。

さて、先ほど説明した「デジタル証明書」を作るために、「デジタル署名」も必要です。

デジタル署名の作り方をざっくり言うと

  • 文書データにハッシュ関数を使い、要約(ダイジェスト)を作る
  • 要約値を、送信者の秘密鍵で暗号化する

デジタル署名ができたら、文書などのデータとデジタル署名を一緒に送信します。
受信者側は、デジタル署名を検証します。

  • デジタル署名を、送信者の公開鍵で複合する
  • 複合できれば、「その秘密鍵の持ち主が署名したデジタル署名である」という証明になる
  • 自分でも、受け取った文書データにハッシュ関数をかける
  • 2つの要約値を比較する
  • 両者が一致すれば、データは改ざんされていない

「公開鍵と秘密鍵がごっちゃになるよ〜」と思ったそこのあなた。
以下の記事も参考にしてください。

ハッシュ関数とは

ハッシュタグでもなく、ハッシュポテトでもなく、「ハッシュ関数」とは何でしょうか。

ハッシュ関数を例えるなら、「元データの指紋を作るための関数」です。
またハッシュ関数を使ってできたハッシュ値(ダイジェスト)は、「元データの指紋そのもの」です。

長い文章データを、要約・変換して、任意の長さにしたデータのことです。
ハッシュ関数の種類によって、長さが決まっています。

「ハッシュ」関連の用語が増えてきて混乱する場合は、ルービックキューブでイメージすると、わかりやすくなります。

  • ルービックキューブを動かす手順を「ハッシュ関数」
  • 手順に沿ってキューブを実際に動かすことを「ハッシュ化」
  • 完成したキューブの状態(色の並び)の1面を「ハッシュ値(ダイジェスト)」

ちなみに、英語でハッシュとは「細かくする・切り刻む」といった意味があるそうです。

ハッシュ関数でよく使われるのは「SHA-256」で、セキュリティも高いです。

「しゃ(け)にコロッケ、ハッシュポテト」で覚えましょう。

まとめ

名称 例えると 特徴
デジタル証明書 電子的な身分証明書 ・公開鍵情報、デジタル署名、認証局などの情報がある
・本人確認や改ざん防止などで使われる
デジタル署名 電子的なサインやハンコ ・デジタル文書をハッシュ関数で要約
・送信者の秘密鍵で暗号化
ハッシュ関数 電子データの指紋を作る関数 ・文書データをの要約値を作る
・代表的なものは「SHA-256」

 

本記事は、ざっくりイメージで理解するために書いた記事です。
もっと詳しく知りたい場合は、他の記事や書籍も参考にしてください。