JP2006107274A - ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム - Google Patents

ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム Download PDF

Info

Publication number
JP2006107274A
JP2006107274A JP2004295208A JP2004295208A JP2006107274A JP 2006107274 A JP2006107274 A JP 2006107274A JP 2004295208 A JP2004295208 A JP 2004295208A JP 2004295208 A JP2004295208 A JP 2004295208A JP 2006107274 A JP2006107274 A JP 2006107274A
Authority
JP
Japan
Prior art keywords
hash function
unauthorized access
function calculation
data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004295208A
Other languages
English (en)
Inventor
Tetsuya Yoshizaki
哲也 吉崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004295208A priority Critical patent/JP2006107274A/ja
Priority to US11/244,081 priority patent/US20060080537A1/en
Priority to CN200510108247.6A priority patent/CN1758178A/zh
Publication of JP2006107274A publication Critical patent/JP2006107274A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

【課題】多種多様の不正アクセス手段に応用可能で、秘匿したいシステムプログラムやデータに対して、不特定ユーザがデバッガ等を使用して不正解析や不正改竄を行うことを防止し、暗号化および復号化処理を安全に行う。
【解決手段】入力から出力を予測不能なハッシュ関数演算手段11を多段に接続したハッシュ関数演算処理手段10と、不正アクセス状態を検出する不正アクセス検出手段20と、ハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス未検出状態では抜き出した出力を次段のハッシュ関数演算手段に入力し、一方、不正アクセス検出状態では抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段30から構成され、不正アクセス状態に応じて動作が異なるハッシュ演算を行うことで、改竄を防止し、暗号鍵生成を安全に行う。
【選択図】図1

Description

