JP2009135813A - Encryption/decryption apparatus, and computer-readable storage medium with encryption/decryption program stored therein - Google Patents
Encryption/decryption apparatus, and computer-readable storage medium with encryption/decryption program stored therein Download PDFInfo
- Publication number
- JP2009135813A JP2009135813A JP2007311276A JP2007311276A JP2009135813A JP 2009135813 A JP2009135813 A JP 2009135813A JP 2007311276 A JP2007311276 A JP 2007311276A JP 2007311276 A JP2007311276 A JP 2007311276A JP 2009135813 A JP2009135813 A JP 2009135813A
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- decryption
- processing
- payload
- software
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、通信パケットの暗号化または復号化(以下、暗復号化と呼ぶ)を行う暗復号化装置に関わり、特に暗復号化の処理をハードウェア、およびソフトウェアを用いて処理する暗復号化装置に関する。 The present invention relates to an encryption / decryption device that performs encryption or decryption (hereinafter referred to as encryption / decryption) of a communication packet, and in particular, encryption / decryption that performs encryption / decryption processing using hardware and software. Relates to the device.
近年、通信、ネットワークなどの分野において、非常に早い速度で技術が発展している。これに伴い、情報や機密が漏洩する可能性も高まり、セキュリティ技術の分野においては、「暗復号化の高速化」がユーザから望まれている。
そして、ユーザからの「暗復号技術の高速化」の要求により、通信パケットの分野において、高速な暗復号処理を可能とした暗復号化装置が登場している。
ここで、通信パケットとは、送信するデータを一端細切れに分割し、該分割されたデータ単位を「パケット」として通信する方式である。
この「パケット」は、ヘッダ、およびペイロードによって構成されており、該ヘッダにはパケット自体を転送するための転送先の情報が含まれ、該ペイロードには転送するアプリケーションソフトなどの情報(ヘッダを除くデータそのもの)が含まれている。
暗復号化装置では、パケットが公衆回線などで漏洩する可能性がある場合には、該パケットを暗号化し、暗号化パケットを用いて装置間で送受信を行う。
そして、他の装置から受信したパケットが暗号化されている場合、この暗号化されているパケットを復号化して、パケットを読取可能な状態にする。
暗復号処理の際、該暗復号化装置は、暗号化するパケット、または転送されてきた復号化するパケットに対して、ヘッダを非暗復号化対象フィールドとし、ペイロードを暗復号化対象フィールドとして入力を受け付ける。
これにより、必要な暗復号化対象フィールドに対してのみ暗復号化処理を行うので、高速な暗復号処理を行うことができる。
In recent years, technology has been developed at a very high speed in the fields of communications, networks, and the like. Along with this, there is an increased possibility of leakage of information and secrets, and “high speed encryption / decryption” is desired by users in the field of security technology.
An encryption / decryption device capable of performing high-speed encryption / decryption processing has appeared in the field of communication packets in response to a request from the user for “speed-up of encryption / decryption technology”.
Here, the communication packet is a system in which data to be transmitted is divided into small pieces, and the divided data units are communicated as “packets”.
This “packet” is composed of a header and a payload. The header includes information on a transfer destination for transferring the packet itself, and the payload includes information such as application software to be transferred (excluding the header). Data itself).
In the encryption / decryption device, when there is a possibility that the packet may be leaked through a public line or the like, the packet is encrypted, and transmission / reception is performed between the devices using the encrypted packet.
If a packet received from another device is encrypted, the encrypted packet is decrypted so that the packet can be read.
During encryption / decryption processing, the encryption / decryption device inputs a header as a non-encryption target field and a payload as an encryption / decryption target field for a packet to be encrypted or a transmitted packet to be decrypted. Accept.
Accordingly, since the encryption / decryption process is performed only on the necessary encryption / decryption target field, a high-speed encryption / decryption process can be performed.
そして、最近では、ハードウェア、およびソフトウェアの両者を併用して暗復号化処理を行う暗復号化装置が開発されている。
ハードウェアとソフトウェアの両方で暗復号化処理を行う場合、パケット中の暗復号化対象フィールドの長さによって、そのフィールドの長さが短い場合にはソフトウェアで暗復号処理を行った方が処理速度が早く、該暗復号化対象フィールドの長さが長い場合には、ハードウェアで暗復号処理を行った方が早いという現象が生じる。
この現象は、暗復号処理の過程において、CPU(Central Processing Unit)の処理速度や、ハードウェア(またはデバイス)のバススピードなどの差によって生じるものである。
例えば、下記特許文献1では、ハードウェア、およびソフトウェアを用いて暗復号化処理を行う場合、パケット長が各条件で決定した閾値よりも短い場合はソフトウェアで暗復号処理を行い、閾値よりも長い場合はハードウェアで暗復号処理を行っており、パケット長に応じて、ハードウェアを用いて暗復号処理を行うか、それともソフトウェアを用いて暗復号処理を行うかを決定する技術が開示されている。
例えば、下記特許文献2では、第三者により暗号方式が解読されることを防止するため、装置本体のカバーの開状態を検出した場合に、暗号化または復号化プログラムに記憶された揮発性記憶手段に対するバックアップ電源を遮断する技術が開示されている。
When encryption / decryption processing is performed by both hardware and software, depending on the length of the encryption / decryption target field in the packet, if the length of the field is short, the encryption / decryption processing is performed by software. However, when the length of the encryption / decryption target field is long, the phenomenon that the encryption / decryption processing is faster with hardware occurs.
This phenomenon occurs due to a difference in CPU (Central Processing Unit) processing speed, hardware (or device) bus speed, and the like in the course of encryption / decryption processing.
For example, in
For example, in
しかしながら、従来の暗復号化装置では、ソフトウェアで生成したパケット、または転送されてきたパケットに対して、デバイスへの入力順序が効率的でないという問題がある。
また、上記特許文献1では、1のパケットに注目した場合の暗復号処理における効率化や、処理速度向上が達成できないという問題がある。
However, the conventional encryption / decryption device has a problem that the input order to the device is not efficient with respect to packets generated by software or transferred packets.
Further, the above-mentioned
そこで、本発明では、ハードウェア、およびソフトウェアを用いて暗復号化処理を行う暗復号化装置において、パケット通信システムにおけるデバイスへの入力順序や、1のパケットにおける暗復号処理に注目し、暗復号化処理速度をより向上させた暗復号化装置、または暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体を提供することを目的とする。 Therefore, in the present invention, in an encryption / decryption device that performs encryption / decryption processing using hardware and software, attention is paid to the input order to devices in the packet communication system and encryption / decryption processing in one packet. It is an object of the present invention to provide an encryption / decryption device or a computer-readable storage medium storing an encryption / decryption program in which the encryption processing speed is further improved.
請求項1記載の発明では、ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領手段と、前記パケット受領手段で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測手段と、前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定手段と、を備え、前記処理決定手段において、ハードウェアによる暗復号化処理を行う、またはハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合、前記ペイロードを前記ヘッダより優先して入力する入力手段と、を備えたことにより、前記目的を達成する。
請求項2記載の発明では、請求項1記載の発明において、前記処理決定手段を、ハードウェア側、またはソフトウェア側に備えることを特徴とする。
請求項3記載の発明では、請求項1、または請求項2記載の発明において、第1の閾値、および第2の閾値をユーザから受け付ける閾値受付手段をさらに備え、前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記受付手段で受け付けた前記第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする。
請求項4記載の発明では、請求項1、または請求項2記載の発明において、前記ハードウェアによる暗復号化処理、および前記ソフトウェアによる暗復号化処理における処理速度に基づいて、第1の閾値、および第2の閾値を算出する閾値算出手段をさらに備え、前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した前記第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した前記第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする。
請求項5記載の発明では、請求項1から請求項4のいずれか1項に記載の発明において、前記ハードウェアによる暗復号化処理、前記ソフトウェアによる暗復号化処理、または前記ハードウェアとソフトウェアの両方による暗復号化処理によって、前記暗復号化対象フィールドであるペイロードが暗復号化されたペイロードを格納する暗復号データ格納手段と、前記非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、をさらに備えたことを特徴とする。
請求項6記載の発明では、請求項5記載の発明において、前記暗復号データ格納手段に格納された暗復号化されたペイロード、および前記非暗復号データ格納手段に格納されたヘッダから、対となるパケットを検出するパケット検出手段と、をさらに備えたことを特徴とする。
請求項7記載の発明では、請求項1から請求項6のいずれか1項に記載の発明において、ヘッダ、およびペイロードの格納先のアドレスを設定する格納先設定手段と、をさらに備え、前記入力手段は、前記格納先設定手段で前記ヘッダより先に前記ペイロードの格納先を設定することにより、前記ペイロードを前記ヘッダより優先して入力することを特徴とする。
請求項8記載の発明では、請求項2記載の発明において、前記処理決定手段をハードウェア側に備え、前記処理決定手段でハードウェアとソフトウェアの両方で暗復号化処理を行う場合、前記暗復号化対象フィールドをソフトウェア側に転送する転送手段をさらに備えたことを特徴とする。
請求項9記載の発明では、請求項1から請求項8のいずれか1項に記載の発明において、前記パケット受領手段は、外部入出力インタフェースを用いて、パケットを受領することを特徴とする。
請求項10記載の発明では、請求項1から請求項9のいずれか1項に記載の発明において、前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる復号化処理を行うか、ソフトウェアによる復号化処理を行うか、または、ハードウェアとソフトウェアの両方による復号化処理を行うか、を決定することを特徴とする。
請求項11記載の発明では、請求項1から請求項10のいずれか1項に記載の発明において、前記ソフトウェアから前記ハードウェアに入力することを特徴とする。
請求項12記載の発明では、請求項6記載の発明において、前記パケット検出手段で検出された、対となるパケットである、ヘッダ、およびペイロードをそれぞれ結合してパケットを生成するパケット生成手段をさらに備えたことを特徴とする。
請求項13記載の発明では、請求項1から請求項12のいずれか1項に記載の発明において、前記処理決定手段でハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合、ハードウェアによる暗復号化処理されたペイロード、およびソフトウェアによる暗復号化処理されたペイロードをそれぞれ結合するペイロード結合手段をさらに備えたことを特徴とする。
請求項14記載の発明では、ハードウェアによる暗復号化処理と、ソフトウェアによる暗復号化処理とを併用する暗復号化装置において、非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領機能と、前記パケット受領機能で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測機能と、前記フィールド長計測機能で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定機能と、を備え、前記処理決定機能において、ハードウェアによる暗復号化処理を行う、またはハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合、前記ペイロードを前記ヘッダより優先して入力する入力機能と、を実行することにより、前記目的を達成する。
According to the first aspect of the present invention, in an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software, a header that is a non-encryption target field and an encryption / decryption target field Based on a packet receiving means for receiving a packet composed of a certain payload, a field received by the packet receiving means or a field length measuring means for measuring the field length of the payload, and a field length measured by the field length measuring means Process determining means for determining whether to perform encryption / decryption processing by hardware, encryption / decryption processing by software, or encryption / decryption processing by both hardware and software. The processing determining means performs hardware encryption / decryption processing. If you decide to perform the decryption process by both hardware and software, by providing the input means for inputting the payload in preference to said header, to attain the aforementioned object.
According to a second aspect of the present invention, in the first aspect of the present invention, the processing determining means is provided on the hardware side or the software side.
According to a third aspect of the present invention, in the first or second aspect of the present invention, the apparatus further comprises threshold value accepting means for accepting a first threshold value and a second threshold value from a user, The field length measured by the length measuring means and the first threshold received by the threshold receiving means are compared, and it is determined whether to perform encryption / decryption processing by hardware or encryption / decryption processing by software Then, the field length measured by the field length measuring unit and the second threshold received by the receiving unit are compared to determine whether or not the encryption / decryption processing is performed by both hardware and software. It is characterized by that.
According to a fourth aspect of the invention, in the first or second aspect of the invention, the first threshold value is based on the processing speed in the hardware encryption / decryption process and the software encryption / decryption process. And a threshold value calculating means for calculating a second threshold value, wherein the process determining means compares the field length measured by the field length measuring means with the first threshold value calculated by the threshold value calculating means. Determining whether to perform encryption / decryption processing by hardware or software, and determining the field length measured by the field length measurement unit and the second threshold value calculated by the threshold value calculation unit And determining whether to perform encryption / decryption processing by both hardware and software.
According to a fifth aspect of the present invention, in the invention according to any one of the first to fourth aspects, the hardware encryption / decryption processing, the software encryption / decryption processing, or the hardware and software Encryption / decryption data storage means for storing a payload obtained by performing encryption / decryption on the payload that is the encryption / decryption target field, and non-encryption / decryption storing the header that is the non-encryption / decryption target field. And a data storage means.
According to a sixth aspect of the present invention, in the fifth aspect of the present invention, an encryption / decryption payload stored in the encryption / decryption data storage means and a header stored in the non-encryption / decryption data storage means are used as a pair. And a packet detecting means for detecting the packet.
According to a seventh aspect of the invention, there is provided the storage device according to any one of the first to sixth aspects, further comprising storage destination setting means for setting a header and a storage destination address of the payload, wherein the input The means is characterized in that the storage destination setting means sets the payload storage destination prior to the header, and inputs the payload prior to the header.
The invention according to claim 8 is the invention according to
The invention according to claim 9 is the invention according to any one of
According to a tenth aspect of the present invention, in the invention according to any one of the first to ninth aspects, the processing determining means performs decoding by hardware based on the field length measured by the field length measuring means. It is characterized in that it is determined whether to perform a decryption process, to perform a decryption process by software, or to perform a decryption process by both hardware and software.
The invention according to an eleventh aspect is characterized in that in the invention according to any one of the first to tenth aspects, the software inputs to the hardware.
According to a twelfth aspect of the invention, in the sixth aspect of the invention, there is further provided a packet generation means for generating a packet by combining a header and a payload, which are paired packets, detected by the packet detection means. It is characterized by having.
In the invention according to
According to the fourteenth aspect of the present invention, in an encryption / decryption device using both encryption / decryption processing by hardware and encryption / decryption processing by software, a header that is a non-encryption target field and an encryption / decryption target field Based on the packet reception function for receiving a packet composed of a certain payload, the field length measurement function for measuring the packet length received by the packet reception function or the field length of the payload, and the field length measured by the field length measurement function And a process determination function for determining whether to perform encryption / decryption processing by hardware, encryption / decryption processing by software, or encryption / decryption processing by both hardware and software. In the processing determination function, hardware encryption / decryption processing is performed. Other If you decide to perform the decryption process by both hardware and software, by executing an input function of inputting the payload in preference to said header, to attain the aforementioned object.
本発明によれば、暗復号化処理におけるパケットフィールドの入力順を並び替えるので、暗復号処理の高速化を図ることができ、開始時間を早めて全体の暗復号化処理をより高速にすることができる。
また、ハードウェアとソフトウェアの暗復号化処理をフィールド長により使い分けることで暗復号化処理を高速にすることができる。
According to the present invention, since the input order of the packet fields in the encryption / decryption process is rearranged, the encryption / decryption process can be speeded up, and the entire encryption / decryption process is made faster by increasing the start time. Can do.
Also, the encryption / decryption processing of hardware and software can be performed at high speed by properly using the encryption / decryption processing of the hardware and software depending on the field length.
以下、本発明の好適な実施形態について図1から図11を参照して詳細に説明する。
(1)暗号化処理を行う暗復号化装置1の構成
図1は、本実施形態の暗号化処理を行う暗復号化装置1の構成を示したブロック図である。
暗号化処理を行う暗復号化装置1は、ソフトウェア処理ブロックのCPU10、デバイス入出力IF(Interface)20、プロトコル処理ブロック30、暗号化/非暗号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM(Random Access Memory)60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCS(Frame Check Sequence)ブロック110、MAC−PHYIF(Media Access Control Physical layer Interface)120、および暗号鍵用RAM130から構成されている。
さらに、ソフトウェア処理ブロックのCPU10は、暗号化閾値決定ブロック11、マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14から構成されている。
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to FIGS. 1 to 11.
(1) Configuration of Encryption /
The encryption /
Further, the
なお、本実施形態の暗号化処理を行うソフトウェアは、ソフトウェア処理ブロックのCPU10(暗号化閾値決定ブロック11、マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14)によって構成される。
そして、本実施形態の暗号化処理を行うハードウェアは、デバイス入出力IF20、プロトコル処理ブロック30、暗号化/非復号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCSブロック110、MAC−PHYIF120、および暗号鍵用RAM130によって構成されるものとして説明する。
Note that the software that performs the encryption processing of the present embodiment is configured by a CPU 10 (encryption threshold
The hardware that performs the encryption processing of the present embodiment includes a device input /
図11は、WUSB(Wireless Universal Serial Bus)パケットを示した概念図である。
WUSBパケットは、マックヘッダ(ヘッダに相当する)、およびペイロードによって構成されており、該マックヘッダにはデータを転送するための転送先の情報、該ペイロードには転送するアプリケーションソフトなどの情報(マックヘッダを除くデータそのもの)が含まれている。
そして、ペイロードを暗号化対象フィールドとし、マックヘッダを非暗号化対象フィールドとする。
なお、本実施形態では、図11に示すように、ペイロードがWUSBヘッダを含むように構成する(WUSBヘッダは、WUSBにおける転送先の情報を示す)。
FIG. 11 is a conceptual diagram showing a WUSB (Wireless Universal Serial Bus) packet.
The WUSB packet is composed of a Mac header (corresponding to the header) and a payload. In the Mac header, information on a transfer destination for transferring data, information on the application software to be transferred (Mac) is transferred in the payload. Data itself excluding the header).
The payload is set as an encryption target field, and the Mac header is set as a non-encryption target field.
In the present embodiment, as shown in FIG. 11, the payload is configured to include a WUSB header (the WUSB header indicates information on a transfer destination in WUSB).
図1に戻り、マックヘッダ生成ブロック12は、送信先の情報であるマックヘッダを生成する。そして、ペイロード生成ブロック13には、転送するアプリケーションソフトなどの情報(ヘッダを除くデータそのもの)であるペイロードが生成される。
図4は、暗号化閾値決定ブロック11で閾値が算出され、該閾値によってフィールド長を判定する判定例を示した図である。
まず暗号化閾値決定ブロック11は、マックヘッダ生成ブロック12、およびペイロード生成ブロック13で生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
次に、暗号化閾値決定ブロック11は、第1の閾値、および第2の閾値を算出する。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号化処理時間、パケット中の暗号化対象フィールド長といった処理速度に係る情報を基に算出する方法がある。
そして、暗号化閾値決定ブロック11は、計測されたフィールド長と、算出された第1の閾値、または第2の閾値とを比較する。
また、本実施形態の構成では、暗号化閾値決定ブロック11で第1の閾値、および第2の閾値を算出することとしたが、暗号化閾値決定ブロック11に図示しないレジスタを設け、該レジスタにユーザからの閾値の設定を受け付けるように構成することも可能である。
Returning to FIG. 1, the Mac
FIG. 4 is a diagram showing a determination example in which the threshold is calculated by the encryption
First, the encryption threshold
The encryption threshold
Next, the encryption threshold
Here, for the calculation method of the first threshold value and the second threshold value, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, There is a method of calculating based on information related to processing speed such as the length of an encryption target field in a packet.
Then, the encryption threshold
In the configuration of this embodiment, the encryption threshold
暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を下回るか否か、または上回るか否かを判断し、下回る場合には、暗号化ブロック14(ソフトウェア)にて暗号化処理を行い、上回る場合には、暗号化ブロック50(ハードウェア)にて暗号化処理を行う旨を示す処理決定情報がペイロードに付与される。
また、計測されたフィールド長が第2の閾値を下回るか否か、または上回るか否かを判断し、上回る場合には、暗号化ブロック14(ソフトウェア)、および暗号化ブロック50(ハードウェア)の両者にて暗号化処理を行う旨を示す処理決定情報がペイロードに付与される。
そして、処理決定情報がソフトウェアで処理する旨である場合、暗号化ブロック14ではペイロードの暗号化処理を行う。
また、処理決定情報がハードウェアで処理する旨である場合、ソフトウェア処理ブロックのCPU10は、バスラインを介して、ハードウェア側のデバイス入出力IF20に入力する。
ソフトウェア処理ブロックのCPU10は、マックヘッダを非暗号対象フィールドとし、ペイロードを暗号化対象フィールドとして、それぞれバスラインを介して、ハードウェア側のデバイス入出力IF20に入力する。
このとき、ハードウェア側であるデバイス入出力IF20への入力順序は、ペイロードの入力を優先して行い、ペイロードの入力が終了した場合に、マックヘッダの入力を開始する。
また、ソフトウェア処理ブロックのCPU10は、ペイロード、およびヘッダの格納先となるアドレスを設定し、ヘッダより先にペイロードの格納先のアドレスを設定する。
The encryption threshold
Further, it is determined whether or not the measured field length is less than or greater than the second threshold value. If the measured field length is greater than the second threshold value, the encryption block 14 (software) and the encryption block 50 (hardware) Processing determination information indicating that encryption processing is performed by both parties is added to the payload.
If the processing decision information is to be processed by software, the
When the processing determination information is to process by hardware, the
The
At this time, the input order to the device input / output IF 20 on the hardware side is performed by giving priority to the input of the payload, and when the input of the payload is completed, the input of the Mac header is started.
Further, the
デバイス入出力IF20は、ブロックのCPU10から、ペイロード、およびマックヘッダをバスラインを介して入力を受け付ける。
そして、デバイス入出力IF20は、受け付けたマックヘッダ、およびペイロードをバスラインを介してプロトコル処理ブロック30に転送する。
プロトコル処理ブロック30では、デバイス入出力IF20から転送されたマックヘッダ、およびペイロードのプロトコル(データ伝送方式)に係る所定の処理を行う。
そして、プロトコル処理ブロック30は、マックヘッダ、およびペイロードを暗号化/非暗号化フィールド分類手段40に転送する。
The device input / output IF 20 receives input of the payload and the mac header from the
Then, the device input / output IF 20 transfers the received Mac header and payload to the
The
Then, the
暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたマックヘッダ、およびペイロードに応じて、バスラインを介して接続している暗号化ブロック50、暗号データ用RAM60、または非暗号データ用RAM70に分類し、RAMへの格納や転送する処理を行う。
例えば、暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたデータがマックヘッドである場合、該データを非暗号データとして認識し、非暗号データ用RAM70に転送し、該非暗号データ用RAM70にマックヘッドを格納する。
The encryption / non-encryption
For example, when the data transferred from the
また、暗号化/非暗号化フィールド分類手段40は、プロトコル処理ブロック30から転送されたデータがハードウェアで暗号処理を行う旨の処理決定情報を備えたペイロードである場合、該データを暗号化ブロック14で暗号化されたペイロードとして認識し、暗号データ用RAM60に転送し、該暗号データ用RAM60に暗号化されたペイロードを格納し、該ペイロードを暗号化ブロック50に転送する。
Also, the encryption / non-encryption field classification means 40, when the data transferred from the
暗号化ブロック50では、暗号化/非暗号化フィールド分類手段40から転送されたペイロードに対して、暗号化処理が行われる。
暗号化ブロック50は、暗号化処理に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロードに対して暗号化を行う。
そして、暗号化ブロック50は、暗号化の処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、該暗号データ用RAM60に暗号化されたペイロードを格納する。
In the
The
Then, the
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報を取得し、対となるパケットを検出している。
そして、対となるパケットが検出された場合、カウンタ90は、暗号化/非暗号化フィールド読出手段80に対して、要求信号を送信する。
暗号化/非暗号化フィールド読出手段80は、該要求暗号を受領した場合、暗号データ用RAM60に格納された暗号化されたペイロードを読み出し、該ペイロードに対応するマックヘッドを非暗号データ用RAM70から読み出し、バスラインを介して接続しているカウンタ90に該ペイロード、および該マックヘッドを転送する。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、暗号化されたWUSBパケットを生成する。
そして、カウンタ90では、生成され、暗号化されたWUSBパケットを、結合データ用RAM100に格納する。
The
The
When a pair of packets is detected, the
When the encryption / non-encryption field reading means 80 receives the requested cipher, the encryption / non-encryption field reading means 80 reads the encrypted payload stored in the
The
The
FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加する。
図11に示すように、WUSBパケットには、FCSフィールドが付加されており、該FCSフィールドには、通信プロトコルにおいてデータの誤り検出を行うため、フレーム内にチェックサム符号が付け加えられている。
これにより、フレームの送受信を行うコンピュータ間では、各々の規定されたアルゴリズムでチェックサム符号を再計算し、データの送受信が正常なものか否かを判断することができる。
The
As shown in FIG. 11, an FCS field is added to the WUSB packet, and a checksum code is added to the FCS field in order to detect data errors in the communication protocol.
As a result, between the computers that transmit and receive frames, the checksum code can be recalculated with each specified algorithm to determine whether or not the data transmission and reception is normal.
図1に戻り、FCSブロック110は、FCSフィールドの付加されたWUSBパケットをバスラインを介してMAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送されたWUSBパケットをWiMedia PHYへ出力し、他の装置とのデータ送信を行う。
Returning to FIG. 1, the FCS block 110 transfers the WUSB packet to which the FCS field is added to the MAC-
Then, the MAC-
(2)復号化処理を行う暗復号化装置1の構成
図3は、本実施形態の復号化処理を行う暗復号化装置1の構成を示したブロック図である。
復号化処理を行う暗復号化装置1は、MAC−PHYIF135、FCSブロック140、復号化判定ブロック150、第1の復号化/非復号化フィールド分類手段160、復号化閾値決定ブロック170、第2の復号化/非復号化フィールド分類手段175、復号化ブロック180、復号鍵用RAM190、非復号データ用RAM200、復号データ用RAM210、復号化/非復号化フィールド読出手段220、カウンタ230、結合データ用RAM240、プロトコル処理ブロック250、デバイス入出力IF260、およびソフトウェア処理ブロックのCPU270から構成されている。
さらに、ソフトウェア処理ブロックのCPU270は、パケット結合ブロック271、および復号化ブロック272から構成されている。
(2) Configuration of Encryption /
The encryption /
Further, the
なお、本実施形態の復号化処理を行うソフトウェアは、ソフトウェア処理ブロックのCPU270(パケット結合ブロック271、および復号化ブロック272)によって構成されている。
そして、本実施形態の復号化処理を行うハードウェアは、MAC−PHYIF135、FCSブロック140、復号化判定ブロック150、第1の復号化/非復号化フィールド分類手段160、復号化閾値決定ブロック170、第2の復号化/非復号化フィールド分類手段175、復号化ブロック180、復号鍵用RAM190、非復号データ用RAM200、復号データ用RAM210、復号化/非復号化フィールド読出手段220、カウンタ230、結合データ用RAM240、プロトコル処理ブロック250、デバイス入出力IF260、によって構成されるものとして説明する。
Note that the software that performs the decryption processing of the present embodiment is configured by a CPU 270 (
The hardware that performs the decoding process according to the present embodiment includes a MAC-
MAC−PHYIF135は、暗号化されたWUSBパケットを他の装置などからWiMedia PHYを介して受信し、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドのチェックサム符号を計算し、データの誤り検出を行う。
そして、データの誤りがない場合には、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に、暗号化されたWUSBパケットを転送する。
The MAC-
The
If there is no data error, the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
復号化判定ブロック150は、FCSブロック140から転送されたWUSBパケットが、暗号化されたパケットであるか否かを判定する。
そして、復号化判定ブロック150は、転送されたパケットが暗号化されたパケットである場合には、転送されたパケットを復号化閾値決定ブロック170に第1の復号化/非復号化フィールド分類手段160を介して転送する。
また、復号化判定ブロック150は、転送されたパケットが暗号化されたパケットでない場合には、転送された該パケットを第1の復号化/非復号化フィールド分類手段160を介して非復号データ用RAM200に格納させる。
The
Then, when the transferred packet is an encrypted packet, the
In addition, when the transferred packet is not an encrypted packet, the
図4は、復号化閾値決定ブロック170で閾値が算出され、該閾値によってフィールド長を判定する判定例を示した図である。
まず、復号化閾値決定ブロック170は、第1の復号化/非復号化フィールド分類手段160から転送されたパケットを取得し、取得したパケットのヘッダ、ペイロードにおけるそれぞれのフィールド長を計測する。
なお、復号化閾値決定ブロック170は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
次に、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出する。
この第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、パケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出方法がある。
そして、復号化閾値決定ブロック170は、該計測されたフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
なお、第2の閾値は、第1の閾値を上回るように設定される。
また、本実施形態の構成では、復号化閾値決定ブロック170で第1の閾値、および第2の閾値を算出することとしたが、復号化閾値決定ブロック170に図示しないレジスタを設け、該レジスタにユーザからの閾値の設定を受け付けるように構成することも可能である。
FIG. 4 is a diagram illustrating a determination example in which a threshold is calculated by the decoding
First, the decoding threshold
Note that the decoding threshold
Next, the decoding threshold
The calculation method of the first threshold value and the second threshold value includes, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, There is a calculation method based on information related to processing speed such as the length of a field to be decoded.
Then, the decoding threshold
Note that the second threshold is set to exceed the first threshold.
In the configuration of the present embodiment, the first threshold value and the second threshold value are calculated in the decoding threshold
復号化閾値決定ブロック170は、計測されたフィールド長が第1の閾値を下回るか否か、または上回るか否かを判断し、下回る場合には、復号化ブロック272(ソフトウェア)にて復号化処理を行い、上回る場合には、復号化ブロック180(ハードウェア)にて復号化処理を行う旨を示す処理決定情報がペイロードに付与される。
また、計測されたフィールド長が第2の閾値を上回るか否かを判断し、上回る場合には、復号化ブロック272(ソフトウェア)、および復号化ブロック180(ハードウェア)の両者にて暗号化処理を行う旨を示す処理決定情報をペイロードに付与される。
そして、復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、第2の復号化/非復号化フィールド分類手段175は、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、復号化ブロック180に転送し、処理決定情報がソフトウェアにて処理する旨である場合、デバイス入出力IF260に転送する。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で復号処理する旨である場合には、復号化閾値決定ブロック170にてペイロードの分割を行い、それぞれ、復号化ブロック180(ハードウェアで処理)、およびデバイス入出力IF260(ソフトウェアで処理)に転送処理を行う。
また、復号化閾値決定ブロック170は、マックヘッダを非暗号対象フィールドとし、ペイロードを暗号化対象フィールドとして、それぞれバスラインを介して、復号化ブロック180に入力する。
このとき、復号化ブロック180への入力順序は、ペイロードの入力を優先して行い、ペイロードの入力が終了した場合に、マックヘッダの入力を開始する。
また、復号化閾値決定ブロック170は、ペイロード、およびヘッダの格納先をとなるアドレスを設定し、ヘッダより先にペイロードの格納先のアドレスを設定する。
The decoding threshold
Further, it is determined whether or not the measured field length exceeds the second threshold value. If the measured field length exceeds the second threshold value, the encryption process is performed in both the decryption block 272 (software) and the decryption block 180 (hardware). Processing decision information indicating that the process is performed is added to the payload.
Then, the decoding threshold
The second decoding / non-decoding
If the processing determination information is to perform decoding processing by both hardware and software, the payload is divided by the decoding
Also, the decryption threshold
At this time, the input order to the
Also, the decoding threshold
復号化ブロック180は、復号化閾値決定ブロック170で転送されたペイロードの復号化処理を行う。
このとき、復号化ブロック180は、復号化処理に際して、復号鍵用RAM190に格納された復号鍵を適宜参照して、ペイロードに対して復号化処理を行う。
そして、復号化ブロック180は、復号化処理が終了したペイロードを復号データ用RAM210にバスラインを介して転送し、該復号データ用RAM210に復号化されたペイロードを格納させる。
The
At this time, the
Then, the
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得し、対となるパケットを検出している。
そして、対となるパケットが検出された場合、カウンタ230は、復号化/非復号化フィールド読出手段220に対して、要求信号を送信する。
復号化/非復号化フィールド読出手段220は、該要求信号を受領した場合、復号データ用RAM210に格納された復号化されたペイロードを読み出し、該ペイロードに対応するマックヘッドを非復号データ用RAM200から読み出し、復号化/非復号化フィールド読出手段220は、バスラインを介して接続しているカウンタ230に該ペイロード、および該マックヘッドを転送する。
カウンタ230には、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する復号化されたペイロードが転送される。
カウンタ230では、マックヘッドと該復号化されたペイロードを結合して、WUSBパケットを生成する。
そして、カウンタ230では、生成したWUSBパケットを、結合データ用RAM240に格納する。
The
The
When a pair of packets is detected, the
When receiving the request signal, the decoding / non-decoding
The
The
The
プロトコル処理ブロック250では、結合データ用RAM240に格納されたWUSBパケットを読み出し、プロトコル(通信方式)に係る所定の処理を行う。
そして、プロトコル処理ブロック250は、WUSBパケットをバスラインを介してデバイス入出力IF260に入力する。
デバイス入出力IF260は、プロトコル処理ブロック250から転送されたWUSBパケット、または第2の復号化/非復号化フィールド分類手段175から転送されたペイロード(ソフトウェアにて処理する旨を示す処理決定情報を含む)を受信する。
そして、デバイス入出力IF260は、第2の復号化/非復号化フィールド分類手段175から転送されたペイロードに復号化ブロック272にて復号化処理を行う。
そして、パケット結合ブロック271は、復号化ブロック272で復号化処理されたペイロードと、マックヘッダとを結合し、復号化されたWUSBパケットを生成する。
In the
Then, the
The device input / output IF 260 includes a WUSB packet transferred from the
The device input / output IF 260 performs a decoding process on the payload transferred from the second decoding / non-decoding
The
(3)暗号化処理を行う暗復号化装置1の手順
図5は、本実施形態におけるハードウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトに係るデータの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ500)。
暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
ここで、暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、パケット中の暗号化対象フィールド長などの処理速度に係る情報を基に第1の閾値、および第2の閾値を算出する(ステップ502)。
暗号化閾値決定ブロック11において第1の閾値、および第2の閾値が算出された場合(ステップ502;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を上回り、第2の閾値を下回った場合、ハードウェアで暗号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ503)。
ソフトウェア処理ブロックのCPU10は、ペイロード(暗号化対象フィールド)をハードウェア側のデバイス入出力IF20に入力する(ステップ504)。
ここで、マックヘッダの処理過程については、ステップ506〜ステップ508にて説明し、ペイロードの処理過程については、ステップ510〜ステップ512にて説明する。
(3) Procedure of Encryption /
First, upon receiving a data transfer request or the like related to application software from a user, the
The encryption threshold
The encryption threshold
Here, the encryption threshold
When the first threshold value and the second threshold value are calculated in the encryption threshold value determination block 11 (step 502; Y), the encryption threshold
When the measured field length exceeds the first threshold value and falls below the second threshold value, the encryption threshold
The
Here, the processing process of the Mac header will be described in Steps 506 to 508, and the processing process of the payload will be described in Steps 510 to 512.
ソフトウェア処理ブロックのCPU10は、ステップ504において暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断する(ステップ506)。
ペイロードの入力が終了した場合(ステップ506;Y)、続いてマックヘッダの入力を行う。
デバイス入出力IF20は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ508)。
The
When the input of the payload is completed (Step 506; Y), the Mac header is subsequently input.
The device input / output IF 20 transfers the MAC header via the
ステップ504において、デバイス入出力IF20に入力された暗号化対象フィールド(ペイロード)は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、暗号化ブロック50に転送される。
暗号化ブロック50では、転送されたペイロードに対して、暗号化処理が行われる(ステップ510)。
このとき、暗号化ブロック50は、暗号化に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロード(暗号化対象フィールド)に対して暗号化処理を行う。
そして、暗号化ブロック50は、暗号化処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、格納する(ステップ512)。
In step 504, the encryption target field (payload) input to the device input / output IF 20 is transferred to the
In the
At this time, the
Then, the
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
そして、非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報を取得する。
これにより、カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60にWUSBパケットが揃ったか否かを検知する(ステップ514)。
そして、検知の結果、WUSBパケットが揃った場合(ステップ514;Y)、該検知に基づき、暗号化/非暗号化フィールド読出手段80は、マックヘッド、およびペイロードを読み出し、カウンタ90に転送する。
そして、カウンタ90では、転送されたマックヘッド、およびペイロードを結合し、暗号化されたWUSBパケットを生成し、結合データ用RAM100に格納する(ステップ516)。
The
Then, the data count and field length information of each data stored in the
Thereby, the
If the WUSB packets are prepared as a result of the detection (step 514; Y), based on the detection, the encrypted / unencrypted field reading means 80 reads the mac head and the payload and transfers them to the
The
FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットを他の装置へWiMedia PHYを介して、データ送信を行う(ステップ518)。
The
Then, the MAC-
なお、ステップ504において、ソフトウェア処理ブロックのCPU10は、暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断し(ステップ506)、入力が終了した場合(ステップ506;Y)、マックヘッドをハードウェア側に入力することにしている。
これにより、ステップ504において、まずペイロードが先に暗号化されるので、ステップ514におけるデータが揃う時間をより早く達成することができ、結果的に、より高速な暗号処理装置とすることができる。
In step 504, the
As a result, since the payload is first encrypted in step 504, the time for the data in step 514 can be achieved earlier, and as a result, a higher-speed cryptographic processor can be obtained.
図6は、本実施形態におけるソフトウェア、およびハードウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ600)。
次に、暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の暗号化対象フィールド長などを基に第1の閾値、および第2の閾値を算出(または決定)する(ステップ602)。
閾値が算出(または決定)された場合(ステップ602;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
そして、暗号化閾値決定ブロック11は、計測されたフィールド長が第1の閾値を上回り、第2の閾値を上回った場合、ハードウェア、およびソフトウェアで暗号化処理を行う旨を示す処理決定情報をペイロード付与する(ステップ603)。
ソフトウェア処理ブロックのCPU10は、ペイロードを暗号化対象フィールドとし、ペイロード、マックヘッドをハードウェア側のデバイス入出力IF20に入力する。
そして、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロード(または暗号化されたペイロード)をそれぞれバスラインを介して、ハードウェア側のデバイス入出力IF20に入力する(ステップ608)。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で暗号処理する旨である場合には、ソフトウェア処理ブロックのCPU10にてペイロードの分割を行い、それぞれ、閾値以下のフィールド長のペイロードについては、暗号化ブロック50(ハードウェアで処理)で暗号化処理され、閾値以上のフィールド長のペイロードについては、暗号化ブロック14(ソフトウェアで処理)で暗号化処理されるように構成される。
FIG. 6 is a flowchart showing a process of encryption processing by software and hardware in this embodiment.
First, upon receiving a request for transferring application software from the user, the
Next, the encryption threshold
The encryption threshold
When the threshold value is calculated (or determined) (step 602; Y), the encryption threshold
Then, the encryption threshold
The
Then, the
If the processing decision information is to perform cryptographic processing by both hardware and software, the
ここで、ソフトウェアにおける暗号処理過程をステップ604〜ステップ606にて説明する。また、ハードウェアにおける暗号処理過程をステップ610〜ステップ616にて説明する。
特に、マックヘッダの処理過程については、ステップ610〜ステップ612にて説明し、ペイロードの処理過程については、ステップ614〜ステップ616にて説明する。
Here, the cryptographic process in software will be described in steps 604 to 606. Also, the cryptographic process in hardware will be described in steps 610 to 616.
In particular, the Mac header processing process will be described in Steps 610 to 612, and the payload processing process will be described in Steps 614 to 616.
まず、ソフトウェア処理ブロックのCPU10は、暗号化ブロック14で第1の閾値、または第2の閾値以降のフィールド長のペイロードについて暗号化を行い(ステップ604)、暗号化されたペイロードをデバイス入出力IF20に入力する。
該暗号化されたペイロードは、デバイス入出力IF20、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号データ用RAM60に格納される(ステップ606)。
First, the
The encrypted payload is stored in the
ソフトウェア処理ブロックのCPU10は、ステップ608において暗号化対象フィールド(ペイロード)の入力が終了したか否かを判断する(ステップ610)。
ペイロードの入力が終了した場合(ステップ610;Y)、続いてマックヘッダの入力を行う(ステップ610;Y)。
デバイス入出力IF20は、プロトコル処理ブロック30、および暗復号化/非暗復号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ612)。
The
When the input of the payload is completed (Step 610; Y), the Mac header is subsequently input (Step 610; Y).
The device input / output IF 20 transfers the MAC header via the
ステップ608において、デバイス入出力IF20に入力された暗号化対象フィールド(ペイロード)は、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号化ブロック50に転送される。
暗号化ブロック50では、転送されたペイロードに対して、暗号化処理が行われる(ステップ614)。
このとき、暗号化ブロック50は、暗号化に際して、暗号鍵用RAM130に格納された暗号鍵を適宜参照して、ペイロード(暗号化対象フィールド)に対して暗号化処理を行う。
そして、暗号化ブロック50は、暗号化処理が終了したペイロードを暗号データ用RAM60にバスラインを介して転送し、該暗号データ用RAM60に暗号化されたペイロードを格納する(ステップ616)。
In step 608, the encryption target field (payload) input to the device input / output IF 20 is transferred to the
In the
At this time, the
Then, the
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報(マックヘッド)を取得する。
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に対となるWUSBパケットが揃ったか否かを検知する(ステップ618)。
そして、対となるWUSBパケットを検知した場合(ステップ618;Y)に、暗号化/非暗号化フィールド読出手段80からマックヘッド、および暗号化されたペイロードがカウンタ90に転送される。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、WUSBパケットを生成する。
カウンタ90では、暗号化されたWUSBパケットを、結合データ用RAM100に格納する(ステップ620)。
The
The data count and field length information (mac head) of each data stored in the
The
When the paired WUSB packet is detected (step 618; Y), the encrypted / unencrypted field reading means 80 transfers the mac head and the encrypted payload to the
The
The
FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットをWiMedia PHYを介してデータ送信を行う(ステップ622)。
The
Then, the MAC-
図7は、本実施形態におけるソフトウェアによる暗号化処理の過程を示したフローチャートである。
まず、ユーザからのアプリケーションソフトの転送要求などを受け付け、ソフトウェア処理ブロックのCPU10は、マックヘッダ、およびペイロードによって構成されるWUSBパケットを生成する(ステップ700)。
次に、暗号化閾値決定ブロック11は、生成されたパケット中のマックヘッダ、およびペイロードを取得し、それぞれのフィールド長を計測する。
なお、暗号化閾値決定ブロック11は、マックヘッダのフィールド長については、予め設定されている場合があるので、その場合には、ペイロードのフィールド長を計測することとして構成する。
暗号化閾値決定ブロック11は、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の暗号化対象フィールド長などを基に第1の閾値、および第2の閾値を算出(または決定)する(ステップ702)。
閾値が算出(または決定)された場合(ステップ702;Y)、暗号化閾値決定ブロック11は、計測したフィールド長を、算出した第1の閾値、および第2の閾値と比較する。
そして、計測されたフィールド長が第1の閾値、および第2の閾値を下回った場合、ハードウェアで暗号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ703)。
FIG. 7 is a flowchart showing a process of encryption processing by software in the present embodiment.
First, upon receiving a request for transferring application software from the user, the
Next, the encryption threshold
The encryption threshold
The encryption threshold
When the threshold is calculated (or determined) (step 702; Y), the encryption
When the measured field length falls below the first threshold value and the second threshold value, processing determination information indicating that the encryption processing is performed by hardware is added to the payload (step 703).
ここで、マックヘッダの処理過程については、ステップ704にて説明し、ペイロードの処理過程については、ステップ706〜ステップ708にて説明する。
Here, the processing process of the Mac header will be described in
デバイス入出力IF20は、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、マックヘッダを転送し、非暗号データ用RAM70に格納する(ステップ704)。
次に、ソフトウェア処理ブロックのCPU10は、暗号化ブロック14で第1の閾値、または第2の閾値を下回るフィールド長のペイロードの暗号化を行い(ステップ706)、暗号化されたペイロードをデバイス入出力IF20に入力する。
そして、デバイス入出力IF20は、暗号化されたペイロードを、プロトコル処理ブロック30、および暗号化/非暗号化フィールド分類手段40を介して、暗号データ用RAM60に格納する(ステップ708)。
The device input / output IF 20 transfers the MAC header via the
Next, the
The device input / output IF 20 then stores the encrypted payload in the
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
非暗号データ用RAM70、および暗号データ用RAM60に格納された各データのデータカウント、およびフィールド長情報(マックヘッド)を取得する。
カウンタ90は、非暗号データ用RAM70、および暗号データ用RAM60に対となるWUSBパケットが揃ったか否かを検知する(ステップ710)。
対となるWUSBパケットを検知した場合(ステップ710;Y)に、暗号化/非暗号化フィールド読出手段80からマックヘッド、および暗号化されたペイロードが転送される。
カウンタ90では、マックヘッドと該暗号化されたペイロードを結合して、WUSBパケットを生成し、結合データ用RAM100に格納する(ステップ712)。
The
The data count and field length information (mac head) of each data stored in the
The
When a paired WUSB packet is detected (step 710; Y), the encrypted / unencrypted field reading means 80 transfers the mac head and the encrypted payload.
The
FCSブロック110は、結合データ用RAM100に格納されたWUSBパケットに対して、FCSフィールドを付加し、バスラインを介して、MAC−PHYIF120に転送する。
そして、MAC−PHYIF120は、FCSブロック110から転送された、該FCSフィールドの付加されたWUSBパケットをWiMedia PHYを介してデータ送信を行う(ステップ714)。
The
Then, the MAC-
(4)復号化処理を行う暗復号化装置1の手順
図8は、本実施形態におけるハードウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、暗号化されたWUSBパケットをWiMedia PHYを介して、他の装置から受信する(ステップ800)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ802)。
そして、データの誤りがない場合には(ステップ802;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ802;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ804)。
(4) Procedure of Encryption /
First, the MAC-
Then, the encrypted WUSB packet is transferred to the
The
If there is no data error (step 802; Y), the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
If there is a data error (step 802; N), the packet is discarded and a data retransmission request is made to another device (step 804).
復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ806)。
そして、暗号化されている場合、復号化が必要であるため、復号化判定ブロック150は、WUSBパケットのペイロード(復号化対象フィールド)を、WUSBパケットを第1の復号化/非復号化フィールド分類手段160に転送する(ステップ806;Y)。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ808)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基に算出する方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ808;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The
Then, since the decryption is necessary if it is encrypted, the
The decoding threshold
Then, the decoding threshold
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a method of calculating based on information related to processing speed such as the length of a decoding target field in a packet.
When the threshold is determined in the decoding threshold determination block 170 (step 808; Y), the decoding
そして、計測されたフィールド長が第1の閾値を下回るか否かを判断し、下回る場合、ハードウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ809)。
ハードウェアにて復号化処理を行うため、ペイロードを復号化対象フィールドとし、該復号化対象フィールドを第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードが復号化対象フィールドであるか否かに基づき、復号化対象フィールドを復号化ブロック180に転送する。
ここで、マックヘッダの処理過程については、ステップ810〜ステップ812にて説明し、ペイロードの処理過程については、ステップ814〜ステップ816にて説明する。
Then, it is determined whether or not the measured field length is less than the first threshold value. If the measured field length is less than the first threshold value, processing determination information indicating that the decoding process is performed by hardware is added to the payload (step 809).
In order to perform the decoding process by hardware, the payload is set as a decoding target field, and the decoding target field is transferred to the second decoding / non-decoding
The second decoding / non-decoding
Here, the Mac header processing process will be described in Steps 810 to 812, and the payload processing process will be described in Steps 814 to 816.
デバイス入出力IF260は、ペイロード(復号化対象フィールド)の入力が終了したか否かを判断し(ステップ810)、入力が終了した場合に、続いて、マックヘッドの入力が行われる(ステップ810;Y)。
そして、該マックヘッドは、非復号データ用RAM210に転送され、格納される(ステップ812)。
The device input / output IF 260 determines whether or not the input of the payload (decoding target field) is completed (step 810), and when the input is completed, the input of the mac head is subsequently performed (step 810; Y).
Then, the mac head is transferred to the
復号化ブロック180は、第2の復号化/非復号化フィールド分類手段175から転送されたペイロードの復号化処理を行う(ステップ814)。
このとき、復号化に際して、復号化ブロック180は、復号鍵用RAM190に格納された復号鍵を適宜参照して、復号化対象フィールドに対して復号化処理を行う。
そして、復号化ブロック180は、復号化の処理が終了した復号化対象フィールドを復号データ用RAM210にバスラインを介して転送し、復号化されたペイロードを格納する(ステップ816)。
The
At this time, in the decryption, the
Then, the
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得する。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210にWUSBパケットが揃ったか否かを検知する(ステップ818)。
復号化されたWUSBパケットが揃った場合(ステップ818;Y)に、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する暗号化されたペイロードがカウンタ230に転送され、該カウンタ230では、転送されたマックヘッド、およびペイロードを結合して、復号化されたWUSBパケットを生成する。
そして、カウンタ230では、この復号化されたWUSBパケットを、結合データ用RAM240に格納する(ステップ820)。
プロトコル処理ブロック250は、結合データ用RAM240に格納されたWUSBパケットを、デバイス入出力IF260に転送する。
そして、デバイス入出力IF260は、復号化されたWUSBパケットを受信し、ソフトウェア処理ブロックのCPU270に対して入力する(ステップ822)。
The
The
The
When the decrypted WUSB packets are ready (step 818; Y), the decryption / non-decryption field reading means 220 transfers the mac head and the encrypted payload corresponding to the mac head to the
The
The
The device input / output IF 260 then receives the decrypted WUSB packet and inputs it to the
一方、ステップ806において、WUSBパケットが暗号化されていない場合、復号化判定ブロック150は、該WUSBパケットをデバイス入出力IF260を介してソフトウェア処理ブロックのCPU270に対して入力する(ステップ806;N)。
On the other hand, when the WUSB packet is not encrypted in step 806, the
図9は、本実施形態におけるソフトウェア、およびハードウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、WiMedia PHYを介して、暗号化されたWUSBパケットを他の装置から受信する(ステップ900)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ902)。
そして、データの誤りがない場合には(ステップ902;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ902;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ904)。
FIG. 9 is a flowchart showing a process of decoding processing by software and hardware in the present embodiment.
First, the MAC-
Then, the encrypted WUSB packet is transferred to the
The
If there is no data error (
If there is a data error (
復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ906)。
そして、暗号化されている場合(ステップ906;Y)、復号化が必要であるため、復号化判定ブロック150は、ペイロード(復号化対象フィールド)を含むWUSBパケットを、第1の復号化/非復号化フィールド分類手段160に転送する。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ908)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ908;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The
If it is encrypted (step 906; Y), since decryption is necessary, the
The decoding threshold
Then, the decoding threshold
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a calculation method based on information related to processing speed such as the length of a decoding target field in a packet.
When the threshold is determined in the decoding threshold determination block 170 (step 908; Y), the decoding
そして、計測されたフィールド長が第1の閾値、および第2の閾値を上回るか否かを判断し、上回る場合、ハードウェア、およびソフトウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ909)。
そして、ハードウェア、およびソフトウェアにて復号化処理を行うため、ペイロード(復号化対象フィールド)を第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
そして、復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、復号化ブロック180に転送し、処理決定情報がソフトウェアにて処理する旨を示す情報である場合、デバイス入出力IF260に転送する。
なお、処理決定情報がハードウェア、およびソフトウェアの両者で復号処理する旨である場合には、復号化閾値決定ブロック170にてペイロードの分割を行い、それぞれ、閾値以下のフィールド長のペイロードについては、復号化ブロック180(ハードウェアで処理)で復号化処理され、閾値以上のフィールド長のペイロードについては、暗号化ブロック272(ソフトウェアで処理)で復号化処理されるように構成される(ステップ910)。
Then, it is determined whether or not the measured field length exceeds the first threshold value and the second threshold value, and if so, processing determination information indicating that decoding processing is performed by hardware and software is included in the payload. (Step 909).
Then, in order to perform decoding processing by hardware and software, the payload (decoding target field) is transferred to the second decoding / non-decoding field classification means 175 via the bus line.
Then, the decoding threshold
The second decoding / non-decoding
If the processing determination information is to be decoded by both hardware and software, the payload is divided at the decoding
ここで、ソフトウェアにおける復号処理過程をステップ912にて説明する。また、ハードウェアにおける復号処理過程をステップ914〜ステップ920にて説明する。特に、マックヘッダの処理過程については、ステップ914〜ステップ916にて説明し、ペイロードの処理過程については、ステップ918〜ステップ920にて説明する。 Here, the decoding process in software will be described in step 912. Also, the decoding process in hardware will be described in steps 914 to 920. In particular, the Mac header processing process will be described in steps 914 to 916, and the payload processing process will be described in steps 918 to 920.
ソフトウェア処理ブロックのCPU270は、デバイス入出力IF260から第1の閾値、または第2の閾値以降のフィールド長のペイロードについて復号化を行う(ステップ912)。
一方、デバイス入出力IF200は、ペイロード(復号化対象フィールド)の入力が終了したか否かを判断し(ステップ914)、入力が終了した場合(ステップ914;Y)、マックヘッドを非復号データ用RAM200に転送し、格納する(ステップ916)。
The
On the other hand, the device input / output IF 200 determines whether or not the input of the payload (decoding target field) is completed (step 914). When the input is completed (step 914; Y), the mac head is used for non-decoded data. The data is transferred to the
復号化ブロック180は、転送されたペイロード(復号化対象フィールド)の復号化処理を行う(ステップ918)。
このとき、復号化に際して、復号化ブロック180は、復号鍵用RAM190に格納された復号鍵を適宜参照して、ペイロード(復号化対象フィールド)に対して復号化処理を行う。
そして、復号化ブロック180は、復号化処理が終了したペイロード(復号化対象フィールド)を暗号データ用RAM210にバスラインを介して転送して格納する(ステップ920)。
The
At this time, at the time of decryption, the
Then, the
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210とバスラインを介して接続しており、読み出しイネーブル信号を周期的に送信している。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210に格納された各データのデータカウント、およびフィールド長情報を取得する。
カウンタ230は、非復号データ用RAM200、および復号データ用RAM210にWUSBパケットが揃ったか否かを検知する(ステップ922)。
そして、暗号化されたWUSBパケットが揃った場合(ステップ922;Y)に、復号化/非復号化フィールド読出手段220からマックヘッド、および該マックヘッドに対応する暗号化されたペイロードがカウンタ230に転送され、該カウンタ230では、転送されたマックヘッド、およびペイロードを結合して、復号化されたWUSBパケットを生成する。
そして、カウンタ230では、この復号化されたWUSBパケットを、結合データ用RAM240に格納する(ステップ924)。
プロトコル処理ブロック250は、結合データ用RAM240に格納されたWUSBパケットを、デバイス入出力IF260に転送する。
そして、デバイス入出力IF260は、復号化されたWUSBパケットを受信し、ソフトウェア処理ブロックのCPU270に対して入力する。
ソフトウェア処理ブロックのCPU270では、ハードウェアによる復号処理されたペイロード、およびソフトウェアによる復号処理されたペイロードをそれぞれ結合し、該結合されたパケットに、さらにマックヘッダを結合して、WUSBパケットを生成する(ステップ926)。
The
The
The
When the encrypted WUSB packets are ready (step 922; Y), the decryption / non-decryption
The
The
The device input / output IF 260 receives the decrypted WUSB packet and inputs it to the
The
一方、ステップ906において、WUSBパケットが暗号化されていない(復号化しない)場合(ステップ906;N)、復号化判定ブロック150は、該WUSBパケットを復号化しないものとして、デバイス入出力IF260を介してソフトウェア処理ブロックのCPU270に対して入力する(ステップ928)。
On the other hand, if the WUSB packet is not encrypted (not decrypted) in step 906 (step 906; N), the
図10は、本実施形態におけるソフトウェアによる復号化処理の過程を示したフローチャートである。
まず、MAC−PHYIF135は、暗号化されたWUSBパケットをWiMedia PHYを介して、他の装置から受信する(ステップ1000)。
そして、該暗号化されたWUSBパケットをFCSブロック140へ転送する。
FCSブロック140は、WUSBパケットに付加されたFCSフィールドから、チェックサム符号を計算し、データの誤り検出を行う(ステップ1002)。
そして、データの誤りがない場合には(ステップ1002;Y)、FCSブロック140は、バスラインを介して接続した復号化判定ブロック150に暗号化されたWUSBパケットを転送する。
なお、データの誤りがある場合には(ステップ1002;N)、パケットは廃棄され、データの再送要求を他の装置に対して行う(ステップ1004)。
FIG. 10 is a flowchart showing the process of decryption processing by software in this embodiment.
First, the MAC-
Then, the encrypted WUSB packet is transferred to the
The
If there is no data error (step 1002; Y), the FCS block 140 transfers the encrypted WUSB packet to the decryption determination block 150 connected via the bus line.
If there is a data error (step 1002; N), the packet is discarded and a data retransmission request is made to another device (step 1004).
復号化判定ブロック150は、転送されたWUSBパケットが、暗号化されているか否かを判定する(ステップ1006)。
そして、暗号化されている場合(ステップ1006;Y)、復号化が必要であるため、復号化判定ブロック150は、WUSBパケットを第1の復号化/非復号化フィールド分類手段160に転送する。
復号化閾値決定ブロック170は、転送されたパケット中のマックヘッダ、およびペイロードを取得し、取得したそれぞれのフィールド長を計測する。
そして、復号化閾値決定ブロック170は、第1の閾値、および第2の閾値を算出(または決定)する(ステップ1008)。
ここで、第1の閾値、および第2の閾値の算出方法には、例えば、CPUクロック周波数、デバイスのクロック周波数、デバイスのバスビット幅、転送速度、ハードウェア、ソフトウェアの暗復号処理時間、およびパケット中の復号化対象フィールド長などの処理速度に係る情報を基にする算出する方法がある。
復号化閾値決定ブロック170にて閾値が決定した場合(ステップ1008;Y)、該復号化閾値決定ブロック170は、計測されたフィールド長と、算出された第1の閾値、および第2の閾値とを比較する。
The
If it is encrypted (
The decoding threshold
Then, the decoding threshold
Here, the first threshold value and the second threshold value calculation method include, for example, CPU clock frequency, device clock frequency, device bus bit width, transfer speed, hardware, software encryption / decryption processing time, and There is a calculation method based on information related to processing speed such as the length of a field to be decoded in a packet.
When the threshold value is determined by the decoding threshold value determination block 170 (
計測されたフィールド長が第1の閾値を下回るか否かを判断し、下回る場合、ソフトウェアで復号化処理を行う旨を示す処理決定情報をペイロードに付与する(ステップ1009)。
ソフトウェアにて復号化処理を行うため、ペイロード(復号化対象フィールド)を第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
復号化閾値決定ブロック170は、処理決定情報をペイロードに付与し、第2の復号化/非復号化フィールド分類手段175にバスラインを介して転送する。
第2の復号化/非復号化フィールド分類手段175は、ペイロードに付与された処理決定情報を認識する。そして、認識の結果、ペイロードの処理決定情報がハードウェアにて処理する旨を示す情報である場合、該ペイロードを復号化ブロック180に転送する。
It is determined whether or not the measured field length is less than the first threshold value. If the measured field length is less than the first threshold value, processing determination information indicating that the decoding process is performed by software is added to the payload (step 1009).
In order to perform the decoding process by software, the payload (decoding target field) is transferred to the second decoding / non-decoding
The decoding threshold
The second decoding / non-decoding
ソフトウェア処理ブロックのCPU270は、デバイス入出力IF260から第1の閾値、または第2の閾値を下回るフィールド長のペイロードの復号化を行う(ステップ1009)。
The
以上説明したように、本実施形態では、暗号処理、および復号処理を併用して処理することが可能である。
そして、本実施形態における暗復号処理では、第1の閾値、および第2の閾値を算出し、これら閾値とフィールド長との比較の結果、計測されたフィールド長が第1の閾値を下回る場合、ソフトウェア側にて暗復号化処理を行うように構成され、上回る場合には、ハードウェア側にて処理するように構成されている。
また、第2の閾値を上回る場合には、ソフトウェア、およびハードウェアの両者を用いて暗復号化処理を行うように構成されている。
As described above, in the present embodiment, it is possible to perform processing by using both encryption processing and decryption processing.
Then, in the encryption / decryption processing in the present embodiment, when the first threshold value and the second threshold value are calculated and the measured field length is less than the first threshold value as a result of comparison between the threshold value and the field length, It is configured to perform encryption / decryption processing on the software side, and when it exceeds, it is configured to perform processing on the hardware side.
Moreover, when exceeding a 2nd threshold value, it is comprised so that an encryption / decryption process may be performed using both software and hardware.
本実施形態では、ハードウェアによる暗復号処理を行う、またはハードウェアとソフトウェアの両者による暗復号処理を行う場合には、暗復号化対象フィールド(ペイロード)を非暗復号化対象フィールド(マックヘッダ)より優先して入力する。
これにより、パケット通信システムにおけるデバイスへの入力順序や、1のパケットの暗復号処理に注目することができ、結果的に、暗復号化における処理速度を向上させることができる。
In the present embodiment, when performing encryption / decryption processing by hardware, or when performing encryption / decryption processing by both hardware and software, the encryption / decryption target field (payload) is changed to the non-encryption / decryption target field (Mac header). Enter with higher priority.
Thereby, attention can be paid to the order of input to devices in the packet communication system and the encryption / decryption processing of one packet, and as a result, the processing speed in encryption / decryption can be improved.
なお、本実施形態では、暗復号化装置1を無線通信システム(WUSB)に接続される装置としたが、本発明の機器、およびアプリケーションはそれに限定されることなく、IEEE802.11無線LANや、他の有線通信システムなどにおいても本発明を実施することが可能である。
また、上記通信方式の変更によって、ヘッダもマックヘッダのみに限定されることなく、種々に設定される。
In the present embodiment, the encryption /
In addition, the header is not limited to only the Mac header but can be set variously by changing the communication method.
(5)変形例
図2は、本実施形態の変形例における暗号化処理を行う暗復号化装置1の構成を示したブロック図である。
なお、以下に説明する各実施形態の説明では、本実施形態と同様の部分については同一の符号を付し、異なる部分については、異なる符号を付す。そして、同一部分については、適宜その説明を省略することとする。
(5) Modified Example FIG. 2 is a block diagram showing the configuration of the encryption /
In the description of each embodiment described below, the same parts as those in the present embodiment are denoted by the same reference numerals, and different parts are denoted by different reference numerals. The description of the same part will be omitted as appropriate.
本実施形態の変形例では、暗号化閾値決定ブロック11がハードウェア側に実装されている。
すなわち、本実施形態の変形例におけるソフトウェアは、ソフトウェア処理ブロックのCPU10(マックヘッダ生成ブロック12、ペイロード生成ブロック13、および暗号化ブロック14)によって構成され、本実施形態の変形例におけるハードウェアは、暗号化閾値決定ブロック11、デバイス入出力IF20、プロトコル処理ブロック30、暗号化/非暗号化フィールド分類手段40、暗号化ブロック50、暗号データ用RAM60、非暗号データ用RAM70、暗号化/非暗号化フィールド読出手段80、カウンタ90、結合データ用RAM100、FCSブロック110、MAC−PHYIF120、および暗号鍵用RAM130によって構成されるものとして説明する。
In the modification of this embodiment, the encryption threshold
That is, the software in the modification of the present embodiment is configured by the CPU 10 (Mac
本実施形態の変形例では、暗号化閾値決定ブロック11にてソフトウェアで暗号化処理が必要となった場合は、ソフトウェアで暗号化処理を行う対象フィールドのみを抽出し、ハードウェアからソフトウェアに再転送することができる。
In the modification of the present embodiment, when the encryption
1 暗復号化装置
10 ソフトウェア処理ブロックのCPU
11 暗号化閾値決定ブロック
12 マックヘッダ生成ブロック
13 ペイロード生成ブロック
14 暗号化ブロック
20 デバイス入出力IF
30 プロトコル処理ブロック
40 暗号化/非暗号化フィールド分類手段
50 暗号化ブロック
60 暗号データ用RAM
70 非暗号データ用RAM
80 暗号化/非暗号化フィールド読出手段
90 カウンタ
100 結合データ用RAM
110 FCSブロック
120 MAC−PHYIF
130 暗号鍵用RAM
135 MAC−PHYIF
140 FCSブロック
150 復号化判定ブロック
160 第1の復号化/非復号化フィールド分類手段
170 復号化閾値決定ブロック
175 第2の復号化/非復号化フィールド分類手段
180 復号化ブロック
190 復号鍵用RAM
200 非復号データ用RAM
210 復号データ用RAM
220 復号化/非復号化フィールド読出手段
230 カウンタ
240 結合データ用RAM
250 プロトコル処理ブロック
260 デバイス入出力IF
270 ソフトウェア処理ブロックのCPU
271 パケット結合ブロック
272 復号化ブロック
1 Encryption /
11 Encryption
30
70 RAM for non-encrypted data
80 Encrypted / non-encrypted field reading means 90
110 FCS block 120 MAC-PHYIF
130 Encryption key RAM
135 MAC-PHYIF
140 FCS block 150
200 RAM for non-decoded data
210 Decoded data RAM
220 Decoding / non-decoding field reading means 230
250
270 CPU of software processing block
271
Claims (14)
非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領手段と、
前記パケット受領手段で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測手段と、
前記フィールド長計測手段で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定手段と、を備え、
前記処理決定手段において、ハードウェアによる暗復号化処理を行う、またはハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合、前記ペイロードを前記ヘッダより優先して入力する入力手段と、
を備えたことを特徴とする暗復号化装置。 In an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software,
A packet receiving means for receiving a packet including a header that is a non-encryption target field and a payload that is an encryption target field;
A field length measuring means for measuring a field length of a packet received by the packet receiving means or a payload;
Based on the field length measured by the field length measuring means, hardware encryption / decryption processing is performed, software encryption / decryption processing is performed, or both hardware / software encryption / decryption processing is performed. Or a process determining means for determining
In the processing determining means, when it is determined to perform encryption / decryption processing by hardware or to perform encryption / decryption processing by both hardware and software, input means for inputting the payload in preference to the header; ,
An encryption / decryption device comprising:
前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値受付手段で受け付けた前記第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記受付手段で受け付けた前記第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置。 A threshold receiving means for receiving the first threshold and the second threshold from the user;
The processing determining unit compares the field length measured by the field length measuring unit with the first threshold received by the threshold receiving unit, and performs encryption / decryption processing by hardware, or by software. It is determined whether to perform the decoding process, and the field length measured by the field length measuring unit is compared with the second threshold value received by the receiving unit, and the encryption / decryption process is performed by both hardware and software. 3. The encryption / decryption device according to claim 1, wherein it is determined whether or not to perform.
前記処理決定手段は、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第1の閾値とを比較して、ハードウェアで暗復号化処理を行うか、ソフトウェアで暗復号化処理を行うかを決定し、前記フィールド長計測手段で計測したフィールド長と、前記閾値算出手段で算出した第2の閾値とを比較して、ハードウェアとソフトウェアの両方で暗復号化処理を行うか否かを決定することを特徴とする請求項1、または請求項2記載の暗復号化装置。 Threshold calculation means for calculating a first threshold and a second threshold based on the processing speed in the hardware encryption / decryption processing and the software encryption / decryption processing,
The processing determining means compares the field length measured by the field length measuring means with the first threshold value calculated by the threshold value calculating means, and performs encryption / decryption processing by hardware, or encryption / decryption by software The field length measured by the field length measuring unit is compared with the second threshold value calculated by the threshold value calculating unit, and the encryption / decryption process is performed by both hardware and software. 3. The encryption / decryption device according to claim 1, wherein whether to perform the determination is determined.
前記非暗復号化対象フィールドであるヘッダを格納する非暗復号データ格納手段と、をさらに備えたことを特徴とする請求項1から請求項4のいずれか1項に記載の暗復号化装置。 Stores a payload obtained by performing encryption / decryption on the payload as the encryption / decryption target field by the encryption / decryption processing by the hardware, the encryption / decryption processing by the software, or the encryption / decryption processing by both the hardware and software. Encryption / decryption data storage means for
5. The encryption / decryption device according to claim 1, further comprising non-encrypted data storage means for storing a header that is the non-encrypted field to be decoded.
前記入力手段は、前記格納先設定手段で前記ヘッダより先に前記ペイロードの格納先を設定することにより、前記ペイロードを前記ヘッダより優先して入力することを特徴とする請求項1から請求項6のいずれか1項に記載の暗復号化装置。 A storage destination setting means for setting a header and a storage destination address of the payload;
The input means inputs the payload in preference to the header by setting the storage destination of the payload prior to the header by the storage destination setting means. The encryption / decryption device according to any one of the above.
非暗復号化対象フィールドであるヘッダ、および暗復号化対象フィールドであるペイロードから構成されるパケットを受領するパケット受領機能と、
前記パケット受領機能で受領したパケット、またはペイロードのフィールド長を計測するフィールド長計測機能と、
前記フィールド長計測機能で計測したフィールド長に基づいて、ハードウェアによる暗復号化処理を行うか、ソフトウェアによる暗復号化処理を行うか、または、ハードウェアとソフトウェアの両方による暗復号化処理を行うか、を決定する処理決定機能と、を備え、
前記処理決定機能において、ハードウェアによる暗復号化処理を行う、またはハードウェアとソフトウェアの両方による暗復号化処理を行うことを決定した場合、前記ペイロードを前記ヘッダより優先して入力する入力機能と、
を実行する暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体。 In an encryption / decryption device that uses both encryption / decryption processing by hardware and encryption / decryption processing by software,
A packet receiving function for receiving a packet composed of a header that is a non-encryption target field and a payload that is an encryption target field;
A field length measuring function for measuring the field length of the packet received by the packet receiving function or the payload;
Based on the field length measured by the field length measurement function, hardware encryption / decryption processing, software encryption / decryption processing, or both hardware / software encryption / decryption processing is performed. And a process determination function for determining
In the processing determination function, when it is determined to perform encryption / decryption processing by hardware, or to perform encryption / decryption processing by both hardware and software, an input function that inputs the payload in preference to the header; ,
A computer-readable storage medium in which an encryption / decryption program for executing is stored.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007311276A JP5112028B2 (en) | 2007-11-30 | 2007-11-30 | An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007311276A JP5112028B2 (en) | 2007-11-30 | 2007-11-30 | An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009135813A true JP2009135813A (en) | 2009-06-18 |
JP5112028B2 JP5112028B2 (en) | 2013-01-09 |
Family
ID=40867254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007311276A Expired - Fee Related JP5112028B2 (en) | 2007-11-30 | 2007-11-30 | An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5112028B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695565A (en) * | 2021-07-13 | 2023-02-03 | 大唐移动通信设备有限公司 | Data message processing method and device and computer readable storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001177516A (en) * | 1999-12-17 | 2001-06-29 | Nec Corp | Method and device for enciphering and decoding, and recording medium |
JP2003069555A (en) * | 2001-08-29 | 2003-03-07 | Mitsubishi Electric Corp | Encryption device and encryption/decryption processing method |
JP2004304696A (en) * | 2003-04-01 | 2004-10-28 | Matsushita Electric Ind Co Ltd | Encryption communication apparatus |
JP2006235440A (en) * | 2005-02-28 | 2006-09-07 | Seiko Epson Corp | Semiconductor integrated circuit |
JP2007028474A (en) * | 2005-07-21 | 2007-02-01 | Matsushita Electric Ind Co Ltd | Encryption processing apparatus for limited reception system |
JP2007043724A (en) * | 2005-08-04 | 2007-02-15 | Dibcom | Method, apparatus and computer program for decoding data by using host processor and co-processor |
JP2008048042A (en) * | 2006-08-11 | 2008-02-28 | Matsushita Electric Ind Co Ltd | Encryption device, decryption device, encryption method, and decryption method |
-
2007
- 2007-11-30 JP JP2007311276A patent/JP5112028B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001177516A (en) * | 1999-12-17 | 2001-06-29 | Nec Corp | Method and device for enciphering and decoding, and recording medium |
JP2003069555A (en) * | 2001-08-29 | 2003-03-07 | Mitsubishi Electric Corp | Encryption device and encryption/decryption processing method |
JP2004304696A (en) * | 2003-04-01 | 2004-10-28 | Matsushita Electric Ind Co Ltd | Encryption communication apparatus |
JP2006235440A (en) * | 2005-02-28 | 2006-09-07 | Seiko Epson Corp | Semiconductor integrated circuit |
JP2007028474A (en) * | 2005-07-21 | 2007-02-01 | Matsushita Electric Ind Co Ltd | Encryption processing apparatus for limited reception system |
JP2007043724A (en) * | 2005-08-04 | 2007-02-15 | Dibcom | Method, apparatus and computer program for decoding data by using host processor and co-processor |
JP2008048042A (en) * | 2006-08-11 | 2008-02-28 | Matsushita Electric Ind Co Ltd | Encryption device, decryption device, encryption method, and decryption method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695565A (en) * | 2021-07-13 | 2023-02-03 | 大唐移动通信设备有限公司 | Data message processing method and device and computer readable storage medium |
CN115695565B (en) * | 2021-07-13 | 2024-04-09 | 大唐移动通信设备有限公司 | Data message processing method and device and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5112028B2 (en) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8331567B2 (en) | Methods and apparatuses for generating dynamic pairwise master keys using an image | |
US20200274871A1 (en) | Encryption key updates in wireless communication systems | |
US8538023B2 (en) | Methods and apparatuses for administrator-driven profile update | |
US8121284B2 (en) | Information processing system, information processing method, and information processing program | |
US8078874B2 (en) | Method and apparatus for transmitting data using authentication | |
US8769257B2 (en) | Method and apparatus for extending transport layer security protocol for power-efficient wireless security processing | |
JP2018529271A (en) | Key generation method and apparatus using double encryption | |
US20050259824A1 (en) | Information processing apparatus, information processing method, and information processing program | |
US8578172B2 (en) | Information processing device for obtaining an HMAC | |
US20230421394A1 (en) | Secure authentication of remote equipment | |
EP3547601B1 (en) | Biometric information transmission establishing method , device, system, and storage medium | |
JP2011139457A (en) | System and method for secure transaction of data between wireless communication device and server | |
CN112398651A (en) | Quantum secret communication method and device, electronic equipment and storage medium | |
JP6289680B2 (en) | Packet transmission device, packet reception device, packet transmission program, and packet reception program | |
US11051247B2 (en) | Transmission/ reception device with wake-up radio resistant to attacks by denial of sleep | |
WO2015158166A1 (en) | Communication method between pos and mobile terminal, encryption method, apparatus and pos | |
US20180176230A1 (en) | Data packet transmission method, apparatus, and system, and node device | |
JP5824849B2 (en) | Information processing apparatus and information processing method | |
US10039059B2 (en) | Energy saving in wireless devices | |
KR101162333B1 (en) | Method and apparatus for checking RTT based on challenge response, and computer readable medium thereof | |
US20080045180A1 (en) | Data transmitting method and apparatus applying wireless protected access to a wireless distribution system | |
JP5112028B2 (en) | An encryption / decryption device and a computer-readable storage medium storing an encryption / decryption program. | |
JP6303426B2 (en) | Node device, communication system, communication method, and communication program | |
US20240348450A1 (en) | Safe and secure communication | |
Singh et al. | Protecting small keys in authentication protocols for wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120626 |
|
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: 20120912 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121010 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151019 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5112028 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |