JP2006099697A - Method and device for protecting information program - Google Patents

Method and device for protecting information program Download PDF

Info

Publication number
JP2006099697A
JP2006099697A JP2004288150A JP2004288150A JP2006099697A JP 2006099697 A JP2006099697 A JP 2006099697A JP 2004288150 A JP2004288150 A JP 2004288150A JP 2004288150 A JP2004288150 A JP 2004288150A JP 2006099697 A JP2006099697 A JP 2006099697A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
information
program
key
terminal
distributed
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
JP2004288150A
Other languages
Japanese (ja)
Inventor
Hideaki Azuma
Takehisa Kato
Ayumi Shimizu
Hiroshi Taira
Takaya Tochikubo
Takuya Yoshida
岳久 加藤
琢也 吉田
博司 平
秀明 東
孝也 栃窪
歩 清水
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
東芝ソリューション株式会社
株式会社東芝
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

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve the security property of retained confidential information and programs and to execute an optional program. <P>SOLUTION: Encryption distribution information E(K<SB>P1</SB>, S) obtained by encrypting distribution information S composed of random numbers r of the same bit length as that of a compression program C by terminal inherent information K<SB>P1</SB>and an encrypted calculation value E(K<SB>P1</SB>, S') obtained by encrypting a calculation value S' obtained by calculating the distribution S and the compression program C as an exclusive OR by the terminal inherent information K<SB>P1</SB>are secretly distributed to respective server devices Sv1, Sv2, and at the time of program processing, a terminal device 10 restores the compression program C from the encrypted distribution information E(K<SB>P1</SB>, S') and the encrypted calculation value E(K<SB>P1</SB>, S'). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、情報プログラム保護方法及び装置に関する。 The present invention relates to an information program protection method and apparatus.

従来、PC(Personal computer)などのオープンアーキテクチャの機器においては、利用者固有の暗号鍵などの秘密情報及び/又はその秘密情報を扱うプログラム自体を保護したい場合がある。 Conventionally, in the open architecture of the equipment such as PC (Personal computer), you may wish to protect secret information, such as user-specific cryptographic key and / or program itself to handle the secret information. この場合、例えば耐タンパーソフトウェア技術を用いた情報プログラム保護方法や、ICカード等の耐タンパー性の高いハードウェアに秘密情報やプログラムを格納してハードウェア内でプログラムを実行する情報プログラム保護方法などが適用可能となっている。 In this case, for example, information programs protection method using the Tamper Resistant Software technology, information program protection method to store confidential information and programs tamper highly hardware such as an IC card executes the program in hardware such as There has been and can be applied.

ここで、前者の情報プログラム保護方法は、耐タンパー性ソフトウェアを用い、保持する秘密情報やプログラムのセキュリティ性の向上を図るものである。 Here, the former information program protection method uses a tamper-resistant software, thereby improving the security of secret information and program held. しかしながら、この方法は、耐タンパー性ソフトウェアの耐タンパー性が低いことから、耐タンパー性ソフトウェアが解析されると、保持する秘密情報が漏洩しシステム全体に多大な影響を及ぼす恐れがある。 However, this method, since it is less tamper of tamper-resistant software, tamper resistant software is analyzed, there is a significant affect on the overall system leak secret information held.

一方、後者の情報プログラム保護方法は、耐タンパー性ハードウェアを用い、保持する秘密情報やプログラムのセキュリティ性の向上を図るものである。 On the other hand, the latter information the program protection method uses a tamper-resistant hardware, thereby improving the security of secret information and program held. しかしながら、この方法は、ハードウェアの耐タンパー性が高いことからセキュリティ性は高いものの、耐タンパー性ハードウェアの処理能力に制限があるため、実行可能なプログラムが耐タンパー性ハードウェアの処理能力以下に制限されてしまう。 However, this method, although high security because of high tamper resistance of the hardware, since there is a limit to the processing capacity of the tamper-resistant hardware, executable program following processing capability of tamper-resistant hardware It is limited to.

なお、この出願に関係する先行技術文献としては、秘密情報を分散して管理するための秘密分散法がある(非特許文献1,2参照。)。 Prior art documents relating to this application, there is a secret sharing scheme for managing distributed secret information (see Non-Patent Documents 1 and 2.). しかしながら、秘密分散法は分散情報の個数を増大させ易い不都合がある。 However, the secret sharing scheme may easily disadvantage increases the number of the distributed information.

以上説明したように、従来の情報プログラム保護方法は、耐タンパーソフトウェア技術を用いる場合、耐タンパーソフトウェアの解析により、保持する秘密情報を漏洩させる恐れがあるので、セキュリティ性の向上が望まれるものとなっている。 As described above, the conventional information program protection method as used tamper software technology, the analysis of the tamper software, there is a risk of leakage of secret information held, to that increased security is desired going on.

一方、耐タンパー性の高いハードウェア内でプログラムを実行する場合、耐タンパー性ハードウェアの処理能力に制限があるため、実行可能なプログラムが制限される。 On the other hand, when executing a program within the highly tamper-resistant hardware, due to a limitation in processing capacity of the tamper-resistant hardware, executable program is limited.
また、秘密分散法は分散情報の個数を増大させ易い不都合がある。 Also, the secret sharing scheme may easily disadvantage increases the number of the distributed information.

本発明は上記実情を考慮してなされたもので、保持する秘密情報やプログラムのセキュリティ性を向上でき、且つ任意のプログラムを実行し得る情報プログラム保護方法及び装置を提供することを目的とする。 The present invention has been made in consideration of the above circumstances, can improve the security of the confidential information and program held, and an object of the invention to provide any program information program protection method may run and equipment.

また、本発明の他の目的は、秘密分散法を用いた際に、分散情報の個数を抑制し得る情報プログラム保護方法を提供することにある。 Another object of the present invention is to when using the secret sharing scheme to provide information program protection method capable of suppressing the number of the distributed information.

第1の発明は、端末固有情報を有して共通鍵暗号方式、排他的論理和及び圧縮プログラム解凍を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムを予め複数のサーバ装置に秘密分散する情報プログラム保護方法であって、前記各サーバ装置のうちの分散用サーバ装置が、0と1からなるバイナリ形式の前記プログラムに対し、前記0と1の偏りを少なくするように前記プログラムを圧縮し、圧縮プログラムを得る工程と、前記分散用サーバ装置が当該圧縮プログラムのビット長を算出する工程と、前記分散用サーバ装置が前記ビット長と同じビット長の乱数からなる分散情報を生成する工程と、前記分散用サーバ装置が前記分散情報と前記圧縮プロ A first aspect of the present invention is illegal and a program for processing the common key encryption method, an exclusive logical sum and secret information stored compressed program thawed viable terminal the secret information comprises a terminal-specific information to protect from the use or analysis, an information program protection method for secret sharing in advance a plurality of server devices to said program, said distributed server device among the server devices, the binary format consisting of 0 and 1 to said program, said 0 and compressing the program so as to reduce a deviation, obtaining a compression program, the steps of the distributed server apparatus calculates the bit length of the compressed program, for the dispersion a step of the server device generates a shared information consists of the random number of the same bit length and the bit length, the compression Pro said distributed server device and the shared information ラムとの各ビットの排他的論理和を算出し、算出値を得る工程と、前記分散用サーバ装置が前記算出値を前記端末固有情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化算出値を得る工程と、前記分散用サーバ装置が前記分散情報を前記端末固有情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化分散情報を得る工程と、前記分散用サーバ装置が前記暗号化分散情報及び暗号化算出値のうち、少なくとも一方を他のサーバ装置に送信する工程とを備えた情報プログラム保護方法である。 Calculates the exclusive OR of each bit of the ram, and obtaining a calculated value, the encryption process the distributed server system is based on the calculated value to the terminal-specific information and the common key encryption system to encrypt, obtaining a cryptographic calculation value, the variance server device encrypts the encryption processing based on the distributed information to the terminal-specific information and the common key encryption scheme, and obtaining the encrypted shared information, for the dispersion among the server device of the encrypted shared information and encryption calculated value is information program protection method that includes a step of transmitting at least one other server unit.

第2の発明は、端末装置に内蔵されたシングルチップ形式のハードウェアからなる情報プログラム保護装置であって、前記端末装置に固有の端末固有情報が格納された端末固有情報格納手段と、圧縮プログラムのビット長と同じビット長の乱数からなる分散情報が端末固有情報により暗号化されてなる暗号化分散情報が前記端末装置から入力される暗号化分散情報入力手段と、前記分散情報と前記圧縮プログラムとの排他的論理和として算出された算出値が端末固有情報により暗号化されてなる暗号化算出値が前記端末装置から入力される暗号化算出値入力手段と、前記入力された暗号化分散情報及び暗号化算出値から前記端末固有情報格納手段内の端末固有情報に基づいて、圧縮プログラムを復元するプログラム復元手段と、前記復元され The second invention is an information program protection device comprising a hardware single-chip format incorporated in the terminal device, the terminal-specific information storage means stored a unique terminal unique information to the terminal device, compressor and encrypted distributed information input means for dispersing information consisting of random numbers the same bit length as the bit length of the encryption shared information comprising encrypted by the terminal-specific information is input from the terminal apparatus, the compressor and the shared information exclusive and encryption calculation value input means calculated calculated value is encrypted calculated value comprising encrypted is input from the terminal device by the terminal-specific information as the sum, the encrypted distributed information the input of the and the encrypted value calculated on the basis of the terminal-specific information within the terminal-specific information storage means, and the program restoring means for restoring the compressed program, is the restored 圧縮プログラムを前記端末装置内に出力する出力手段と、鍵情報が格納される鍵情報格納手段と、入力された処理要求に基づいて、暗号化処理、復号処理、署名生成処理、認証子の生成処理及び認証子の検証処理のうち、いずれかの処理を前記鍵情報を用いて実行し、実行結果を得る処理実行手段と、前記実行結果を前記端末装置内に出力する実行結果出力手段とを備えた情報プログラム保護装置である。 And output means for outputting the compressed program into the terminal device, and the key information storing means key information is stored, based on the input processing request, the encryption processing, decryption, signature generation, generation of authenticator among the verification process of the process and authenticator, one of the processing performed using the key information, and processing executing means for obtaining an execution result, and an execution result output means for outputting the execution result in said terminal device the information program protection device provided.

第3の発明は、端末固有情報を有して共通鍵暗号方式を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムを予め複数のサーバ装置に秘密分散する情報プログラム保護方法であって、前記各サーバ装置のうちの分散用サーバ装置が乱数を生成する工程と、前記分散用サーバ装置が前記乱数に基づいて分散鍵情報を生成する工程と、前記分散用サーバ装置が前記分散鍵情報から前記端末固有情報に基づいて、個別化鍵情報を生成する工程と、前記分散用サーバ装置が前記プログラムを前記個別化鍵情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化プログラムを得る工程と、前記分散用サーバ装置が前記暗号化プログラム及び前記 A third invention is to protect from unauthorized use or analysis common key cryptosystem and the secret information stored in the executable terminal apparatus and a program for processing the secret information comprises a terminal-specific information, an information program protection method for secret sharing in advance a plurality of server devices the program, the steps of the distributed server device among the server device generates a random number, the distributed server device based on the random number generating a distributed key information, the distributed server device based on said terminal-specific information from the distributed key information, the individualization and generating, said distributed server device the program individual key information encrypted by the encryption process based on the key information and the common key encryption method, and obtaining an encrypted program, said distributed server device the encrypted program and the 散鍵情報のうち、少なくとも一方を他のサーバ装置に送信する工程とを備えた情報プログラム保護方法である。 Of Chikagi information is information program protection method that includes a step of transmitting at least one other server unit.

第4の発明は、端末装置に内蔵されたシングルチップ形式のハードウェアからなる情報プログラム保護装置であって、前記端末装置に固有の端末固有情報が格納された端末固有情報格納手段と、乱数により生成された分散鍵情報から端末固有情報に基づいて生成された個別化鍵情報に基づいてプログラムが暗号化されてなる暗号化プログラムが前記端末装置から入力される暗号化プログラム入力手段と、前記分散鍵情報が前記端末装置から入力される分散鍵情報入力手段と、前記入力された分散鍵情報及び暗号化プログラムから前記端末固有情報格納手段内の端末固有情報に基づいて、プログラムを復元するプログラム復元手段と、前記復元されたプログラムを前記端末装置内に出力する出力手段と、鍵情報が格納される鍵情報格納手段と、 The fourth invention is an information program protection device comprising a hardware single-chip format incorporated in the terminal device, the terminal-specific information storage means stored a unique terminal unique information to the terminal device, a random number an encryption program input means for encrypting the program the program is encrypted on the basis of the generated distributed key information to the individual key information generated on the basis of the terminal-specific information is input from the terminal device, the dispersion a distributed key information input means for the key information is input from the terminal device, based on the terminal-specific information within the terminal-specific information storage means from said input distributed key information and the encrypted program, the program restoration to restore the program It means, and output means for outputting the reconstructed program in the terminal device, and the key information storing means key information is stored, 力された処理要求に基づいて、暗号化処理、復号処理、署名生成処理、認証子の生成処理及び認証子の検証処理のうち、いずれかの処理を前記鍵情報を用いて実行し、実行結果を得る処理実行手段と、前記実行結果を前記端末装置内に出力する実行結果出力手段とを備えた情報プログラム保護装置である。 Based on the force has been processing request, the encryption processing, decryption, signature generation processing, among the verification process generation process and authenticator authenticator, do one of the processing using the key information, the result and process executing means for obtaining a data program protection device including an execution result output means for outputting the execution result in said terminal device.

第5の発明は、端末固有情報を有して共通鍵暗号方式を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムの秘密分散に用いる乱数及び当該プログラムを少なくともn台のサーバ装置に秘密分散する情報プログラム保護方法であって、前記各サーバ装置のうちの分散用サーバ装置が乱数を生成する工程と、前記分散用サーバ装置が前記乱数及び端末固有情報に基づいて、個別化鍵情報を生成する工程と、前記分散用サーバ装置が前記プログラムを前記個別化鍵情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化プログラムを得る工程と、前記分散用サーバ装置が、前記乱数rを復元可能なn台以下のサーバ装置のグループの中で A fifth invention is to protect from unauthorized use or analysis common key cryptosystem and the secret information stored in the executable terminal apparatus and a program for processing the secret information comprises a terminal-specific information, an information program protection method for secret sharing to at least n number of the server device random number and the program used for secret sharing of the program, the steps of the distributed server device among the server device generates a random number, the dispersed server device based on the random number and the terminal-specific information, and generating an individual key information, encryption processing the distributed server system is based on the program to the individual key information and the common key cryptosystem encrypted by a step of obtaining an encryption program, the distributed server system, in the group of recoverable n number or less of the server apparatus the random number r 一台でも欠けると乱数rが復元不可能となるグループである極小グループに基づいて、任意の(L+1)台のサーバ装置のグループでは乱数rを復元可能となる旨の最小の台数Lを定める工程と、L台以下のサーバ装置からなり、前記L台以下のサーバ装置により乱数rを復元可能で且つ1台でもサーバ装置が減ると、乱数rが復元不可能となる旨のd個の極小グループA (但し、1≦i≦d)を前記分散用サーバ装置に設定する工程と、任意の(L+1)台のサーバ装置のグループの中の極小グループに含まれるサーバ装置の集合をA とし、集合A に含まれるサーバ装置の台数n'を求め、(L+1,n')しきい値法により、乱数rに対する第1分散情報S ={s ,…,s '}を生成する工程と、前記集合A に含まれ Based on the minimal group is a group that lacks any single When the random number r is unrecoverable, any (L + 1) stand smallest in the group of the server apparatus to the effect that it is possible recover the random number r in number step of determining the L When made L stand following server device, when the L stand following also server device and one can recover the random number r by the server device is reduced, d pieces of minimum groups to the effect that the random number r is not restored a i (where, 1 ≦ i ≦ d) a step of setting the distributed server system, the set of server devices contained in the minimum group in the group for any (L + 1) stage of the server and a 0 , 'seek, (L + 1, n' number n of the server apparatus included in the set a 0 generate by) threshold method, the first variance for a random number r information S 0 = {s 1, ... , s n '} a step of, included in the set a 0 るサーバ装置に対し、前記第1分散情報S に含まれる要素{s ,…,s '}を重複なく割り当てる工程と、前記分散用サーバ装置が、前記極小グループA 毎に(|A |,|A |)しきい値法により(但し|A |はA に属するサーバ装置の台数)、前記乱数rの第2分散情報S ={s {i,1} ,…,s {i,|Ai|} }を生成する工程と、前記分散用サーバ装置が、前記極小グループA 毎に、前記第2分散情報S に含まれる要素{s {i,1} ,…,s {i,|Ai|} }を当該極小グループA に含まれる各サーバ装置に個別に割り当てる工程とを備えた情報プログラム保護方法である。 To that server device, said elements {s 1, ..., s n '} included in the first shared information S 0 and a step of assigning without overlapping, the distributed server system, for each of the minimum group A i (| a i |, | a i | ) by the threshold method (where | a i | number of server devices belonging to the a i), the second shared information S i = {s of the random number r {i, 1}, ..., s {i, | Ai |}} and generating a said distributed server system, for each of the minimum group a i, elements included in the second shared information S i {s {i, 1 } , ..., s {i, | Ai |} is} information program protection method that includes a step of assigning individually to each server device included in the minimum group a i.

(作用) (Action)
第1及び第2の発明は、圧縮プログラムのビット長と同じビット長の乱数からなる分散情報が端末固有情報により暗号化されてなる暗号化分散情報と、分散情報及び圧縮プログラムの排他的論理和として算出された算出値が端末固有情報により暗号化されてなる暗号化算出値とを各サーバ装置に秘密分散し、プログラム処理時に、端末装置内の情報プログラム保護装置がこれら暗号化分散情報及び暗号化算出値から圧縮プログラムを復元するので、情報プログラム保護装置が保持する秘密情報(鍵情報)やプログラムのセキュリティ性を向上することができる。 First and second aspects of the invention, exclusive of the encrypted distributed information comprising encrypted by shared information is terminal-specific information composed of random numbers the same bit length as the bit length of the compressor, the shared information and compressor calculated calculated value is an encryption calculation values ​​consisting been encrypted secret sharing to each server device by the terminal-specific information as to the time of program processing, in the terminal apparatus information program protection device these encrypted shared information and encryption since restoring the compressed programs from the reduction calculation value can be the information program protection device to improve the security of the confidential information (key information) and programs held. また、情報プログラム保護装置は、復元した圧縮プログラムを実行せずに端末装置内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 The information program protection device, since only output to the terminal device without performing the restored compressed programs, conventional and not limited by the processing capacity of the different hardware can execute any program. また、排他的論理和を用いる構成により、秘密分散法を用いた際に、分散情報の個数を抑制することができる。 Also, the configuration using the exclusive OR may be when using the secret sharing scheme to suppress the number of the distributed information.

第3及び第4の発明は、乱数により生成された分散鍵情報から端末固有情報に基づいて生成された個別化鍵情報に基づいてプログラムが暗号化されてなる暗号化プログラムと、分散鍵情報とを各サーバ装置に秘密分散し、プログラム処理時に、端末装置内の情報プログラム保護装置がこれら暗号化プログラム及び分散鍵情報からプログラムを復元するので、情報プログラム保護装置が保持する秘密情報(鍵情報)やプログラムのセキュリティ性を向上することができる。 Third and fourth invention, the encryption program that program is encrypted on the basis of the distributed key information generated by a random number to the individual key information generated on the basis of the terminal-specific information, the distributed key information was secret sharing to each server device, at the time of program processing, information program protection device in the terminal device restores the program from these encryption program and distributed key information, secret information (key information) information program protector holds it is possible to improve the security of the and programs. また、情報プログラム保護装置は、復元したプログラムを実行せずに端末装置内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 The information program protection device, since only output to the terminal device without performing the restored program, conventional and not limited by the processing capacity of the different hardware can execute any program. また、暗号化プログラム及び分散鍵情報を用いる構成により、秘密分散法を用いた際に、分散情報の個数を抑制することができる。 Also, the configuration using the encryption program and distributed key information can be when using secret sharing scheme to suppress the number of the distributed information.

第5の発明は、乱数及び端末固有情報に基づいて生成された個別化鍵情報に基づいてプログラムが暗号化されてなる暗号化プログラムと、乱数を秘密分散した第1及び第2分散情報とを各サーバ装置に秘密分散し、プログラム処理時に、端末装置内の情報プログラム保護装置がこれら暗号化プログラム及び各分散情報からプログラムを復元するので、情報プログラム保護装置が保持する秘密情報(鍵情報)やプログラムのセキュリティ性を向上することができる。 A fifth invention is an encryption program that program is encrypted on the basis of the individual key information generated based on a random number and the terminal-specific information, the random number and the first and second distributed information secret sharing and secret sharing to each server device, at the time of program processing, information program protection device in the terminal device restores the program from these encryption program and the distributed information, secret information (key information) information program protector holds Ya it is possible to improve the security of the program. また、情報プログラム保護装置は、復元したプログラムを実行せずに端末装置内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 The information program protection device, since only output to the terminal device without performing the restored program, conventional and not limited by the processing capacity of the different hardware can execute any program. また、秘密分散法を用いる際に、(L+1,n')しきい値法と(|Ai|,|Ai|)しきい値法を用いたので、(|Ai|,|Ai|)しきい値法のみを用いる場合に比べ、分散情報の個数を抑制することができる(図13及び図14参照)。 Further, when using a secret sharing scheme, (L + 1, n ') with a threshold value method (| Ai |, | Ai |) because using the threshold method, (| Ai |, | Ai |) threshold compared with the case where only the value method, it is possible to suppress the number of distributed information (see FIGS. 13 and 14).

以上説明したように本発明によれば、保持する秘密情報やプログラムのセキュリティ性を向上でき、且つ任意のプログラムを実行できる。 According to the present invention described above, it can improve the security of the confidential information and program held can and run any program. また、秘密分散法を用いた際に、分散情報の個数を抑制できる。 Further, when using a secret sharing scheme, it is possible to suppress the number of the distributed information.

以下、本発明の各実施形態について図面を参照しながら説明する。 Hereinafter, will be described with reference to the drawings the embodiments of the present invention.
(第1の実施形態) (First Embodiment)
図1は本発明の第1の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Figure 1 is a schematic diagram showing the configuration of a secret sharing system information program protection method according to the first embodiment of the present invention is applied. このシステムは、分散用サーバ装置Sv0、第1サーバ装置SV1、第2サーバ装置Sv2及び端末装置10を備えている。 The system includes distributed server device Sv0, the first server device SV1, the second server device Sv2 and the terminal device 10.

ここで、3台のサーバ装置Sv0〜Sv2は、説明の便宜上3台としたが、3台に限らず、1台のサーバ装置として実現しても良く、また任意の2台を一体化した1台のサーバ装置と残りの1台のサーバ装置とからなる2台のサーバ装置として実現しても良い。 Here, the three server devices Sv0~Sv2, was for convenience three of explanation, not limited to three, may be implemented as a single server device, also integrated arbitrary two 1 it may be implemented as two servers apparatus comprising a base server apparatus and the remaining one server device. このことは以下の各実施形態でも同様である。 This is also true in the following embodiments.

分散用サーバ装置Sv0は、保護対象記憶部1、端末固有情報記憶部2、入力部3、圧縮部4、分散情報生成部5、秘密分散部6、個別化部7及び送信部8を備えている。 Distributed server device Sv0 is protected storage unit 1, the terminal unique information storage unit 2, an input unit 3, the compression unit 4, the shared information generation unit 5, the secret distribution unit 6, comprises a separate unit 7 and the transmitting portion 8 there.

保護対象記憶部1は、端末装置10に利用される鍵情報及び/又はプログラム等といった保護対象が記憶されるメモリであり、入力部3により書込可能で、圧縮部4により読出可能となっている。 Protected storage unit 1 is a memory that protected such key information and / or programs are stored are utilized in the terminal apparatus 10, the writing possible by the input unit 3, become possible reading by the compression unit 4 there.

端末固有情報記憶部2は、端末装置10固有の情報として、鍵やIDなどの端末固有情報K P1が記憶されるメモリであり、個別化部7により読出可能となっている。 Terminal-specific information storage unit 2, as the terminal device 10-specific information is a memory in which the terminal-specific information K P1 such as keys and ID are stored, and can read the personalization unit 7.

入力部3は、端末装置10に利用される鍵情報及び/又はプログラム等といった保護対象を保護対象記憶部1に書込むための入力デバイスである。 The input unit 3 is an input device for writing protected such key information and / or programs are used for the terminal apparatus 10 the protected storage unit 1.

圧縮部4は、保護対象記憶部1に記憶されて0と1からなるバイナリ形式のプログラムに対し、0と1の偏りを少なくするようにプログラムを圧縮し、圧縮プログラムCを得るものである。 Compression unit 4 may be stored in a protected storage unit 1 to 0 as the binary form of a program consisting of 1, it compresses the program so as to reduce the bias of 0 and 1, thereby obtaining a compression program C.

分散情報生成部5は、圧縮部4により得られた圧縮プログラムCのビット長を算出する機能と、得られたビット長と同じビット長の乱数rからなる分散情報Sを生成するものである。 Share generation unit 5 has a function of calculating a bit length of the resulting compressed program C by the compression unit 4, and generates a shared information S composed of a random number r having the same bit length as obtained bit length.

秘密分散部6は、分散情報生成部5により得られた分散情報Sと圧縮プログラムCとの各ビットの排他的論理和を算出し、算出値S'を得るものである。 Secret sharing unit 6 is for calculating an exclusive OR of each bit of the distributed information S obtained by the share generation unit 5 and the compressor C, to obtain a calculated value S '.

個別化部7は、秘密分散部6により得られた算出値S'を端末固有情報記憶部2内の端末固有情報K P1及び共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化算出値E(K P1 ,S')を得る機能と、分散情報生成部5により得られた分散情報Sを端末固有情報記憶部2内の端末固有情報K P1及び共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化分散情報E(K P1 ,S)を得る機能とをもっている。 Individualized unit 7 encrypts the encryption processing based the calculated value S 'obtained by the secret sharing unit 6 to the terminal-specific information K P1 and the common key encryption method in the terminal-specific information storage unit 2, the encryption calculation value E and (K P1, S ') to obtain the function, the encryption process based distributed information S obtained by the share generation unit 5 to the terminal-specific information K P1 and the common key encryption method in the terminal unique information storage unit 2 encrypting, and a function of obtaining the encrypted distributed information E (K P1, S).