本発明は、コンピュータプログラムやデータを、第三者が不正に解析したり、改竄したりすることを防止するシステムに関する。
従来、組込みセット製品内の秘匿したいシステムプログラムやデータについて、不特定ユーザによるデバッガ等を使用した不正解析や不正改竄を防止する技術として、解析手段(デバッガ等)に対してアクセス制限を設ける方式と、秘匿対象を暗号化する方式があった。
解析手段に対してアクセス制限を設ける方式は、例えば特許文献1にあるように、解析手段の使用可否をソフトウェアによって制御する。特許文献1では、パワーオンリセット時のデバッガの使用を禁止することにより、不特定ユーザによる秘匿対象のデータへのアクセスを制限する。また、秘匿対象のデータにアクセスが許されている特定ユーザに対しては、解除コードが含まれるソフトウェアを起動することによってパワーオンリセット時のアクセス制限を解除する。
一方、秘匿対象を暗号化する方式は、例えば特許文献2にあるように、秘匿対象のデータを暗号化すると同時に、不正アクセス検出時に鍵データをダミーデータに変更する。特許文献2では、秘匿データを復号する暗号鍵を読み出す際に、不正アクセスの有無を検出する。不正アクセスの有無に関わらず秘匿データは復号化され、必要な処理が行われた後、秘匿データは再暗号化される。不正アクセス検出時には、再暗号化に用いられる暗号鍵が正規の鍵ではなく、ダミーデータに変更され所定の記憶領域に格納される。次に秘匿データにアクセスする際には、暗号鍵がダミーデータになっているため正常に復号できない。
特開2000−347942号公報(第3−4頁、第1図) 特開平11−328032号公報(第3−4頁、第1図)
組込みセット製品内の秘匿したいシステムプログラムやデータについて、不特定ユーザによるデバッガ等を使用した不正解析や不正改竄を防止する従来技術には、セキュリティ強度が不十分である問題がある。
例えば、解析手段(デバッガ等)に対してアクセス制限を設ける方式においては、単一の解析手段に対する防止手段に限定されているため、配線プロービング等の他の解析手段に対して応用が困難であり、セキュリティ強度が十分でない。さらには、解析手段の使用可否制御をソフトウェアで行うため、使用可否コードが含まれているプログラムの起動方法を秘密にする必要があり、容易にセキュリティを破られる脆弱性が存在している。
一方、秘匿対象を暗号化する方式においては、正規の暗号鍵がデバッガ等で解析可能なままメモリやファイル上に置かれており、セキュリティ強度が十分でない。また、何らかの手段で正規の暗号鍵自体も秘匿されている場合においても、復号処理に使用する直前の正規の暗号鍵に対する保護が考慮されていない等、正規の鍵の取扱いに対する解決手段に欠けている。さらには、暗号化データを復号した後の平文データがデバッガ等を用いて動的解析可能であることに対する解決手段が欠けている。
本発明は、多種多様の不正アクセスに応用可能で、かつセキュリティ確保状態の有効と無効の切り替えを安全に制御でき、秘匿したいシステムプログラムやデータに対して、不特定ユーザがデバッガ等を使用して不正解析や不正改竄を行うことを防止し、暗号化および復号化処理を安全に行えるようにすることを目的としている。
上記課題を解決するため、第1の手段として、本発明によるハッシュ関数演算システムは、
被演算値と演算値の情報長が同一、かつ前記被演算値と前記演算値が1対1に対応し、複数のハッシュ関数演算手段が多段に接続するように構成されるハッシュ関数演算処理手段と、
前記ハッシュ関数演算処理手段の演算時に、外部からの不正アクセスを検出する不正アクセス検出手段と、
前記多段接続のハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、前記不正アクセス検出手段が未検出状態では前記抜き出した出力を次段のハッシュ関数演算手段に入力し、前記不正アクセス検出手段が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段とを備えた構成とされている。
上記において、個々のハッシュ関数演算手段は、それに対する入力の情報長と出力の情報長が同一で、さらに、入力から出力を予測することが不可能となっている関数の演算手段である。
上記構成において、前記ハッシュ関数演算処理手段についての1つの態様として、
1つ以上のハッシュ関数演算手段を直列接続するように構成され、最終段のハッシュ関数演算手段の出力を前記不正アクセス監視手段に送信する前段ハッシュ関数演算処理手段と、
1つ以上のハッシュ関数演算手段を直列接続するように構成され、前記不正アクセス監視手段から送られる信号を最前段のハッシュ関数演算手段に入力し、最終段のハッシュ関数演算手段による演算結果を外部へ出力する後段ハッシュ関数演算処理手段とから構成されているものは好ましい。
上記構成によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作を互いに異ならせることにより、不正なデバッガ解析等の不正アクセスに対応することができる。加えて、利用するのが不正アクセスの検知のみであるため、不正アクセスの種別は問わず、不正アクセスの検出状態に応じてハッシュ演算動作が変更されるため、多種多様の不正アクセスに対応可能となる。擾乱を行うので、不正アクセスを行った者は、不正アクセスによってハッシュ演算動作が変更されたことを認知し難いものとなる。
また、前記不正アクセス監視手段についての1態様として、前記不正アクセス検出手段が未検出状態では、前記抜き出した出力に前記検出状態とは異なる擾乱を加えた後、前記次段のハッシュ関数演算手段に入力するように構成するのが好ましい。
この場合、不正アクセスの未検出状態においても擾乱を加えることで、ハッシュ関数演算処理手段と不正アクセス監視手段との間でやり取りされるデータを仮に覗き見されても、動作解析が不可能となる。したがって、ハッシュ関数演算処理手段と不正アクセス監視手段とが互いに別の半導体チップとして分離され、配線結合された構造においても、配線プロービング等で不正解析されることがなく、安全性を確保できる。
また、前記不正アクセス検出手段についての1つの態様として、システム起動からの不正アクセス履歴により、未検出状態から検出状態へ遷移し、または検出状態から未検出状態へ遷移するように構成するのが好ましい。
この場合、各種の不正アクセスがシステムに与える影響度に合わせて、不正アクセス検出手段の動作の対応レベルを設定できる利点がある。また、例えば、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定する一方、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにすれば、組込み製品セットにおける正規のデバッグおよび故障解析の手続きを複雑化することにも利用できる。
また、第2の手段として、本発明によるハッシュ関数演算システムは、上記の構成において、前記不正アクセス監視手段について、さらに、パスワードを記憶するパスワード記憶手段と、当該不正アクセス監視手段の出力と前記パスワード記憶手段の前記パスワードとを比較するパスワード比較手段とを備え、前記パスワードの一致状態によって前記不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替えるように構成したものである。
この場合、パスワードの一致・不一致の状態によって、換言すれば、ハッシュ関数演算処理手段に入力されてくる時系列データを使用して、不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替えるので、セキュリティ確保状態の有効と無効の切り替え制御を安全に行うことを可能にする。例えば、製品開発時のデバッグ作業や故障製品の解析作業を軽減することが可能となる。
上記において、前記不正アクセス監視手段についての1つの態様として、当該不正アクセス監視手段の出力が任意の情報長に達するまで蓄積記憶した上で、前記パスワードを比較するように構成するのが好ましい。この場合、複雑なデータパターンをパスワードとすることができ、パスワードを利用することによる脆弱性を極小化することが可能となる。
また、第3の手段として、本発明によるハッシュ関数演算システムは、前記ハッシュ関数演算処理手段についての1つの態様として、さらに、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の入力に対し、任意の演算を行うフィードバック演算手段とを備えたものである。
この場合、ハッシュ演算の入力として使用する情報長の制限が無くなり、任意の情報長の入力に対して固定長の出力を得ること可能となる。特に、長文の改竄検出や長文データを基にした暗号鍵生成が可能となる。なお、前記フィードバック演算手段としては、フィードバックデータをハッシュ関数演算手段の入力と演算して、そのハッシュ関数演算手段の入力とする方式と、フィードバックデータをハッシュ関数演算手段の初期演算パラメータとして設定し、そのハッシュ関数演算手段の演算動作を変更する方式とがある。フィードバック毎に異なる方式のハッシュ関数演算を行うことになるため、単一のハッシュ関数演算を行う場合と比較して、ハッシュ演算結果の予測がさらに困難になり、セキュリティ強度が高まる。
また、第4の手段として、本発明によるハッシュ関数演算システムは、前記ハッシュ関数演算手段についての1つの態様として、1対1に出力から入力を得る逆関数が存在し、かつハッシュ関数逆演算処理手段の出力から入力を得て逆演算が可能に構成されているものである。
また、本発明による暗号化システムは、
ハッシュ関数演算手段の逆関数となるハッシュ関数逆演算手段を多段に接続した逆演算可能なハッシュ関数逆演算処理手段と、
前記多段接続のハッシュ関数逆演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス検出が未検出状態では前記抜き出した出力を次段のハッシュ関数逆演算手段に入力し、前記不正アクセス検出が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数逆演算手段に入力する不正アクセス監視手段とを備えた構成とされている。
この場合、逆演算方法を知る者であれば、人間に可読な平文データを出力させるように入力を作成でき、かつ入力は可読でないデータとできるため、暗号鍵および復号鍵が不要な暗号システムとして利用可能となる。
また、本発明による不正解析・改竄防止システムは、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
対称暗号化方式に用いる暗号鍵を生成するための元データ(シード)を記憶しておく暗号鍵生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記暗号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により暗号鍵を生成するハッシュ関数演算システムと、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記ハッシュ関数演算システムからの前記暗号鍵を用いて対称暗号化方式の暗号化を行う対称暗号化装置とを備えた構成とされている。
この場合、不正アクセス検出時には正常な暗号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵が生成されるため、秘匿プログラムやデータの安全性を高めることが可能になる。また、暗号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵の秘密管理が不要となる。
なお、対称暗号化方式とは、同一の鍵を用いて暗号化と復号化を行う方式である。これに対して、非対称暗号化方式とは、暗号化の鍵と復号化の鍵が異なる方式である。
また、本発明による不正解析・改竄防止システムは、
対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
対称暗号化方式の復号化に用いる復号鍵を生成するための元データ(シード)を記憶しておく復号鍵生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記復号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により復号鍵を生成するハッシュ関数演算システムと、
前記暗号化データ記憶部内の暗号化データを前記ハッシュ関数演算システムからの前記復号鍵を用いて対称暗号化方式の復号化を行う対称暗号復号化装置とを備えた構成とされている。
この場合、不正アクセス検出時には正常な復号鍵が生成されない一方、不正アクセス未検出時には正常な復号鍵が生成されるため、秘匿プログラムやデータを安全に復号することが可能になる。また、復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、復号鍵の秘密管理が不要となる。
また、本発明による不正解析・改竄防止システムは、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データ(シード)を記憶しておくセキュリティパラメータ生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて暗号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記暗号鍵生成部からの前記暗号鍵を用いて非対称暗号化方式の暗号化を行う非対称暗号化装置とを備えた構成とされている。
この場合、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
また、本発明による不正解析・改竄防止システムは、
非対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データ(シード)を記憶しておくセキュリティパラメータ生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて復号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして復号鍵を生成する復号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記復号鍵生成部からの前記復号鍵を用いて非対称暗号化方式の復号化を行う非対称暗号復号化装置とを備えた構成とされている。
この場合、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式に用いる暗号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
また、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式の復号化に用いる復号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
あるいは、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
また、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式の復号化に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
この場合、前記一連の構成によって安全性が確保された不正改竄不能なシステムプログラム内にデバッガ等のシステム解析装置のアクセス制御コードを有することで、システムプログラム等の実行過程で生成される秘匿対象のデータを暗号化する際、事前にデバッガ等のシステム解析装置を無効化でき、安全に暗号化可能である。また、暗号化データを復号した後の平文データの不正解析、および不正改竄を制限でき、暗号化された秘匿データが正常に復号化された後の平文データも保護できる。
本発明によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作を互いに異ならせることにより、不正なデバッガ解析等の不正アクセスに対応した暗号化手段、および改竄検出手段に利用可能なハッシュ関数演算システムを提供できるようになる。また、利用するのが不正アクセスの検知のみであるため、多種多様の不正アクセスに対応可能なハッシュ関数演算システムを提供することができる。
以下、本発明にかかわる実施の形態を図面に基づいて詳細に説明する。
(実施の形態1)
図1は本発明の実施の形態1のハッシュ関数演算システムの構成を示すブロック図である。図1において、10はハッシュ関数演算処理手段、20は不正アクセス検出手段、30は不正アクセス監視手段である。
ハッシュ関数演算処理手段10は、入出力の情報長が同一、かつ入出力関係が1対1であり、さらに入力から出力を予測不能なハッシュ関数演算手段11を多段に接続した構成である。
不正アクセス検出手段20は、複数の不正アクセス検出信号S3を入力し、それらの論理演算(論理和、論理積等)を行うことによりハッシュ関数演算処理手段10の演算時点での不正アクセス状態を検出し、その結果を不正アクセス検知信号S4として不正アクセス監視手段30に与える。入力する不正アクセス検出信号S3については、例えば、デバッガ接続信号や、組込み製品セットのケースが開封された場合に有効となる信号等がある。
不正アクセス監視手段30は、信号切替え手段31と擾乱手段32とを有している。信号切替え手段31は、ハッシュ関数演算処理手段10内の多段に接続されたハッシュ関数演算手段11による連鎖的処理において、任意の段数での出力を抜き出す。そして、不正アクセス検出手段20からの不正アクセス検知信号S4が無効(不正アクセス未検出)の状態では前記抜き出した出力を次段のハッシュ関数演算手段11に出力し、一方、不正アクセス検知信号S4が有効(不正アクセス検出)の状態では前記抜き出した出力を擾乱手段32に出力する。擾乱手段32は、前記抜き出した出力に擾乱を加えた後、その結果を次段のハッシュ関数演算手段11に出力する。
本実施の形態では、ハッシュ関数演算処理手段10、不正アクセス検出手段20および不正アクセス監視手段30は、システムプログラムが動作するLSIチップA1に内蔵されている。
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
ハッシュ関数演算処理手段10の入出力は、例えばシステムプログラムから32bitデータアクセス可能な、メモリアドレス空間にマップされたレジスタにおけるものである。また、ハッシュ関数演算処理手段10は、演算を開始するトリガとなる演算開始信号S1を入力として受付ける。また、演算終了時に出力レジスタの読出しを許可する演算終了信号S2を出力する。
ハッシュ演算機能を利用する場合、システムプログラムにより入力用レジスタに被演算値Dinを設定し、演算開始信号S1を有効にする。演算が開始されると、被演算値Dinは初段のハッシュ関数演算手段11に入力される。初段のハッシュ関数演算手段11の出力は次段のハッシュ関数演算手段11に入力され、連鎖的にハッシュ関数演算手段11の演算が行われる。任意の段数Nまで演算が終了すると、N段目のハッシュ関数演算手段11の出力は不正アクセス監視手段30に入力される(入力信号D1)。
不正アクセス検出手段20は、多数の不正アクセス検出信号S3の論理和、論理積等の合成信号を不正アクセス検知信号S4とする。
不正アクセス監視手段30においては、信号切替え手段31により、不正アクセス検出手段20からの不正アクセス検知信号S4が無効(不正アクセス未検出状態)の場合、入力信号D1をそのまま不正アクセス監視手段30の出力信号D2とする。一方、不正アクセス検出手段20からの不正アクセス検知信号S4が有効(不正アクセス検出状態)の場合、入力信号D1を擾乱手段32に出力し、擾乱手段32によって入力信号D1に擾乱を加えた結果を不正アクセス監視手段30の出力信号D2とする。
次に、不正アクセス監視手段30の出力信号D2は、ハッシュ関数演算処理手段10に戻され、N+1段目のハッシュ関数演算手段11に入力される。N+1段目のハッシュ関数演算手段11の出力は、次段のハッシュ関数演算手段11に入力され、M段だけ連鎖的にハッシュ関数演算手段11の演算が行われる。最終段のハッシュ関数演算手段11の出力がハッシュ関数演算処理手段10の出力となり、出力用レジスタに演算結果Doutがセットされ、演算終了信号S2がシステムプログラムに通知される。
本実施の形態によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作が異なるため、同一の被演算値Dinに対して、不正アクセス状態に応じて異なる出力となる。そのため、不正なデバッガ解析等の不正アクセスに対応した暗号化手段、および改竄検出手段に利用可能なハッシュ関数演算システムを提供できる。
また、利用するのが不正アクセスの検知のみであるため、多種多様の不正アクセスに対応できると同時に、多数の不正アクセス検出信号S3の論理和、論理積等の合成信号を不正アクセス検知信号S4として使用でき、複数の不正アクセスの状態に対応できる利点がある。
(実施の形態2)
図2は本発明の実施の形態2のハッシュ関数演算システムの構成を示すブロック図である。実施の形態2では、図1の実施の形態1における不正アクセス監視手段30a内の構造が異なる。図2において、ハッシュ関数演算処理手段10および不正アクセス検出手段20の構成は実施の形態1と同一である。
不正アクセス監視手段30aは、2つの擾乱手段32,33と信号切替え手段31aとを備えている。信号切替え手段31aは、不正アクセス検知信号S4が無効のときに入力信号D1を擾乱手段33に出力し、不正アクセス検知信号S4が有効のときに入力信号D1を擾乱手段32に出力する。擾乱手段32による擾乱と擾乱手段33による擾乱とは互いに異なるものである。すなわち、本実施の形態では、ハッシュ関数演算の連鎖的処理中の入力信号D1に対して、不正アクセスの有無にかかわらず擾乱を与えるものである。
本実施の形態は、ハッシュ関数演算処理手段10は、システムプログラムが動作するLSIチップA2に内蔵されている。また、不正アクセス検出手段20および不正アクセス監視手段30aは、LSIチップA2とは異なるLSIチップB2上に実装分離され、配線結合された構造である。
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
不正アクセス監視手段30aにおいては、信号切替え手段31aにより、不正アクセス検出手段20からの不正アクセス検知信号S4が無効(不正アクセス未検出状態)の場合、入力信号D1を擾乱手段33に出力し、擾乱手段33による擾乱結果の出力を不正アクセス監視手段30aの出力信号D2とする。一方、不正アクセス検出手段20からの不正アクセス検知信号S4が有効(不正アクセス検出状態)の場合、入力信号D1を擾乱手段32に出力し、擾乱手段32による擾乱結果の出力を不正アクセス監視手段30aの出力信号D2とする。その他の動作については、実施の形態1と同様であるので説明を省略する。
本実施の形態によれば、実施の形態1の効果に加えて、不正アクセス検出手段20が未検出状態においても擾乱を加えるようにすることで、不正アクセス監視手段30aとハッシュ関数演算処理手段10との間でやり取りされるデータを仮に覗き見されても、動作解析が不可能なため、例えば、ハッシュ関数演算処理手段10と不正アクセス監視手段30aが別のLSIチップとして分離され配線結合された構造においても、配線プロービング等により不正解析が不能である利点を有する。
(実施の形態3)
図3は実施の形態3のハッシュ関数演算システムの構成を示すブロック図である。実施の形態3では、図1の実施の形態1における不正アクセス検出手段20a内の構造が異なる。図3において、ハッシュ関数演算処理手段10および不正アクセス監視手段30の構成は実施の形態1と同一である。
不正アクセス検出手段20aは、システム起動からの不正アクセス履歴情報を記憶しておく不正アクセス履歴情報記憶手段21を備え、不正アクセス履歴情報記憶手段21に記憶されている履歴情報D3と、予め設定されている不正アクセス判定基準データD4とを比較し、一致状態に応じて未検出状態と検出状態を切り替える不正アクセス判定手段22を備えた構成となっている。
本実施の形態では、ハッシュ関数演算処理手段10、不正アクセス検出手段20aおよび不正アクセス監視手段30は、システムプログラムが動作するLSIチップA3に内蔵されている。
なお、図2の実施の形態2に対して、その不正アクセス検出手段20を本実施の形態の不正アクセス検出手段20aで置き換えてもよい。
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
不正アクセス検出手段20aでは、多数の不正アクセス検出信号S3のシステム起動時からの履歴情報を不正アクセス履歴情報記憶手段21に記憶している。不正アクセス判定手段22は、多数の不正アクセス検出信号S3の状態が変化する毎に、不正アクセス履歴情報記憶手段21に記憶されている履歴情報D3と、予め設定されている不正アクセス判定基準データD4とを比較し、一致状態に応じて未検出状態と検出状態を切り替え、その状態に相当する不正アクセス検知信号S4を出力する。
例えば、単にデバッガを接続しただけでは不正アクセスとは判定せず、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定するようにする。また、さらには、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにする等、不正アクセス順序に応じた制御も可能である。その他の動作については、実施の形態1と同様であるので説明を省略する。
本実施の形態によれば、不正アクセス検出手段20aの不正アクセス検出判定に、多数の不正アクセス検出信号S3のシステム起動時からの履歴情報を使用しているため、各種の不正アクセスがシステムに与える影響度に合わせて対応レベルを設定できる利点を有する。また、例えば前記のように、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定する一方、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにすることもでき、組込み製品セットにおける正規のデバッグおよび故障解析の手続きを複雑化することにも利用できる。
(実施の形態4)
図4は実施の形態4のハッシュ関数演算システムの構成を示すブロック図である。実施の形態4では、図1の実施の形態1における不正アクセス監視手段30b内の構造が異なる。図4において、ハッシュ関数演算処理手段10、不正アクセス検出手段20の構成は実施の形態1と同一である。
不正アクセス監視手段30bは、実施の形態1と同様の信号切替え手段31bと擾乱手段32に加えて、所定のパスワードを記憶しておくパスワード記憶手段34と、当該不正アクセス監視手段30bの出力をパスワード記憶手段34のパスワードと比較して、パスワードとの一致状態によって信号切替え手段31bの動作を、常時検出状態、常時非検出状態または不正アクセス検出状態(不正アクセス検出手段20の信号に従って自動切り替えを行う状態)に切り替えるパスワード比較手段35とを備えている。パスワード比較手段35は、パスワードと比較する出力を任意の情報長に達するまで蓄積記憶した後、パスワードと比較する機能を有している。その蓄積記憶手段としては、例えば、時系列順に記憶し、古いデータから破棄していくFIFOバッファがある。
本実施の形態は、ハッシュ関数演算処理手段10、不正アクセス検出手段20および不正アクセス監視手段30bは、システムプログラムが動作するLSIチップA4に内蔵されている。
なお、他の実施の形態に対して、本実施の形態のパスワード記憶手段34およびパスワード比較手段35を有する不正アクセス監視手段30bを適用してもよい。
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
不正アクセス監視手段30bのパスワード比較手段35は、そのFIFOバッファに、出力信号D2を任意の情報長に達するまで蓄積記憶する。そして、FIFOバッファ内のデータとパスワード記憶手段34に予め記憶されているパスワードとを比較し、例えば、常時検出状態に遷移するためのパスワードと一致した場合には、信号切替え手段31bの動作を常時検出状態とする。
また、常時非検出状態または不正アクセス検出状態に遷移するためのパスワードと一致した場合には、それぞれに対応した信号切替え手段31bの動作とする。
なお、前記FIFOバッファは、例えば、時系列データの奇数番目に到着するデータのみ蓄積するなど、柔軟に設定できる。
その他の動作については、実施の形態1と同様であるので説明を省略する。
本実施の形態によれば、システムプログラムがハッシュ関数演算処理手段に入力する時系列データを使用して対不正アクセス機能の有効・無効を切り替えることができ、例えば製品開発時のデバッグ作業や故障製品の解析作業を軽減できる利点を有する。
また、パスワード比較手段35内の時系列データの蓄積方法を工夫することで、パスワード強度を自在に変えることができ、所望のセキュリティ強度を実現可能である。
(実施の形態5)
図5は本発明の実施の形態5のハッシュ関数演算システムの構成を示すブロック図である。実施の形態5では、図1の実施の形態1におけるハッシュ関数演算処理手段10a内の構造が異なる。図5において、不正アクセス監視手段30および不正アクセス検出手段20の構成は実施の形態1と同一である。
ハッシュ関数演算処理手段10aは、多段に接続されたハッシュ関数演算手段11において、任意の段のハッシュ関数演算手段11からの出力を抜き出し記憶するハッシュ関数出力記憶手段12と、記憶した出力を記憶した出力の段より入力に近い前段のハッシュ関数演算手段11の演算にフィードバックさせるフィードバック演算手段13とを備えた構成である。フィードバック演算手段13は、フィードバックデータをハッシュ関数演算手段11の初期演算パラメータD5として設定し、そのハッシュ関数演算手段11の演算動作を変更する構成である。
なお、フィードバックデータをハッシュ関数演算手段11の入力と演算し、演算結果をそのハッシュ関数演算手段11の入力とする構成も可能である。また、フィードバック演算手段13が対象とするハッシュ関数演算手段11は、単一でも複数であってもよい。
本実施の形態では、ハッシュ関数演算処理手段10a、不正アクセス検出手段20および不正アクセス監視手段30は、システムプログラムが動作するLSIチップA5に内蔵されている。
なお、他の実施の形態に対して、本実施の形態のハッシュ関数演算処理手段10aを適用してもよい。
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
ハッシュ関数演算処理手段10aでは、任意の段のハッシュ関数演算手段11からの出力を抜き出し、ハッシュ関数出力記憶手段12に記憶する。記憶した出力は、フィードバック演算手段13に送られる。すなわち、記憶した出力の段より入力に近い前段のハッシュ関数演算手段11の演算に直ちにフィードバックする。フィードバック演算手段13は、フィードバックされたデータをハッシュ関数演算手段11の初期演算パラメータD5として設定し、ハッシュ関数演算手段11の演算動作を変更する。
前記一連の動作が終了した後、新たにシステムプログラムにより入力用レジスタに被演算値Dinを設定し、演算開始信号S1を有効にして演算を開始した場合、ハッシュ関数演算処理手段10aの出力は、前回に入力した被演算値Dinに依存した出力となる。すなわち、本実施の形態によって、ある時点でのハッシュ関数演算処理手段10aの出力は、次々と入力される被演算値Dinの履歴に依存したものとなる。その他の動作については、実施の形態1と同様であるので説明を省略する。
本実施の形態によれば、ハッシュ関数演算処理手段10a内がフィードバック構成であるため、ハッシュ演算の入力として使用する情報長の制限が無くなり、任意の情報長の入力に対して、一意かつ固定長の出力を得ることが可能となり、長文の改竄検出や長文データを基にした暗号鍵生成が可能となる利点を有する。
また、フィードバックデータをハッシュ関数演算手段11の初期演算パラメータD5として設定し、ハッシュ関数演算手段11の演算動作を変更することで、フィードバック毎に異なる方式のハッシュ関数演算手段11を使用することになるため、単一のハッシュ関数演算手段11を使用する場合と比較して、ハッシュ演算結果Doutの予測がさらに困難になり、セキュリティ強度が高まる利点を有する。
(実施の形態6)
本発明の実施の形態6は、正常アクセス時と不正アクセス発生時で動作が異なる簡易暗号化手段にかかわるものである。実施の形態6における図6の復号化手段は、そのハッシュ関数演算処理手段10b内のハッシュ関数演算手段11aの構造が図1の実施の形態1とは異なる。図6において、不正アクセス監視手段30および不正アクセス検出手段20の構成は実施の形態1と同一である。
図6において、ハッシュ関数演算処理手段10bは、入出力の情報長が同一、かつ入出力関係が1対1であり、さらに入力から出力を容易に予測できないハッシュ関数演算手段11aを多段に接続した構成であるが、ハッシュ関数演算手段11aについては、1対1に出力から入力を得る逆関数が存在し、かつ逆演算が可能なものを使用する。
不正アクセス検出手段20および不正アクセス監視手段30の構成および動作は、実施の形態1の場合と同様である。
本実施の形態では、ハッシュ関数演算処理手段10b、不正アクセス検出手段20および不正アクセス監視手段30は、システムプログラムが動作するLSIチップA6に内蔵されている。
一方、図7において暗号化装置B6は、ハッシュ関数演算手段11aの逆関数を使用して、ハッシュ関数演算処理手段10bの出力を所望のものとすることができる。ハッシュ関数演算処理手段10bへ入力可能なデータを生成し、メモリ若しくはファイルに記憶する装置である。暗号化装置B6におけるハッシュ関数逆演算処理手段40は、ハッシュ関数演算処理手段10b内のハッシュ関数演算手段11aの逆関数動作を行うハッシュ関数逆演算手段41を多段に接続した構成である。暗号化装置B6におけるハッシュ関数逆演算手段41の段数は、ハッシュ関数演算処理手段10b内のハッシュ関数演算手段11aの段数と同一である。不正アクセス監視手段50内の擾乱逆演算手段52は、LSIチップA6における不正アクセス監視手段30内の擾乱手段32の出力から入力を演算する。
また、暗号化装置B6において不正アクセス監視手段50に入力される不正アクセス検知信号S4aは、復号化時の要求条件仕様に合わせて模擬的に作られた不正アクセス検出模擬信号S5を使用する。
なお、実施の形態2〜5におけるハッシュ関数演算処理手段10,10aを本実施の形態におけるハッシュ関数演算処理手段10bに置き換えることもできる。
以下、本発明の実施の形態における動作について説明する。
図6の復号化手段におけるハッシュ関数演算手段11aは、実施の形態1におけるハッシュ関数演算手段11に対して、逆関数が存在し、かつ逆演算可能な点が異なるだけで、基本動作は同一である。
一方、図7における暗号化装置B6では、先ずシステムプログラムにより入力用レジスタに被演算値Din′を設定し、演算開始信号S1aを有効にする。演算が開始されると、被演算値Din′は初段のハッシュ関数逆演算手段41に入力される。初段のハッシュ関数逆演算手段41の出力は次段のハッシュ関数逆演算手段41に入力され、連鎖的にハッシュ関数逆演算手段41の演算が行われる。最終段のハッシュ関数逆演算手段41の出力が暗号化装置B6の出力となり、出力用レジスタに演算結果Dout′がセットされ、演算終了信号S2aがシステムプログラムに通知される。
なお、暗号化装置B6は、運用上セキュリティ的に保護されて管理されることが必要である。暗号化装置B6自体が不特定利用者によって無制限に使用された場合や、暗号化装置B6の内部構造が公知になった場合、本実施の形態における簡易暗号化手段は、所謂セキュリティ的に破られた状態となる。
なお、ハッシュ関数逆演算処理手段40と不正アクセス監視手段50の間での入力信号D1′および出力信号D2′の扱い、および不正アクセス監視手段50の動作については、実施の形態1と同一である。
本実施の形態によれば、ハッシュ関数演算手段11aとして、1対1に出力から入力を得る逆関数が存在し、かつ逆演算が可能なものを使用する構成により、逆演算方法を知る者であれば、ハッシュ関数演算処理手段10bの出力を人間に可読な平文データとなるようにハッシュ関数演算処理手段10bの入力を作成でき、かつその入力は可読でないデータとできる。すなわち、暗号化装置B6で作成したハッシュ関数演算処理手段10bに入力するデータは暗号化されたデータとなり、ハッシュ関数演算処理手段10bによって復号可能である。さらに、ハッシュ関数演算処理手段10bで復号化する際には、不正アクセスが検知されると、正しく復号化が行われず、暗号化データは不正アクセスから保護される。
また、暗号鍵および復号鍵が不要なため、鍵管理が不要である利点も有する。
(実施の形態7)
本発明の実施の形態7は不正解析・改竄防止システムにかかわるものであり、図8および図9に基づいて説明する。
図8は、対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部61と、暗号鍵K1を生成する元となるデータを格納する暗号鍵生成用データ記憶部62と、暗号鍵生成用データ記憶部62のデータからハッシュ関数演算により暗号鍵K1を生成するハッシュ関数演算システムHSと、秘匿対象データ記憶部61からのプログラム・データをハッシュ関数演算システムHSによる暗号鍵K1を使用して暗号化する対称暗号化方式の暗号化装置63と、暗号化後のデータを格納する暗号化データ記憶部64から構成されている。ハッシュ関数演算システムHSについては、上記の実施の形態1〜5自体のハッシュ関数演算システムが適用可能である。暗号化装置63は、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)等公知の対称暗号化方式である。
図9は、対称暗号化方式の復号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、暗号化されたプログラムやデータを記憶している暗号化データ記憶部64と、復号鍵K2を生成する元となるデータを格納する復号鍵生成用データ記憶部65と、復号鍵生成用データ記憶部65のデータからハッシュ関数演算により復号鍵K2(暗号鍵K1と同一)を生成するハッシュ関数演算システムHSと、暗号化データ記憶部64からの暗号化データをハッシュ関数演算システムHSによる復号鍵K2を使用して復号化を行う対称暗号化方式の復号化装置66と、復号化後のプログラムやデータを格納する復号化データ記憶部67から構成されている。ハッシュ関数演算システムHSについては、上記の実施の形態1〜5自体のハッシュ関数演算システムが適用可能である。復号化装置66は、DESやAES等公知の対称暗号化方式である。
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
暗号化を行う際には、図8に示すように、先ずシステムプログラムは暗号鍵生成用データ記憶部62から暗号鍵K1を生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。次に、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、暗号鍵K1を出力として得る。さらに、システムプログラムは秘匿対象データ記憶部61から秘匿したいプログラムやデータを読み出し、暗号化装置63に入力し、先に得られた暗号鍵K1を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部64に格納される。
暗号化を行う際のハッシュ関数演算システムHSにおける不正アクセス検知信号S3は、例えば、無効(不正アクセス未検出状態)に固定しておく。但し、不正アクセス検知信号S3の状態は、復号化する場合の条件や要求仕様に依存するため、無効(不正アクセス未検出状態)に固定することに限定するものではない。
一方、図9に示すように、復号化を行う際には、先ずシステムプログラムは復号鍵生成用データ記憶部65から復号鍵K2(暗号鍵K1と同一)を生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。次に、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、復号鍵K2を出力として得る。さらに、システムプログラムは、暗号化データ記憶部64から暗号化されたプログラムやデータを読み出し、復号化装置66に入力し、先に得られた復号鍵K2を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部67に格納される。
ハッシュ関数演算システムHSにおいて復号鍵K2を生成する際に、不正アクセスがあった場合、正しい復号鍵が得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、暗号鍵生成用データ記憶部62、復号鍵生成用データ記憶部65に記憶されている鍵生成の元となるデータは、ランダムデータや、システム初期起動プログラム等の暗号化できないデータを用いる。そのデータが改竄されると正しい鍵が生成されないため、結果的に暗号鍵生成用データ記憶部62、復号鍵生成用データ記憶部65に記憶されている鍵生成の元となるデータも不正改竄できず、保護されていることになる。
本実施の形態の不正解析・改竄防止システムによれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
(実施の形態8)
本発明の実施の形態8における不正解析・改竄防止システムを図10および図11に基づいて説明する。
図10は、非対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部61と、非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータSPを生成するための元データ(シード)を記憶しておくセキュリティパラメータ生成用データ記憶部62aと、セキュリティパラメータ生成用データ記憶部62aのデータに対してハッシュ関数演算を行いセキュリティパラメータSPを生成するハッシュ関数演算システムHSと、ハッシュ関数演算システムHSからのセキュリティパラメータSPを基に暗号鍵K1を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部68と、秘匿対象データ記憶部61からのプログラム・データを暗号鍵生成部68による暗号鍵K1を使用して暗号化する非対称暗号化方式の暗号化装置63aと、暗号化後のデータを格納する暗号化データ記憶部64から構成されている。ハッシュ関数演算システムHSについては、上記の実施の形態1〜5自体のハッシュ関数演算システムが適用可能である。非対称暗号化装置63aはRSA公開鍵暗号方式等の公知の非対称暗号化方式である。
図11は、非対称暗号化方式の復号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、非対称暗号化されたプログラムやデータを記憶している暗号化データ記憶部64と、非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータSPを生成するための元データ(シード)を記憶しておく前記と同じセキュリティパラメータ生成用データ記憶部62aと、セキュリティパラメータ生成用データ記憶部62aのデータに対してハッシュ関数演算を行いセキュリティパラメータSPを生成するハッシュ関数演算システムHSと、ハッシュ関数演算システムHSからのセキュリティパラメータSPを基に復号鍵K2を生成する復号鍵生成部69と、暗号化データ記憶部64からの暗号化データを復号鍵生成部69による復号鍵K2を使用して復号化を行う非対称暗号化方式の復号化装置66aと、復号化後のプログラムやデータを格納する復号化データ記憶部67から構成されている。ハッシュ関数演算システムHSについては、上記の実施の形態1〜5自体のハッシュ関数演算システムが適用可能である。非対称復号化装置66aはRSA公開鍵暗号方式等公知の非対称暗号化方式である。
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
暗号化を行う際には、図10に示すように、先ずシステムプログラムはセキュリティパラメータ生成用データ記憶部62aからセキュリティパラメータSPを生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。次に、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、出力されたセキュリティパラメータSPを暗号鍵生成部68に入力し、暗号鍵生成部68の出力として暗号鍵K1を得る。さらに、システムプログラムは秘匿対象データ記憶部61から秘匿したいプログラムやデータを読み出し、非対称暗号化装置63aに入力し、先に得られた暗号鍵K1を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部64に格納される。
暗号化を行う際のハッシュ関数演算システムHSにおける不正アクセス検知信号S3は、例えば、無効(不正アクセス未検出状態)に固定しておく。但し、不正アクセス検知信号S3の状態は、復号化する場合の条件や要求仕様に依存するため、無効(不正アクセス未検出状態)に固定することに限定するものではない。
一方、図11に示すように、復号化を行う際には、先ずシステムプログラムはセキュリティパラメータ生成用データ記憶部62aからセキュリティパラメータSPを生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。次に、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、出力されたセキュリティパラメータSPを復号鍵生成部69に入力し、復号鍵生成部69の出力として復号鍵K2を得る。さらに、システムプログラムは、暗号化データ記憶部64から暗号化されたプログラムやデータを読み出し、非対称復号化装置66aに入力し、先に得られた復号鍵K2を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部67に格納される。
ハッシュ関数演算システムHSにおいて復号鍵K2の元になるセキュリティパラメータSPを生成する際に、不正アクセスがあった場合、正しいセキュリティパラメータSPが得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、セキュリティパラメータ生成用データ記憶部62aに記憶されているセキュリティパラメータSPの元となるデータは、ランダムデータや、システム初期起動プログラム等の暗号化できないデータを用いる。そのデータが改竄されると正しいセキュリティパラメータSPが生成されないため、結果的にセキュリティパラメータ生成用データ記憶部62aに記憶されているセキュリティパラメータ生成の元となるデータも不正改竄できず、保護されていることになる。
本実施の形態の不正解析・改竄防止システムによれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
さらに、本実施の形態においては、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
(実施の形態9)
図12および図13は、正常アクセス時と不正アクセス発生時で動作が異なる暗号化手段を提供すると同時にデバッガやトレーサ等のシステム解析装置の受付および拒否を行う機能を有する本発明の実施の形態9である。
図12は、対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部61と、暗号鍵K1を生成する元となるデータを格納する暗号鍵生成用データ記憶部62と、暗号鍵K1を生成する元となるデータとして、秘匿したいプログラムやデータが生成される以前に実行されるプログラムを利用し、そのプログラム内にはシステム解析装置(デバッガ)80に対してデバッガ解析機能の有効と無効を切り替える実行コードが含まれる状態のシステム解析制御部70と、暗号鍵生成用データ記憶部62のデータからハッシュ関数演算により暗号鍵K1を生成するハッシュ関数演算システムHSと、秘匿対象データ記憶部61からのプログラム・データをハッシュ関数演算システムHSによる暗号鍵K1を使用して暗号化する対称暗号化方式の暗号化装置63と、暗号化後のデータを格納する暗号化データ記憶部64から構成されている。暗号化装置63は、DESやAES等公知の対称暗号化方式である。
一方、図13に示すように、復号化を行う際には、暗号化されたプログラムやデータを記憶している暗号化データ記憶部64と、暗号鍵K1と同一の復号鍵K2を生成する元となるデータを格納する復号鍵生成用データ記憶部65と、復号鍵K2を生成する元となるデータとして、秘匿したいプログラムやデータが生成される以前に実行されるプログラムを利用し、そのプログラム内にはシステム解析装置80に対してデバッガ解析機能の有効と無効を切り替える実行コードが含まれる状態のシステム解析制御部70と、暗号鍵K1と同一の復号鍵K2を使用して復号化を行う復号化装置66と、復号化後のプログラムやデータを格納する復号化データ記憶部67とから構成されている。復号化装置66は、DESやAES等公知の対称暗号化方式である。
ハッシュ関数演算システムHSについては、上記の実施の形態1〜5自体のハッシュ関数演算システムが適用可能である。
なお、本実施の形態で使用する暗号化方式は、対称暗号化方式に限定するものではなく、実施の形態8のように非対称暗号化方式を利用することもできる。
また、復号化を行う際には、システム解析装置80に対してデバッガ解析機能の有効と無効を切り替える実行コードは、暗号化データ記憶部64に記憶されている秘匿プログラム内に存在していてもよい。
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
暗号化を行う際には、図12に示すように、先ずシステム解析装置(デバッガ)80に対してデバッガ解析機能の有効と無効を切り替える実行コードを含む、システム解析制御部70に記憶されているプログラムが実行され、デバッガ解析機能が無効化される。次に、システムプログラムはデバッガが無効化されていることを確認した後、秘匿対象のデータやプログラムを生成し、秘匿対象データ記憶部61に格納する。次に、システムプログラムは暗号鍵生成用データ記憶部62から暗号鍵K1を生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。続いて、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、暗号鍵K1を出力として得る。さらに、システムプログラムは秘匿対象データ記憶部61から秘匿したいプログラムやデータを読み出し、暗号化装置63に入力し、先に得られた暗号鍵K1を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部64に格納される。さらに必要に応じて、システムプログラムは秘匿したいプログラムやデータを暗号化した後、システム解析装置80に対してデバッガ解析機能を有効にする実行コードを実行してもよい。
暗号化を行う際のハッシュ関数演算システムHSにおける不正アクセス検知信号S3は、例えば、無効(不正アクセス未検出状態)に固定しておく。但し、不正アクセス検知信号S3の状態は、復号化する場合の条件や要求仕様に依存するため、無効(不正アクセス未検出状態)に固定することに限定するものではない。
一方、図13に示すように、復号化を行う際には、先ずシステム解析装置80に対してデバッガ解析機能の有効と無効を切り替える実行コードを含む、システム解析制御部70に記憶されているプログラムが実行され、デバッガ解析機能が無効化される。次にシステムプログラムは復号鍵生成用データ記憶部65から復号鍵K2を生成するための元データを読み出し、ハッシュ関数演算システムHSに入力する。次に、システムプログラムは、ハッシュ関数演算システムHSの演算を開始し、復号鍵K2を出力として得る。さらに、システムプログラムは、暗号化データ記憶部64から暗号化されたプログラムやデータを読み出し、復号化装置66に入力し、先に得られた復号鍵K2を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部67に格納される。さらに必要に応じて、システムプログラムは復号化されたプログラムやデータを使用した後に、そのプログラムやデータを消去し、システム解析装置80に対してデバッガ解析機能を有効にする実行コードを実行してもよい。
ハッシュ関数演算システムHSにおいて復号鍵K2を生成する際に、不正アクセスがあった場合、正しい復号鍵が得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、システム解析制御部70に記憶されている鍵生成の元となるプログラムが改竄されると正しい鍵が生成されないため、結果的にシステム解析制御部70に記憶されている鍵生成の元となるプログラムも不正改竄できず、保護されていることになる。
本実施の形態によれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
さらに、本実施の形態においては、システムプログラムの実行過程で生成される秘匿対象のデータを暗号化する際、事前にデバッガ等のシステム解析装置を無効化でき、安全に暗号化可能である利点がある。
また、暗号化データを復号した後の平文データの不正解析、および不正改竄を制限できるため、暗号化された秘匿データが正常に復号化された後の平文データも保護できる利点を有する。
本発明は、不正アクセスを検出し、その検出状態によって動作を変更するハッシュ関数演算システムを用いることで、安全な暗号鍵管理、改竄防止を可能としており、データやプログラムの不正解析および不正改竄防止システムに有用である。さらに本発明は、著作権保護が必要なコンテンツを扱う映像・音楽機器や、個人情報や金銭情報等セキュア情報を取り扱うデータベースシステム、ICカード等に利用可能である。
本発明の実施の形態1のハッシュ関数演算システムの構成を示すブロック図 本発明の実施の形態2のハッシュ関数演算システムの構成を示すブロック図 本発明の実施の形態3のハッシュ関数演算システムの構成を示すブロック図 本発明の実施の形態4のハッシュ関数演算システムの構成を示すブロック図 本発明の実施の形態5のハッシュ関数演算システムの構成を示すブロック図 本発明の実施の形態6のハッシュ関数演算システム(復号化装置)の構成を示すブロック図 本発明の実施の形態6のハッシュ関数演算システム(暗号化装置)の構成を示すブロック図 本発明の実施の形態7の不正解析・改竄防止システム(暗号化装置)の構成を示すブロック図 本発明の実施の形態7の不正解析・改竄防止システム(復号化装置)の構成を示すブロック図 本発明の実施の形態8の不正解析・改竄防止システム(暗号化装置)の構成を示すブロック図 本発明の実施の形態8の不正解析・改竄防止システム(復号化装置)の構成を示すブロック図 本発明の実施の形態9の不正解析・改竄防止システム(暗号化装置)の構成を示すブロック図 本発明の実施の形態9の不正解析・改竄防止システム(復号化装置)の構成を示すブロック図
符号の説明
10,10a,10b ハッシュ関数演算処理手段
11,11a ハッシュ関数演算手段
12 ハッシュ関数出力記憶手段
13 フィードバック演算手段
20,20a 不正アクセス検出手段
21 不正アクセス履歴情報記憶手段
22 不正アクセス判定手段
30,30a,30b,50 不正アクセス監視手段
31,31a,31b,51 信号切替え手段
32,33 擾乱手段
34 パスワード記憶手段
35 パスワード比較手段
40 ハッシュ関数逆演算処理手段
41 ハッシュ関数逆演算手段
52 擾乱逆演算手段
61 秘匿対象データ記憶部
62 暗号鍵生成用データ記憶部
62a セキュリティパラメータ生成用データ記憶部
63 暗号化装置
63a 非対称暗号化装置
64 暗号化データ記憶部
65 復号鍵生成用データ記憶部
66 復号化装置
66a 非対称復号化装置
67 復号化データ記憶部
68 暗号鍵生成部
69 復号鍵生成部
70 システム解析制御部
80 システム解析装置(デバッガ)
D1,D1′ ハッシュ関数演算処理手段から不正アクセス監視手段への入力信号
D2,D2′ 不正アクセス監視手段からハッシュ関数演算処理手段への出力信号
Din,Din′ ハッシュ関数演算処理手段に入力する被演算値
Dout,Dout′ ハッシュ関数演算処理手段が出力する演算結果
HS ハッシュ関数演算システム
K1 暗号鍵
K2 復号鍵
SP セキュリティパラメータ
S1 演算開始信号
S2 演算終了信号
S3 不正アクセス検出信号
S4,S4a 不正アクセス検知信号
S5 不正アクセス検出模擬信号

