JP6111165B2 - Cryptographic processing apparatus and cryptographic processing system - Google Patents
Cryptographic processing apparatus and cryptographic processing system Download PDFInfo
- Publication number
- JP6111165B2 JP6111165B2 JP2013163293A JP2013163293A JP6111165B2 JP 6111165 B2 JP6111165 B2 JP 6111165B2 JP 2013163293 A JP2013163293 A JP 2013163293A JP 2013163293 A JP2013163293 A JP 2013163293A JP 6111165 B2 JP6111165 B2 JP 6111165B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- encryption
- storage unit
- unit
- unique key
- 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.)
- Active
Links
Description
この発明は、暗号処理装置および暗号処理システムに関し、より詳細には複数の共通鍵を用いて暗号化および復号化を行う暗号処理装置および暗号処理システムに関する。 The present invention relates to an encryption processing device and an encryption processing system, and more particularly to an encryption processing device and an encryption processing system that perform encryption and decryption using a plurality of common keys.
第三者に傍受される可能性のある無線通信やインターネット通信においては、送信すべきデータを暗号化したうえで相手側機器に送信することで、第三者に通信の内容が漏れないようにしている。データの暗号化には大別して公開鍵方式と共通鍵方式とが知られている。この発明に関連するのは共通鍵方式である。 In wireless communication and Internet communication that may be intercepted by a third party, the data to be transmitted is encrypted and transmitted to the other device so that the content of the communication is not leaked to the third party. ing. Public encryption methods and common key methods are known for data encryption. Related to the present invention is a common key system.
公開鍵方式は、受信側が公開鍵と秘密鍵を生成し、公開鍵は送信側が使用できるように公開し、受信側は秘密鍵を秘密裏に管理する。送信側は公開鍵を用いて暗号化処理をしたデータを送信し、受信側は秘密鍵を用いて受信データを復号化する。この方式は受信側が秘密鍵を秘密管理すれば第三者に通信の内容が漏れない。 In the public key method, the receiving side generates a public key and a secret key, the public key is made public so that it can be used by the transmitting side, and the receiving side manages the secret key secretly. The transmitting side transmits data encrypted using the public key, and the receiving side decrypts the received data using the secret key. In this method, if the receiving side secretly manages the secret key, the contents of communication will not leak to a third party.
これに対して共通鍵方式は、暗号鍵と呼ばれるデータを送信側および受信側の双方が第三者に知られないように共有し、その暗号鍵を使って暗号化や復号化を行う。共通鍵方式では、通信の相手先ごとに共有する共通鍵を決定しておく必要がある。なお、異なる相手に対し異なる共通鍵を用いてもよいし同じ共通鍵を用いてもよい。 On the other hand, in the common key method, data called an encryption key is shared so that both the transmission side and the reception side are not known to a third party, and encryption and decryption are performed using the encryption key. In the common key method, it is necessary to determine a common key shared for each communication partner. Different common keys may be used for different parties, or the same common key may be used.
一般に、共通鍵方式は公開鍵方式に比べて処理が軽く高速通信に向いている。ただし、暗号鍵を共有するためには例えば送信側から受信側へ暗号鍵を知らせる必要がある。そして、両者が暗号鍵を秘密管理する必要がある。不特定の相手とデータを送受するには公開鍵方式を用いるのが通常であるが、特定の相手とデータを送受する場合はいまでも共通鍵方式を採用することが多い。特定の相手とは、例えば同一企業の拠点間通信であったり、1以上の店舗の売り上げを管理するPOSシステムにおける店舗内あるいは店舗間の通信であったりする。 In general, the common key method is lighter in processing than the public key method and is suitable for high-speed communication. However, in order to share the encryption key, for example, it is necessary to notify the encryption key from the transmission side to the reception side. Both parties need to manage the encryption key secretly. The public key method is usually used to send and receive data to and from an unspecified partner, but the common key method is still often used when data is sent to and received from a specified partner. The specific partner is, for example, communication between bases of the same company, or communication within a store or between stores in a POS system that manages sales of one or more stores.
共通鍵の秘密管理をより確実にするために、複数の暗号鍵容易しておき、暗号化処理に用いる暗号鍵を切換える手法が提案されている(例えば、特許文献1参照)。 In order to secure the secret management of the common key, a method has been proposed in which a plurality of encryption keys are facilitated and the encryption keys used for the encryption process are switched (for example, see Patent Document 1).
特許文献1によれば、キーデータ(暗号鍵)を複数用意しておき、送信側および受信側のメモリに複数のキーデータからなるデータテーブルを記憶させておく。更に、通信開始時に送信側および受信側の一方は、暗号化処理に用いるキーデータを決定し、該キーデータがデータテーブルの何処にあるのかを示す位置データ(インデックス)を他方へ送信する。位置データを受信した他方は、受信した位置データを用いてデータテーブルからキーデータを選択する。その後、一連の通信が終了するまで、送信側および受信側の双方は、同じキーデータを用いた暗号化処理を行なう。 According to Patent Document 1, a plurality of key data (encryption keys) are prepared, and a data table including a plurality of key data is stored in memories on the transmission side and the reception side. Further, at the start of communication, one of the transmission side and the reception side determines key data used for the encryption process, and transmits position data (index) indicating where the key data is in the data table to the other side. The other receiving the position data selects key data from the data table using the received position data. Thereafter, both the transmission side and the reception side perform encryption processing using the same key data until a series of communications is completed.
共通鍵方式は、第三者に知られることなく暗号鍵を知らせるために、暗号鍵は暗号化されたデータを通信する経路と別の経路または転送方法で相手側に転送する必要がある。また、一旦決めた暗号鍵を変更する場合は送信側と受信側で同期して変更する必要があり、変更は容易でない。
また、暗号キーを変更せずに長期間使い続けると暗号を解析される恐れがある。
In the common key method, in order to notify the encryption key without being known to a third party, the encryption key needs to be transferred to the other party by a route different from the route for communicating the encrypted data or a transfer method. Further, when changing the encryption key once determined, it is necessary to change it synchronously on the transmission side and the reception side, and the change is not easy.
Also, if the encryption key is used for a long time without changing the encryption key, the encryption may be analyzed.
特許文献1では、複数の暗号鍵が登録されたデータテーブルを参照するための位置データをやりとりすることで、暗号鍵自体はやりとりしないようにしている。しかし、一時に使用する暗号鍵は1つであるので、解読されやすい面がある。また、仮に暗号鍵が第三者に解読されたとすると、同じデータテーブルを用いた他の機器との通信も解読されてしまう。例えば、機器Aと機器Bの通信に使用する暗号鍵のデータテーブルと同じものが、機器Cと機器Dの通信にも使用されている場合、機器Aと機器Bの通信に用いる暗号鍵が解読されると、機器Cと機器Dの通信も解読されてしまう。 In Patent Document 1, the encryption key itself is not exchanged by exchanging position data for referring to a data table in which a plurality of encryption keys are registered. However, since only one encryption key is used at a time, it is easy to decrypt. Further, if the encryption key is decrypted by a third party, communication with other devices using the same data table is also decrypted. For example, when the same encryption key data table used for communication between device A and device B is also used for communication between device C and device D, the encryption key used for communication between device A and device B is decrypted. Then, the communication between the device C and the device D is also decrypted.
この発明は、以上のような事情を考慮してなされたものであって、第三者に共通鍵を知られるリスクが低く、仮に知られたとしても局所的な被害に留めることのできる暗号化処理の手法を提供するものである。 The present invention has been made in consideration of the above circumstances, and has a low risk that a third party can know a common key. A processing method is provided.
この発明は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得することを特徴とする暗号処理装置を提供する。 The invention includes an encryption key storage unit that stores a plurality of common keys used for encryption processing as an encryption key table with an index, a self-unique key storage unit that pre-stores a device-specific encryption key as its own unique key, When receiving the unique key of the counterpart device, provide the external unique key storage unit that stores the received unique key and the unique key stored in the self-unique key storage unit to the counterpart device or the unique key from the counterpart device An encryption key sharing processing unit that receives the password and stores it in the external unique key storage unit, one or more common keys of the encryption key table stored in the encryption key storage unit, and the self-unique key storage unit or the external unique key storage An encryption unit that applies the unique key stored in the unit to the data to be transmitted and generates encrypted data, the index of the common key used for encryption, and the encryption A transmission unit for transmitting data to the counterpart device, a reception unit for receiving the common key index and encrypted data used for encryption in the counterpart device from the counterpart device, and the encryption key storage unit. A decryption key acquisition unit for acquiring one or more common keys of the stored encryption key table and a unique key stored in the self-unique key storage unit or the external unique key storage unit; and the acquired common key and unique key A decryption unit for decrypting encrypted data received by applying the encryption key, the decryption key obtaining unit obtains a common key by referring to the encryption key storage unit with the received index, and the external unique key A cryptographic processing apparatus is provided that acquires a unique key with reference to a storage unit or the self-unique key storage unit.
また、異なる観点からこの発明は、少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを受信側機器に提供する第1暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、送信側機器から固有キーを受領して外部固有キー格納部に格納する第2暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、前記自己固有キー格納部に格納され第1暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第2暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得することを特徴とする暗号処理システムを提供する。 Further, from a different point of view, the present invention includes at least a transmission-side device and a reception-side device, and the transmission-side device stores a plurality of common keys used for encryption processing as an encryption key table with an index. A self-unique key storage unit that pre-stores an encryption key unique to the device as its own unique key, and a first encryption key sharing processing unit that provides the reception-side device with the unique key stored in the self-unique key storage unit An encryption unit that applies one or more common keys of the encryption key table stored in the encryption key storage unit and its own unique key to data to be transmitted to generate encrypted data; and A transmission unit that transmits the index of the used common key and the encrypted data to the receiving device, and the receiving device stores a second encryption key table that stores the same encryption key table as the transmitting device. When receiving the unique key of the key storage unit and the transmission side device, the external unique key storage unit for storing the received unique key, and the second receiving the unique key from the transmission side device and storing it in the external unique key storage unit An encryption key sharing processing unit, a receiving unit that receives the index and encrypted data of the common key used for encryption in the transmission side device from the transmission side device, and an encryption key table stored in the encryption key storage unit A decryption key acquisition unit that acquires one or more common keys and a unique key of a transmission-side device; and a decryption unit that decrypts encrypted data received by applying the acquired common key and unique key, The encryption unit applies the unique key stored in the self-unique key storage unit and provided to the receiving side device by the first encryption key sharing processing unit, and the decryption key acquisition unit uses the received index as the index. Encryption key storage It gets the common key with reference to the stored encryption key table, to provide a cryptographic processing system, wherein a second encryption key sharing process section acquires the unique key stored in the external unique key storage unit.
またこの発明は、少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、受信側機器から固有キーを受領して外部固有キー格納部に格納する第1暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを送信側機器に提供する第2暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、第1暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第2暗号キー共有処理部が送信側機器に提供した固有キーを取得することを特徴とする暗号処理システムを提供する。 Further, the present invention includes at least a transmission-side device and a reception-side device, and the transmission-side device includes a first encryption key storage unit that stores a plurality of common keys used for encryption processing as an encryption key table with an index, and a reception side An external unique key storage unit that stores the received unique key when receiving the unique key of the device, a first encryption key sharing processing unit that receives the unique key from the receiving device and stores it in the external unique key storage unit; An encryption unit that encrypts one or more common keys of the encryption key table stored in the encryption key storage unit and a unique key of the receiving device by applying to the data to be transmitted, and generates encrypted data; A transmission unit that transmits the index of the common key used for the encrypted data and the encrypted data to the receiving device, and the receiving device stores a second encryption key table that stores the same encryption key table as the transmitting device. A key storage unit, a self-unique key storage unit that pre-stores an encryption key unique to the device as its own unique key, and a second encryption key share that provides the transmission-side device with the unique key stored in the self-unique key storage unit A processing unit; a receiving unit that receives the common key index and the encrypted data used for encryption in the transmitting device from the transmitting device; and one or more encryption key tables stored in the encryption key storage unit A decryption key acquisition unit that acquires a common key and its own unique key; and a decryption unit that decrypts encrypted data received by applying the acquired common key and unique key, and the encryption unit includes: The first encryption key sharing processing unit applies the unique key stored in the external unique key storage unit to the encryption, and the decryption key acquisition unit uses the received index to store the encryption key table stored in the encryption key storage unit. See and share Get the key, the self-unique key stored second encryption key sharing process section stored in the unit to provide a cryptographic processing system and acquires the unique key provided to the sender device.
この発明の暗号処理装置において、暗号化部は、第1暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第2暗号キー共有処理部が送信側機器に提供した固有キーを取得するので、共通鍵自身を相手側機器に送ることがなく、しかもインデックスを変えると暗号化および復号化に用いる共通鍵を変えることができる。よって、第三者に通信の内容を知られるリスクが低い。相手側機器は、暗号データの送信前にまたは暗号化データの送信と共に送信されるインデックスを用いて暗号キーテーブルを参照し復号化することができる。さらに、共通鍵だけでなく固有キーを用いて暗号化しているので、万一、第三者に暗号キーテーブルが知られたとしても他の固有キーを用いた通信の秘密は守られ、局所的な被害に留めることができる。
この発明の暗号処理システムも同様の効果を奏する。
In the encryption processing device of the present invention, the encryption unit applies the unique key stored in the external unique key storage unit by the first encryption key sharing processing unit to the encryption, and the decryption key acquisition unit uses the received index to Since the common key is obtained by referring to the encryption key table stored in the key storage unit, the unique key stored in the self-unique key storage unit and provided to the transmission side device by the second encryption key sharing processing unit is acquired. The common key itself is not sent to the counterpart device, and the common key used for encryption and decryption can be changed by changing the index. Therefore, there is a low risk that the contents of communication will be known to a third party. The counterpart device can decrypt the data by referring to the encryption key table using the index transmitted before transmission of the encrypted data or together with the transmission of the encrypted data. Furthermore, since encryption is performed using not only the common key but also the unique key, even if the encryption key table is known to a third party, the secret of communication using other unique keys is protected and is locally Can be kept to a great deal of damage.
The cryptographic processing system of the present invention also has the same effect.
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
≪暗号処理装置の構成≫
Hereinafter, the present invention will be described in more detail with reference to the drawings. In addition, the following description is an illustration in all the points, Comprising: It should not be interpreted as limiting this invention.
<Configuration of cryptographic processing device>
図1は、この発明の暗号処理装置の構成例を示すブロック図である。暗号処理装置は、例えば、携帯通信端末や無線通信のアクセスポイント等の情報機器に搭載される。前記携帯通信端末は、一般の消費者が使用するスマートフォン、タブレット端末あるいはパーソナルコンピュータ等の情報処理機器でもよいが、業務用のPOSシステムに用いられる専用端末であってもよい。あるいは、汎用のスマートフォン、タブレット端末あるいはパーソナルコンピュータに特定用途向けのアプリケーションを実装したものでもよい。 FIG. 1 is a block diagram showing a configuration example of a cryptographic processing apparatus according to the present invention. The cryptographic processing device is mounted on an information device such as a mobile communication terminal or a wireless communication access point, for example. The mobile communication terminal may be an information processing device such as a smartphone, a tablet terminal, or a personal computer used by a general consumer, but may also be a dedicated terminal used for a business POS system. Alternatively, a general-purpose smartphone, tablet terminal, or personal computer in which an application for a specific purpose is mounted may be used.
図1に示すように、この発明の暗号処理装置11は、中央処理部100、主記憶部200、暗号キー格納部300、指示受領部500、通信部600、外部固有キー格納部700およびプログラム格納部800を備える。なお、図1の各ブロックのカッコ内の数字はそのブロックの符号を示す。 As shown in FIG. 1, the cryptographic processing apparatus 11 according to the present invention includes a central processing unit 100, a main storage unit 200, an encryption key storage unit 300, an instruction receiving unit 500, a communication unit 600, an external unique key storage unit 700, and a program storage. Part 800. The numbers in parentheses for each block in FIG. 1 indicate the code of that block.
中央処理部100は、暗号化、復号化および通信に係る処理を実行するコンピュータである。また例えばこの暗号処理装置がPOS端末に搭載される場合、中央処理部100は、暗号処理装置としての処理だけでなくPOS端末として他の処理を実行するものであってもよい。 The central processing unit 100 is a computer that executes processes related to encryption, decryption, and communication. Further, for example, when this cryptographic processing device is mounted on a POS terminal, the central processing unit 100 may execute not only the processing as the cryptographic processing device but also other processing as the POS terminal.
主記憶200は、中央処理部100が実行する制御プログラムや暗号化処理に用いるデータを記憶する記憶装置である。ハードウェアとしては、DDR3SDRAMをはじめとする各種RAMが適用可能である。暗号化処理に用いるデータとしては、第三者にもわかる暗号化前および復号化後の平文データやその平文データを暗号化した暗号データ、暗号化および復号化に用いる暗号キーのデータテーブルを参照するインデックスや機器固有の暗号キーである固有キーなどがある。ただし、暗号キーのデータテーブルである暗号キーテーブル310を格納する暗号キー格納部300、自己に固有の暗号キーを格納する自己固有キー格納部400および相手側機器の固有キーを受領したときに格納する外部固有キー格納部700は、主記憶部200と別に用意されている。なお、平文データの内容は文であってもよいがこれに限定されず数値、画像、音声等、通信可能なあらゆるデータを含む。
主記憶部200は、図1に示すように以下の記憶領域を有している。
The main memory 200 is a storage device that stores a control program executed by the central processing unit 100 and data used for encryption processing. As the hardware, various RAMs such as DDR3 SDRAM can be applied. For data used for encryption processing, refer to plain text data before and after decryption that can be understood by third parties, encrypted data obtained by encrypting the plain text data, and a data table of encryption keys used for encryption and decryption. Such as an index to be performed and a unique key which is a device-specific encryption key. However, the encryption key storage unit 300 that stores the encryption key table 310 that is the data table of the encryption key, the self-unique key storage unit 400 that stores the unique encryption key, and the unique key of the counterpart device are received. The external unique key storage unit 700 is prepared separately from the main storage unit 200. The content of the plaintext data may be a sentence, but is not limited to this, and includes all communicable data such as numerical values, images, and sounds.
The main storage unit 200 has the following storage areas as shown in FIG.
制御プログラム記憶部210は、プログラム格納部800から転送され中央処理装置100が実行する制御プログラムを格納する(図1に制御プログラム記憶部210として示す)。その制御プログラムは、例えば送信すべき平文データが格納された記憶領域(図1に送信平文記憶部220として示す)内の平文データを暗号化して暗号データを出力する暗号化部120の処理に係るプログラムである。なお、暗号化した平文データを格納する記憶領域を送信暗号文記憶部230として示している。さらに、制御プログラム記憶部210は、前記暗号データを送信相手に送信する送信部610の制御、暗号キーテーブル310を通信の相手側機器と共有する暗号キー共有処理部110としての機能、暗号データを受信する受信部620の制御、受信した暗号データの復号化用暗号キーを取得する復号鍵取得部130としての機能、取得した暗号キーを用いて暗号データを復号化する復号化部140としての機能に係る制御プログラムを格納する。なお、相手側機器から受信した暗号データを格納する記憶領域を受信暗号文記憶部250とし、その暗号データを復号化した平文データを格納する記憶領域を受信平文記憶部240として示している。
また、送信暗号キーインデックス記憶部260は、送信すべき平文データの暗号処理に使われる暗号キーテーブルの複数のインデックスを記憶している。
受信暗号キーインデックス記憶部270は、受信データの暗号処理に使われる暗号キーテーブルのインデックスを複数記憶している。
The control program storage unit 210 stores a control program transferred from the program storage unit 800 and executed by the central processing unit 100 (shown as the control program storage unit 210 in FIG. 1). The control program relates to the processing of the encryption unit 120 that encrypts plaintext data in a storage area (shown as a transmission plaintext storage unit 220 in FIG. 1) in which plaintext data to be transmitted is stored and outputs encrypted data, for example. It is a program. A storage area for storing encrypted plaintext data is shown as a transmission ciphertext storage unit 230. Further, the control program storage unit 210 controls the transmission unit 610 that transmits the encrypted data to the transmission partner, functions as the encryption key sharing processing unit 110 that shares the encryption key table 310 with the communication partner device, and the encrypted data. Control of receiving unit 620 to receive, function as decryption key acquisition unit 130 for acquiring encryption key for decryption of received encrypted data, function as decryption unit 140 for decrypting encrypted data using acquired encryption key The control program concerning is stored. A storage area for storing encrypted data received from the counterpart device is shown as a received ciphertext storage section 250, and a storage area for storing plaintext data obtained by decrypting the encrypted data is shown as a received plaintext storage section 240.
The transmission encryption key index storage unit 260 stores a plurality of indexes of an encryption key table used for encryption processing of plain text data to be transmitted.
The reception encryption key index storage unit 270 stores a plurality of encryption key table indexes used for encryption processing of received data.
続いて、暗号キー格納部300について説明する。暗号キー格納部300は、暗号キーテーブル310を格納する。ハードウェアとしては、例えばEEPROM、フラッシュROMなどの不揮発性メモリやハードディスク装置が適用可能である。図1で、暗号キーテーブルは、m個の暗号キー(mは2以上の自然数)がそれぞれ参照用に固有のインデックスを付されてなるデータテーブルである。暗号処理装置11は、すべての相手側機器に対して一つの暗号キーテーブル310を用いて通信する。mが大きいほど適用される暗号キーのバリエーションが多いのでセキュリティーの面で好まし反面、暗号キーテーブル310の容量が大きくなる。異なる相手側機器に対して使用する暗号キーを異ならせることが極めて好ましい。 Next, the encryption key storage unit 300 will be described. The encryption key storage unit 300 stores an encryption key table 310. As the hardware, for example, a nonvolatile memory such as an EEPROM or a flash ROM or a hard disk device can be applied. In FIG. 1, the encryption key table is a data table in which m encryption keys (m is a natural number of 2 or more) are each given a unique index for reference. The cryptographic processing device 11 communicates with all counterpart devices using one cryptographic key table 310. The larger the m, the more variations of the encryption key to be applied. This is preferable in terms of security, but the capacity of the encryption key table 310 increases. It is highly preferable to use different encryption keys for different counterpart devices.
自己固有キー格納部400は、機器固有の暗号キーである固有キーを格納する。即ち、暗号処理装置11に固有の暗号キーである。例えば工場で生産されるときに、それぞれの機器で異なる固有キーがそれぞれの暗号処理装置11の自己固有キー格納部400に書き込まれる。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線によるデータ転送を行う。あるいは、無線通信を使わず、有線やメモリカードでデータ転送を行う。
自己固有キー格納部400のハードウェアとしては、例えばEEPROM、フラッシュROMなどの不揮発性メモリやハードディスク装置が適用可能である。
The self-unique key storage unit 400 stores a unique key that is a device-specific encryption key. That is, the encryption key is unique to the encryption processing device 11. For example, when it is produced in a factory, a unique key that is different for each device is written in the self-unique key storage unit 400 of each encryption processing device 11. For the writing, for example, wireless data transfer is performed in an electromagnetically shielded room so that a third party cannot intercept. Alternatively, data transfer is performed using a wired or memory card without using wireless communication.
As the hardware of the self-unique key storage unit 400, for example, a nonvolatile memory such as an EEPROM or a flash ROM or a hard disk device can be applied.
指示受領部500は、操作者や外部の機器が暗号処理装置11に与える指示送信指示や暗号キー共有の指示などを受付ける。具体例としては、ユーザからの操作を受付けるタッチパネルやキーなどであってもよい。また、例えばこの暗号処理装置がPOS端末に搭載される場合、暗号処理に関する指示を受付けるだけでなくPOS端末としての入力を受付けてもよい。また、指示受領部500は、外部の機器と通信して暗号キー共有の指示などの指示を受付けるものであってもよい。 The instruction receiving unit 500 receives an instruction transmission instruction, an encryption key sharing instruction, and the like given to the cryptographic processing apparatus 11 by an operator or an external device. As a specific example, it may be a touch panel or a key that accepts an operation from the user. For example, when this cryptographic processing apparatus is mounted on a POS terminal, not only an instruction regarding cryptographic processing but also an input as a POS terminal may be accepted. In addition, the instruction receiving unit 500 may receive an instruction such as an instruction to share an encryption key by communicating with an external device.
通信部600は、外部の機器と通信する回路である。通信の形態は無線、有線、公衆、専用線を問わない。通信部は、送信部610と受信部620を含む。なお、通信の相手側機器は、図1と同じ構成、仕様の通信部を有するものとする。 The communication unit 600 is a circuit that communicates with an external device. The form of communication may be wireless, wired, public, or leased line. The communication unit includes a transmission unit 610 and a reception unit 620. It is assumed that the communication counterpart device has a communication unit having the same configuration and specifications as in FIG.
外部固有キー格納部700は、相手側機器から受領した固有キーを格納する。複数の相手側機器から固有キーを受領することがあるので、外部固有キー格納部700は複数の固有キーを格納し得る。
外部固有キーは、例えば工場で1セットの通信端末等として生産されるときに、異なる機器の固有キーがそれぞれの外部固有キー格納部700に書き込まれる。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線によるデータ転送を行う。あるいは、無線通信を使わず、有線やメモリカードでデータ転送を行う。また、工場出荷後に、ユーザあるいはサービスエンジニアが、有線やメモリカードでデータ転送を行ってもよい。
外部固有キー格納部700のハードウェアとしては、例えばEEPROM、フラッシュROMなどの不揮発性メモリやハードディスク装置が適用可能である。
The external unique key storage unit 700 stores the unique key received from the counterpart device. Since unique keys may be received from a plurality of counterpart devices, the external unique key storage unit 700 can store a plurality of unique keys.
For example, when the external unique key is produced as a set of communication terminals or the like in a factory, unique keys of different devices are written in the respective external unique key storage units 700. For the writing, for example, wireless data transfer is performed in an electromagnetically shielded room so that a third party cannot intercept. Alternatively, data transfer is performed using a wired or memory card without using wireless communication. In addition, after shipment from the factory, a user or a service engineer may perform data transfer using a wired or memory card.
As the hardware of the external unique key storage unit 700, for example, a nonvolatile memory such as an EEPROM or a flash ROM or a hard disk device can be applied.
プログラム格納部800は、中央処理部100実行すべき制御プログラムを予め格納する。この実施形態では、電源投入後の初期化処理でプログラム格納部800に格納された制御プログラムの全部または一部は、より高速アクセス可能な制御プログラム記憶部210に転送され、中央処理部100により実行される。ハードウェアとしては、例えばROM、フラッシュROMやハードディスク装置などが適用可能である。 The program storage unit 800 stores a control program to be executed by the central processing unit 100 in advance. In this embodiment, all or part of the control program stored in the program storage unit 800 in the initialization process after power-on is transferred to the control program storage unit 210 that can be accessed at a higher speed and executed by the central processing unit 100. Is done. As the hardware, for example, a ROM, a flash ROM, a hard disk device, and the like are applicable.
(実施の形態1) (Embodiment 1)
この実施形態では、3つの共通鍵を用いて暗号化および復号化を行う3DES(Data Encryption Standard)暗号化方式を例に、この発明の暗号処理装置、暗号処理システムによる暗号化通信の手順を説明する。 In this embodiment, an example of a 3DES (Data Encryption Standard) encryption method in which encryption and decryption are performed using three common keys will be described as an example, and a procedure of encrypted communication by the encryption processing apparatus and encryption processing system of the present invention will be described. To do.
3DESは、その元になったDESの処理を3回繰り返すことにより暗号強度を高めた方式であって、それぞれの回で異なる鍵を使用することもあるが、2つの異なる鍵を使用することもある。暗号化のサブプロセスとして暗号化→復号化→暗号化の処理を行い、復号化はそれと逆の復号化→暗号化→復号化のサブプロセスを実行する。 3DES is a scheme in which the encryption strength is increased by repeating the process of the original DES three times. A different key may be used each time, but two different keys may be used. is there. As an encryption sub-process, encryption → decryption → encryption processing is performed, and decryption executes the reverse decryption → encryption → decryption sub-process.
図2は、この実施形態における暗号化通信の構成を示す説明図である。図2に示すように、送信側の暗号処理装置11Tは、図1の構成を有する暗号化処理装置であり、受信側の暗号処理装置11Rも図1の構成を有する暗号化処理装置である。即ち、図1の構成を有する2台の暗号化処理装置の間で暗号化通信が行われる。これは、この発明の暗号化処理システムに対応している。 FIG. 2 is an explanatory diagram showing the configuration of the encrypted communication in this embodiment. As shown in FIG. 2, the encryption processing device 11T on the transmission side is an encryption processing device having the configuration of FIG. 1, and the encryption processing device 11R on the reception side is also an encryption processing device having the configuration of FIG. That is, encrypted communication is performed between two encryption processing apparatuses having the configuration of FIG. This corresponds to the encryption processing system of the present invention.
図3は、この実施形態において送信側の暗号処理装置11Tが平文データを送信するときの状態を示す説明図である。図3に示す各ブロックの符号は図1に対応する番号の後に送信側機器であることを示す添え字のTを付したものである。主記憶部200Tの送信平文記憶部220Tには、送信すべき平文データの一例として、文字列“I want you, I need you, I love you”が格納されている。さらに、送信暗号キーインデックス記憶部260Tに1〜kのk個の数値が格納されている。また、暗号キー格納部300Tには、m個の暗号キーを有する暗号キーテーブル310Tが格納されている。さらに、自己固有キー格納部400Tには、自己の固有キーが予め格納されている。なお、外部固有キー格納部700Tは、受信側の暗号処理装置11Rの固有キーを受領している場合にその固有キーを格納している。
例えば1セットの暗号処理装置11が生産されるときに、異なる機器の固有キーがそれぞれの外部固有キー格納部700に書き込まれたり、事後的にユーザやサービスエンジニアが外部の機器の固有キーを外部固有キー格納部700に書き込んだりする。書込みは、例えば、第三者が傍受できないように電磁シールドされた部屋で無線通信により行われ、あるいは、有線やメモリカードで行われる。
FIG. 3 is an explanatory diagram showing a state when the transmitting-side cryptographic processing device 11T transmits plaintext data in this embodiment. The code | symbol of each block shown in FIG. 3 attaches the subscript T which shows that it is a transmission side apparatus after the number corresponding to FIG. The transmission plaintext storage unit 220T of the main storage unit 200T stores character strings “I want you, I need you, I love you” as an example of plaintext data to be transmitted. Furthermore, k numerical values from 1 to k are stored in the transmission encryption key index storage unit 260T. The encryption key storage unit 300T stores an encryption key table 310T having m encryption keys. Further, the self-unique key storage unit 400T stores its own unique key in advance. The external unique key storage unit 700T stores the unique key when the unique key of the receiving side cryptographic processing apparatus 11R is received.
For example, when a set of cryptographic processing apparatuses 11 is produced, unique keys of different devices are written in the respective external unique key storage units 700, or after that, a user or service engineer externally identifies a unique key of an external device. Write to the unique key storage unit 700. The writing is performed, for example, by wireless communication in a room that is electromagnetically shielded so that a third party cannot intercept it, or by a wired or memory card.
図4は、この実施形態において送信側が3DESの暗号化処理を行う過程を示す説明図である。前述のように、3DESは暗号化のサブプロセスとして暗号化→復号化→暗号化の3回の処理を行うところ、図4(a)、(b)、(c)はそれぞれ、1回目、2回目、3回目の処理の後に送信暗号文記憶部230Tに格納されるデータの一例を示している。 FIG. 4 is an explanatory diagram showing a process in which the transmission side performs 3DES encryption processing in this embodiment. As described above, 3DES performs three processes of encryption → decryption → encryption as an encryption sub-process. FIGS. 4A, 4B, and 4C are the first and second processes, respectively. An example of data stored in the transmission ciphertext storage unit 230T after the third and third processing is shown.
1回目の処理で、送信側の暗号処理装置11Tの送信暗号キーインデックス記憶部260Tの1番目のインデックスが「11」である(図3参照)。よって、送信平文記憶部220Tに格納された平文データが暗号キーテーブル310Tの11番目の暗号キーで暗号化され、送信暗号文記憶部230Tに格納される。 In the first process, the first index of the transmission encryption key index storage unit 260T of the encryption processing apparatus 11T on the transmission side is “11” (see FIG. 3). Therefore, the plaintext data stored in the transmission plaintext storage unit 220T is encrypted with the eleventh encryption key of the encryption key table 310T and stored in the transmission ciphertext storage unit 230T.
2回目の処理で、送信暗号文記憶部230Tの内容が、さらに自己固有キー格納部400Tに格納された固有キーで復号化されて、再び送信暗号文記憶部230Tに格納される。 In the second process, the content of the transmission ciphertext storage unit 230T is further decrypted with the unique key stored in the self-unique key storage unit 400T and stored again in the transmission ciphertext storage unit 230T.
3回目の処理で、送信暗号キーインデックス記憶部260Tの2番目のインデックスが「21」である(図3参照)。よって、送信暗号文記憶部230Tに格納された暗号データが暗号キーテーブル310Tの21番目の暗号キーで暗号化され、再び送信暗号文記憶部230Tに格納される。 In the third process, the second index of the transmission encryption key index storage unit 260T is “21” (see FIG. 3). Therefore, the encrypted data stored in the transmission ciphertext storage unit 230T is encrypted with the 21st encryption key of the encryption key table 310T and stored again in the transmission ciphertext storage unit 230T.
図5は、この実施形態において暗号データを通信する前に、受信側の暗号処理装置11Rが送信側の暗号処理装置11Tから受信して受信暗号キーインデックス記憶部270Rに格納される暗号キーインデックスの一例を示す説明図である。この受信によって、送信側の暗号処理装置11Tの送信暗号キーインデックス記憶部260Tに格納される暗号キーインデックスと受信暗号キーインデックス記憶部270Rに格納される暗号キーインデックスが一致する。 FIG. 5 shows the encryption key index stored in the reception encryption key index storage unit 270R received by the reception side encryption processing device 11R from the transmission side encryption processing device 11T before the encryption data is communicated in this embodiment. It is explanatory drawing which shows an example. By this reception, the encryption key index stored in the transmission encryption key index storage unit 260T of the encryption processor 11T on the transmission side matches the encryption key index stored in the reception encryption key index storage unit 270R.
図6は、この実施形態において受信側が3DESの復号化処理を行う過程を示す説明図である。前述のように、復号化のサブプロセスは暗号化の逆で、復号化→暗号化→復号化の3回の処理を行う。図6(a)、(b)はそれぞれ、1回目、2回目の処理の後に受信暗号文記憶部230Rに格納されるデータの一例を示している。図6(c)は、3回目の処理の後に受信平文記憶部240Rに格納されるデータの一例を示している。そして、これらのデータは、図4(c)、(b)、(a)のデータに対応している。 FIG. 6 is an explanatory diagram showing a process in which the receiving side performs the 3DES decoding process in this embodiment. As described above, the decryption sub-process is the reverse of encryption, and three processes of decryption → encryption → decryption are performed. FIGS. 6A and 6B show examples of data stored in the received ciphertext storage unit 230R after the first and second processing, respectively. FIG. 6C shows an example of data stored in the received plaintext storage unit 240R after the third processing. These data correspond to the data of FIGS. 4C, 4B, and 4A.
1回目の処理で、受信側の暗号処理装置11Rの受信暗号キーインデックス記憶部270Rの2番目のインデックスが「21」である(図5参照)。よって、受信暗号文記憶部250Rに格納された暗号データが暗号キーテーブル310Rの21番目の暗号キーで復号化され、受信暗号文記憶部250Rに再度格納される。 In the first process, the second index of the reception encryption key index storage unit 270R of the reception-side encryption processing device 11R is “21” (see FIG. 5). Therefore, the encrypted data stored in the received ciphertext storage unit 250R is decrypted with the 21st encryption key of the encryption key table 310R and stored again in the received ciphertext storage unit 250R.
2回目の処理で、受信暗号文記憶部250Rの内容が、さらに外部固有キー格納部700Rに格納された固有キーで暗号化されて、再び受信暗号文記憶部250Rに格納される。なお、外部固有キー格納部700Rには、前もって送信側の暗号処理装置11Tの固有キーが提供されて格納されているものとする。 In the second process, the contents of the received ciphertext storage unit 250R are further encrypted with the unique key stored in the external unique key storage unit 700R and stored again in the received ciphertext storage unit 250R. In the external unique key storage unit 700R, the unique key of the encryption processing apparatus 11T on the transmission side is provided and stored in advance.
3回目の処理で、受信暗号キーインデックス記憶部270Rの1番目のインデックスが「11」である(図5参照)。よって、受信暗号文記憶部250Rに格納された暗号データが暗号キーテーブル310Rの11番目の暗号キーで復号化され、受信平文記憶部240Rに格納される。
≪フローチャート≫
In the third process, the first index of the received encryption key index storage unit 270R is “11” (see FIG. 5). Therefore, the encrypted data stored in the received ciphertext storage unit 250R is decrypted with the eleventh encryption key of the encryption key table 310R and stored in the received plaintext storage unit 240R.
≪Flowchart≫
図7および図8は、この実施形態において中央処理部100が実行する処理の流れを示すフローチャートである。図7は、この実施形態において送信側の暗号処理装置11Tの中央処理部100Tが実行する処理を示している。図8は、この実施形態において受信側の暗号処理装置11Rの中央処理部100Rが実行する処理を示している。以下、フローチャートに沿って処理を説明する。 7 and 8 are flowcharts showing the flow of processing executed by the central processing unit 100 in this embodiment. FIG. 7 shows a process executed by the central processing unit 100T of the encryption processing apparatus 11T on the transmission side in this embodiment. FIG. 8 shows processing executed by the central processing unit 100R of the receiving side cryptographic processing apparatus 11R in this embodiment. Hereinafter, the processing will be described with reference to the flowchart.
図7で、送信側の中央処理部100Tは、マルチタスク環境下で実行される送信処理のタスクとして、指示受領部500が送信指示を受付けるのを待って(ステップS11)待機する(ステップS11のNoのループ)。 In FIG. 7, the transmission-side central processing unit 100T waits for the instruction receiving unit 500 to accept a transmission instruction (step S11) as a transmission processing task executed in a multitask environment (step S11). No loop).
送信指示を受付けたら(ステップS11のYes)、中央処理部100Tは、送信暗号キーインデックス記憶部260Tの内容を受信側へ送信する(ステップS13)。 When the transmission instruction is accepted (Yes in step S11), the central processing unit 100T transmits the contents of the transmission encryption key index storage unit 260T to the receiving side (step S13).
続いて中央処理部100Tは、1回目の暗号化のサブプロセスを実行する。即ち、送信暗号キーインデックス記憶部の1番目の内容が示す暗号キーテーブルの暗号キーで送信平文記憶部220Tの内容を暗号化して送信暗号文記憶部230Tに格納する(ステップS15、図4(a)に対応)。 Subsequently, the central processing unit 100T executes a first encryption sub-process. That is, the content of the transmission plaintext storage unit 220T is encrypted with the encryption key of the encryption key table indicated by the first content of the transmission encryption key index storage unit and stored in the transmission ciphertext storage unit 230T (step S15, FIG. )).
さらに、2回目の暗号化のサブプロセスを実行する。即ち、自己固有キー格納部400に格納された自己の固有キーで送信暗号文記憶部230Tの内容を復号化し、再び送信暗号文記憶部230Tに格納する(ステップS17、図4(b)に対応)。 Further, a second encryption sub-process is executed. That is, the content of the transmission ciphertext storage unit 230T is decrypted with the own unique key stored in the self-unique key storage unit 400 and stored again in the transmission ciphertext storage unit 230T (step S17, corresponding to FIG. 4B). ).
最後に、3回目の暗号化のサブプロセスを実行する。即ち、送信暗号キーインデックス記憶部260Tの2番目の内容が示す暗号キーテーブルの暗号キーで送信暗号文記憶部230Tの内容を暗号化して再び送信暗号文記憶部230Tに格納する(ステップS19)。
そして、受信側の暗号処理装置11Rへ送信暗号文記憶部230Tの暗号データを送信する(ステップS21)。
その後、ルーチンはステップS11へ戻り、次の送信の指示を待つ。以上が、送信側の中央処理部100Tの処理である。
続いて、受信側の中央処理部100Rが実行する処理を説明する。
Finally, the third encryption sub-process is executed. That is, the content of the transmission ciphertext storage unit 230T is encrypted with the encryption key of the encryption key table indicated by the second content of the transmission cipher key index storage unit 260T and stored again in the transmission ciphertext storage unit 230T (step S19).
Then, the encrypted data in the transmission ciphertext storage unit 230T is transmitted to the encryption processing device 11R on the receiving side (step S21).
Thereafter, the routine returns to step S11 and waits for the next transmission instruction. The above is the processing of the central processing unit 100T on the transmission side.
Next, processing executed by the central processing unit 100R on the receiving side will be described.
図8で、受信側の中央処理部100Rは、マルチタスク環境下で実行される送信処理のタスクとして、送信側の暗号処理装置11Tから暗号キーインデックスが送られてくるのを待って(ステップS31)待機する(ステップS31のNoのループ)。 In FIG. 8, the receiving-side central processing unit 100R waits for an encryption key index to be sent from the transmitting-side cryptographic processing device 11T as a transmission processing task executed in a multitasking environment (step S31). ) Wait (No loop in step S31).
暗号キーインデックスを受信したら(ステップS31のYes)、中央処理部100Rは、受信した暗号キーインデックスを受信暗号キーインデックス記憶部270Rに格納する。
その後、中央処理部100Rは、送信側から暗号データが送られてくるのを待って(ステップS35)待機する(ステップS35のNoのループ)。
暗号データを受信したら、受信した暗号データを受信暗号文記憶部250Rに格納する(ステップS37、図6(a)に対応)。
When the encryption key index is received (Yes in step S31), the central processing unit 100R stores the received encryption key index in the reception encryption key index storage unit 270R.
Thereafter, the central processing unit 100R waits for encryption data to be sent from the transmission side (step S35) and waits (No loop in step S35).
When the encrypted data is received, the received encrypted data is stored in the received ciphertext storage unit 250R (step S37, corresponding to FIG. 6A).
続いて中央処理部100Tは、1回目の復号化のサブプロセスを実行する。即ち、受信暗号キーインデックス記憶部270Rの2番目の内容が示す暗号キーテーブルの暗号キーで受信暗号文記憶部250Rの内容を復号化して受信暗号文記憶部250Rに再び格納する(ステップS39、図6(b)に対応)。 Subsequently, the central processing unit 100T executes the first decoding sub-process. That is, the content of the received ciphertext storage unit 250R is decrypted with the encryption key of the encryption key table indicated by the second content of the received encryption key index storage unit 270R and stored again in the received ciphertext storage unit 250R (step S39, FIG. 6 (b)).
さらに、2回目の復号化のサブプロセスを実行する。即ち、外部固有キー格納部700に前もって格納された送信側の暗号処理装置11Tの固有キーで受信暗号文記憶部250Rの内容を暗号化し、再び受信暗号文記憶部250Rに格納する(ステップS41、図6(c)に対応)。 Further, a second decoding sub-process is executed. That is, the content of the received ciphertext storage unit 250R is encrypted with the unique key of the transmitting-side cryptographic processing device 11T stored in advance in the external unique key storage unit 700, and stored again in the received ciphertext storage unit 250R (step S41, Corresponding to FIG.
最後に、3回目の暗号化のサブプロセスを実行する。即ち、受信暗号キーインデックス記憶部270Rの1番目の内容が示す暗号キーテーブルの暗号キーで受信暗号文記憶部250Rの内容を暗号化して受信平文記憶部240Rに格納する(ステップS43、図6(d)に対応)。
その後、ルーチンはステップS31へ戻り、次の暗号キーインデックスの受信を待つ。以上が、受信側の中央処理部100Rの処理である。
Finally, the third encryption sub-process is executed. That is, the content of the received ciphertext storage unit 250R is encrypted with the encryption key of the encryption key table indicated by the first content of the received encryption key index storage unit 270R and stored in the received plaintext storage unit 240R (step S43, FIG. 6 ( d)).
Thereafter, the routine returns to step S31 and waits for reception of the next encryption key index. The above is the processing of the central processing unit 100R on the receiving side.
(実施の形態2) (Embodiment 2)
実施の形態1では、暗号化および復号化の第1回目のサブプロセスと第3回目のサブプロセスとで異なる暗号キー、即ちインデックスを用いたが、同じ暗号キーを用いてもよい。ただし、3DESの第1回目のサブプロセスと第2回目のサブプロセスは異なる暗号キーを用いる。
(実施の形態3)
In the first embodiment, different encryption keys, that is, indexes are used in the first and third sub-processes of encryption and decryption, but the same encryption key may be used. However, different encryption keys are used for the first sub-process and the second sub-process of 3DES.
(Embodiment 3)
実施の形態1では、暗号データと共に暗号キーインデックスを送信し、暗号キーインデックスを参照する毎に、何番目のインデックスを用いるかをインクリメントしている。例えば、送信暗号キーインデックス記憶部260Tの第1回目の参照の際は、第1番目に登録されているインデックス「11」を用い、第2回目の参照の際は、第2番目に登録されているインデックス「21」を用い、以下、順次参照先をシフトさせていく態様である。これに代えて、インデックスの「11」や「21」を暗号データと共に送信するようにしてもよい。そのようにしても、暗号キーをやりとりするのではないから通信の安全は確保される。
(実施の形態4)
In the first embodiment, the encryption key index is transmitted together with the encryption data, and every time the encryption key index is referred to, the index to be used is incremented. For example, when the first reference is made to the transmission encryption key index storage unit 260T, the first registered index “11” is used, and when the second reference is made, the second registration is performed. The index “21” is used, and the reference destination is sequentially shifted in the following. Instead of this, the indexes “11” and “21” may be transmitted together with the encrypted data. Even in such a case, since the encryption key is not exchanged, safety of communication is ensured.
(Embodiment 4)
実施の形態3では暗号データを送信する毎に異なるインデックスを送信する態様を考えているが、さらなる変形例として、時間の経過や通信回数あるいは通信量が予め定められた基準に達したらインデックスを変更する態様も考えられる。その場合、前回とインデックスの変更がなければ前回と同じインデックスを暗号データと共にまたは暗号データと前後して送信してもよいが、通信量が増えて無駄とも考えられる。そこで、インデックスを変更するまでは既に送信されたインデックスを用いて暗号化処理を行うようにしてもよい。これに対応して相手側は、既に受信したインデックスを用いて復号化処理を行う。初回の通信でインデックスを送信し、その後はインデックスを変更する時期がきたら、新たなインデックスを送信する態様である。
(実施の形態5)
Embodiment 3 considers a mode in which a different index is transmitted each time encrypted data is transmitted. However, as a further modification, the index is changed when the passage of time, the number of communication times, or the communication amount reaches a predetermined standard. It is also conceivable to perform this. In that case, if there is no change in the index with the previous time, the same index as the previous time may be transmitted together with the encrypted data or before and after the encrypted data. Therefore, encryption processing may be performed using the already transmitted index until the index is changed. In response to this, the other party performs a decoding process using the already received index. This is a mode in which an index is transmitted in the first communication, and then a new index is transmitted when it is time to change the index.
(Embodiment 5)
実施の形態1は、3DES暗号化方式を例としている。しかし、この発明は3DESに限定されるものでなく、暗号化、復号化に複数の共通鍵を用いる暗号化通信であれば適用可能である。この実施形態では、3DESと異なる暗号化方式の一例として、暗号キーテーブルの一部の暗号キーとしてn個の暗号キーを用い、さらに1つの固有キーを用いる態
様を説明する。
図9は、この実施形態において送信側の暗号処理装置が平文データを送信するときの状態を示す説明図である。
図10は、この実施形態において送信側が暗号化処理を行う過程を示す説明図である。
図11は、この実施形態において暗号データを通信する前の、受信側の受信暗号キーインデックス記憶部の一例を示す説明図である。
図12は、この実施形態において受信側が復号化処理を行う過程を示す説明図である。
以下、図9〜12を参照して、実施の形態1と同様と異なる点を中心に説明する。
図9は、実施の形態1に係る図3と対応するので自明であり説明は省略する。
Embodiment 1 uses a 3DES encryption method as an example. However, the present invention is not limited to 3DES, and can be applied to any encrypted communication that uses a plurality of common keys for encryption and decryption. In this embodiment, as an example of an encryption method different from 3DES, a mode in which n encryption keys are used as a part of the encryption key table and one unique key is used will be described.
FIG. 9 is an explanatory diagram showing a state when the encryption processing apparatus on the transmission side transmits plaintext data in this embodiment.
FIG. 10 is an explanatory diagram showing a process in which the transmitting side performs encryption processing in this embodiment.
FIG. 11 is an explanatory diagram showing an example of a reception encryption key index storage unit on the reception side before communicating encrypted data in this embodiment.
FIG. 12 is an explanatory diagram showing a process in which the receiving side performs a decoding process in this embodiment.
Hereinafter, with reference to FIGS. 9-12, it demonstrates centering on a different point from 1st Embodiment.
Since FIG. 9 corresponds to FIG. 3 according to the first embodiment, it is self-evident and description thereof is omitted.
図10は、実施の形態1に係る図4に対応するものである。図10(a)は暗号キーインデックスの1番目のインデックス「11」を用い、暗号キーテーブル310Tの11番目の暗号キーで暗号化することを示している。図10(b)は、暗号キーインデックスの2番目のインデックス「21」を用い、暗号キーテーブル310Tの21番目の暗号キーで暗号化することを示している。以下、n回目間まで同様の処理を繰り返す。図10(c)は、暗号キーインデックスのn番目のインデックス「3」を用い、暗号キーテーブル310Tの3番目の暗号キーで暗号化することを示している。図10(d)は、自己の固有キーを用いて暗号化することを示している。
図11は、実施の形態1に係る図5に対応するので自明であり説明は省略する。
FIG. 10 corresponds to FIG. 4 according to the first embodiment. FIG. 10A shows that encryption is performed with the 11th encryption key of the encryption key table 310T using the first index “11” of the encryption key index. FIG. 10B shows that encryption is performed with the 21st encryption key of the encryption key table 310T using the second index “21” of the encryption key index. Thereafter, the same processing is repeated up to the n-th interval. FIG. 10C shows that encryption is performed using the third encryption key of the encryption key table 310T using the nth index “3” of the encryption key index. FIG. 10D shows that encryption is performed using its own unique key.
Since FIG. 11 corresponds to FIG. 5 according to the first embodiment, it is self-explanatory and description thereof is omitted.
図12は、実施の形態1に係る図6に対応するものである。また、図10に示す暗号化処理と逆の復号化の処理を示す。図12(a)は、受信した暗号データを示している。図12(b)は、送信側の固有キーを用いて復号化することを示している。図12(c)は、暗号キーインデックスのn番目のインデックス「3」を取得し、暗号キーテーブル310Tの3番目の暗号キーで復号化することを示している。図12(d)は、暗号キーインデックスの2番目のインデックス「21」を取得し、暗号キーテーブル310Tの21番目の暗号キーで復号化することを示している。図12(e)は、暗号キーインデックスの1番目のインデックス「11」を取得し、暗号キーテーブル310Tの11番目の暗号キーで復号化することを示している。 FIG. 12 corresponds to FIG. 6 according to the first embodiment. In addition, a decryption process opposite to the encryption process illustrated in FIG. 10 is illustrated. FIG. 12A shows the received encrypted data. FIG. 12B shows that decryption is performed using a unique key on the transmission side. FIG. 12C shows that the nth index “3” of the encryption key index is acquired and decrypted with the third encryption key of the encryption key table 310T. FIG. 12D shows that the second index “21” of the encryption key index is acquired and decrypted with the 21st encryption key of the encryption key table 310T. FIG. 12E shows that the first index “11” of the encryption key index is acquired and decrypted with the 11th encryption key in the encryption key table 310T.
図13は、この実施形態において送信側の中央処理部が実行する処理を示すフローチャートである。ステップS55は、図10(a)に対応し、ステップS57は図10(b)に対応し、ステップS61は、図10(c)に対応し、ステップS63は、図10(d)に対応する。 FIG. 13 is a flowchart showing processing executed by the central processing unit on the transmission side in this embodiment. Step S55 corresponds to FIG. 10A, step S57 corresponds to FIG. 10B, step S61 corresponds to FIG. 10C, and step S63 corresponds to FIG. .
図14は、この実施形態において受信側の中央処理部が実行する処理を示すフローチャートである。ステップS73は、図11に対応し、ステップS77、S79、S81、S91およびS93は、それぞれ図12(a)、(b)、(c)、(d)および(e)にそれぞれ対応する。
(その他の変形例)
FIG. 14 is a flowchart showing processing executed by the central processing unit on the receiving side in this embodiment. Step S73 corresponds to FIG. 11, and steps S77, S79, S81, S91, and S93 correspond to FIGS. 12 (a), (b), (c), (d), and (e), respectively.
(Other variations)
実施の形態5では、1〜n回目の暗号化は暗号キーテーブルの暗号キーを用いた後n+1回目に固有キーで暗号化する例を説明したが、固有キーは何番目に用いてもよい。(実施の形態6)
さらに、通信側と受信側が固有キーを互いに提供したうえで、両者の固有キーをいずれも用いる態様も考えられる。(実施の形態7)
In the fifth embodiment, the first to n-th encryption uses the encryption key in the encryption key table and then the n + 1th encryption is performed with the unique key. However, the unique key may be used in any order. (Embodiment 6)
Further, a mode is also conceivable in which both the unique key is provided after the communication side and the receiving side provide the unique key to each other. (Embodiment 7)
以上に述べたように、 As mentioned above,
(i)この発明による暗号処理装置は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得することを特徴とする。 (I) An encryption processing device according to the present invention stores in advance an encryption key storage unit that stores a plurality of common keys used for encryption processing as an indexed encryption key table, and an encryption key unique to the device as its own unique key. When the self-unique key storage unit and the unique key of the partner device are received, the external unique key storage unit that stores the received unique key and the unique key stored in the self-unique key storage unit are provided to the partner device. Alternatively, an encryption key sharing processing unit that receives a unique key from the counterpart device and stores it in the external unique key storage unit, and one or more common keys of the encryption key table stored in the encryption key storage unit and the self-unique key storage Or an encryption unit that generates encrypted data by applying the unique key stored in the external unique key storage unit to the data to be transmitted and the common key used for the encryption. A transmission unit that transmits the index and the encrypted data to the counterpart device, a reception unit that receives the index of the common key used for encryption in the counterpart device and the encrypted data from the counterpart device, and the encryption A decryption key acquisition unit that acquires one or more common keys of the encryption key table stored in the key storage unit and a unique key stored in the self-unique key storage unit or the external unique key storage unit, and the acquired common key A decryption unit that decrypts the encrypted data received by applying the key and the unique key, and the decryption key acquisition unit acquires the common key by referring to the encryption key storage unit with the received index, The unique key is obtained by referring to the external unique key storage unit or the self-unique key storage unit.
この発明において、相手側機器は、外部の機器である。相手側機器が自機器と同様の構成を有し同じ暗号キーテーブルを暗号キー格納部に格納していると考えれば、この発明の暗号処理の理解が容易になるであろう。 In the present invention, the counterpart device is an external device. If it is considered that the counterpart device has the same configuration as the own device and stores the same encryption key table in the encryption key storage unit, it will be easy to understand the encryption processing of the present invention.
また、暗号キーテーブルは、複数の共通鍵が登録されたデータテーブルであって、各共通鍵には、参照用にそのデータテーブル中の位置を示す固有のインデックスが付されている。インデックスを用いてデータテーブルを参照することによりそのインデックスが示す共通鍵が取得できる。 The encryption key table is a data table in which a plurality of common keys are registered, and each common key is given a unique index indicating a position in the data table for reference. By referring to the data table using the index, the common key indicated by the index can be acquired.
固有キーは、それぞれの機器に固有の暗号鍵である。よって、自己の固有キーと相手側機器の固有キーとは異なる。なお、この発明では暗号キーテーブルに登録された共通鍵と区別し易いように便宜上「固有キー」と読んでいるが、暗号処理上は固有キーも共通鍵として用いられている。 The unique key is an encryption key unique to each device. Therefore, the own unique key and the unique key of the counterpart device are different. In the present invention, the “unique key” is read for the sake of convenience so that it can be easily distinguished from the common key registered in the encryption key table. However, the unique key is also used as the common key for encryption processing.
この発明における暗号キー共有処理部は、前述の実施形態において中央処理部が予め定められた制御プログラムを実行することによりその機能が実現される。暗号キー共有処理部が、少なくとも自己の固有キーを相手側機器に提供するかまたは相手側機器の固有キーを受領して相手側機器と1つの固有キーを共有すれば、暗号化通信を行うことができる。また、相手側機器と固有キーを交換して2つの固有キーを共有してもよいが、その場合は送信側が自己の固有キーを用いて暗号化し受信側は送信側から受領した固有キーを用いて復号化するか、その逆にするかを予めルール決めしておく。 The function of the encryption key sharing processing unit according to the present invention is realized when the central processing unit executes a predetermined control program in the above-described embodiment. If the encryption key sharing processing unit provides at least its own unique key to the counterpart device or receives the unique key of the counterpart device and shares one unique key with the counterpart device, encrypted communication is performed. Can do. In addition, two unique keys may be shared by exchanging unique keys with the counterpart device. In that case, the sender uses the own unique key for encryption, and the recipient uses the unique key received from the sender. Whether to perform decryption or vice versa is determined in advance.
また、暗号化部、復号鍵取得部、復号化部は、前述の実施形態において中央処理部が予め定められた制御プログラムを実行することによりその機能が実現される。ただし、これらの機能がハードウェアで実現されてもよく、専用の処理部を用いて実現されてもよい。 The functions of the encryption unit, the decryption key acquisition unit, and the decryption unit are realized by the central processing unit executing a predetermined control program in the above-described embodiment. However, these functions may be realized by hardware or may be realized by using a dedicated processing unit.
さらに、この発明の好ましい態様について説明する。 Furthermore, the preferable aspect of this invention is demonstrated.
(ii)前記暗号化部は、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は前記自己固有キー格納部に格納された固有キーを適用し、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを適用し、前記復号鍵取得部は、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを取得し、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は自己固有キー格納部に格納された固有キーを取得してもよい。
このようにすれば、暗号化を行う送信側と復号化を行う受信側とが共通の固有キーを用いて暗号化通信を行うことができる。
(Ii) The encryption unit applies the unique key stored in the self-unique key storage unit when the encryption key sharing processing unit provides its own unique key to the counterpart device; When the unique key is received and stored in the external unique key storage unit, the received unique key is applied, and the decryption key acquisition unit receives the unique key of the counterpart device and stores the external unique key If the encryption key sharing processing unit provides its own unique key to the other device, the unique key stored in the own unique key storage unit is acquired. You may get it.
In this way, the transmission side that performs encryption and the reception side that performs decryption can perform encrypted communication using a common unique key.
(iii)前記暗号化部は、暗号キーテーブル内の一部かつ複数の共通鍵を暗号化に用い、暗号化に用いた共通鍵のインデックスを暗号化データの送信前にまたは暗号化データの送信と共に前記送信部に提供し、暗号化データを送信するにつれて暗号化に用いる共通鍵を変更してもよい。 (Iii) The encryption unit uses a part and a plurality of common keys in the encryption key table for encryption, and transmits an index of the common key used for encryption before transmission of encrypted data or transmission of encrypted data. At the same time, it may be provided to the transmission unit, and the common key used for encryption may be changed as encrypted data is transmitted.
このようにすれば、送信するにつれてインデックスを変更して共通鍵を変更することができるので、第三者に通信の内容が解読されるリスクをより軽減することができる。 In this way, since the common key can be changed by changing the index as it is transmitted, it is possible to further reduce the risk of the content of communication being decrypted by a third party.
ここで、通信するにつれて選択を変更する態様としては、時間の経過に伴ってインデックスを変更することや、通信量あるいは通信回数に伴ってインデックスを変更することが考えられる。ただし、これらの態様に限定するものではない。 Here, as an aspect of changing the selection as communication is performed, it is conceivable that the index is changed with the passage of time, or the index is changed with the communication amount or the number of times of communication. However, it is not limited to these aspects.
(iv)暗号キー共有の指示を受付ける指示受領部をさらに備え、前記暗号キー共有処理部は、受付けた指示に応答して前記自己固有キー格納部に格納された固有キーを相手側機器に提供してもよい。 (Iv) An instruction receiving unit that receives an instruction for sharing the encryption key is further provided, and the encryption key sharing processing unit provides the unique key stored in the self-unique key storage unit to the counterpart device in response to the received instruction. May be.
このようにすれば、指示受領部が受付けた指示に応答して自己の固有キーを相手側機器に提供し暗号化通信の暗号キーとして用いることができる。また、指示に応答して自己の固有キーを相手側機器に提供したことを記憶しておくことにより、以後の相手側機器との通信の際に、自己の固有キーを用いた暗号化または復号化が可能であると判断できる。
指示受領部は、ユーザからの操作を受付けるタッチパネルやキーなどであってもよく、相手側機器や外部の機器と通信して指示を受領するものであってもよい。
In this way, in response to the instruction received by the instruction receiving unit, its own unique key can be provided to the counterpart device and used as an encryption key for encrypted communication. In addition, by storing that the unique key is provided to the partner device in response to the instruction, encryption or decryption using the unique key is performed in subsequent communication with the partner device. Can be determined to be possible.
The instruction receiving unit may be a touch panel, a key, or the like that receives an operation from the user, or may receive an instruction by communicating with a counterpart device or an external device.
(v)前記暗号キー共有処理部は、前記指示受領部が受付けた指示または相手側機器からの要求に応答して前記暗号キー格納部に格納された暗号キーテーブルを相手側機器に提供し、相手側機器から固有キーを受領したが前記暗号キー格納部に暗号キーテーブルが格納されていないとき、相手側機器に暗号キーテーブルを要求してもよい。 (V) the encryption key sharing processing unit provides the counterpart device with the encryption key table stored in the encryption key storage unit in response to an instruction received by the instruction receiving unit or a request from the counterpart device; When the unique key is received from the counterpart device, but the encryption key table is not stored in the encryption key storage unit, the encryption key table may be requested from the counterpart device.
このようにすれば、相手側機器と固有キーを相手側機器と共有する際に、暗号キーテーブルを相手側機器に提供しあるいは相手側機器から暗号キーテーブルを受領して共有することができる。
この発明の好ましい態様には、上述した複数の態様のうちの何れかを組み合わせたものも含まれる。
In this way, when sharing the unique key with the counterpart device, the encryption key table can be provided to the counterpart device or received from the counterpart device and shared.
Preferred embodiments of the present invention include combinations of any of the plurality of embodiments described above.
また、この発明による暗号処理システムは、 Moreover, the cryptographic processing system according to the present invention provides:
(vi)少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを受信側機器に提供する第1暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、送信側機器から固有キーを受領して外部固有キー格納部に格納する第2暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、前記自己固有キー格納部に格納され第1暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第2暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得することを特徴とする。
異なる態様によれば、
(Vi) comprising at least a transmission-side device and a reception-side device, wherein the transmission-side device includes a first encryption key storage unit that stores a plurality of common keys used for encryption processing as an encryption key table with an index, and a device-specific A self-unique key storage unit that pre-stores the encryption key as a self-unique key; a first encryption key sharing processing unit that provides a unique key stored in the self-unique key storage unit to the receiving device; and the encryption key storage unit One or more common keys of the encryption key table stored in the key and its own unique key are applied to data to be transmitted and encrypted to generate encrypted data, and the common key used for encryption A transmission unit that transmits the index and the encrypted data to the reception-side device, wherein the reception-side device stores a second encryption key storage unit that stores the same encryption key table as the transmission-side device; When receiving the unique key, the external unique key storage unit for storing the received unique key, the second encryption key sharing processing unit for receiving the unique key from the transmission side device and storing it in the external unique key storage unit, and the transmission side A receiving unit that receives the common key index and encrypted data used for encryption in the device from the transmitting device; and at least one common key in the encryption key table stored in the encryption key storage unit and the transmitting device And a decryption key obtaining unit that obtains the unique key, and a decryption unit that decrypts the encrypted data received by applying the obtained common key and unique key. The unique key stored in the key storage unit and provided to the receiving device by the first encryption key sharing processing unit is applied to the encryption, and the decryption key acquisition unit stores the encryption stored in the encryption key storage unit with the received index. Key table To obtain a common key, and the second encryption key sharing processing unit obtains the unique key stored in the external unique key storage unit.
According to different aspects,
(vii)少なくとも送信側機器および受信側機器からなり、前記送信側機器は、暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、受信側機器から固有キーを受領して外部固有キー格納部に格納する第1暗号キー共有処理部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、前記受信側機器は、送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、自己固有キー格納部に格納された固有キーを送信側機器に提供する第2暗号キー共有処理部と、送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、前記暗号化部は、第1暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第2暗号キー共有処理部が送信側機器に提供した固有キーを取得することを特徴とする。
この発明の暗号処理システムに、上述した好ましい態様の何れかを組み合わせたものもこの発明の範囲に含まれる。
(Vii) comprising at least a transmission-side device and a reception-side device, wherein the transmission-side device includes a first encryption key storage unit that stores a plurality of common keys used for encryption processing as an encryption key table with an index; An external unique key storage unit for storing the received unique key when receiving the unique key; a first encryption key sharing processing unit for receiving the unique key from the receiving device and storing it in the external unique key storage unit; One or more common keys of the encryption key table stored in the key storage unit and the unique key of the receiving device are applied to the data to be transmitted and encrypted to generate encrypted data, and used for encryption A second encryption key storage for storing the same encryption key table as that of the transmission-side device, the transmission-side device including a transmission unit that transmits the index of the received common key and the encrypted data to the reception-side device A self-unique key storage unit that preliminarily stores an encryption key unique to the device as its own unique key, and a second encryption key sharing processing unit that provides the transmission-side device with the unique key stored in the self-unique key storage unit; A receiving unit that receives the index of the common key used for encryption in the transmission side device and the encrypted data from the transmission side device, and one or more common keys in an encryption key table stored in the encryption key storage unit, A decryption key obtaining unit that obtains its own unique key; and a decryption unit that decrypts encrypted data received by applying the obtained common key and unique key. The encryption key sharing processing unit applies the unique key stored in the external unique key storage unit to encryption, and the decryption key acquisition unit refers to the encryption key table stored in the encryption key storage unit with the received index. Get common key , And acquires the unique key the self inherent key storing second cipher key sharing process section stored in the unit has provided the transmitting device.
A combination of any of the above-described preferred embodiments with the cryptographic processing system of the present invention is also included in the scope of the present invention.
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。 In addition to the embodiments described above, there can be various modifications of the present invention. These modifications should not be construed as not belonging to the scope of the present invention. The present invention should include the meaning equivalent to the scope of the claims and all modifications within the scope.
11、11T、11R:暗号処理装置、 100、100T、100R:中央処理部、 110:暗号キー共有処理部、 120:暗号化部、 130:復号鍵取得部、 140:復号化部、 200:主記憶部、 210:制御プログラム記憶部、 220、220T:送信平文記憶部、 230、230T:送信暗号文記憶部、 240、240R:受信平文記憶部、 250、250R:受信暗号文記憶部、 260、260T:送信暗号キーインデックス記憶部、 270、270R:受信暗号キーインデックス記憶部、 300、300T:暗号キー格納部、 310、310T、310R:暗号キーテーブル、 400、400T:自己固有キー格納部、 500:指示受領部、 600:通信部、 610:送信部、 620:受信部、 700、700T、700R:外部固有キー格納部、 800:プログラム格納部 11, 11T, 11R: Cryptographic processing device, 100, 100T, 100R: Central processing unit, 110: Encryption key sharing processing unit, 120: Encryption unit, 130: Decryption key acquisition unit, 140: Decryption unit, 200: Main Storage unit 210: control program storage unit 220, 220T: transmission plaintext storage unit 230, 230T: transmission ciphertext storage unit 240, 240R: reception plaintext storage unit 250, 250R: reception ciphertext storage unit 260 260T: Transmission encryption key index storage unit, 270, 270R: Reception encryption key index storage unit, 300, 300T: Encryption key storage unit, 310, 310T, 310R: Encryption key table, 400, 400T: Self-unique key storage unit, 500 : Instruction receiving unit, 600: Communication unit, 610: Transmission 620: receiving unit, 700, 700T, 700R: external unique key storage unit, 800: program storage unit
Claims (7)
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
相手側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
自己固有キー格納部に格納された固有キーを相手側機器に提供しまたは相手側機器から固有キーを受領して外部固有キー格納部に格納する暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを相手側機器へ送信する送信部と、
相手側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを相手側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と前記自己固有キー格納部または前記外部固有キー格納部に格納された固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部を参照して共通鍵を取得し、前記外部固有キー格納部または前記自己固有キー格納部を参照して固有キーを取得し、
前記暗号化部は、2回目以降の暗号化データの生成に際して前回と同じ共通鍵かまたは前回と異なる共通鍵を用い、
前記送信部は、前回と異なる共通鍵が用いられた場合は暗号化に用いられた共通鍵のインデックスを生成された暗号化データと共に送信するが前回と同じ共通鍵が用いられた場合はインデックスを伴わずに暗号化データを送信し、
前記復号化部は、新たなインデックスを受信するまでは、既に受信したインデックスを用いて受信した暗号化データを復号化する暗号処理装置。 An encryption key storage unit for storing a plurality of common keys used for encryption processing as an indexed encryption key table;
A self-unique key storage unit that pre-stores a device-specific encryption key as its own unique key;
When receiving the unique key of the counterpart device, an external unique key storage unit that stores the received unique key;
An encryption key sharing processing unit that provides the unique key stored in the self-unique key storage unit to the counterpart device or receives the unique key from the counterpart device and stores it in the external unique key storage unit;
One or more common keys of the encryption key table stored in the encryption key storage unit and the unique key stored in the self-unique key storage unit or the external unique key storage unit are applied to the data to be transmitted and encrypted. An encryption unit for generating encrypted data;
A transmission unit that transmits the index of the common key used for encryption and the encrypted data to the counterpart device;
A receiving unit that receives the index of the common key used for encryption in the partner device and the encrypted data from the partner device;
A decryption key acquisition unit that acquires one or more common keys of an encryption key table stored in the encryption key storage unit and a unique key stored in the self-unique key storage unit or the external unique key storage unit;
A decryption unit that decrypts the encrypted data received by applying the acquired common key and unique key,
The decryption key acquisition unit acquires a common key by referring to the encryption key storage unit with the received index, acquires a unique key with reference to the external unique key storage unit or the self-unique key storage unit ,
The encryption unit uses a common key that is the same as or different from the previous one when generating encrypted data for the second and subsequent times,
The transmission unit transmits the common key index used for encryption together with the generated encrypted data when a common key different from the previous time is used, but if the same common key as the previous time is used, the index is displayed. Send encrypted data without it,
The decryption unit is a cryptographic processing device that decrypts received encrypted data using an already received index until a new index is received .
前記復号鍵取得部は、相手側機器の固有キーを受領して前記外部固有キー格納部に格納しているときは受領した固有キーを取得し、前記暗号キー共有処理部が自己の固有キーを相手側機器に提供している場合は自己固有キー格納部に格納された固有キーを取得する請求項1に記載の暗号処理装置。 The encryption unit applies the unique key stored in the self-unique key storage unit when the encryption key sharing processing unit provides its own unique key to the counterpart device, and the unique key of the counterpart device Is received and stored in the external unique key storage unit, the received unique key is applied,
The decryption key obtaining unit obtains the received unique key when the unique key of the counterpart device is received and stored in the external unique key storage unit, and the encryption key sharing processing unit obtains its own unique key. The cryptographic processing apparatus according to claim 1, wherein the unique key stored in the self-unique key storage unit is acquired when the information is provided to the counterpart device.
前記暗号キー共有処理部は、受付けた指示に応答して前記自己固有キー格納部に格納された固有キーを相手側機器に提供する請求項1〜3の何れか一つに記載の暗号処理装置。 An instruction receiving unit for receiving an instruction to share the encryption key;
The encryption processing apparatus according to claim 1, wherein the encryption key sharing processing unit provides a unique key stored in the self-unique key storage unit to a counterpart device in response to an accepted instruction. .
前記送信側機器は、
暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
自己固有キー格納部に格納された固有キーを受信側機器に提供する第1暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、
前記受信側機器は、
送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、
送信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
送信側機器から固有キーを受領して外部固有キー格納部に格納する第2暗号キー共有処理部と、
送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と送信側機器の固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記暗号化部は、前記自己固有キー格納部に格納され第1暗号キー共有処理部が受信側機器に提供した固有キーを暗号化に適用し、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、第2暗号キー共有処理部が外部固有キー格納部に格納した固有キーを取得し、
前記暗号化部は、2回目以降の暗号化データの生成に際して前回と同じ共通鍵かまたは前回と異なる共通鍵を用い、
前記送信部は、前回と異なる共通鍵が用いられた場合は暗号化に用いられた共通鍵のインデックスを生成された暗号化データと共に送信するが前回と同じ共通鍵が用いられた場合はインデックスを伴わずに暗号化データを送信し、
前記復号化部は、新たなインデックスを受信するまでは、既に受信したインデックスを用いて受信した暗号化データを復号化することを特徴とする暗号処理システム。 It consists of at least the sending device and the receiving device,
The transmitting device is
A first encryption key storage unit that stores a plurality of common keys used for encryption processing as an indexed encryption key table;
A self-unique key storage unit that pre-stores a device-specific encryption key as its own unique key;
A first encryption key sharing processing unit for providing a unique key stored in the self-unique key storage unit to the receiving device;
An encryption unit that encrypts data by applying one or more common keys of the encryption key table stored in the encryption key storage unit and its own unique key to data to be transmitted; and
A transmission unit that transmits an index of a common key used for encryption and the encrypted data to a receiving device;
The receiving device is:
A second encryption key storage unit for storing the same encryption key table as that of the transmission side device;
When receiving the unique key of the sending device, an external unique key storage unit that stores the received unique key;
A second encryption key sharing processing unit that receives the unique key from the transmission side device and stores it in the external unique key storage unit;
A receiving unit that receives the index of the common key used for encryption in the transmitting device and the encrypted data from the transmitting device;
A decryption key acquisition unit for acquiring one or more common keys of the encryption key table stored in the encryption key storage unit and a unique key of the transmission side device;
A decryption unit that decrypts the encrypted data received by applying the acquired common key and unique key,
The encryption unit applies the unique key stored in the self-unique key storage unit and provided to the receiving side device by the first encryption key sharing processing unit for encryption;
The decryption key acquisition unit acquires a common key by referring to the encryption key table stored in the encryption key storage unit with the received index, and the second encryption key sharing processing unit stores the unique key stored in the external unique key storage unit. to get the key,
The encryption unit uses a common key that is the same as or different from the previous one when generating encrypted data for the second and subsequent times,
The transmission unit transmits the common key index used for encryption together with the generated encrypted data when a common key different from the previous time is used, but if the same common key as the previous time is used, the index is displayed. Send encrypted data without it,
The decryption unit decrypts the received encrypted data using the already received index until a new index is received .
前記送信側機器は、
暗号処理に用いる複数の共通鍵をインデックス付の暗号キーテーブルとして格納する第1暗号キー格納部と、
受信側機器の固有キーを受領したとき、受領した固有キーを格納する外部固有キー格納部と、
受信側機器から固有キーを受領して外部固有キー格納部に格納する第1暗号キー共有処理部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と受信側機器の固有キーとを送信すべきデータに適用して暗号化し暗号化データを生成する暗号化部と、
暗号化に用いられた共通鍵のインデックスと前記暗号化データとを受信側機器へ送信する送信部とを備え、
前記受信側機器は、
送信側機器と同じ暗号キーテーブルを格納する第2暗号キー格納部と、
機器に固有の暗号鍵を自己の固有キーとして予め格納する自己固有キー格納部と、
自己固有キー格納部に格納された固有キーを送信側機器に提供する第2暗号キー共有処理部と、
送信側機器で暗号化に用いられた共通鍵のインデックスと暗号化データとを送信側機器から受信する受信部と、
前記暗号キー格納部に格納された暗号キーテーブルの1以上の共通鍵と自己の固有キーとを取得する復号鍵取得部と、
取得された共通鍵および固有キーを適用して受信した暗号化データを復号化する復号化部とを備え、
前記暗号化部は、第1暗号キー共有処理部が外部固有キー格納部に格納した固有キーを暗号化に適用し、
前記復号鍵取得部は、受信したインデックスで前記暗号キー格納部に格納された暗号キーテーブルを参照して共通鍵を取得し、前記自己固有キー格納部に格納され第2暗号キー共有処理部が送信側機器に提供した固有キーを取得し、
前記暗号化部は、2回目以降の暗号化データの生成に際して前回と同じ共通鍵かまたは前回と異なる共通鍵を用い、
前記送信部は、前回と異なる共通鍵が用いられた場合は暗号化に用いられた共通鍵のインデックスを生成された暗号化データと共に送信するが前回と同じ共通鍵が用いられた場合はインデックスを伴わずに暗号化データを送信し、
前記復号化部は、新たなインデックスを受信するまでは、既に受信したインデックスを用いて受信した暗号化データを復号化することを特徴とする暗号処理システム。 It consists of at least the sending device and the receiving device,
The transmitting device is
A first encryption key storage unit that stores a plurality of common keys used for encryption processing as an indexed encryption key table;
When receiving the unique key of the receiving device, an external unique key storage unit that stores the received unique key;
A first encryption key sharing processing unit that receives a unique key from the receiving device and stores it in the external unique key storage unit;
An encryption unit that applies one or more common keys of the encryption key table stored in the encryption key storage unit and the unique key of the receiving device to the data to be transmitted to generate encrypted data;
A transmission unit that transmits an index of a common key used for encryption and the encrypted data to a receiving device;
The receiving device is:
A second encryption key storage unit for storing the same encryption key table as that of the transmission side device;
A self-unique key storage unit that pre-stores a device-specific encryption key as its own unique key;
A second encryption key sharing processing unit that provides the transmitting side device with the unique key stored in the self-unique key storage unit;
A receiving unit that receives the index of the common key used for encryption in the transmitting device and the encrypted data from the transmitting device;
A decryption key acquisition unit for acquiring one or more common keys and a unique key of the encryption key table stored in the encryption key storage unit;
A decryption unit that decrypts the encrypted data received by applying the acquired common key and unique key,
The encryption unit applies the unique key stored in the external unique key storage unit by the first encryption key sharing processing unit to encryption,
The decryption key acquisition unit acquires a common key by referring to an encryption key table stored in the encryption key storage unit with the received index, and stores the common key in the self-unique key storage unit. Get the unique key provided to the sending device ,
The encryption unit uses a common key that is the same as or different from the previous one when generating encrypted data for the second and subsequent times,
The transmission unit transmits the common key index used for encryption together with the generated encrypted data when a common key different from the previous time is used, but if the same common key as the previous time is used, the index is displayed. Send encrypted data without it,
The decryption unit decrypts the received encrypted data using the already received index until a new index is received .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013163293A JP6111165B2 (en) | 2013-08-06 | 2013-08-06 | Cryptographic processing apparatus and cryptographic processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013163293A JP6111165B2 (en) | 2013-08-06 | 2013-08-06 | Cryptographic processing apparatus and cryptographic processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015033082A JP2015033082A (en) | 2015-02-16 |
| JP6111165B2 true JP6111165B2 (en) | 2017-04-05 |
Family
ID=52518042
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013163293A Active JP6111165B2 (en) | 2013-08-06 | 2013-08-06 | Cryptographic processing apparatus and cryptographic processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6111165B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114026563A (en) * | 2019-06-28 | 2022-02-08 | 三菱电机株式会社 | Data management system, data management method, and program |
| WO2023000318A1 (en) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | Address verification method and corresponding device |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5534520A (en) * | 1978-08-31 | 1980-03-11 | Fujitsu Ltd | Encrypt data communication system containing multi- encrypt key |
| JPH03179839A (en) * | 1990-10-19 | 1991-08-05 | Matsushita Electric Ind Co Ltd | Encrypted digital broadcasting equipment |
| JP2003288009A (en) * | 2002-03-28 | 2003-10-10 | Seiko Epson Corp | Encryption device and data transfer control device |
| KR101174215B1 (en) * | 2008-04-24 | 2012-08-16 | 후지쯔 가부시끼가이샤 | Node device, method executed in node device, and computer-readable recording medium |
-
2013
- 2013-08-06 JP JP2013163293A patent/JP6111165B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015033082A (en) | 2015-02-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10230697B2 (en) | User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages | |
| US11115393B2 (en) | Message server, method for operating message server and computer-readable recording medium | |
| CN104243149B (en) | Encrypt and Decrypt method, device and server | |
| CN113987584B (en) | Hidden query method and system | |
| JP4701733B2 (en) | Management server, device, and license management system | |
| CN105981423A (en) | Method and apparatus for sending and receiving encrypted messages between terminals | |
| CN112291268A (en) | Information transmission method, device, equipment and storage medium | |
| CN107666395A (en) | One population file management method, user terminal, group chat system | |
| US11575658B2 (en) | Encryption device, a communication system and method of exchanging encrypted data in a communication network | |
| CN102332077A (en) | Hand-held equipment data encryption and decryption method and hand-held equipment peripheral equipment thereof | |
| KR101067146B1 (en) | Method for processing encrypted message in portable terminal and portable terminal | |
| WO2015117437A1 (en) | File encryption/decryption method and device | |
| JP6111165B2 (en) | Cryptographic processing apparatus and cryptographic processing system | |
| CN107733841A (en) | Method for message transmission and device based on multi-enciphering | |
| CN113961931A (en) | Adb tool using method and device and electronic equipment | |
| JP7577284B2 (en) | Download terminal, key terminal, and storage server of a storage system for processing encrypted files while keeping a private key secret in the key terminal | |
| JP2013207670A (en) | Image processing device | |
| KR101440585B1 (en) | Memory card with encryption functions | |
| JP2017167796A (en) | E-mail transmission/reception system and method for controlling the same, information processing apparatus and method for controlling the same, and program | |
| WO2016165312A1 (en) | Encryption method, decryption method and device therefor | |
| CN117874787A (en) | Data protection method, device, electronic device and computer-readable storage medium | |
| CN103929722A (en) | Short message encryption method and system | |
| US9154471B2 (en) | Method and apparatus for unified encrypted messaging | |
| CN106453335A (en) | Data transmission method and device | |
| JP2007235755A (en) | Mobile phone and e-mail transmission / reception program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160225 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161206 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170203 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170214 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170313 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6111165 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |