しかし、上記特許文献1に開示されたメモリシステムによると、メモリ装置の通常動作に起因する消費電流の変化態様に基づいて真贋判定が行われるため、状況によってはその判定精度が低い場合がある。例えば、情報処理装置に接続されているメモリ装置が、正規品に比べて消費電流の絶対値が遙かに大きい粗悪な非正規品であったとしても、消費電流の測定タイミングにおいて当該メモリ装置の消費電流の変化率パターンが正規品のそれに偶然に一致した場合には、当該メモリ装置が正規品であると誤って判定される可能性がある。
また、上記特許文献1には、情報処理装置がメモリ装置の真贋を判定する手法についてのみ開示されている。しかし、不正使用の態様としては、非正規品のメモリ装置が使用される場合に限らず、正規品のメモリ装置に格納されたコンテンツデータを不正コピー等する目的で、非正規品の情報処理装置が使用される場合もある。従って、不正コピー等からコンテンツデータを適切に保護するためには、情報処理装置及びメモリ装置の少なくとも一方が非正規品である場合には、メモリシステムの動作を停止させる必要がある。そのためには、情報処理装置及びメモリ装置の各々において、自身が正規品であるか否かを自ら判定(自己真贋判定)する機能が望まれる。
本発明はかかる事情に鑑みて成されたものであり、情報処理装置とそれに接続される付属装置とを備える情報処理システムにおいて、情報処理装置及び付属装置の各々が自己真贋判定を高精度に実行することが可能な、情報処理装置、付属装置、プログラム、情報処理装置の真贋判定方法、及び付属装置の真贋判定方法を得ることを目的とするものである。
本発明の第1の態様に係る情報処理装置は、データの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、前記情報処理装置を認証するための所定の電力消費動作を、通常動作に付加して前記情報処理装置に実行させる制御部と、前記情報処理装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定する判定部と、を備えることを特徴とするものである。
第1の態様に係る情報処理装置によれば、制御部は、情報処理装置を認証するための所定の電力消費動作を、通常動作に付加して情報処理装置に実行させる。また、判定部は、情報処理装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定部によって情報処理装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定部によって情報処理装置の真贋判定を容易かつ高精度に実行することができる。しかも、情報処理装置を認証するための電力消費動作は、情報処理装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を情報処理装置に実行させることができる。その結果、判定部による真贋判定の精度をさらに向上することが可能となる。
本発明の第2の態様に係る情報処理装置は、第1の態様に係る情報処理装置において特に、前記制御部は、通常動作において前記情報処理装置が動作を休止している休止期間中に、前記情報処理装置に電力消費動作を実行させることを特徴とするものである。
第2の態様に係る情報処理装置によれば、制御部は、通常動作において情報処理装置が動作を休止している休止期間中に、情報処理装置に電力消費動作を実行させる。休止期間中は通常動作に伴う消費電流値及びその変化量が小さいため、休止期間中に電力消費動作を実行することにより、電力消費動作に伴う情報処理装置の消費電流値及びその変化態様を顕在化することができる。その結果、判定部における実測電流値の解析を容易化することが可能となる。
本発明の第3の態様に係る情報処理装置は、第1の態様に係る情報処理装置において特に、前記情報処理装置には付属装置が接続され、前記制御部は、通常動作において前記情報処理装置から前記付属装置へのコマンド送信が完了してから、前記付属装置から前記情報処理装置への応答が開始されるまでの待ち時間中に、前記情報処理装置に電力消費動作を実行させることを特徴とするものである。
第3の態様に係る情報処理装置によれば、制御部は、通常動作において情報処理装置から付属装置へのコマンド送信が完了してから、付属装置から情報処理装置への応答が開始されるまでの待ち時間中に、情報処理装置に電力消費動作を実行させる。従って、待ち時間を有効に活用することによって、通常動作の実行期間とは別に電力消費動作の実行期間を確保する必要がないため、電力消費動作に伴って通常動作に遅延が発生する事態を回避することが可能となる。
本発明の第4の態様に係る情報処理装置は、第1〜第3のいずれか一つの態様に係る情報処理装置において特に、前記信号処理回路は、通常動作に寄与するデータ処理回路を有し、前記制御部は、前記データ処理回路に電力消費動作を実行させることを特徴とするものである。
第4の態様に係る情報処理装置によれば、制御部は、情報処理装置の通常動作に寄与するデータ処理回路に、電力消費動作を実行させる。従って、電力消費動作を実行させるための専用の付加回路を実装する必要がないため、情報処理装置において回路規模の増大を回避することが可能となる。
本発明の第5の態様に係る情報処理装置は、第4の態様に係る情報処理装置において特に、前記データ処理回路は、M個(Mは複数)のロジック回路を有し、前記制御部は、前記M個のロジック回路の各々に電力消費動作を実行させ、前記判定部は、前記M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理の全てにおいて実測電流値が基準電流値に一致していると判定されたか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第5の態様に係る情報処理装置によれば、判定部は、M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理の全てにおいて実測電流値が基準電流値に一致していると判定されたか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って、非正規品の実測電流値が、M個のロジック回路の一部において正規品の実測電流値と異なる場合であっても、そのような非正規品を判定部によって高精度に排除することが可能となる。
本発明の第6の態様に係る情報処理装置は、第4の態様に係る情報処理装置において特に、前記データ処理回路は、M個(Mは複数)のロジック回路を有し、前記制御部は、前記M個のロジック回路の各々に電力消費動作を実行させ、前記判定部は、前記M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理のうち、実測電流値が基準電流値に一致していると判定された割合が第1のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第6の態様に係る情報処理装置によれば、判定部は、M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理のうち、実測電流値が基準電流値に一致していると判定された割合が第1のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って、M個のロジック回路の一部において突発的なノイズ等に起因して正規品の実測電流値が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
本発明の第7の態様に係る情報処理装置は、第1〜第3のいずれか一つの態様に係る情報処理装置において特に、前記信号処理回路は、通常動作に寄与しない付加回路を有し、前記制御部は、前記付加回路に電力消費動作を実行させることを特徴とするものである。
第7の態様に係る情報処理装置によれば、信号処理回路は通常動作に寄与しない付加回路を有し、制御部は付加回路に電力消費動作を実行させる。従って、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を付加回路に実行させることができるため、判定部による真贋判定の精度を向上することが可能となる。
本発明の第8の態様に係る情報処理装置は、第1〜第7のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記電流測定部によって測定された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成部と、前記パターン作成部によって作成された実測電流値パターンと、基準電流値が時系列順に配列された既知の基準電流値パターンとを比較するパターン比較部と、を有し、前記パターン比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第8の態様に係る情報処理装置によれば、パターン比較部は、パターン作成部によって作成された実測電流値パターンと、基準電流値が時系列順に配列された既知の基準電流値パターンとを比較し、判定部は、パターン比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第9の態様に係る情報処理装置によれば、判定部は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、情報処理装置の真贋判定を高精度に実行することが可能となる。
本発明の第9の態様に係る情報処理装置は、第8の態様に係る情報処理装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、全ての実測電流値が、対応する基準電流値と一致しているか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第9の態様に係る情報処理装置によれば、判定部は、全ての実測電流値が、対応する基準電流値と一致しているか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って、非正規品(又は正規品)の実測電流値パターンの一部のみが正規品(又は非正規品)の基準電流値パターンと異なる場合であっても、情報処理装置の真贋判定を高精度に実行することが可能となる。
本発明の第10の態様に係る情報処理装置は、第8の態様に係る情報処理装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第2のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第10の態様に係る情報処理装置によれば、判定部は、全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第2のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って、突発的なノイズ等に起因して正規品(又は非正規品)の実測電流値が瞬間的に増減した場合であっても、正規品(又は非正規品)が誤って非正規品(又は正規品)と判定される事態を回避することが可能となる。
本発明の第11の態様に係る情報処理装置は、第8〜第10のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記パターン作成部によるパターン作成処理、及び、前記パターン比較部によるパターン比較処理をN回(Nは複数)実行し、前記パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第11の態様に係る情報処理装置によれば、判定部は、パターン作成部によるパターン作成処理、及び、パターン比較部によるパターン比較処理を複数N回実行し、パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。このように、パターン作成部及びパターン比較部による一連の処理を複数N回繰り返して実行し、パターン比較部によるN回の比較結果に基づいて情報処理装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第12の態様に係る情報処理装置は、第1〜第7のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記電流測定部によって測定された実測電流値の変化周期を算出する周期演算部と、前記周期演算部によって算出された実測電流値の変化周期と、基準電流値に関する既知の変化周期とを比較する周期比較部と、を有し、前記周期比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第12の態様に係る情報処理装置によれば、周期演算部は、電流測定部によって測定された実測電流値の変化周期を算出し、周期比較部は、周期演算部によって算出された実測電流値の変化周期と、基準電流値に関する既知の変化周期とを比較する。そして、判定部は、周期比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。正規品と非正規品とではデバイス構造や製造プロセスが異なるため、電力消費動作に伴う実測電流値の変化周期が正規品と非正規品とで異なる場合が多い。従って、実測電流値の周期変化と基準電流値の周期変化とを比較することにより、情報処理装置の真贋判定を簡易に実行することが可能となる。
本発明の第13の態様に係る情報処理装置は、第12の態様に係る情報処理装置において特に、前記判定部は、前記周期演算部による周期演算処理、及び、前記周期比較部による周期比較処理をN回(Nは複数)実行し、前記周期比較部によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第13の態様に係る情報処理装置によれば、判定部は、周期演算部による周期演算処理、及び、周期比較部による周期比較処理を複数N回実行し、周期比較部によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。このように、周期演算部及び周期比較部による一連の処理を複数N回繰り返して実行し、周期比較部によるN回の比較結果に基づいて情報処理装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第14の態様に係る情報処理装置は、第1〜第7のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記情報処理装置が電力消費動作の実行を開始した前後で、前記電流測定部によって測定された実測電流値に第5のしきい値以上の変化があるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第14の態様に係る情報処理装置によれば、判定部は、情報処理装置が電力消費動作の実行を開始した前後で、電流測定部によって測定された実測電流値に第5のしきい値以上の変化があるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値には通常動作に伴う電流値変化以上の変化は生じないため、実測電流値に第5のしきい値以上の変化があるか否かを判定することによって、情報処理装置の真贋判定を簡易に実行することが可能となる。
本発明の第15の態様に係る情報処理装置は、第1〜第14のいずれか一つの態様に係る情報処理装置において特に、前記情報処理装置は、記憶回路を有し、基準電流値は、前記記憶回路に記憶されており、前記判定部は、前記記憶回路から基準電流値を読み出すことを特徴とするものである。
第15の態様に係る情報処理装置によれば、基準電流値は情報処理装置の記憶回路に記憶されている。情報処理装置の基準電流値は、デバイス構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある情報処理装置に関して求めた基準電流値を、その情報処理装置の記憶回路に記憶しておくことにより、デバイス毎に異なる基準電流値を簡易に管理することが可能となる。
本発明の第16の態様に係る付属装置は、情報処理装置に接続される付属装置であって、前記情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、前記付属装置を認証するための所定の電力消費動作を、通常動作に付加して前記付属装置に実行させる制御部と、前記付属装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記付属装置が正規品であるか非正規品であるかを判定する判定部と、を備えることを特徴とするものである。
第16の態様に係る付属装置によれば、制御部は、付属装置を認証するための所定の電力消費動作を、通常動作に付加して付属装置に実行させる。また、判定部は、付属装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、付属装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定部によって付属装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定部によって付属装置の真贋判定を容易かつ高精度に実行することができる。しかも、付属装置を認証するための電力消費動作は、付属装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を付属装置に実行させることができる。その結果、判定部による真贋判定の精度をさらに向上することが可能となる。
本発明の第17の態様に係る付属装置は、第16の態様に係る付属装置において特に、前記制御部は、通常動作において前記付属装置が動作を休止している休止期間中に、前記付属装置に電力消費動作を実行させることを特徴とするものである。
第17の態様に係る付属装置によれば、制御部は、通常動作において付属装置が動作を休止している休止期間中に、付属装置に電力消費動作を実行させる。休止期間中は通常動作に伴う消費電流値及びその変化量が小さいため、休止期間中に電力消費動作を実行することにより、電力消費動作に伴う付属装置の消費電流値及びその変化態様を顕在化することができる。その結果、判定部における実測電流値の解析を容易化することが可能となる。
本発明の第18の態様に係る付属装置は、第16の態様に係る付属装置において特に、前記制御部は、通常動作において前記情報処理装置から前記付属装置へのコマンド送信が完了してから、前記付属装置から前記情報処理装置への応答が開始されるまでの待ち時間中に、前記付属装置に電力消費動作を実行させることを特徴とするものである。
第18の態様に係る付属装置によれば、制御部は、通常動作において情報処理装置から付属装置へのコマンド送信が完了してから、付属装置から情報処理装置への応答が開始されるまでの待ち時間中に、付属装置に電力消費動作を実行させる。従って、待ち時間を有効に活用することによって、通常動作の実行期間とは別に電力消費動作の実行期間を確保する必要がないため、電力消費動作に伴って通常動作に遅延が発生する事態を回避することが可能となる。
本発明の第19の態様に係る付属装置は、第16〜第18のいずれか一つの態様に係る付属装置において特に、前記制御回路は、通常動作に寄与するデータ処理回路を有し、前記制御部は、前記データ処理回路に電力消費動作を実行させることを特徴とするものである。
第19の態様に係る付属装置によれば、制御部は、付属装置の通常動作に寄与するデータ処理回路に、電力消費動作を実行させる。従って、電力消費動作を実行させるための専用の付加回路を実装する必要がないため、付属装置において回路規模の増大を回避することが可能となる。
本発明の第20の態様に係る付属装置は、第19の態様に係る付属装置において特に、前記データ処理回路は、M個(Mは複数)のロジック回路を有し、前記制御部は、前記M個のロジック回路の各々に電力消費動作を実行させ、前記判定部は、前記M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理の全てにおいて実測電流値が基準電流値に一致していると判定されたか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第20の態様に係る付属装置によれば、判定部は、M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理の全てにおいて実測電流値が基準電流値に一致していると判定されたか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って、非正規品の実測電流値が、M個のロジック回路の一部において正規品の実測電流値と異なる場合であっても、そのような非正規品を判定部によって高精度に排除することが可能となる。
本発明の第21の態様に係る付属装置は、第19の態様に係る付属装置において特に、前記データ処理回路は、M個(Mは複数)のロジック回路を有し、前記制御部は、前記M個のロジック回路の各々に電力消費動作を実行させ、前記判定部は、前記M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理のうち、実測電流値が基準電流値に一致していると判定された割合が第1のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第21の態様に係る付属装置によれば、判定部は、M個のロジック回路の各々に関して、実測電流値と基準電流値とを比較し、M回の比較処理のうち、実測電流値が基準電流値に一致していると判定された割合が第1のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って、M個のロジック回路の一部において突発的なノイズ等に起因して正規品の実測電流値が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
本発明の第22の態様に係る付属装置は、第16〜第18のいずれか一つの態様に係る付属装置において特に、前記付属装置は、通常動作に寄与する記憶回路を有し、前記制御部は、前記記憶回路に電力消費動作を実行させることを特徴とするものである。
第22の態様に係る付属装置によれば、制御部は、記憶回路に電力消費動作を実行させる。従って、電力消費動作を実行させるための専用の付加回路を実装する必要がないため、付属装置において回路規模の増大を回避することが可能となる。
本発明の第23の態様に係る付属装置は、第16〜第18のいずれか一つの態様に係る付属装置において特に、前記付属装置は、通常動作に寄与しない付加回路を有し、前記制御部は、前記付加回路に電力消費動作を実行させることを特徴とするものである。
第23の態様に係る付属装置によれば、信号処理回路は通常動作に寄与しない付加回路を有し、制御部は付加回路に電力消費動作を実行させる。従って、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を付加回路に実行させることができるため、判定部による真贋判定の精度を向上することが可能となる。
本発明の第24の態様に係る付属装置は、第16〜第23のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記電流測定部によって測定された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成部と、前記パターン作成部によって作成された実測電流値パターンと、基準電流値が時系列順に配列された既知の基準電流値パターンとを比較するパターン比較部と、を有し、前記パターン比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第24の態様に係る付属装置によれば、パターン比較部は、パターン作成部によって作成された実測電流値パターンと、基準電流値が時系列順に配列された既知の基準電流値パターンとを比較し、判定部は、パターン比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第24の態様に係る付属装置によれば、判定部は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、付属装置の真贋判定を高精度に実行することが可能となる。
本発明の第25の態様に係る付属装置は、第24の態様に係る付属装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、全ての実測電流値が、対応する基準電流値と一致しているか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第25の態様に係る付属装置によれば、判定部は、全ての実測電流値が、対応する基準電流値と一致しているか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って、非正規品(又は正規品)の実測電流値パターンの一部のみが正規品(又は非正規品)の基準電流値パターンと異なる場合であっても、付属装置の真贋判定を高精度に実行することが可能となる。
本発明の第26の態様に係る付属装置は、第24の態様に係る付属装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第2のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第26の態様に係る付属装置によれば、判定部は、全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第2のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って、突発的なノイズ等に起因して正規品(又は非正規品)の実測電流値が瞬間的に増減した場合であっても、正規品(又は非正規品)が誤って非正規品(又は正規品)と判定される事態を回避することが可能となる。
本発明の第27の態様に係る付属装置は、第24〜第26のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記パターン作成部によるパターン作成処理、及び、前記パターン比較部によるパターン比較処理をN回(Nは複数)実行し、前記パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第27の態様に係る付属装置によれば、判定部は、パターン作成部によるパターン作成処理、及び、パターン比較部によるパターン比較処理を複数N回実行し、パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。このように、パターン作成部及びパターン比較部による一連の処理を複数N回繰り返して実行し、パターン比較部によるN回の比較結果に基づいて付属装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第28の態様に係る付属装置は、第16〜第23のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記電流測定部によって測定された実測電流値の変化周期を算出する周期演算部と、前記周期演算部によって算出された実測電流値の変化周期と、基準電流値に関する既知の変化周期とを比較する周期比較部と、を有し、前記周期比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第28の態様に係る付属装置によれば、周期演算部は、電流測定部によって測定された実測電流値の変化周期を算出し、周期比較部は、周期演算部によって算出された実測電流値の変化周期と、基準電流値に関する既知の変化周期とを比較する。そして、判定部は、周期比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。正規品と非正規品とではデバイス構造や製造プロセスが異なるため、電力消費動作に伴う実測電流値の変化周期が正規品と非正規品とで異なる場合が多い。従って、実測電流値の周期変化と基準電流値の周期変化とを比較することにより、付属装置の真贋判定を簡易に実行することが可能となる。
本発明の第29の態様に係る付属装置は、第28の態様に係る付属装置において特に、前記判定部は、前記周期演算部による周期演算処理、及び、前記周期比較部による周期比較処理をN回(Nは複数)実行し、前記周期比較部によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第29の態様に係る付属装置によれば、判定部は、周期演算部による周期演算処理、及び、周期比較部による周期比較処理を複数N回実行し、周期比較部によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。このように、周期演算部及び周期比較部による一連の処理を複数N回繰り返して実行し、周期比較部によるN回の比較結果に基づいて付属装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第30の態様に係る付属装置は、第16〜第23のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記付属装置が電力消費動作の実行を開始した前後で、前記電流測定部によって測定された実測電流値に第5のしきい値以上の変化があるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第30の態様に係る付属装置によれば、判定部は、付属装置が電力消費動作の実行を開始した前後で、電流測定部によって測定された実測電流値に第5のしきい値以上の変化があるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値には通常動作に伴う電流値変化以上の変化は生じないため、実測電流値に第5のしきい値以上の変化があるか否かを判定することによって、付属装置の真贋判定を簡易に実行することが可能となる。
本発明の第31の態様に係る付属装置は、第16〜第30のいずれか一つの態様に係る付属装置において特に、前記付属装置は、記憶回路を有し、基準電流値は、前記記憶回路に記憶されており、前記判定部は、前記記憶回路から基準電流値を読み出すことを特徴とするものである。
第31の態様に係る付属装置によれば、基準電流値は付属装置の記憶回路に記憶されている。付属装置の基準電流値は、デバイス構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある付属装置に関して求めた基準電流値を、その付属装置の記憶回路に記憶しておくことにより、デバイス毎に異なる基準電流値を簡易に管理することが可能となる。
本発明の第32の態様に係るプログラムは、データの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、を備える情報処理装置に搭載されるコンピュータを、前記情報処理装置を認証するための所定の電力消費動作を、通常動作に付加して前記情報処理装置に実行させる制御手段と、前記情報処理装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定する判定手段と、として機能させるためのプログラムである。
第32の態様に係るプログラムによれば、制御手段は、情報処理装置を認証するための所定の電力消費動作を、通常動作に付加して情報処理装置に実行させる。また、判定手段は、情報処理装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定手段によって情報処理装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定手段によって情報処理装置の真贋判定を容易かつ高精度に実行することができる。しかも、情報処理装置を認証するための電力消費動作は、情報処理装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を情報処理装置に実行させることができる。その結果、判定手段による真贋判定の精度をさらに向上することが可能となる。
本発明の第33の態様に係るプログラムは、情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、を備える付属装置に搭載されるコンピュータを、前記付属装置を認証するための所定の電力消費動作を、通常動作に付加して前記付属装置に実行させる制御手段と、前記付属装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記付属装置が正規品であるか非正規品であるかを判定する判定手段と、として機能させるためのプログラムである。
第33の態様に係るプログラムによれば、制御手段は、付属装置を認証するための所定の電力消費動作を、通常動作に付加して付属装置に実行させる。また、判定手段は、付属装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、付属装置が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定手段によって付属装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定手段によって付属装置の真贋判定を容易かつ高精度に実行することができる。しかも、付属装置を認証するための電力消費動作は、付属装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を付属装置に実行させることができる。その結果、判定手段による真贋判定の精度をさらに向上することが可能となる。
本発明の第34の態様に係る情報処理装置の真贋判定方法は、データの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、を備える情報処理装置において、前記情報処理装置が正規品であるか非正規品であるかを判定する、情報処理装置の真贋判定方法であって、(A)前記情報処理装置を認証するための所定の電力消費動作を、通常動作に付加して前記情報処理装置に実行させるステップと、(B)前記情報処理装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定するステップと、を備えることを特徴とするものである。
第34の態様に係る情報処理装置の真贋判定方法によれば、ステップ(A)では、情報処理装置を認証するための所定の電力消費動作が、通常動作に付加して情報処理装置で実行される。また、ステップ(B)では、情報処理装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、情報処理装置が正規品であるか非正規品であるかが判定される。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、ステップ(B)によって情報処理装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、ステップ(B)によって情報処理装置の真贋判定を容易かつ高精度に実行することができる。しかも、情報処理装置を認証するための電力消費動作は、情報処理装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を情報処理装置に実行させることができる。その結果、ステップ(B)による真贋判定の精度をさらに向上することが可能となる。
本発明の第35の態様に係る付属装置の真贋判定方法は、情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、を備える付属装置において、前記付属装置が正規品であるか非正規品であるかを判定する、付属装置の真贋判定方法であって、(A)前記付属装置を認証するための所定の電力消費動作を、通常動作に付加して前記付属装置に実行させるステップと、(B)前記付属装置が電力消費動作を実行している期間に前記電流測定部によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、前記付属装置が正規品であるか非正規品であるかを判定するステップと、を備えることを特徴とするものである。
第35の態様に係る付属装置の真贋判定方法によれば、ステップ(A)では、付属装置を認証するための所定の電力消費動作が、通常動作に付加して付属装置で実行される。また、ステップ(B)では、付属装置が電力消費動作を実行している期間に電流測定部によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、付属装置が正規品であるか非正規品であるかが判定される。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、ステップ(B)によって付属装置の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、ステップ(B)によって付属装置の真贋判定を容易かつ高精度に実行することができる。しかも、付属装置を認証するための電力消費動作は、付属装置の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作を付属装置に実行させることができる。その結果、ステップ(B)による真贋判定の精度をさらに向上することが可能となる。
本発明によれば、情報処理装置及び付属装置の各々において、自身が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るメモリシステム1の構成を示す図である。図1に示すようにメモリシステム1は、ホスト装置2と、ホスト装置2に着脱自在に接続されたメモリ装置3とを備えて構成されている。ホスト装置2は、例えばパーソナルコンピュータ等の情報処理装置であり、メモリ装置3は、ホスト装置2から電源供給を受けて動作する付属装置、例えばフラッシュメモリのメモリカードである。他の例として、情報処理装置はプリンタ又は複合機の本体であり、付属装置はトナーカートリッジである。あるいは、情報処理装置はゲーム機の本体であり、付属装置はゲームプログラムが格納されたメモリカードである。
図2は、ホスト装置2の構成を簡略化して示す図である。図2に示すようにホスト装置2は、電源VCC1(電源供給部)、SoC(System on a Chip)11、電源制御部12、電流値測定回路13、メモリインタフェース14、及び不揮発性の記憶部15を備えて構成されている。記憶部15には、後述する期待値データ300が格納されている。
SoC11は、バス21を介して相互に接続された、CPU22、復号器23、期待値格納メモリ24、データ処理回路20、GPIO(General Purpose Input/Output)25、ADC(Analog to Digital Converter)26、コマンドバッファ27、データバッファ28、及び、ROM又はRAM等の記憶部29を備えて構成されている。記憶部29には、プログラム100が格納されている。SoC11には、電源VCC1から抵抗素子Rを介して駆動電源が供給される。電流値測定回路13は、抵抗素子Rの両端電圧を測定することにより、電源VCC1からSoC11に流れる電流の電流値を測定する。
図3は、メモリ装置3の構成を簡略化して示す図である。図3に示すようにメモリ装置3は、メモリコントローラ31とメモリコア32とを備えて構成されている。メモリコントローラ31は、メモリ装置3の通常動作に寄与する複数のロジック回路を備えて構成されており、図3に示した例ではそのうちのホストインタフェース41、デコーダ42、及びメモリコアインタフェース43のみを図示している。
図4は、図2に示したプログラム100をCPU22が実行することによって実現される機能を示す図である。図4に示すように、記憶部29から読み出したプログラム100をCPU22が実行することによって、CPU22は、制御部51及び判定部52として機能する。換言すれば、プログラム100は、情報処理装置としてのホスト装置2に搭載されるコンピュータを、制御部51及び判定部52として機能させるためのプログラムである。
図5は、判定部52が有する機能を示す図である。図5に示すように判定部52は、期待値取得部61、実測値取得部62、パターン作成部63、及びパターン比較部64として機能する。なお、判定部52の機能は、CPU22によるソフトウェア処理によって実現する場合に限らず、専用回路等を用いたハードウェア処理によって実現しても良い。
ホスト装置2の正規品(純正品)と非正規品(偽造品)とでは、半導体デバイスの構造や製造プロセス等が異なるため、あるいは、正規プログラムと不正プログラム(マルウェア)とでは動作内容が異なるため、消費電流特性が顕著に相違する。本実施の形態に係るホスト装置2において、制御部51は、ホスト装置2を認証するための所定の電力消費動作を、通常動作に付加してホスト装置2に実行させる。また、判定部52は、ホスト装置2が電力消費動作を実行している期間に電流測定回路13によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。以下、図面を参照しながら詳細に説明する。
図6は、ホスト装置2の動作を説明するためのフローチャートである。図7は、正規品のホスト装置2の消費電流特性の一例を示す図である。ホスト装置2の通常動作は、複数の期間Pにおいて実行される処理を意味する。図7に示した例では、通常動作が実行される通常動作期間は、この順に並ぶ8つの期間P1〜P8に区分されている。例えば、期間P1は起動直後のパワーオン期間であり、期間P2は各種設定を初期化するための初期化期間であり、期間P3,P6はホスト装置2が動作を休止しているスタンバイ期間であり、期間P4は相互認証に向けての鍵交換期間であり、期間P5は交換した鍵を用いて相互認証を行う認証期間であり、期間P7はアプリケーションの実行期間であり、期間P8はシャットダウンに向けてのパワーオフ期間である。期間Pの他の例としては、コマンド入力期間、メモリコアアクセス期間、データ読み出し期間、データ書き込み期間、データ消去期間、及びデータ通信期間等が想定される。
ホスト装置2の制御部51は、ホスト装置2を認証するための所定の電力消費動作を、ホスト装置2に実行させる。例えば、SoC11が備えるデータ処理回路20のうちの特定ロジック回路に、予め定められた特定動作を実行させることにより、その特定動作に伴う消費電力を発生させる。電力消費動作の実行対象となる特定ロジック回路としては、上記特定動作に伴う消費電流値が比較的大きく、かつその変化態様が特徴的であるものが望ましい。
正規品のホスト装置2であれば、実装される半導体デバイスの種類や各デバイスの製造プロセスが厳密に管理されているため、電力消費動作によって特定ロジック回路が特定動作を実行した場合の消費電流特性はほぼ一定である。そこで、電力消費動作に伴う消費電流特性を示す情報が工場出荷前に作成されて、暗号化された期待値データ300(図2参照)として、記憶部15に格納されている。本実施の形態の例では、電力消費動作の実行に伴う消費電流値を所定のサンプリング周波数でサンプリングすることによって得られる消費電流値の遷移パターン(基準電流値パターン)が、期待値データ300として記憶部15に格納されている。
なお、排除対象となる非正規品が既に特定されている場合には、正規品に関する基準電流値パターンに代えて、非正規品に関する基準電流値パターンを記憶部15に格納しても良い。正規品に関する基準電流値パターンを用いる場合には、実測電流値パターン(詳細は後述する)と基準電流値パターンとが一致するか否かによって、ホスト装置2が正規品であるか否かを判定できる。非正規品に関する基準電流値パターンを用いる場合には、実測電流値パターンと基準電流値パターンとが一致するか否かによって、ホスト装置2が非正規品であるか否かを判定できる。本実施の形態では、正規品に関する基準電流値パターンを用いる例について説明する。
図6を参照して、まずステップSP101において制御部51は、記憶部15から期待値データ300を読み出す。本実施の形態の例では、正規品に関する基準電流値パターンと、所定の許容誤差値を示すデータとが、期待値データ300として記憶部15から読み出される。許容誤差値は、基準電流値パターンにおける電流値の分布態様等に応じて、プラスマイナス数%からプラスマイナス10数%の範囲内で最適な値が予め設定されている。読み出された期待値データ300は復号器23に転送され、復号器23は、暗号化されている期待値データ300を復号化する。制御部51は、復号化された期待値データ300を、期待値格納メモリ24に転送する。以上の処理により、基準電流値パターンと許容誤差値を示すデータとが、期待値格納メモリ24に格納される。その後、制御部51はADC26を駆動する。
次にステップSP102において制御部51は、データ処理回路20が備える複数のロジック回路のうちの特定ロジック回路に、予め定められた特定動作を実行させる。当該特定動作を実行すべき期間も制御部51によって指定され、本実施の形態の例では、当該特定動作の実行期間として「スタンバイ期間P3」が指定される。制御部51は、特定動作を実行させる制御命令を、指定された特定ロジック回路に入力する。当該特定ロジック回路は、チップセレクト信号がネゲートされることによってホスト装置2がスタンバイ期間に移行したことを認識すると、上記制御命令によって指示された特定動作の実行を開始する。当該特定動作(即ち電力消費動作)は、ホスト装置2のスタンバイ期間P3においてバックグラウンド動作として実行される。
次にステップSP103において実測値取得部62は、実測電流値を取得する。具体的には以下の通りである。ホスト装置2が電力消費動作を開始すると、それに伴う電流が電源VCC1から抵抗素子Rを介してSoC11に流れる。電流値測定回路13は、抵抗素子Rの両端電圧を所定のサンプリング周波数(例えば1MHz〜数MHz)でサンプリングすることによって、電源VCC1からSoC11に流れる電流の電流値を実測する。実測された電流値は、図示しないプリアンプによって増幅された後、ADC26によってAD変換される。実測値取得部62は、AD変換された実測電流値を取得する。なお、ADC26によるAD変換よりも前にプリアンプによって実測電流値を増幅する上記の構成に代えて、ADC26によるAD変換よりも後に乗算器によって実測電流値を増幅する構成を採用しても良い。
次にステップSP104においてパターン作成部63は、実測値取得部62によって取得された実測電流値を時系列順に配列することによって、実測電流値パターンを作成する。図7には、スタンバイ期間P3に電力消費動作が実行されて、当該スタンバイ期間P3に関する実測電流値パターンが作成された例を示している。
次にステップSP105において期待値取得部61は、期待値格納メモリ24から基準電流値パターンと許容誤差値を示すデータとを取得する。
次にステップSP106においてパターン比較部64は、パターン作成部63によって作成された実測電流値パターンと、期待値取得部61によって取得された基準電流値パターンとを比較する。
図8は、実測電流値パターン及び基準電流値パターンの一例を示す図である。電流値測定回路13のサンプリング周波数が1MHz〜数MHzであり、期間P3の長さが数m秒〜数十m秒である場合には、実際には実測電流値パターン及び基準電流値パターンはそれぞれ数十万個〜数百万個の電流値によって構成される。しかし図8では説明の簡単化のため、実測電流値パターン及び基準電流値パターンがそれぞれ7個の実測電流値X01〜X07及び基準電流値Y01〜Y07によって構成された例を示している。パターン比較部64は、対応する実測電流値X01〜X07と基準電流値Y01〜Y07とのそれぞれの差と、期待値取得部61によって取得された許容誤差値とをそれぞれ比較する。
次にステップSP107においてパターン比較部64は、実測電流値X01〜X07と基準電流値Y01〜Y07との差の全てが許容誤差値以下であるか否かを判定する。そしてパターン比較部64は、これらの差の全てが許容誤差値以下である場合(つまり完全一致する場合)には、ホスト装置2は正規品であると判定して、真贋判定処理を終了する。図8に示した例では、実測電流値X01〜X07と基準電流値Y01〜Y07とが完全一致するため、ホスト装置2は正規品であると判定される。
一方、少なくとも一つの差が許容誤差値を超える場合(つまり完全一致しない場合)には、パターン比較部64は、ホスト装置2は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。例えば、電源制御部12に電源供給を停止させるための制御コマンドをGPIO25にセットすることにより、ホスト装置2からメモリ装置3への電源供給を停止する。
なお、以上の説明では、実測電流値X01〜X07と基準電流値Y01〜Y07との差を求める演算、及び、各電流値の差と許容誤差値とを比較する演算を、CPU22のソフトウェア処理によって実行する例について述べた。しかし、電流値測定回路13の膨大なサンプリング数に起因してCPU22の処理負荷が増大することを回避すべく、これらの演算は、専用の演算器を用いたハードウェア処理によって実行しても良い。
図9は、ホスト装置2の他の構成例を示す図である。SoC11に演算器200が実装されている。実測電流値X01〜X07と基準電流値Y01〜Y07との差を求める演算、及び、各電流値の差と許容誤差値とを比較する演算は、演算器200によって実行され、それらの演算の結果が演算器200からCPU22に入力される。
このように本実施の形態に係るホスト装置2(情報処理装置)によれば、制御部51は、ホスト装置2を認証するための所定の電力消費動作を、通常動作に付加してホスト装置2に実行させる。また、判定部52は、ホスト装置2が電力消費動作を実行している期間に電流値測定回路13(電流測定部)によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定部52によってホスト装置2の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定部52によってホスト装置2の真贋判定を容易かつ高精度に実行することができる。しかも、ホスト装置2を認証するための電力消費動作は、ホスト装置2の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作をホスト装置2に実行させることができる。その結果、判定部52による真贋判定の精度をさらに向上することが可能となる。
また、本実施の形態に係るホスト装置2によれば、制御部51は、通常動作においてホスト装置2が動作を休止しているスタンバイ期間P3(休止期間)中に、ホスト装置2に電力消費動作を実行させる。スタンバイ期間中は通常動作に伴う消費電流値及びその変化量が小さいため、スタンバイ期間中に電力消費動作を実行することにより、電力消費動作に伴うホスト装置2の消費電流値及びその変化態様を顕在化することができる。その結果、判定部52における実測電流値の解析を容易化することが可能となる。
また、本実施の形態に係るホスト装置2によれば、制御部51は、ホスト装置2の通常動作に寄与するデータ処理回路20に、電力消費動作を実行させる。従って、電力消費動作を実行させるための専用の付加回路を実装する必要がないため、ホスト装置2において回路規模の増大を回避することが可能となる。
また、本実施の形態に係るホスト装置2によれば、パターン比較部64は、パターン作成部63によって作成された実測電流値パターンと、基準電流値が時系列順に配列された既知の基準電流値パターンとを比較し、判定部52は、パターン比較部64による比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。本実施の形態に係るホスト装置2によれば、判定部52は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、ホスト装置2の真贋判定を高精度に実行することが可能となる。
また、本実施の形態に係るホスト装置2によれば、判定部52は、全ての実測電流値X01〜X07が、対応する基準電流値Y01〜Y07と一致しているか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、非正規品(又は正規品)の実測電流値パターンの一部のみが正規品(又は非正規品)の基準電流値パターンと異なる場合であっても、ホスト装置2の真贋判定を高精度に実行することが可能となる。
また、本実施の形態に係るホスト装置2によれば、期待値データ300はホスト装置2の記憶部15(記憶回路)に記憶されている。ホスト装置2の期待値データ300は、デバイス構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、あるホスト装置2に関して求めた期待値データ300を、そのホスト装置2の記憶部15に記憶しておくことにより、デバイス毎に異なる期待値データ300を簡易に管理することが可能となる。
以下、上記実施の形態に対する様々な変形例について説明する。以下に述べる変形例は、任意に組み合わせて適用することが可能である。
<変形例1>
上記実施の形態では、ホスト装置2のスタンバイ期間に真贋判定処理を実行したが、スタンバイ期間以外の期間に実行しても良い。
図10は、ホスト装置2によるメモリ装置3からのコンテンツデータの読み出し処理を示す図である。期間P11において、ホスト装置2は読み出しコマンドを発行し、当該読み出しコマンドをメモリ装置3に送信する。期間P12において、メモリ装置3は読み出しコマンドをデコードし、メモリコア32にアクセスすることによって、所望のコンテンツデータをメモリコア32から読み出す。期間P13において、メモリ装置3はコンテンツデータをホスト装置2に送信する。
従って、ホスト装置2にとって期間P12は、メモリ装置3への読み出しコマンドの送信が完了してから、メモリ装置3からホスト装置2への応答(コンテンツデータの送信)が開始されるまでの、待ち時間(レイテンシ期間)となる。
本変形例に係る制御部51は、ホスト装置2に電力消費動作を実行させる際に、特定動作の実行期間として「レイテンシ期間」を指定することにより、この待ち時間の間にホスト装置2の真贋判定処理を実行する。真贋判定処理の内容は図6と同様である。なお、レイテンシ期間やスタンバイ期間以外の期間を真贋判定処理の実行期間として設定しても良く、その場合、パターン作成部63は、電流値測定回路13による実測電流値パターンから、各期間の通常動作に応じた参照電流値パターンを差し引くことによって、真贋判定処理のための電力消費動作に伴う電流値パターンを作成することができる。
本変形例に係るホスト装置2によれば、制御部51は、通常動作においてホスト装置2からメモリ装置3へのコマンド送信が完了してから、メモリ装置3からホスト装置2への応答が開始されるまでの待ち時間中に、ホスト装置2に電力消費動作を実行させる。従って、待ち時間を有効に活用することによって、通常動作の実行期間とは別に電力消費動作の実行期間を確保する必要がないため、電力消費動作に伴って通常動作に遅延が発生する事態を回避することが可能となる。
<変形例2>
上記実施の形態では、データ処理回路20が備える一つのロジック回路に電力消費動作を実行させたが、複数のロジック回路に実行させても良い。
図11は、データ処理回路20が備えるM個(Mは複数)のロジック回路901〜90Mを示す図である。本変形例では、各ロジック回路901〜90Mに関する基準電流値パターンが、期待値データ300として記憶部15に格納されている。上記実施の形態と同様に、期待値データ300は記憶部15からSoC11に転送され、各ロジック回路901〜90Mに関する基準電流値パターンが、パターン作成部63によってそれぞれ作成される。
制御部51によって電力消費動作の実行が指示されると、まず、ロジック回路901〜90Mのうちロジック回路901のみが電力消費動作を実行する。そして、上記実施の形態と同様の真贋判定処理によって、パターン比較部64は、ロジック回路901に関する実測電流値パターンとロジック回路901に関する基準電流値パターンとを比較する。次に、ロジック回路902のみが電力消費動作を実行し、パターン比較部64は、ロジック回路902に関する実測電流値パターンとロジック回路902に関する基準電流値パターンとを比較する。以降、ロジック回路903〜90Mに関しても同様の処理が順に行われる。
全てのロジック回路901〜90Mについて実測電流値パターンと基準電流値パターンとの比較処理が完了すると、判定部52は、M回の比較処理の全てにおいて実測電流値パターンと基準電流値パターンとが一致しているか否かを判定する。そして、完全一致している場合にはホスト装置2は正規品であると判定し、完全一致していない場合にはホスト装置2は非正規品であると判定する。
本変形例によれば、判定部52は、M個のロジック回路901〜90Mの各々に関して実測電流値パターンと基準電流値パターンとを比較し、M回の比較処理の全てにおいて実測電流値パターンが基準電流値パターンに一致していると判定されたか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、非正規品の実測電流値パターンが、M個のロジック回路901〜90Mの一部において正規品の実測電流値パターンと異なる場合であっても、そのような非正規品を判定部52によって高精度に排除することが可能となる。
<変形例3>
上記変形例2では、判定部52は、実測電流値パターンと基準電流値パターンとがM個のロジック回路901〜90Mについて完全一致するか否かを判定した。
これに対して本変形例に係る判定部52は、M個のロジック回路901〜90Mに関するM回の比較処理うち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第1のしきい値以上であるか否かを判定する。そして、判定部52は、当該割合が第1のしきい値以上である場合にはホスト装置2は正規品であると判定し、一方、当該割合が第1のしきい値未満である場合にはホスト装置2は非正規品であると判定する。第1のしきい値は、要求される判定精度等に応じて最適値が設定され、少なくとも51%以上の値に設定される。
本変形例によれば、判定部52は、M個のロジック回路901〜90Mの各々に関して実測電流値パターンと基準電流値パターンとを比較し、M回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第1のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、M個のロジック回路901〜90Mの一部において突発的なノイズ等に起因して正規品の実測電流値パターンが瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
<変形例4>
上記実施の形態では、制御部51は、ホスト装置2の通常動作に寄与するデータ処理回路20に電力消費動作を実行させたが、通常動作に寄与しない付加回路をホスト装置2に実装して、当該付加回路に電力消費動作を実行させても良い。
図12は、ホスト装置2の構成を簡略化して示す図である。図2に示した構成にダミーロジック回路30が追加されている。ダミーロジック回路30は、ホスト装置2の通常動作(読み出し動作、書き込み動作、及び消去動作等)には寄与しない付加回路である。ダミーロジック回路30としては、動作に伴う消費電流値が比較的大きく、かつその変化態様が通常動作に対して特徴的である任意のロジック回路を用いることができる。
制御部51は、ホスト装置2に電力消費動作を実行させるにあたり、当該電力消費動作の実行主体としてダミーロジック回路30を指定するとともに、その動作内容及び実行期間を指定する。
本変形例によれば、ホスト装置2には、通常動作に寄与しない付加回路としてダミーロジック回路30が実装されており、制御部51は、ホスト装置2の真贋判定処理においてダミーロジック回路30に電力消費動作を実行させる。従って、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作をダミーロジック回路30に実行させることができるため、判定部52による真贋判定の精度を向上することが可能となる。
<変形例5>
上記実施の形態では、判定部52は、実測電流値X01〜X07と基準電流値Y01〜Y07とが完全一致している場合に、ホスト装置2が正規品であると判定した。
これに対して本変形例に係る判定部52は、全ての実測電流値X01〜X07のうち、対応する基準電流値Y01〜Y07と一致する実測電流値X01〜X07の割合が第2のしきい値以上である場合に、ホスト装置2は正規品であると判定し、一方、当該割合が第2のしきい値未満である場合に、ホスト装置2は非正規品であると判定する。第2のしきい値は、要求される判定精度等に応じて最適値が設定され、少なくとも51%以上の値に設定される。
本変形例によれば、判定部52は、全ての実測電流値X01〜X07のうち、対応する基準電流値X01〜X07と一致する実測電流値X01〜X07の割合が第2のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、突発的なノイズ等に起因して正規品の実測電流値X01〜X07が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
<変形例6>
上記実施の形態では、パターン作成部63は実測電流値パターンを一回だけ作成し、パターン比較部64は実測電流値パターンと基準電流値パターンとを一回だけ比較し、判定部52はパターン比較部64による一回だけの比較結果に基づいてホスト装置2の真贋判定を行った。
これに対して本変形例に係る判定部52は、パターン比較部64による複数回の比較結果に基づいてホスト装置2の真贋判定を行う。
図13は、ホスト装置2による真贋判定処理を示すフローチャートである。ステップSP106に引き続き、ステップSP201において制御部51は、パターン比較部64による実測電流値パターンと基準電流値パターンとの比較処理が、所定のN回(Nは複数)実行されたか否かを判定する。
N回の比較処理が実行されていない場合には、制御部51は、ステップSP102〜SP106の処理を再度実行する。一方、N回の比較処理が実行された場合には、制御部51は、ステップSP107の処理に移行する。
ステップSP107において判定部52は、パターン比較部64によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上である場合に、ホスト装置2は正規品であると判定し、一方、当該割合が第3のしきい値未満である場合に、ホスト装置2は非正規品であると判定する。所定回数Nの値は、要求される判定精度等に応じて最適値が設定される。また、第3のしきい値は、要求される判定精度等に応じて最適値が設定され、少なくとも51%以上の値に設定される。
本変形例によれば、判定部52は、実測値取得部62による実測電流値の取得処理、パターン作成部63による実測電流値パターンの作成処理、及びパターン比較部64による実測電流値パターンと基準電流値パターンとの比較処理を複数N回実行し、パターン比較部64によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第3のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、実測値取得部62、パターン作成部63、及びパターン比較部64による一連の処理を複数N回繰り返して実行し、パターン比較部64によるN回の比較結果に基づいてホスト装置2の真贋判定を行うことにより、判定精度を向上することが可能となる。
<変形例7>
上記実施の形態では、判定部52は、パターン比較部64による実測電流値パターンと基準電流値パターンとの比較結果に基づいてホスト装置2の真贋判定を行った。
これに対して本変形例に係る判定部52は、実測電流値の変化周期と基準電流値の変化周期との比較結果に基づいてホスト装置2の真贋判定を行う。
図14は、判定部52が有する機能を示す図である。図14に示すように判定部52は、期待値取得部61、実測値取得部62、周期演算部111、及び周期比較部112として機能する。
正規品のホスト装置2であれば、実装される半導体デバイスの種類や各デバイスの製造プロセスが厳密に管理されているため、電力消費動作によって特定ロジック回路が特定動作を実行した場合の消費電流特性はほぼ一定である。そこで本変形例では、電力消費動作によって特定ロジック回路が特定動作を実行した場合の基準電流値の変化周期が、期待値データ300として記憶部15に格納されている。
なお、排除対象となる非正規品が既に特定されている場合には、正規品に関する基準電流値の変化周期に代えて、非正規品に関する基準電流値の変化周期を記憶部15に格納しても良い。正規品に関する基準電流値の変化周期を用いる場合には、実測電流値の変化周期と基準電流値の変化周期とが一致するか否かによって、ホスト装置2が正規品であるか否かを判定できる。非正規品に関する基準電流値の変化周期を用いる場合には、実測電流値の変化周期と基準電流値の変化周期とが一致するか否かによって、ホスト装置2が非正規品であるか否かを判定できる。本変形例では、正規品に関する基準電流値の変化周期を用いる例について説明する。
図15は、ホスト装置2による真贋判定処理を示すフローチャートである。まずステップSP101において制御部51は、記憶部15から期待値データ300を読み出す。本変形例では、正規品に関する基準電流値の変化周期と、所定の許容誤差値を示すデータとが、期待値格納メモリ24に格納される。
次にステップSP102において制御部51は、電力消費動作を開始する。
次にステップSP103において実測値取得部62は、実測電流値を取得する。
次にステップSP301において周期演算部111は、実測値取得部62によって取得された実測電流値のピーク間隔に基づいて、実測電流値の変化周期を算出する。
次にステップSP302において期待値取得部61は、期待値格納メモリ24から基準電流値の変化周期と許容誤差値を示すデータとを取得する。
次にステップSP303において周期比較部112は、周期演算部111によって算出された実測電流値の変化周期と、期待値取得部61によって取得された基準電流値の変化周期とを比較する。
次にステップSP304において周期比較部112は、実測電流値の変化周期と基準電流値の変化周期との差が許容誤差値以下であるか否かを判定する。そして周期比較部112は、変化周期の差が許容誤差値以下である場合には、ホスト装置2は正規品であると判定して、真贋判定処理を終了する。一方、変化周期の差が許容誤差値を超える場合には、周期比較部112は、ホスト装置2は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。
図16は、実測電流値及び基準電流値の一例を示す図である。図16には、実測電流値の変化周期T1と基準電流値の変化周期T0との差が許容誤差値を超える例を示している。
本変形例によれば、周期演算部111は、電流測定回路13によって測定された実測電流値の変化周期T1を算出し、周期比較部112は、周期演算部111によって算出された実測電流値の変化周期T1と、基準電流値に関する既知の変化周期T0とを比較する。そして、判定部52は、周期比較部112による比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。正規品と非正規品とではデバイス構造や製造プロセスが異なるため、電力消費動作に伴う実測電流値の変化周期が正規品と非正規品とで異なる場合が多い。従って、実測電流値の周期変化T1と基準電流値の周期変化T0とを比較することにより、ホスト装置2の真贋判定を簡易に実行することが可能となる。
<変形例8>
上記変形例7では、周期演算部111は実測電流値の変化周期を一回だけ算出し、周期比較部112は実測電流値の変化周期と基準電流値の変化周期とを一回だけ比較し、判定部52は周期比較部112による一回だけの比較結果に基づいてホスト装置2の真贋判定を行った。
これに対して本変形例に係る判定部52は、周期比較部112による複数回の比較結果に基づいてメモリ装置3の真贋判定を行う。
図17は、ホスト装置2による真贋判定処理を示すフローチャートである。ステップSP303に引き続き、ステップSP310において制御部51は、周期比較部112による実測電流値の変化周期と基準電流値の変化周期との比較処理が、所定のN回実行されたか否かを判定する。
N回の比較処理が実行されていない場合には、制御部51は、ステップSP102〜SP303の処理を再度実行する。一方、N回の比較処理が実行された場合には、制御部51は、ステップSP304の処理に移行する。
ステップSP304において判定部52は、周期比較部112によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上である場合に、ホスト装置2は正規品であると判定し、一方、当該割合が第4のしきい値未満である場合に、ホスト装置2は非正規品であると判定する。第4のしきい値は、要求される判定精度等に応じて最適値が設定され、少なくとも51%以上の値に設定される。
本変形例によれば、判定部52は、電流測定回路13による電流測定処理、周期演算部111による周期演算処理、及び、周期比較部112による周期比較処理を複数N回実行し、周期比較部112によるN回の比較処理のうち、実測電流値の変化周期が基準電流値の変化周期に一致していると判定された割合が第4のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、電流測定回路13、周期演算部111、及び周期比較部112による一連の処理を複数N回繰り返して実行し、周期比較部112によるN回の比較結果に基づいてホスト装置2の真贋判定を行うことにより、判定精度を向上することが可能となる。
<変形例9>
上記実施の形態では、判定部52は、パターン比較部64による実測電流値パターンと基準電流値パターンとの比較結果に基づいてホスト装置2の真贋判定を行った。
これに対して本変形例に係る判定部52は、ホスト装置2が電力消費動作の実行を開始した前後で実測電流値に第5のしきい値以上の変化があるか否かによってホスト装置2の真贋判定を行う。
図18は、判定部52が有する機能を示す図である。図18に示すように判定部52は、期待値取得部61、実測値取得部62、変化量演算部121、及び変化量比較部122として機能する。
図19は、ホスト装置2の消費電流特性の一例を示す図である。図19の(A)には、通常動作時において特定ロジック回路が通常動作を実行した場合の消費電流特性を示しており、図19の(B)には、通常動作の停止時において特定ロジック回路が電力消費動作を実行した場合の消費電流特性を示しており、図19の(C)には、通常動作時において特定ロジック回路が電力消費動作を実行した場合の消費電流特性を示している。図19の(C)に示す消費電流特性は、図19の(A)に示す消費電流特性と図19の(B)に示す消費電流特性とを重畳したものとなる。
図19の(A)〜(C)に示すように、通常動作時における特定ロジック回路の消費電流の変化量(最大値と最小値との差)はW1である。通常動作の停止時において特定ロジック回路が電力消費動作を実行した場合の消費電流の変化量はW2である。通常動作時において特定ロジック回路が電力消費動作を実行した場合の消費電流の変化量はW3である。
本変形例では、変化量W1より大きく変化量W3より小さい任意の値、例えば、(W3+W1)/2が、第5のしきい値として設定され、当該第5のしきい値が期待値データ300として記憶部15に格納されている。
図20は、ホスト装置2による真贋判定処理を示すフローチャートである。まずステップSP101において制御部51は、記憶部15から期待値データ300を読み出す。本変形例では、第5のしきい値が期待値格納メモリ24に格納される。
次にステップSP102において制御部51は、電力消費動作を開始する。
次にステップSP103において実測値取得部62は、実測電流値を取得する。
次にステップSP401において変化量演算部121は、実測値取得部62によって取得された実測電流値の最大値と最小値との差として、実測電流値の変化量を算出する。
次にステップSP402において期待値取得部61は、期待値格納メモリ24から第5のしきい値を取得する。
次にステップSP403において変化量比較部122は、変化量演算部121によって算出された実測電流値の変化量が、期待値取得部61によって取得された第5のしきい値以上であるか否かを判定する。そして変化量比較部122は、実測電流値の変化量が第5のしきい値以上である場合には、ホスト装置2は正規品であると判定して、真贋判定処理を終了する。一方、実測電流値の変化量が第5のしきい値未満である場合には、変化量比較部122は、ホスト装置2は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。
なお、本変形例において電力消費動作の実行期間は、ホスト装置2の通常動作期間のうちの任意の期間であってよい。但し、W2≦W1であると、実測電流値の消費電流特性において、電力消費動作に伴う電流変化が通常動作に伴う電流変化に埋没する可能性がある。そのため、電力消費動作に伴う変化量W2よりも通常動作に伴う変化量W1が小さくなる期間を、電力消費動作の実行期間として設定することが望ましい。
本変形例によれば、判定部52は、ホスト装置2の特定ロジック回路が電力消費動作の実行を開始した前後で、電流測定回路13によって測定された実測電流値に第5のしきい値以上の変化があるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って、電力消費動作を実行させるための制御コマンドを解読できないこと等に起因して非正規品が電力消費動作を実行できない場合には、実測電流値には通常動作に伴う電流値の変化量W1以上の変化は生じないため、実測電流値に第5のしきい値以上の変化があるか否かを判定することによって、ホスト装置2の真贋判定を簡易に実行することが可能となる。
<変形例10>
上記変形例9では、電力消費動作の実行期間はホスト装置2の通常動作期間のうちの任意の期間に設定した。
これに対して本変形例では、電力消費動作の実行期間をホスト装置2のスタンバイ期間(P3,P6)に限定する。
図21は、ホスト装置2の消費電流特性の一例を示す図である。図21の(A)には、通常動作のスタンバイ期間における特定ロジック回路の消費電流特性を示しており、図21の(B)には、通常動作の停止時において特定ロジック回路が電力消費動作を実行した場合の消費電流特性を示しており、図21の(C)には、スタンバイ期間において特定ロジック回路が電力消費動作を実行した場合の消費電流特性を示している。
図21の(A)に示すように通常動作のスタンバイ期間では消費電流値及びその変化量は極めて小さいため、変化量W2がある程度大きい場合には、変化量W1を無視することができる。この場合、変化量W3は変化量W2に等しいとみなすことができるため、特定ロジック回路及び特定動作を固定することによって変化量W2を固定値とすれば、第5のしきい値も固定値(例えばW2/2)となる。そのため、固定値である第5のしきい値を判定部52に予め教示しておくことにより、記憶部15からSoC11への第5のしきい値(期待値データ300)の転送を省略することができる。
図22は、ホスト装置2による真贋判定処理を示すフローチャートである。図20に示したフローチャートからステップSP101が省略されている。
本変形例によれば、ホスト装置2のスタンバイ期間に電力消費動作が実行される。スタンバイ期間中は通常動作に伴う消費電流値及びその変化量が小さいため、スタンバイ期間中に電力消費動作を実行することにより、電力消費動作に伴うホスト装置2の消費電流値の変化を顕在化することができる。その結果、判定部52による真贋判定の精度を向上することが可能となる。また、記憶部15からSoC11への期待値データ300の転送を省略できるため、処理内容を簡略化することが可能となる。
<変形例11>
上記実施の形態ではホスト装置2がホスト装置2自身を自己真贋判定する場合について説明したが、上記と同様の構成及び制御によって、メモリ装置3がメモリ装置3自身を自己真贋判定することもできる。
図23は、メモリ装置3の構成を簡略化して示す図である。図3に示した構成に対して、電流値測定回路33及び認証制御回路34が追加されている。メモリコントローラ31には、電源VCC2(電源供給部)から抵抗素子Rを介して駆動電源が供給される。電流値測定回路33は、抵抗素子Rの両端電圧を測定することにより、電源VCC2からメモリコントローラ31に流れる電流の電流値を測定する。メモリコア32の所定のアドレス領域には、後述する期待値データ400が暗号化された状態で格納されている。但し、期待値データ400は、メモリコア32とは異なる不揮発性メモリに格納されていても良い。
図24は、認証制御回路34の構成を示す図である。図2に示したSoC11と同様に、認証制御回路34は、バス71を介して相互に接続された、CPU72、復号器73、期待値格納メモリ74、GPIO75、ADC77、及び、ROM又はRAM等の記憶部78を備えて構成されている。GPIO78には、電源制御部76が接続されている。記憶部68には、プログラム101が格納されている。
図25は、図24に示したプログラム101をCPU72が実行することによって実現される機能を示す図である。記憶部78から読み出したプログラム101をCPU72が実行することによって、CPU72は、制御部81及び判定部82として機能する。換言すれば、プログラム101は、付属装置としてのメモリ装置3に搭載されるコンピュータを、制御部81及び判定部82として機能させるためのプログラムである。
図26は、判定部82が有する機能を示す図である。図26に示すように判定部82は、期待値取得部91、実測値取得部92、パターン作成部93、及びパターン比較部94として機能する。なお、制御部81及び判定部82の機能は、CPU72によるソフトウェア処理によって実現する場合に限らず、専用回路等を用いたハードウェア処理によって実現しても良い。
メモリ装置3の正規品(純正品)と非正規品(偽造品)とでは、半導体デバイスの構造や製造プロセス等が異なるため、あるいは、正規プログラムと不正プログラム(マルウェア)とでは動作内容が異なるため、消費電流特性が顕著に相違する。本変形例に係るメモリ装置3において、制御部81は、メモリ装置3を認証するための所定の電力消費動作を、通常動作に付加してメモリ装置3に実行させる。また、判定部82は、メモリ装置3が電力消費動作を実行している期間に電流測定回路33によって測定された実測電流値と、正規品又は非正規品が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、メモリ装置3が正規品であるか非正規品であるかを判定する。以下、図面を参照しながら詳細に説明する。
メモリ装置3の制御部81は、メモリ装置3を認証するための所定の電力消費動作を、メモリ装置3に実行させる。例えば、メモリコントローラ31が備える複数のロジック回路のうちの特定ロジック回路に、予め定められた特定動作を実行させることにより、その特定動作に伴う消費電力を発生させる。電力消費動作の実行対象となる特定ロジック回路としては、上記特定動作に伴う消費電流値が比較的大きく、かつその変化態様が特徴的であるものが望ましい。
正規品のメモリ装置3であれば、実装される半導体デバイスの種類や各デバイスの製造プロセスが厳密に管理されているため、電力消費動作によって特定ロジック回路が特定動作を実行した場合の消費電流特性はほぼ一定である。そこで、電力消費動作に伴う消費電流特性を示す情報が工場出荷前に作成されて、暗号化された期待値データ400(図23参照)として、メモリコア32に格納されている。本変形例では、電力消費動作の実行に伴う消費電流値を所定のサンプリング周波数でサンプリングすることによって得られる消費電流値の遷移パターン(基準電流値パターン)が、期待値データ400としてメモリコア32に格納されている。
図6を参照して、まずステップSP101において制御部81は、メモリコア32から期待値データ400を読み出す。本変形例では、正規品に関する基準電流値パターンと、所定の許容誤差値を示すデータとが、期待値データ400としてメモリコア32から読み出される。許容誤差値は、基準電流値パターンにおける電流値の分布態様等に応じて、プラスマイナス数%からプラスマイナス10数%の範囲内で最適な値が予め設定されている。読み出された期待値データ400は復号器73に転送され、復号器73は、暗号化されている期待値データ400を復号化する。制御部81は、復号化された期待値データ400を、期待値格納メモリ74に転送する。以上の処理により、基準電流値パターンと許容誤差値を示すデータとが、期待値格納メモリ74に格納される。その後、制御部81はADC77を駆動する。
次にステップSP102において制御部81は、メモリコントローラ31が備える複数のロジック回路のうちの特定ロジック回路に、予め定められた特定動作を実行させる。当該特定動作を実行すべき期間も制御部81によって指定され、本変形例では、当該特定動作の実行期間として「スタンバイ期間P3」が指定される。制御部81は、特定動作を実行させる制御命令を、指定された特定ロジック回路に入力する。当該特定ロジック回路は、チップセレクト信号がネゲートされることによってメモリ装置3がスタンバイ期間に移行したことを認識すると、上記制御命令によって指示された特定動作の実行を開始する。当該特定動作(即ち電力消費動作)は、メモリ装置3のスタンバイ期間P3においてバックグラウンド動作として実行される。
次にステップSP103において実測値取得部92は、実測電流値を取得する。具体的には以下の通りである。メモリ装置3が電力消費動作を開始すると、それに伴う電流が電源VCC2から抵抗素子Rを介してメモリコントローラ31に流れる。電流値測定回路33は、抵抗素子Rの両端電圧を所定のサンプリング周波数(例えば1MHz〜数MHz)でサンプリングすることによって、電源VCC2からメモリコントローラ31に流れる電流の電流値を実測する。実測された電流値は、図示しないプリアンプによって増幅された後、ADC77によってAD変換される。実測値取得部92は、AD変換された実測電流値を取得する。なお、ADC77によるAD変換よりも前にプリアンプによって実測電流値を増幅する上記の構成に代えて、ADC77によるAD変換よりも後に乗算器によって実測電流値を増幅する構成を採用しても良い。
次にステップSP104においてパターン作成部93は、実測値取得部92によって取得された実測電流値を時系列順に配列することによって、実測電流値パターンを作成する。
次にステップSP105において期待値取得部91は、期待値格納メモリ74から基準電流値パターンと許容誤差値を示すデータとを取得する。
次にステップSP106においてパターン比較部94は、パターン作成部93によって作成された実測電流値パターンと、期待値取得部91によって取得された基準電流値パターンとを比較する。
次にステップSP107においてパターン比較部94は、実測電流値Xと基準電流値Yとの差の全てが許容誤差値以下であるか否かを判定する。そしてパターン比較部94は、これらの差の全てが許容誤差値以下である場合(つまり完全一致する場合)には、メモリ装置3は正規品であると判定して、真贋判定処理を終了する。
一方、少なくとも一つの差が許容誤差値を超える場合(つまり完全一致しない場合)には、パターン比較部94は、メモリ装置3は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。例えば、電源制御部76に電源供給を停止させるための制御コマンドをGPIO75にセットすることにより、電源VCC2からメモリコントローラ31への電源供給を停止する。
このように本変形例に係るメモリ装置3(付属装置)によれば、制御部81は、メモリ装置3を認証するための所定の電力消費動作を、通常動作に付加してメモリ装置3に実行させる。また、判定部82は、メモリ装置3が電力消費動作を実行している期間に電流値測定回路33(電流測定部)によって測定された実測電流値と、正規品(又は非正規品)が電力消費動作を実行した場合の電流値である既知の基準電流値とに基づいて、メモリ装置3が正規品であるか非正規品であるかを判定する。従って、非正規品が電力消費動作を実行できない場合には、実測電流値は基準電流値に一致しないため、判定部82によってメモリ装置3の真贋判定を容易に実行することができる。また、正規品の全てのファンクションを完全にコピーした非正規品であったとしても、デバイス構造や製造プロセスの相違等に起因して正規品と非正規品とでは消費電力特性が相違するため、非正規品(又は正規品)の実測電流値は正規品(又は非正規品)の基準電流値に一致しない。従って、判定部82によってメモリ装置3の真贋判定を容易かつ高精度に実行することができる。しかも、メモリ装置3を認証するための電力消費動作は、メモリ装置3の通常動作そのものではなく、通常動作に付加される独立的な動作であるため、消費電流値及びその変化態様等が顕著となる恣意的な電力消費動作をメモリ装置3に実行させることができる。その結果、判定部82による真贋判定の精度をさらに向上することが可能となる。
<変形例12>
上記変形例11では、制御部81は、メモリ装置3のメモリコントローラ31に電力消費動作を実行させた。
これに対して本変形例に係る制御部81は、メモリ装置3のメモリコア32に電力消費動作を実行させる。制御部81は、電力消費動作を実行させるための制御命令において、当該電力消費動作の実行主体としてメモリコア32を指定するとともに、その動作内容(例えば特定アドレスからのデータの読み出し)及び実行期間(例えばスタンバイ期間)を指定する。制御部81は、指定した期間に指定した動作を実行させるための制御命令を、メモリコア32に入力する。
本変形例によれば、制御部81は、メモリ装置3の通常動作に寄与するメモリコア32(記憶回路)に電力消費動作を実行させる。従って、電力消費動作を実行させるための専用の付加回路を実装する必要がないため、メモリ装置3において回路規模の増大を回避することが可能となる。
<変形例13>
記載が重複するため詳細な説明は省略するが、ホスト装置2の自己真贋判定に関して説明した上記の変形例1〜10は、メモリ装置3の自己真贋判定に関する上記の変形例11,12に対しても同様に適用することができ、同様の効果を得ることができる。