Claims (18)

  1. 被演算値と演算値の情報長が同一、かつ前記被演算値と前記演算値が1対1に対応し、複数のハッシュ関数演算手段が多段に接続するように構成されるハッシュ関数演算処理手段と、
    前記ハッシュ関数演算処理手段の演算時に、外部からの不正アクセスを検出する不正アクセス検出手段と、
    前記多段接続のハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、前記不正アクセス検出手段が未検出状態では前記抜き出した出力を次段のハッシュ関数演算手段に入力し、前記不正アクセス検出手段が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段と
    を備えたハッシュ関数演算システム。
  2. 前記ハッシュ関数演算処理手段は、
    1つ以上のハッシュ関数演算手段を直列接続するように構成され、最終段のハッシュ関数演算手段の出力を前記不正アクセス監視手段に送信する前段ハッシュ関数演算処理手段と、
    1つ以上のハッシュ関数演算手段を直列接続するように構成され、前記不正アクセス監視手段から送られる信号を最前段のハッシュ関数演算手段に入力し、最終段のハッシュ関数演算手段による演算結果を外部へ出力する後段ハッシュ関数演算処理手段と
    から構成されている請求項1に記載のハッシュ関数演算システム。
  3. 前記不正アクセス監視手段は、前記不正アクセス検出手段が未検出状態では、前記抜き出した出力に前記検出状態とは異なる擾乱を加えた後、前記次段のハッシュ関数演算手段に入力する請求項1または請求項2に記載のハッシュ関数演算システム。
  4. 前記不正アクセス検出手段は、システム起動からの不正アクセス履歴により、未検出状態から検出状態へ遷移し、または検出状態から未検出状態へ遷移するように構成されている請求項1から請求項3までのいずれかに記載のハッシュ関数演算システム。
  5. 前記不正アクセス監視手段は、さらに、パスワードを記憶するパスワード記憶手段と、 当該不正アクセス監視手段の出力と前記パスワード記憶手段の前記パスワードとを比較するパスワード比較手段とを備え、前記パスワードの一致状態によって前記不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替える請求項1から請求項4までのいずれかに記載のハッシュ関数演算システム。
  6. 前記不正アクセス監視手段は、当該不正アクセス監視手段の出力が任意の情報長に達するまで蓄積記憶した上で、前記パスワードを比較する請求項5に記載のハッシュ関数演算システム。
  7. 前記ハッシュ関数演算処理手段は、さらに、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の入力に対し、任意の演算を行うフィードバック演算手段とを備えている請求項1から請求項6までのいずれかに記載のハッシュ関数演算システム。
  8. 前記ハッシュ関数演算処理手段は、さらに、入出力の他にハッシュ関数演算に利用する初期演算パラメータを記憶する手段と、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の初期演算パラメータに対し任意の演算を行い、更新の初期演算パラメータとして記憶するフィードバック演算記憶手段とを備えている請求項1から請求項6までのいずれかに記載のハッシュ関数演算システム。
  9. 前記ハッシュ関数演算手段は、1対1に出力から入力を得る逆関数が存在し、かつハッシュ関数逆演算処理手段の出力から入力を得て逆演算が可能に構成されている請求項1から請求項8までのいずれかに記載のハッシュ関数演算システム。
  10. ハッシュ関数演算手段の逆関数となるハッシュ関数逆演算手段を多段に接続した逆演算可能なハッシュ関数逆演算処理手段と、
    前記多段接続のハッシュ関数逆演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス検出が未検出状態では前記抜き出した出力を次段のハッシュ関数逆演算手段に入力し、前記不正アクセス検出が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数逆演算手段に入力する不正アクセス監視手段と
    を備えた暗号化システム。
  11. 秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
    対称暗号化方式に用いる暗号鍵を生成するための元データを記憶しておく暗号鍵生成用データ記憶部と、
    請求項1から請求項8までのいずれかに記載のものであって、前記暗号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により暗号鍵を生成するハッシュ関数演算システムと、
    前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記ハッシュ関数演算システムからの前記暗号鍵を用いて対称暗号化方式の暗号化を行う対称暗号化装置と
    を備えた不正解析・改竄防止システム。
  12. 対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
    対称暗号化方式の復号化に用いる復号鍵を生成するための元データを記憶しておく復号鍵生成用データ記憶部と、
    請求項1から請求項8までのいずれかに記載のものであって、前記復号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により復号鍵を生成するハッシュ関数演算システムと、
    前記暗号化データ記憶部内の暗号化データを前記ハッシュ関数演算システムからの前記復号鍵を用いて対称暗号化方式の復号化を行う対称暗号復号化装置と
    を備えた不正解析・改竄防止システム。
  13. 秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
    非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データを記憶しておくセキュリティパラメータ生成用データ記憶部と、
    請求項1から請求項8までのいずれかに記載のものであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
    前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて暗号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部と、
    前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記暗号鍵生成部からの前記暗号鍵を用いて非対称暗号化方式の暗号化を行う非対称暗号化装置と
    を備えた不正解析・改竄防止システム。
  14. 非対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
    秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
    非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データを記憶しておくセキュリティパラメータ生成用データ記憶部と、
    請求項1から請求項8までのいずれかに記載のものであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
    前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて復号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして復号鍵を生成する復号鍵生成部と、
    前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記復号鍵生成部からの前記復号鍵を用いて非対称暗号化方式の復号化を行う非対称暗号復号化装置と
    を備えた不正解析・改竄防止システム。
  15. 請求項11に記載の不正解析・改竄防止システムにおいて、さらに、
    デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式に用いる暗号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
  16. 請求項12に記載の不正解析・改竄防止システムにおいて、さらに、
    デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式の復号化に用いる復号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
  17. 請求項13に記載の不正解析・改竄防止システムにおいて、さらに、
    デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
  18. 請求項14に記載の不正解析・改竄防止システムにおいて、さらに、
    デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式の復号化に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。


