(57)【要約】【課題】デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くすることができる送信装置、受信装置、送受信システム、送信方法及び受信方法を提供すること。【解決手段】暗号化・署名付与型アナログデジタル変換部１１は、入力アナログ値Ｋに対して複数の異なる非線形関数を用いて複数の出力アナログ値Ｋf，Ｋgを生成するマッピング部１３と、マッピング部１３によって生成された複数の出力アナログ値Ｋf，Ｋgを、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換部１４とを備える。【選択図】図１
2020072451.tif 000002
【特許請求の範囲】
【請求項１】
入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置であって、
前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピング部と、
前記マッピング部によって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換部と
を備えたことを特徴とする送信装置。
【請求項２】
前記非線形関数は、微分に関する特異点を介した複数の部分非線形関数によって構成されることを特徴とする請求項１に記載の送信装置。
【請求項３】
前記複数の異なる非線形関数は、同一入力に対して少なくとも１つの非線形関数の傾きが１以上であることを特徴とする請求項１又は２に記載の送信装置。
【請求項４】
前記複数の異なる非線形関数は、それぞれ同一の値となる変数を含み、各非線形関数はそれぞれ同一の値となる変数の設定によって決定されることを特徴とする請求項１〜３のいずれか一つに記載の送信装置。
【請求項５】
前記複数の異なる非線形関数は、それぞれ異なる値となる変数を含み、各非線形関数はそれぞれ異なる値となる変数の設定によって決定されることを特徴とする請求項１〜３のいずれか一つに記載の送信装置。
【請求項６】
前記変数の設定は、乱数生成器によって生成される乱数によって設定されることを特徴とする請求項４又は５に記載の送信装置。
【請求項７】
前記乱数生成器は、サンプリングされる入力アナログ値の入力ごとに乱数を変えることを特徴とする請求項６に記載の送信装置。
【請求項８】
前記乱数生成器は、定期的あるいは不定期に初期値と乱数発生アルゴリズムとを変えることを特徴とする請求項７に記載の送信装置。
【請求項９】
前記マッピング部とアナログデジタル変換部とは一体化した信号処理回路で構成され、前記入力アナログ値から直接、出力デジタル値を生成することを特徴とする請求項１〜８のいずれか一つに記載の送信装置。
【請求項１０】
請求項１〜９のいずれか一つに記載の送信装置から送信された複数の出力デジタル値の検証及び復号を行う受信装置であって、
正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証部と、
各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値に対応する復号デジタル値に復号するデジタル復号部と
を備えたことを特徴とする受信装置。
【請求項１１】
請求項１〜９のいずれか一つに記載の送信装置と、
１以上の前記送信装置に接続され、少なくとも１以上の前記送信装置が用いる複数の異なる非線形曲線を用いて１以上の前記送信装置から送信された複数の出力デジタル値の検証及びデジタルアナログ変換を行う請求項１０に記載の受信装置と
を備えたことを特徴とする送受信システム。
【請求項１２】
入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置の送信方法であって、
前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピングステップと、
前記マッピングステップよって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換ステップと
を含むことを特徴とする送信方法。
【請求項１３】
請求項１２に記載の送信方法によって送信された複数の出力デジタル値の検証及び復号を行う受信装置の受信方法であって、
正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証ステップと、
各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値に対応する復号デジタル値に復号するデジタル復号ステップと
を含むことを特徴とする受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くすることができる送信装置、受信装置、送受信システム、送信方法及び受信方法に関する。
【背景技術】
【０００２】
コンピュータ技術の進歩とインターネット技術の進歩は、スマート家電、コネクテッドカー、ホームセキュリテイ、自動販売機、ヘルスケア、医療器具等のＩｏＴ（Internet  of  Things）を提供するに至っている。
【０００３】
この結果、コンピュータウィルスの活動範囲も広くなり、コンピュータウィルスの社会的な影響は、計り知れない状況を形成し、サイバー戦争の範囲が広くなると共にその影響は、身近なものとなりつつある。特にＩｏＴ機器のようにインタフェースが無いか限られている場合は、インターネットを介した入出力操作の自動性が高くなることから、ソフトウェアを中心とした無線通信となるため、今まででは考えられない無限に近いセキュリテイホールに直面し、悪意の操作の可能性をより高めることとなる。
【０００４】
特許文献１には、目的の動作、現象を受信し、センサ電気信号に変換するセンサユニット、センサユニットのセンサ電気信号をセンサデジタルデータに変換して外部へ認証信号と共にセンサデジタルデータを送信する送信部と、外部よりデータを認証データと共に受信する受信部とを有する信号処理ユニットを備え、 認証信号を検証することで、信号処理ユニットから出力されるデータが真正データであるかどうかを認証する認証手段（オーナーユニット）の組み合わせ構成により、インタフェースを備えなくても、真正なデータの送信を行うことができると共に、受信するデータも認証データの秘匿的な取り扱いによって、真正なデータをうけとることができ、外部から不正に侵入するコンピュータウィルスの影響を排除し、安定したＩｏＴ端末の使用を実現するオーナーチェックシステムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−７３４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＩｏＴ端末では、スニッフィングやなりすましなどの攻撃に対して脆弱であり、機器や装置、ソフトウェアなどが外部から内部構造や記録されたデータなどを解析、読取、改ざんされない状態にする耐タンパー性をもたせる必要がある。特にＩｏＴ端末などに用いられるアナログデジタル変換器では、セキュリティ実装から物理的に漏れる情報を利用したサイドチャネル攻撃に脆弱である。しかしながら、従来は、このようなアナログデジタル変換器などのモジュールに対するサイドチャネル攻撃を想定していなかった。このモジュールに対するサイドチャネル攻撃では、例えば、アナログデジタル変換器に対して温度変化付加や外部電圧付加を行うことによってアナログデジタル変換器の電源電圧を強制的に変化させて観察し、暗号鍵などを盗み取り、その後、電源電圧を変化させて偽装を行うことも可能になる。
【０００７】
そして、このサイドチャネル攻撃は、アナログデジタル変換器などのモジュールに侵入しないで攻撃が可能になるため、侵入の形跡が残らず、セキュリティ対策上、脆弱になりやすいという課題がある。
【０００８】
本発明は、上記従来技術の課題を解決するためになされたものであって、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くすることができる送信装置、受信装置、送受信システム、送信方法及び受信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明は、入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置であって、前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピング部と、前記マッピング部によって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換部とを備えたことを特徴とする。
【００１０】
また、本発明は、上記の発明において、前記非線形関数は、微分に関する特異点を介した複数の部分非線形関数によって構成されることを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、同一入力に対して少なくとも１つの非線形関数の傾きが１以上であることを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、それぞれ同一の値となる変数を含み、各非線形関数はそれぞれ同一の値となる変数の設定によって決定されることを特徴とする。
【００１３】
また、本発明は、上記の発明において、前記複数の異なる非線形関数は、それぞれ異なる値となる変数を含み、各非線形関数はそれぞれ異なる値となる変数の設定によって決定されることを特徴とする。
【００１４】
また、本発明は、上記の発明において、前記変数の設定は、乱数生成器によって生成される乱数によって設定されることを特徴とする。
【００１５】
また、本発明は、上記の発明において、前記乱数生成器は、サンプリングされる入力アナログ値の入力ごとに乱数を変えることを特徴とする。
【００１６】
また、本発明は、上記の発明において、前記乱数生成器は、定期的あるいは不定期に初期値と乱数発生アルゴリズムとを変えることを特徴とする。
【００１７】
また、本発明は、上記の発明において、前記マッピング部とアナログデジタル変換部とは一体化した信号処理回路で構成され、前記入力アナログ値から直接、出力デジタル値を生成することを特徴とする。
【００１８】
また、本発明は、上記の発明のいずれか一つに記載の送信装置から送信された複数の出力デジタル値の検証及び復号を行う受信装置であって、正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証部と、各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値に対応する復号デジタル値に復号するデジタル復号部とを備えたことを特徴とする。
【００１９】
また、本発明は、上記の発明のいずれか一つに記載の送信装置と、１以上の前記送信装置に接続され、少なくとも１以上の前記送信装置が用いる複数の異なる非線形曲線を用いて１以上の前記送信装置から送信された複数の出力デジタル値の検証及びデジタルアナログ変換を行う上記の発明に記載の受信装置とを備えたことを特徴とする。
【００２０】
また、本発明は、入力アナログ値を出力デジタル値に変換するアナログデジタル変換機能を有し、前記アナログデジタル変換機能によって変換された出力デジタル値を送信出力する送信装置の送信方法であって、前記入力アナログ値に対して複数の異なる非線形関数を用いて複数の出力アナログ値を生成するマッピングステップと、前記マッピングステップよって生成された複数の出力アナログ値を、それぞれ線形関数を用いて複数の出力デジタル値に変換するアナログデジタル変換ステップとを含むことを特徴とする。
【００２１】
また、本発明は、上記の発明に記載の送信方法によって送信された複数の出力デジタル値の検証及び復号を行う受信装置の受信方法であって、正当な前記複数の出力デジタル値における各出力デジタル値の間の対応関係を示す検証曲線に、入力された各出力デジタル値が一致するか否かの判別結果をもとに各出力デジタル値が正当か否かを検証する検証ステップと、各出力デジタル値の値が正当である場合、前記複数の異なる非線形関数の逆関数を用い、各逆関数に出力デジタル値を入力して前記入力アナログ値に対応する復号デジタル値に復号するデジタル復号ステップとを含むことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込むのでサイドチャネル攻撃に対する耐性を高くすることができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、本実施例に係る送信装置及び受信装置を含む送受信システムの概要構成を示す機能ブロック図である。
【図２】図２は、複数の非線形関数の一例を示す図である。
【図３】図３は、複数の非線形関数を用いたアナログデジタル変換の一例を示す図である。
【図４】図４は、出力デジタル値の対応関係を示す検証曲線の一例を示す図である。
【図５】図５は、暗号化・署名付与型アナログデジタル変換部に対して電源電圧変動によるサイドチャネル攻撃を受けた場合と受けない場合との非線形関数を示す図である。
【図６】図６は、正当な非線形関数の対に対する検証曲線と不当な非線形関数の対に対する検証曲線の一例を示す図である。
【図７】図７は、送信装置による送信処理手順を示すフローチャートである。
【図８】図８は、受信装置による受信処理手順を示すフローチャートである。
【図９】図９は、アナログデジタル変換部の実装の際に用いる解析式を説明する説明図である。
【図１０】図１０は、暗号化・署名付与型アナログデジタル変換部の実装構成を示す回路図である。
【図１１】図１１は、実装した比較器出力と非線形関数との関係を示す図である。
【図１２】図１２は、電源電圧攻撃がない場合、５％の電源電圧攻撃をした場合、及び１０％の電源電圧攻撃をした場合の検証曲線の一例を示す図である。
【図１３】図１３は、電源電圧攻撃の電源電圧変動量に対する攻撃検出確率の検証結果を示す図である。
【図１４】図１４は、電源電圧攻撃の電源電圧変動量に対する攻撃検出失敗確率の検証結果を示す図である。
【図１５】図１５は、微分に関する特異点を持たない非線形関数の一例を示す図である。
【図１６】図１６は、３つの非線形関数の一例を示す図である。
【図１７】図１７は、複数の非線形関数に異なる乱数を用いた非線形関数の一例を示す図である。
【発明を実施するための形態】
【００２４】
以下に、添付図面を参照して、本発明に係る送信装置、受信装置及び送受信システム、送信方法及び受信方法の好適な実施例を詳細に説明する。
【００２５】
＜送受信システムの概要構成＞
まず、本実施例に係る送信装置１及び受信装置２を含む送受信システムの概要構成について説明する。図１は、本実施例に係る送信装置１及び受信装置２を含む送受信システムの概要構成を示す機能ブロック図である。
【００２６】
図１に示すように、送受信システムは、複数の送信装置１が受信装置２に接続される。図１では、複数の送信装置１と受信装置２との間が無線接続されているが、これに限らず、有線接続であってもよい。
【００２７】
送信装置１は、暗号化・署名付与型アナログデジタル変換部１１及び送信部１２を有する。暗号化・署名付与型アナログデジタル変換部１１は、温度センサなどから入力される入力アナログ値Ｋを２つの出力デジタル値Ｎ1，Ｎ2に変換し、暗号化及び署名付与が施されたアナログデジタル変換処理を行う。送信部１２は、出力デジタル値Ｎ1，Ｎ2を受信装置２に送信する。
【００２８】
暗号化・署名付与型アナログデジタル変換部１１は、マッピング部１３、アナログデジタル変換部１４及び乱数発生器１５を有する。マッピング部１３は、入力された入力アナログ値Ｋに対して２つの異なる非線形関数ｆr，ｇrを用いて、２つの出力アナログ値Ｋf，Ｋgを生成するマッピングを行う。
【００２９】
アナログデジタル変換部１４は、マッピング部１３によって生成された２つの出力アナログ値Ｋf，Ｋgを、それぞれ線形関数を用いて２つの出力デジタル値Ｎ1，Ｎ2に変換して送信部１２に出力する。
【００３０】
乱数発生器１５は、２つの非線形関数ｆr，ｇr内に含まれる変数である乱数ｒを生成してマッピング部１３に出力する。
【００３１】
一方、受信装置２は、受信部２１及び復号部２２を有する。受信部２１は、各送信装置１から送信された２つの出力デジタル値Ｎ1，Ｎ2を受信して復号部２２に出力する。
【００３２】
復号部２２は、検証部２３、デジタル復号部２４及び乱数発生器２５を有する。検証部２３は、正当な２つの出力デジタル値Ｎ1，Ｎ2における各出力デジタル値Ｎ1，Ｎ2の間の対応関係を示す検証曲線に、入力された各出力デジタル値Ｎ1，Ｎ2が一致するか否かの判別結果をもとに、入力された各出力デジタル値Ｎ1，Ｎ2が正当であるか否かを検証する。検証部２３は、入力された各出力デジタル値Ｎ1，Ｎ2が正当でない場合、各出力デジタル値Ｎ1，Ｎ2を破棄するとともに、受信部２１に対して正当でない出力デジタル値Ｎ1，Ｎ2を送信した送信装置１との接続を切断する指示を行う。
【００３３】
デジタル復号部２４は、各出力デジタル値Ｎ1，Ｎ2が正当である場合、送信装置１側で用いた２つの非線形関数ｆr，ｇrの逆関数ｆr-1，ｇr-1を用い、各逆関数ｆr-1，ｇr-1に出力デジタル値Ｎ1，Ｎ2を入力して、入力アナログ値Ｋに対応する復号デジタル値ＤＫに復号して出力する。
【００３４】
乱数発生器２５は、送信装置１側の乱数発生器１５と同じ乱数ｒを発生し、検証部２３及びデジタル復号部２４に出力する。検証部２３に入力された乱数ｒは、送信装置１側の非線形関数ｆｒ，ｇｒを生成するのに用いられ、デジタル復号部２４に入力された乱数ｒは、逆関数ｆr-1，ｇr-1に含まれる変数である乱数ｒとして用いられる。
【００３５】
なお、乱数発生器１５，２５は、同じ乱数発生アルゴリズムＡＬと初期値であるシード値ＳＤとが指定され、同じ乱数ｒを出力する。この乱数発生アルゴリズムＡＬ及び／又はシード値ＳＤは、定期的あるいは不定期に変更することが好ましい。
【００３６】
＜非線形関数ｆr，ｇr＞
まず、マッピング部１３が用いる２つの非線形関数ｆr，ｇrは、式（１）を満足するものである。
【数１】
2020072451.tif 000003
すなわち、ｆr（ｘ），ｇr（ｘ）は、ｘが０〜１の間では、ｆrの微分値の絶対値とｇrの微分値の絶対値とのいずれか大きい値が１以上であることを前提としている。
【００３７】
具体的には、式（２），（３）によって定義される非線形関数ｆrと、式（４），（５）によって定義される非線形関数ｇrとが用いられる。
【数２】
2020072451.tif 000004
ここで、非線形関数ｆr，ｇr内のｒは、乱数ｒである。
【００３８】
非線形関数ｆr，ｇrは、図２に示すように、乱数ｒの値によって変化する。非線形関数ｆrは、図２では、実線で示しており、微分に関する特異点Ｐｓを介して、式（２）で示した部分非線形関数と、式（３）で示した部分非線形関数とで構成される。また、非線形関数ｇrは、図２では、破線で示しており、微分に関する特異点Ｐｓを介して、式（４）で示した部分非線形関数と、式（５）で示した部分非線形関数とで構成される。すなわち、図２に示した非線形関数ｆr，ｇrは、乱数ｒの増大とともに、微分に関する特異点Ｐｓが＋ｘ方向にシフトし、各非線形関数ｆr，ｇr上の傾きも変化する。
【００３９】
＜暗号化・署名付与型アナログデジタル変換＞
暗号化・署名付与型アナログデジタル変換部１１は、入力アナログ値Ｋを、２つの非線形関数ｆr，ｇrを用いて、それぞれ非線形関数ｆr，ｇrによってマッピングされたＫf，Ｋgに対応する出力デジタル値Ｎ1，Ｎ2を生成する。
【００４０】
図３は、非線形関数ｆr，ｇrを用いたアナログデジタル変換の一例を示す図である。図３では、入力アナログ値Ｋのサンプリング時点をｉ、ｉ＋１、ｉ＋２の順とした場合、入力アナログ値Ｋが、サンプリング時点ｉ、ｉ＋１では、入力アナログ値Ｋが同じ値「ａ」であり、サンプリング時点ｉ＋２では、入力アナログ値Ｋの値が「ｂ」である場合を示している。また、図３では、乱数ｒが、サンプリング時点ｉにおいて乱数ｒ１が設定され、サンプリング時点ｉ＋１、ｉ＋２において乱数ｒ２が設定されている。図３では、乱数ｒ１が設定された場合の非線形関数をｆr1，ｇr1とし、乱数ｒ２が設定された場合の非線形関数をｆr2，ｇr2としている。そこで、上記の順次入力される入力アナログ値Ｋを、入力アナログ値Ｋr1i、Ｋr2i+1、Ｋr2i+2として表す。
【００４１】
図３に示すように、サンプリング時点ｉの入力アナログ値Ｋr1iは、非線形関数ｆr1によってマッピングされ、デジタル化された出力デジタル値Ｎ1として出力デジタル値Ｎ1iが生成されるとともに、非線形関数ｇr1によってマッピングされ、デジタル化された出力デジタル値Ｎ2として出力デジタル値Ｎ2iが生成され、出力デジタル値Ｎ1i，Ｎ2iが対となって出力される。
【００４２】
また、サンプリング時点ｉ＋１の入力アナログ値Ｋr2i+1は、非線形関数ｆr2によってマッピングされ、デジタル化された出力デジタル値Ｎ1として出力デジタル値Ｎ1i+1が生成されるとともに、非線形関数ｇr2によってマッピングされ、デジタル化された出力デジタル値Ｎ2として出力デジタル値Ｎ2i+1が生成され、出力デジタル値Ｎ1i+1，Ｎ2i+1が対となって出力される。
【００４３】
さらに、サンプリング時点ｉ＋２の入力アナログ値Ｋr2i+2は、非線形関数ｆr2によってマッピングされ、デジタル化された出力デジタル値Ｎ1として出力デジタル値Ｎ1i+2が生成されるとともに、非線形関数ｇr2によってマッピングされ、デジタル化された出力デジタル値Ｎ2として出力デジタル値Ｎ2i+2が生成され、出力デジタル値Ｎ1i+2，Ｎ2i+2が対となって出力される。
【００４４】
＜検証曲線＞
図４に示すように、出力デジタル値Ｎ1，Ｎ2との対応関係（軌跡）は、非線形関数ｆr，ｇrの異なる対によって異なる２次元の検証曲線を描く。例えば乱数r1によって決定される非線形関数ｆr1，ｇr1の対の場合、検証曲線Ｖr1を描き、乱数ｒ２によって決定される非線形関数ｆr2，ｇr2の対の場合、検証曲線Ｖr2を描く。検証曲線Ｖr1，Ｖr2は、いずれも隅が鋭角に尖って広がりをもった三角形状をなす。
【００４５】
具体的に、図４に示すように、出力デジタル値Ｎ1i，Ｎ2iの対は、検証曲線Ｖr1上の点Ｐ１１となって現れる。また、出力デジタル値Ｎ1i+1，Ｎ2i+1の対及び出力デジタル値Ｎ1i+2，Ｎ2i+2の対は、それぞれ検証曲線Ｖr2上の点Ｐ１３，Ｐ１２として現れる。なお、各検証曲線Ｖr1，Ｖr2は、出力デジタル値Ｎ1，Ｎ2に対する曲線であるため、実際には連続ではなく階段状となる。
【００４６】
＜検証処理＞
検証部２３による検証処理は、検証曲線を用いて行われる。図５は、アナログデジタル変換部１１に対して電源電圧変動によるサイドチャネル攻撃を受けた場合と受けない場合との非線形関数を示す図である。図５に示すように、実線で示したサイドチャネル攻撃を受けない場合の非線形関数ｆr，ｇrは、電源電圧変動によって、破線で示す非線形関数ｆr´，ｇr´に変化する。
【００４７】
一方、図６に示すように、正当な非線形関数ｆr，ｇrの対に対する検証曲線Ｖと、不当な非線形関数ｆr´，ｇr´の対に対する検証曲線Ｖ´とは、異なる軌跡を描く。
【００４８】
したがって、図５に示すように、デジタルアナログ変換時に、入力アナログ値ＫがＫａである場合であってサイドチャネル攻撃を受けた場合、非線形関数ｆr，ｇrに対する出力デジタル値Ｎ1，Ｎ2の対は、サイドチャネル攻撃によって変化した非線形関数ｆr´，ｇr´に対する出力デジタル値Ｎ1´，Ｎ2´の対として出力される。
【００４９】
図６に示すように、入力された正当な出力デジタル値Ｎ1，Ｎ2の場合、出力デジタル値Ｎ1，Ｎ2の交点は正当な検証曲線Ｖ上の点Ｐとなるが、サイドチャネル攻撃されたデジタル値Ｎ1´，Ｎ2´の場合、出力デジタル値Ｎ1´，Ｎ2´の交点Ｐ´は、検証曲線Ｖ上点とならず、検証曲線Ｖ´上の点となる。
【００５０】
したがって、検証部２３は、入力された出力デジタル値Ｎ1，Ｎ2の対が正当な検証曲線Ｖ上以外の点である場合に、サイドチャネル攻撃を受けた不当な出力デジタル値Ｎ1，Ｎ2として判定することができる。
【００５１】
＜復号処理＞
デジタル復号部２４は、検証部２３が正当な出力デジタル値Ｎ1，Ｎ2であると判定した場合、出力デジタル値Ｎ1，Ｎ2を、入力アナログ値Ｋに対応する復号デジタル値ＤＫに復号する。この復号処理は、式（６），（７）に示した非線形関数ｆrの逆関数ｆr-1と、式（８），（９）に示した非線形関数ｇrの逆関数ｇr-1とを用いて、それぞれ復号される。
【数３】
2020072451.tif 000005
すなわち、出力デジタル値Ｎ1が出力デジタル値Ｎ2以下である場合、式（６）に示した逆関数ｆr-1と、式（８）に示した逆関数ｇr-1とをもとに、復号デジタル値ＤＫを生成する。また、出力デジタル値Ｎ1が出力デジタル値Ｎ2未満である場合、式（７）に示した逆関数ｆr-1と、式（９）に示した逆関数ｇr-1とをもとに、復号デジタル値ＤＫを生成する。この選択は式（１０）に示すように、非線形関数ｆr，ｇrの微分値の大小関係による。なお、ＳＣxは、傾斜補正因子であり、ＯＣxは、オフセット補正因子であり、それぞれ温度変化等、実装上のアナログデジタル変換特性の較正時に求められる補正値である。
【００５２】
＜送信処理手順＞
次に、送信装置１による送信処理手順について説明する。図７は、送信装置１による送信処理手順を示すフローチャートである。図７に示すように、暗号化・署名付与型アナログデジタル変換部１１は、サンプルホールドした入力アナログ値Ｋを取得する（ステップＳ１０１）。その後、暗号化・署名付与型アナログデジタル変換部１１は、乱数ｒによって異なる２つの非線形関数ｆr，ｇrを決定する（ステップＳ１０２）。
【００５３】
その後、暗号化・署名付与型アナログデジタル変換部１１は、入力アナログ値Ｋを、決定した非線形関数ｆr，ｇrによってマッピングした出力アナログ値Ｋf，Ｋgを生成する（ステップＳ１０３）。その後、暗号化・署名付与型アナログデジタル変換部１１は、出力アナログ値Ｋf，Ｋgを直線関数（線形関数）によってそれぞれデジタル化した出力デジタル値Ｎ1，Ｎ2を生成する（ステップＳ１０４）。
【００５４】
その後、送信部１２は、生成された出力デジタル値Ｎ1，Ｎ2を受信装置２に送信し（ステップＳ１０５）、本処理を終了する。
【００５５】
なお、上述した処理は、入力アナログ値Ｋのサンプリングホールド毎に乱数ｒを変えて繰り返し行うことがセキュリティ上、好ましい。さらに、上記のように、乱数発生器１５，２５のシード値ＳＤ及び／又は乱数発生アルゴリズムＡＬを定期的あるいは不定期に変更することがセキュリティ上、好ましい。
【００５６】
＜受信処理手順＞
次に、受信装置２による受信処理手順について説明する。図８は、受信装置２による受信処理手順を示すフローチャートである。図８に示すように、まず、受信部２１は出力デジタル値Ｎ1，Ｎ2を受信する（ステップＳ２０１）。その後、検証部２３は、送信装置１と同じ乱数ｒによって決定された２つの非線形関数ｆr，ｇrを用いて生成される出力デジタル値Ｎ1，Ｎ2間の対応関係を示す検証曲線Ｖを生成する（ステップＳ２０２）。
【００５７】
その後、検証部２３は、検証曲線Ｖによる出力デジタル値Ｎ1，Ｎ2の検証を行い（ステップＳ２０３）、出力デジタル値Ｎ1，Ｎ2は正当か否かを判定する（ステップＳ２０４）。デジタル復号部２４は、出力デジタル値Ｎ1，Ｎ2が正当であるならば（ステップＳ２０４；Ｙｅｓ）、２つの非線形関数ｆr，ｇrの逆関数ｆr-1，ｇr-1及び乱数ｒを用いて出力デジタル値Ｎ1，Ｎ2から復号デジタル値ＤＫに復号し（ステップＳ２０５）、この復号デジタル値ＤＫを出力して（ステップＳ２０６）、本処理を終了する。
【００５８】
一方、検証部２３は、出力デジタル値Ｎ1，Ｎ2が正当でないならば（ステップＳ１０４；Ｎｏ）、この出力デジタル値Ｎ1，Ｎ2を破棄し（ステップＳ２０７）、本処理を終了する。
【００５９】
＜暗号化・署名付与型アナログデジタル変換部の実装例＞
次に、暗号化・署名付与型アナログデジタル変換部１１の実装例について説明する。この暗号化・署名付与型アナログデジタル変換部１１の実装例は、マッピング部１３とアナログデジタル変換部１４とを一体化し、入力アナログ値Ｋ及び乱数ｒから直接、出力デジタル値Ｎ1，Ｎ2を生成する信号処理回路である。図９は、暗号化・署名付与型アナログデジタル変換部１１の実装の際に用いる解析式を説明する説明図である。図９に示すように、乱数ｒ及び入力アナログ値Ｋの変化に伴う非線形関数ｆr，ｇrの解集合は、図９に示した４つの直線ｙ1〜ｙ4の交点で決定される。ここで、図９に示すように、
ｙ1＝Ｋｘ
ｙ2＝−（１−Ｋ）ｘ＋１
ｙ3＝（−ｒ）（ｘ−０．５）＋０．５
ｙ4＝（１−ｒ）（ｘ−０．５）＋０．５
である。直線ｙ1，ｙ2は、入力アナログ値Ｋのみを変数とし、直線ｙ3，ｙ4は、乱数ｒのみを変数とし、変数が分離されている。ここで、図９において、入力アナログ値Ｋの値によって点Ｐ２の値はｙ方向に移動し、乱数ｒの値によってｙ3，ｙ4の傾きが変化する。
【００６０】
非線形関数ｆrの値は、ｙ＝０．５から直線ｙ1，ｙ3の交点Ｐ２２までの距離で決定され、入力アナログ値Ｋが小さく交点Ｐ２２が得られない場合、ｙ＝０．５から直線ｙ2，ｙ3の交点までの距離で決定される。また、非線形関数ｇrの値は、ｙ＝０．５から直線ｙ2，ｙ4の交点Ｐ２３までの距離で決定され、入力アナログ値Ｋが大きく交点Ｐ２３が得られない場合、ｙ＝０．５から直線ｙ1，ｙ4の交点までの距離で決定される。例えば、点Ｐ２が、ｘ＝１のときの直線ｙ3と交わる場合、非線形関数ｆrは非線形関数ｆrの特異点Ｐｓの位置であり、点Ｐ２が、ｘ＝１のときの直線ｙ4と交わる場合、非線形関数ｇrは非線形関数ｇrの特異点Ｐｓの位置である。このような直線ｙ1〜ｙ4を用いると、リニアな積分処理が可能となる。
【００６１】
図１０は、上記の直線ｙ1〜ｙ4による積分器を用いて実装した暗号化・署名付与型アナログデジタル変換部１１の構成を示す回路図である。図１０に示すように、暗号化・署名付与型アナログデジタル変換部１１は、サンプルホールド回路３１、積分回路４０、オア回路３４，３５、カウンタ３６，３７、乱数発生器３２及びデジタルアナログ変換器３３を有する。また、積分回路４０は、減算器４５，４６、積分器４１〜４４及び比較器Ｃ１〜Ｃ４を有する。
【００６２】
積分器４１〜４４は、それぞれ直線ｙ1，ｙ3，ｙ4，ｙ2による積分を行う。積分器４１，４４は入力アナログ値Ｋの値に関する積分を行い、積分器４２，４３は乱数ｒの値に関する積分を行う。
【００６３】
サンプルホールド回路３１は、アナログ入力をサンプルホールドした入力アナログ値Ｋを積分器４１に入力するとともに、減算器４６を介して「Ｋ−１」を生成して積分器４４に入力する。乱数発生器３２は、発生した乱数ｒをデジタルアナログ変換器３３を介して、積分器４２に入力するとともに、減算器４５を介して「ｒ−１」を生成して積分器４３に入力する。
【００６４】
比較器Ｃ１は、積分器４１と積分器４２との出力を比較し、直線ｙ1，ｙ3の交点までの時間を出力する。また、比較器Ｃ２は、積分器４２と積分器４４との出力を比較し、直線ｙ2，ｙ3の交点までの時間を出力する。また、比較器Ｃ３は、積分器４１と積分器４３との出力を比較し、直線ｙ1，ｙ4の交点までの時間を出力する。また、比較器Ｃ４は、積分器４３と積分器４４との出力を比較し、直線ｙ4，ｙ2の交点までの時間を出力する。
【００６５】
オア回路３４は、比較器Ｃ１，Ｃ２からの出力の論理和をとり、カウンタ３６に出力する。また、オア回路３５は、比較器Ｃ３，Ｃ４からの出力の論理和をとり、カウンタ３７に出力する。カウンタ３６は、比較器Ｃ１または比較器Ｃ２からの出力（時間）をクロックで計数し、この計数値が、入力アナログ値Ｋに対する非線形関数ｆrの値をデジタル化した出力デジタル値Ｎ1として出力する。一方、カウンタ３７は、比較器Ｃ３または比較器Ｃ４からの出力（時間）をクロックで計数し、この計数値が、入力アナログ値Ｋに対する非線形関数ｇrの値をデジタル化した出力デジタル値Ｎ2として出力する。
【００６６】
なお、図１１に示すように、比較器Ｃ１は、非線形関数ｆrの領域Ｅ２に入力アナログ値Ｋがある場合に、この入力アナログ値Ｋに対応する部分非線形関数ｆrbの値に対応する時間分、出力する。また、比較器Ｃ２は、非線形関数ｆrの領域Ｅ１に入力アナログ値Ｋがある場合に、この入力アナログ値Ｋに対応する部分非線形関数ｆraの値に対応する時間分、出力する。また、比較器Ｃ３は、非線形関数ｇrの領域Ｅ４に入力アナログ値Ｋがある場合に、この入力アナログ値Ｋに対応する部分非線形関数ｇrbの値に対応する時間分、出力する。また、比較器Ｃ４は、非線形関数ｇrの領域Ｅ３に入力アナログ値Ｋがある場合に、この入力アナログ値Ｋに対応する部分非線形関数ｇraの値に対応する時間分、出力する。
【００６７】
＜実装した暗号化・署名付与型アナログデジタル変換部による検証結果＞
次に、実装した暗号化・署名付与型アナログデジタル変換部１１への電源電圧攻撃に対する検証結果について説明する。図１２は、電源電圧攻撃がない場合、５％の電源電圧攻撃をした場合、及び１０％の電源電圧攻撃をした場合の各検証曲線Ｖ，Ｖ５，Ｖ１０を示す図である。図１２に示すように、電源電圧変動を大きくするに従って、検証曲線Ｖ５，Ｖ１０は、正当な検証曲線Ｖからシフト量が大きくなる。
【００６８】
図１３は、電源電圧攻撃の電源電圧変動量に対する攻撃検出確率Ｐｄの検証結果を示す図である。図１３に示すように、電源電圧攻撃を検出できる攻撃検出確率Ｐｄは、約０．９である。一方、図１４は、電源電圧攻撃の電源電圧変動量に対する攻撃検出失敗確率Ｐｆの検証結果を示す図である。図１４に示すように、電源電圧攻撃を検出できなかった攻撃検出失敗確率Ｐｆは、約０．００５以下であり、非常に小さい値であった。
【００６９】
＜変形例１＞
なお、上記の実施例及び実装例では、複数の部分非線形関数で構成される非線形関数ｆｒ，ｇｒを用いていたが、これに限らず、微分に関する特異点Ｐｓを持たない非線形関数であってもよい。例えば、図１５に示すような非線形関数ｆr1，ｇr1であってもよい。また、微分に関する特異点Ｐｓを複数もつ非線形関数を用いてもよい。
【００７０】
＜変形例２＞
また、上記の実施例及び実装例では、２つの非線形関数ｆr，ｇrを用いていたが、３以上の非線形関数を用いてもよい。例えば、図１６に示すように、２つの非線形関数ｆr，ｇrに、さらに１つの非線形関数ｈrを加えるようにしてもよい。この場合、出力デジタル値は３つ（Ｎ1，Ｎ2，Ｎ3）になる。検証曲線は、３次元の軌跡となる。
【００７１】
＜変形例３＞
さらに、上記の実施例及び実装例では、２つの非線形関数ｆr，ｇrを生成する際に同一の乱数ｒを用いていたが、図１７に示すように、各非線形関数ｆr，ｇrに対してそれぞれ異なる乱数ｒｃ，ｒｄを用いた非線形関数ｆrc，ｇrdとしてもよい。この場合、乱数発生器１５，２５は複数の乱数ｒｃ，ｒｄを同時に出力するか、複数の乱数発生器を設ければよい。これにより、さらにセキュリティを向上させることができる。
【００７２】
＜変形例４＞
また、上記の実施例及び実装例では、乱数ｒを用いて非線形関数ｆr，ｇrを変えるようにしているが、乱数ｒを用いなくても良い。すなわち、乱数ｒを一定とした設定値としてもよい。
【００７３】
なお、乱数発生器１５，２５は、例えば、原始多項式を表す線形帰還シフトレジスタあるいは、これに対応する乱数発生アルゴリズムＡＬを用いることができる。いずれの場合もシード値ＳＤを設定する必要がある。
【００７４】
なお、上記の実施例、変形例及び実装例で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【００７５】
本発明の送信装置、受信装置、送受信システム、送信方法及び受信方法は、デジタルアナログ変換動作自体に認証及び復号が可能な暗号化動作を取り込んでサイドチャネル攻撃に対する耐性を高くする場合に有用である。
【符号の説明】
【００７６】
１  送信装置
２  受信装置
１１  暗号化・署名付与型アナログデジタル変換部
１２  送信部
１３  マッピング部
１４  アナログデジタル変換部
１５，２５，３２  乱数発生器
２１  受信部
２２  復号部
２３  検証部
２４  デジタル復号部
３１  サンプルホールド回路
３３  デジタルアナログ変換器
３４，３５  オア回路
３６，３７  カウンタ
４０  積分回路
４１〜４４  積分器
４５，４６  減算器
ＡＬ  乱数発生アルゴリズム
Ｃ１〜Ｃ４  比較器
ＤＫ  復号デジタル値
Ｅ１〜Ｅ４  領域
ｆr-1，ｇr-1  ，逆関数
ｆr，ｆg，ｆr1，ｇr1，ｆr2，ｇr2，ｆrc，ｇrd，ｈr  非線形関数
ｆra，ｇrb  部分非線形関数
Ｋ  入力アナログ値
Ｋf，Ｋg  出力アナログ値
Ｎ1，Ｎ2  出力デジタル値
Ｐ，Ｐ２，Ｐ１１，Ｐ１２，Ｐ１３  点
Ｐ２２，Ｐ２３  交点
Ｐｄ  攻撃検出確率
Ｐｆ  攻撃検出失敗確率
Ｐｓ  特異点
ｒ，ｒ１，ｒ２，ｒｃ，ｒｄ  乱数
ＳＤ  シード値
Ｖ，Ｖ５，Ｖ１０，Ｖr1，Ｖr2  検証曲線
ｙ1〜ｙ4  直線
【図１】
2020072451.tif 000006
【図２】
2020072451.tif 000007
【図３】
2020072451.tif 000008
【図４】
2020072451.tif 000009
【図５】
2020072451.tif 000010
【図６】
2020072451.tif 000011
【図７】
2020072451.tif 000012
【図８】
2020072451.tif 000013
【図９】
2020072451.tif 000014
【図１０】
2020072451.tif 000015
【図１１】
2020072451.tif 000016
【図１２】
2020072451.tif 000017
【図１３】
2020072451.tif 000018
【図１４】
2020072451.tif 000019
【図１５】
2020072451.tif 000020
【図１６】
2020072451.tif 000021
【図１７】
2020072451.tif 000022