ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. 企業情報
  3. 研究開発(R&D)
  4. 暗号技術
  5. 共通鍵暗号の研究開発
ここから本文です。

共通鍵暗号の研究開発

NECの暗号技術

概要

当研究グループでは、差分攻撃・線形攻撃といった暗号解析手法に対する暗号の安全性評価・解析を行っています。このようにして蓄積された安全性評価技術をベースとしてCRYPTREC(注1)推奨候補暗号であるCIPHERUNICORNを開発すると共に、ICカードやセンサなどの組み込み機器などに適した、小型・軽量を特長とする軽量暗号 Twineを開発しました。また、ブロック暗号をモジュールとして暗号化・認証などの機能を実現する暗号利用モードの開発や、その安全性解析も行っております。ここでの成果(共同開発含む)として、拡張ブロック暗号を用いた効率的なメッセージ認証コードZMACおよび認証暗号ZAE、軽量で高速な認証暗号OTRの開発などがあります。(注1:電子政府のセキュリティを確保するための暗号の安全性評価プロジェクト)

暗号解析

共通鍵暗号は秘密鍵を全数探索すれば必ず正しい鍵を見つけることができますが、全数探索するために膨大な時間を必要とすることが安全性の根拠となっています。しかしながら、暗号アルゴリズムの構造的な欠陥を利用することで計算時間を短縮するショートカット法と呼ばれる解析手法が存在します。安全な暗号アルゴリズムを設計するためには、ショートカット法に対して耐性を有していなければなりません。そのためにも様々な暗号について解析を行うことにより解析技術を蓄積し、安全性評価手法、設計技術へとフィードバックさせていきます。

暗号設計・暗号利用モード

ブロック暗号 CIPHERUNICORNファミリ

CIPHERUNICORNはNECが開発した共通鍵ブロック暗号ファミリです。128ビットブロックのCIPHERUNICORN-A、64ビットブロックのCIPHERUNICORN-Eなどがあります。CIPHERUNICORNは基本となる処理であるラウンド関数において、撹拌の偏りが現れないように設計されております。撹拌の偏りは、入力と出力の関係を統計的に調べることで調査しました。総務省及び経済産業省が公表している「電子政府における調達のための参照すべき暗号のリスト(推奨候補暗号リスト)」にも掲載されている、非常に信頼性の高い暗号です。

超軽量ブロック暗号 Twine

携帯電話やICカードの普及や、マイコンなどの組み込み機器・家電などの高度情報端末化が発展するにつれて、ごく小さな回路やメモリ量で動作する軽量な暗号の重要性が高まってきています。当研究グループでは一般化Feistel構造という方式に着目し、この構造をベースとした新たな汎用的ブロック暗号構成方法を考案しています。一般化Feistel構造はハードソフトを問わず小規模実装を可能とする点で特に注目を集めていますが、我々の提案方式は、一般化Feistel構造の利点を残したまま、安全性のために必要な処理量を従来より大幅に削減することが可能です。この新たな構造により、軽量性と安全性を兼ね備えた暗号が実現可能になると考えられます。
上記の提案をベースに、超軽量ブロック暗号Twineを開発し、暗号技術の国際学会SAC 2012において発表致しました。(プレスリリース)ハードウェア実装の回路規模が約1.5KGateと従来の軽量ブロック暗号と同等である上に、ローエンドのマイコンや汎用プロセッサ上でも少ないメモリで高速に動作する点が特長です。この性質は、車載などの組み込み機器や、RFID、センサーネットなどのセキュリティを確保する上で有用と考えられます。Twineに関する技術情報はこちらをご覧ください。

超軽量ブロック暗号Twineの構造

暗号利用モード|認証暗号など

共通鍵ブロック暗号を用いて、メッセージの秘匿やメッセージの改ざん検知など、具体的な暗号機能を実現する際には、暗号利用モードと呼ばれる処理が必要となります。メッセージの秘匿は暗号化によって、改ざん検知はメッセージ認証コード(MAC)によってそれぞれ実現されます。この2つの暗号機能を同時に実現できる暗号技術は「認証暗号」と呼ばれ、アメリカ国立標準技術研究所(NIST)支援のもと国際認証暗号コンペティションが行われるなど、近年注目が集まっています。当研究グループでは、機能や安全性の面で既存の方式を凌ぐ利用モードの研究を進めております。最近の研究成果としては、拡張ブロック暗号を用いた効率的なメッセージ認証コードZMACと、ZMACを部品とした認証暗号ZAEの開発(暗号の国際学会CRYPTO 2017で発表)、および省リソース・省電力・高速な認証暗号OTRの開発(日本語英語)(プレスリリース)があります。

実装攻撃

実装攻撃は、暗号モジュールから漏洩するサイドチャネル情報を利用して暗号鍵を推定する攻撃法です。サイドチャネル情報としては、暗号化の処理時間、暗号動作時の消費電力、そして暗号モジュールから漏洩する電磁波などがあります。我々は、2002年にパーソナルコンピュータ上にソフトウェア実装された暗号モジュールがメインメモリからデータを読み込む場合と、キャッシュメモリから読み込む場合で読み込み時間に差が生じることを利用して、鍵を推定する「キャッシュ攻撃」を考案しました。
以後、キャッシュ攻撃はソフトウェア実装に対する代表的な攻撃手法として盛んに研究されております。
近年では、ハードウェア実装された暗号モジュールを対象とした研究に注力しており、SASEBO(注)や非接触ICカードなどに対する電力、電磁波解析を実施しています。
 (注)SASEBOは、情報セキュリティ研究センターと東北大学によって開発されたサイドチャネル攻撃用標準評価ボードです。

実装攻撃の概念図

ページの先頭へ戻る