(57)【要約】【課題】多種多様の不正アクセス手段に応用可能で、秘匿したいシステムプログラムやデータに対して、不特定ユーザがデバッガ等を使用して不正解析や不正改竄を行うことを防止し、暗号化および復号化処理を安全に行う。【解決手段】入力から出力を予測不能なハッシュ関数演算手段１１を多段に接続したハッシュ関数演算処理手段１０と、不正アクセス状態を検出する不正アクセス検出手段２０と、ハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス未検出状態では抜き出した出力を次段のハッシュ関数演算手段に入力し、一方、不正アクセス検出状態では抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段３０から構成され、不正アクセス状態に応じて動作が異なるハッシュ演算を行うことで、改竄を防止し、暗号鍵生成を安全に行う。【選択図】図１
2006107274.tif 000002
【特許請求の範囲】
【請求項１】
被演算値と演算値の情報長が同一、かつ前記被演算値と前記演算値が１対１に対応し、複数のハッシュ関数演算手段が多段に接続するように構成されるハッシュ関数演算処理手段と、
前記ハッシュ関数演算処理手段の演算時に、外部からの不正アクセスを検出する不正アクセス検出手段と、
前記多段接続のハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、前記不正アクセス検出手段が未検出状態では前記抜き出した出力を次段のハッシュ関数演算手段に入力し、前記不正アクセス検出手段が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段と
を備えたハッシュ関数演算システム。
【請求項２】
前記ハッシュ関数演算処理手段は、
１つ以上のハッシュ関数演算手段を直列接続するように構成され、最終段のハッシュ関数演算手段の出力を前記不正アクセス監視手段に送信する前段ハッシュ関数演算処理手段と、
１つ以上のハッシュ関数演算手段を直列接続するように構成され、前記不正アクセス監視手段から送られる信号を最前段のハッシュ関数演算手段に入力し、最終段のハッシュ関数演算手段による演算結果を外部へ出力する後段ハッシュ関数演算処理手段と
から構成されている請求項１に記載のハッシュ関数演算システム。
【請求項３】
前記不正アクセス監視手段は、前記不正アクセス検出手段が未検出状態では、前記抜き出した出力に前記検出状態とは異なる擾乱を加えた後、前記次段のハッシュ関数演算手段に入力する請求項１または請求項２に記載のハッシュ関数演算システム。
【請求項４】
前記不正アクセス検出手段は、システム起動からの不正アクセス履歴により、未検出状態から検出状態へ遷移し、または検出状態から未検出状態へ遷移するように構成されている請求項１から請求項３までのいずれかに記載のハッシュ関数演算システム。
【請求項５】
前記不正アクセス監視手段は、さらに、パスワードを記憶するパスワード記憶手段と、      当該不正アクセス監視手段の出力と前記パスワード記憶手段の前記パスワードとを比較するパスワード比較手段とを備え、前記パスワードの一致状態によって前記不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替える請求項１から請求項４までのいずれかに記載のハッシュ関数演算システム。
【請求項６】
前記不正アクセス監視手段は、当該不正アクセス監視手段の出力が任意の情報長に達するまで蓄積記憶した上で、前記パスワードを比較する請求項５に記載のハッシュ関数演算システム。
【請求項７】
前記ハッシュ関数演算処理手段は、さらに、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の入力に対し、任意の演算を行うフィードバック演算手段とを備えている請求項１から請求項６までのいずれかに記載のハッシュ関数演算システム。
【請求項８】
前記ハッシュ関数演算処理手段は、さらに、入出力の他にハッシュ関数演算に利用する初期演算パラメータを記憶する手段と、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の初期演算パラメータに対し任意の演算を行い、更新の初期演算パラメータとして記憶するフィードバック演算記憶手段とを備えている請求項１から請求項６までのいずれかに記載のハッシュ関数演算システム。
【請求項９】
前記ハッシュ関数演算手段は、１対１に出力から入力を得る逆関数が存在し、かつハッシュ関数逆演算処理手段の出力から入力を得て逆演算が可能に構成されている請求項１から請求項８までのいずれかに記載のハッシュ関数演算システム。
【請求項１０】
ハッシュ関数演算手段の逆関数となるハッシュ関数逆演算手段を多段に接続した逆演算可能なハッシュ関数逆演算処理手段と、
前記多段接続のハッシュ関数逆演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス検出が未検出状態では前記抜き出した出力を次段のハッシュ関数逆演算手段に入力し、前記不正アクセス検出が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数逆演算手段に入力する不正アクセス監視手段と
を備えた暗号化システム。
【請求項１１】
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
対称暗号化方式に用いる暗号鍵を生成するための元データを記憶しておく暗号鍵生成用データ記憶部と、
請求項１から請求項８までのいずれかに記載のものであって、前記暗号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により暗号鍵を生成するハッシュ関数演算システムと、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記ハッシュ関数演算システムからの前記暗号鍵を用いて対称暗号化方式の暗号化を行う対称暗号化装置と
を備えた不正解析・改竄防止システム。
【請求項１２】
対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
対称暗号化方式の復号化に用いる復号鍵を生成するための元データを記憶しておく復号鍵生成用データ記憶部と、
請求項１から請求項８までのいずれかに記載のものであって、前記復号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により復号鍵を生成するハッシュ関数演算システムと、
前記暗号化データ記憶部内の暗号化データを前記ハッシュ関数演算システムからの前記復号鍵を用いて対称暗号化方式の復号化を行う対称暗号復号化装置と
を備えた不正解析・改竄防止システム。
【請求項１３】
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データを記憶しておくセキュリティパラメータ生成用データ記憶部と、
請求項１から請求項８までのいずれかに記載のものであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて暗号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記暗号鍵生成部からの前記暗号鍵を用いて非対称暗号化方式の暗号化を行う非対称暗号化装置と
を備えた不正解析・改竄防止システム。
【請求項１４】
非対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データを記憶しておくセキュリティパラメータ生成用データ記憶部と、
請求項１から請求項８までのいずれかに記載のものであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて復号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして復号鍵を生成する復号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記復号鍵生成部からの前記復号鍵を用いて非対称暗号化方式の復号化を行う非対称暗号復号化装置と
を備えた不正解析・改竄防止システム。
【請求項１５】
請求項１１に記載の不正解析・改竄防止システムにおいて、さらに、
デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式に用いる暗号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
【請求項１６】
請求項１２に記載の不正解析・改竄防止システムにおいて、さらに、
デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式の復号化に用いる復号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
【請求項１７】
請求項１３に記載の不正解析・改竄防止システムにおいて、さらに、
デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
【請求項１８】
請求項１４に記載の不正解析・改竄防止システムにおいて、さらに、
デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式の復号化に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するシステム解析制御部を備えた不正解析・改竄防止システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムやデータを、第三者が不正に解析したり、改竄したりすることを防止するシステムに関する。
【背景技術】
【０００２】
従来、組込みセット製品内の秘匿したいシステムプログラムやデータについて、不特定ユーザによるデバッガ等を使用した不正解析や不正改竄を防止する技術として、解析手段（デバッガ等）に対してアクセス制限を設ける方式と、秘匿対象を暗号化する方式があった。
【０００３】
解析手段に対してアクセス制限を設ける方式は、例えば特許文献１にあるように、解析手段の使用可否をソフトウェアによって制御する。特許文献１では、パワーオンリセット時のデバッガの使用を禁止することにより、不特定ユーザによる秘匿対象のデータへのアクセスを制限する。また、秘匿対象のデータにアクセスが許されている特定ユーザに対しては、解除コードが含まれるソフトウェアを起動することによってパワーオンリセット時のアクセス制限を解除する。
【０００４】
一方、秘匿対象を暗号化する方式は、例えば特許文献２にあるように、秘匿対象のデータを暗号化すると同時に、不正アクセス検出時に鍵データをダミーデータに変更する。特許文献２では、秘匿データを復号する暗号鍵を読み出す際に、不正アクセスの有無を検出する。不正アクセスの有無に関わらず秘匿データは復号化され、必要な処理が行われた後、秘匿データは再暗号化される。不正アクセス検出時には、再暗号化に用いられる暗号鍵が正規の鍵ではなく、ダミーデータに変更され所定の記憶領域に格納される。次に秘匿データにアクセスする際には、暗号鍵がダミーデータになっているため正常に復号できない。
【特許文献１】特開２０００−３４７９４２号公報（第３−４頁、第１図）
【特許文献２】特開平１１−３２８０３２号公報（第３−４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
組込みセット製品内の秘匿したいシステムプログラムやデータについて、不特定ユーザによるデバッガ等を使用した不正解析や不正改竄を防止する従来技術には、セキュリティ強度が不十分である問題がある。
【０００６】
例えば、解析手段（デバッガ等）に対してアクセス制限を設ける方式においては、単一の解析手段に対する防止手段に限定されているため、配線プロービング等の他の解析手段に対して応用が困難であり、セキュリティ強度が十分でない。さらには、解析手段の使用可否制御をソフトウェアで行うため、使用可否コードが含まれているプログラムの起動方法を秘密にする必要があり、容易にセキュリティを破られる脆弱性が存在している。
【０００７】
一方、秘匿対象を暗号化する方式においては、正規の暗号鍵がデバッガ等で解析可能なままメモリやファイル上に置かれており、セキュリティ強度が十分でない。また、何らかの手段で正規の暗号鍵自体も秘匿されている場合においても、復号処理に使用する直前の正規の暗号鍵に対する保護が考慮されていない等、正規の鍵の取扱いに対する解決手段に欠けている。さらには、暗号化データを復号した後の平文データがデバッガ等を用いて動的解析可能であることに対する解決手段が欠けている。
【０００８】
本発明は、多種多様の不正アクセスに応用可能で、かつセキュリティ確保状態の有効と無効の切り替えを安全に制御でき、秘匿したいシステムプログラムやデータに対して、不特定ユーザがデバッガ等を使用して不正解析や不正改竄を行うことを防止し、暗号化および復号化処理を安全に行えるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、第１の手段として、本発明によるハッシュ関数演算システムは、
被演算値と演算値の情報長が同一、かつ前記被演算値と前記演算値が１対１に対応し、複数のハッシュ関数演算手段が多段に接続するように構成されるハッシュ関数演算処理手段と、
前記ハッシュ関数演算処理手段の演算時に、外部からの不正アクセスを検出する不正アクセス検出手段と、
前記多段接続のハッシュ関数演算手段による連鎖的処理において、任意の段数での出力を抜き出し、前記不正アクセス検出手段が未検出状態では前記抜き出した出力を次段のハッシュ関数演算手段に入力し、前記不正アクセス検出手段が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数演算手段に入力する不正アクセス監視手段とを備えた構成とされている。
【００１０】
上記において、個々のハッシュ関数演算手段は、それに対する入力の情報長と出力の情報長が同一で、さらに、入力から出力を予測することが不可能となっている関数の演算手段である。
【００１１】
上記構成において、前記ハッシュ関数演算処理手段についての１つの態様として、
１つ以上のハッシュ関数演算手段を直列接続するように構成され、最終段のハッシュ関数演算手段の出力を前記不正アクセス監視手段に送信する前段ハッシュ関数演算処理手段と、
１つ以上のハッシュ関数演算手段を直列接続するように構成され、前記不正アクセス監視手段から送られる信号を最前段のハッシュ関数演算手段に入力し、最終段のハッシュ関数演算手段による演算結果を外部へ出力する後段ハッシュ関数演算処理手段とから構成されているものは好ましい。
【００１２】
上記構成によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作を互いに異ならせることにより、不正なデバッガ解析等の不正アクセスに対応することができる。加えて、利用するのが不正アクセスの検知のみであるため、不正アクセスの種別は問わず、不正アクセスの検出状態に応じてハッシュ演算動作が変更されるため、多種多様の不正アクセスに対応可能となる。擾乱を行うので、不正アクセスを行った者は、不正アクセスによってハッシュ演算動作が変更されたことを認知し難いものとなる。
【００１３】
また、前記不正アクセス監視手段についての１態様として、前記不正アクセス検出手段が未検出状態では、前記抜き出した出力に前記検出状態とは異なる擾乱を加えた後、前記次段のハッシュ関数演算手段に入力するように構成するのが好ましい。
【００１４】
この場合、不正アクセスの未検出状態においても擾乱を加えることで、ハッシュ関数演算処理手段と不正アクセス監視手段との間でやり取りされるデータを仮に覗き見されても、動作解析が不可能となる。したがって、ハッシュ関数演算処理手段と不正アクセス監視手段とが互いに別の半導体チップとして分離され、配線結合された構造においても、配線プロービング等で不正解析されることがなく、安全性を確保できる。
【００１５】
また、前記不正アクセス検出手段についての１つの態様として、システム起動からの不正アクセス履歴により、未検出状態から検出状態へ遷移し、または検出状態から未検出状態へ遷移するように構成するのが好ましい。
【００１６】
この場合、各種の不正アクセスがシステムに与える影響度に合わせて、不正アクセス検出手段の動作の対応レベルを設定できる利点がある。また、例えば、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定する一方、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにすれば、組込み製品セットにおける正規のデバッグおよび故障解析の手続きを複雑化することにも利用できる。
【００１７】
また、第２の手段として、本発明によるハッシュ関数演算システムは、上記の構成において、前記不正アクセス監視手段について、さらに、パスワードを記憶するパスワード記憶手段と、当該不正アクセス監視手段の出力と前記パスワード記憶手段の前記パスワードとを比較するパスワード比較手段とを備え、前記パスワードの一致状態によって前記不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替えるように構成したものである。
【００１８】
この場合、パスワードの一致・不一致の状態によって、換言すれば、ハッシュ関数演算処理手段に入力されてくる時系列データを使用して、不正アクセス検出手段の動作を、常時検出状態、常時非検出状態または不正アクセス検出状態に切り替えるので、セキュリティ確保状態の有効と無効の切り替え制御を安全に行うことを可能にする。例えば、製品開発時のデバッグ作業や故障製品の解析作業を軽減することが可能となる。
【００１９】
上記において、前記不正アクセス監視手段についての１つの態様として、当該不正アクセス監視手段の出力が任意の情報長に達するまで蓄積記憶した上で、前記パスワードを比較するように構成するのが好ましい。この場合、複雑なデータパターンをパスワードとすることができ、パスワードを利用することによる脆弱性を極小化することが可能となる。
【００２０】
また、第３の手段として、本発明によるハッシュ関数演算システムは、前記ハッシュ関数演算処理手段についての１つの態様として、さらに、任意の段のハッシュ関数演算手段からの出力を抜き出し記憶するハッシュ関数出力記憶手段と、前記記憶した出力と前記記憶した出力の段より入力に近い前段のハッシュ関数演算手段の入力に対し、任意の演算を行うフィードバック演算手段とを備えたものである。
【００２１】
この場合、ハッシュ演算の入力として使用する情報長の制限が無くなり、任意の情報長の入力に対して固定長の出力を得ること可能となる。特に、長文の改竄検出や長文データを基にした暗号鍵生成が可能となる。なお、前記フィードバック演算手段としては、フィードバックデータをハッシュ関数演算手段の入力と演算して、そのハッシュ関数演算手段の入力とする方式と、フィードバックデータをハッシュ関数演算手段の初期演算パラメータとして設定し、そのハッシュ関数演算手段の演算動作を変更する方式とがある。フィードバック毎に異なる方式のハッシュ関数演算を行うことになるため、単一のハッシュ関数演算を行う場合と比較して、ハッシュ演算結果の予測がさらに困難になり、セキュリティ強度が高まる。
【００２２】
また、第４の手段として、本発明によるハッシュ関数演算システムは、前記ハッシュ関数演算手段についての１つの態様として、１対１に出力から入力を得る逆関数が存在し、かつハッシュ関数逆演算処理手段の出力から入力を得て逆演算が可能に構成されているものである。
【００２３】
また、本発明による暗号化システムは、
ハッシュ関数演算手段の逆関数となるハッシュ関数逆演算手段を多段に接続した逆演算可能なハッシュ関数逆演算処理手段と、
前記多段接続のハッシュ関数逆演算手段による連鎖的処理において、任意の段数での出力を抜き出し、不正アクセス検出が未検出状態では前記抜き出した出力を次段のハッシュ関数逆演算手段に入力し、前記不正アクセス検出が検出状態では前記抜き出した出力に擾乱を加えた後、次段のハッシュ関数逆演算手段に入力する不正アクセス監視手段とを備えた構成とされている。
【００２４】
この場合、逆演算方法を知る者であれば、人間に可読な平文データを出力させるように入力を作成でき、かつ入力は可読でないデータとできるため、暗号鍵および復号鍵が不要な暗号システムとして利用可能となる。
【００２５】
また、本発明による不正解析・改竄防止システムは、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
対称暗号化方式に用いる暗号鍵を生成するための元データ（シード）を記憶しておく暗号鍵生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記暗号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により暗号鍵を生成するハッシュ関数演算システムと、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記ハッシュ関数演算システムからの前記暗号鍵を用いて対称暗号化方式の暗号化を行う対称暗号化装置とを備えた構成とされている。
【００２６】
この場合、不正アクセス検出時には正常な暗号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵が生成されるため、秘匿プログラムやデータの安全性を高めることが可能になる。また、暗号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵の秘密管理が不要となる。
【００２７】
なお、対称暗号化方式とは、同一の鍵を用いて暗号化と復号化を行う方式である。これに対して、非対称暗号化方式とは、暗号化の鍵と復号化の鍵が異なる方式である。
【００２８】
また、本発明による不正解析・改竄防止システムは、
対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
対称暗号化方式の復号化に用いる復号鍵を生成するための元データ（シード）を記憶しておく復号鍵生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記復号鍵生成用データ記憶部のデータを入力しハッシュ関数演算により復号鍵を生成するハッシュ関数演算システムと、
前記暗号化データ記憶部内の暗号化データを前記ハッシュ関数演算システムからの前記復号鍵を用いて対称暗号化方式の復号化を行う対称暗号復号化装置とを備えた構成とされている。
【００２９】
この場合、不正アクセス検出時には正常な復号鍵が生成されない一方、不正アクセス未検出時には正常な復号鍵が生成されるため、秘匿プログラムやデータを安全に復号することが可能になる。また、復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、復号鍵の秘密管理が不要となる。
【００３０】
また、本発明による不正解析・改竄防止システムは、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データ（シード）を記憶しておくセキュリティパラメータ生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて暗号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記暗号鍵生成部からの前記暗号鍵を用いて非対称暗号化方式の暗号化を行う非対称暗号化装置とを備えた構成とされている。
【００３１】
この場合、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
【００３２】
また、本発明による不正解析・改竄防止システムは、
非対称暗号化された暗号化データを記憶する暗号化データ記憶部と、
秘匿対象のデータまたはプログラムを記憶しておく秘匿対象データ記憶部と、
非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータを生成するための元データ（シード）を記憶しておくセキュリティパラメータ生成用データ記憶部と、
上記いずれかの構成のハッシュ関数演算システムであって、前記セキュリティパラメータ生成用データ記憶部のデータを入力しハッシュ関数演算によりセキュリティパラメータを生成するハッシュ関数演算システムと、
前記ハッシュ関数演算システムによる前記セキュリティパラメータに基づいて復号鍵を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして復号鍵を生成する復号鍵生成部と、
前記秘匿対象データ記憶部内の秘匿対象のデータまたはプログラムを前記復号鍵生成部からの前記復号鍵を用いて非対称暗号化方式の復号化を行う非対称暗号復号化装置とを備えた構成とされている。
【００３３】
この場合、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
【００３４】
上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式に用いる暗号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
【００３５】
また、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記対称暗号化方式の復号化に用いる復号鍵を生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
【００３６】
あるいは、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
【００３７】
また、上記の構成の不正解析・改竄防止システムにおいて、さらに、次のようなシステム解析制御部を備えた構成も好ましい。そのシステム解析制御部は、デバッガやトレーサ等のシステム解析装置の受付または拒否を行うものであって、前記非対称暗号化方式の復号化に用いるセキュリティパラメータを生成するための元データとしてプログラムデータを使用し、そのプログラムデータ内に前記システム解析装置の受付または拒否を制御するコードを有するものである。
【００３８】
この場合、前記一連の構成によって安全性が確保された不正改竄不能なシステムプログラム内にデバッガ等のシステム解析装置のアクセス制御コードを有することで、システムプログラム等の実行過程で生成される秘匿対象のデータを暗号化する際、事前にデバッガ等のシステム解析装置を無効化でき、安全に暗号化可能である。また、暗号化データを復号した後の平文データの不正解析、および不正改竄を制限でき、暗号化された秘匿データが正常に復号化された後の平文データも保護できる。
【発明の効果】
【００３９】
本発明によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作を互いに異ならせることにより、不正なデバッガ解析等の不正アクセスに対応した暗号化手段、および改竄検出手段に利用可能なハッシュ関数演算システムを提供できるようになる。また、利用するのが不正アクセスの検知のみであるため、多種多様の不正アクセスに対応可能なハッシュ関数演算システムを提供することができる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明にかかわる実施の形態を図面に基づいて詳細に説明する。
【００４１】
（実施の形態１）
図１は本発明の実施の形態１のハッシュ関数演算システムの構成を示すブロック図である。図１において、１０はハッシュ関数演算処理手段、２０は不正アクセス検出手段、３０は不正アクセス監視手段である。
【００４２】
ハッシュ関数演算処理手段１０は、入出力の情報長が同一、かつ入出力関係が１対１であり、さらに入力から出力を予測不能なハッシュ関数演算手段１１を多段に接続した構成である。
【００４３】
不正アクセス検出手段２０は、複数の不正アクセス検出信号Ｓ３を入力し、それらの論理演算（論理和、論理積等）を行うことによりハッシュ関数演算処理手段１０の演算時点での不正アクセス状態を検出し、その結果を不正アクセス検知信号Ｓ４として不正アクセス監視手段３０に与える。入力する不正アクセス検出信号Ｓ３については、例えば、デバッガ接続信号や、組込み製品セットのケースが開封された場合に有効となる信号等がある。
【００４４】
不正アクセス監視手段３０は、信号切替え手段３１と擾乱手段３２とを有している。信号切替え手段３１は、ハッシュ関数演算処理手段１０内の多段に接続されたハッシュ関数演算手段１１による連鎖的処理において、任意の段数での出力を抜き出す。そして、不正アクセス検出手段２０からの不正アクセス検知信号Ｓ４が無効（不正アクセス未検出）の状態では前記抜き出した出力を次段のハッシュ関数演算手段１１に出力し、一方、不正アクセス検知信号Ｓ４が有効（不正アクセス検出）の状態では前記抜き出した出力を擾乱手段３２に出力する。擾乱手段３２は、前記抜き出した出力に擾乱を加えた後、その結果を次段のハッシュ関数演算手段１１に出力する。
【００４５】
本実施の形態では、ハッシュ関数演算処理手段１０、不正アクセス検出手段２０および不正アクセス監視手段３０は、システムプログラムが動作するＬＳＩチップＡ１に内蔵されている。
【００４６】
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
【００４７】
ハッシュ関数演算処理手段１０の入出力は、例えばシステムプログラムから３２bitデータアクセス可能な、メモリアドレス空間にマップされたレジスタにおけるものである。また、ハッシュ関数演算処理手段１０は、演算を開始するトリガとなる演算開始信号Ｓ１を入力として受付ける。また、演算終了時に出力レジスタの読出しを許可する演算終了信号Ｓ２を出力する。
【００４８】
ハッシュ演算機能を利用する場合、システムプログラムにより入力用レジスタに被演算値Ｄinを設定し、演算開始信号Ｓ１を有効にする。演算が開始されると、被演算値Ｄinは初段のハッシュ関数演算手段１１に入力される。初段のハッシュ関数演算手段１１の出力は次段のハッシュ関数演算手段１１に入力され、連鎖的にハッシュ関数演算手段１１の演算が行われる。任意の段数Ｎまで演算が終了すると、Ｎ段目のハッシュ関数演算手段１１の出力は不正アクセス監視手段３０に入力される（入力信号Ｄ１）。
【００４９】
不正アクセス検出手段２０は、多数の不正アクセス検出信号Ｓ３の論理和、論理積等の合成信号を不正アクセス検知信号Ｓ４とする。
【００５０】
不正アクセス監視手段３０においては、信号切替え手段３１により、不正アクセス検出手段２０からの不正アクセス検知信号Ｓ４が無効（不正アクセス未検出状態）の場合、入力信号Ｄ１をそのまま不正アクセス監視手段３０の出力信号Ｄ２とする。一方、不正アクセス検出手段２０からの不正アクセス検知信号Ｓ４が有効（不正アクセス検出状態）の場合、入力信号Ｄ１を擾乱手段３２に出力し、擾乱手段３２によって入力信号Ｄ１に擾乱を加えた結果を不正アクセス監視手段３０の出力信号Ｄ２とする。
【００５１】
次に、不正アクセス監視手段３０の出力信号Ｄ２は、ハッシュ関数演算処理手段１０に戻され、Ｎ＋１段目のハッシュ関数演算手段１１に入力される。Ｎ＋１段目のハッシュ関数演算手段１１の出力は、次段のハッシュ関数演算手段１１に入力され、Ｍ段だけ連鎖的にハッシュ関数演算手段１１の演算が行われる。最終段のハッシュ関数演算手段１１の出力がハッシュ関数演算処理手段１０の出力となり、出力用レジスタに演算結果Ｄoutがセットされ、演算終了信号Ｓ２がシステムプログラムに通知される。
【００５２】
本実施の形態によれば、正常アクセス時と不正アクセス発生時のハッシュ演算動作が異なるため、同一の被演算値Ｄinに対して、不正アクセス状態に応じて異なる出力となる。そのため、不正なデバッガ解析等の不正アクセスに対応した暗号化手段、および改竄検出手段に利用可能なハッシュ関数演算システムを提供できる。
【００５３】
また、利用するのが不正アクセスの検知のみであるため、多種多様の不正アクセスに対応できると同時に、多数の不正アクセス検出信号Ｓ３の論理和、論理積等の合成信号を不正アクセス検知信号Ｓ４として使用でき、複数の不正アクセスの状態に対応できる利点がある。
【００５４】
（実施の形態２）
図２は本発明の実施の形態２のハッシュ関数演算システムの構成を示すブロック図である。実施の形態２では、図１の実施の形態１における不正アクセス監視手段３０ａ内の構造が異なる。図２において、ハッシュ関数演算処理手段１０および不正アクセス検出手段２０の構成は実施の形態１と同一である。
【００５５】
不正アクセス監視手段３０ａは、２つの擾乱手段３２，３３と信号切替え手段３１ａとを備えている。信号切替え手段３１ａは、不正アクセス検知信号Ｓ４が無効のときに入力信号Ｄ１を擾乱手段３３に出力し、不正アクセス検知信号Ｓ４が有効のときに入力信号Ｄ１を擾乱手段３２に出力する。擾乱手段３２による擾乱と擾乱手段３３による擾乱とは互いに異なるものである。すなわち、本実施の形態では、ハッシュ関数演算の連鎖的処理中の入力信号Ｄ１に対して、不正アクセスの有無にかかわらず擾乱を与えるものである。
【００５６】
本実施の形態は、ハッシュ関数演算処理手段１０は、システムプログラムが動作するＬＳＩチップＡ２に内蔵されている。また、不正アクセス検出手段２０および不正アクセス監視手段３０ａは、ＬＳＩチップＡ２とは異なるＬＳＩチップＢ２上に実装分離され、配線結合された構造である。
【００５７】
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
【００５８】
不正アクセス監視手段３０ａにおいては、信号切替え手段３１ａにより、不正アクセス検出手段２０からの不正アクセス検知信号Ｓ４が無効（不正アクセス未検出状態）の場合、入力信号Ｄ１を擾乱手段３３に出力し、擾乱手段３３による擾乱結果の出力を不正アクセス監視手段３０ａの出力信号Ｄ２とする。一方、不正アクセス検出手段２０からの不正アクセス検知信号Ｓ４が有効（不正アクセス検出状態）の場合、入力信号Ｄ１を擾乱手段３２に出力し、擾乱手段３２による擾乱結果の出力を不正アクセス監視手段３０ａの出力信号Ｄ２とする。その他の動作については、実施の形態１と同様であるので説明を省略する。
【００５９】
本実施の形態によれば、実施の形態１の効果に加えて、不正アクセス検出手段２０が未検出状態においても擾乱を加えるようにすることで、不正アクセス監視手段３０ａとハッシュ関数演算処理手段１０との間でやり取りされるデータを仮に覗き見されても、動作解析が不可能なため、例えば、ハッシュ関数演算処理手段１０と不正アクセス監視手段３０ａが別のＬＳＩチップとして分離され配線結合された構造においても、配線プロービング等により不正解析が不能である利点を有する。
【００６０】
（実施の形態３）
図３は実施の形態３のハッシュ関数演算システムの構成を示すブロック図である。実施の形態３では、図１の実施の形態１における不正アクセス検出手段２０ａ内の構造が異なる。図３において、ハッシュ関数演算処理手段１０および不正アクセス監視手段３０の構成は実施の形態１と同一である。
【００６１】
不正アクセス検出手段２０ａは、システム起動からの不正アクセス履歴情報を記憶しておく不正アクセス履歴情報記憶手段２１を備え、不正アクセス履歴情報記憶手段２１に記憶されている履歴情報Ｄ３と、予め設定されている不正アクセス判定基準データＤ４とを比較し、一致状態に応じて未検出状態と検出状態を切り替える不正アクセス判定手段２２を備えた構成となっている。
【００６２】
本実施の形態では、ハッシュ関数演算処理手段１０、不正アクセス検出手段２０ａおよび不正アクセス監視手段３０は、システムプログラムが動作するＬＳＩチップＡ３に内蔵されている。
【００６３】
なお、図２の実施の形態２に対して、その不正アクセス検出手段２０を本実施の形態の不正アクセス検出手段２０ａで置き換えてもよい。
【００６４】
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
【００６５】
不正アクセス検出手段２０ａでは、多数の不正アクセス検出信号Ｓ３のシステム起動時からの履歴情報を不正アクセス履歴情報記憶手段２１に記憶している。不正アクセス判定手段２２は、多数の不正アクセス検出信号Ｓ３の状態が変化する毎に、不正アクセス履歴情報記憶手段２１に記憶されている履歴情報Ｄ３と、予め設定されている不正アクセス判定基準データＤ４とを比較し、一致状態に応じて未検出状態と検出状態を切り替え、その状態に相当する不正アクセス検知信号Ｓ４を出力する。
【００６６】
例えば、単にデバッガを接続しただけでは不正アクセスとは判定せず、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定するようにする。また、さらには、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにする等、不正アクセス順序に応じた制御も可能である。その他の動作については、実施の形態１と同様であるので説明を省略する。
【００６７】
本実施の形態によれば、不正アクセス検出手段２０ａの不正アクセス検出判定に、多数の不正アクセス検出信号Ｓ３のシステム起動時からの履歴情報を使用しているため、各種の不正アクセスがシステムに与える影響度に合わせて対応レベルを設定できる利点を有する。また、例えば前記のように、組込み製品セットのケースが開封された後、デバッガが接続された場合に不正アクセスと判定する一方、デバッガが接続された後、組込み製品セットのケースが開封された場合には不正アクセスとしないようにすることもでき、組込み製品セットにおける正規のデバッグおよび故障解析の手続きを複雑化することにも利用できる。
【００６８】
（実施の形態４）
図４は実施の形態４のハッシュ関数演算システムの構成を示すブロック図である。実施の形態４では、図１の実施の形態１における不正アクセス監視手段３０ｂ内の構造が異なる。図４において、ハッシュ関数演算処理手段１０、不正アクセス検出手段２０の構成は実施の形態１と同一である。
【００６９】
不正アクセス監視手段３０ｂは、実施の形態１と同様の信号切替え手段３１ｂと擾乱手段３２に加えて、所定のパスワードを記憶しておくパスワード記憶手段３４と、当該不正アクセス監視手段３０ｂの出力をパスワード記憶手段３４のパスワードと比較して、パスワードとの一致状態によって信号切替え手段３１ｂの動作を、常時検出状態、常時非検出状態または不正アクセス検出状態（不正アクセス検出手段２０の信号に従って自動切り替えを行う状態）に切り替えるパスワード比較手段３５とを備えている。パスワード比較手段３５は、パスワードと比較する出力を任意の情報長に達するまで蓄積記憶した後、パスワードと比較する機能を有している。その蓄積記憶手段としては、例えば、時系列順に記憶し、古いデータから破棄していくＦＩＦＯバッファがある。
【００７０】
本実施の形態は、ハッシュ関数演算処理手段１０、不正アクセス検出手段２０および不正アクセス監視手段３０ｂは、システムプログラムが動作するＬＳＩチップＡ４に内蔵されている。
【００７１】
なお、他の実施の形態に対して、本実施の形態のパスワード記憶手段３４およびパスワード比較手段３５を有する不正アクセス監視手段３０ｂを適用してもよい。
【００７２】
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
【００７３】
不正アクセス監視手段３０ｂのパスワード比較手段３５は、そのＦＩＦＯバッファに、出力信号Ｄ２を任意の情報長に達するまで蓄積記憶する。そして、ＦＩＦＯバッファ内のデータとパスワード記憶手段３４に予め記憶されているパスワードとを比較し、例えば、常時検出状態に遷移するためのパスワードと一致した場合には、信号切替え手段３１ｂの動作を常時検出状態とする。
【００７４】
また、常時非検出状態または不正アクセス検出状態に遷移するためのパスワードと一致した場合には、それぞれに対応した信号切替え手段３１ｂの動作とする。
【００７５】
なお、前記ＦＩＦＯバッファは、例えば、時系列データの奇数番目に到着するデータのみ蓄積するなど、柔軟に設定できる。
【００７６】
その他の動作については、実施の形態１と同様であるので説明を省略する。
【００７７】
本実施の形態によれば、システムプログラムがハッシュ関数演算処理手段に入力する時系列データを使用して対不正アクセス機能の有効・無効を切り替えることができ、例えば製品開発時のデバッグ作業や故障製品の解析作業を軽減できる利点を有する。
【００７８】
また、パスワード比較手段３５内の時系列データの蓄積方法を工夫することで、パスワード強度を自在に変えることができ、所望のセキュリティ強度を実現可能である。
【００７９】
（実施の形態５）
図５は本発明の実施の形態５のハッシュ関数演算システムの構成を示すブロック図である。実施の形態５では、図１の実施の形態１におけるハッシュ関数演算処理手段１０ａ内の構造が異なる。図５において、不正アクセス監視手段３０および不正アクセス検出手段２０の構成は実施の形態１と同一である。
【００８０】
ハッシュ関数演算処理手段１０ａは、多段に接続されたハッシュ関数演算手段１１において、任意の段のハッシュ関数演算手段１１からの出力を抜き出し記憶するハッシュ関数出力記憶手段１２と、記憶した出力を記憶した出力の段より入力に近い前段のハッシュ関数演算手段１１の演算にフィードバックさせるフィードバック演算手段１３とを備えた構成である。フィードバック演算手段１３は、フィードバックデータをハッシュ関数演算手段１１の初期演算パラメータＤ５として設定し、そのハッシュ関数演算手段１１の演算動作を変更する構成である。
【００８１】
なお、フィードバックデータをハッシュ関数演算手段１１の入力と演算し、演算結果をそのハッシュ関数演算手段１１の入力とする構成も可能である。また、フィードバック演算手段１３が対象とするハッシュ関数演算手段１１は、単一でも複数であってもよい。
【００８２】
本実施の形態では、ハッシュ関数演算処理手段１０ａ、不正アクセス検出手段２０および不正アクセス監視手段３０は、システムプログラムが動作するＬＳＩチップＡ５に内蔵されている。
【００８３】
なお、他の実施の形態に対して、本実施の形態のハッシュ関数演算処理手段１０ａを適用してもよい。
【００８４】
以下、本実施の形態のハッシュ関数演算システムの動作を説明する。
【００８５】
ハッシュ関数演算処理手段１０ａでは、任意の段のハッシュ関数演算手段１１からの出力を抜き出し、ハッシュ関数出力記憶手段１２に記憶する。記憶した出力は、フィードバック演算手段１３に送られる。すなわち、記憶した出力の段より入力に近い前段のハッシュ関数演算手段１１の演算に直ちにフィードバックする。フィードバック演算手段１３は、フィードバックされたデータをハッシュ関数演算手段１１の初期演算パラメータＤ５として設定し、ハッシュ関数演算手段１１の演算動作を変更する。
【００８６】
前記一連の動作が終了した後、新たにシステムプログラムにより入力用レジスタに被演算値Ｄinを設定し、演算開始信号Ｓ１を有効にして演算を開始した場合、ハッシュ関数演算処理手段１０ａの出力は、前回に入力した被演算値Ｄinに依存した出力となる。すなわち、本実施の形態によって、ある時点でのハッシュ関数演算処理手段１０ａの出力は、次々と入力される被演算値Ｄinの履歴に依存したものとなる。その他の動作については、実施の形態１と同様であるので説明を省略する。
【００８７】
本実施の形態によれば、ハッシュ関数演算処理手段１０ａ内がフィードバック構成であるため、ハッシュ演算の入力として使用する情報長の制限が無くなり、任意の情報長の入力に対して、一意かつ固定長の出力を得ることが可能となり、長文の改竄検出や長文データを基にした暗号鍵生成が可能となる利点を有する。
【００８８】
また、フィードバックデータをハッシュ関数演算手段１１の初期演算パラメータＤ５として設定し、ハッシュ関数演算手段１１の演算動作を変更することで、フィードバック毎に異なる方式のハッシュ関数演算手段１１を使用することになるため、単一のハッシュ関数演算手段１１を使用する場合と比較して、ハッシュ演算結果Ｄoutの予測がさらに困難になり、セキュリティ強度が高まる利点を有する。
【００８９】
（実施の形態６）
本発明の実施の形態６は、正常アクセス時と不正アクセス発生時で動作が異なる簡易暗号化手段にかかわるものである。実施の形態６における図６の復号化手段は、そのハッシュ関数演算処理手段１０ｂ内のハッシュ関数演算手段１１ａの構造が図１の実施の形態１とは異なる。図６において、不正アクセス監視手段３０および不正アクセス検出手段２０の構成は実施の形態１と同一である。
【００９０】
図６において、ハッシュ関数演算処理手段１０ｂは、入出力の情報長が同一、かつ入出力関係が１対１であり、さらに入力から出力を容易に予測できないハッシュ関数演算手段１１ａを多段に接続した構成であるが、ハッシュ関数演算手段１１ａについては、１対１に出力から入力を得る逆関数が存在し、かつ逆演算が可能なものを使用する。
【００９１】
不正アクセス検出手段２０および不正アクセス監視手段３０の構成および動作は、実施の形態１の場合と同様である。
【００９２】
本実施の形態では、ハッシュ関数演算処理手段１０ｂ、不正アクセス検出手段２０および不正アクセス監視手段３０は、システムプログラムが動作するＬＳＩチップＡ６に内蔵されている。
【００９３】
一方、図７において暗号化装置Ｂ６は、ハッシュ関数演算手段１１ａの逆関数を使用して、ハッシュ関数演算処理手段１０ｂの出力を所望のものとすることができる。ハッシュ関数演算処理手段１０ｂへ入力可能なデータを生成し、メモリ若しくはファイルに記憶する装置である。暗号化装置Ｂ６におけるハッシュ関数逆演算処理手段４０は、ハッシュ関数演算処理手段１０ｂ内のハッシュ関数演算手段１１ａの逆関数動作を行うハッシュ関数逆演算手段４１を多段に接続した構成である。暗号化装置Ｂ６におけるハッシュ関数逆演算手段４１の段数は、ハッシュ関数演算処理手段１０ｂ内のハッシュ関数演算手段１１ａの段数と同一である。不正アクセス監視手段５０内の擾乱逆演算手段５２は、ＬＳＩチップＡ６における不正アクセス監視手段３０内の擾乱手段３２の出力から入力を演算する。
【００９４】
また、暗号化装置Ｂ６において不正アクセス監視手段５０に入力される不正アクセス検知信号Ｓ４ａは、復号化時の要求条件仕様に合わせて模擬的に作られた不正アクセス検出模擬信号Ｓ５を使用する。
【００９５】
なお、実施の形態２〜５におけるハッシュ関数演算処理手段１０，１０ａを本実施の形態におけるハッシュ関数演算処理手段１０ｂに置き換えることもできる。
【００９６】
以下、本発明の実施の形態における動作について説明する。
【００９７】
図６の復号化手段におけるハッシュ関数演算手段１１ａは、実施の形態１におけるハッシュ関数演算手段１１に対して、逆関数が存在し、かつ逆演算可能な点が異なるだけで、基本動作は同一である。
【００９８】
一方、図７における暗号化装置Ｂ６では、先ずシステムプログラムにより入力用レジスタに被演算値Ｄin′を設定し、演算開始信号Ｓ１ａを有効にする。演算が開始されると、被演算値Ｄin′は初段のハッシュ関数逆演算手段４１に入力される。初段のハッシュ関数逆演算手段４１の出力は次段のハッシュ関数逆演算手段４１に入力され、連鎖的にハッシュ関数逆演算手段４１の演算が行われる。最終段のハッシュ関数逆演算手段４１の出力が暗号化装置Ｂ６の出力となり、出力用レジスタに演算結果Ｄout′がセットされ、演算終了信号Ｓ２ａがシステムプログラムに通知される。
【００９９】
なお、暗号化装置Ｂ６は、運用上セキュリティ的に保護されて管理されることが必要である。暗号化装置Ｂ６自体が不特定利用者によって無制限に使用された場合や、暗号化装置Ｂ６の内部構造が公知になった場合、本実施の形態における簡易暗号化手段は、所謂セキュリティ的に破られた状態となる。
【０１００】
なお、ハッシュ関数逆演算処理手段４０と不正アクセス監視手段５０の間での入力信号Ｄ１′および出力信号Ｄ２′の扱い、および不正アクセス監視手段５０の動作については、実施の形態１と同一である。
【０１０１】
本実施の形態によれば、ハッシュ関数演算手段１１ａとして、１対１に出力から入力を得る逆関数が存在し、かつ逆演算が可能なものを使用する構成により、逆演算方法を知る者であれば、ハッシュ関数演算処理手段１０ｂの出力を人間に可読な平文データとなるようにハッシュ関数演算処理手段１０ｂの入力を作成でき、かつその入力は可読でないデータとできる。すなわち、暗号化装置Ｂ６で作成したハッシュ関数演算処理手段１０ｂに入力するデータは暗号化されたデータとなり、ハッシュ関数演算処理手段１０ｂによって復号可能である。さらに、ハッシュ関数演算処理手段１０ｂで復号化する際には、不正アクセスが検知されると、正しく復号化が行われず、暗号化データは不正アクセスから保護される。
【０１０２】
また、暗号鍵および復号鍵が不要なため、鍵管理が不要である利点も有する。
【０１０３】
（実施の形態７）
本発明の実施の形態７は不正解析・改竄防止システムにかかわるものであり、図８および図９に基づいて説明する。
【０１０４】
図８は、対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部６１と、暗号鍵Ｋ１を生成する元となるデータを格納する暗号鍵生成用データ記憶部６２と、暗号鍵生成用データ記憶部６２のデータからハッシュ関数演算により暗号鍵Ｋ１を生成するハッシュ関数演算システムＨＳと、秘匿対象データ記憶部６１からのプログラム・データをハッシュ関数演算システムＨＳによる暗号鍵Ｋ１を使用して暗号化する対称暗号化方式の暗号化装置６３と、暗号化後のデータを格納する暗号化データ記憶部６４から構成されている。ハッシュ関数演算システムＨＳについては、上記の実施の形態１〜５自体のハッシュ関数演算システムが適用可能である。暗号化装置６３は、ＤＥＳ（Data Encryption Standard）やＡＥＳ（Advanced Encryption Standard）等公知の対称暗号化方式である。
【０１０５】
図９は、対称暗号化方式の復号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、暗号化されたプログラムやデータを記憶している暗号化データ記憶部６４と、復号鍵Ｋ２を生成する元となるデータを格納する復号鍵生成用データ記憶部６５と、復号鍵生成用データ記憶部６５のデータからハッシュ関数演算により復号鍵Ｋ２（暗号鍵Ｋ１と同一）を生成するハッシュ関数演算システムＨＳと、暗号化データ記憶部６４からの暗号化データをハッシュ関数演算システムＨＳによる復号鍵Ｋ２を使用して復号化を行う対称暗号化方式の復号化装置６６と、復号化後のプログラムやデータを格納する復号化データ記憶部６７から構成されている。ハッシュ関数演算システムＨＳについては、上記の実施の形態１〜５自体のハッシュ関数演算システムが適用可能である。復号化装置６６は、ＤＥＳやＡＥＳ等公知の対称暗号化方式である。
【０１０６】
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
【０１０７】
暗号化を行う際には、図８に示すように、先ずシステムプログラムは暗号鍵生成用データ記憶部６２から暗号鍵Ｋ１を生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。次に、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、暗号鍵Ｋ１を出力として得る。さらに、システムプログラムは秘匿対象データ記憶部６１から秘匿したいプログラムやデータを読み出し、暗号化装置６３に入力し、先に得られた暗号鍵Ｋ１を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部６４に格納される。
【０１０８】
暗号化を行う際のハッシュ関数演算システムＨＳにおける不正アクセス検知信号Ｓ３は、例えば、無効（不正アクセス未検出状態）に固定しておく。但し、不正アクセス検知信号Ｓ３の状態は、復号化する場合の条件や要求仕様に依存するため、無効（不正アクセス未検出状態）に固定することに限定するものではない。
【０１０９】
一方、図９に示すように、復号化を行う際には、先ずシステムプログラムは復号鍵生成用データ記憶部６５から復号鍵Ｋ２（暗号鍵Ｋ１と同一）を生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。次に、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、復号鍵Ｋ２を出力として得る。さらに、システムプログラムは、暗号化データ記憶部６４から暗号化されたプログラムやデータを読み出し、復号化装置６６に入力し、先に得られた復号鍵Ｋ２を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部６７に格納される。
【０１１０】
ハッシュ関数演算システムＨＳにおいて復号鍵Ｋ２を生成する際に、不正アクセスがあった場合、正しい復号鍵が得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、暗号鍵生成用データ記憶部６２、復号鍵生成用データ記憶部６５に記憶されている鍵生成の元となるデータは、ランダムデータや、システム初期起動プログラム等の暗号化できないデータを用いる。そのデータが改竄されると正しい鍵が生成されないため、結果的に暗号鍵生成用データ記憶部６２、復号鍵生成用データ記憶部６５に記憶されている鍵生成の元となるデータも不正改竄できず、保護されていることになる。
【０１１１】
本実施の形態の不正解析・改竄防止システムによれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
【０１１２】
（実施の形態８）
本発明の実施の形態８における不正解析・改竄防止システムを図１０および図１１に基づいて説明する。
【０１１３】
図１０は、非対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部６１と、非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータＳＰを生成するための元データ（シード）を記憶しておくセキュリティパラメータ生成用データ記憶部６２ａと、セキュリティパラメータ生成用データ記憶部６２ａのデータに対してハッシュ関数演算を行いセキュリティパラメータＳＰを生成するハッシュ関数演算システムＨＳと、ハッシュ関数演算システムＨＳからのセキュリティパラメータＳＰを基に暗号鍵Ｋ１を生成するもので、ユーザ入力または初期設定により公開鍵か秘密鍵のどちらかを選択、もしくは一方を固定的にして暗号鍵を生成する暗号鍵生成部６８と、秘匿対象データ記憶部６１からのプログラム・データを暗号鍵生成部６８による暗号鍵Ｋ１を使用して暗号化する非対称暗号化方式の暗号化装置６３ａと、暗号化後のデータを格納する暗号化データ記憶部６４から構成されている。ハッシュ関数演算システムＨＳについては、上記の実施の形態１〜５自体のハッシュ関数演算システムが適用可能である。非対称暗号化装置６３ａはＲＳＡ公開鍵暗号方式等の公知の非対称暗号化方式である。
【０１１４】
図１１は、非対称暗号化方式の復号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、非対称暗号化されたプログラムやデータを記憶している暗号化データ記憶部６４と、非対称暗号化方式において鍵ペア生成に用いるセキュリティパラメータＳＰを生成するための元データ（シード）を記憶しておく前記と同じセキュリティパラメータ生成用データ記憶部６２ａと、セキュリティパラメータ生成用データ記憶部６２ａのデータに対してハッシュ関数演算を行いセキュリティパラメータＳＰを生成するハッシュ関数演算システムＨＳと、ハッシュ関数演算システムＨＳからのセキュリティパラメータＳＰを基に復号鍵Ｋ２を生成する復号鍵生成部６９と、暗号化データ記憶部６４からの暗号化データを復号鍵生成部６９による復号鍵Ｋ２を使用して復号化を行う非対称暗号化方式の復号化装置６６ａと、復号化後のプログラムやデータを格納する復号化データ記憶部６７から構成されている。ハッシュ関数演算システムＨＳについては、上記の実施の形態１〜５自体のハッシュ関数演算システムが適用可能である。非対称復号化装置６６ａはＲＳＡ公開鍵暗号方式等公知の非対称暗号化方式である。
【０１１５】
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
【０１１６】
暗号化を行う際には、図１０に示すように、先ずシステムプログラムはセキュリティパラメータ生成用データ記憶部６２ａからセキュリティパラメータＳＰを生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。次に、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、出力されたセキュリティパラメータＳＰを暗号鍵生成部６８に入力し、暗号鍵生成部６８の出力として暗号鍵Ｋ１を得る。さらに、システムプログラムは秘匿対象データ記憶部６１から秘匿したいプログラムやデータを読み出し、非対称暗号化装置６３ａに入力し、先に得られた暗号鍵Ｋ１を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部６４に格納される。
【０１１７】
暗号化を行う際のハッシュ関数演算システムＨＳにおける不正アクセス検知信号Ｓ３は、例えば、無効（不正アクセス未検出状態）に固定しておく。但し、不正アクセス検知信号Ｓ３の状態は、復号化する場合の条件や要求仕様に依存するため、無効（不正アクセス未検出状態）に固定することに限定するものではない。
【０１１８】
一方、図１１に示すように、復号化を行う際には、先ずシステムプログラムはセキュリティパラメータ生成用データ記憶部６２ａからセキュリティパラメータＳＰを生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。次に、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、出力されたセキュリティパラメータＳＰを復号鍵生成部６９に入力し、復号鍵生成部６９の出力として復号鍵Ｋ２を得る。さらに、システムプログラムは、暗号化データ記憶部６４から暗号化されたプログラムやデータを読み出し、非対称復号化装置６６ａに入力し、先に得られた復号鍵Ｋ２を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部６７に格納される。
【０１１９】
ハッシュ関数演算システムＨＳにおいて復号鍵Ｋ２の元になるセキュリティパラメータＳＰを生成する際に、不正アクセスがあった場合、正しいセキュリティパラメータＳＰが得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、セキュリティパラメータ生成用データ記憶部６２ａに記憶されているセキュリティパラメータＳＰの元となるデータは、ランダムデータや、システム初期起動プログラム等の暗号化できないデータを用いる。そのデータが改竄されると正しいセキュリティパラメータＳＰが生成されないため、結果的にセキュリティパラメータ生成用データ記憶部６２ａに記憶されているセキュリティパラメータ生成の元となるデータも不正改竄できず、保護されていることになる。
【０１２０】
本実施の形態の不正解析・改竄防止システムによれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
【０１２１】
さらに、本実施の形態においては、非対称暗号化方式を使用しているため、同一システム内での機能を暗号化機能または復号化機能のどちらかに限定でき、例えば、万一、復号後のデータを不正に取り出されても、そのシステムでは改竄して再暗号化することはできず、システム自体の不正改変を防止できる利点がある。
【０１２２】
（実施の形態９）
図１２および図１３は、正常アクセス時と不正アクセス発生時で動作が異なる暗号化手段を提供すると同時にデバッガやトレーサ等のシステム解析装置の受付および拒否を行う機能を有する本発明の実施の形態９である。
【０１２３】
図１２は、対称暗号化方式の暗号化にかかわる不正解析・改竄防止システムの構成を示すブロック図である。この不正解析・改竄防止システムは、秘匿したいプログラムやデータを記憶している秘匿対象データ記憶部６１と、暗号鍵Ｋ１を生成する元となるデータを格納する暗号鍵生成用データ記憶部６２と、暗号鍵Ｋ１を生成する元となるデータとして、秘匿したいプログラムやデータが生成される以前に実行されるプログラムを利用し、そのプログラム内にはシステム解析装置（デバッガ）８０に対してデバッガ解析機能の有効と無効を切り替える実行コードが含まれる状態のシステム解析制御部７０と、暗号鍵生成用データ記憶部６２のデータからハッシュ関数演算により暗号鍵Ｋ１を生成するハッシュ関数演算システムＨＳと、秘匿対象データ記憶部６１からのプログラム・データをハッシュ関数演算システムＨＳによる暗号鍵Ｋ１を使用して暗号化する対称暗号化方式の暗号化装置６３と、暗号化後のデータを格納する暗号化データ記憶部６４から構成されている。暗号化装置６３は、ＤＥＳやＡＥＳ等公知の対称暗号化方式である。
【０１２４】
一方、図１３に示すように、復号化を行う際には、暗号化されたプログラムやデータを記憶している暗号化データ記憶部６４と、暗号鍵Ｋ１と同一の復号鍵Ｋ２を生成する元となるデータを格納する復号鍵生成用データ記憶部６５と、復号鍵Ｋ２を生成する元となるデータとして、秘匿したいプログラムやデータが生成される以前に実行されるプログラムを利用し、そのプログラム内にはシステム解析装置８０に対してデバッガ解析機能の有効と無効を切り替える実行コードが含まれる状態のシステム解析制御部７０と、暗号鍵Ｋ１と同一の復号鍵Ｋ２を使用して復号化を行う復号化装置６６と、復号化後のプログラムやデータを格納する復号化データ記憶部６７とから構成されている。復号化装置６６は、ＤＥＳやＡＥＳ等公知の対称暗号化方式である。
【０１２５】
ハッシュ関数演算システムＨＳについては、上記の実施の形態１〜５自体のハッシュ関数演算システムが適用可能である。
【０１２６】
なお、本実施の形態で使用する暗号化方式は、対称暗号化方式に限定するものではなく、実施の形態８のように非対称暗号化方式を利用することもできる。
【０１２７】
また、復号化を行う際には、システム解析装置８０に対してデバッガ解析機能の有効と無効を切り替える実行コードは、暗号化データ記憶部６４に記憶されている秘匿プログラム内に存在していてもよい。
【０１２８】
以下、本実施の形態の不正解析・改竄防止システムの動作について説明する。
【０１２９】
暗号化を行う際には、図１２に示すように、先ずシステム解析装置（デバッガ）８０に対してデバッガ解析機能の有効と無効を切り替える実行コードを含む、システム解析制御部７０に記憶されているプログラムが実行され、デバッガ解析機能が無効化される。次に、システムプログラムはデバッガが無効化されていることを確認した後、秘匿対象のデータやプログラムを生成し、秘匿対象データ記憶部６１に格納する。次に、システムプログラムは暗号鍵生成用データ記憶部６２から暗号鍵Ｋ１を生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。続いて、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、暗号鍵Ｋ１を出力として得る。さらに、システムプログラムは秘匿対象データ記憶部６１から秘匿したいプログラムやデータを読み出し、暗号化装置６３に入力し、先に得られた暗号鍵Ｋ１を用いて暗号化を行う。暗号化されたプログラムやデータは、暗号化データ記憶部６４に格納される。さらに必要に応じて、システムプログラムは秘匿したいプログラムやデータを暗号化した後、システム解析装置８０に対してデバッガ解析機能を有効にする実行コードを実行してもよい。
【０１３０】
暗号化を行う際のハッシュ関数演算システムＨＳにおける不正アクセス検知信号Ｓ３は、例えば、無効（不正アクセス未検出状態）に固定しておく。但し、不正アクセス検知信号Ｓ３の状態は、復号化する場合の条件や要求仕様に依存するため、無効（不正アクセス未検出状態）に固定することに限定するものではない。
【０１３１】
一方、図１３に示すように、復号化を行う際には、先ずシステム解析装置８０に対してデバッガ解析機能の有効と無効を切り替える実行コードを含む、システム解析制御部７０に記憶されているプログラムが実行され、デバッガ解析機能が無効化される。次にシステムプログラムは復号鍵生成用データ記憶部６５から復号鍵Ｋ２を生成するための元データを読み出し、ハッシュ関数演算システムＨＳに入力する。次に、システムプログラムは、ハッシュ関数演算システムＨＳの演算を開始し、復号鍵Ｋ２を出力として得る。さらに、システムプログラムは、暗号化データ記憶部６４から暗号化されたプログラムやデータを読み出し、復号化装置６６に入力し、先に得られた復号鍵Ｋ２を用いて復号化を行う。復号化されたプログラムやデータは、復号化データ記憶部６７に格納される。さらに必要に応じて、システムプログラムは復号化されたプログラムやデータを使用した後に、そのプログラムやデータを消去し、システム解析装置８０に対してデバッガ解析機能を有効にする実行コードを実行してもよい。
【０１３２】
ハッシュ関数演算システムＨＳにおいて復号鍵Ｋ２を生成する際に、不正アクセスがあった場合、正しい復号鍵が得られず、暗号化されたプログラムやデータを復号することはできなくなる。また、システム解析制御部７０に記憶されている鍵生成の元となるプログラムが改竄されると正しい鍵が生成されないため、結果的にシステム解析制御部７０に記憶されている鍵生成の元となるプログラムも不正改竄できず、保護されていることになる。
【０１３３】
本実施の形態によれば、不正アクセス検出時には正常な暗号鍵または復号鍵が生成されない一方、不正アクセス未検出時には正常な暗号鍵または復号鍵が生成されるため、秘匿プログラムやデータを安全に復号できる利点を有する。また、暗号鍵または復号鍵の生成の元となるデータをそのままメモリやファイル上に配置しておくことが可能となり、暗号鍵または復号鍵の秘密管理が不要となる利点を有する。
【０１３４】
さらに、本実施の形態においては、システムプログラムの実行過程で生成される秘匿対象のデータを暗号化する際、事前にデバッガ等のシステム解析装置を無効化でき、安全に暗号化可能である利点がある。
【０１３５】
また、暗号化データを復号した後の平文データの不正解析、および不正改竄を制限できるため、暗号化された秘匿データが正常に復号化された後の平文データも保護できる利点を有する。
【産業上の利用可能性】
【０１３６】
本発明は、不正アクセスを検出し、その検出状態によって動作を変更するハッシュ関数演算システムを用いることで、安全な暗号鍵管理、改竄防止を可能としており、データやプログラムの不正解析および不正改竄防止システムに有用である。さらに本発明は、著作権保護が必要なコンテンツを扱う映像・音楽機器や、個人情報や金銭情報等セキュア情報を取り扱うデータベースシステム、ＩＣカード等に利用可能である。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施の形態１のハッシュ関数演算システムの構成を示すブロック図
【図２】本発明の実施の形態２のハッシュ関数演算システムの構成を示すブロック図
【図３】本発明の実施の形態３のハッシュ関数演算システムの構成を示すブロック図
【図４】本発明の実施の形態４のハッシュ関数演算システムの構成を示すブロック図
【図５】本発明の実施の形態５のハッシュ関数演算システムの構成を示すブロック図
【図６】本発明の実施の形態６のハッシュ関数演算システム（復号化装置）の構成を示すブロック図
【図７】本発明の実施の形態６のハッシュ関数演算システム（暗号化装置）の構成を示すブロック図
【図８】本発明の実施の形態７の不正解析・改竄防止システム（暗号化装置）の構成を示すブロック図
【図９】本発明の実施の形態７の不正解析・改竄防止システム（復号化装置）の構成を示すブロック図
【図１０】本発明の実施の形態８の不正解析・改竄防止システム（暗号化装置）の構成を示すブロック図
【図１１】本発明の実施の形態８の不正解析・改竄防止システム（復号化装置）の構成を示すブロック図
【図１２】本発明の実施の形態９の不正解析・改竄防止システム（暗号化装置）の構成を示すブロック図
【図１３】本発明の実施の形態９の不正解析・改竄防止システム（復号化装置）の構成を示すブロック図
【符号の説明】
【０１３８】
１０，１０ａ，１０ｂ  ハッシュ関数演算処理手段
１１，１１ａ  ハッシュ関数演算手段
１２  ハッシュ関数出力記憶手段
１３  フィードバック演算手段
２０，２０ａ  不正アクセス検出手段
２１  不正アクセス履歴情報記憶手段
２２  不正アクセス判定手段
３０，３０ａ，３０ｂ，５０  不正アクセス監視手段
３１，３１ａ，３１ｂ，５１  信号切替え手段
３２，３３  擾乱手段
３４  パスワード記憶手段
３５  パスワード比較手段
４０  ハッシュ関数逆演算処理手段
４１  ハッシュ関数逆演算手段
５２  擾乱逆演算手段
６１  秘匿対象データ記憶部
６２  暗号鍵生成用データ記憶部
６２ａ  セキュリティパラメータ生成用データ記憶部
６３  暗号化装置
６３ａ  非対称暗号化装置
６４  暗号化データ記憶部
６５  復号鍵生成用データ記憶部                
６６  復号化装置
６６ａ  非対称復号化装置
６７  復号化データ記憶部
６８  暗号鍵生成部
６９  復号鍵生成部
７０  システム解析制御部
８０  システム解析装置（デバッガ）
Ｄ１，Ｄ１′  ハッシュ関数演算処理手段から不正アクセス監視手段への入力信号
Ｄ２，Ｄ２′  不正アクセス監視手段からハッシュ関数演算処理手段への出力信号
Ｄin，Ｄin′  ハッシュ関数演算処理手段に入力する被演算値
Ｄout，Ｄout′  ハッシュ関数演算処理手段が出力する演算結果
ＨＳ  ハッシュ関数演算システム
Ｋ１  暗号鍵
Ｋ２  復号鍵
ＳＰ  セキュリティパラメータ
Ｓ１  演算開始信号
Ｓ２  演算終了信号
Ｓ３  不正アクセス検出信号
Ｓ４，Ｓ４ａ  不正アクセス検知信号
Ｓ５  不正アクセス検出模擬信号
【図１】
2006107274.tif 000003
【図２】
2006107274.tif 000004
【図３】
2006107274.tif 000005
【図４】
2006107274.tif 000006
【図５】
2006107274.tif 000007
【図６】
2006107274.tif 000008
【図７】
2006107274.tif 000009
【図８】
2006107274.tif 000010
【図９】
2006107274.tif 000011
【図１０】
2006107274.tif 000012
【図１１】
2006107274.tif 000013
【図１２】
2006107274.tif 000014
【図１３】
2006107274.tif 000015