送信部8は、個別化部7により得られた暗号化分散情報E(K P1 ,S)を第1サーバ装置Sv1に送信する機能と、個別化部7により得られた暗号化算出値E(K P1 ,S')を第2サーバ装置Sv2に送信する機能とをもっている。 Transmitting portion 8, the encrypted distributed information E obtained by the individual unit 7 (K P1, S) and a function of transmitting to the first server device Sv1, encrypted calculated value obtained by the individual unit 7 E ( K P1, and a function of transmitting the S ') to the second server device Sv2.

第1サーバ装置Sv1は、分散用サーバ装置Sv0から受けた暗号化分散情報E(K P1 ,S)をメモリに記憶する機能と、端末装置10からの要求に基づいて、メモリ内の暗号化分散情報E(K P1 ,S)を端末装置10に送信する機能とをもっている。 The first server device Sv1 has a function of storing a distributed server system Sv0 from received encrypted distributed information E (K P1, S) in a memory, based on a request from the terminal device 10, in memory encrypted distributed information E (K P1, S) and a function of transmitting to the terminal device 10.

第2サーバ装置Sv2は、分散用サーバ装置Sv0から受けた暗号化算出値E(K P1 ,S')をメモリに記憶する機能と、端末装置10からの要求に基づいて、メモリ内の暗号化算出値E(K P1 ,S')を端末装置10に送信する機能とをもっている。 The second server device Sv2 has a function of storing distributed server device Sv0 from received encrypted calculated value E a (K P1, S ') in the memory, based on a request from the terminal apparatus 10, encrypted in memory the calculated value E (K P1, S ') and a function of transmitting to the terminal device 10.

端末装置10は、端末固有情報K P1を有して共通鍵暗号方式及び排他的論理和を実行可能なセキュアチップ装置(図示せず)を備えた計算機である。 Terminal device 10 is a computer provided with a viable secure chip device common key cryptosystem and an exclusive OR with a terminal-specific information K P1 (not shown).

ここで、端末装置10内のセキュアチップ装置は、例えばシングルチップ形式の耐タンパー性ハードウェアからなり、入力された暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をそれぞれ端末固有情報K P1及び共通鍵暗号方式に基づいた復号処理により復号し、分散情報S及び算出値S'を得る機能と、得られた分散情報S及び算出値S'の排他的論理和S XOR S'を算出して圧縮プログラムCを復元する機能とをもっている。 Here, the secure chip device in the terminal device 10, for example, a tamper-resistant hardware single-chip form, the input encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') and the decoding by the decoding process based on the terminal-specific information K P1 and the common key cryptosystem, respectively, shared information S and the calculated value S' exclusive of the function of obtaining the dispersion information obtained S and calculated value S ' and a function of restoring the compressed program C calculates the logical sum S XOR S '.

また、端末装置10は、第1サーバ装置Sv1に暗号化分散情報E(K P1 ,S)を要求する機能と、第2サーバ装置Sv2に暗号化算出値E(K P1 ,S')を要求する機能と、各サーバSv1,Sv2から受けた暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をセキュアチップ装置に入力する機能と、セキュアチップ装置により得られた圧縮プログラムCを解凍してプログラムを復元する機能と、プログラムを実行して実行終了後に当該プログラムを削除する機能とをもっている。 The terminal device 10, requests and function of requesting the encrypted distributed information E (K P1, S) to the first server device Sv1, encrypted calculated value to the second server device Sv2 E a (K P1, S ') the function of a function of inputting the respective server Sv1, Sv2 from received encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') to the secure chip device, the secure chip device a function obtained by decompressing the compressed program C to restore the program, and a function of deleting the program after execution by executing the program.

次に、以上のように構成された秘密分散システムの動作を図2のフローチャートを用いて説明する。 The arrangement The operation of the secret sharing system as described above will be described with reference to the flowchart of FIG.
分散用サーバ装置Sv0では、入力部3が、鍵情報及び/又はプログラム等といった保護対象を保護対象記憶部1に書込む。 Distributed server device Sv0, an input unit 3, writes the protected such key information and / or programs to the protected storage unit 1. しかる後、圧縮部4は、保護対象記憶部1に記憶されて0と1からなるバイナリ形式のプログラムに対し、0と1の偏りを少なくするようにデータ圧縮手法によりプログラムを圧縮し(ST1)、圧縮プログラムCを得る。 Thereafter, the compression unit 4 may be stored in a protected storage unit 1 0 and to binary program consisting of 1, 0 and compresses the program by the data compression techniques to reduce the first bias (ST1) , to obtain a compression program C. データ圧縮手法には、Zip形式やLZH形式等の標準的なデータ圧縮アルゴリズムが使用可能である。 The data compression techniques, standard data compression algorithms, such as Zip format or LZH format can be used.

分散情報生成部5は、この圧縮プログラムCのビット長を算出し、得られたビット長と同じビット長の乱数rからなる分散情報Sを生成する(ST2)。 Share generation unit 5 calculates the bit length of the compressor C, and generate shared information S composed of a random number r having the same bit length as obtained bit length (ST2). 例えば、圧縮プログラムのビット長がnビットであり、圧縮プログラムの各ビットをc とすると、圧縮プログラムCは、C=(c ,c ,…,c ) 1≦i≦nと表される。 For example, the bit length of the compressor is n bits, the table when each bit of the compressed program and c i, compressor C is, C = (c 1, c 2, ..., c n) with 1 ≦ i ≦ n It is. このとき、圧縮プログラムCと同じビット長の乱数rからなる分散情報Sは、S=(s ,s ,…,s ) 1≦i≦nと生成される。 At this time, shared information S composed of a random number r having the same bit length as compressor C is, S = (s 1, s 2, ..., s n) are produced as 1 ≦ i ≦ n.

秘密分散部6は、この分散情報Sと圧縮プログラムCとの各ビットの排他的論理和を算出し、算出値S'を得る。 Secret sharing unit 6 calculates the exclusive OR of each bit of this distributed information S and compressor C, to obtain a calculated value S '. 例えば、排他的論理和の算出値S'は、S'=(s' ,s' ,…,s' ) 1≦i≦n と表される。 For example, the calculated value S of the exclusive OR 'is, S' = (s' 1 , s' 2, ..., s' n) is expressed as 1 ≦ i ≦ n. 但し、s' =c XOR s 1≦i≦nである。 However, it is s' i = c i XOR s i 1 ≦ i ≦ n. これにより、圧縮プログラムCは秘密分散される(ST3)。 Thus, the compression program C is secret sharing (ST3).

個別化部7は、この算出値S'を端末固有情報記憶部2内の端末固有情報K P1及び共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化算出値E(K P1 ,S')を得る。 Individualized unit 7, the calculated value S 'is encrypted by the encryption processing based on the terminal-specific information K P1 and the common key encryption method in the terminal-specific information storage unit 2, the encrypted calculated value E (K P1, S' ) is obtained. 同様に、個別化部7は、分散情報生成部5により得られた分散情報Sを端末固有情報記憶部2内の端末固有情報K P1及び共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化分散情報E(K P1 ,S)を得る。 Similarly, individualized unit 7 encrypts the encryption process based distributed information S obtained by the share generation unit 5 to the terminal-specific information K P1 and the common key encryption method in the terminal-specific information storage unit 2, the cryptographic of obtaining distributed information E (K P1, S). このように、秘密分散された圧縮プログラムCは、端末固有情報K P1に基づいて、暗号化分散情報E(K P1 ,S)と暗号化算出値E(K P1 ,S')に個別化される(ST4)。 Thus, compressor C which is secret sharing is based on the terminal-specific information K P1, it is individualized encrypted distributed information E (K P1, S) and the encrypted value calculated E (K P1, S ') that (ST4). この個別化により、端末固有情報K P1が無い場合には元のプログラムを正しく復元することができない。 The individualized, if not terminal-specific information K P1 can not be correctly restore the original program. また秘密分散により、端末固有情報K P1があったとしても、暗号化分散情報E(K P1 ,S)と暗号化算出値E(K P1 ,S')との一方だけからでは元のプログラムを復元できない。 Further, by secret sharing, even if the terminal-specific information K P1, the encrypted distributed information E (K P1, S) and the encrypted value calculated E (K P1, S ') and one is only from the original program It can not be restored.

送信部8は、暗号化分散情報E(K P1 ,S)を第1サーバ装置Sv1に送信する一方、暗号化算出値E(K P1 ,S')を第2サーバ装置Sv2に送信する。 Transmitting portion 8, while transmitting the encrypted distributed information E (K P1, S) to the first server device Sv1, it transmits the encrypted calculated value E (K P1, S ') to the second server device Sv2.

第1サーバ装置Sv1は、暗号化分散情報E(K P1 ,S)をメモリに記憶する。 The first server device Sv1 stores the encrypted distributed information E (K P1, S) in the memory. 第2サーバ装置Sv2は、暗号化算出値E(K P1 ,S')をメモリに記憶する。 The second server device Sv2 stores the encrypted calculated value E (K P1, S ') in the memory. これにより、プログラムの秘密分散が完了する。 As a result, the secret sharing of the program is completed.

続いて、端末装置10が秘密分散されたプログラムを復元する動作について述べる。 Next, we describe the operation of the terminal device 10 to restore the programs secret sharing.

端末装置10は、図示しないユーザの操作等により、第1サーバ装置Sv1に暗号化分散情報E(K P1 ,S)を要求すると共に、第2サーバ装置Sv2に暗号化算出値E(K P1 ,S')を要求する。 The terminal device 10 by a user operation or the like (not shown), the requesting encrypted distributed information E (K P1, S) to the first server device Sv1, encrypted calculated value to the second server device Sv2 E (K P1, to request the S ').

第1サーバ装置Sv1は、この要求に基づいて、メモリ内の暗号化分散情報E(K P1 ,S)を端末装置10に送信する。 The first server device Sv1, based on this request, and transmits the encrypted distributed information E in the memory (K P1, S) to the terminal device 10. 同様に、第2サーバ装置Sv2は、この要求に基づいて、メモリ内の暗号化算出値E(K P1 ,S')を端末装置10に送信する。 Similarly, the second server device Sv2 based on this request, and transmits the encrypted calculated value E in the memory (K P1, S ') to the terminal device 10.

端末装置10においては、図示しないセキュアチップ装置が、各サーバSv1,Sv2から受けた暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をそれぞれ端末固有情報K P1及び共通鍵暗号方式に基づいた復号処理により復号し、分散情報S及び算出値S'を得る。 In the terminal device 10, the secure chip device, not shown, each server Sv1, Sv2 from received encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') of the terminal-specific information, respectively decoded by the decoding processing based on the K P1 and the common key encryption method, to obtain a dispersion information S and the calculated value S '.

また、セキュアチップ装置は、得られた分散情報S及び算出値S'の排他的論理和S XOR S'を算出して圧縮プログラムCを復元し、端末装置10内に出力する。 Further, the secure chip device calculates the 'exclusive S XOR S' of the obtained dispersion information S and the calculated value S restores the compressor C, and outputs it to the terminal device 10.

端末装置10は、セキュアチップ装置により得られた圧縮プログラムCを解凍してプログラムを復元する。 Terminal device 10 restores the program to decompress the compressed program C obtained by the secure chip device. しかる後、端末装置10はプログラムを実行し、実行終了後、当該プログラムを削除する。 Thereafter, the terminal device 10 executes the program, after execution, and deletes the program.

上述したように本実施形態によれば、圧縮プログラムCのビット長と同じビット長の乱数rからなる分散情報Sが端末固有情報K P1により暗号化されてなる暗号化分散情報E(K P1 ,S)と、分散情報S及び圧縮プログラムCの排他的論理和として算出された算出値S'が端末固有情報K P1により暗号化されてなる暗号化算出値E(K P1 ,S')とを各サーバ装置Sv1,Sv2に秘密分散し、プログラム処理時に、端末装置10がこれら暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')から圧縮プログラムCを復元するようにしたので、端末装置10内のセキュアチップ装置が保持する秘密情報(鍵情報)や、端末装置10が実行するプログラムのセキュリティ性を向上させることができる。 According to the present embodiment as described above, it consists of a random number r having the same bit length as the bit length of the compressor C shared information S is the terminal-specific information K P1 by encrypted by comprising encrypted distributed information E (K P1, and S), and a shared information S and compressor C of the exclusive calculated value was calculated as the sum S 'is encrypted by the terminal-specific information K P1 encrypted calculated value E (K P1, S') and secret sharing to each server device Sv1, Sv2, during program processing, restores the compressor C from the terminal device 10 these encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') since the way, it is possible to improve the security of the program secret information (key information) and the terminal device 10 executes the secure chip device in the terminal device 10 is held.

具体的にはデータやプログラムを秘密分散や個別化処理することで、データやプログラムの配布時のセキュリティや端末の記憶装置に保存されているデータやプログラムのセキュリティの向上が可能となる。 Specifically by processing a secret sharing and personalization data and programs, increased data and programs security stored in the storage device of the security and the terminal at the time of distribution of data and programs can be performed. 例えば、端末装置10がプログラムを持たないので、プログラムを不正な利用又は解析から保護することができる。 For example, since the terminal apparatus 10 does not have the program, it is possible to protect the program against unauthorized use or analysis. また、プログラムは、秘密分散され個別化された状態で外部のサーバ装置Sv1,Sv2に記憶されているので、不正な利用又は解析から保護されている。 The program because they are stored in an external server device Sv1, Sv2 in a state of being individualized is secret sharing, are protected from unauthorized use or analysis.

また、セキュアチップ装置は、復元した圧縮プログラムを実行せずに端末装置10内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 Further, the secure chip device, since only output to the terminal device 10 without performing the restored compressed programs, conventional and not limited by the processing capacity of the different hardware can execute any program. また、排他的論理和を用いる構成により、秘密分散法を用いた際に、分散情報の個数を抑制することができる。 Also, the configuration using the exclusive OR may be when using the secret sharing scheme to suppress the number of the distributed information.

(第2の実施形態) (Second Embodiment)
図3は本発明の第2の実施形態に係る情報プログラム保護装置が適用されるセキュアチップ装置を備えた端末装置及びその周辺構成を示す模式図であり、図1と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。 Figure 3 is a schematic diagram showing a terminal device and its peripherals second embodiment the information program protection device according to Embodiment is equipped with a secure chip device to which the present invention is applied, it is the same as those corresponding parts in FIG. 1 subjected to omit the detailed description primarily describes different portions here. なお、以下の各実施形態も同様にして重複した説明を省略する。 Incidentally, the description thereof is omitted duplicate in the same manner the following embodiments.

すなわち、本実施形態は、第1の実施形態の具体例であり、端末装置10の構成が具体的に述べられている。 That is, the present embodiment is a specific example of the first embodiment, the configuration of the terminal apparatus 10 is specifically stated.

