- @ThothChildren
- 2018.9.10
- PV 198
メッセージ認証
ー 概要 ー
メッセージ認証は、共通鍵を用いてメッセージ内容が改竄されたことを検知するための技術.送るデータと共通鍵からMAC値を計算して、それとデータを相手に送る.送られた側はデータから同様にMAC値を計算し、送られてきたMAC値と比較する.共通鍵がなければMAC値は計算できず、仮にデータが改竄された場合はMAC値が一致しない
公開鍵を用いて行うものはデジタル署名.
この章を学ぶ前に必要な知識
条件
- 共通鍵を安全に共有しておく必要ある
効果
- 送信側はデータから計算するMAC値をデータと送り、受信側はデータからMAC値を計算し、送られてきたMAC値と比較
- 共通鍵を使用して認証を行う
- データの改竄を検知できる
ポイント
- デジタル署名は共通鍵ではなく公開鍵を用いる
- メッセージ認証は、改竄検知◯認証◯否認×
- デジタル署名は、改竄検知◯認証◯否認◯
解 説
メッセージ認証は、共通鍵を用いてメッセージ内容が改竄されたことを検知するための認証技術.データと一緒にデータと共通鍵から計算されるMAC値(Message Authentication Code)を送信して、受信側で同様のMAC
<手順>
事前準備
公開鍵認証や安全な方法で共通鍵を送信者と受信者で共有する.これを共有している人の間で安全にやりとりすることができる.
また、どのようにMAC値を計算するか決めておく.
送信側
1. 送るデータと共通鍵からMAC値を計算.多くの場合、それらをハッシュ関数によってハッシュ値に変換.
2. 計算されたMAC値(ハッシュ値)を送信する.
受信側
1. データから同様の手順で共通鍵を使いながらMAC値(ハッシュ値)を計算する.
2. 上記1.で得られたMAC値(ハッシュ値)と送られてきたMAC値(ハッシュ値)が一致するかを確認する.
もし、受信側で計算したMAC値が不一致の場合は、
送信されてきたMAC値またはデータに改竄の可能性がある. | メッセージ認証 | ||||||||||||||||||
上記で説明したメッセージ認証の概念図 | |||||||||||||||||||
デジタル署名に関しては、右のリンク参照.
ここでは、共通鍵ではなく公開鍵を用いる. | デジタル署名 | ||||||||||||||||||
メッセージ認証で使われる共通鍵に関しては、右のリンクを参照. | 共通鍵暗号方式とは | ||||||||||||||||||
デジタル署名で使われる公開鍵暗号方式は、右のリンクを参照. | 公開鍵暗号方式とは | ||||||||||||||||||
否認は、送信側は送った事実を否定すること.デジタル署名では送り側が確定するのでそれができない. | メッセージ認証とデジタル署名の違い |
この章を学んで新たに学べる
Comments
Reasons
知識: 公開鍵暗号方式とは
公開鍵暗号方式は、誰にも知られてはならない秘密鍵とみんなに共有する公開鍵の二つの鍵を用いて安全な通信を実現する暗号方式.共通鍵方式では安全に共通の鍵を送受信者間で共有する問題があったが、そのようなことは公開鍵暗号では起こらない.改ざんや盗聴、なりすましなど複数の問題において対策を打つことができます.有名どころではRSA暗号方式などが実現する手段として知られている.
知識: 共通鍵暗号方式とは
共通鍵暗号方式とは、通信者同士の間で誰にも知られていないような共通な鍵を使って暗号化と復号化を行う暗号方式.この鍵が他の人にばれない限り安全ですが、最初にどのように鍵を共有するかが課題です.(鍵配送問題)
知識: デジタル署名
デジタル署名は、送信されたデータの改竄検出や否認、認証を実現する手法の一つ.公開鍵暗号方式をベースとして、データとその署名を通信相手に送り、受信者は署名とデータを比較することで内容に改竄がないか等を確認できる.