JP2004295208A 2004-10-07 2004-10-07 ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム Pending JP2006107274A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004295208A JP2006107274A (ja) 2004-10-07 2004-10-07 ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム
US11/244,081 US20060080537A1 (en) 2004-10-07 2005-10-06 Illegal analysis / falsification preventing system
CN200510108247.6A CN1758178A (zh) 2004-10-07 2005-10-08 非法分析/伪造预防系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004295208A JP2006107274A (ja) 2004-10-07 2004-10-07 ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム

Publications (1)

Publication Number Publication Date
JP2006107274A true JP2006107274A (ja) 2006-04-20

Family

ID=36146755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004295208A Pending JP2006107274A (ja) 2004-10-07 2004-10-07 ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム

Country Status (3)

Country Link
US (1) US20060080537A1 (ja)
JP (1) JP2006107274A (ja)
CN (1) CN1758178A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112007000887T5 (de) 2006-04-10 2009-02-19 Seiko Precision Inc., Narashino Druckkopf und damit ausgestatteter Drucker
JP2013178797A (ja) * 2013-04-15 2013-09-09 Mega Chips Corp 半導体記憶装置
JP2015219596A (ja) * 2014-05-14 2015-12-07 日本電信電話株式会社 認証システム及び認証方法
JP2017201783A (ja) * 2016-05-02 2017-11-09 富士通株式会社 ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化
US10785259B2 (en) 2016-04-19 2020-09-22 Mitsubishi Electric Corporation Relay device

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683549B2 (en) * 2007-03-23 2014-03-25 Microsoft Corporation Secure data storage and retrieval incorporating human participation
US8224936B2 (en) * 2008-05-21 2012-07-17 Cisco Technology, Inc. Configuration file override
US8335917B2 (en) 2008-08-12 2012-12-18 Cisco Technology, Inc. System for binding a device to a gateway to regulate service theft through cloning
JP5282477B2 (ja) * 2008-08-12 2013-09-04 富士通株式会社 認証方法、プログラム、及び認証装置
JP5424974B2 (ja) * 2010-04-27 2014-02-26 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US20120110219A1 (en) * 2010-11-03 2012-05-03 Toshiba Tec Kabushiki Kaisha Data processing circuit and data processing apparatus
CN102222188A (zh) * 2011-06-09 2011-10-19 昆明有色冶金设计研究院股份公司 一种信息系统用户密码的生成方法
US9160536B2 (en) * 2011-11-30 2015-10-13 Advanced Biometric Controls, Llc Verification of authenticity and responsiveness of biometric evidence and/or other evidence
US9832023B2 (en) 2011-10-31 2017-11-28 Biobex, Llc Verification of authenticity and responsiveness of biometric evidence and/or other evidence
JP5953867B2 (ja) * 2012-03-26 2016-07-20 富士ゼロックス株式会社 プログラム、及びプログラム保護装置
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
CN105069327A (zh) * 2015-08-25 2015-11-18 武汉丰天信息网络有限公司 一种防止软件或数据被盗的方法
EP3185194A1 (en) 2015-12-24 2017-06-28 Gemalto Sa Method and system for enhancing the security of a transaction
US10868669B2 (en) * 2017-10-16 2020-12-15 Taiwan Semiconductor Manufacturing Company Ltd. Method for role-based data transmission using physically unclonable function (PUF)-based keys
JP7168532B2 (ja) * 2019-08-30 2022-11-09 任天堂株式会社 情報処理システム、情報処理方法、開発装置、および開発装置用のプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675297B1 (en) * 1999-03-01 2004-01-06 Sigma Designs, Inc. Method and apparatus for generating and using a tamper-resistant encryption key
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US7103782B1 (en) * 2000-09-27 2006-09-05 Motorola, Inc. Secure memory and processing system having laser-scribed encryption key
US6845908B2 (en) * 2002-03-18 2005-01-25 Hitachi Semiconductor (America) Inc. Storage card with integral file system, access control and cryptographic support
US7221756B2 (en) * 2002-03-28 2007-05-22 Lucent Technologies Inc. Constructions of variable input length cryptographic primitives for high efficiency and high security

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112007000887T5 (de) 2006-04-10 2009-02-19 Seiko Precision Inc., Narashino Druckkopf und damit ausgestatteter Drucker
JP2013178797A (ja) * 2013-04-15 2013-09-09 Mega Chips Corp 半導体記憶装置
JP2015219596A (ja) * 2014-05-14 2015-12-07 日本電信電話株式会社 認証システム及び認証方法
US10785259B2 (en) 2016-04-19 2020-09-22 Mitsubishi Electric Corporation Relay device
JP2017201783A (ja) * 2016-05-02 2017-11-09 富士通株式会社 ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化

