しかし、上記特許文献1に開示されたメモリシステムによると、情報処理装置に接続されているメモリ装置が、正規品に比べて消費電流の絶対値が遙かに大きい粗悪な非正規品であったとしても、消費電流の測定タイミングにおいて当該メモリ装置の消費電流の変化率パターンが正規品のそれに偶然に一致した場合には、当該メモリ装置が正規品であると誤って判定される可能性がある。
また、上記特許文献1には、情報処理装置がメモリ装置の真贋を判定する手法についてのみ開示されている。しかし、不正使用の態様としては、非正規品のメモリ装置が使用される場合に限らず、正規品のメモリ装置に格納されたコンテンツデータを不正コピー等する目的で、非正規品の情報処理装置が使用される場合もある。従って、不正コピー等からコンテンツデータを適切に保護するためには、情報処理装置及びメモリ装置の少なくとも一方が非正規品である場合には、メモリシステムの動作を停止させる必要がある。そのためには、情報処理装置及びメモリ装置の各々において、自身が正規品であるか否かを自ら判定(自己真贋判定)する機能が望まれる。
本発明はかかる事情に鑑みて成されたものであり、情報処理装置とそれに接続される付属装置とを備える情報処理システムにおいて、情報処理装置及び付属装置の各々が自己真贋判定を高精度に実行することが可能な、情報処理装置、付属装置、プログラム、情報処理装置の真贋判定方法、及び付属装置の真贋判定方法を得ることを目的とするものである。
本発明の第1の態様に係る情報処理装置は、外部接続される付属装置との間でデータの送受信を行う情報処理装置であって、前記付属装置との間でデータの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、情報処理装置が正規品であるか非正規品であるかを判定する判定部と、を備え、前記判定部は、複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得する電流値取得部と、前記電流値取得部によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成部と、前記パターン作成部によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するパターン比較部と、を有し、前記判定部は、前記情報処理装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記パターン作成部によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記パターン比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第1の態様に係る情報処理装置によれば、判定部は、第1の所定期間に関してパターン作成部によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、パターン比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第1の態様に係る情報処理装置によれば、判定部は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、情報処理装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
また、第1の態様に係る情報処理装置によれば、情報処理装置には付属装置が外部接続され、信号処理回路は、付属装置との間でデータの送受信を行う。従って、情報処理装置とそれに外部接続される付属装置とを備える情報処理システムにおいて、情報処理装置が自己真贋判定を行うことにより、非正規品の情報処理装置が使用されることを予め回避することが可能となる。
本発明の第2の態様に係る情報処理装置は、第1の態様に係る情報処理装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、第1の所定期間に関する全ての実測電流値が、対応する基準電流値と一致しているか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第2の態様に係る情報処理装置によれば、判定部は、第1の所定期間に関する全ての実測電流値が、対応する基準電流値と一致しているか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って例えば、非正規品が、実測電流値パターンの一部において正規品のそれと異なる場合であっても、そのような非正規品を高精度に排除することが可能となる。
本発明の第3の態様に係る情報処理装置は、第1の態様に係る情報処理装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、第1の所定期間に関する全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第1のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第3の態様に係る情報処理装置によれば、判定部は、第1の所定期間に関する全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第1のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。従って例えば、突発的なノイズ等に起因して正規品の実測電流値が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
本発明の第4の態様に係る情報処理装置は、第1の態様に係る情報処理装置において特に、前記判定部は、前記電流値取得部による実測電流値の取得処理、前記パターン作成部による実測電流値パターンの作成処理、及び前記パターン比較部による実測電流値パターンと基準電流値パターンとの比較処理をN回(Nは複数)実行し、前記判定部は、前記パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上であるか否かによって、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第4の態様に係る情報処理装置によれば、判定部は、電流値取得部による実測電流値の取得処理、パターン作成部による実測電流値パターンの作成処理、及びパターン比較部による実測電流値パターンと基準電流値パターンとの比較処理を複数N回実行し、パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上であるか否かによって、情報処理装置が正規品であるか非正規品であるかを判定する。このように、電流値取得部、パターン作成部、及びパターン比較部による一連の処理を複数N回繰り返して実行し、パターン比較部によるN回の比較結果に基づいて情報処理装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第5の態様に係る情報処理装置は、第1〜第4のいずれか一つの態様に係る情報処理装置において特に、前記判定部はさらに、複数の所定期間のうち第2の所定期間に関して前記パターン作成部によって作成された第2の実測電流値パターンと、第2の所定期間に関して予め求められた第2の基準電流値パターンとの、前記パターン比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第5の態様に係る情報処理装置によれば、判定部はさらに、複数の所定期間のうち第2の所定期間に関してパターン作成部によって作成された第2の実測電流値パターンと、第2の所定期間に関して予め求められた第2の基準電流値パターンとの、パターン比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間のみならず第2の所定期間に関しても実測電流値パターンと基準電流値パターンとの比較を行うことにより、第1の所定期間及び第2の所定期間の双方の比較結果に基づいて情報処理装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
本発明の第6の態様に係る情報処理装置は、第1〜第5のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値に基づいて、所定の実測代表値を算出する代表値算出部と、前記代表値算出部によって算出された実測代表値と、正規品又は非正規品に関して予め求められた代表値である基準代表値とを比較する代表値比較部と、をさらに有し、前記判定部はさらに、第1の所定期間に関して前記代表値算出部によって算出された第1の実測代表値と、第1の所定期間に関して予め求められた第1の基準代表値との、前記代表値比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第6の態様に係る情報処理装置によれば、判定部はさらに、第1の所定期間に関して代表値算出部によって算出された第1の実測代表値と、第1の所定期間に関して予め求められた第1の基準代表値との、代表値比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。このように、実測電流値パターンと基準電流値パターンとの比較のみならず、実測代表値と基準代表値との比較を行うことにより、双方の比較結果に基づいて情報処理装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
本発明の第7の態様に係る情報処理装置は、第1〜第6のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値に基づいて、所定の実測代表値を算出する代表値算出部と、前記代表値算出部によって算出された実測代表値と、正規品又は非正規品に関して予め求められた代表値である基準代表値とを比較する代表値比較部と、をさらに有し、前記判定部はさらに、複数の所定期間のうち第2の所定期間に関して前記代表値算出部によって算出された第2の実測代表値と、第2の所定期間に関して予め求められた第2の基準代表値との、前記代表値比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第7の態様に係る情報処理装置によれば、判定部はさらに、第2の所定期間に関して代表値算出部によって算出された第2の実測代表値と、第2の所定期間に関して予め求められた第2の基準代表値との、代表値比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、第2の所定期間に関して実測代表値と基準代表値とを比較することにより、双方の比較結果に基づいて情報処理装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、第1の所定期間と第2の所定期間とで判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第8の態様に係る情報処理装置は、第6又は第7の態様に係る情報処理装置において特に、前記代表値算出部は、実測代表値として、平均値、最大値、及び最小値の少なくとも一つを算出することを特徴とするものである。
第8の態様に係る情報処理装置によれば、代表値算出部は、実測代表値として、平均値、最大値、及び最小値の少なくとも一つを算出する。このように、平均値、最大値、及び最小値の少なくとも一つを実測代表値として使用することにより、実測代表値を簡易に算出することが可能となる。
本発明の第9の態様に係る情報処理装置は、第7の態様に係る情報処理装置において特に、前記代表値算出部は、連続する二つの第2の所定期間のうち、一方の第2の所定期間に関しては平均値、最大値、及び最小値のうち第1の値を算出し、他方の第2の所定期間に関しては第1の値とは異なる第2の値を算出することを特徴とするものである。
第9の態様に係る情報処理装置によれば、代表値算出部は、連続する二つの第2の所定期間のうち、一方の第2の所定期間に関しては平均値、最大値、及び最小値のうち第1の値を算出し、他方の第2の所定期間に関しては第1の値とは異なる第2の値を算出する。従って、連続する二つの第2の所定期間において判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第10の態様に係る情報処理装置は、第1〜第9のいずれか一つの態様に係る情報処理装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値の中から、任意の実測電流値を選択する電流値選択部と、前記電流値選択部によって選択された実測電流値と、正規品又は非正規品に関して予め求められた電流値である基準電流値とを比較する電流値比較部と、をさらに有し、前記判定部はさらに、複数の所定期間のうち第3の所定期間に関して前記電流値選択部によって選択された実測電流値と、第3の所定期間に関して予め求められた基準電流値との、前記電流値比較部による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第10の態様に係る情報処理装置によれば、判定部はさらに、第3の所定期間に関して電流値選択部によって選択された実測電流値と、第3の所定期間に関して予め求められた基準電流値との、電流値比較部による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、第3の所定期間に関して実測電流値と基準電流値とを比較することにより、双方の比較結果に基づいて情報処理装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、第1の所定期間と第3の所定期間とで判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第11の態様に係る情報処理装置は、第1〜第10のいずれか一つの態様に係る情報処理装置において特に、前記判定部はさらに、複数の所定期間の中から第1の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第11の態様に係る情報処理装置によれば、期間設定部は、複数の所定期間の中から第1の所定期間を可変に設定する。従って、情報処理装置の真贋判定を実行する対象となる第1の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第12の態様に係る情報処理装置は、第5又は第7の態様に係る情報処理装置において特に、前記判定部はさらに、複数の所定期間の中から第2の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第12の態様に係る情報処理装置によれば、期間設定部は、複数の所定期間の中から第2の所定期間を可変に設定する。従って、情報処理装置の真贋判定を実行する対象となる第2の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第13の態様に係る情報処理装置は、第10の態様に係る情報処理装置において特に、前記判定部はさらに、複数の所定期間の中から第3の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第13の態様に係る情報処理装置によれば、期間設定部は、複数の所定期間の中から第3の所定期間を可変に設定する。従って、情報処理装置の真贋判定を実行する対象となる第3の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第14の態様に係る情報処理装置は、第1〜第13のいずれか一つの態様に係る情報処理装置において特に、前記情報処理装置は、基準電流値パターンが予め記憶された第1の記憶部をさらに備え、前記判定部は、前記第1の記憶部から基準電流値パターンを読み出すことを特徴とするものである。
第14の態様に係る情報処理装置によれば、基準電流値パターンは情報処理装置内の第1の記憶部に予め記憶されている。情報処理装置の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある情報処理装置に関して求めた基準電流値パターンを、その情報処理装置内の第1の記憶部に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。
本発明の第15の態様に係る情報処理装置は、第1〜第13のいずれか一つの態様に係る情報処理装置において特に、前記付属装置は、基準電流値パターンが予め記憶された第2の記憶部を備え、前記判定部は、前記第2の記憶部から基準電流値パターンを読み出すことを特徴とするものである。
第15の態様に係る情報処理装置によれば、基準電流値パターンは付属装置内の第2の記憶部に予め記憶されており、判定部は第2の記憶部から基準電流値パターンを読み出す。従って、基準電流値パターンと実測電流値パターンとが一致しない場合には、情報処理装置及び付属装置の少なくとも一方が非正規品であると判定できるため、その場合には情報処理システムの動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
本発明の第16の態様に係る情報処理装置は、第1〜第13のいずれか一つの態様に係る情報処理装置において特に、前記情報処理装置は、第1の基準電流値パターンが予め記憶された第1の記憶部をさらに備え、前記付属装置は、第2の基準電流値パターンが予め記憶された第2の記憶部を備え、前記判定部は、前記第1の記憶部から第1の基準電流値パターンを読み出し、前記第2の記憶部から第2の基準電流値パターンを読み出すことを特徴とするものである。
第16の態様に係る情報処理装置によれば、判定部は、情報処理装置内の第1の記憶部から第1の基準電流値パターンを読み出し、付属装置内の第2の記憶部から第2の基準電流値パターンを読み出す。情報処理装置の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある情報処理装置に関して求めた第1の基準電流値パターンを、その情報処理装置内の第1の記憶部に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。また、第2の基準電流値パターンは付属装置内の第2の記憶部に予め記憶されており、判定部は第2の記憶部から第2の基準電流値パターンを読み出す。従って、第1の基準電流値パターンと第2の基準電流値パターンとが一致しない場合や、第2の基準電流値パターンと実測電流値パターンとが一致しない場合には、情報処理装置及び付属装置の少なくとも一方が非正規品であると判定できるため、その場合には情報処理システムの動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
本発明の第17の態様に係る付属装置は、情報処理装置に外部接続される付属装置であって、前記情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、前記付属装置が正規品であるか非正規品であるかを判定する判定部と、を備え、前記判定部は、複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得する電流値取得部と、前記電流値取得部によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成部と、前記パターン作成部によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するパターン比較部と、を有し、前記判定部は、前記付属装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記パターン作成部によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記パターン比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第17の態様に係る付属装置によれば、判定部は、第1の所定期間に関してパターン作成部によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、パターン比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第17の態様に係る付属装置によれば、判定部は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、付属装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
本発明の第18の態様に係る付属装置は、第17の態様に係る付属装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、第1の所定期間に関する全ての実測電流値が、対応する基準電流値と一致しているか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第18の態様に係る付属装置によれば、判定部は、第1の所定期間に関する全ての実測電流値が、対応する基準電流値と一致しているか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って例えば、非正規品が、実測電流値パターンの一部において正規品のそれと異なる場合であっても、そのような非正規品を高精度に排除することが可能となる。
本発明の第19の態様に係る付属装置は、第17の態様に係る付属装置において特に、前記パターン比較部は、実測電流値パターンを構成する複数の実測電流値と、基準電流値パターンを構成する複数の基準電流値とをそれぞれ比較し、前記判定部は、第1の所定期間に関する全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第1のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第19の態様に係る付属装置によれば、判定部は、第1の所定期間に関する全ての実測電流値のうち、対応する基準電流値と一致する実測電流値の割合が第1のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。従って例えば、突発的なノイズ等に起因して正規品の実測電流値が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
本発明の第20の態様に係る付属装置は、第17の態様に係る付属装置において特に、前記判定部は、前記電流値取得部による実測電流値の取得処理、前記パターン作成部による実測電流値パターンの作成処理、及び前記パターン比較部による実測電流値パターンと基準電流値パターンとの比較処理をN回(Nは複数)実行し、前記判定部は、前記パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上であるか否かによって、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第20の態様に係る付属装置によれば、判定部は、電流値取得部による実測電流値の取得処理、パターン作成部による実測電流値パターンの作成処理、及びパターン比較部による実測電流値パターンと基準電流値パターンとの比較処理を複数N回実行し、パターン比較部によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上であるか否かによって、付属装置が正規品であるか非正規品であるかを判定する。このように、電流値取得部、パターン作成部、及びパターン比較部による一連の処理を複数N回繰り返して実行し、パターン比較部によるN回の比較結果に基づいて付属装置の真贋判定を行うことにより、判定精度を向上することが可能となる。
本発明の第21の態様に係る付属装置は、第17〜第20のいずれか一つの態様に係る付属装置において特に、前記判定部はさらに、複数の所定期間のうち第2の所定期間に関して前記パターン作成部によって作成された第2の実測電流値パターンと、第2の所定期間に関して予め求められた第2の基準電流値パターンとの、前記パターン比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第21の態様に係る付属装置によれば、判定部はさらに、複数の所定期間のうち第2の所定期間に関してパターン作成部によって作成された第2の実測電流値パターンと、第2の所定期間に関して予め求められた第2の基準電流値パターンとの、パターン比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間のみならず第2の所定期間に関しても実測電流値パターンと基準電流値パターンとの比較を行うことにより、第1の所定期間及び第2の所定期間の双方の比較結果に基づいて付属装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
本発明の第22の態様に係る付属装置は、第17〜第21のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値に基づいて、所定の実測代表値を算出する代表値算出部と、前記代表値算出部によって算出された実測代表値と、正規品又は非正規品に関して予め求められた代表値である基準代表値とを比較する代表値比較部と、をさらに有し、前記判定部はさらに、第1の所定期間に関して前記代表値算出部によって算出された第1の実測代表値と、第1の所定期間に関して予め求められた第1の基準代表値との、前記代表値比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第22の態様に係る付属装置によれば、判定部はさらに、第1の所定期間に関して代表値算出部によって算出された第1の実測代表値と、第1の所定期間に関して予め求められた第1の基準代表値との、代表値比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。このように、実測電流値パターンと基準電流値パターンとの比較のみならず、実測代表値と基準代表値との比較を行うことにより、双方の比較結果に基づいて付属装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
本発明の第23の態様に係る付属装置は、第17〜第22のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値に基づいて、所定の実測代表値を算出する代表値算出部と、前記代表値算出部によって算出された実測代表値と、正規品又は非正規品に関して予め求められた代表値である基準代表値とを比較する代表値比較部と、をさらに有し、前記判定部はさらに、複数の所定期間のうち第2の所定期間に関して前記代表値算出部によって算出された第2の実測代表値と、第2の所定期間に関して予め求められた第2の基準代表値との、前記代表値比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第23の態様に係る付属装置によれば、判定部はさらに、第2の所定期間に関して代表値算出部によって算出された第2の実測代表値と、第2の所定期間に関して予め求められた第2の基準代表値との、代表値比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、第2の所定期間に関して実測代表値と基準代表値とを比較することにより、双方の比較結果に基づいて付属装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、第1の所定期間と第2の所定期間とで判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第24の態様に係る付属装置は、第22又は第23の態様に係る付属装置において特に、前記代表値算出部は、実測代表値として、平均値、最大値、及び最小値の少なくとも一つを算出することを特徴とするものである。
第24の態様に係る付属装置によれば、代表値算出部は、実測代表値として、平均値、最大値、及び最小値の少なくとも一つを算出する。このように、平均値、最大値、及び最小値の少なくとも一つを実測代表値として使用することにより、実測代表値を簡易に算出することが可能となる。
本発明の第25の態様に係る付属装置は、第23の態様に係る付属装置において特に、前記代表値算出部は、連続する二つの第2の所定期間のうち、一方の第2の所定期間に関しては平均値、最大値、及び最小値のうち第1の値を算出し、他方の第2の所定期間に関しては第1の値とは異なる第2の値を算出することを特徴とするものである。
第25の態様に係る付属装置によれば、代表値算出部は、連続する二つの第2の所定期間のうち、一方の第2の所定期間に関しては平均値、最大値、及び最小値のうち第1の値を算出し、他方の第2の所定期間に関しては第1の値とは異なる第2の値を算出する。従って、連続する二つの第2の所定期間において判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第26の態様に係る付属装置は、第17〜第25のいずれか一つの態様に係る付属装置において特に、前記判定部は、前記電流値取得部によって取得された複数の実測電流値の中から、任意の実測電流値を選択する電流値選択部と、前記電流値選択部によって選択された実測電流値と、正規品又は非正規品に関して予め求められた電流値である基準電流値とを比較する電流値比較部と、をさらに有し、前記判定部はさらに、複数の所定期間のうち第3の所定期間に関して前記電流値選択部によって選択された実測電流値と、第3の所定期間に関して予め求められた基準電流値との、前記電流値比較部による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第26の態様に係る付属装置によれば、判定部はさらに、第3の所定期間に関して電流値選択部によって選択された実測電流値と、第3の所定期間に関して予め求められた基準電流値との、電流値比較部による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。このように、第1の所定期間に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、第3の所定期間に関して実測電流値と基準電流値とを比較することにより、双方の比較結果に基づいて付属装置の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、第1の所定期間と第3の所定期間とで判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第27の態様に係る付属装置は、第17〜第26のいずれか一つの態様に係る付属装置において特に、前記判定部はさらに、複数の所定期間の中から第1の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第27の態様に係る付属装置によれば、期間設定部は、複数の所定期間の中から第1の所定期間を可変に設定する。従って、付属装置の真贋判定を実行する対象となる第1の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第28の態様に係る付属装置は、第21又は第23の態様に係る付属装置において特に、前記判定部はさらに、複数の所定期間の中から第2の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第28の態様に係る付属装置によれば、期間設定部は、複数の所定期間の中から第2の所定期間を可変に設定する。従って、付属装置の真贋判定を実行する対象となる第2の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第29の態様に係る付属装置は、第26の態様に係る付属装置において特に、前記判定部はさらに、複数の所定期間の中から第3の所定期間を可変に設定する期間設定部をさらに有することを特徴とするものである。
第29の態様に係る付属装置によれば、期間設定部は、複数の所定期間の中から第3の所定期間を可変に設定する。従って、付属装置の真贋判定を実行する対象となる第3の所定期間を期間設定部によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
本発明の第30の態様に係る付属装置は、第17〜第29のいずれか一つの態様に係る付属装置において特に、前記付属装置は、基準電流値パターンが予め記憶された第1の記憶部をさらに備え、前記判定部は、前記第1の記憶部から基準電流値パターンを読み出すことを特徴とするものである。
第30の態様に係る付属装置によれば、基準電流値パターンは付属装置内の第1の記憶部に記憶されている。付属装置の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある付属装置に関して求めた基準電流値パターンを、その付属装置内の第1の記憶部に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。
本発明の第31の態様に係る付属装置は、第17〜第29のいずれか一つの態様に係る付属装置において特に、前記情報処理装置は、基準電流値パターンが予め記憶された第2の記憶部を備え、前記判定部は、前記第2の記憶部から基準電流値パターンを読み出すことを特徴とするものである。
第31の態様に係る付属装置によれば、基準電流値パターンは情報処理装置内の第2の記憶部に予め記憶されており、判定部は第2の記憶部から基準電流値パターンを読み出す。従って、基準電流値パターンと実測電流値パターンとが一致しない場合には、情報処理装置及び付属装置の少なくとも一方が非正規品であると判定できるため、その場合には情報処理システムの動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
本発明の第32の態様に係る付属装置は、第17〜第29のいずれか一つの態様に係る付属装置において特に、前記付属装置は、第1の基準電流値パターンが予め記憶された第1の記憶部をさらに備え、前記情報処理装置は、第2の基準電流値パターンが予め記憶された第2の記憶部を備え、前記判定部は、前記第1の記憶部から第1の基準電流値パターンを読み出し、前記第2の記憶部から第2の基準電流値パターンを読み出すことを特徴とするものである。
第32の態様に係る付属装置によれば、判定部は、付属装置内の第1の記憶部から第1の基準電流値パターンを読み出し、情報処理装置内の第2の記憶部から第2の基準電流値パターンを読み出す。情報処理装置の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、ある情報処理装置に関して求めた第1の基準電流値パターンを、その情報処理装置内の第1の記憶部に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。また、第2の基準電流値パターンは情報処理装置内の第2の記憶部に予め記憶されており、判定部は第2の記憶部から第2の基準電流値パターンを読み出す。従って、第1の基準電流値パターンと第2の基準電流値パターンとが一致しない場合や、第2の基準電流値パターンと実測電流値パターンとが一致しない場合には、情報処理装置及び付属装置の少なくとも一方が非正規品であると判定できるため、その場合には情報処理システムの動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
本発明の第33の態様に係るプログラムは、情報処理装置に外部接続される付属装置との間でデータの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、を備える前記情報処理装置に搭載されるコンピュータを、前記情報処理装置が正規品であるか非正規品であるかを判定する判定手段として機能させるためのプログラムであって、前記判定手段は、複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得する電流値取得手段と、前記電流値取得手段によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成手段と、前記パターン作成手段によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するパターン比較手段と、を備え、前記判定手段は、前記情報処理装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記パターン作成手段によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記パターン比較手段による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第33の態様に係るプログラムによれば、判定手段は、第1の所定期間に関してパターン作成手段によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、パターン比較手段による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第33の態様に係るプログラムによれば、判定手段は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、情報処理装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
本発明の第34の態様に係るプログラムは、付属装置に外部接続される情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、を備える前記付属装置に搭載されるコンピュータを、前記付属装置が正規品であるか非正規品であるかを判定する判定手段として機能させるためのプログラムであって、前記判定手段は、複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得する電流値取得手段と、前記電流値取得手段によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するパターン作成手段と、前記パターン作成手段によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するパターン比較手段と、を備え、前記判定手段は、前記付属装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記パターン作成手段によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記パターン比較手段による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第34の態様に係るプログラムによれば、判定手段は、第1の所定期間に関してパターン作成手段によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、パターン比較手段による比較結果に基づいて、付属装置が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第34の態様に係るプログラムによれば、判定手段は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、付属装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
本発明の第35の態様に係る情報処理装置の真贋判定方法は、情報処理装置に外部接続される付属装置との間でデータの送受信を行う信号処理回路と、前記信号処理回路に電源を供給する電源供給部と、前記電源供給部から前記信号処理回路に流れる電流を測定する電流測定部と、を備える前記情報処理装置において、前記情報処理装置が正規品であるか非正規品であるかを判定する、情報処理装置の真贋判定方法であって、(A)複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得するステップと、(B)前記ステップ(A)によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するステップと、(C)前記ステップ(B)によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するステップと、を備え、前記情報処理装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記ステップ(B)によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記ステップ(C)による比較結果に基づいて、前記情報処理装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第35の態様に係る情報処理装置の真贋判定方法によれば、第1の所定期間に関してステップ(B)によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、ステップ(C)による比較結果に基づいて、情報処理装置が正規品であるか非正規品であるかが判定される。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第35の態様に係る情報処理装置の真贋判定方法によれば、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとが比較されるため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、情報処理装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
本発明の第36の態様に係る付属装置の真贋判定方法は、付属装置に外部接続される情報処理装置との間でデータの送受信を行う制御回路と、前記制御回路に電源を供給する電源供給部と、前記電源供給部から前記制御回路に流れる電流を測定する電流測定部と、を備える前記付属装置において、前記付属装置が正規品であるか非正規品であるかを判定する、付属装置の真贋判定方法であって、(A)複数の測定タイミングで前記電流測定部によって測定された複数の実測電流値を、前記電流測定部から取得するステップと、(B)前記ステップ(A)によって取得された複数の実測電流値を時系列順に配列することによって、実測電流値パターンを作成するステップと、(C)前記ステップ(B)によって作成された実測電流値パターンと、正規品又は非正規品に関して予め求められた基準電流値のパターンである基準電流値パターンとを比較するステップと、を備え、前記付属装置の動作期間を区分した複数の所定期間のうち第1の所定期間に関して前記ステップ(B)によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、前記ステップ(C)による比較結果に基づいて、前記付属装置が正規品であるか非正規品であるかを判定することを特徴とするものである。
第36の態様に係る付属装置の真贋判定方法によれば、第1の所定期間に関してステップ(B)によって作成された第1の実測電流値パターンと、第1の所定期間に関して予め求められた第1の基準電流値パターンとの、ステップ(C)による比較結果に基づいて、付属装置が正規品であるか非正規品であるかが判定される。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。第36の態様に係る付属装置の真贋判定方法によれば、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとが比較されるため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、付属装置が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
本発明によれば、情報処理装置及び付属装置の各々において、自身が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明の実施の形態に係るメモリシステム1の構成を示す図である。図1に示すようにメモリシステム1は、ホスト装置2と、ホスト装置2に着脱自在に接続されたメモリ装置3とを備えて構成されている。ホスト装置2は、例えばパーソナルコンピュータ等の情報処理装置であり、メモリ装置3は、例えばフラッシュメモリのメモリカードである。他の例として、情報処理装置はプリンタ又は複合機の本体であり、付属装置はトナーカートリッジである。あるいは、情報処理装置はゲーム機の本体であり、付属装置はゲームプログラムが格納されたメモリカードである。
図2は、ホスト装置2の構成を簡略化して示す図である。図2に示すようにホスト装置2は、SoC(System on a Chip)11、電源制御部12、電流値測定回路13、メモリインタフェース14、及び不揮発性の記憶部15を備えて構成されている。記憶部15には、後述する期待値データ300が格納されている。
SoC11は、バス21を介して相互に接続された、CPU22、復号器23、期待値格納メモリ24、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は、ホストインタフェース41、デコーダ42、及びメモリコアインタフェース43を備えて構成されている。
図4は、図2に示したプログラム100をCPU22が実行することによって実現される機能を示す図である。図4に示すように、記憶部29から読み出したプログラム100をCPU22が実行することによって、CPU22は、ホスト装置2が正規品であるか非正規品であるかを判定する真贋判定部50として機能する。換言すれば、プログラム100は、情報処理装置としてのホスト装置2に搭載されるコンピュータを、真贋判定部50として機能させるためのプログラムである。図4に示すように真贋判定部50は、期間設定部51、電流値取得部52、パターン作成部53、及びパターン比較部54として機能する。なお、真贋判定部50の機能は、CPU22によるソフトウェア処理によって実現する場合に限らず、専用回路等を用いたハードウェア処理によって実現しても良い。
ホスト装置2の正規品(純正品)と非正規品(偽造品)とでは、半導体デバイスの構造や製造プロセス等が異なるため、あるいは、正規プログラムと不正プログラム(マルウェア)とでは動作内容が異なるため、消費電流特性が顕著に相違する。本実施の形態に係るホスト装置2は、ホスト装置2の消費電流値(絶対値)を実測することによって実測電流値パターンを作成し、その実測電流値パターンと、正規品又は非正規品に関する既知の基準電流値パターンとを比較することによって、自身が正規品であるか非正規品であるかの自己真贋判定を行う。以下、図面を参照しながら詳細に説明する。
図5は、ホスト装置2の動作を説明するためのフローチャートである。図6は、正規品のホスト装置2の消費電流特性の一例を示す図である。図6に示すように、ホスト装置2の通常動作期間は処理内容に応じて複数の期間Pに区分することができる。図6に示した例では、通常動作期間はこの順に並ぶ7つの期間P1〜P7に区分されている。例えば、期間P1は起動直後のパワーオン期間であり、期間P2は各種設定を初期化するためのファーストブート期間であり、期間P3はファームウェアの更新やプログラム番地の設定等を行うためのセカンドブート期間であり、期間P4はメモリ装置3との間でコマンドやコンテンツデータの送受信を行うメモリアクセス期間であり、期間P5はメモリ装置3から読み出したコンテンツデータに対して画像処理を行う画像処理期間であり、期間P6は図示しないディスプレイに画像を表示する画像表示期間であり、期間P7は何らかのバックグラウンド処理を伴うスタンバイ期間である。期間Pの他の例としては、バックグラウンド処理を伴わないスリープ期間、メモリ装置3との相互認証に向けての鍵交換期間、及び相互認証期間等が想定される。
正規品のホスト装置2であれば、実装される半導体デバイスの種類や各デバイスの製造プロセスが厳密に管理されており、また、正規プログラムによって動作内容が規定されているため、各期間P1〜P7におけるホスト装置2の消費電流特性はほぼ一定である。そこで、各期間P1〜P7の消費電流特性を示す情報が工場出荷前に作成されて、暗号化された期待値データ300(図2参照)として不揮発性の記憶部15に格納されている。本実施の形態の例では、期間P1〜P7の各々に関する、
・消費電流値を所定のサンプリング周波数でサンプリングすることによって得られる消費電流値の遷移パターン(基準電流値パターン)
・消費電流値の最大値、最小値、及び平均値(基準代表値)
・スタンバイ期間における微小な消費電流値(基準電流値)
が、期待値データ300として記憶部15に格納されている。期待値データ300は更新することも可能であり、例えば、ホスト装置2がアクセス可能な通信ネットワークから最新の期待値データ300をダウンロードして記憶部15に格納することも可能である。
なお、排除対象となる非正規品が既に特定されている場合には、正規品に関する基準電流値パターン、基準代表値、又は基準電流値に代えて、非正規品に関する基準電流値パターン、基準代表値、又は基準電流値を記憶部15に格納しても良い。例えば、正規品に関する基準電流値パターンを用いる場合には、実測電流値パターン(詳細は後述する)と基準電流値パターンとが一致するか否かによって、ホスト装置2が正規品であるか否かを判定できる。非正規品に関する基準電流値パターンを用いる場合には、実測電流値パターンと基準電流値パターンとが一致するか否かによって、ホスト装置2が非正規品であるか否かを判定できる。基準代表値及び基準電流値についても同様である。本実施の形態及び後述の各変形例では、正規品に関する基準電流値パターン、基準代表値、又は基準電流値を用いる例について説明する。
また、期間P1〜P7の各々の期待値データ300としては、各期間の消費電流特性等に応じて、基準電流値パターン、基準代表値、及び基準電流値のいずれかを用いることが望ましい。例えば以下の通りである。
パワーオン期間は突入電流が大きく、またその変化態様が同一デバイスでも一定ではないため、期間P1に関しては対象期間から除外するのが望ましい。
ファーストブート期間は正規品と非正規品とで消費電流の変化パターンに大差がないため、期間P2に関しても対象期間から除外するのが望ましい。
セカンドブート期間、メモリアクセス期間、画像処理期間、及び画像表示期間については、消費電流値及びその変化量が比較的大きいため、期間P3〜P6に関しては、判定精度を優先する場合には基準電流値パターンを、判定処理の負荷軽減を優先する場合には基準代表値を用いるのが好適である。
スタンバイ期間は消費電流値及びその変化量が小さいため、期間P7に関しては基準電流値を用いるのが好適である。但し、バックグラウンド処理に伴う消費電流が比較的大きい場合には、スタンバイ期間に関しても基準電流値パターンを用いることができる。なお、バックグラウンド処理を伴わないスリープ期間に関しては、基準電流値パターンの構築が期待できないため、基準電流値を用いるのが好適である。
図5を参照して、メモリ装置3がホスト装置2に接続されると、まずステップSP101において、ホスト装置2からメモリ装置3への駆動電源の供給が開始される。なお、SoC11には電源VCC1から駆動電源が供給されている。
次にステップSP102においてCPU22(期間設定部51)は、期間P1〜P7の中から、真贋判定の実行対象となる少なくとも一つの判定対象期間(以下「第1の所定期間」と称す)を設定する。期間設定部51は、予め定められた規則に従って第1の所定期間を静的に変更することができ、あるいは、真贋判定の累積実行回数やメモリシステム1の稼働状況等に応じて第1の所定期間を動的に変更することができる。本実施の形態の例では、セカンドブート期間である期間P3が第1の所定期間として設定されたものとする。また、期間設定部51は、第1の所定期間に対して実行する真贋判定の処理内容を設定する。本実施の形態の例では、「電流値パターン同士の比較処理」が、真贋判定の処理内容として設定される。但し、電流値パターン同士の比較処理がデフォルト処理として実行される場合には、この設定は省略しても良い。
次にステップSP103においてCPU22は、記憶部15から所望の期待値データ300を読み出す。本実施の形態の例では、真贋判定の処理内容が「期間P3を対象とする電流値パターン同士の比較処理」に設定されているため、期間P3に関する基準電流値パターンと、それに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。許容誤差値は、期間P3に関する基準電流値パターンにおける電流値の分布態様等に応じて、プラスマイナス数%からプラスマイナス10数%の範囲内で最適な値が予め設定されている。読み出された期待値データ300は、暗号化された状態で、SoC11の復号器23に入力される。復号器23は、暗号化されている期待値データ300を復号化する。復号化された期待値データ300は、期待値格納メモリ24に格納される。本実施の形態の例では、期間P3に関する基準電流値パターンと、それに対応する所定の許容誤差値を示すデータとが、期待値格納メモリ24に格納される。
期間P3が開始されると、次にステップSP104においてCPU22は、ADC26を駆動する。電源VCC1からSoC11への電源供給が開始されたことにより、抵抗素子Rに電流が流れる。電流値測定回路13は、抵抗素子Rの両端電圧を所定のサンプリング周波数(例えば1MHz〜数MHz)でサンプリングすることによって、電源VCC1からSoC11へ流れる電流の電流値を実測する。実測された電流値は、図示しないプリアンプによって増幅された後、ADC26によってAD変換され、その後、電流値取得部52によってCPU22に順次入力される。なお、ADC26によるAD変換よりも前にプリアンプによって実測電流値を増幅する上記の構成に代えて、ADC26によるAD変換よりも後に乗算器によって実測電流値を増幅する構成を採用しても良い。
次にステップSP105においてCPU22(パターン作成部53)は、電流値取得部52によって順次取得された複数の実測電流値を時系列順に配列することによって、期間P3に関するホスト装置2の実測電流値パターンを作成する。
次にステップSP106においてCPU22(パターン比較部54)は、期待値格納メモリ24から基準電流値パターンと許容誤差値を示すデータとを読み出して取得する。
次にステップSP107においてCPU22(パターン比較部54)は、パターン作成部53によって作成された実測電流値パターンと、期待値格納メモリ24から読み出した基準電流値パターンとを比較する。
図7は、実測電流値パターン及び基準電流値パターンの一例を示す図である。電流値測定回路13のサンプリング周波数が1MHz〜数MHzであり、期間P3の長さが数m秒〜数十m秒である場合には、実際には実測電流値パターン及び基準電流値パターンはそれぞれ数十万個〜数百万個の実測電流値及び基準電流値によって構成される。しかし図7では説明の簡単化のため、実測電流値パターンIP01及び基準電流値パターンIP02がそれぞれ7個の実測電流値X01〜X07及び基準電流値Y01〜Y07によって構成された例を示している。パターン比較部54は、それぞれ対応する実測電流値X01〜X07と基準電流値Y01〜Y07との差が、期待値格納メモリ24から読み出した許容誤差値以下であるか否かを比較する。
次にステップSP108においてCPU22(真贋判定部50)は、実測電流値X01〜X07と基準電流値Y01〜Y07との差の全てが許容誤差値以下であるか否かを判定する。そして真贋判定部50は、これらの差の全てが許容誤差値以下である場合(つまり完全一致する場合)には、ホスト装置2は正規品であると判定して、真贋判定処理を終了する。図7に示した例では、実測電流値X01〜X07と基準電流値Y01〜Y07とが完全一致するため、ホスト装置2は正規品であると判定される。
一方、少なくとも一つの差が許容誤差値を超える場合(つまり完全一致しない場合)には、真贋判定部50は、ホスト装置2は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。例えば、電源制御部12に電源供給を停止させるための制御コマンドをGPIO25にセットすることにより、ホスト装置2からメモリ装置3への電源供給を停止する。
図8は、実測電流値パターンの他の例を示す図である。実測電流値パターンIP01Aを構成する7個の実測電流値の最大値、最小値、及び平均値は、基準電流値パターンIP02のそれらに一致している。しかし、実測電流値パターンIP01Aの各実測電流値が基準電流値パターンIP02の各基準電流値と完全一致しないため、ホスト装置2は非正規品と判定される。また、実測電流値パターンIP01Bにおいて互いに隣接する実測電流値間の変化率は、基準電流値パターンIP02のそれらに一致している。しかし、実測電流値パターンIP01Bの各実測電流値が基準電流値パターンIP02の各基準電流値と完全一致しないため、ホスト装置2は非正規品と判定される。
なお、以上の説明では、実測電流値X01〜X07と基準電流値Y01〜Y07との差を求める演算、及び、各電流値の差が許容誤差値以下であるか否かの演算を、CPU22のソフトウェア処理によって実行する例について述べた。しかし、電流値測定回路13の膨大なサンプリング数に起因してCPU22の処理負荷が増大することを回避すべく、これらの演算は、専用の演算器を用いたハードウェア処理によって実行しても良い。
図9は、ホスト装置2の他の構成例を示す図である。SoC11に演算器200が実装されている。実測電流値X01〜X07と基準電流値Y01〜Y07との差を求める演算、及び、各電流値の差が許容誤差値以下であるか否かの演算は、演算器200によって実行され、それらの演算の結果が演算器200からCPU22に入力される。
このように本実施の形態に係るホスト装置2(情報処理装置)によれば、真贋判定部50(判定部)は、期間P3(第1の所定期間)に関してパターン作成部53によって作成された実測電流値パターンIP01(第1の実測電流値パターン)と、期間P3に関して予め求められた基準電流値パターンIP02(第1の基準電流値パターン)との、パターン比較部54による比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。本実施の形態に係るホスト装置2によれば、真贋判定部50は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、ホスト装置2が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
また、本実施の形態に係るホスト装置2によれば、真贋判定部50は、期間P3に関する全ての実測電流値X01〜X07が、対応する基準電流値Y01〜Y07と完全一致しているか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って例えば、非正規品が、実測電流値パターンIP01の一部において正規品のそれと異なる場合であっても、そのような非正規品を高精度に排除することが可能となる。
また、本実施の形態に係るホスト装置2によれば、期間設定部51は、複数の所定期間P1〜P7の中から判定対象期間を可変に設定する。従って、ホスト装置2の真贋判定を実行する対象となる第1の所定期間を期間設定部51によって静的又は動的に変更できるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
また、本実施の形態に係るホスト装置2によれば、期待値データ300(基準電流値パターン)はホスト装置2内の記憶部15(第1の記憶部)に予め記憶されている。ホスト装置2の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、あるホスト装置2に関して求めた基準電流値パターンを、そのホスト装置2内の記憶部15に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。
また、本実施の形態に係るホスト装置2によれば、ホスト装置2にはメモリ装置3が接続され、SoC11は、メモリ装置3との間でデータの送受信を行う。従って、ホスト装置2とそれに接続されるメモリ装置3とを備えるメモリシステム1において、ホスト装置2が自己真贋判定を行うことにより、非正規品のホスト装置2が使用されることを予め回避することが可能となる。
なお、上記実施の形態ではホスト装置2にメモリ装置3が接続されたメモリシステム1を例にとって説明したが、メモリ装置3が接続されずにホスト装置2が単独で動作する場合においても本発明を適用することは可能である。
以下、上記実施の形態に対する様々な変形例について説明する。以下に述べる変形例は、任意に組み合わせて適用することが可能である。
<変形例1>
上記実施の形態では、真贋判定部50は、期間P3に関する全ての実測電流値X01〜X07が、対応する基準電流値Y01〜Y07と完全一致している場合に、ホスト装置2が正規品であると判定した。
これに対して本変形例に係る真贋判定部50は、期間P3に関する全ての実測電流値X01〜X07のうち、対応する基準電流値Y01〜Y07と一致する実測電流値X01〜X07の割合が第1のしきい値以上である場合に、ホスト装置2が正規品であると判定し、一方、当該割合が第1のしきい値未満である場合に、ホスト装置2が非正規品であると判定する。第1のしきい値は、要求される判定精度等に応じて最適値がステップSP102において併せて設定され、少なくとも51%以上の値に設定される。
本変形例に係るホスト装置2によれば、真贋判定部50は、期間P3に関する全ての実測電流値X01〜X07のうち、対応する基準電流値Y01〜Y07と一致する実測電流値X01〜X07の割合が第1のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。従って例えば、突発的なノイズ等に起因して正規品の実測電流値X01〜X07が瞬間的に増減した場合であっても、正規品が誤って非正規品と判定される事態を回避することが可能となる。
<変形例2>
上記実施の形態では、パターン作成部53は実測電流値パターンを一回だけ作成し、パターン比較部54は実測電流値パターンと基準電流値パターンとを一回だけ比較し、真贋判定部50はパターン比較部54による一回だけの比較結果に基づいてホスト装置2の真贋判定を行った。
これに対して本変形例に係る真贋判定部50は、パターン比較部54による複数回の比較結果に基づいてホスト装置2の真贋判定を行う。
図10は、ホスト装置2の動作を説明するためのフローチャートである。ステップSP107に引き続き、ステップSP201において真贋判定部50は、パターン比較部54による実測電流値パターンと基準電流値パターンとの比較処理が、所定のN回(Nは複数)実行されたか否かを判定する。
N回の比較処理が実行されていない場合には、CPU22は、ステップSP104〜SP107の処理を再度実行する。一方、N回の比較処理が実行された場合には、CPU22は、ステップSP108の処理に移行する。
ステップSP108において真贋判定部50は、パターン比較部54によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上である場合に、ホスト装置2が正規品であると判定し、一方、当該割合が第2のしきい値未満である場合に、ホスト装置2が非正規品であると判定する。所定回数Nの値は、要求される判定精度等に応じて最適値がステップSP102において併せて設定される。また、第2のしきい値は、要求される判定精度等に応じて最適値がステップSP102において併せて設定され、少なくとも51%以上の値に設定される。
本変形例に係るホスト装置2によれば、真贋判定部50は、電流値取得部52による実測電流値の取得処理、パターン作成部53による実測電流値パターンの作成処理、及びパターン比較部54による実測電流値パターンと基準電流値パターンとの比較処理を複数N回実行し、パターン比較部54によるN回の比較処理のうち、実測電流値パターンが基準電流値パターンに一致していると判定された割合が第2のしきい値以上であるか否かによって、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、電流値取得部52、パターン作成部53、及びパターン比較部54による一連の処理を複数N回繰り返して実行し、パターン比較部54によるN回の比較結果に基づいてホスト装置2の真贋判定を行うことにより、判定精度を向上することが可能となる。
<変形例3>
上記実施の形態では、期間設定部51は、ホスト装置2の動作期間を区分した複数の期間P1〜P7のうち一つの期間P3のみを、判定対象期間として設定した。
これに対して本変形例に係る期間設定部51は、期間P1〜P7のうちの複数の期間を、判定対象期間として設定する。
図11は、ホスト装置2の消費電流特性の一例を示す図である。この例において期間設定部51は、セカンドブート期間である期間P3(第1の所定期間)とメモリアクセス期間である期間P4(第2の所定期間)とを、ステップSP102において判定対象期間として設定する。
また、ステップSP102において期間設定部51は、期間P3,P4の各々に対して実行する真贋判定の処理内容を設定する。本変形例の例では、「電流値パターン同士の比較処理」が、真贋判定の処理内容としていずれも設定される。
ステップSP103では、期間P3,P4の各々に関する基準電流値パターンと、それらに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。これらの情報は、記憶部15からSoC11に入力され、復号器23によって復号化された後、期待値格納メモリ24に格納される。
電流値取得部52は、期間P3,P4の各々に関して実測電流値の取得処理を実行し、パターン作成部53は、期間P3,P4の各々に関して実測電流値パターンの作成処理を実行し、パターン比較部54は、期間P3,P4の各々に関して実測電流値パターンと基準電流値パターンとの比較処理を実行する。
真贋判定部50は、期間P3に関するパターン比較部54による比較結果と、期間P4に関するパターン比較部54による比較結果とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。例えば、期間P3,P4の双方において、実測電流値パターンと基準電流値パターンとが一致する場合には、ホスト装置2が正規品であると判定し、一方、期間P3,P4の少なくとも一方において、実測電流値パターンと基準電流値パターンとが一致しない場合には、ホスト装置2が非正規品であると判定する。
本変形例に係るホスト装置2によれば、真贋判定部50はさらに、期間P4(第2の所定期間)に関してパターン作成部53によって作成された実測電流値パターン(第2の実測電流値パターン)と、期間P4に関して予め求められた基準電流値パターン(第2の基準電流値パターン)との、パターン比較部54による比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、期間P3のみならず期間P4に関しても実測電流値パターンと基準電流値パターンとの比較を行うことにより、期間P3,P4の双方の比較結果に基づいてホスト装置2の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
<変形例4>
上記実施の形態では、真贋判定部50は、期間P3に関して、実測電流値パターンと基準電流値パターンとの比較結果のみに基づいて、ホスト装置2の真贋判定を行った。
これに対して本変形例に係る真贋判定部50は、期間P3に関して、実測電流値パターンと基準電流値パターンとの比較結果に加えて、実測代表値と基準代表値との比較結果に基づいて、ホスト装置2の真贋判定を行う。上記実施の形態で説明した通り、期間P1〜P7の各々に関する消費電流値の最大値、最小値、及び平均値(基準代表値)が、期待値データ300の一部として記憶部15に格納されている。
図12は、図2に示したプログラム100をCPU22が実行することによって実現される機能を示す図である。図12に示すように真贋判定部50は、期間設定部51、電流値取得部52、パターン作成部53、パターン比較部54、代表値算出部55、及び代表値比較部56として機能する。
図13は、ホスト装置2の消費電流特性の一例を示す図である。この例によると、ステップSP102において期間設定部51は、セカンドブート期間である期間P3を判定対象期間として設定する。また、ステップSP102において期間設定部51は、「電流値パターン同士の比較処理」並びに「最大値、最小値、及び平均値同士の比較処理」を、期間P3に対して実行する真贋判定の処理内容として設定する。
図14は、ホスト装置2の動作を説明するためのフローチャートである。ステップSP103では、期間P3に関する基準電流値パターンと、期間P3に関する基準代表値(基準最大値、基準最小値、及び基準平均値)と、それらに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。これらの情報は、記憶部15からSoC11に入力され、復号器23によって復号化された後、期待値格納メモリ24に格納される。
期間P3に関して、電流値取得部52は実測電流値の取得処理を実行し、パターン作成部53は実測電流値パターンの作成処理を実行し、パターン比較部54は実測電流値パターンと基準電流値パターンとの比較処理を実行する。
ステップSP301において代表値算出部55は、期間P3に関して、電流値取得部52によって取得された実測電流値X01〜X07に基づいて、実測最大値、実測最小値、及び実測平均値を求める。
ステップSP302において代表値比較部56は、基準代表値を期待値格納メモリ24から取得する。
また、ステップSP303において代表値比較部56は、実測最大値と基準最大値との差が許容誤差値以下であるか否か、実測最小値と基準最小値との差が許容誤差値以下であるか否か、及び、実測平均値と基準平均値との差が許容誤差値以下であるか否か、を判定する。
真贋判定部50は、実測電流値パターンと基準電流値パターンとが一致し、かつ、上記3つの代表値の差がいずれも許容誤差値以下である場合に、ホスト装置2は正規品であると判定する。
なお、実測代表値を求める演算、実測代表値と基準代表値との差を求める演算、及び、実測代表値と基準代表値との差が許容誤差値以下であるか否かの演算は、図9に示した演算器200によって実行しても良い。また、3つの実測代表値(最大値、最小値、及び平均値)の全てを使用するのではなく、一部の実測代表値を使用しても良い。
このように本変形例に係るホスト装置2によれば、真贋判定部50は、期間P3に関して、パターン比較部54による実測電流値パターンと基準電流値パターンとの比較結果に加えて、代表値比較部56による実測代表値と基準代表値との比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、実測電流値パターンと基準電流値パターンとの比較のみならず、実測代表値と基準代表値との比較を行うことにより、双方の比較結果に基づいてホスト装置2の真贋判定を行うことができるため、判定精度をより向上することが可能となる。
また、本変形例に係るホスト装置2によれば、代表値算出部55は、実測代表値として、平均値、最大値、及び最小値の少なくとも一つを算出する。このように、平均値、最大値、及び最小値の少なくとも一つを実測代表値として使用することにより、実測代表値を簡易に算出することが可能となる。
<変形例5>
上記変形例4では、期間設定部51は、複数の期間P1〜P7のうち一つの期間P3のみを判定対象期間として設定した。
これに対して本変形例に係る期間設定部51は、期間P1〜P7のうちの複数の期間を、判定対象期間として設定する。
図15は、ホスト装置2の消費電流特性の一例を示す図である。この例において期間設定部51は、セカンドブート期間である期間P3と画像表示期間である期間P6とを、ステップSP102において判定対象期間として設定する。
また、ステップSP102において期間設定部51は、期間P3,P6の各々に対して実行する真贋判定の処理内容を設定する。本変形例の例では、期間P3に関する真贋判定の処理内容としては「電流値パターン同士の比較処理」が設定され、期間P6に関する真贋判定の処理内容としては「最大値同士の比較処理」が設定される。
ステップSP103では、期間P3に関する基準電流値パターンと、期間P6に関する基準最大値と、それらに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。これらの情報は、記憶部15からSoC11に入力され、復号器23によって復号化された後、期待値格納メモリ24に格納される。
電流値取得部52は、期間P3に関して実測電流値の取得処理を実行し、パターン作成部53は、期間P3に関して実測電流値パターンの作成処理を実行し、パターン比較部54は、期間P3に関して実測電流値パターンと基準電流値パターンとの比較処理を実行する。
また、電流値取得部52は、期間P6に関して実測電流値の取得処理を実行し、代表値算出部55は、期間P6に関して実測最大値を求め、代表値比較部56は、期間P6に関して実測最大値と基準最大値との比較処理を実行する。
真贋判定部50は、期間P3に関するパターン比較部54による比較結果と、期間P6に関する代表値比較部56による比較結果とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。例えば、期間P3に関して実測電流値パターンと基準電流値パターンとが一致し、かつ、期間P6に関して実測最大値と基準最大値とが一致する場合には、ホスト装置2が正規品であると判定する。
本変形例に係るホスト装置2によれば、真贋判定部50は、パターン比較部54による期間P3に関する電流値パターンの比較結果と、代表値比較部56による期間P6に関する代表値の比較結果とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、期間P3に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、期間P6に関して実測代表値と基準代表値とを比較することにより、双方の比較結果に基づいてホスト装置2の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、期間P3と期間P6とで真贋判定の処理内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
<変形例6>
図16は、ホスト装置2の消費電流特性の一例を示す図である。この例において期間設定部51は、セカンドブート期間である期間P3(第1の所定期間)と、画像処理期間である期間P5(第2の所定期間)と、期間P5に連続する期間P6(第2の所定期間)とを、ステップSP102において判定対象期間として設定する。
また、ステップSP102において期間設定部51は、期間P3,P5,P6の各々に対して実行する真贋判定の処理内容を設定する。本変形例の例では、期間P3に関する真贋判定の処理内容としては「電流値パターン同士の比較処理」が設定され、期間P5,P6に関する真贋判定の処理内容としては「代表値同士の比較処理」が設定される。ここで、期間設定部51は、期間P5,P6のように第2の所定期間が連続する場合には、一方の第2の所定期間と他方の第2の所定期間とで、使用する代表値を異ならせる。本変形の例では、期間P5に関する真贋判定の処理内容としては「最小値同士の比較処理」が設定され、期間P6に関する真贋判定の処理内容としては「最大値同士の比較処理」が設定される。
ステップSP103では、期間P3に関する基準電流値パターンと、期間P5に関する基準最小値と、期間P6に関する基準最大値と、それらに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。これらの情報は、記憶部15からSoC11に入力され、復号器23によって復号化された後、期待値格納メモリ24に格納される。
電流値取得部52は、期間P3に関して実測電流値の取得処理を実行し、パターン作成部53は、期間P3に関して実測電流値パターンの作成処理を実行し、パターン比較部54は、期間P3に関して実測電流値パターンと基準電流値パターンとの比較処理を実行する。
また、電流値取得部52は、期間P5に関して実測電流値の取得処理を実行し、代表値算出部55は、期間P5に関して実測最小値を求め、代表値比較部56は、期間P5に関して実測最小値と基準最小値との比較処理を実行する。
また、電流値取得部52は、期間P6に関して実測電流値の取得処理を実行し、代表値算出部55は、期間P6に関して実測最大値を求め、代表値比較部56は、期間P6に関して実測最大値と基準最大値との比較処理を実行する。
真贋判定部50は、期間P3に関するパターン比較部54による比較結果と、期間P5,P6に関する代表値比較部56による比較結果とに基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。例えば、期間P3に関して実測電流値パターンと基準電流値パターンとが一致し、かつ、期間P5に関して実測最小値と基準最小値とが一致し、かつ、期間P6に関して実測最大値と基準最大値とが一致する場合には、ホスト装置2が正規品であると判定する。
本変形例に係るホスト装置2によれば、代表値算出部55は、連続する二つの第2の所定期間(P5,P6)のうち、一方の第2の所定期間(P5)に関しては平均値、最大値、及び最小値のうち第1の値(最小値)を算出し、他方の第2の所定期間(P6)に関しては第1の値とは異なる第2の値(最大値)を算出する。従って、連続する二つの第2の所定期間において真贋判定の処理内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
<変形例7>
上記実施の形態では、真贋判定部50は、期間P3に関して、実測電流値パターンと基準電流値パターンとの比較結果のみに基づいて、ホスト装置2の真贋判定を行った。
これに対して本変形例に係る真贋判定部50は、期間P3に関する実測電流値パターンと基準電流値パターンとの比較結果に加えて、スタンバイ期間に関する実測電流値と基準電流値との比較結果に基づいて、ホスト装置2の真贋判定を行う。上記実施の形態で説明した通り、スタンバイ期間における微小な消費電流値(基準電流値)が、期待値データ300の一部として記憶部15に格納されている。本変形例の例ではスタンバイ期間として一つの期間P7が存在するため、期間設定部51は、判定対象期間として期間P7を設定する。
図17は、図2に示したプログラム100をCPU22が実行することによって実現される機能を示す図である。図17に示すように真贋判定部50は、期間設定部51、電流値取得部52、パターン作成部53、パターン比較部54、電流値選択部57、及び電流値比較部58として機能する。
図18は、ホスト装置2の消費電流特性の一例を示す図である。この例によると、ステップSP102において期間設定部51は、セカンドブート期間である期間P3とスタンバイ期間である期間P7とを判定対象期間として設定する。また、ステップSP102において期間設定部51は、期間P3に対して実行する真贋判定の処理内容として「電流値パターン同士の比較処理」を設定し、期間P7に対して実行する真贋判定の処理内容として「電流値同士の比較処理」を設定する。
図19は、ホスト装置2の動作を説明するためのフローチャートである。ステップSP103では、期間P3に関する基準電流値パターンと、期間P7に関する基準電流値と、それらに対応する所定の許容誤差値を示すデータとが、所望の期待値データ300として記憶部15から読み出される。これらの情報は、記憶部15からSoC11に送信され、復号器23によって復号化された後、期待値格納メモリ24に格納される。
期間P3に関して、電流値取得部52は実測電流値の取得処理を実行し、パターン作成部53は実測電流値パターンの作成処理を実行し、パターン比較部54は実測電流値パターンと基準電流値パターンとの比較処理を実行する。
ステップSP401において電流値選択部57は、期間P7に関して、電流値取得部52によって取得された複数の実測電流値の中から任意の一つの実測電流値を選択する。スタンバイ期間に関しては消費電流値の絶対値が小さいため、どの実測電流値を選択しても大差はない。
ステップSP402において電流値比較部58は、基準電流値を期待値格納メモリ24から取得する。
また、ステップSP403において電流値比較部58は、ステップSP401で選択した実測電流値とステップSP402で取得した基準電流値との差が許容誤差値以下であるか否かを判定する。
真贋判定部50は、期間P3に関して実測電流値パターンと基準電流値パターンとが一致し、かつ、期間P7に関して実測電流値と基準電流値との差が許容誤差値以下である場合に、ホスト装置2は正規品であると判定する。
本変形例に係るホスト装置2によれば、真贋判定部50は、パターン比較部54による期間P3(第1の所定期間)に関する実測電流値パターンと基準電流値パターンとの比較結果に加えて、電流値比較部58による期間P7(第3の所定期間)に関する実測電流値と基準電流値との比較結果に基づいて、ホスト装置2が正規品であるか非正規品であるかを判定する。このように、期間P3に関して実測電流値パターンと基準電流値パターンとを比較するのみならず、期間P7に関して実測電流値と基準電流値とを比較することにより、双方の比較結果に基づいてホスト装置2の真贋判定を行うことができるため、判定精度をより向上することが可能となる。しかも、期間P3と期間P7とで判定の内容を異ならせることができるため、第三者による判定アルゴリズムの解析をより困難化することが可能となる。
<変形例8>
図20は、ホスト装置2の消費電流特性の一例を示す図である。図20に示した例では、期間P3,P4に関しては「電流値パターン同士の比較処理」による真贋判定が設定されており、期間P7に関しては「電流値同士の比較処理」による真贋判定が設定されており、期間P5に関しては「最小値同士の比較処理」による真贋判定が設定されており、期間P6に関しては「最大値同士の比較処理」による真贋判定が設定されており、期間P3に関しては「平均値同士の比較処理」による真贋判定が設定されている。つまり、期間P1〜P7に関して合計6つの真贋判定が設定されている。
第1の例として、真贋判定部50は、合計6つの真贋判定の全てにおいて「一致している」と判定された場合には、ホスト装置2は正規品であると判定し、一方、合計6つの真贋判定のうちの少なくとも一つの真贋判定において「一致していない」と判定された場合には、ホスト装置2は非正規品であると判定する。
第2の例として、真贋判定部50は、合計7つの真贋判定のうち「一致している」と判定された真贋判定の割合が第3のしきい値以上である場合には、ホスト装置2は正規品であると判定し、一方、当該割合が第3のしきい値未満である場合には、ホスト装置2は非正規品であると判定する。第3のしきい値は要求される判定制度等に応じて最適値が設定され、少なくとも51%以上の値が設定される。
<変形例9>
上記実施の形態では期待値データ300はホスト装置2内の記憶部15に格納されていたが、期待値データ300に代えて、メモリ装置3内に期待値データ301を格納しても良い。
図21は、メモリ装置3の構成を簡略化して示す図である。メモリコア32の所定のアドレス領域に、期待値データ300と同様の期待値データ301が、暗号化された状態で格納されている。但し、期待値データ301は、メモリコア32とは異なる不揮発性メモリに格納されていても良い。
ステップSP103においてCPU22は、所定のコマンドを発行することにより、メモリコア32から所望の期待値データ301を読み出す。読み出された期待値データ301は、暗号化された状態で、メモリ装置3からホスト装置2に送信され、SoC11の復号器23に入力される。復号器23は、暗号化されている期待値データ301を復号化する。復号化された期待値データ301は、期待値格納メモリ24に格納される。
本変形例に係るホスト装置2によれば、期待値データ301はメモリ装置3内のメモリコア32(第2の記憶部)に予め記憶されており、真贋判定部50はメモリコア32から期待値データ301を読み出す。従って、基準電流値パターンと実測電流値パターンとが一致しない場合には、ホスト装置2及びメモリ装置3の少なくとも一方が非正規品であると判定できるため、その場合にはメモリシステム1の動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
<変形例10>
上記実施の形態では期待値データ300はホスト装置2内の記憶部15に格納されていたが、期待値データ300に加えて、メモリ装置3内に期待値データ301を格納しても良い。
図22は、メモリシステム1の構成を簡略化して示す図である。ホスト装置2の記憶部15に期待値データ300が格納されており、メモリ装置3のメモリコア32に期待値データ301が格納されている。ホスト装置2及びメモリ装置3の双方が正規品であれば、期待値データ300と期待値データ301とは互いに一致する。
ステップSP103においてCPU22は、記憶部15から所望の期待値データ300を読み出すとともに、メモリコア32から所望の期待値データ301を読み出し、両者を比較する。そして、両者が一致する場合にはステップSP104の処理に移行し、両者が一致しない場合にはステップSP109の処理に移行する。
本変形例に係るホスト装置2によれば、真贋判定部50は、ホスト装置2内の記憶部15(第1の記憶部)から期待値データ300(第1の基準電流値パターン)を読み出し、メモリ装置3内のメモリコア32(第2の記憶部)から期待値データ301(第2の基準電流値パターン)を読み出す。ホスト装置2の基準電流値パターンは、デバイスの構造や製造プロセス等に依存するため、デバイス毎に異なる。従って、あるホスト装置2に関して求めた期待値データ300を、そのホスト装置2内の記憶部15に記憶しておくことにより、デバイス毎に異なる基準電流値パターンを簡易に管理することが可能となる。また、期待値データ301はメモリ装置3内のメモリコア32に予め記憶されており、真贋判定部50はメモリコア32から期待値データ301を読み出す。従って、期待値データ300と期待値データ301とが一致しない場合や、期待値データ301と実測電流値パターンとが一致しない場合には、ホスト装置2及びメモリ装置3の少なくとも一方が非正規品であると判定できるため、その場合にはメモリシステム1の動作を速やかに停止させることにより、コンテンツデータを適切に保護することが可能となる。
<変形例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は、バス21を介して相互に接続された、CPU62、復号器63、期待値格納メモリ64、GPIO65、ADC67、及び、ROM又はRAM等の記憶部68を備えて構成されている。記憶部68には、プログラム101が格納されている。
図25は、図24に示したプログラム101をCPU62が実行することによって実現される機能を示す図である。記憶部68から読み出したプログラム101をCPU62が実行することによって、CPU62は、メモリ装置3が正規品であるか非正規品であるかを判定する真贋判定部70として機能する。換言すれば、プログラム101は、付属装置としてのメモリ装置3に搭載されるコンピュータを、真贋判定部70として機能させるためのプログラムである。図4に示した真贋判定部50と同様に、真贋判定部70は、期間設定部71、電流値取得部72、パターン作成部73、及びパターン比較部74として機能する。なお、真贋判定部70の機能は、CPU62によるソフトウェア処理によって実現する場合に限らず、専用回路等を用いたハードウェア処理によって実現しても良い。
メモリ装置3の正規品と非正規品とでは、半導体デバイスの構造や製造プロセス等が異なるため、あるいは、正規プログラムと不正プログラム(マルウェア)とでは動作内容が異なるため、消費電流特性が顕著に相違する。本変形例に係るメモリ装置3は、メモリ装置3の消費電流値を実測することによって実測電流値パターンを作成し、その実測電流値パターンと、正規品又は非正規品に関する既知の基準電流値パターンとを比較することによって、自身が正規品であるか非正規品であるかの自己真贋判定を行う。
図26は、正規品のメモリ装置3の消費電流特性の一例を示す図である。図26に示すように、メモリ装置3の通常動作期間は処理内容に応じて複数の期間Pに区分することができる。図26に示した例では、通常動作期間はこの順に並ぶ8つの期間P1〜P8に区分されている。例えば、期間P1は起動直後のパワーオン期間であり、期間P2は各種設定を初期化するための初期化期間であり、期間P3,P6はスタンバイ期間であり、期間P4は相互認証に向けての鍵交換期間であり、期間P5は交換した鍵を用いて相互認証を行う認証期間であり、期間P7はアプリケーションの実行期間であり、期間P8はシャットダウンに向けてのパワーオフ期間である。
正規品のメモリ装置3であれば、実装される半導体デバイスの種類や各デバイスの製造プロセスが厳密に管理されており、また、正規プログラムによって動作内容が規定されているため、各期間P1〜P8におけるメモリ装置3の消費電流特性はほぼ一定である。そこで、各期間P1〜P8の消費電流特性を示す情報が工場出荷前に作成されて、暗号化された期待値データ400として、メモリコア32に格納されている。本実施の形態の例では、期間P1〜P8の各々に関する、
・消費電流値を所定のサンプリング周波数でサンプリングすることによって得られる消費電流値の遷移パターン(基準電流値パターン)
・消費電流値の最大値、最小値、及び平均値(基準代表値)
・スタンバイ期間における微小な消費電流値(基準電流値)
が、期待値データ400としてメモリコア32に格納されている。
また、期間P1〜P8の各々の期待値データ400としては、各期間の消費電流特性等に応じて、基準電流値パターン、基準代表値、及び基準電流値のいずれかを用いることが望ましい。例えば以下の通りである。
パワーオン期間は消費電流値及びその変化量が大きく、また消費電力の変化態様がデバイスに依存して特徴的であるため、期間P1に関しては基準電流値パターンを用いるのが好適である。
初期化期間は消費電流値及びその変化量が比較的大きいため、期間P2に関しては、判定精度を優先する場合には基準電流値パターンを、判定処理の負荷軽減を優先する場合には基準代表値を用いるのが好適である。
スタンバイ期間は消費電流値及びその変化量が小さいため、期間P3,P6に関しては基準電流値を用いるのが好適である。
鍵交換期間及び認証期間は消費電流値及びその変化量が比較的大きく、また、消費電流の最大値、最小値、又は平均値によって実装ロジック又は動作ロジックを簡易に特定できる場合もあるため、期間P4,P5に関しては、判定精度を優先する場合には基準電流値パターンを、判定処理の負荷軽減を優先する場合には基準代表値を用いるのが好適である。
アプリケーションの実行期間は消費電流値及びその変化量が比較的大きく、また、動作内容によって消費電流の変化態様が刻々と変動するため、期間P7に関しては基準代表値を用いるのが好適である。
パワーオフ期間は電流値0に向けての電流スロープが存在し、消費電流の変化量が比較的大きいため、期間P8に関しては、判定精度を優先する場合には基準電流値パターンを、判定処理の負荷軽減を優先する場合には基準代表値(最小値を除く)を用いるのが好適である。
図27は、メモリ装置3の動作を説明するためのフローチャートである。メモリ装置3がホスト装置2に接続されると、まずステップSP501においてCPU62(期間設定部71)は、期間P1〜P8の中から、真贋判定の実行対象となる少なくとも一つの判定対象期間(以下「第1の所定期間」と称す)を設定する。期間設定部71は、予め定められた規則に従って第1の所定期間を静的に変更することができ、あるいは、真贋判定の累積実行回数やメモリシステム1の稼働状況等に応じて第1の所定期間を動的に変更することができる。本変形例では、パワーオン期間である期間P1が第1の所定期間として設定されたものとする。また、期間設定部71は、第1の所定期間に対して実行する真贋判定の処理内容を設定する。本変形例では、「電流値パターン同士の比較処理」が、真贋判定の処理内容として設定される。但し、電流値パターン同士の比較処理がデフォルト処理として実行される場合には、この設定は省略しても良い。
次にステップSP502においてCPU62は、電源VCC2からメモリコントローラ31への電源供給を開始する。
次にステップSP503においてCPU62は、メモリコア32から所望の期待値データ400を読み出す。本変形例では、真贋判定の処理内容が「期間P1を対象とする電流値パターン同士の比較処理」に設定されているため、期間P1に関する基準電流値パターンと、それに対応する所定の許容誤差値を示すデータとが、所望の期待値データ400としてメモリコア32から読み出される。許容誤差値は、期間P1に関する基準電流値パターンにおける電流値の分布態様等に応じて、プラスマイナス数%からプラスマイナス10数%の範囲内で最適な値が予め設定されている。読み出された期待値データ400は、暗号化された状態で、認証制御回路34に送信される。復号器63は、暗号化されている期待値データ400を復号化する。復号化された期待値データ400は、期待値格納メモリ64に格納される。本変形例では、期間P1に関する基準電流値パターンと、それに対応する所定の許容誤差値を示すデータとが、期待値格納メモリ64に格納される。
パワーオン期間である期間P1が第1の所定期間として設定されているため、次にステップSP504においてCPU62は、電源VCC2からメモリコントローラ31への電源供給を停止する。
次にステップSP505においてCPU62は、電源VCC2からメモリコントローラ31への電源供給を再開する。これにより、パワーオン期間である期間P1が開始される。
次にステップSP506においてCPU62は、ADC67を駆動する。電源VCC2からメモリコントローラ31への電源供給が開始されたことにより、抵抗素子Rに電流が流れる。電流値測定回路33は、抵抗素子Rの両端電圧を所定のサンプリング周波数(例えば1MHz〜数MHz)でサンプリングすることによって、電源VCC2からメモリコントローラ31へ流れる電流の電流値を実測する。実測された電流値は、図示しないプリアンプによって増幅された後、ADC67によってAD変換され、その後、電流値取得部72によってCPU62に順次入力される。なお、ADC67によるAD変換よりも前にプリアンプによって実測電流値を増幅する上記の構成に代えて、ADC67によるAD変換よりも後に乗算器によって実測電流値を増幅する構成を採用しても良い。
次にステップSP507においてCPU62(パターン作成部73)は、電流値取得部72によって順次取得された複数の実測電流値を時系列順に配列することによって、期間P1に関するメモリ装置3の実測電流値パターンを作成する。
次にステップSP508においてCPU62(パターン比較部74)は、期待値格納メモリ64から基準電流値パターンと許容誤差値を示すデータとを読み出して取得する。
次にステップSP509においてCPU62(パターン比較部74)は、パターン作成部73によって作成された実測電流値パターンと、期待値格納メモリ64から読み出した基準電流値パターンとを比較する。パターン比較部74は、それぞれ対応する実測電流値と基準電流値との差が、期待値格納メモリ64から読み出した許容誤差値以下であるか否かを比較する。
次にステップSP510においてCPU62(真贋判定部70)は、実測電流値と基準電流値との差の全てが許容誤差値以下であるか否かを判定する。そして真贋判定部70は、これらの差の全てが許容誤差値以下である場合(つまり完全一致する場合)には、メモリ装置3は正規品であると判定して、真贋判定処理を終了する。
一方、少なくとも一つの差が許容誤差値を超える場合(つまり完全一致しない場合)には、真贋判定部70は、メモリ装置3は非正規品であると判定して、メモリシステム1の動作を停止するための処理を開始する。例えば、電源供給を停止させるための制御コマンドをGPIO65にセットすることにより、電源VCC2からメモリコントローラ31への電源供給を停止する。
本変形例に係るメモリ装置3(付属装置)によれば、真贋判定部70(判定部)は、期間P1(第1の所定期間)に関してパターン作成部73によって作成された実測電流値パターンと、期間P1に関して予め求められた基準電流値パターンとの、パターン比較部74による比較結果に基づいて、メモリ装置3が正規品であるか非正規品であるかを判定する。非正規品は粗悪品であることが多いため、非正規品の消費電流の絶対値は正規品のそれより大きい場合が多い。本変形例に係るメモリ装置3によれば、真贋判定部70は、消費電流の変化率パターンではなく実測電流値パターンと基準電流値パターンとを比較するため、たとえ正規品と非正規品とで消費電流の変化率パターンが近似している場合であっても、メモリ装置3が正規品であるか非正規品であるかの自己真贋判定を高精度に実行することが可能となる。
なお、記載が重複するため詳細な説明は省略するが、ホスト装置2の自己真贋判定に関して説明した上記の変形例1〜10は、メモリ装置3の自己真贋判定に関する変形例11に対しても同様に適用することができ、同様の効果を得ることができる。