ここで、端末装置10は、プログラム実行部11、メモリ11a、通信部12及びセキュアチップ装置13を備えている。 Here, the terminal device 10, the program execution unit 11, a memory 11a, a communication unit 12 and the secure chip 13. セキュアチップ装置13は、具体的には、制御部14、端末固有情報格納部15、個別化解除部16、分散プログラム復元部17、鍵情報格納部18及びセキュリティ処理部19を備えている。 The secure chip 13 is specifically provided with a control unit 14, the terminal-specific information storage section 15, the individual decryption unit 16, a distributed program restoration unit 17, key information storage section 18 and the encryption processor 19.

プログラム実行部11は、プログラム(又は鍵情報)を入手するため、通信部12を介して第1及び第2サーバ装置Sv1,Sv2にプログラム(又は鍵情報)を要求する機能と、セキュアチップ装置13から受けた圧縮プログラムCを解凍し、得られたプログラム(又は鍵ID )をメモリ11aに記憶させて実行する機能と、プログラムの実行終了後、メモリ11a内のプログラムをメモリ11aから削除する機能とをもっている。 The program execution unit 11 to obtain a program (or key information), a function for requesting a program (or key information) to the first and second server devices Sv1, Sv2 via the communication unit 12, the secure chip 13 Extract the compressed program C received from a program (or key ID k) function to be executed and stored in the memory 11a obtained, after execution of the program, the ability to remove the program in the memory 11a from the memory 11a it has a door.

プログラム実行部11は、プログラムの実行中、必要により、処理ID 、鍵ID 及びデータDからなるセキュリティ処理要求をセキュアチップ装置13に入力する機能と、セキュアチップ装置13から受けたセキュリティ処理の実行結果P(K,D)を用い、現在実行中のプログラムの実行を継続する機能とをもっている。 The program execution unit 11 during execution of the program, if necessary, treatment ID p, a function of inputting a security processing request made from the key ID k and the data D to the secure chip 13, a security process received from the secure chip 13 execution result using the P (K, D), and a function to continue execution of the currently running program.

メモリ11aは、プログラム実行部11から読出/書込可能な記憶部であり、圧縮プログラムC、解凍後のプログラム、実行結果P(K,D)、鍵ID などが適宜記憶される。 Memory 11a is a readable / writable storage unit from the program execution unit 11, compressor C, program after thawing, the result P (K, D), such as a key ID k is suitably stored.

通信部12は、プログラム実行部11から受けた要求を第1及び第2サーバ装置Sv1,Sv2に送信する機能と、第1及び第2サーバ装置Sv1,Sv2から受けた暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をセキュアチップ装置13に入力する機能とをもっている。 Communication unit 12, the request received from the program execution unit 11 first and second server devices Sv1, a function of transmitting to the Sv2, the first and the second server device Sv1, received from Sv2 encrypted shared information E (K P1, S) and the encrypted calculated value E a (K P1, S ') and a function of inputting the secure chip device 13. なお、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')は、通信部12からセキュアチップ装置13に入力される場合に限らず、通信部12からプログラム実行部11を介してセキュアチップ装置13に入力されるようにしてもよい。 Incidentally, the encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') is not limited to input from the communication unit 12 to the secure chip 13, the program from the communication unit 12 it may be input to the secure chip device 13 via the execution unit 11.

セキュアチップ装置13は、端末装置10に内蔵されたシングルチップ形式の耐タンパー性ハードウェアからなり、通信部12から暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')が入力されると、以下の各部14〜18により、復元された圧縮プログラムC又は鍵ID をプログラム実行部11に出力する機能と、プログラム実行部11からセキュリティ処理要求(処理ID ,鍵ID ,データD)が入力されると、以下の各部14,18,19により、セキュリティ処理の実行結果P(K,D)をプログラム実行部11に出力する機能をもっている。 The secure chip 13 is made of a tamper-resistant hardware of a single chip type built in the terminal device 10, the encrypted distributed information from the communication unit 12 E (K P1, S) and the encrypted calculated value E (K P1, When S ') is input, the following respective units 14 to 18, a function of outputting the restored compressor C or key ID k to the program execution unit 11, the security processing request from the program execution unit 11 (process ID p , key ID k, the data D) is input, the following each part 14,18,19, the result P (K security processing, has a function of outputting D) to the program execution unit 11.

ここで、セキュリティ処理としては、鍵情報格納部18内の鍵情報Kを用いる処理であり、例えば暗号化処理、復号処理、署名生成処理、認証子の生成処理、又は認証子の検証処理などが使用可能となっている。 Here, the security processing is processing using the key information K in the key information storage unit 18, for example, encryption, decryption, signature generation processing, generation processing of the authenticator or authenticator verification processing etc. It has become available. なお、データDは、必ずしもセキュリティ処理要求に含まれる必要は無く、例えばセキュリティ処理部19等が乱数(又は時刻データ)等の数値データを生成してデータDとする場合にはセキュリティ処理要求から省略してもよい。 The data D is not necessarily included in the security processing request, for example, omitted from the security processing request in a case where such security processing unit 19 as data D to generate numerical data such as random numbers (or time data) it may be.

制御部14は、入力内容に応じ、復元された圧縮プログラムC、鍵ID 、又は実行結果P(K,D)を得るように、各部15〜19を制御する機能と、得られた結果をプログラム実行部11に出力する機能とをもっている 端末固有情報格納部15は、端末固有情報K P1が記憶される耐タンパーメモリであり、制御部14から読出/書込可能となっている。 Control unit 14, depending on the input content, restored compressor C, the key ID k, or the execution result P (K, D) so as to obtain a, a function of controlling the respective units 15 to 19, the results obtained terminal-specific information storage section 15 and a function of outputting to the program execution unit 11 is a tamper-resistant memory that terminal-specific information K P1 is stored, and can read / write from the control unit 14. 端末固有情報K P1は、個別化されたプログラム等の個別化を解除する際に利用される情報であり、各端末装置毎に固有の値(鍵又はID等)が用いられる。 Terminal-specific information K P1 is information that is used when releasing the individualization of such individualized program unique value for each terminal device (key or ID, etc.) is used. ここで、「個別化」の語は、「特定の端末装置でのみ復号可能な暗号化」を意味し、「個別化を解除」の語は「復号」を意味する。 Here, the term "individualized" means "only decodable encrypted with a particular terminal device", the term "release the individualized" means "decoding".

個別化解除部16は、制御部14から端末固有情報K P1 、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')が入力されると、端末固有情報K P1に基づいて、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をそれぞれ復号し(て個別化を解除し)、分散情報S及び算出値S'を復元する機能と、得られた分散情報S及び算出値S'を制御部14に出力する機能とをもっている。 Individualized releasing section 16, terminal-specific information K P1 from the control unit 14, the encryption shared information E (K P1, S) and the encrypted calculated value E (K P1, S ') is input, the terminal-specific information based on the K P1, the encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') decodes each (Te releasing the individualized), shared information S and the calculated value S 'a function to restore the resultant dispersion information S and the calculated value S' and a function of outputting to the control unit 14.

分散プログラム復元部17は、制御部14から入力された分散情報Sと算出値S'との排他的論理和を算出し、得られた算出結果C(又は鍵情報K,鍵ID )を制御部14に出力する機能をもっている。 Distributed program restoration unit 17 calculates the exclusive OR of the calculated value S 'and variance information S input from the control unit 14, the resulting calculation result C (or key information K, the key ID k) control it has a function of outputting to the section 14.

鍵情報格納部18は、鍵情報K及び鍵ID が互いに関連付けられて記憶される耐タンパーメモリであり、制御部14から読出/書込可能となっている。 The key information storage unit 18 is a tamper-resistant memory for key information K and the key ID k are stored in association with each other, and can read / write from the control unit 14.

セキュリティ処理部19は、制御部14から鍵情報K、処理ID 及びデータDが入力されると、処理ID で指定された処理Pを鍵情報Kに基づいてデータDに実行する機能と、得られた実行結果P(K,D)を制御部14に出力する機能とをもっている。 Security processing unit 19, the key information K from the control unit 14, the process ID p and the data D is input, a function to execute the data D based on the process P designated by the process ID p to the key information K, the resulting execution result P (K, D) and a function of outputting to the control unit 14.

次に、以上のように構成された端末装置の動作を図4のフローチャートを用いて説明する。 Next, The operation of the terminal device as described above will be described with reference to the flowchart of FIG.
(プログラムの復元) (Restoration of the program)
いま、第1の実施形態と同様に、圧縮プログラムCを秘密分散及び個別化してなる暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')が、それぞれ第1及び第2サーバ装置Sv1,Sv2に記憶されているとする。 Now, as in the first embodiment, compressor C secret sharing and individualized to become encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') comprises first respectively 1 and the second server device Sv1, and Sv2 to be stored.

一方、端末装置10においては、図示しない外部操作等により、プログラムの実行がプログラム実行部11に要求される。 On the other hand, in the terminal device 10, the external operation or the like (not shown), execution of the program is requested to the program execution unit 11. プログラム実行部11は、実行するプログラムを入手するため、通信部12を介して第1及び第2サーバ装置Sv1,Sv2にプログラムを要求する。 The program execution unit 11 to obtain a program to be executed, and requests the program to the first and second server devices Sv1, Sv2 via the communication unit 12.

第1及び第2サーバ装置Sv1,Sv2は、それぞれ要求を受けると、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')を個別に端末装置10に返信する。 First and second server devices Sv1, Sv2, when each receiving a request, reply encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') individually terminal device 10 to.

通信部12は、受信した暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をセキュアチップ装置13に入力する。 The communication unit 12 inputs the received encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') to the secure chip device 13.

セキュアチップ装置13は、入力があると、入力内容を識別する(ST11)。 The secure chip 13, if there is an input, identifies the input content (ST11). 入力内容が個別化されたプログラムに相当する暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')の場合(ST12)、制御部14が端末固有情報格納部15から端末固有情報K P1を読出す。 For encrypted distributed information E to input content corresponds to a personalized program (K P1, S) and the encrypted calculated value E (K P1, S ') (ST12), the control unit 14 is the terminal-specific information storage unit 15 reads the terminal-specific information K P1 from.

制御部14は、この端末固有情報K P1及び入力された暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')を個別化解除部16に入力する。 Control unit 14 inputs the terminal-specific information K P1 and the input encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') to the individual decryption unit 16.

個別化解除部16は、端末固有情報K P1に基づいて、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をそれぞれ復号し(て個別化を解除し)、分散情報S及び算出値S'を復元する(ST13)。 Individualized releasing section 16 on the basis of the terminal-specific information K P1, the encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') decodes each (Te release the individualized teeth), to recover the shared information S and the calculated value S '(ST13). なお、分散情報Sと算出値S'との組は秘密分散プログラムS,S'と呼んでもよい。 It should be noted that the calculated value S and distributed information S 'set of the secret sharing program S, S' may be referred to as a. 個別化解除部16は、分散情報S及び算出値S'からなる秘密分散プログラムS,S'を制御部14に出力する。 Individualized releasing unit 16, the shared information S and the calculated value S 'consisting of secret sharing program S, S' and outputs to the controller 14.

制御部14は、この秘密分散プログラムS,S'を分散プログラム復元部17に入力する。 Control unit 14, the secret sharing program S, and inputs the S 'in a distributed program restoration unit 17. 分散プログラム復元部17は、秘密分散プログラムS,S'における分散情報Sと算出値S'との排他的論理和を算出し、算出結果Cを得る。 The distributed program restoration unit 17 calculates the exclusive OR of the 'calculated value S and shared information S in' secret sharing program S, S, to obtain the calculation result C. この算出結果Cは圧縮プログラムCに相当するので、圧縮プログラムCが復元される(ST14)。 Since the calculation result C corresponds to the compression program C, compressor C is restored (ST14). 分散プログラム復元部17は、圧縮プログラムCを制御部14に出力する。 Distributed program restoration unit 17 outputs the compressed program C to the control unit 14.

制御部14は、この圧縮プログラムCをチップ13外部のプログラム実行部11に出力する(ST15)。 Control unit 14 outputs the compressed program C in the chip 13 outside of the program executing section 11 (ST15).

プログラム実行部11は、圧縮プログラムCを解凍し、得られたプログラムをメモリ11aに記憶させて実行する。 The program execution unit 11 decompresses the compressed program C, stores the obtained program in the memory 11a executes. プログラムの実行終了後、プログラム実行部11は、メモリ11a内のプログラムをメモリ11aから削除し、処理を終了する。 After completion of execution of the program, the program execution unit 11 deletes the program in the memory 11a from the memory 11a, and ends the process.

(セキュリティ処理の実行) (Execution of the security processing)
いま、端末装置10においては、例えばプログラム実行部11によるプログラムの実行中、処理IDで示されるセキュリティ処理の実行結果が必要になったとする。 Now, in the terminal device 10, for example during the execution of a program by the program execution unit 11, and executes the security process shown by process ID result is needed. このとき、プログラム実行部11は、処理ID 、鍵ID 及びデータDからなるセキュリティ処理要求をセキュアチップ装置13に入力する。 At this time, the program execution unit 11 inputs process ID p, the security processing request made from the key ID k and the data D to the secure chip device 13.

セキュアチップ装置11においては、前述同様に入力内容が識別される(ST11)。 In the secure chip 11, the input contents are identified as before (ST11). 入力内容が処理ID 、鍵ID 及びデータDからなるセキュリティ処理要求の場合(ST16)、制御部14は、入力された処理要求に含まれる鍵ID に基づいて、鍵情報格納部18から鍵情報Kを読出す。 Input is a process ID p, if security processing request made from the key ID k and the data D (ST16), the control unit 14, based on the key ID k included in the input processing request, from the key information storage section 18 It reads the key information K.

制御部14は、読出した鍵情報K、処理要求に含まれる処理ID 及びデータDをセキュリティ処理部19に入力する(ST17)。 Control unit 14 inputs the read key information K, the process ID p and the data D is included in the processing request to the encryption processor 19 (ST17).

セキュリティ処理部19は、処理ID で指定された処理を鍵情報Kに基づいてデータDに実行し(ST18)、実行結果P(K,D)を得る。 Security processing unit 19, based on the processing specified by the process ID p to the key information K is performed on the data D (ST18), to obtain the execution result P (K, D). なお、指定される処理としては、例えば、暗号化処理、復号処理、署名生成処理、認証子の生成処理、又は認証子の検証処理などが適用可能となっている。 As the processing designated, for example, encryption, decryption, signature generation processing, generation processing of the authenticator or authenticator verification processing, etc. has become applicable. いずれにしても、セキュリティ処理部19は、得られた実行結果P(K,D)を制御部14に出力する。 Anyway, the security processing unit 19 outputs the obtained execution result P (K, D) to the control unit 14.

制御部14は、この実行結果P(K,D)をチップ13外部のプログラム実行部11に出力する(ST19)。 Control unit 14 outputs the execution result P (K, D) to the chip 13 outside of the program executing section 11 (ST19).

プログラム実行部11は、この実行結果P(K,D)を用い、現在実行中のプログラムの実行を継続する。 The program execution unit 11, the execution result P (K, D) used to continue execution of the currently running program. なお、プログラムの実行終了後、プログラム実行部11は、メモリ11a内のプログラムをメモリ11aから削除し、処理を終了する。 Incidentally, after execution of the program, the program execution unit 11 deletes the program in the memory 11a from the memory 11a, and ends the process.

(鍵情報の復元) (Restoration of key information)
鍵情報Kの復元処理は、前述した圧縮プログラムCに代えて、鍵情報Kが秘密分散され個別化された場合に当該鍵情報Kを復元する内容である。 Restoration processing of the key information K, instead of the compressor C as described above, the key information K is the content for restoring the key information K when individualized been secret sharing. 但し、鍵情報Kは必ずしも圧縮されている必要はない。 However, key information K is not necessarily required to be compressed. 以下、順次説明する。 Below, it will be described in order.

いま、前述同様に、鍵情報Kを秘密分散及び個別化してなる暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')が、それぞれ第1及び第2サーバ装置Sv1,Sv2に記憶されているとする。 Now, as before, the key information K and formed by secret sharing and individualized encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') is, first and second servers, respectively device Sv1, and are stored in the Sv2.

一方、端末装置10においては、図示しない外部操作等により、鍵情報Kの入手がプログラム実行部11に要求される。 On the other hand, in the terminal device 10, the external operation or the like (not shown), to obtain the key information K is required to the program execution unit 11. プログラム実行部11は、鍵情報Kを入手するため、通信部12を介して第1及び第2サーバ装置Sv1,Sv2に鍵情報Kを要求する。 The program execution unit 11 to obtain the key information K, requests the key information K to the first and second server devices Sv1, Sv2 via the communication unit 12.

第1及び第2サーバ装置Sv1,Sv2は、それぞれ要求を受けると、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')を個別に端末装置10に返信する。 First and second server devices Sv1, Sv2, when each receiving a request, reply encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') individually terminal device 10 to.

通信部12は、受信した暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をセキュアチップ装置13に入力する。 The communication unit 12 inputs the received encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') to the secure chip device 13.

セキュアチップ装置13は、入力があると、入力内容を識別する(ST11)。 The secure chip 13, if there is an input, identifies the input content (ST11). 入力内容が個別化された鍵情報Kに相当する暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')の場合(ST20)、制御部14が端末固有情報格納部15から端末固有情報K P1を読出す。 For encrypted distributed information E to input content corresponds to a personalized key information K (K P1, S) and the encrypted calculated value E (K P1, S ') (ST20), the control unit 14 is the terminal-specific information It reads the terminal-specific information K P1 from the storage unit 15.

制御部14は、この端末固有情報K P1及び入力された暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')を個別化解除部16に入力する。 Control unit 14 inputs the terminal-specific information K P1 and the input encrypted distributed information E (K P1, S) and the encrypted calculated value E (K P1, S ') to the individual decryption unit 16.

