否認防止(Non-repudiation)は、情報通信システムにおいて送信元や受信元、あるいは取引の発生そのものを法的に、かつ技術的に証明可能な状態にすることです。電子商取引や電子契約において、悪意の有無に関わらず「そのようなデータを送信した覚えはない」あるいは「そのような指示は受けていない」と主張されると、ビジネスの前提が崩壊してしまいます。これを防ぐ代表的な技術が「公開鍵暗号」を用いた「デジタル署名(電子署名)」です。デジタル署名は、送信者本人しか持っていない「秘密鍵」で暗号化して作成されるため、署名されたデータは他の誰にも作ることができません。さらに、データがその時点で存在していたことと、それ以降に改ざんされていないことを保証する「タイムスタンプ(電子タイムスタンプ)」を組み合わせることで、「誰が」「何を」「いつ」確定したのかを第三者に対しても客観的に証明できるようになり、強力な否認防止が実現します。
試験では、否認防止を実現するための技術的な組み合わせが頻繁に問われます。具体的には、「公開鍵暗号方式によるデジタル署名」と「タイムスタンプ技術」の組み合わせが最も重要です。タイムスタンプサービス(TSA)が発行するタイムスタンプトークンにより、存在証明と非改ざん証明が行われる仕組みを理解しておきましょう。また、間違いやすい点として、「共通鍵暗号方式のみでは否認防止が難しい」という点があります。共通鍵暗号では送信者と受信者が同じ鍵を共有しているため、受信者が自らデータを作成して「送信者から送られてきた」と主張することが理論上可能であり、第三者に対して送信者が送ったものだと客観的に証明できません。この違いを明確に区別できるようにしておきましょう。
否認防止に関連する用語としては、改ざんを防ぎデータの同一性を保証する「完全性」、送信者が本人であることを確認する「真正性」、そして電子取引や電子契約の法的効力を支える「ISO/IEC 27001」などのセキュリティ規格があります。