Also Published As

Publication number Publication date
CN1758178A (zh) 2006-04-12
US20060080537A1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
US20060080537A1 (en) Illegal analysis / falsification preventing system
US10284368B2 (en) Secure key storage
Moradi et al. Improved side-channel analysis attacks on Xilinx bitstream encryption of 5, 6, and 7 series
KR100837270B1 (ko) 스마트 카드 및 그것의 데이터 보안 방법
US9703945B2 (en) Secured computing system with asynchronous authentication
JP5616528B2 (ja) ソフトウェアの完全性を保証するためのプロセッサにより実施される方法
WO2010134192A1 (ja) 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
JPH10154976A (ja) タンパーフリー装置
TW200949677A (en) Microprocessor having secure non-volatile storage access
CN110825672B (zh) 用于联机加密处理的高性能自主硬件引擎
CN102737202B (zh) 利用迭代加密/解密密钥更新的指令加密/解密设备和方法
JP6792970B2 (ja) 集積回路、集積回路を保護する方法及びコンピュータプログラム製品
TWI631462B (zh) 確保機板上匯流排交易安全的計算系統和計算設備實現的方法以及非暫時性的電腦可讀取媒體
US8774407B2 (en) System and method for executing encrypted binaries in a cryptographic processor
KR20060126973A (ko) 기밀정보처리 시스템 및 lsi
Zhang et al. A pragmatic per-device licensing scheme for hardware IP cores on SRAM-based FPGAs
Sau et al. Survey of secure processors
Liu et al. Fingerprint-based detection and diagnosis of malicious programs in hardware
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
JP2007328789A (ja) 入力データに関するアドレスを使用して入力データを符号化するための暗号システム、エラー検出回路、及びそれの動作方法
WO2014178889A1 (en) Vlsi tamper detection and resistance
JP2017526220A (ja) 順不同(out of order)データに対する推論的暗号処理
WO2006046484A1 (ja) 認証方法
JP2009252142A (ja) データ処理装置
Mohammad et al. Required policies and properties of the security engine of an SoC