個別化解除部16は、端末固有情報K P1に基づいて、暗号化分散情報E(K P1 ,S)及び暗号化算出値E(K P1 ,S')をそれぞれ復号し(て個別化を解除し)、分散情報S及び算出値S'を復元する(ST21)。 Individualized releasing section 16 on the basis of the terminal-specific information K P1, the encrypted distributed information E (K P1, S) and the encrypted calculated value E a (K P1, S ') decodes each (Te release the individualized teeth), to recover the shared information S and the calculated value S '(ST21). なお、分散情報Sと算出値S'との組は秘密分散鍵情報S,S'と呼んでもよい。 It should be noted that the calculated value S and distributed information S 'set of the secret sharing key information S, S' may be referred to as a. 個別化解除部16は、分散情報S及び算出値S'からなる秘密分散鍵情報S,S'を制御部14に出力する。 Individualized releasing unit 16 outputs the shared information S and the calculated value S 'consisting of the secret distributed key information S, S' to the control unit 14.

制御部14は、この秘密分散鍵情報S,S'を分散プログラム復元部17に入力する。 Control unit 14 inputs the secret distributed key information S, the S 'in a distributed program restoration unit 17. 分散プログラム復元部17は、秘密分散鍵情報S,S'における分散情報Sと算出値S'との排他的論理和を算出し、算出結果Cを得る。 The distributed program restoration unit 17 calculates the exclusive OR of the 'calculated value S and shared information S' in the secret distributed key information S, S, to obtain the calculation result C. この算出結果Cは鍵情報及び鍵ID に相当するので、鍵情報K及び鍵ID が復元される(ST22)。 Since the calculation result C corresponds to the key information and the key ID k, key information K and the key ID k is restored (ST22). 分散プログラム復元部17は、鍵情報K及び鍵ID を制御部14に出力する。 Distributed program restoration unit 17 outputs the key information K and the key ID k to the control unit 14.

制御部14は、この鍵情報K及び鍵ID を互いに関連付けて鍵情報格納部18に格納する。 Control unit 14 stores the key information K and the key ID k in the key information storage unit 18 in association with each other. しかる後、制御部14は、鍵ID のみをチップ13外部のプログラム実行部11に出力する(ST23)。 Thereafter, the control unit 14 outputs only the key ID k on the chip 13 outside of the program executing section 11 (ST23).

プログラム実行部11は、鍵ID をメモリ11aに記憶させ、適宜、前述したセキュリティ処理などに使用する。 The program execution unit 11 stores the key ID k in the memory 11a, as appropriate, be used in such above-mentioned security processing.

上述したように本実施形態によれば、第1の実施形態の効果に加え、圧縮プログラムの場合と同様に、秘密分散され個別化された鍵情報を復元することができる。 According to the present embodiment as described above, in addition to the effect of the first embodiment, as in the case of compressor, it is possible to restore the key information individualized been secret sharing. また、鍵情報を用いる任意のセキュリティ処理をセキュアチップ装置13内で実行することができる。 Further, it is possible to perform any security processing using the key information in the secure chip device within 13.

なお、本実施形態は、鍵情報Kだけではなく、セキュアチップ装置13内部で動作するプログラム自体も鍵情報格納部18に格納し、格納したプログラムに基づきセキュリティ処理部19を実行してもよい。 The present embodiment, not only the key information K, and stores the program itself key information storage unit 18 that operates at an internal secure chip 13 may execute the security processing unit 19 based on the program stored. この場合、さらに高いセキュリティ性を実現できる。 In this case, it is possible to realize an even higher security.

(第3の実施形態) (Third Embodiment)
図3は本発明の第3の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Figure 3 is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a third embodiment of the present invention is applied.

本実施形態は、第1の実施形態の変形例であり、排他的論理和を用いた秘密分散に代えて、乱数rによる分散鍵情報K'を用いており、具体的には分散用サーバ装置Sv0が、図1に示した圧縮部4、分散情報生成部5、秘密分散部6及び個別化部7に代えて、乱数生成部21、分散鍵情報生成部22、個別化鍵生成部23及び個別化部24を備えている。 This embodiment is a modification of the first embodiment, exclusive instead sum secret sharing with, and using the distributed key information K 'by the random number r, distributed server device specifically Sv0 is, the compression unit 4 shown in FIG. 1, the shared information generation unit 5, instead of the secret distribution unit 6 and the individual unit 7, the random number generation unit 21, distributed key information generation unit 22, and the individual key generation unit 23 and a personalization unit 24. これに伴い、送信部8、各サーバ装置Sv1,Sv2及び端末装置30は、扱う対象データが異なるものとなっている。 Along with this, the transmission unit 8, each of the server devices Sv1, Sv2, and the terminal device 30 is adapted to that target data to be handled differently. 以下、順に説明する。 Below, it will be described in order.

ここで、乱数生成部21は、保護対象記憶部1内のプログラムCを秘密分散する際に、予め乱数rを生成し、得られた乱数rを分散鍵情報生成部22に送出する機能をもっている。 Here, the random number generation unit 21, a program C protected storage unit 1 at the time of secret sharing, has a function of generating a pre-random number r, and sends the obtained random number r in the distributed key information generation unit 22 . なお、以下の各実施形態では排他的論理和を用いないので、保護対象記憶部1内のプログラムCは圧縮プログラム又は解凍後のプログラムのいずれでもよい。 Since following in the embodiments without using an exclusive OR, program C protected storage unit 1 may be either compressor or after thawing program.

分散鍵情報生成部22は、乱数生成部21により生成された乱数rに基づいて分散鍵情報K'(=g mod p)を生成する機能と、得られた分散鍵情報K'を個別化鍵部23及び送信部8に送出する機能とをもっている。 Distributed key information generation unit 22, personalization 'a function of generating, resulting distributed key information K a (= g r mod p)' the distributed key information K, based on the random number r generated by the random number generator 21 and a function of sending the key unit 23 and a transmission unit 8. ここで、gは乗法群の原始元であり、pは大きな素数であって、予め分散鍵情報生成部22に設定されている。 Here, g is the multiplicative group of primitive elements, p is a large prime number, is set in advance in the distributed key information generation unit 22.

個別化鍵生成部23は、分散鍵情報生成部22から受けた分散鍵情報K'から端末固有情報記憶部2内の端末固有情報K P1に基づいて、個別化鍵情報K(=(g P1 mod p)を生成する機能と、得られた個別化鍵情報Kを個別化部24に送出する機能とをもっている。 Individual key generation unit 23, from the distributed key information K 'received from the distributed key information generation unit 22 on the basis of the terminal-specific information K P1 of the terminal-specific information storage unit 2, the individual key information K (= (g r ) has a function of generating a K P1 mod p), and a function of transmitting the obtained individual key information K individualization unit 24.

個別化部24は、個別化鍵生成部23から受けた個別化鍵情報K及び共通鍵暗号方式に基づいた暗号処理により、保護対象記憶部1内のプログラムCを暗号化する機能と、得られた暗号化プログラムE(K,C)を送信部8に送出する機能とをもっている。 Individualized unit 24, the encryption processing based on the individual key information K and the common key encryption scheme received from the individual key generation unit 23, a function of encrypting the program C protected storage unit 1, to obtain encrypted program E (K, C) has a function of sending out to the transmission unit 8.

送信部8は、分散鍵情報生成部22により得られた分散鍵情報K'(=g mod p)を第1サーバ装置Sv1に送信する機能と、個別化部24により得られた暗号化プログラムE(K,C)を第2サーバ装置Sv2に送信する機能とをもっている。 Transmitting portion 8, distributed key information generation unit distributed key information K acquired by 22 '(= g r mod p ) and a function of transmitting to the first server device Sv1, encryption program obtained by the individualization unit 24 E (K, C) and a function of transmitting to the second server device Sv2.

第1サーバ装置Sv1は、分散用サーバ装置Sv0から受けた分散鍵情報K'をメモリに記憶する機能と、端末装置10からの要求に基づいて、メモリ内の分散鍵情報K'を端末装置10に送信する機能とをもっている。 The first server device Sv1 is 'a function of storing in a memory, based on a request from the terminal device 10, distributed key information K stored in the memory' distributed key information K received from the distributed server device Sv0 terminal apparatus 10 and a function to be sent to.

第2サーバ装置Sv2は、分散用サーバ装置Sv0から受けた暗号化プログラムE(K,C)をメモリに記憶する機能と、端末装置10からの要求に基づいて、メモリ内の暗号化プログラムE(K,C)を端末装置10に送信する機能とをもっている。 The second server device Sv2 the encrypted program E (K, C) received from the distributed server device Sv0 and a function of storing in a memory, based on a request from the terminal device 10, in a memory encryption program E ( K, and a function of transmitting the C) to the terminal device 10.

端末装置30は、端末固有情報K P1を有して共通鍵暗号方式を実行可能なセキュアチップ装置(図示せず)を内蔵した計算機である。 Terminal device 30 is a computer with a built-in terminal-specific information K P1 secure chip device capable of executing a common-key encryption method has a (not shown).

ここで、端末装置30内のセキュアチップ装置は、例えばシングルチップ形式の耐タンパー性ハードウェアからなり、入力された分散鍵情報K'及び暗号化プログラムE(K,C)から端末固有情報K P1及び共通鍵暗号方式に基づいた復号処理によりプログラムCを復元する機能と、得られたプログラムCを端末装置30内に送出する機能とをもっている。 Here, the secure chip device in the terminal device 30, for example, a tamper-resistant hardware single-chip form, input distributed key information K 'and the encrypted program E (K, C) from the terminal-specific information K P1 and it has the ability to restore the program C by the decoding processing based on the common key encryption system, and a function of sending the obtained programs C to the terminal device 30.

また、端末装置30は、第1サーバ装置Sv1に分散鍵情報K'を要求する機能と、第2サーバ装置Sv2に暗号化プログラムE(K,C)を要求する機能と、各サーバSv1,Sv2から受けた分散鍵情報K'及び暗号化プログラムE(K,C)をセキュアチップ装置に入力する機能と、セキュアチップ装置により得られたプログラムCを実行して実行終了後に当該プログラムを削除する機能とをもっている。 The terminal device 30 has a function of requesting the distributed key information K 'to the first server device Sv1, and ability to require encryption program E (K, C) to the second server device Sv2, each server Sv1, Sv2 from the received distributed key information K 'and the encrypted program E (K, C) a function of inputting the secure chip device, ability to delete the program after execution by executing the program C obtained by the secure chip device it has a door.

次に、以上のように構成された秘密分散システムの動作を図6のフローチャートを用いて説明する。 The arrangement The operation of the secret sharing system as described above will be described with reference to the flowchart of FIG.
分散用サーバ装置Sv0では、入力部3が、鍵情報及び/又はプログラム等といった保護対象を保護対象記憶部1に書込む。 Distributed server device Sv0, an input unit 3, writes the protected such key information and / or programs to the protected storage unit 1. このプログラムを秘密分散する際には、乱数生成部21は、乱数rを生成し(ST31)、得られた乱数rを分散鍵情報生成部22に送出する。 This program when secret sharing a random number generator 21 generates a random number r (ST31), and the resulting random number r and sends the distributed key information generation unit 22.

分散鍵情報生成部22は、この乱数rに基づいて分散鍵情報K'(=g mod p)を生成し(ST32)、得られた分散鍵情報K'を個別化鍵部23及び送信部8に送出する。 Distributed key information generation unit 22, based on the random number r distributed key information K 'to generate (= g r mod p) ( ST32), the resulting distributed key information K' individual key unit 23 and a transmission unit and it sends it to the 8.

個別化鍵生成部23は、この分散鍵情報K'から端末固有情報記憶部2内の端末固有情報K P1に基づいて、個別化鍵情報K(=(g P1 mod p)を生成し(ST33)、得られた個別化鍵情報Kを個別化部24に送出する。 Individual key generation unit 23 generates, on the basis of the distributed key information K 'to the terminal-specific information K P1 of the terminal-specific information storage unit 2, the individual key information K (= (g r) K P1 mod p) and (ST33), the resulting individual key information K is sent to the individual unit 24.

個別化部24は、この個別化鍵情報K及び共通鍵暗号方式に基づいた暗号処理により、保護対象記憶部1内のプログラムCを暗号化して個別化し(ST34)、得られた暗号化プログラムE(K,C)を送信部8に送出する。 Individualized unit 24 by the encryption process based on the individual key information K and the common key cryptosystem, individualized by encrypting the program C protected storage unit 1 (ST34), the resulting encrypted program E sending (K, C) to the transmission unit 8. なお、この個別化により、端末固有情報K P1が無い場合には元のプログラムを正しく復元することができない。 Incidentally, this individualized, if not terminal-specific information K P1 can not be correctly restore the original program. また秘密分散により、端末固有情報K P1があったとしても、暗号化プログラムE(K,C)と分散鍵情報K'との一方だけからでは元のプログラムを復元できない。 Further, by secret sharing, even if the terminal-specific information K P1, from only one of the encryption program E (K, C) and distributed key information K 'can not restore the original program.

送信部8は、分散鍵情報K'(=g mod p)を第1サーバ装置Sv1に送信する一方、暗号化プログラムE(K,C)を第2サーバ装置Sv2に送信する。 Transmitting portion 8, while transmitting the distributed key information K 'a (= g r mod p) to the first server device Sv1, it transmits the encrypted program E (K, C) to the second server device Sv2.

第1サーバ装置Sv1は、分散鍵情報K'をメモリに記憶する。 The first server device Sv1 stores distributed key information K 'in the memory. 第2サーバ装置Sv2は、暗号化プログラムE(K,C)をメモリに記憶する。 The second server device Sv2 stores the encrypted program E (K, C) in the memory. これにより、プログラムの秘密分散が完了する。 As a result, the secret sharing of the program is completed.

続いて、端末装置30が秘密分散されたプログラムを復元する動作について述べる。 Next, we describe the operation of the terminal device 30 to restore the programs secret sharing.

端末装置30は、図示しないユーザの操作等により、第1サーバ装置Sv1に分散鍵情報K'を要求すると共に、第2サーバ装置Sv2に暗号化プログラムE(K,C)を要求する。 Terminal device 30, by the user's operation, not shown or the like, as well as requests distributed key information K 'to the first server device Sv1, require encryption program E (K, C) to the second server device Sv2.

第1サーバ装置Sv1は、この要求に基づいて、メモリ内の分散鍵情報K'を端末装置30に送信する。 The first server device Sv1, based on this request, and transmits the distributed key information K stored in the memory 'to the terminal device 30. 同様に、第2サーバ装置Sv2は、この要求に基づいて、メモリ内の暗号化プログラムE(K,C)を端末装置30に送信する。 Similarly, the second server device Sv2 based on this request, and transmits the encrypted program E (K, C) in the memory in the terminal device 30.

端末装置30は、これら分散鍵情報K'及び暗号化プログラムE(K,C)を図示しないセキュアチップ装置に入力する。 Terminal device 30 inputs these distributed key information K 'and the encrypted program E (K, C) to the secure chip device (not shown).

セキュアチップ装置は、分散鍵情報K'及び暗号化プログラムE(K,C)が入力されると、分散鍵情報K'(=g mod p)及び端末固有情報K P1に基づいて、個別化鍵K(=(g P1 mod p)を復元する。 Secure chip device, 'when and encryption program E (K, C) is input, the distributed key information K' distributed key information K, based on (= g r mod p) and the terminal-specific information K P1, individualized to restore the key K (= (g r) K P1 mod p).

続いて、セキュアチップ装置は、得られた個別化鍵K及び共通鍵暗号方式に基づいた復号処理により暗号化プログラムE(K,C)からプログラムCを復元し、得られたプログラムCを端末装置30内に送出する。 Subsequently, the secure chip device, resulting restore the program C from the encryption program E (K, C) by the decoding processing based on the individual key K and the common key cryptosystem, the resulting program C terminal device It sends to 30.

端末装置30は、セキュアチップ装置により得られたプログラムCを実行し、実行終了後、当該プログラムCを削除する。 Terminal device 30 executes the program C obtained by the secure chip device, after execution, and deletes the program C.

上述したように本実施形態によれば、乱数rにより生成された分散鍵情報K'から端末固有情報K P1に基づいて生成された個別化鍵情報Kに基づいてプログラムCが暗号化されてなる暗号化プログラムE(K,C)と、分散鍵情報K'とを各サーバ装置Sv1,Sv2に秘密分散し、プログラム処理時に、端末装置30内のセキュアチップ装置(情報プログラム保護装置)がこれら暗号化プログラムE(K,C)及び分散鍵情報K'からプログラムCを復元するので、端末装置30内のセキュアチップ装置が保持する秘密情報(鍵情報)やプログラムのセキュリティ性を向上することができる。 According to the present embodiment as described above, the program C is encrypted on the basis of the distributed key information K 'generated by the random number r to the individual key information K, which is generated based on the terminal-specific information K P1 encryption program E (K, C) and, dispersed and key information K 'and secret sharing to each server device Sv1, Sv2, during program processing, the secure chip device in the terminal device 30 (information program protection device) of these encryption since restoring program E (K, C) and the program C from the distributed key information K ', it is possible to improve the security of the confidential information (key information) and programs that secure chip device in the terminal device 30 is held .

また、第1の実施形態と同様に、セキュアチップ装置は、復元したプログラムを実行せずに端末装置30内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 As in the first embodiment, the secure chip device, since only output to the terminal device 30 without performing the restored program, conventional and not limited by the processing capacity of the different hardware, any it is possible to run the program. また、暗号化プログラム及び分散鍵情報を用いる構成により、秘密分散法を用いた際に、分散情報の個数を抑制することができる。 Also, the configuration using the encryption program and distributed key information can be when using secret sharing scheme to suppress the number of the distributed information.

なお、本実施形態は、分散鍵情報K'に代えて乱数rを第1サーバ装置Sv1に記憶させ、端末固有情報をg P1 mod pとして、個別化鍵KをK=(g P1) mod pとして算出する構成に変形しても、同様の作用効果を得ることができる。 The present embodiment, a random number r in place of the distributed key information K 'is stored in the first server device Sv1, terminal-specific information as g K P1 mod p, the individual key K K = (g K P1) be modified to the structure is calculated as r mod p, it is possible to obtain the same effect.

(第4の実施形態) (Fourth Embodiment)
図7は本発明の第4の実施形態に係る情報プログラム保護装置が適用されるセキュアチップ装置を備えた端末装置及びその周辺構成を示す模式図である。 Figure 7 is a schematic diagram showing a terminal device and its peripheral configuration with the secure chip device the fourth embodiment the information program protection device according to the embodiment of the present invention is applied.

本実施形態は、第3の実施形態の具体例であり、端末装置30の構成が具体的に述べられている。 This embodiment is a specific example of the third embodiment, the configuration of the terminal apparatus 30 is specifically stated.

ここで、端末装置30は、プログラム実行部11、メモリ11a、通信部31及びセキュアチップ装置32を備えている。 Here, the terminal device 30, the program execution unit 11, a memory 11a, a communication unit 31 and the secure chip 32. セキュアチップ装置32は、具体的には、制御部33、端末固有情報格納部15、個別化鍵復元処理部34、個別化処理部35、鍵情報格納部18及びセキュリティ処理部19を備えている。 The secure chip 32 is specifically provided with a control unit 33, the terminal-specific information storage section 15, the individual key restoration processing unit 34, the individual processing section 35, key information storage section 18 and the encryption processor 19 .

プログラム実行部11は、プログラム(又は鍵情報)を入手するため、通信部32を介して第1及び第2サーバ装置Sv1,Sv2にプログラム(又は鍵情報)を要求する機能と、セキュアチップ装置32から受けたプログラム(又は鍵ID )をメモリ11aに記憶させて実行する機能と、プログラムの実行終了後、メモリ11a内のプログラムをメモリ11aから削除する機能とをもっている。 The program execution unit 11 to obtain a program (or key information), a function for requesting a program (or key information) to the first and second server devices Sv1, Sv2 via the communication unit 32, the secure chip 32 a function of executing a program (or key ID k) and stored in the memory 11a received from, after execution of the program, and a function for deleting the program in the memory 11a from the memory 11a.

プログラム実行部11は、前述した通り、プログラムの実行中、必要により、セキュリティ処理要求をセキュアチップ装置32に入力する機能と、得られた実行結果P(K,D)を用い、現在実行中のプログラムの実行を継続する機能とをもっている。 The program execution unit 11 during execution of as described above, the program, if necessary, using a function of inputting the security processing request to the secure chip 32, resulting execution result of P (K, D), the currently executing and a function to continue the execution of the program.

メモリ11aは、前述同様に、プログラム実行部11から読出/書込可能な記憶部である。 Memory 11a is as before, is a readable / writable storage unit from the program execution unit 11.

通信部31は、プログラム実行部11から受けた要求を第1及び第2サーバ装置Sv1,Sv2に送信する機能と、第1及び第2サーバ装置Sv1,Sv2から受けた分散鍵情報K'及び暗号化プログラムE(K,C)をセキュアチップ装置32に入力する機能とをもっている。 The communication unit 31 has a function of transmitting the request received from the program execution unit 11 to the first and second server devices Sv1, Sv2, distributed key information K 'and the cipher received from the first and second server devices Sv1, Sv2 program E (K, C) has a function of inputting the secure chip device 32. なお、分散鍵情報K'及び暗号化プログラムE(K,C)は、前述同様に通信部31からプログラム実行部11を介してセキュアチップ装置32に入力してもよい。 Incidentally, distributed key information K 'and the encrypted program E (K, C) may be input to the secure chip device 32 via the program execution unit 11 from above similarly communication unit 31.

セキュアチップ装置32は、端末装置30に内蔵されたシングルチップ形式の耐タンパー性ハードウェアからなり、通信部32から分散鍵情報K'及び暗号化プログラムE(K,C)が入力されると、以下の各部33〜35,15により、復元されたプログラムC又は鍵ID をプログラム実行部11に出力する機能と、プログラム実行部11からセキュリティ処理要求(処理ID ,鍵ID ,データD)が入力されると、以下の各部33,18,19により、セキュリティ処理の実行結果P(K,D)をプログラム実行部11に出力する機能をもっている。 The secure chip 32 is made tamper-resistant hardware of a single chip type built in the terminal device 30 from the communication unit 32 distributed key information K 'and the encrypted program E (K, C) when is input, the following respective parts 33~35,15, a function of outputting the restored program C or key ID k to the program execution unit 11, the security processing request from the program execution unit 11 (process ID p, key ID k, data D) There is input, the following each part 33,18,19, the result P (K, D) of the security process has a function of outputting to the program execution unit 11.

ここで、セキュリティ処理は、前述した通り、例えば暗号化処理、復号処理、署名生成処理、認証子の生成処理、又は認証子の検証処理などが使用可能となっている。 Here, the security process is adapted as described above, for example, encryption, decryption, signature generation processing, generation processing of the authenticator or authenticator verification process and available. なお、データDはセキュリティ処理要求から省略可能なことも前述した通りである。 The data D is as also described above it can be omitted from the security processing request.

制御部33は、入力内容に応じ、復元されたプログラムC、鍵ID 、又は実行結果P(K,D)を得るように、各部34〜35,15,18〜19を制御する機能と、得られた結果をプログラム実行部11に出力する機能とをもっている。 Control unit 33 according to the input contents, the restored program C, the key ID k, or the execution result P (K, D) to obtain a function of controlling each unit 34~35,15,18~19, the results obtained and a function of outputting to the program execution unit 11. なお、端末固有情報格納部15、鍵情報格納部18及びセキュリティ処理部19は、前述同様のものである。 The terminal-specific information storage section 15, key information storage section 18 and the encryption processor 19 is similar to the foregoing.

個別化鍵復元処理部34は、制御部33から入力された端末固有情報K P1及び分散鍵情報K'(=g mod p)に基づいて、個別化鍵K(=(g P1 mod p)=)を算出し、得られた個別化鍵情報Kを制御部33に送出する機能をもっている。 Individual key restoration processing unit 34 on the basis of the terminal-specific information K P1 and distributed key information K input from the control unit 33 '(= g r mod p ), the individual key K (= (g r) K P1 mod p) =) is calculated, has a function of transmitting the obtained individual key information K to the control unit 33.

個別化処理部35は、制御部33から個別化鍵情報K及び暗号化プログラムE(K,C)が入力されると、個別化鍵情報Kに基づいて暗号化プログラムE(K,C)を復号し(て個別化を解除し)、プログラムCを復元する機能と、得られたプログラムCを制御部33に出力する機能とをもっている。 Individual processing unit 35, the control unit 33 from the individual key information K and the encrypted program E (K, C) when is input, the encryption program E (K, C) based on the individual key information K decoded (Te releases the individualized), has the ability to restore the program C, and a function of outputting a program C obtained to the control unit 33.

次に、以上のように構成された端末装置の動作を図4のフローチャートを用いて説明する。 Next, The operation of the terminal device as described above will be described with reference to the flowchart of FIG.
(プログラムの復元) (Restoration of the program)
いま、第3の実施形態と同様に、プログラムCを秘密分散及び個別化してなる分散鍵情報K'及び暗号化プログラムE(K,C)が、それぞれ第1及び第2サーバ装置Sv1,Sv2に記憶されているとする。 Now, as in the third embodiment, the program C is formed by secret sharing and individualized distributed key information K 'and the encrypted program E (K, C) is, in the first and second server devices Sv1, Sv2, respectively and it is stored.

一方、端末装置30においては、前述同様に、第1及び第2サーバ装置Sv1,Sv2にプログラムを要求し、各サーバ装置Sv1,Sv2から受けた分散鍵情報K'及び暗号化プログラムE(K,C)をセキュアチップ装置32に入力する。 On the other hand, in the terminal apparatus 30, as before, the first and the second server device Sv1, Sv2 requesting program, each of the server devices Sv1, distributed key received from Sv2 information K 'and the encrypted program E (K, input the C) to the secure chip device 32.

セキュアチップ装置32は、入力があると、入力内容を識別する(ST41)。 The secure chip 32, if there is an input, identifies the input content (ST41). 入力内容が個別化されたプログラムに相当する分散鍵情報K'及び暗号化プログラムE(K,C')の場合(ST42)、制御部33が端末固有情報格納部15から端末固有情報K P1を読出す。 Distributed key information K 'and the encrypted program E (K, C' entries corresponds to individualized program) For (ST42), the control unit 33 is a terminal-specific information K P1 from the terminal-specific information storage section 15 to read.

