(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-30
(45)【発行日】2022-10-11
(54)【発明の名称】送信装置、受信装置、送受信システム、送信方法及び受信方法
(51)【国際特許分類】
H04L 9/10 20060101AFI20221003BHJP
【FI】
H04L9/10 Z
(21)【出願番号】P 2018207412
(22)【出願日】2018-11-02
【審査請求日】2021-09-17
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成30年度、国立研究開発法人新エネルギー・産業技術総合開発機構「IoT推進のための横断技術開発プロジェクト」委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】518082091
【氏名又は名称】株式会社SCU
(74)【代理人】
【識別番号】100114306
【氏名又は名称】中辻 史郎
(74)【代理人】
【識別番号】100148655
【氏名又は名称】諏訪 淳一
(72)【発明者】
【氏名】池田 誠
(72)【発明者】
【氏名】ガッデ ヴィノーダ ヴィシュワ
【審査官】青木 重徳
(56)【参考文献】
【文献】特開2000-184201(JP,A)
【文献】特開2011-035689(JP,A)
【文献】米国特許第06154157(US,A)
【文献】三木 拓司 ほか,逐次比較型AD変換器に対するサイドチャネル攻撃とその対策,電子情報通信学会2018年総合大会講演論文集,日本,一般社団法人 電子情報通信学会,2018年03月06日,基礎・境界/NOLTA, AS-2-2,p. S-22~S-23
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置であって、
前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピング部と、
前記マッピング部によって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換部と
を備えたことを特徴とする送信装置。
【請求項2】
前記非線形関数は、微分に関する特異点を介した複数の部分非線形関数によって構成されることを特徴とする請求項1に記載の送信装置。
【請求項3】
前記複数の異なる非線形関数は、同一入力に対して少なくとも1つの非線形関数の傾きが1以上であることを特徴とする請求項1又は2に記載の送信装置。
【請求項4】
前記複数の異なる非線形関数は、それぞれ同一の値となる変数を含み、各非線形関数はそれぞれ同一の値となる変数の設定によって決定されることを特徴とする請求項1~3のいずれか一つに記載の送信装置。
【請求項5】
前記複数の異なる非線形関数は、それぞれ異なる値となる変数を含み、各非線形関数はそれぞれ異なる値となる変数の設定によって決定されることを特徴とする請求項1~3のいずれか一つに記載の送信装置。
【請求項6】
前記変数の設定は、乱数生成器によって生成される乱数によって設定されることを特徴とする請求項4又は5に記載の送信装置。
【請求項7】
前記乱数生成器は、サンプリングされる入力アナログ値の入力ごとに乱数を変えることを特徴とする請求項6に記載の送信装置。
【請求項8】
前記乱数生成器は、定期的あるいは不定期に初期値と乱数発生アルゴリズムとを変えることを特徴とする請求項7に記載の送信装置。
【請求項9】
前記マッピング部とアナログデジタル変換部とは一体化した信号処理回路で構成され、前記入力アナログ値から直接、出力デジタル値を生成することを特徴とする請求項1~8のいずれか一つに記載の送信装置。
【請求項10】
請求項1~9のいずれか一つに記載の送信装置から送信された複数の出力デジタル値の検証及び復号を行う受信装置であって、
正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証部と、
各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値
から変換された複数の出力デジタル値に対応する復号デジタル値に復号するデジタル復号部と
を備えたことを特徴とする受信装置。
【請求項11】
請求項1~9のいずれか一つに記載の送信装置と、
1以上の前記送信装置に接続され、少なくとも1以上の前記送信装置が用いる複数の異なる非線形曲線を用いて1以上の前記送信装置から送信された複数の出力デジタル値の検証及び
復号デジタル値への復号を行う請求項10に記載の受信装置と
を備えたことを特徴とする送受信システム。
【請求項12】
入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置の送信方法であって、
前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピングステップと、
前記マッピングステップよって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換ステップと
を含むことを特徴とする送信方法。
【請求項13】
請求項12に記載の送信方法によって送信された複数の出力デジタル値の検証及び復号を行う受信装置の受信方法であって、
正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証ステップと、
各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値
から変換された複数の出力デジタル値に対応する復号デジタル値に復号するデジタル復号ステップと
を含むことを特徴とする受信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くすることができる送信装置、受信装置、送受信システム、送信方法及び受信方法に関する。
【背景技術】
【0002】
コンピュータ技術の進歩とインターネット技術の進歩は、スマート家電、コネクテッドカー、ホームセキュリテイ、自動販売機、ヘルスケア、医療器具等のIoT(Internet of Things)を提供するに至っている。
【0003】
この結果、コンピュータウィルスの活動範囲も広くなり、コンピュータウィルスの社会的な影響は、計り知れない状況を形成し、サイバー戦争の範囲が広くなると共にその影響は、身近なものとなりつつある。特にIoT機器のようにインタフェースが無いか限られている場合は、インターネットを介した入出力操作の自動性が高くなることから、ソフトウェアを中心とした無線通信となるため、今まででは考えられない無限に近いセキュリテイホールに直面し、悪意の操作の可能性をより高めることとなる。
【0004】
特許文献1には、目的の動作、現象を受信し、センサ電気信号に変換するセンサユニット、センサユニットのセンサ電気信号をセンサデジタルデータに変換して外部へ認証信号と共にセンサデジタルデータを送信する送信部と、外部よりデータを認証データと共に受信する受信部とを有する信号処理ユニットを備え、 認証信号を検証することで、信号処理ユニットから出力されるデータが真正データであるかどうかを認証する認証手段(オーナーユニット)の組み合わせ構成により、インタフェースを備えなくても、真正なデータの送信を行うことができると共に、受信するデータも認証データの秘匿的な取り扱いによって、真正なデータをうけとることができ、外部から不正に侵入するコンピュータウィルスの影響を排除し、安定したIoT端末の使用を実現するオーナーチェックシステムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、IoT端末では、スニッフィングやなりすましなどの攻撃に対して脆弱であり、機器や装置、ソフトウェアなどが外部から内部構造や記録されたデータなどを解析、読取、改ざんされない状態にする耐タンパー性をもたせる必要がある。特にIoT端末などに用いられるアナログデジタル変換器では、セキュリティ実装から物理的に漏れる情報を利用したサイドチャネル攻撃に脆弱である。しかしながら、従来は、このようなアナログデジタル変換器などのモジュールに対するサイドチャネル攻撃を想定していなかった。このモジュールに対するサイドチャネル攻撃では、例えば、アナログデジタル変換器に対して温度変化付加や外部電圧付加を行うことによってアナログデジタル変換器の電源電圧を強制的に変化させて観察し、暗号鍵などを盗み取り、その後、電源電圧を変化させて偽装を行うことも可能になる。
【0007】
そして、このサイドチャネル攻撃は、アナログデジタル変換器などのモジュールに侵入しないで攻撃が可能になるため、侵入の形跡が残らず、セキュリティ対策上、脆弱になりやすいという課題がある。
【0008】
本発明は、上記従来技術の課題を解決するためになされたものであって、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くすることができる送信装置、受信装置、送受信システム、送信方法及び受信方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明は、入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置であって、前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピング部と、前記マッピング部によって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換部とを備えたことを特徴とする。
【0010】
また、本発明は、上記の発明において、前記非線形関数は、微分に関する特異点を介した複数の部分非線形関数によって構成されることを特徴とする。
【0011】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、同一入力に対して少なくとも1つの非線形関数の傾きが1以上であることを特徴とする。
【0012】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、それぞれ同一の値となる変数を含み、各非線形関数はそれぞれ同一の値となる変数の設定によって決定されることを特徴とする。
【0013】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、それぞれ異なる値となる変数を含み、各非線形関数はそれぞれ異なる値となる変数の設定によって決定されることを特徴とする。
【0014】
また、本発明は、上記の発明において、前記変数の設定は、乱数生成器によって生成される乱数によって設定されることを特徴とする。
【0015】
また、本発明は、上記の発明において、前記乱数生成器は、サンプリングされる入力アナログ値の入力ごとに乱数を変えることを特徴とする。
【0016】
また、本発明は、上記の発明において、前記乱数生成器は、定期的あるいは不定期に初期値と乱数発生アルゴリズムとを変えることを特徴とする。
【0017】
また、本発明は、上記の発明において、前記マッピング部とアナログデジタル変換部とは一体化した信号処理回路で構成され、前記入力アナログ値から直接、出力デジタル値を生成することを特徴とする。
【0018】
また、本発明は、上記の発明のいずれか一つに記載の送信装置から送信された複数の出力デジタル値の検証及び復号を行う受信装置であって、正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証部と、各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値から変換された複数の出力デジタル値に対応する復号デジタル値に復号するデジタル復号部とを備えたことを特徴とする。
【0019】
また、本発明は、上記の発明のいずれか一つに記載の送信装置と、1以上の前記送信装置に接続され、少なくとも1以上の前記送信装置が用いる複数の異なる非線形曲線を用いて1以上の前記送信装置から送信された複数の出力デジタル値の検証及び復号デジタル値への復号を行う上記の発明に記載の受信装置とを備えたことを特徴とする。
【0020】
また、本発明は、入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置の送信方法であって、前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピングステップと、前記マッピングステップよって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換ステップとを含むことを特徴とする。
【0021】
また、本発明は、上記の発明に記載の送信方法によって送信された複数の出力デジタル値の検証及び復号を行う受信装置の受信方法であって、正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証ステップと、各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値から変換された複数の出力デジタル値に対応する復号デジタル値に復号するデジタル復号ステップとを含むことを特徴とする。
【発明の効果】
【0022】
本発明によれば、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込むのでサイドチャネル攻撃に対する耐性を高くすることができる。
【図面の簡単な説明】
【0023】
【
図1】
図1は、本実施例に係る送信装置及び受信装置を含む送受信システムの概要構成を示す機能ブロック図である。
【
図2】
図2は、複数の非線形関数の一例を示す図である。
【
図3】
図3は、複数の非線形関数を用いたアナログデジタル変換の一例を示す図である。
【
図4】
図4は、出力デジタル値の対応関係を示す検証曲線の一例を示す図である。
【
図5】
図5は、暗号化・署名付与型アナログデジタル変換部に対して電源電圧変動によるサイドチャネル攻撃を受けた場合と受けない場合との非線形関数を示す図である。
【
図6】
図6は、正当な非線形関数の対に対する検証曲線と不当な非線形関数の対に対する検証曲線の一例を示す図である。
【
図7】
図7は、送信装置による送信処理手順を示すフローチャートである。
【
図8】
図8は、受信装置による受信処理手順を示すフローチャートである。
【
図9】
図9は、アナログデジタル変換部の実装の際に用いる解析式を説明する説明図である。
【
図10】
図10は、暗号化・署名付与型アナログデジタル変換部の実装構成を示す回路図である。
【
図11】
図11は、実装した比較器出力と非線形関数との関係を示す図である。
【
図12】
図12は、電源電圧攻撃がない場合、5%の電源電圧攻撃をした場合、及び10%の電源電圧攻撃をした場合の検証曲線の一例を示す図である。
【
図13】
図13は、電源電圧攻撃の電源電圧変動量に対する攻撃検出確率の検証結果を示す図である。
【
図14】
図14は、電源電圧攻撃の電源電圧変動量に対する攻撃検出失敗確率の検証結果を示す図である。
【
図15】
図15は、微分に関する特異点を持たない非線形関数の一例を示す図である。
【
図17】
図17は、複数の非線形関数に異なる乱数を用いた非線形関数の一例を示す図である。
【発明を実施するための形態】
【0024】
以下に、添付図面を参照して、本発明に係る送信装置、受信装置及び送受信システム、送信方法及び受信方法の好適な実施例を詳細に説明する。
【0025】
<送受信システムの概要構成>
まず、本実施例に係る送信装置1及び受信装置2を含む送受信システムの概要構成について説明する。
図1は、本実施例に係る送信装置1及び受信装置2を含む送受信システムの概要構成を示す機能ブロック図である。
【0026】
図1に示すように、送受信システムは、複数の送信装置1が受信装置2に接続される。
図1では、複数の送信装置1と受信装置2との間が無線接続されているが、これに限らず、有線接続であってもよい。
【0027】
送信装置1は、暗号化・署名付与型アナログデジタル変換部11及び送信部12を有する。暗号化・署名付与型アナログデジタル変換部11は、温度センサなどから入力される入力アナログ値Kを2つの出力デジタル値N1,N2に変換し、暗号化及び署名付与が施されたアナログデジタル変換処理を行う。送信部12は、出力デジタル値N1,N2を受信装置2に送信する。
【0028】
暗号化・署名付与型アナログデジタル変換部11は、マッピング部13、アナログデジタル変換部14及び乱数発生器15を有する。マッピング部13は、入力された入力アナログ値Kに対して2つの異なる非線形関数fr,grを用いて、2つの出力アナログ値Kf,Kgを生成するマッピングを行う。
【0029】
アナログデジタル変換部14は、マッピング部13によって生成された2つの出力アナログ値Kf,Kgを、それぞれ線形関数を用いて2つの出力デジタル値N1,N2に変換して送信部12に出力する。
【0030】
乱数発生器15は、2つの非線形関数fr,gr内に含まれる変数である乱数rを生成してマッピング部13に出力する。
【0031】
一方、受信装置2は、受信部21及び復号部22を有する。受信部21は、各送信装置1から送信された2つの出力デジタル値N1,N2を受信して復号部22に出力する。
【0032】
復号部22は、検証部23、デジタル復号部24及び乱数発生器25を有する。検証部23は、正当な2つの出力デジタル値N1,N2における各出力デジタル値N1,N2の間の対応関係を示す検証曲線に、入力された各出力デジタル値N1,N2が一致するか否かの判別結果をもとに、入力された各出力デジタル値N1,N2が正当であるか否かを検証する。検証部23は、入力された各出力デジタル値N1,N2が正当でない場合、各出力デジタル値N1,N2を破棄するとともに、受信部21に対して正当でない出力デジタル値N1,N2を送信した送信装置1との接続を切断する指示を行う。
【0033】
デジタル復号部24は、各出力デジタル値N1,N2が正当である場合、送信装置1側で用いた2つの非線形関数fr,grの逆関数fr
-1,gr
-1を用い、各逆関数fr
-1,gr
-1に出力デジタル値N1,N2を入力して、入力アナログ値Kに対応する復号デジタル値DKに復号して出力する。
【0034】
乱数発生器25は、送信装置1側の乱数発生器15と同じ乱数rを発生し、検証部23及びデジタル復号部24に出力する。検証部23に入力された乱数rは、送信装置1側の非線形関数fr,grを生成するのに用いられ、デジタル復号部24に入力された乱数rは、逆関数fr
-1,gr
-1に含まれる変数である乱数rとして用いられる。
【0035】
なお、乱数発生器15,25は、同じ乱数発生アルゴリズムALと初期値であるシード値SDとが指定され、同じ乱数rを出力する。この乱数発生アルゴリズムAL及び/又はシード値SDは、定期的あるいは不定期に変更することが好ましい。
【0036】
<非線形関数f
r,g
r>
まず、マッピング部13が用いる2つの非線形関数f
r,g
rは、式(1)を満足するものである。
【数1】
すなわち、f
r(x),g
r(x)は、xが0~1の間では、f
rの微分値の絶対値とg
rの微分値の絶対値とのいずれか大きい値が1以上であることを前提としている。
【0037】
具体的には、式(2),(3)によって定義される非線形関数f
rと、式(4),(5)によって定義される非線形関数g
rとが用いられる。
【数2】
ここで、非線形関数f
r,g
r内のrは、乱数rである。
【0038】
非線形関数f
r,g
rは、
図2に示すように、乱数rの値によって変化する。非線形関数f
rは、
図2では、実線で示しており、微分に関する特異点Psを介して、式(2)で示した部分非線形関数と、式(3)で示した部分非線形関数とで構成される。また、非線形関数g
rは、
図2では、破線で示しており、微分に関する特異点Psを介して、式(4)で示した部分非線形関数と、式(5)で示した部分非線形関数とで構成される。すなわち、
図2に示した非線形関数f
r,g
rは、乱数rの増大とともに、微分に関する特異点Psが+x方向にシフトし、各非線形関数f
r,g
r上の傾きも変化する。
【0039】
<暗号化・署名付与型アナログデジタル変換>
暗号化・署名付与型アナログデジタル変換部11は、入力アナログ値Kを、2つの非線形関数fr,grを用いて、それぞれ非線形関数fr,grによってマッピングされたKf,Kgに対応する出力デジタル値N1,N2を生成する。
【0040】
図3は、非線形関数f
r,g
rを用いたアナログデジタル変換の一例を示す図である。
図3では、入力アナログ値Kのサンプリング時点をi、i+1、i+2の順とした場合、入力アナログ値Kが、サンプリング時点i、i+1では、入力アナログ値Kが同じ値「a」であり、サンプリング時点i+2では、入力アナログ値Kの値が「b」である場合を示している。また、
図3では、乱数rが、サンプリング時点iにおいて乱数r1が設定され、サンプリング時点i+1、i+2において乱数r2が設定されている。
図3では、乱数r1が設定された場合の非線形関数をf
r1,g
r1とし、乱数r2が設定された場合の非線形関数をf
r2,g
r2としている。そこで、上記の順次入力される入力アナログ値Kを、入力アナログ値K
r1
i、K
r2
i+1、K
r2
i+2として表す。
【0041】
図3に示すように、サンプリング時点iの入力アナログ値K
r1
iは、非線形関数f
r1によってマッピングされ、デジタル化された出力デジタル値N
1として出力デジタル値N
1
iが生成されるとともに、非線形関数g
r1によってマッピングされ、デジタル化された出力デジタル値N
2として出力デジタル値N
2
iが生成され、出力デジタル値N
1
i,N
2
iが対となって出力される。
【0042】
また、サンプリング時点i+1の入力アナログ値Kr2
i+1は、非線形関数fr2によってマッピングされ、デジタル化された出力デジタル値N1として出力デジタル値N1
i+1が生成されるとともに、非線形関数gr2によってマッピングされ、デジタル化された出力デジタル値N2として出力デジタル値N2
i+1が生成され、出力デジタル値N1
i+1,N2
i+1が対となって出力される。
【0043】
さらに、サンプリング時点i+2の入力アナログ値Kr2
i+2は、非線形関数fr2によってマッピングされ、デジタル化された出力デジタル値N1として出力デジタル値N1
i+2が生成されるとともに、非線形関数gr2によってマッピングされ、デジタル化された出力デジタル値N2として出力デジタル値N2
i+2が生成され、出力デジタル値N1
i+2,N2
i+2が対となって出力される。
【0044】
<検証曲線>
図4に示すように、出力デジタル値N
1,N
2との対応関係(軌跡)は、非線形関数f
r,g
rの異なる対によって異なる2次元の検証曲線を描く。例えば乱数
r1によって決定される非線形関数f
r1,g
r1の対の場合、検証曲線V
r1を描き、乱数r2によって決定される非線形関数f
r2,g
r2の対の場合、検証曲線V
r2を描く。検証曲線V
r1,V
r2は、いずれも隅が鋭角に尖って広がりをもった三角形状をなす。
【0045】
具体的に、
図4に示すように、出力デジタル値N
1
i,N
2
iの対は、検証曲線V
r1上の点P11となって現れる。また、出力デジタル値N
1
i+1,N
2
i+1の対及び出力デジタル値N
1
i+2,N
2
i+2の対は、それぞれ検証曲線V
r2上の点P13,P12として現れる。なお、各検証曲線V
r1,V
r2は、出力デジタル値N
1,N
2に対する曲線であるため、実際には連続ではなく階段状となる。
【0046】
<検証処理>
検証部23による検証処理は、検証曲線を用いて行われる。
図5は、アナログデジタル変換部11に対して電源電圧変動によるサイドチャネル攻撃を受けた場合と受けない場合との非線形関数を示す図である。
図5に示すように、実線で示したサイドチャネル攻撃を受けない場合の非線形関数f
r,g
rは、電源電圧変動によって、破線で示す非線形関数f
r´,g
r´に変化する。
【0047】
一方、
図6に示すように、正当な非線形関数f
r,g
rの対に対する検証曲線Vと、不当な非線形関数f
r´,g
r´の対に対する検証曲線V´とは、異なる軌跡を描く。
【0048】
したがって、
図5に示すように、デジタルアナログ変換時に、入力アナログ値KがKaである場合であってサイドチャネル攻撃を受けた場合、非線形関数f
r,g
rに対する出力デジタル値N
1,N
2の対は、サイドチャネル攻撃によって変化した非線形関数f
r´,g
r´に対する出力デジタル値N
1´,N
2´の対として出力される。
【0049】
図6に示すように、入力された正当な出力デジタル値N
1,N
2の場合、出力デジタル値N
1,N
2の交点は正当な検証曲線V上の点Pとなるが、サイドチャネル攻撃されたデジタル値N
1´,N
2´の場合、出力デジタル値N
1´,N
2´の交点P´は、検証曲線V上点とならず、検証曲線V´上の点となる。
【0050】
したがって、検証部23は、入力された出力デジタル値N1,N2の対が正当な検証曲線V上以外の点である場合に、サイドチャネル攻撃を受けた不当な出力デジタル値N1,N2として判定することができる。
【0051】
<復号処理>
デジタル復号部24は、検証部23が正当な出力デジタル値N
1,N
2であると判定した場合、出力デジタル値N
1,N
2を、入力アナログ値Kに対応する復号デジタル値DKに復号する。この復号処理は、式(6),(7)に示した非線形関数f
rの逆関数f
r
-1と、式(8),(9)に示した非線形関数g
rの逆関数g
r
-1とを用いて、それぞれ復号される。
【数3】
すなわち、出力デジタル値N
1が出力デジタル値N
2以下である場合、式(6)に示した逆関数f
r
-1と、式(8)に示した逆関数g
r
-1とをもとに、復号デジタル値DKを生成する。また、出力デジタル値N
1が出力デジタル値N
2未満である場合、式(7)に示した逆関数f
r
-1と、式(9)に示した逆関数g
r
-1とをもとに、復号デジタル値DKを生成する。この選択は式(10)に示すように、非線形関数f
r,g
rの微分値の大小関係による。なお、SC
xは、傾斜補正因子であり、OC
xは、オフセット補正因子であり、それぞれ温度変化等、実装上のアナログデジタル変換特性の較正時に求められる補正値である。
【0052】
<送信処理手順>
次に、送信装置1による送信処理手順について説明する。
図7は、送信装置1による送信処理手順を示すフローチャートである。
図7に示すように、暗号化・署名付与型アナログデジタル変換部11は、サンプルホールドした入力アナログ値Kを取得する(ステップS101)。その後、暗号化・署名付与型アナログデジタル変換部11は、乱数rによって異なる2つの非線形関数f
r,g
rを決定する(ステップS102)。
【0053】
その後、暗号化・署名付与型アナログデジタル変換部11は、入力アナログ値Kを、決定した非線形関数fr,grによってマッピングした出力アナログ値Kf,Kgを生成する(ステップS103)。その後、暗号化・署名付与型アナログデジタル変換部11は、出力アナログ値Kf,Kgを直線関数(線形関数)によってそれぞれデジタル化した出力デジタル値N1,N2を生成する(ステップS104)。
【0054】
その後、送信部12は、生成された出力デジタル値N1,N2を受信装置2に送信し(ステップS105)、本処理を終了する。
【0055】
なお、上述した処理は、入力アナログ値Kのサンプリングホールド毎に乱数rを変えて繰り返し行うことがセキュリティ上、好ましい。さらに、上記のように、乱数発生器15,25のシード値SD及び/又は乱数発生アルゴリズムALを定期的あるいは不定期に変更することがセキュリティ上、好ましい。
【0056】
<受信処理手順>
次に、受信装置2による受信処理手順について説明する。
図8は、受信装置2による受信処理手順を示すフローチャートである。
図8に示すように、まず、受信部21は出力デジタル値N
1,N
2を受信する(ステップS201)。その後、検証部23は、送信装置1と同じ乱数rによって決定された2つの非線形関数f
r,g
rを用いて生成される出力デジタル値N
1,N
2間の対応関係を示す検証曲線Vを生成する(ステップS202)。
【0057】
その後、検証部23は、検証曲線Vによる出力デジタル値N1,N2の検証を行い(ステップS203)、出力デジタル値N1,N2は正当か否かを判定する(ステップS204)。デジタル復号部24は、出力デジタル値N1,N2が正当であるならば(ステップS204;Yes)、2つの非線形関数fr,grの逆関数fr
-1,gr
-1及び乱数rを用いて出力デジタル値N1,N2から復号デジタル値DKに復号し(ステップS205)、この復号デジタル値DKを出力して(ステップS206)、本処理を終了する。
【0058】
一方、検証部23は、出力デジタル値N1,N2が正当でないならば(ステップS104;No)、この出力デジタル値N1,N2を破棄し(ステップS207)、本処理を終了する。
【0059】
<暗号化・署名付与型アナログデジタル変換部の実装例>
次に、暗号化・署名付与型アナログデジタル変換部11の実装例について説明する。この暗号化・署名付与型アナログデジタル変換部11の実装例は、マッピング部13とアナログデジタル変換部14とを一体化し、入力アナログ値K及び乱数rから直接、出力デジタル値N
1,N
2を生成する信号処理回路である。
図9は、暗号化・署名付与型アナログデジタル変換部11の実装の際に用いる解析式を説明する説明図である。
図9に示すように、乱数r及び入力アナログ値Kの変化に伴う非線形関数f
r,g
rの解集合は、
図9に示した4つの直線y
1~y
4の交点で決定される。ここで、
図9に示すように、
y
1=Kx
y
2=-(1-K)x+1
y
3=(-r)(x-0.5)+0.5
y
4=(1-r)(x-0.5)+0.5
である。直線y
1,y
2は、入力アナログ値Kのみを変数とし、直線y
3,y
4は、乱数rのみを変数とし、変数が分離されている。ここで、
図9において、入力アナログ値Kの値によって点P2の値はy方向に移動し、乱数rの値によってy
3,y
4の傾きが変化する。
【0060】
非線形関数frの値は、y=0.5から直線y1,y3の交点P22までの距離で決定され、入力アナログ値Kが小さく交点P22が得られない場合、y=0.5から直線y2,y3の交点までの距離で決定される。また、非線形関数grの値は、y=0.5から直線y2,y4の交点P23までの距離で決定され、入力アナログ値Kが大きく交点P23が得られない場合、y=0.5から直線y1,y4の交点までの距離で決定される。例えば、点P2が、x=1のときの直線y3と交わる場合、非線形関数frは非線形関数frの特異点Psの位置であり、点P2が、x=1のときの直線y4と交わる場合、非線形関数grは非線形関数grの特異点Psの位置である。このような直線y1~y4を用いると、リニアな積分処理が可能となる。
【0061】
図10は、上記の直線y
1~y
4による積分器を用いて実装した暗号化・署名付与型アナログデジタル変換部11の構成を示す回路図である。
図10に示すように、暗号化・署名付与型アナログデジタル変換部11は、サンプルホールド回路31、積分回路40、オア回路34,35、カウンタ36,37、乱数発生器32及びデジタルアナログ変換器33を有する。また、積分回路40は、減算器45,46、積分器41~44及び比較器C1~C4を有する。
【0062】
積分器41~44は、それぞれ直線y1,y3,y4,y2による積分を行う。積分器41,44は入力アナログ値Kの値に関する積分を行い、積分器42,43は乱数rの値に関する積分を行う。
【0063】
サンプルホールド回路31は、アナログ入力をサンプルホールドした入力アナログ値Kを積分器41に入力するとともに、減算器46を介して「K-1」を生成して積分器44に入力する。乱数発生器32は、発生した乱数rをデジタルアナログ変換器33を介して、積分器42に入力するとともに、減算器45を介して「r-1」を生成して積分器43に入力する。
【0064】
比較器C1は、積分器41と積分器42との出力を比較し、直線y1,y3の交点までの時間を出力する。また、比較器C2は、積分器42と積分器44との出力を比較し、直線y2,y3の交点までの時間を出力する。また、比較器C3は、積分器41と積分器43との出力を比較し、直線y1,y4の交点までの時間を出力する。また、比較器C4は、積分器43と積分器44との出力を比較し、直線y4,y2の交点までの時間を出力する。
【0065】
オア回路34は、比較器C1,C2からの出力の論理和をとり、カウンタ36に出力する。また、オア回路35は、比較器C3,C4からの出力の論理和をとり、カウンタ37に出力する。カウンタ36は、比較器C1または比較器C2からの出力(時間)をクロックで計数し、この計数値が、入力アナログ値Kに対する非線形関数frの値をデジタル化した出力デジタル値N1として出力する。一方、カウンタ37は、比較器C3または比較器C4からの出力(時間)をクロックで計数し、この計数値が、入力アナログ値Kに対する非線形関数grの値をデジタル化した出力デジタル値N2として出力する。
【0066】
なお、
図11に示すように、比較器C1は、非線形関数f
rの領域E2に入力アナログ値Kがある場合に、この入力アナログ値Kに対応する部分非線形関数f
rbの値に対応する時間分、出力する。また、比較器C2は、非線形関数f
rの領域E1に入力アナログ値Kがある場合に、この入力アナログ値Kに対応する部分非線形関数f
raの値に対応する時間分、出力する。また、比較器C3は、非線形関数g
rの領域E4に入力アナログ値Kがある場合に、この入力アナログ値Kに対応する部分非線形関数g
rbの値に対応する時間分、出力する。また、比較器C4は、非線形関数g
rの領域E3に入力アナログ値Kがある場合に、この入力アナログ値Kに対応する部分非線形関数g
raの値に対応する時間分、出力する。
【0067】
<実装した暗号化・署名付与型アナログデジタル変換部による検証結果>
次に、実装した暗号化・署名付与型アナログデジタル変換部11への電源電圧攻撃に対する検証結果について説明する。
図12は、電源電圧攻撃がない場合、5%の電源電圧攻撃をした場合、及び10%の電源電圧攻撃をした場合の各検証曲線V,V5,V10を示す図である。
図12に示すように、電源電圧変動を大きくするに従って、検証曲線V5,V10は、正当な検証曲線Vからシフト量が大きくなる。
【0068】
図13は、電源電圧攻撃の電源電圧変動量に対する攻撃検出確率Pdの検証結果を示す図である。
図13に示すように、電源電圧攻撃を検出できる攻撃検出確率Pdは、約0.9である。一方、
図14は、電源電圧攻撃の電源電圧変動量に対する攻撃検出失敗確率Pfの検証結果を示す図である。
図14に示すように、電源電圧攻撃を検出できなかった攻撃検出失敗確率Pfは、約0.005以下であり、非常に小さい値であった。
【0069】
<変形例1>
なお、上記の実施例及び実装例では、複数の部分非線形関数で構成される非線形関数fr,grを用いていたが、これに限らず、微分に関する特異点Psを持たない非線形関数であってもよい。例えば、
図15に示すような非線形関数f
r1,g
r1であってもよい。また、微分に関する特異点Psを複数もつ非線形関数を用いてもよい。
【0070】
<変形例2>
また、上記の実施例及び実装例では、2つの非線形関数f
r,g
rを用いていたが、3以上の非線形関数を用いてもよい。例えば、
図16に示すように、2つの非線形関数f
r,g
rに、さらに1つの非線形関数h
rを加えるようにしてもよい。この場合、出力デジタル値は3つ(N
1,N
2,N
3)になる。検証曲線は、3次元の軌跡となる。
【0071】
<変形例3>
さらに、上記の実施例及び実装例では、2つの非線形関数f
r,g
rを生成する際に同一の乱数rを用いていたが、
図17に示すように、各非線形関数f
r,g
rに対してそれぞれ異なる乱数rc,rdを用いた非線形関数f
rc,g
rdとしてもよい。この場合、乱数発生器15,25は複数の乱数rc,rdを同時に出力するか、複数の乱数発生器を設ければよい。これにより、さらにセキュリティを向上させることができる。
【0072】
<変形例4>
また、上記の実施例及び実装例では、乱数rを用いて非線形関数fr,grを変えるようにしているが、乱数rを用いなくても良い。すなわち、乱数rを一定とした設定値としてもよい。
【0073】
なお、乱数発生器15,25は、例えば、原始多項式を表す線形帰還シフトレジスタあるいは、これに対応する乱数発生アルゴリズムALを用いることができる。いずれの場合もシード値SDを設定する必要がある。
【0074】
なお、上記の実施例、変形例及び実装例で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【0075】
本発明の送信装置、受信装置、送受信システム、送信方法及び受信方法は、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くする場合に有用である。
【符号の説明】
【0076】
1 送信装置
2 受信装置
11 暗号化・署名付与型アナログデジタル変換部
12 送信部
13 マッピング部
14 アナログデジタル変換部
15,25,32 乱数発生器
21 受信部
22 復号部
23 検証部
24 デジタル復号部
31 サンプルホールド回路
33 デジタルアナログ変換器
34,35 オア回路
36,37 カウンタ
40 積分回路
41~44 積分器
45,46 減算器
AL 乱数発生アルゴリズム
C1~C4 比較器
DK 復号デジタル値
E1~E4 領域
fr
-1,gr
-1 ,逆関数
fr,fg,fr1,gr1,fr2,gr2,frc,grd,hr 非線形関数
fra,grb 部分非線形関数
K 入力アナログ値
Kf,Kg 出力アナログ値
N1,N2 出力デジタル値
P,P2,P11,P12,P13 点
P22,P23 交点
Pd 攻撃検出確率
Pf 攻撃検出失敗確率
Ps 特異点
r,r1,r2,rc,rd 乱数
SD シード値
V,V5,V10,Vr1,Vr2 検証曲線
y1~y4 直線