制御部33は、この端末固有情報K P1及び分散鍵情報K'を個別化鍵復元処理部34に入力する。 Control unit 33 inputs the terminal-specific information K P1 and the distributed key information K 'to the individual key restoration processing unit 34.

個別化鍵復元処理部34は、この端末固有情報K P1及び分散鍵情報K'(=g mod p)に基づいて、個別化鍵K(=(g P1 mod p)=)を復元し(ST43)、得られた個別化鍵情報Kを制御部33に送出する。 Individual key restoration processing unit 34, a on the basis of the terminal-specific information K P1 and the distributed key information K '(= g r mod p ), the individual key K (= (g r) K P1 mod p) =) restored (ST43), and sends the obtained individual key information K to the control unit 33.

制御部33は、この個別化鍵情報K及び暗号化プログラムE(K,C)を個別化処理部35に入力する。 Control unit 33 inputs the individual key information K and the encrypted program E (K, C) to the individual processing unit 35.

個別化処理部35は、この個別化鍵情報Kに基づいて暗号化プログラムE(K,C)を復号し(て個別化を解除し)、プログラムCを復元する(ST44)。 Individual processing unit 35, an encryption program E (K, C) on the basis of the individual key information K to decrypt the (Te release the individualized), restores the program C (ST44). また、個別化処理部35は、得られたプログラムCを制御部33に出力する。 Further, the individual processing section 35 outputs the obtained program C to the control unit 33.

制御部14は、このプログラムCをチップ32外部のプログラム実行部11に出力する(ST45)。 Control unit 14 outputs the program C to the chip 32 outside of the program executing section 11 (ST45).

プログラム実行部11は、得られたプログラムをメモリ11aに記憶させて実行する。 The program execution unit 11 stores the obtained program in the memory 11a executes. プログラムの実行終了後、プログラム実行部11は、メモリ11a内のプログラムをメモリ11aから削除し、処理を終了する。 After completion of execution of the program, the program execution unit 11 deletes the program in the memory 11a from the memory 11a, and ends the process.

(セキュリティ処理の実行) (Execution of the security processing)
セキュリティ処理は、第2の実施形態と同様に実行される。 Security processing is performed as in the second embodiment.
(鍵情報の復元) (Restoration of key information)
鍵情報の復元処理は、前述したプログラムCに代えて、鍵情報Kcが秘密分散され個別化された場合に当該鍵情報Kcを復元する内容である。 Restoration processing of the key information, instead of the program C as described above, the key information Kc is the content for restoring the key information Kc when individualized been secret sharing. 以下、順次説明する。 Below, it will be described in order.

いま、前述同様に、鍵情報Kcを秘密分散及び個別化してなる秘密分散及び個別化してなる分散鍵情報K'及び暗号化鍵情報E(K,Kc)が、それぞれ第1及び第2サーバ装置Sv1,Sv2に記憶されているとする。 Now, as before, the key information Kc formed by secret sharing and individualized formed by secret sharing and individualize distributed key information K 'and the encryption key information E (K, Kc), respectively the first and the second server device sv1, and are stored in the Sv2.

一方、端末装置30においては、図示しない外部操作等により、鍵情報Kcの入手がプログラム実行部11に要求される。 On the other hand, in the terminal device 30, the external operation or the like (not shown), to obtain the key information Kc is requested to the program execution unit 11. プログラム実行部11は、鍵情報Kcを入手するため、通信部12を介して第1及び第2サーバ装置Sv1,Sv2に鍵情報Kcを要求し、各サーバ装置Sv1,Sv2から受けた分散鍵情報K'及び暗号化鍵情報E(K,Kc)をセキュアチップ装置32に入力する。 The program execution unit 11 to obtain the key information Kc, requests the key information Kc to the first and second server devices Sv1, Sv2 via the communication unit 12, distributed key information received from the server device Sv1, Sv2 inputting K 'and encryption key information E (K, Kc) to the secure chip device 32.

セキュアチップ装置32は、入力があると、入力内容を識別する(ST41)。 The secure chip 32, if there is an input, identifies the input content (ST41). 入力内容が個別化された鍵情報Kcに相当する分散鍵情報K'及び暗号化鍵情報E(K,Kc)の場合(ST46)、制御部33が端末固有情報格納部15から端末固有情報K P1を読出す。 For a distributed key information K 'and the encryption key information E entries corresponds to key information Kc that is individualized (K, Kc) (ST46), the terminal unique information K controller 33 from the terminal-specific information storage section 15 It reads the P1.

制御部33は、この端末固有情報K P1及び分散鍵情報K'を個別化鍵復元処理部34に入力する。 Control unit 33 inputs the terminal-specific information K P1 and the distributed key information K 'to the individual key restoration processing unit 34.

個別化鍵復元処理部34は、この端末固有情報K P1及び分散鍵情報K'(=g mod p)に基づいて、個別化鍵K(=(g P1 mod p)=)を復元し(ST47)、得られた個別化鍵情報Kを制御部33に送出する。 Individual key restoration processing unit 34, a on the basis of the terminal-specific information K P1 and the distributed key information K '(= g r mod p ), the individual key K (= (g r) K P1 mod p) =) restored (ST47), and sends the obtained individual key information K to the control unit 33.

制御部33は、この個別化鍵情報K及び暗号化鍵情報E(K,Kc)を個別化処理部35に入力する。 Control unit 33 inputs the individual key information K and the encrypted key information E (K, Kc) to the individual processing unit 35.

個別化処理部35は、この個別化鍵情報Kに基づいて暗号化鍵情報E(K,Kc)を復号し(て個別化を解除し)、鍵情報Kc及び鍵ID を復元する(ST48)。 Individual processing unit 35, the individual key information K encrypted key information E based on the (K, Kc) (releasing the Te individualized) decodes and restores the key information Kc and the key ID k (ST48 ). また、個別化処理部35は、得られた鍵情報Kc及び鍵ID を制御部33に出力する。 Further, the individual processing section 35 outputs the obtained key information Kc and the key ID k to the control unit 33.

制御部33は、この鍵情報K及び鍵ID を互いに関連付けて鍵情報格納部18に格納する。 Control unit 33 stores the key information K and the key ID k in the key information storage unit 18 in association with each other. しかる後、制御部33は、鍵ID のみをチップ32外部のプログラム実行部11に出力する(ST49)。 Thereafter, the control unit 33 outputs only the key ID k on the chip 32 outside of the program executing section 11 (ST 49).

プログラム実行部11は、鍵ID をメモリ11aに記憶させ、適宜、前述したセキュリティ処理などに使用する。 The program execution unit 11 stores the key ID k in the memory 11a, as appropriate, be used in such above-mentioned security processing.

上述したように本実施形態によれば、第3の実施形態の効果に加え、プログラムの場合と同様に、秘密分散され個別化された鍵情報を復元することができる。 According to the present embodiment as described above, in addition to the effects of the third embodiment, as in the case of the program, it is possible to restore the key information individualized been secret sharing. また、鍵情報を用いる任意のセキュリティ処理をセキュアチップ装置32内で実行することができる。 Further, it is possible to perform any security processing using the key information in the secure chip device within 32.

なお、本実施形態は、鍵情報Kだけではなく、セキュアチップ装置32内部で動作するプログラム自体も鍵情報格納部18に格納し、格納したプログラムに基づきセキュリティ処理部19を実行してもよい。 The present embodiment, not only the key information K, and stores the program itself key information storage unit 18 that operates at an internal secure chip 32 may execute the security processing unit 19 based on the program stored. この場合、さらに高いセキュリティ性を実現できる。 In this case, it is possible to realize an even higher security.

(第5の実施形態) (Fifth Embodiment)
図9は本発明の第5の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Figure 9 is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a fifth embodiment of the present invention is applied.

本実施形態は、第3の実施形態の変形例であり、乱数rによる秘密分散において、乱数r自体を分散情報S0,S1〜S3として分散するものであり、概略的には分散用サーバ装置Sv0が、図5に示した分散鍵情報生成部22を省略し、乱数rに関する分散情報生成部25を備えている。 This embodiment is a modification of the third embodiment, the secret sharing by random number r, the random number r itself distributed information S0, is intended to disperse as S1 to S3, distributed server system schematically Sv0 but omitting the distributed key information generation unit 22 shown in FIG. 5, a distributed information generation unit 25 regarding the random number r. これに伴い、他の要素が若干異なるものとなっている。 Along with this, other elements and has a slightly different thing. また、8台のサーバ装置Sv1〜Sv8に秘密分散するものとなっている。 In addition, it has been assumed that the secret distributed in eight of the server device Sv1~Sv8. 以下、順に説明する。 Below, it will be described in order.

ここで、乱数生成部21は、保護対象記憶部1内のプログラムCを秘密分散する際に、予め乱数rを生成し、得られた乱数rを個別化鍵生成部23及び分散情報生成部25に送出する機能をもっている。 Here, the random number generation unit 21, protects the program C of target storage unit 1 at the time of secret sharing, previously it generates a random number r, the obtained random number r individual key generation unit 23 and the shared information generating unit 25 it has a function to be sent to.

個別化鍵生成部23は、乱数生成部21から受けた乱数r及び端末固有情報記憶部2内の端末固有情報K P1に基づいて、個別化鍵情報K(=(g P1 mod p)を生成する機能と、得られた個別化鍵情報Kを個別化部24に送出する機能と、鍵生成用のパラメータgを送信部8に送出する機能とをもっている。 Individual key generation unit 23 based on the terminal-specific information K P1 of the random number r and the terminal-specific information storage unit 2 received from the random number generation unit 21, the individual key information K (= (g r) K P1 mod p ) and generating a, it has a function of transmitting the obtained individual key information K individualization unit 24, and a function of sending out the parameter g for key generation to the transmitting unit 8. ここで、gは乗法群の原始元であり、pは大きな素数であって、予め個別化鍵生成部23に設定されている。 Here, g is the multiplicative group of primitive elements, p is a large prime number, is set in advance in the individual key generation unit 23.

分散情報生成部25は、乱数生成部21から受けた乱数rを復元可能な第1分散情報S 及び第2分散情報S 〜S を生成する機能と、得られた第1及び第2分散情報S ,S 〜S を送信部8に送信する機能とをもっている。 Share generation unit 25, the random number generator and generating a first shared information S 0, and the second shared information S 1 to S 3 recoverable random number r received from the 21, the first resultant and the second and a function of transmitting the shared information S 0, S 1 ~S 3 the transmitting unit 8.

ここで、分散情報生成部25は、具体的には次のような機能(f1)〜(f5)を有している。 Here, the shared information generation unit 25 is specifically has a function such as: (f1) ~ (f5).

[f1]n台のサーバ装置Sv1,…,Svnのうち、任意のk台のサーバ装置により分散情報を復元可能とするように(k,n)しきい値法により、乱数rの第1分散情報S ={s ,…,s }を生成する機能。 [F1] n stand server Sv1, ..., among Svn, (k, n) to allow restoring a distributed information by any k stand server device by the threshold method, first the variance of the random number r information S 0 = {s 1, ... , s n} ability to generate. なお、kは、後述する(L+1)に対応する。 Incidentally, k corresponds to the later (L + 1). nは、後述するn'に対応する。 n corresponds to n ', which will be described later. すなわち、(k,n)しきい値法は、後述する(L+1,n')しきい値法に対応する。 That, (k, n) threshold method corresponds to the later-described (L + 1, n ') threshold scheme.

[f2]第1分散情報S に含まれる要素{s ,…,s }を各サーバ装置Sv1,…,Svnに個別に割当てる機能。 [F2] elements {s 1, ..., s n } included in the first shared information S 0 each server device Sv1, ..., function of allocating individually Svn.

[f3]k台未満のサーバ装置からなり、k台未満のサーバ装置により乱数rを復元可能で且つ1台でもサーバ装置が減ると、乱数rが復元不可能となる旨のd個の極小グループA (但し、1≦i≦d)が設定される機能。 [F3] consists k stand below the server device, if also the server device decreases at and one can recover the random number r by k stand below the server device, d pieces of minimum groups to the effect that the random number r is not restored A i (where, 1 ≦ i ≦ d) function is set.

[f4]極小グループA 毎に(|A |,|A |)しきい値法により(但し|A |はA に属するサーバ装置の台数)、乱数rの第2分散情報S ={s {i,1} ,…,s {i,|Ai|} }を生成する機能。 [F4] every minimum group A i (| A i |, | A i |) by the threshold method (where | A i | number of server devices belonging to the A i), the second shared information S of the random number r i = {s {i, 1 }, ..., s {i, | Ai |}} function to generate.

[f5]極小グループA 毎に、第2分散情報S に含まれる要素{s {i,1} ,…,s {i,|Ai|} }を当該極小グループA に含まれる各サーバ装置に個別に割り当てる機能。 [F5] every minimum group A i, elements included in the second shared information S i {s {i, 1 }, ..., s {i, |} | Ai} Each server included into the minimum group A i functions assigned individually to the apparatus.

送信部8は、分散情報生成部25により得られた分散情報S ,S 〜S の所定の組合せを第1〜第6サーバ装置Sv1〜Sv8に送信する機能と、個別化鍵生成部24から受けた原始元gを第7サーバ装置Sv7に送信する機能と、個別化部24により得られた暗号化プログラムE(K,C)を第8サーバ装置Sv8に送信する機能とをもっている。 Transmitting unit 8 has a function of transmitting a predetermined combination of the distributed information generation unit 25 the shared information S 0 obtained by, S 1 to S 3 to the first to sixth server Sv1~Sv8, individual key generation unit it has a function of transmitting a primitive element g which received 24 seventh server device SV7, encryption program E (K, C) obtained by the individual unit 24 and a function of transmitting the eighth server SV8.

第1〜第6サーバ装置Sv1〜Sv6は、分散用サーバ装置Sv0から受けた分散情報S ,S 〜S の組合せをメモリに記憶する機能と、端末装置40からの要求に基づいて、メモリ内の分散情報S0,S1〜S3を端末装置40に送信する機能とをもっている。 First to sixth server Sv1~Sv6 has a function of storing the combination of the distributed information S 0, S 1 ~S 3 received from the distributed server device Sv0 the memory, based on a request from the terminal device 40, distributed information S0 in the memory, and a function of transmitting the S1~S3 to the terminal device 40.

第7サーバ装置Sv7は、分散用サーバ装置Sv0から受けた原始元gをメモリに記憶する機能と、端末装置40からの要求に基づいて、メモリ内の原始元gを端末装置40に送信する機能とをもっている。 Seventh server Sv7 has a function of storing the primitive element g which received from the distribution server device Sv0 the memory, based on a request from the terminal device 40 transmits a primitive element g in the memory in the terminal apparatus 40 functions it has a door.

第8サーバ装置Sv8は、分散用サーバ装置Sv0から受けた暗号化プログラムE(K,C)をメモリに記憶する機能と、端末装置40からの要求に基づいて、メモリ内の暗号化プログラムE(K,C)を端末装置40に送信する機能とをもっている。 Eighth server Sv8 the encrypted program E (K, C) received from the distributed server device Sv0 and a function of storing in a memory, based on a request from the terminal device 40, in a memory encryption program E ( K, and a function of transmitting the C) to the terminal device 40.

端末装置40は、端末固有情報K P1を有して共通鍵暗号方式を実行可能なセキュアチップ装置(図示せず)を内蔵した計算機である。 Terminal device 40 is a computer with a built-in terminal-specific information K P1 secure chip device capable of executing a common-key encryption method has a (not shown).

ここで、端末装置40内のセキュアチップ装置は、例えばシングルチップ形式の耐タンパー性ハードウェアからなり、入力された分散情報S 又はS 〜S 、原始元g及び暗号化プログラムE(K,C)から端末固有情報K P1及び共通鍵暗号方式に基づいた復号処理によりプログラムCを復元する機能と、得られたプログラムCを端末装置40内に送出する機能とをもっている。 Here, the secure chip device in the terminal device 40, for example, a tamper-resistant hardware single-chip form, is input shared information S 0 or S 1 to S 3, the primitive element g and the encrypted program E (K , has the ability to restore the program C by the decoding processing based from C) into the terminal-specific information K P1 and the common key encryption method, and a function of sending the obtained programs C in the terminal device 40.

また、端末装置40は、第1〜第6サーバ装置Sv1〜Sv6に分散情報S ,S 〜S を要求する機能と、第7サーバ装置Sv7に原始元gを要求する機能と、第8サーバ装置Sv8に暗号化プログラムE(K,C)を要求する機能と、各サーバ装置Sv1〜Sv8から受けた分散情報S 又はS 〜S 、原始元g及び暗号化プログラムE(K,C)をセキュアチップ装置に入力する機能と、セキュアチップ装置により得られたプログラムCを実行して実行終了後に当該プログラムを削除する機能とをもっている。 The terminal device 40 has a function of requesting the shared information S 0, S 1 ~S 3 in the first to sixth server Sv1~Sv6, a function of requesting the primitive element g Seventh server device SV7, the 8 server device ability to require encryption program E (K, C) to SV8, shared information S 0 or S 1 to S 3 received from the server device Sv1~Sv8, primitive element g and the encrypted program E (K , has a function of inputting C) to the secure chip device, and a function of deleting the program after completion of execution by executing a program C obtained by the secure chip device.

次に、以上のように構成された秘密分散システムの動作を図10のフローチャートを用いて説明する。 The arrangement The operation of the secret sharing system as described above will be described with reference to the flowchart of FIG.
分散用サーバ装置Sv0では、プログラムCを秘密分散する際に、乱数生成部21が乱数rを生成し(ST31)、得られた乱数rを個別化鍵生成部23及び分散情報生成部25に送出する。 Distributed server device Sv0, the program C during the secret distribution, random number generator 21 generates a random number r (ST31), sends the obtained random number r to the individual key generation unit 23 and the shared information generating unit 25 to.

個別化鍵生成部23は、この乱数r及び端末固有情報記憶部2内の端末固有情報K P1に基づいて、個別化鍵情報K(=(g P1 mod p)を生成し(ST33)、得られた個別化鍵情報Kを個別化部24に送出すると共に、原始元gを送信部8に送出する。 Individual key generation unit 23 based on the terminal-specific information K P1 of the random number r and the terminal-specific information storage unit 2, and generates an individual key information K (= (g r) K P1 mod p) (ST33 ), it sends out the obtained individual key information K individualization unit 24, and sends the primitive element g to the transmission unit 8.

個別化部24は、この個別化鍵情報K及び共通鍵暗号方式に基づいた暗号処理により、保護対象記憶部1内のプログラムCを暗号化して個別化し(ST34)、得られた暗号化プログラムE(K,C)を送信部8に送出する。 Individualized unit 24 by the encryption process based on the individual key information K and the common key cryptosystem, individualized by encrypting the program C protected storage unit 1 (ST34), the resulting encrypted program E sending (K, C) to the transmission unit 8. なお、この個別化により、端末固有情報K P1が無い場合には元のプログラムを正しく復元することができない。 Incidentally, this individualized, if not terminal-specific information K P1 can not be correctly restore the original program. また秘密分散により、端末固有情報K P1があったとしても、暗号化プログラムE(K,C)と、分散情報S0,S1〜S3との一方だけからでは元のプログラムを復元できない。 Further, by secret sharing, even if the terminal-specific information K P1, the encrypted program E (K, C) and, distributed information S0, than from only one of the S1~S3 not be restored to the original program.

分散情報生成部25は、乱数生成部21から乱数rを受けると、乱数rを復元可能な第1分散情報S 及び第2分散情報S 〜S の生成を開始する(ST35)。 Share generation unit 25 receives the random number r from the random number generating unit 21 starts generating the first recoverable random numbers r 1 shared information S 0, and the second shared information S 1 ~S 3 (ST35).

ここで、乱数rの分散情報の生成に必要な秘密分散法について述べる。 Here, we describe the secret sharing scheme required to generate the shared information of the random number r. 乱数rはいくつかの分散情報に秘密分散され、分散情報が各サーバ装置Sv1,…,Svnに割り当てられる。 Random number r is secret sharing to some shared information, shared information is the server device Sv1, ..., are assigned to Svn. このとき、本実施形態の秘密分散法は、次の(a)〜(c)で表される。 At this time, the secret sharing scheme of the present embodiment is expressed by the following (a) ~ (c).

(a)任意の(L+1)台のサーバ装置のグループは、乱数rを復元でき、また、L台以下のサーバ装置からなる極小グループA ,…,A も乱数rを復元できる。 (A) a group of any (L + 1) stage of the server apparatus, to restore the random number r, also minimum group A 1 consisting of L stand following server, ..., A d may also recover the random number r. なお、極小グループは、乱数rを復元可能なグループの中で、グループのサーバ装置のうち、一台でも欠けると乱数rを復元できないグループである。 Note that the minimum group, in a recoverable group a random number r, of the server device groups, a group can not be restored random number r Lack even single. また、上記台数Lは、全ての極小グループに基づいて、定めることができる。 Further, the number L, based on all of the minimum group, can be determined.

(b)任意の(L+1)台のサーバ装置のグループの中で極小グループになっているグループに含まれるサーバ装置の集合をA とし、A に含まれるサーバ装置の台数をn'とする。 (B) Any (L + 1) a set of server devices in the group that is a minimum group in the group of base of the server and A 0, the number of the server included in the A 0 and n ' . このとき、(L+1,n')しきい値法により、乱数rに対する第1分散情報S ={s ,…,s '}を求め、A に含まれるサーバ装置にS に含まれる分散情報の一つを重複なく割り当てる。 At this time, 'the threshold method, the first shared information S 0 = {s 1, ... , s n for the random number r (L + 1, n) '} sought, included in the S 0 to the server apparatus included in A 0 assigning without duplication one balancing information.

(c)各極小グループA (1≦i≦d)に対し、(|A |,|A |)しきい値法により、乱数rに対する第2分散情報S ={s {i,1} ,…,s {i,|Ai|} }を求め、A に含まれるサーバ装置にS に含まれる分散情報の一つを重複なく割り当てる。 To (c) each minimum group A i (1 ≦ i ≦ d ), (| A i |, | A i |) by the threshold method, the second shared information for random number r S i = {s {i , 1}, ..., s {i , | Ai |}} look, assigns no overlap one distributed information included in S i to the server apparatus included in a i.

本実施形態は、上記(a)〜(c)で表される秘密分散方法を用いるため、各サーバ装置Sv1〜Sv6に割り当てられる分散情報の数を減らすことが可能であり、実装上非常に有効である。 This embodiment, for using the secret sharing method represented by the above (a) ~ (c), it is possible to reduce the number of shared information allocated to each server device Sv1~Sv6, on implementation very effective it is. 例えば各サーバ装置Sv1,…,Sv6に関し、乱数rを復元することが可能な8つの極小グループU1〜U8を図11に示すように定めるとする。 For example each of the server devices Sv1, ..., relates SV6, and defines eight minima groups U1~U8 capable of restoring the random number r as shown in FIG. 11.

この場合、本実施形態の秘密分散方法では、L=3,n=n'=6、d=3となり、極小グループA ,…,A は図12に示すようになる。 In this case, the secret sharing method of this embodiment, L = 3, n = n '= 6, d = 3 , and the minimum group A 0, ..., A 3 is as shown in FIG.

従って、この場合、各サーバ装置Sv1〜Sv6に割り当てられる分散情報の数は、図13に示すように、Sv1:3個、Sv2:3個、Sv3:3個、Sv4:3個、Sv5:1個、Sv6:1個となる。 Thus, the number of this case, the shared information allocated to each server device Sv1~Sv6, as shown in FIG. 13, Sv1: 3 pieces, Sv2: 3 pieces, Sv3: 3 pieces, Sv4: 3 pieces, Sv5: 1 number, Sv6: become one with.

一方、従来手法(例えば、非特許文献2参照)では、全ての極小グループU1〜U8に(c)の処理を行う必要があるので、各サーバ装置Sv1〜Sv6に割り当てられる分散情報の数は、図14に示すように、Sv1:4個、Sv2:4個、Sv3:5個、Sv4:5個、Sv5:5個、Sv6:5個となる。 On the other hand, the conventional method (e.g., see Non-Patent Document 2), the it is necessary to do all the minimum group U1~U8 processing (c), the number of shared information allocated to each server device Sv1~Sv6 is as shown in FIG. 14, Sv1: 4 pieces, Sv2: 4 pieces, Sv3: 5, Sv4: 5, Sv5: 5, SV6: a five.

このように、従来手法は、本実施形態よりも多数の分散情報を必要とするので、非効率なことが分かる。 Thus, the conventional method, since it requires a large number of distributed information than the present embodiment, it is understood inefficient.

ここで、分散情報生成部25の動作説明に戻る。 Let us now return to the description of the operation of the distributed information generation unit 25. 分散情報生成部25は、ステップST35の後、例えばユーザ等の外部操作により、図11に示すように、各サーバ装置Sv1〜Sv6の極小グループU1〜U8が設定される(ST36)。 Share generation unit 25, after step ST35, for example by an external manipulation of the user or the like, as shown in FIG. 11, the minimum group U1~U8 of each server device Sv1~Sv6 is set (ST36). この極小グループU1〜U8は、上記(b),(c)及び図12に示すように、極小グループA0〜A3に分類される。 The minimum group U1~U8, the above (b), as shown in (c) and 12 are classified into minimum group A0 to A3.

続いて、分散情報生成部25は、(L+1,n')しきい値法により、乱数rに対する第1分散情報S ={s ,…,s '}を生成し(ST37)、A に含まれるサーバ装置にS に含まれる分散情報の一つを重複なく割り当てる。 Subsequently, the shared information generation unit 25 'by the threshold method, the first shared information S 0 = {s 1, ... , s n for the random number r (L + 1, n) '} generates (ST37), A assigning without duplication one shared information contained in the S 0 to a server device included in the 0.

また、分散情報生成部25は、各極小グループA (1≦i≦d)に対し、(|A |,|A |)しきい値法により、乱数rに対する第2分散情報S ={s {i,1} ,…,s {i,|Ai|} }を生成し(ST38)、A に含まれるサーバ装置にS に含まれる分散情報の一つを重複なく割り当てる。 Furthermore, the shared information generation unit 25, for each minimum group A i (1 ≦ i ≦ d ), (| A i |, | A i |) by the threshold method, the second shared information S i for random number r = {s {i, 1} , ..., s {i, | Ai |}} generates (ST38), assigned without duplication to one distributed information included in S i to the server apparatus included in a i.

しかる後、分散情報生成部25は、得られた第1及び第2分散情報S ,S 〜S を送信部8に送信する。 Thereafter, the shared information generation unit 25 transmits the first and second shared information obtained S 0, S 1 to S 3 to the transmitting unit 8.

送信部8は、これら分散情報S ,S 〜S の所定の組合せを第1〜第6サーバ装置Sv1〜Sv8に送信し、個別化鍵生成部24から受けた原始元gを第7サーバ装置Sv7に送信し、個別化部24により得られた暗号化プログラムE(K,C)を第8サーバ装置Sv8に送信する。 Transmitting unit 8 transmits a given combination of these shared information S 0, S 1 ~S 3 a to the first to sixth server Sv1~Sv8, the primitive element g which received from the individual key generation unit 24 7 transmitted to the server device SV7, it transmits encrypted program E obtained by the individual unit 24 (K, C) to the eighth server SV8.

第1〜第6サーバ装置Sv1〜Sv6は、それぞれ受信した分散情報S ,S 〜S の組合せをメモリに記憶する。 First to sixth server Sv1~Sv6 stores the combination of the distributed information S 0, S 1 ~S 3 respectively received in the memory. 第7サーバ装置Sv7は、受信した原始元gをメモリに記憶する。 Seventh server Sv7 stores the received primitive element g in the memory. 第8サーバ装置Sv8は、受信した暗号化プログラムE(K,C)をメモリに記憶する。 Eighth server Sv8 stores received encrypted program E (K, C) in the memory. これにより、プログラムの秘密分散が完了する。 As a result, the secret sharing of the program is completed.

続いて、端末装置40が秘密分散されたプログラムを復元する動作について述べる。 Next, we describe the operation of the terminal device 40 to restore the programs secret sharing.

端末装置40は、図示しないユーザの操作等により、例えば図12に示すような極小グループA に属する第2〜第4サーバ装置Sv2〜Sv4に対し、図13に示すような第2分散情報S を要求する。 Terminal device 40, by the user's operation, not shown or the like, for example, with respect to the second to fourth server Sv2~Sv4 belonging to minimum group A 3 shown in FIG. 12, the second shared information S as shown in FIG. 13 3 to request. また、端末装置40は、第7及び第8サーバ装置Sv7,Sv8にも情報を要求する。 The terminal device 40 also requests information on the seventh and eighth server device SV7, SV8. なお、極小グループA に限らず、任意の極小グループA 〜A に分散情報を要求可能なことは言うまでもない。 The present invention is not limited to the minimum group A 3, it is needless to say that can request the distribution information to any minimum group A 0 to A 2. また、極小グループA の場合、任意の4台のサーバ装置Svを選択すればよい。 Also, if the minimum group A 0, may be selected arbitrary four server Sv.

さて第2〜第4サーバ装置Sv2〜Sv4は、この要求に基づいて、それぞれメモリ内の分散情報S{3,1},S{3,2},S{3,3}を端末装置40に送信する。 Now the second to fourth server Sv2~Sv4, based on this request, the shared information S {3, 1} in each memory, S {3,2}, the S {3,3} to the terminal 40 Send. 第7サーバ装置Sv7は、この要求に基づいて、メモリ内の原始元gを端末装置40に送信する。 Seventh server Sv7, based on the request, sends the primitive element g in the memory in the terminal device 40. 第8サーバ装置Sv8は、この要求に基づいて、メモリ内の暗号化プログラムE(K,C)を端末装置40に送信する。 Eighth server Sv8, based on this request, and transmits the encrypted program E (K, C) in the memory in the terminal device 40.

端末装置30は、これら分散情報S (=S{3,1},S{3,2},S{3,3})、原始元g及び暗号化プログラムE(K,C)をセキュアチップ装置(図示せず)に入力する。 Terminal device 30, these shared information S 3 (= S {3,1} , S {3,2}, S {3,3}), the primitive element g and the encrypted program E (K, C) the secure chip input to the device (not shown).

セキュアチップ装置は、分散情報S 、原始元g及び暗号化プログラムE(K,C)が入力されると、分散情報S (=S{3,1},S{3,2},S{3,3})から乱数rを復元する。 Secure chip device, the shared information S 3, the primitive element g and the encrypted program E (K, C) is input, the shared information S 3 (= S {3,1} , S {3,2}, S restoring the random number r from {3,3}). また、セキュアチップ装置は、得られた乱数r及び原始元gから端末固有情報K P1に基づいて個別化鍵情報K(=(g P1 mod p)を算出する。 Further, the secure chip device calculates the individual key information K (= (g r) K P1 mod p) based on the obtained random number r and the primitive element g to the terminal-specific information K P1. しかる後、セキュアチップ装置は、個別化鍵情報K及び共通鍵暗号方式に基づいた復号処理によりプログラムCを復元し、得られたプログラムCを端末装置40内に送出する。 Then, the secure chip device restores the program C by the decoding process based on the individual key information K and the common key cryptosystem, and sends the obtained program C in the terminal device 40.

端末装置30は、セキュアチップ装置により得られたプログラムCを実行し、実行終了後、当該プログラムCを削除する。 Terminal device 30 executes the program C obtained by the secure chip device, after execution, and deletes the program C.

上述したように本実施形態によれば、乱数r及び端末固有情報K P1に基づいて生成された個別化鍵情報Kに基づいてプログラムが暗号化されてなる暗号化プログラムE(K,C)と、乱数rを秘密分散した第1及び第2分散情報S ,S 〜S とを各サーバ装置Sv1〜Sv8に秘密分散し、プログラム処理時に、端末装置40内のセキュアチップ装置(情報プログラム保護装置)がこれら暗号化プログラムE(K,C)及び分散情報(例、S )からプログラムCを復元するので、端末装置40内のセキュアチップ装置が保持する秘密情報(鍵情報)やプログラムのセキュリティ性を向上することができる。 According to the present embodiment as described above, the random number r and the terminal-specific information K program based on the individual key information K generated based on P1 is encrypted becomes encrypted program E (K, C) and and first and second shared information S 0, S 1 to S 3 of the random number r and secret sharing and secret sharing to each server device Sv1~Sv8, during program processing, the secure chip device in the terminal device 40 (information program protector) these encryption program E (K, C) and shared information (e.g., because it restores the program C from the S 3), secret information (key information secure chip device in the terminal device 40 is held) and programs it is possible to improve the security. また、セキュアチップ装置は、復元したプログラムを実行せずに端末装置40内に出力するだけなので、従来とは異なりハードウェアの処理能力による制限が無く、任意のプログラムを実行することができる。 Further, the secure chip device, since only output without executing the restored program to the terminal apparatus 40, conventional and not limited by the processing capacity of the different hardware can execute any program. また、秘密分散法を用いる際に、(k,n)しきい値法と(|Ai|,|Ai|)しきい値法を用いたので、(|Ai|,|Ai|)しきい値法のみを用いる場合に比べ、分散情報の個数を抑制することができる(図13及び図14参照)。 Further, when using a secret sharing scheme, (k, n) with a threshold value method (| Ai |, | Ai |) because using the threshold method, (| Ai |, | Ai |) threshold compared with the case of using the law only, it is possible to suppress the number of distributed information (see FIGS. 13 and 14).

(第6の実施形態) (Sixth Embodiment)
図15は本発明の第6の実施形態に係る情報プログラム保護装置が適用されるセキュアチップ装置を備えた端末装置及びその周辺構成を示す模式図である。 Figure 15 is a schematic diagram showing a terminal device and its peripheral configuration with the secure chip device information program protection device according to a sixth embodiment of the present invention is applied.

本実施形態は、第5の実施形態の具体例であり、端末装置40の構成が具体的に述べられている。 This embodiment is a specific example of the fifth embodiment, the configuration of the terminal apparatus 40 is specifically stated.

ここで、端末装置40は、プログラム実行部11、メモリ11a、通信部41及びセキュアチップ装置42を備えている。 Here, the terminal device 40, the program execution unit 11, a memory 11a, a communication unit 41 and the secure chip device 42. セキュアチップ装置42は、具体的には、制御部43、端末固有情報格納部15、乱数復元部44、個別化鍵復元処理部45、個別化処理部35、鍵情報格納部18及びセキュリティ処理部19を備えている。 Secure chip device 42, specifically, the control unit 43, the terminal unique information storage unit 15, a random number restoring unit 44, the individual key restoration processing unit 45, the individual processing section 35, key information storage section 18 and the encryption processor It is equipped with a 19.

プログラム実行部11は、プログラム(又は鍵情報)を入手するため、通信部41を介して第1〜第6サーバ装置Sv1〜Sv6の極小グループA 又はA 及び第7〜第8サーバ装置Sv7,Sv8にプログラム(又は鍵情報)を要求する機能と、セキュアチップ装置42から受けたプログラム(又は鍵ID )をメモリ11aに記憶させて実行する機能と、プログラムの実行終了後、メモリ11a内のプログラムをメモリ11aから削除する機能とをもっている。 The program execution unit 11, the program (or key information) to obtain a minimum group A 0 or A i and seventh eighth server device of the first to sixth server Sv1~Sv6 via the communication unit 41 SV7 , a function of requesting a program (or key information) to SV8, the secure chip device and a function of executing a program (or key ID k) stored in the memory 11a received from 42, after execution of the program, the memory 11a the program has a function to be deleted from the memory 11a.

プログラム実行部11は、前述した通り、プログラムの実行中、必要により、セキュリティ処理要求をセキュアチップ装置42に入力する機能と、得られた実行結果P(K,D)を用い、現在実行中のプログラムの実行を継続する機能とをもっている。 The program execution unit 11 during execution of as described above, the program, if necessary, using a function of inputting the security processing request to the secure chip 42, resulting execution result of P (K, D), the currently executing and a function to continue the execution of the program.

メモリ11aは、前述同様に、プログラム実行部11から読出/書込可能な記憶部である。 Memory 11a is as before, is a readable / writable storage unit from the program execution unit 11.

通信部41は、プログラム実行部11から受けた要求を第1〜第6サーバ装置Sv1〜Sv6の極小グループA 又はA 及び第7〜第8サーバ装置Sv7,Sv8に送信する機能と、第1〜第8サーバ装置Sv1〜Sv8から受けた分散情報S0〜S3のいずれか、原始元g及び暗号化プログラムE(K,C)をセキュアチップ装置42に入力する機能とをもっている。 The communication unit 41 has a function of transmitting the request received from the program execution unit 11 to the first to sixth server minimum group A 0 or A i and seventh eighth server device Sv1~Sv6 Sv7, Sv8, the 1 one of the eighth shared information S0~S3 received from the server device Sv1~Sv8, and a function of inputting primitive element g and the encrypted program E (K, C) to the secure chip device 42. なお、分散鍵情報K'及び暗号化プログラムE(K,C)は、前述同様に通信部31からプログラム実行部11を介してセキュアチップ装置42に入力してもよい。 Incidentally, distributed key information K 'and the encrypted program E (K, C) may be input to the secure chip device 42 via the program execution unit 11 from above similarly communication unit 31.

セキュアチップ装置42は、端末装置40に内蔵されたシングルチップ形式の耐タンパー性ハードウェアからなり、通信部41から分散鍵情報K'及び暗号化プログラムE(K,C)が入力されると、以下の各部43〜45,35,15により、復元されたプログラムC又は鍵ID をプログラム実行部11に出力する機能と、プログラム実行部11からセキュリティ処理要求(処理ID ,鍵ID ,データD)が入力されると、以下の各部43,18,19により、セキュリティ処理の実行結果P(K,D)をプログラム実行部11に出力する機能をもっている。 The secure chip 42 is made tamper-resistant hardware of a single chip type built in the terminal device 40 from the communication unit 41 distributed key information K 'and the encrypted program E (K, C) when is input, the following respective parts 43~45,35,15, a function of outputting the restored program C or key ID k to the program execution unit 11, the security processing request from the program execution unit 11 (process ID p, key ID k, data When D) is input, the following each part 43,18,19, the result P (K security processing, has a function of outputting D) to the program execution unit 11.

制御部43は、入力内容に応じ、復元されたプログラムC、鍵ID 、又は実行結果P(K,D)を得るように、各部44〜45,35,15,18〜19を制御する機能と、得られた結果をプログラム実行部11に出力する機能とをもっている。 Control unit 43, depending on the input content, restored program C, the key ID k, or the execution result P (K, D) to obtain a function of controlling each unit 44~45,35,15,18~19 When, and a function of outputting the obtained result to the program execution unit 11. なお、端末固有情報格納部15、個別化処理部35、鍵情報格納部18及びセキュリティ処理部19は、前述同様のものである。 The terminal-specific information storage section 15, the individual processing section 35, key information storage section 18 and the encryption processor 19 is similar to the foregoing.

乱数復元部44は、制御部33から入力された分散情報S 〜S のいずれかに基づいて乱数rを復元する機能と、得られた乱数rを制御部43に送出する機能とをもっている。 Random number restoring unit 44 has a function to restore the random number r on the basis of any of the distributed information S 0 to S 3, which is input from the control unit 33, and a function of transmitting the obtained random number r to the control unit 43 .

個別化鍵復元処理部34は、制御部33から入力された乱数r、原始元g及び端末固有情報K P1に基づいて、個別化鍵K(=(g P1 mod p)=)を算出し、得られた個別化鍵情報Kを制御部43に送出する機能をもっている。 Individual key restoration processing unit 34, the random number r which is input from the control unit 33, based on the primitive element g and the terminal-specific information K P1, the individual key K (= (g r) K P1 mod p) =) calculated, it has a function of transmitting the obtained individual key information K to the control unit 43.

次に、以上のように構成された端末装置の動作を図16のフローチャートを用いて説明する。 Next, The operation of the terminal device as described above will be described with reference to the flowchart of FIG.
(プログラムの復元) (Restoration of the program)
いま、第5の実施形態と同様に、プログラムCを秘密分散及び個別化してなる分散情報S0〜S3、原始元g及び暗号化プログラムE(K,C)が、それぞれ第1〜第8サーバ装置Sv1〜Sv8に記憶されているとする。 Now, as in the fifth embodiment, the shared information and program C made by secret sharing and individualized S0 to S3, the primitive element g and the encrypted program E (K, C), respectively first through eighth server device and stored in Sv1~Sv8.

一方、端末装置40においては、前述同様に、極小グループA に属する第2〜第4サーバ装置Sv2〜Sv4に対し、図13に示すような第2分散情報S を要求する。 On the other hand, in the terminal apparatus 40, as before, to the second to fourth server Sv2~Sv4 belonging to minimum group A 3, and requests the second shared information S 3 as shown in FIG. 13. また、端末装置40は、第7及び第8サーバ装置Sv7,Sv8にも情報を要求する。 The terminal device 40 also requests information on the seventh and eighth server device SV7, SV8.

また、端末装置30は、各サーバ装置Sv2〜SV4,Sv7,Sv8から受けた分散情報S (=S{3,1},S{3,2},S{3,3})、原始元g及び暗号化プログラムE(K,C)をセキュアチップ装置42に入力する。 Further, the terminal device 30, the server device Sv2~SV4, SV7, shared information S 3 received from Sv8 (= S {3,1}, S {3,2}, S {3,3}), a primitive element g and encryption program E (K, C) the inputs to the secure chip device 42.

セキュアチップ装置42は、入力があると、入力内容を識別する(ST41R)。 Secure chip device 42, when there is an input, it identifies the input content (ST41R). 入力内容が個別化されたプログラムに相当する分散情報S 、原始元g及び暗号化プログラムE(K,C')の場合(ST42R)、制御部43が分散情報S を乱数復元部44に入力する。 Distributed information S 3 which entries correspond to individualized program primitive element g and the encrypted program E (K, C ') In the case of (ST42R), the random number restoring unit 44 control unit 43 the shared information S 3 input.

乱数復元部44は、この分散情報S から乱数rを復元し(ST43R−1)、得られた乱数rを制御部43に出力する。 Random number restoring unit 44, the shared information S 3 restores the random number r from (ST43R-1), and outputs the obtained random number r to the control unit 43.

制御部43は、この乱数r、原始元g及び端末固有情報K P1を個別化鍵復元処理部45に入力する。 Control unit 43 inputs the random number r, the primitive element g and the terminal-specific information K P1 to the individual key restoration processing unit 45.

個別化鍵復元処理部45は、この乱数r、原始元g及び端末固有情報K P1に基づいて、個別化鍵K(=(g P1 mod p)=)を復元し(ST43R−2)、得られた個別化鍵情報Kを制御部43に送出する。 Individual key restoration processing unit 45, the random number r, based on the primitive element g and the terminal-specific information K P1, and restore individual key K (= (g r) K P1 mod p) =) (ST43R-2 ), and it sends the obtained individual key information K to the control unit 43.

制御部43は、この個別化鍵情報K及び暗号化プログラムE(K,C)を個別化処理部35に入力する。 Control unit 43 inputs the individual key information K and the encrypted program E (K, C) to the individual processing unit 35. 以下、前述同様にST44以降の処理が実行される。 Hereinafter, similarly to the above ST44 and subsequent steps are executed.

(セキュリティ処理の実行) (Execution of the security processing)
セキュリティ処理は、第2の実施形態と同様に実行される。 Security processing is performed as in the second embodiment.
(鍵情報の復元) (Restoration of key information)
鍵情報の復元処理は、前述したプログラムCに代えて、鍵情報Kcが秘密分散され個別化された場合に当該鍵情報Kcを復元する内容である。 Restoration processing of the key information, instead of the program C as described above, the key information Kc is the content for restoring the key information Kc when individualized been secret sharing. 以下、順次説明する。 Below, it will be described in order.

いま、前述同様に、鍵情報Kcを秘密分散及び個別化してなる秘密分散及び個別化してなる分散情報S 〜S 、原始元g及び暗号化鍵情報E(K,Kc)が、それぞれ第1〜第8サーバ装置Sv1〜Sv8に記憶されているとする。 Now, as before, the key information Kc and secret sharing and formed by secret sharing and individualized comprising individualized shared information S 0 to S 3, the primitive element g and the encryption key information E (K, Kc) is a respectively stored in the eighth server Sv1~Sv8 to have.

一方、端末装置40においては、前述同様にして、各サーバ装置Sv2〜SV4,Sv7,Sv8から分散情報S (=S{3,1},S{3,2},S{3,3})、原始元g及び暗号化鍵情報E(K,Kc)を受けると、これらをセキュアチップ装置42に入力する。 On the other hand, in the terminal device 40, in the same manner as described above, each of the server devices Sv2~SV4, SV7, shared information S 3 from Sv8 (= S {3,1}, S {3,2}, S {3,3} ), upon receiving the primitive element g and the encryption key information E (K, Kc), and inputs them to the secure chip device 42.

セキュアチップ装置42は、入力があると、入力内容を識別する(ST41R)。 Secure chip device 42, when there is an input, it identifies the input content (ST41R). 入力内容が個別化された鍵情報Kcに相当する分散情報S 、原始元g及び暗号化鍵情報E(K,Kc)の場合(ST46R)、制御部43が分散情報S を乱数復元部44に入力する。 Distributed information S 3 that entry corresponds to the key information Kc that is individualized, for primitive element g and the encryption key information E (K, Kc) (ST46R ), random number restoring unit controller 43 the shared information S 3 input to 44.

乱数復元部44は、この分散情報S から乱数rを復元する(ST47R−1)。 Random number restoring unit 44 restores the random number r from this shared information S 3 (ST47R-1). 詳しくは、乱数復元部44は、次の(α)又は(β)のようにして乱数rを復元する。 Specifically, the random number restoring unit 44 restores the random number r as follows: a (alpha) or (beta).

(α)入力された分散情報がS に含まれる分散情報であり、入力された個数が(L+1)個以上のとき、(L+1,n')しきい値法によりrを復元する。 (Alpha) inputted shared information is shared information contained in the S 0, when the number entered is the (L + 1) or more, to recover the r by (L + 1, n ') threshold scheme.

(β)入力された分散情報がS (1≦i≦d)に含まれる分散情報であり、入力された個数が|A |個以上のとき、(|A |,|A |)しきい値法によりrを復元する。 (Beta) distributed information entered is shared information included in S i (1 ≦ i ≦ d ), the number entered is | A i | pieces over time, (| A i |, | A i | ) to restore the r by the threshold method.

しかる後、乱数復元部44は得られた乱数rを制御部43に出力する。 Thereafter, the random number restoring unit 44 outputs the random number r obtained to the control unit 43.

制御部43は、この乱数r、原始元g及び端末固有情報K P1を個別化鍵復元処理部45に入力する。 Control unit 43 inputs the random number r, the primitive element g and the terminal-specific information K P1 to the individual key restoration processing unit 45.

個別化鍵復元処理部45は、この乱数r、原始元g及び端末固有情報K P1に基づいて、個別化鍵K(=(g P1 mod p)=)を復元し(ST47R−2)、得られた個別化鍵情報Kを制御部43に送出する。 Individual key restoration processing unit 45, the random number r, based on the primitive element g and the terminal-specific information K P1, and restore individual key K (= (g r) K P1 mod p) =) (ST47R-2 ), and it sends the obtained individual key information K to the control unit 43.

制御部43は、この個別化鍵情報K及び暗号化鍵情報E(K,Kc)を個別化処理部35に入力する。 Control unit 43 inputs the individual key information K and the encrypted key information E (K, Kc) to the individual processing unit 35. 以下、前述同様にST48以降の処理が実行される。 Hereinafter, similarly to the above ST48 and subsequent steps are executed.

上述したように本実施形態によれば、第5の実施形態の効果に加え、プログラムの場合と同様に、秘密分散され個別化された鍵情報を復元することができる。 According to the present embodiment as described above, in addition to the effects of the fifth embodiment, as in the case of the program, it is possible to restore the key information individualized been secret sharing. また、鍵情報を用いる任意のセキュリティ処理をセキュアチップ装置42内で実行することができる。 Further, it is possible to perform any security processing using the key information in the secure chip device within 42.

なお、本実施形態は、鍵情報Kだけではなく、セキュアチップ装置42内部で動作するプログラム自体も鍵情報格納部18に格納し、格納したプログラムに基づきセキュリティ処理部19を実行してもよい。 The present embodiment, not only the key information K, and stores the program itself key information storage unit 18 that operates at an internal secure chip 42 may execute the security processing unit 19 based on the program stored. この場合、さらに高いセキュリティ性を実現できる。 In this case, it is possible to realize an even higher security.

なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。 Incidentally, the techniques described in the above-described respective embodiments, as a program that can be executed by a computer, a magnetic disk (floppy disk, hard disk, etc.), optical disk (CD-ROM, DVD, etc.), a magneto-optical disk ( MO), and it can be distributed and stored in a storage medium such as a semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。 Moreover, as this storage medium can store the program, and if the computer is a storage medium readable, the storage format may be in any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。 Furthermore, OS (operating system) from the storage medium running on the computer based on instructions of a program installed in the computer and a database management software, since the MW such as a network software (middleware) such as to implement the present embodiment it may take part in each of the processes.

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。 Further, the storage medium in the present invention is not limited to a medium independent from the computer, the storage medium which stores or temporarily stores download a program transmitted via a LAN, the Internet, etc. are included.

また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。 The storage medium is not limited to one, even if the process in the present embodiment a plurality of the medium is performed is included in the storage medium in the present invention, the medium configuration may be any configuration.

尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。 System The computer in the present invention is based on a program stored in a storage medium, it is one which executes each processing in this embodiment, from one made devices such as a personal computer, a plurality of devices are networked it may be any configuration and the like.

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。 Also, the computer in the present invention is not limited to a personal computer, an arithmetic processing unit included in the information processing apparatus, a microcomputer or the like, capable devices to realize the functions of the invention are collectively device .

なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。 Incidentally, the present invention is not limited to the above embodiments and may be embodied with the components modified without departing from the scope of the invention. また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。 Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiments. 例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。 For example, it is possible to delete some of the components shown in the embodiments. 更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。 Furthermore, it may be combined appropriately structural elements in different embodiments.

本発明の第1の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to the first embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment. 本発明の第2の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a second embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment. 本発明の第3の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a third embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment. 本発明の第4の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a fourth embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment. 本発明の第5の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a fifth embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment. 同実施形態における極小グループを説明するための模式図である。 It is a schematic diagram for explaining the minimum group in the same embodiment. 同実施形態における極小グループを説明するための模式図である。 It is a schematic diagram for explaining the minimum group in the same embodiment. 同実施形態における分散情報の個数を説明するための模式図である。 It is a schematic diagram for explaining the number of the distributed information in the same embodiment. 従来手法による分散情報の個数を説明するための模式図である。 It is a schematic diagram for explaining the number of shared information according to the conventional technique. 本発明の第6の実施形態に係る情報プログラム保護方法が適用される秘密分散システムの構成を示す模式図である。 Is a schematic diagram showing the configuration of a secret sharing system information program protection method according to a sixth embodiment of the present invention is applied. 同実施形態における動作を説明するためのフローチャートである。 Is a flow chart for explaining the operation in the same embodiment.

符号の説明 DESCRIPTION OF SYMBOLS

Sv0〜Sv8…サーバ装置、1…保護対象記憶部、2…端末固有情報記憶部、3…入力部、4…圧縮部、5…分散情報生成部、6…秘密分散部、7…個別化部、8…送信部、10〜40…端末装置、11…プログラム実行部、11a…メモリ、12,31,41…通信部、13,32,42…セキュアチップ装置、14,33,43…制御部、15…端末固有情報格納部、16…個別化解除部、17…分散プログラム復元部、18…鍵情報格納部、19…セキュリティ処理部、21…乱数生成部、22…分散鍵情報生成部、23…個別化鍵生成部、24…個別化部、25…分散情報生成部、34,45…個別化鍵復元処理部、35…個別化処理部、44…乱数生成部。 Sv0~Sv8 ... server, 1 ... protected storage unit, 2 ... terminal-specific information storage section, 3 ... input section, 4 ... compression section, 5 ... share generation unit, 6 ... secret distribution unit, 7 ... individualized unit , 8 ... transmitting unit, 10 to 40 ... terminal device, 11 ... program executing portion, 11a ... memory, 12,31,41 ... communication unit, 13,32,42 ... secure chip device, 14,33,43 ... controller , 15 ... terminal-specific information storage section, 16 ... individualized release unit, 17 ... distributed program restoration part, 18 ... key information storage section, 19 ... encryption processor, 21 ... random number generator unit, 22 ... distributed key information generation unit, 23 ... individual key generation unit, 24 ... individualized unit, 25 ... share generation unit, 34, 45 ... individually key restoration processing unit, 35 ... individual processing unit, 44 ... random number generator.

Claims (11)

  1. 端末固有情報を有して共通鍵暗号方式、排他的論理和及び圧縮プログラム解凍を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムを予め複数のサーバ装置に秘密分散する情報プログラム保護方法であって、 Common key encryption system with a terminal-specific information, to protect said exclusive OR and secret information stored compressed program thawed viable terminal program for processing confidential information from unauthorized use or analysis as an information program protection method for secret sharing in advance a plurality of server devices to said program,
    前記各サーバ装置のうちの分散用サーバ装置が、0と1からなるバイナリ形式の前記プログラムに対し、前記0と1の偏りを少なくするように前記プログラムを圧縮し、圧縮プログラムを得る工程と、 A step wherein the dispersion server device among the server devices, 0 and with respect to the program in binary format consisting of 1, which compresses said program so as to reduce the 0 and 1 of the bias to obtain a compression program,
    前記分散用サーバ装置が当該圧縮プログラムのビット長を算出する工程と、 A step of said distributed server apparatus calculates the bit length of the compressor,
    前記分散用サーバ装置が前記ビット長と同じビット長の乱数からなる分散情報を生成する工程と、 A step of generating shared information the distributed server system consists random same bit length and the bit length,
    前記分散用サーバ装置が前記分散情報と前記圧縮プログラムとの各ビットの排他的論理和を算出し、算出値を得る工程と、 A step of said distributed server apparatus calculates the exclusive OR of each bit of said compressor and said distributed information, obtain a calculated value,
    前記分散用サーバ装置が前記算出値を前記端末固有情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化算出値を得る工程と、 The distributed server system is encrypted by the encryption processing based on the calculated value to the terminal-specific information and the common key encryption scheme, and obtaining the encrypted calculated value,
    前記分散用サーバ装置が前記分散情報を前記端末固有情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化分散情報を得る工程と、 The distributed server system is encrypted by the encryption processing based on the distributed information to the terminal-specific information and the common key encryption scheme, and obtaining the encrypted shared information,
    前記分散用サーバ装置が前記暗号化分散情報及び暗号化算出値のうち、少なくとも一方を他のサーバ装置に送信する工程と を備えたことを特徴とする情報プログラム保護方法。 Of the distributed server device of the encrypted shared information and encryption calculation value, information program protection method characterized by comprising the step of transmitting at least one other server unit.
  2. 端末装置に内蔵されたシングルチップ形式のハードウェアからなる情報プログラム保護装置であって、 An information program protection device comprising a hardware single-chip format incorporated in the terminal device,
    前記端末装置に固有の端末固有情報が格納された端末固有情報格納手段と、 And terminal-specific information storage means stored a unique terminal unique information to the terminal device,
    圧縮プログラムのビット長と同じビット長の乱数からなる分散情報が端末固有情報により暗号化されてなる暗号化分散情報が前記端末装置から入力される暗号化分散情報入力手段と、 And encrypted distributed information input means for encrypting shared information comprising encrypted is input from the terminal device by the dispersion information terminal specific information consisting of random numbers the same bit length as the bit length of the compressor,
    前記分散情報と前記圧縮プログラムとの排他的論理和として算出された算出値が端末固有情報により暗号化されてなる暗号化算出値が前記端末装置から入力される暗号化算出値入力手段と、 And encryption calculation value input means calculated calculated value is encrypted calculated value comprising encrypted is input from the terminal device by the terminal-specific information as exclusive OR of the compressor and the shared information,
    前記入力された暗号化分散情報及び暗号化算出値から前記端末固有情報格納手段内の端末固有情報に基づいて、圧縮プログラムを復元するプログラム復元手段と、 Based on the terminal-specific information within the terminal-specific information storage means from the input encrypted shared information and encryption calculated value, and the program restoring means for restoring the compressed program,
    前記復元された圧縮プログラムを前記端末装置内に出力する出力手段と、 And output means for outputting the restored compressed program into the terminal device,
    鍵情報が格納される鍵情報格納手段と、 A key information storage unit key information is stored,
    入力された処理要求に基づいて、暗号化処理、復号処理、署名生成処理、認証子の生成処理及び認証子の検証処理のうち、いずれかの処理を前記鍵情報を用いて実行し、実行結果を得る処理実行手段と、 Responds to the input of the processing request, the encryption processing, decryption, signature generation processing, among the verification process generation process and authenticator authenticator, do one of the processing using the key information, the result and process executing means for obtaining,
    前記実行結果を前記端末装置内に出力する実行結果出力手段と を備えたことを特徴とする情報プログラム保護装置。 Information program protection device characterized by comprising an execution result output means for outputting the execution result in said terminal device.
  3. 請求項2に記載の情報プログラム保護装置において、 In the information program protection apparatus according to claim 2,
    前記プログラム復元手段は、 The program restoration means,
    前記入力された暗号化分散情報を前記端末固有情報格納手段内の端末固有情報に基づいて復号し、分散情報を得る分散情報復号手段と、 The encrypted distributed information the input decoded on the basis of the terminal-specific information within the terminal-specific information storage means, and shared information decoding means for obtaining distributed information,
    前記入力された暗号化算出値を前記端末固有情報格納手段内の端末固有情報に基づいて復号し、算出値を得る算出値復号手段と、 A calculation value decoding means for the input encrypted calculated value decoded on the basis of the terminal-specific information within the terminal-specific information storage means, obtain the calculated value,
    前記復号された分散情報と前記復号された算出値との排他的論理和を算出し、圧縮プログラムを得る排他的論理和算出手段と、 An exclusive OR calculating unit that calculates the exclusive OR of the decoded calculated value and the decoded shared information, obtain a compression program,
    を備えたことを特徴とする情報プログラム保護装置。 Information program protection device characterized by comprising a.
  4. 請求項2に記載の情報プログラム保護装置において、 In the information program protection apparatus according to claim 2,
    前記鍵格納手段は、鍵IDが前記鍵情報に関連付けて格納されており、 The key storage unit, the key ID is stored in association with the key information,
    前記処理要求は、処理ID、鍵ID及びデータを含んでおり、 The processing request, the processing ID, includes a key ID and data,
    前記処理実行手段は、 Said processing execution means
    前記入力された処理要求に含まれる鍵IDに基づいて、前記鍵情報格納部から鍵情報を読出す手段と、 Based on the key ID included in the input processing request, and means for reading the key information from the key information storage section,
    前記読出した鍵情報、前記処理要求に含まれる処理ID及びデータに関し、前記処理IDで指定された処理を鍵情報に基づいてデータに実行し、前記実行結果を得る手段と を備えたことを特徴とする情報プログラム保護装置。 The read-out key information, characterized in that regard the process ID and the data contained in the processing request, executes the data based on the processing specified in the processing ID to the key information, and means for obtaining the execution result and information program protection device.
  5. 請求項2に記載の情報プログラム保護装置において、 In the information program protection apparatus according to claim 2,
    鍵情報のビット長と同じビット長の乱数からなる分散鍵情報が端末固有情報により暗号化されてなる暗号化分散鍵情報が前記端末装置から入力される暗号化分散鍵情報入力手段と、 And encrypted distributed key information input means for distributed key information consisting of the same bit length random number and bit length of the key information is encrypted distributed key information comprising encrypted is input from the terminal device by the terminal-specific information,
    前記分散鍵情報と当該鍵情報との排他的論理和として算出された鍵用算出値が端末固有情報により暗号化されてなる暗号化鍵用算出値が前記端末装置から入力される暗号化鍵用算出値入力手段と、 For encryption key the distributed key information and exclusive encryption key for calculating values ​​comprising encrypted by logical sum calculated key for calculating values ​​terminal-specific information as the corresponding key information is input from the terminal device and the calculated value input means,
    前記入力された暗号化分散鍵情報を前記端末固有情報格納手段内の端末固有情報に基づいて復号し、分散鍵情報を得る分散鍵情報復号手段と、 The input encrypted distributed key information decrypted on the basis of the terminal-specific information within the terminal-specific information storage means, and distributed key information decoding means for obtaining a distributed key information,
    前記入力された暗号化鍵用算出値を前記端末固有情報格納手段内の端末固有情報に基づいて復号し、鍵用算出値を得る鍵用算出値復号手段と、 A key for calculating value decoding means for decoding, to obtain a key for calculating values ​​based on the input encryption key for calculating value terminal-specific information within the terminal-specific information storage means,
    前記復号された分散鍵情報と前記復号された鍵用算出値との排他的論理和を算出し、鍵情報を復元する鍵情報復元手段と、 A key information restoring unit calculates the exclusive OR of the decoded key for calculating value and the decoded distributed key information, to restore the key information,
    前記復元された鍵情報を対応する鍵IDと関連付けて前記鍵情報格納手段に書込む鍵書込手段と、 And writing Kagishokomi means to said key information storage unit in association with the corresponding key ID of the restored key information,
    当該鍵IDを前記端末装置内に出力する鍵ID出力手段と を備えたことを特徴とする情報プログラム保護装置。 Information program protection device being characterized in that a key ID output means for outputting the key ID into the terminal device.
  6. 端末固有情報を有して共通鍵暗号方式を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムを予め複数のサーバ装置に秘密分散する情報プログラム保護方法であって、 To protect the program for processing the secret information stored common key encryption scheme viable terminal device has a terminal-specific information and the secret information from unauthorized use or analysis, advance a plurality of said program an information program protection method for secret sharing server apparatus,
    前記各サーバ装置のうちの分散用サーバ装置が乱数を生成する工程と、 A step of said distributed server device among the server device generates a random number,
    前記分散用サーバ装置が前記乱数に基づいて分散鍵情報を生成する工程と、 A step of said distributed server device generates the distributed key information based on the random number,
    前記分散用サーバ装置が前記分散鍵情報から前記端末固有情報に基づいて、個別化鍵情報を生成する工程と、 The distributed server device based on said terminal-specific information from the distributed key information, and generating an individual key information,
    前記分散用サーバ装置が前記プログラムを前記個別化鍵情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化プログラムを得る工程と、 The distributed server system is encrypted by the encryption processing based on the program to the individual key information and the common key encryption scheme, and obtaining the encrypted program,
    前記分散用サーバ装置が前記暗号化プログラム及び前記分散鍵情報のうち、少なくとも一方を他のサーバ装置に送信する工程と を備えたことを特徴とする情報プログラム保護方法。 Of the distributed server device of the encrypted program and the distributed key information, information program protection method characterized by comprising the step of transmitting at least one other server unit.
  7. 端末装置に内蔵されたシングルチップ形式のハードウェアからなる情報プログラム保護装置であって、 An information program protection device comprising a hardware single-chip format incorporated in the terminal device,
    前記端末装置に固有の端末固有情報が格納された端末固有情報格納手段と、 And terminal-specific information storage means stored a unique terminal unique information to the terminal device,
    乱数により生成された分散鍵情報から端末固有情報に基づいて生成された個別化鍵情報に基づいてプログラムが暗号化されてなる暗号化プログラムが前記端末装置から入力される暗号化プログラム入力手段と、 An encryption program input means for encrypting the program the program is encrypted on the basis of the distributed key information generated by a random number to the individual key information generated on the basis of the terminal-specific information is input from the terminal device,
    前記分散鍵情報が前記端末装置から入力される分散鍵情報入力手段と、 A distributed key information input means for the distributed key information is input from the terminal device,
    前記入力された分散鍵情報及び暗号化プログラムから前記端末固有情報格納手段内の端末固有情報に基づいて、プログラムを復元するプログラム復元手段と、 On the basis of the inputted distributed key information and the encrypted program to the terminal-specific information within the terminal-specific information storage means, and the program restoring means for restoring the program,
    前記復元されたプログラムを前記端末装置内に出力する出力手段と、 And output means for outputting the reconstructed program in the terminal device,
    鍵情報が格納される鍵情報格納手段と、 A key information storage unit key information is stored,
    入力された処理要求に基づいて、暗号化処理、復号処理、署名生成処理、認証子の生成処理及び認証子の検証処理のうち、いずれかの処理を前記鍵情報を用いて実行し、実行結果を得る処理実行手段と、 Responds to the input of the processing request, the encryption processing, decryption, signature generation processing, among the verification process generation process and authenticator authenticator, do one of the processing using the key information, the result and process executing means for obtaining,
    前記実行結果を前記端末装置内に出力する実行結果出力手段と を備えたことを特徴とする情報プログラム保護装置。 Information program protection device characterized by comprising an execution result output means for outputting the execution result in said terminal device.
  8. 請求項7に記載の情報プログラム保護装置において、 In the information program protection device according to claim 7,
    前記プログラム復元手段は、 The program restoration means,
    前記入力された分散鍵情報から前記端末固有情報格納手段内の端末固有情報に基づいて、個別化鍵情報を生成する個別化鍵情報生成手段と、 Based on the terminal-specific information within the terminal-specific information storage means from said input distributed key information, and the individual key information generation means for generating an individual key information,
    前記入力された暗号化プログラムを前記個別化鍵情報に基づいて復号し、プログラムを得るプログラム復号手段と、 Decoded based the input encrypted program to the individual key information, a program decryption means for obtaining a program,
    を備えたことを特徴とする情報プログラム保護装置。 Information program protection device characterized by comprising a.
  9. 請求項7に記載の情報プログラム保護装置において、 In the information program protection device according to claim 7,
    前記鍵格納手段は、鍵IDが前記鍵情報に関連付けて格納されており、 The key storage unit, the key ID is stored in association with the key information,
    前記処理要求は、処理ID、鍵ID及びデータを含んでおり、 The processing request, the processing ID, includes a key ID and data,
    前記処理実行手段は、 Said processing execution means
    前記入力された処理要求に含まれる鍵IDに基づいて、前記鍵情報格納部から鍵情報を読出す手段と、 Based on the key ID included in the input processing request, and means for reading the key information from the key information storage section,
    前記読出した鍵情報、前記処理要求に含まれる処理ID及びデータに関し、前記処理IDで指定された処理を鍵情報に基づいてデータに実行し、前記実行結果を得る手段と を備えたことを特徴とする情報プログラム保護装置。 The read-out key information, characterized in that regard the process ID and the data contained in the processing request, executes the data based on the processing specified in the processing ID to the key information, and means for obtaining the execution result and information program protection device.
  10. 請求項7に記載の情報プログラム保護装置において、 In the information program protection device according to claim 7,
    乱数により生成された分散鍵情報から端末固有情報に基づいて生成された個別化鍵情報に基づいて鍵情報が暗号化されてなる暗号化鍵情報が前記端末装置から入力される暗号化鍵情報入力手段と、 Encryption key information encrypted key information by the key information based on the distributed key information generated by a random number to the individual key information generated on the basis of the terminal-specific information is encrypted is input from the terminal device input and means,
    前記分散鍵情報が前記端末装置から入力される分散鍵情報入力手段と、 A distributed key information input means for the distributed key information is input from the terminal device,
    前記入力された分散鍵情報から前記端末固有情報格納手段内の端末固有情報に基づいて、個別化鍵情報を生成する個別化鍵情報生成手段と、 Based on the terminal-specific information within the terminal-specific information storage means from said input distributed key information, and the individual key information generation means for generating an individual key information,
    前記入力された暗号化鍵情報を前記個別化鍵情報に基づいて復号し、鍵情報を復元する鍵情報復元手段と、 Key information restoration means for the encryption key information is the input decoded on the basis of the individual key information, to restore the key information,
    前記復元された鍵情報を対応する鍵IDと関連付けて前記鍵情報格納手段に書込む鍵書込手段と、 And writing Kagishokomi means to said key information storage unit in association with the corresponding key ID of the restored key information,
    当該鍵IDを前記端末装置内に出力する鍵ID出力手段と を備えたことを特徴とする情報プログラム保護装置。 Information program protection device being characterized in that a key ID output means for outputting the key ID into the terminal device.
  11. 端末固有情報を有して共通鍵暗号方式を実行可能な端末装置に格納された秘密情報と前記秘密情報を処理するプログラムとを不正な利用又は解析から保護するように、前記プログラムの秘密分散に用いる乱数及び当該プログラムを少なくともn台のサーバ装置に秘密分散する情報プログラム保護方法であって、 To protect the program for processing the secret information stored common key encryption scheme viable terminal device has a terminal-specific information and the secret information from unauthorized use or analysis, the secret sharing of the program at least n number of the server device random number and the program used an information program protection method for secret sharing,
    前記各サーバ装置のうちの分散用サーバ装置が乱数rを生成する工程と、 A step of said distributed server device among the server device generates a random number r,
    前記分散用サーバ装置が前記乱数及び端末固有情報に基づいて、個別化鍵情報を生成する工程と、 The distributed server device based on the random number and the terminal-specific information, and generating an individual key information,
    前記分散用サーバ装置が前記プログラムを前記個別化鍵情報及び前記共通鍵暗号方式に基づいた暗号処理により暗号化し、暗号化プログラムを得る工程と、 The distributed server system is encrypted by the encryption processing based on the program to the individual key information and the common key encryption scheme, and obtaining the encrypted program,
    前記分散用サーバ装置が、前記乱数rを復元可能なn台以下のサーバ装置のグループの中で、一台でも欠けると乱数rが復元不可能となるグループである極小グループに基づいて、任意の(L+1)台のサーバ装置のグループでは乱数rを復元可能となる旨の最小の台数Lを定める工程と、 The dispersion server apparatus, said recoverable n number a random number r in the group of the following server device, based on the minimum group is a group that lacks any single When the random number r is unrecoverable, any a step of determining a minimum number L indicating that it is possible recover the random number r is a group of (L + 1) stage of the server,
    L台以下のサーバ装置からなり、前記L台以下のサーバ装置により乱数rを復元可能で且つ1台でもサーバ装置が減ると、乱数rが復元不可能となる旨のd個の極小グループA (但し、1≦i≦d)を前記分散用サーバ装置に設定する工程と、 L stand consists of the following server apparatus, wherein the L stand following also server device and one can recover the random number r by the server device is reduced, d pieces of minimum groups to the effect that the random number r is not restored A i (where, 1 ≦ i ≦ d) a step of setting the distributed server system,
    任意の(L+1)台のサーバ装置のグループの中の極小グループに含まれるサーバ装置の集合をA とし、集合A に含まれるサーバ装置の台数n'を求め、(L+1,n')しきい値法により、乱数rに対する第1分散情報S ={s ,…,s '}を生成する工程と、 A set of server devices contained in the minimum group in the group for any (L + 1) stage of the server and A 0, 'seek, (L + 1, n' number n of the server apparatus included in the set A 0 and) the threshold method, the first shared information S 0 = {s 1, ... , s n '} for the random number r and generating a
    前記集合A に含まれるサーバ装置に対し、前記第1分散情報S に含まれる要素{s ,…,s '}を重複なく割り当てる工程と、 To the server apparatus included in the set A 0, elements {s 1, ..., s n '} included in the first shared information S 0 and a step of assigning without overlapping,
    前記分散用サーバ装置が、前記極小グループA 毎に(|A |,|A |)しきい値法により(但し|A |はA に属するサーバ装置の台数)、前記乱数rの第2分散情報S ={s {i,1} ,…,s {i,|Ai|} }を生成する工程と、 The distributed server device, the minimum group A for every i (| A i |, | A i |) by the threshold method (where | A i | number of server devices belonging to the A i), the random number r = the second shared information S i {s {i, 1 }, ..., s {i, |} | Ai} and generating a
    前記分散用サーバ装置が、前記極小グループA 毎に、前記第2分散情報S に含まれる要素{s {i,1} ,…,s {i,|Ai|} }を当該極小グループA に含まれる各サーバ装置に個別に割り当てる工程と を備えたことを特徴とする情報プログラム保護方法。 The dispersion server device, for each of the minimum group A i, elements included in the second shared information S i {s {i, 1 }, ..., s {i, | Ai |}} the minimum group A information program protection method characterized by comprising the steps of: assigning to each individual server devices included to i.
JP2004288150A 2004-09-30 2004-09-30 Method and device for protecting information program Pending JP2006099697A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004288150A JP2006099697A (en) 2004-09-30 2004-09-30 Method and device for protecting information program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004288150A JP2006099697A (en) 2004-09-30 2004-09-30 Method and device for protecting information program

Publications (1)

Publication Number Publication Date
JP2006099697A true true JP2006099697A (en) 2006-04-13

Family

ID=36239402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004288150A Pending JP2006099697A (en) 2004-09-30 2004-09-30 Method and device for protecting information program

Country Status (1)

Country Link
JP (1) JP2006099697A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007322822A (en) * 2006-06-01 2007-12-13 Toshiba Corp Data processor, data processing method, and data processing program
JP2012529086A (en) * 2009-05-29 2012-11-15 ビッツプレイ・コーポレーションBitspray Corporation Secure storage and transmission of increased speed of information by the communication network
JP6047258B1 (en) * 2016-09-23 2016-12-21 ネクスト・イット株式会社 Data backup device and a data backup method used in a financial institution server

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324096A (en) * 1999-05-13 2000-11-24 Nippon Telegr & Teleph Corp <Ntt> Contents protection system
JP2002281475A (en) * 2001-03-14 2002-09-27 Sony Corp Image pickup device, server device and client device
JP2003114853A (en) * 2001-10-04 2003-04-18 Koden Electronics Co Ltd E-mail confidential protection system
JP2003188871A (en) * 2001-12-20 2003-07-04 Fujitsu Frontech Ltd Ciphering processor, ciphering processing unit controller, and ciphering processing unit
JP2003249926A (en) * 2002-02-22 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> Transmitter for contents common key, contents distributing device and contents receiver
JP2003296179A (en) * 2002-03-29 2003-10-17 Mitsubishi Electric Corp Information processor and network file method
JP2003333023A (en) * 2002-05-09 2003-11-21 Toshiba Corp Data relay program for plant supervisory control and system
JP2003348065A (en) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd Distributed data storage system
JP2004012866A (en) * 2002-06-07 2004-01-15 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, device and program
JP2004145618A (en) * 2002-10-24 2004-05-20 Canon System & Support Inc Information processor, document authenticating method, its program and recording medium
JP2004213650A (en) * 2002-12-19 2004-07-29 Ntt Communications Kk Data fragmentation method, data fragmentation device and computer program
JP2004221883A (en) * 2003-01-14 2004-08-05 Sony Corp User interface method and terminal equipment
JP2004259077A (en) * 2003-02-27 2004-09-16 Hitachi Ltd Update method for incorporating appliance program

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324096A (en) * 1999-05-13 2000-11-24 Nippon Telegr & Teleph Corp <Ntt> Contents protection system
JP2002281475A (en) * 2001-03-14 2002-09-27 Sony Corp Image pickup device, server device and client device
JP2003114853A (en) * 2001-10-04 2003-04-18 Koden Electronics Co Ltd E-mail confidential protection system
JP2003188871A (en) * 2001-12-20 2003-07-04 Fujitsu Frontech Ltd Ciphering processor, ciphering processing unit controller, and ciphering processing unit
JP2003249926A (en) * 2002-02-22 2003-09-05 Nippon Telegr & Teleph Corp <Ntt> Transmitter for contents common key, contents distributing device and contents receiver
JP2003296179A (en) * 2002-03-29 2003-10-17 Mitsubishi Electric Corp Information processor and network file method
JP2003333023A (en) * 2002-05-09 2003-11-21 Toshiba Corp Data relay program for plant supervisory control and system
JP2003348065A (en) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd Distributed data storage system
JP2004012866A (en) * 2002-06-07 2004-01-15 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, device and program
JP2004145618A (en) * 2002-10-24 2004-05-20 Canon System & Support Inc Information processor, document authenticating method, its program and recording medium
JP2004213650A (en) * 2002-12-19 2004-07-29 Ntt Communications Kk Data fragmentation method, data fragmentation device and computer program
JP2004221883A (en) * 2003-01-14 2004-08-05 Sony Corp User interface method and terminal equipment
JP2004259077A (en) * 2003-02-27 2004-09-16 Hitachi Ltd Update method for incorporating appliance program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007322822A (en) * 2006-06-01 2007-12-13 Toshiba Corp Data processor, data processing method, and data processing program
JP2012529086A (en) * 2009-05-29 2012-11-15 ビッツプレイ・コーポレーションBitspray Corporation Secure storage and transmission of increased speed of information by the communication network
JP6047258B1 (en) * 2016-09-23 2016-12-21 ネクスト・イット株式会社 Data backup device and a data backup method used in a financial institution server

Similar Documents

Publication Publication Date Title
US7424612B2 (en) Saving and retrieving data based on symmetric key encryption
US6718468B1 (en) Method for associating a password with a secured public/private key pair
US20030200450A1 (en) Saving and retrieving data based on public key encryption
US20050228994A1 (en) Method for encryption backup and method for decryption restoration
US20030093683A1 (en) System for preventing unauthorized access to sensitive data and a method thereof
US20030084308A1 (en) Memory encryption
US5901227A (en) Method and apparatus for implementing partial and complete optional key escrow
US20100232604A1 (en) Controlling access to content using multiple encryptions
US20030023847A1 (en) Data processing system, recording device, data processing method and program providing medium
US20080162949A1 (en) Program Conversion Device and Program Execution Device
US20020169971A1 (en) Data authentication system
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
EP0994475A1 (en) Digital content protection system
US20050283662A1 (en) Secure data backup and recovery
US7792300B1 (en) Method and apparatus for re-encrypting data in a transaction-based secure storage system
US20120173882A1 (en) System and method for in-place encryption
US20110222691A1 (en) Recording system, playback system, key distribution server, recording device, recording medium device, playback device, recording method, and playback method
US20080168568A1 (en) Token passing technique for media playback devices
US20080104706A1 (en) Transferring a data object between devices
US20020073326A1 (en) Protect by data chunk address as encryption key
US20120057696A1 (en) Multi-key cryptography for encrypting file system acceleration
JP2004201038A (en) Data storage device, information processing apparatus mounted therewith, and data processing method and program thereof
US20100030982A1 (en) Backing up digital content that is stored in a secured storage device
US20120072713A1 (en) General Purpose Distributed Encrypted File System
US20090086964A1 (en) Providing local storage service to applications that run in an application execution environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110125