JP4566546B2 - Communication apparatus, communication system, and algorithm selection method - Google Patents

Communication apparatus, communication system, and algorithm selection method Download PDF

Info

Publication number
JP4566546B2
JP4566546B2 JP2003367891A JP2003367891A JP4566546B2 JP 4566546 B2 JP4566546 B2 JP 4566546B2 JP 2003367891 A JP2003367891 A JP 2003367891A JP 2003367891 A JP2003367891 A JP 2003367891A JP 4566546 B2 JP4566546 B2 JP 4566546B2
Authority
JP
Japan
Prior art keywords
encryption
communication
schedule
algorithm
information determination
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.)
Expired - Fee Related
Application number
JP2003367891A
Other languages
Japanese (ja)
Other versions
JP2004254286A5 (en
JP2004254286A (en
Inventor
景一 高垣
博史 横田
雪絵 五島
敦宏 辻
昌朗 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003367891A priority Critical patent/JP4566546B2/en
Publication of JP2004254286A publication Critical patent/JP2004254286A/en
Publication of JP2004254286A5 publication Critical patent/JP2004254286A5/ja
Application granted granted Critical
Publication of JP4566546B2 publication Critical patent/JP4566546B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、通信装置、通信システムおよびアルゴリズム選択方法に関し、より特定的には、暗号通信などのデータの通信を行なう際に使用する暗号アルゴリズムなどの選択に関する。   The present invention relates to a communication device, a communication system, and an algorithm selection method, and more particularly, to selection of an encryption algorithm used when data communication such as encryption communication is performed.

<ネット家電>
近年のインターネット技術の普及に伴い、携帯端末や家電製品などをインターネットに接続し、さまざまなサービスを展開しようという動きが活発になっている。インターネットに接続可能な家電製品のさきがけとして、現在epステーションのような通信装置が発売されている。そのepステーションは、図42で示されるようなepサービスを実現するための機器である。epサービスの特徴は次の2つである。まず、放送局とepステーションをインターネットで結ぶことにより、放送と通信を融合したサービス、例えばTVショッピングや視聴者参加型番組などを実現することができる。また、epステーションはハードディスクを備えるため、衛星から放送されたTV番組や広告データ、インターネットからから受信した電子メールデータなどを蓄積することができる。
<Home appliances>
With the spread of Internet technology in recent years, there has been an active movement to develop various services by connecting mobile terminals and home appliances to the Internet. As an introduction to home appliances that can be connected to the Internet, communication devices such as an ep station are now on the market. The ep station is a device for realizing the ep service as shown in FIG. The features of the ep service are the following two. First, by connecting a broadcasting station and an ep station via the Internet, a service that combines broadcasting and communication, such as TV shopping or a viewer participation program, can be realized. Further, since the ep station has a hard disk, it can store TV programs and advertisement data broadcast from satellites, e-mail data received from the Internet, and the like.

現在のepステーションでは、電話回線を用いてインターネットに接続している。しかし、ADSLやCATV、光ファイバーなどの高速回線の普及によって、家庭においても高速なインターネット接続環境が整いつつあり、今後高速通信が可能なepステーションの後継機が登場することは容易に想像できる。   The current ep station is connected to the Internet using a telephone line. However, with the widespread use of high-speed lines such as ADSL, CATV, and optical fiber, a high-speed Internet connection environment is being prepared at home, and it can be easily imagined that a successor of an ep station capable of high-speed communication will appear in the future.

非特許文献1では、epサービスの前身であるeプロットフォーム構想について述べられており、高画質放送とデータ放送、蓄積放送サービスやインターネットへの高速アクセスを連動させたサービスの形態が示されている。高速インターネットを利用したアプリケーションとしては、映像配信や音楽配信などのダウンロードサービス、テレビ電話やネットワークカメラによる監視などが考えられる。   Non-Patent Document 1 describes the e-plot form concept that is the predecessor of the ep service, and shows a form of service that links high-quality broadcasting, data broadcasting, stored broadcasting service, and high-speed access to the Internet. . Applications that use the high-speed Internet include download services such as video distribution and music distribution, and monitoring with videophones and network cameras.

これらの応用用途の中でネットワークカメラを利用する場合を考える。ネットワークカメラの民生用の利用法としては、保育所にいる子供の様子や、独居老人となっている親の様子、外出中の自宅の様子などを観察するなどが考えられる。このようなプライバシーを伴うような映像をインターネット上で盗み見られないようにするためには、映像データを暗号化などにより保護する必要がある。   Consider the case of using a network camera among these applications. The network camera can be used for consumer use, such as observing the appearance of a child in a nursery school, the appearance of a parent who is living alone, or the appearance of a home while away from home. In order to prevent such an image with privacy from being stolen on the Internet, it is necessary to protect the image data by encryption or the like.

暗号通信を必要とするものとしては、上記のようなプライベートなデータの送信、電子商取引に関するデータの送受信、インターネットサービスなどでISPから各顧客のシステムに対して行なう機器制御情報の伝送、携帯電話などの個人端末から自宅の端末装置に留守の間に行なう操作情報の伝送(たとえば風呂を沸かしたりエアコンをONにしたり)など、様々な用途がある。   Those that require cryptographic communication include the transmission of private data as described above, the transmission and reception of data relating to electronic commerce, the transmission of device control information from the ISP to each customer's system, such as Internet services, mobile phones, etc. There are various uses such as transmission of operation information performed during absence from a personal terminal to a home terminal device (for example, boiling a bath or turning on an air conditioner).

<暗号通信>
従来から、機密性が必要とされるデータをインターネットなどの公衆ネットワーク上でやりとりする場合には、データの暗号化処理が行われている。非特許文献2では、インターネット上に潜む危険と、その対策としての暗号や認証の技術について詳しく述べられている。また、非特許文献3等には、インターネットで用いられている代表的な暗号化・認証プロトコルであるIPsec(Internet Protocol Security)について詳細に述べられている。
<Cryptographic communication>
Conventionally, when data that requires confidentiality is exchanged on a public network such as the Internet, data encryption processing has been performed. Non-Patent Document 2 describes in detail the danger lurking on the Internet and the technology of encryption and authentication as a countermeasure. Non-Patent Document 3 and the like describe in detail IPsec (Internet Protocol Security), which is a typical encryption / authentication protocol used in the Internet.

以下では、暗号通信の一般的な処理の流れを説明する。まず、データ送信側とデータ受信側の双方において、同じ暗号アルゴリズムを設定する。また、双方において、暗号化鍵と通信相手が暗号化したデータを復号化するための復号化鍵を設定する。暗号化鍵と復号化鍵が同じ場合は、共有鍵とも呼ばれる。なお、暗号アルゴリズムや鍵の設定は手動で設定するか、もしくは双方間の自動ネゴシエーションによって行われる。以上の設定が完了すると、次のような手順で暗号通信が行われる。まず、データ送信側は、送信データを設定された暗号アルゴリズムと暗号化鍵を用いて暗号化し、インターネット回線網に送信する。受信側は、暗号化されたパケットを受信すると、設定された暗号アルゴリズムと復号化鍵を用いて、暗号化パケットを復号化する。   In the following, a general processing flow of cryptographic communication will be described. First, the same encryption algorithm is set on both the data transmission side and the data reception side. In both cases, an encryption key and a decryption key for decrypting data encrypted by the communication partner are set. When the encryption key and the decryption key are the same, it is also called a shared key. Note that the encryption algorithm and key are set manually or by automatic negotiation between the two. When the above settings are completed, encrypted communication is performed according to the following procedure. First, the data transmission side encrypts transmission data using a set encryption algorithm and encryption key, and transmits the encrypted data to the Internet network. When receiving the encrypted packet, the receiving side decrypts the encrypted packet by using the set encryption algorithm and decryption key.

図43は、保育園に設置したネットワークカメラと家庭内のデジタルテレビをインターネット回線網で接続し、保育園での子供の状況を母親が家庭内で見ることができるようにしたシステムを想定した場合の、暗号通信に関する部分を説明するブロック図である。   FIG. 43 shows a system in which a network camera installed in a nursery school and a digital TV in the home are connected via an Internet network so that the mother can watch the situation of the child in the nursery at home. It is a block diagram explaining the part regarding encryption communication.

この場合、暗号処理部218は、デジタルテレビ自身の通信処理部216、インターネット回線網および相手のネットワークカメラの通信処理部206を介して、ネットワークカメラの暗号処理部204との間で各種データをパケット形式にして通信を行なう。まず、データ送信側とデータ受信側が同じ暗号アルゴリズムを使用するために、双方の間で、上記のネゴシエーションが行われる。暗号アルゴリズムのネゴシエーションにおいては、ネゴシエーション用のパケットを相手との間でやり取りする。まず、デジタルテレビの暗号情報決定部214は、送信用のネゴシエーションパケットを所定の形式で作成して、使用する暗号アルゴリズムをネットワークカメラに提案する。ネットワークカメラでは、通信処理部206および暗号処理部204を経由して得た提案暗号アルゴリズムを暗号・復号情報として暗号情報決定部202に渡し、提案された暗号アルゴリズムが使用可能かどうかを暗号情報決定部202で判定する。そして、使用の可否を、暗号処理部204および通信処理部206を経由して回答する。デジタルテレビの暗号情報決定部214は、その回答を通信処理部216および暗号処理部218を経由して受信し、受信した回答が「使用可能」であれば、提案した使用可能な暗号アルゴリズムを確定することをネゴシエーションパケットとしてネットワークカメラに通知して、使用する暗号アルゴリズムのネゴシエーションを終了する。また、暗号情報決定部214は、決定した暗号アルゴリズムを暗号処理部218に知らせて、アルゴリズム設定を指示する。また、暗号情報決定部202の方も、決定した暗号アルゴリズムを暗号処理部204に知らせて、アルゴリズム設定を指示する。その次に、暗号情報決定部214、202、暗号処理部218、204は、お互いに所定の通信を行ない、設定した暗号アルゴリズムに従って決められた手順により、決められた形態の暗号化鍵や復号化鍵を作成、設定する。暗号化鍵や復号化鍵が生成されると、以降は、暗号通信が可能になる。撮影部(図示しない)が撮影した映像データを、暗号通信アプリケーション200が、暗号処理部204に渡す。暗号処理部204は、設定された暗号アルゴリズムを使用して映像データを暗号化し、データパケット化して、通信処理部206およびインターネット回線網を経て、デジタルテレビに送る。デジタルテレビでは、そのデータパケットを通信処理部216で受信した後、暗号処理部218において復号化し、復号化された映像データを暗号通信アプリケーション210に渡す。暗号通信アプリケーション210は、ネットワークカメラの映像データをテレビのディスプレイの所定位置に所定の大きさで表示する処理を行なう。   In this case, the encryption processing unit 218 packetizes various data with the encryption processing unit 204 of the network camera via the communication processing unit 216 of the digital television itself, the Internet network and the communication processing unit 206 of the other network camera. Communicate in the form. First, since the data transmission side and the data reception side use the same encryption algorithm, the above-described negotiation is performed between the two. In the negotiation of the encryption algorithm, a negotiation packet is exchanged with the other party. First, the encryption information determination unit 214 of the digital television creates a transmission negotiation packet in a predetermined format and proposes an encryption algorithm to be used to the network camera. In the network camera, the proposed encryption algorithm obtained via the communication processing unit 206 and the encryption processing unit 204 is passed as encryption / decryption information to the encryption information determination unit 202 to determine whether the proposed encryption algorithm can be used. This is determined by the unit 202. Then, whether or not it can be used is answered via the encryption processing unit 204 and the communication processing unit 206. The encryption information determination unit 214 of the digital television receives the response via the communication processing unit 216 and the encryption processing unit 218. If the received response is “available”, the proposed encryption algorithm is determined. To the network camera as a negotiation packet, and the negotiation of the encryption algorithm to be used is terminated. Also, the encryption information determination unit 214 informs the encryption processing unit 218 of the determined encryption algorithm and instructs the algorithm setting. Also, the encryption information determination unit 202 informs the encryption processing unit 204 of the determined encryption algorithm and instructs the algorithm setting. Next, the encryption information determination units 214 and 202 and the encryption processing units 218 and 204 perform predetermined communication with each other, and in accordance with a procedure determined according to the set encryption algorithm, an encryption key and a decryption in a determined form Create and set a key. After the encryption key and the decryption key are generated, encrypted communication is possible thereafter. The cryptographic communication application 200 passes the video data captured by the imaging unit (not shown) to the encryption processing unit 204. The encryption processing unit 204 encrypts the video data using the set encryption algorithm, converts it into a data packet, and sends it to the digital television via the communication processing unit 206 and the Internet network. In the digital television, after the data packet is received by the communication processing unit 216, the data is decrypted by the encryption processing unit 218, and the decrypted video data is passed to the encryption communication application 210. The encryption communication application 210 performs processing for displaying the video data of the network camera at a predetermined size on a display of the television.

このような従来のネゴシエーションでは、暗号情報決定部214は、暗号アルゴリズムの提案を行なう場合には、保有している暗号アルゴリズムから、ユーザによって設定された、又はプログラム中であらかじめ定められている、ひとつまたは複数の暗号アルゴリズムを選んで相手に提案する。また、相手から提案を受けた場合は、その提案に対する応答として、保有している暗号アルゴリズムの中で最も高優先度の暗号アルゴリズムを選択して通知するようにしている。   In such a conventional negotiation, the encryption information determination unit 214, when making a proposal of an encryption algorithm, is set by a user from a stored encryption algorithm or predetermined in a program. Or choose multiple cryptographic algorithms and suggest them to the other party. When a proposal is received from the other party, the highest priority encryption algorithm is selected and notified as a response to the proposal.

ところで、暗号通信アプリケーション210、212のように暗号アルゴリズムを用いて暗号化・復号化を行なう必要のあるアプリケーションが複数あり、複数種のデータを並行して暗号化・復号化処理を行なう場合、両方とも暗号強度の高いアルゴリズムを採用すると、暗号アルゴリズムは一般的に大きなCPU処理能力を必要とするため、複数の暗号通信アプリケーションの処理およびそれらのための複数の暗号処理にかかる全負荷がCPU処理能力を超えてしまい、システムが破綻する。このような事態を防止するために、特許文献1では、通信データを複数のブロックに分割し、重要度の高いデータが格納されたブロックに対して暗号強度が高い暗号アルゴリズムを使う一方、重要度の低いデータが格納されたブロックに対しては暗号強度が低い暗号アルゴリズムを使うことにより、必要なCPU処理資源量を逓減するようにしている。
野村敦子著、「ブロードバンド革命−目指せ!ユビキタス・ネットワーク社会」、初版、中央経済社、平成13年4月1日、p.225−227(ISBN4−502−57211−X) ユーリス・ブラック著、波多浩昭、松本直人訳、「インターネットセキュリティガイド」、初版、ピアソン・エデュケーション発行、2001年11月20日、全頁(ISBN4−89471−455−8) 「RFC2401」、IETF(Internet Engineering Task Force)発行 特開2002−190798号公報(第6頁、第6図)
By the way, when there are a plurality of applications such as the encryption communication applications 210 and 212 that need to perform encryption / decryption using an encryption algorithm, and when performing encryption / decryption processing on a plurality of types of data in parallel, both If an algorithm with high encryption strength is used, the encryption algorithm generally requires a large amount of CPU processing power. Therefore, the processing load of multiple cryptographic communication applications and the total load for the multiple cryptographic processing for them are CPU processing power. The system will fail. In order to prevent such a situation, in Patent Document 1, communication data is divided into a plurality of blocks, and an encryption algorithm having a high encryption strength is used for a block in which highly important data is stored. The amount of CPU processing resources required is gradually reduced by using a cryptographic algorithm having a low cryptographic strength for blocks storing low data.
Nomura Atsuko, “Broadband Revolution-Aim! Ubiquitous Network Society”, first edition, Chuo Keizai, April 1, 2001, p. 225-227 (ISBN4-502-57221-X) Euris Black, Hiroaki Hata, Naoto Matsumoto, “Internet Security Guide”, first edition, published by Pearson Education, November 20, 2001, all pages (ISBN4-89471-455-8) Published "RFC2401", IETF (Internet Engineering Task Force) JP 2002-190798 A (page 6, FIG. 6)

上述したように、暗号通信で行われる暗号処理では、送受信データに対して複雑な処理を行なう必要がある。このため、暗号通信は、暗号化を行なわない通信に比べて処理負荷が非常に高い。たとえば、ネットワークカメラデータの復号化処理(暗号通信アプリケーション210)と、テレビ放送の映像データの録画(アプリケーション208)という、リアルタイムに処理しなければならない高負荷な処理が重なった場合、前述のようなネゴシエーションでは、より暗号強度が高い暗号アルゴリズムを選択するので、内蔵CPUの処理能力では両方を同時には処理しきれない可能性がある。つまり、TV放送の録画に失敗するか、もしくは、ネットワークカメラの画像が乱れたり止まったりするという問題が発生することがある。図44は、このときの内蔵CPUの処理能力と、ネットワークカメラ画像の受信・表示に必要なCPUリソースおよびTV録画に必要なCPUリソースの関係を表している。つまり、図44のようにネットワークカメラ画像の受信・表示に必要なCPUリソースと、TV録画に必要なCPUリソースの合計が、内蔵CPUの処理能力を越えた場合に、上記のような問題が発生する。   As described above, in cryptographic processing performed in cryptographic communication, it is necessary to perform complicated processing on transmission / reception data. For this reason, encryption communication has a very high processing load compared to communication without encryption. For example, when the high-load processing that must be processed in real time, such as network camera data decryption processing (encryption communication application 210) and TV broadcast video data recording (application 208) overlaps, In the negotiation, an encryption algorithm having a higher encryption strength is selected, so there is a possibility that both cannot be processed at the same time by the processing capability of the built-in CPU. That is, there may be a problem that the recording of the TV broadcast fails or the image of the network camera is disturbed or stopped. FIG. 44 shows the relationship between the processing capability of the built-in CPU, the CPU resources necessary for receiving and displaying the network camera image, and the CPU resources necessary for TV recording. That is, when the total of the CPU resources necessary for receiving and displaying the network camera image and the CPU resources necessary for TV recording exceeds the processing capability of the built-in CPU as shown in FIG. To do.

それゆえに、本発明の目的は、暗号通信処理と他の高負荷な処理を同時に行なわなければならない場合に、できるだけ強固な機密性を提供しつつも暗号処理の負荷を軽減し、CPUリソースの枯渇によって生じる上記のような問題を解決することである。   Therefore, an object of the present invention is to reduce the load of cryptographic processing while providing cryptographic security as strong as possible when cryptographic communication processing and other high-load processing must be performed at the same time. Is to solve the above-mentioned problems caused by.

本発明の第1の通信装置は、予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、暗号処理部が暗号化したパケットを送信する通信処理部とを備えた通信装置である。   The first communication device of the present invention includes an encryption information determination unit that selects a different encryption algorithm according to a predicted use resource total value or an actual use resource total value from a plurality of encryption algorithms prepared in advance. The communication apparatus includes an encryption processing unit that encrypts a packet in accordance with an encryption algorithm selected by the encryption information determination unit, and a communication processing unit that transmits the packet encrypted by the encryption processing unit.

本発明の第2の通信装置は、予め用意された複数の暗号アルゴリズムの中から、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、暗号情報決定部が選択した暗号アルゴリズムにしたがって通信相手宛てのパケットを暗号化する暗号処理部と、暗号処理部が暗号化したパケットを送信する通信処理部とを備えた通信装置である。   The second communication device according to the present invention determines encryption information for selecting a different encryption algorithm according to an encryption algorithm applied to one or more packets received from a communication partner from a plurality of encryption algorithms prepared in advance. A communication processing unit that encrypts a packet addressed to a communication partner according to an encryption algorithm selected by the encryption information determination unit, and a communication processing unit that transmits the packet encrypted by the encryption processing unit .

上記第1の通信装置によれば、資源の不足によって通信装置側の処理に支障が出ることを防ぐことができる。   According to the first communication device, it is possible to prevent the processing on the communication device side from being hindered due to lack of resources.

上記第2の通信装置によれば、資源の不足によって通信相手側の処理に支障が出ることを防ぐことができる。   According to the second communication device, it is possible to prevent the processing on the communication partner side from being hindered due to a shortage of resources.

以下、本発明の種々の実施の形態を、図面を参照して説明する。   Hereinafter, various embodiments of the present invention will be described with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1に関わるシステムの構成図である。図1において、実施の形態1のシステムは、放送設備10と、通信装置24と、ネットワークカメラ12と、インターネット22と、ディスプレイ(映像表示装置)40とから構成される。
(Embodiment 1)
FIG. 1 is a configuration diagram of a system according to the first embodiment of the present invention. In FIG. 1, the system according to the first embodiment includes a broadcasting facility 10, a communication device 24, a network camera 12, the Internet 22, and a display (video display device) 40.

次に、ネットワークカメラ12および通信装置24の持つ機能を詳細に述べる。ネットワークカメラ12は、撮影部14と、暗号処理部16と、暗号情報決定部18と、通信処理部20とを具備する。なお、撮影部14と暗号処理部16の間に、図43に示したような暗号通信アプリケーション200を具備していてもよい。   Next, functions of the network camera 12 and the communication device 24 will be described in detail. The network camera 12 includes a photographing unit 14, an encryption processing unit 16, an encryption information determination unit 18, and a communication processing unit 20. Note that an encryption communication application 200 as shown in FIG. 43 may be provided between the photographing unit 14 and the encryption processing unit 16.

また、通信装置24は、通信機能と録画機能を有する家電機器であって、受像部26と、録画アプリケーション28と、リソース監視部30と、暗号情報決定部32と、通信処理部36と、暗号処理部38と、ネットワークカメラアプリケーション34とを具備する。なお、図1において破線で囲んだ構成部分、すなわち録画アプリケーション28、リソース監視部30、暗号情報決定部32、通信処理部36、暗号処理部38、ネットワークカメラアプリケーション34は、内蔵CPUがソフトウェアを実行することにより実現される。なお、本発明のアルゴリズム選択方法は、本実施の形態においては通信装置24内の暗号情報決定部32において用いられるものとして説明する。   The communication device 24 is a home appliance having a communication function and a recording function, and includes an image receiving unit 26, a recording application 28, a resource monitoring unit 30, an encryption information determining unit 32, a communication processing unit 36, and an encryption unit. A processing unit 38 and a network camera application 34 are provided. In FIG. 1, the components enclosed by broken lines, that is, the recording application 28, the resource monitoring unit 30, the encryption information determination unit 32, the communication processing unit 36, the encryption processing unit 38, and the network camera application 34 are executed by the built-in CPU. It is realized by doing. Note that the algorithm selection method of the present invention is described as being used in the encryption information determination unit 32 in the communication device 24 in the present embodiment.

次に、本システムの動作について説明する。   Next, the operation of this system will be described.

まず、TV録画を行なう際のシステムの動作について説明する。受像部26は放送設備10が放送しているTV放送データを受信する。続いて、受信されたTV放送データを、録画アプリケーション28が、通信装置24内蔵の蓄積媒体に記録する。この処理は内蔵のCPUを利用して行われる。以上の処理を、録画したいTV番組の放送開始時刻から放送終了時刻まで連続的に行なうことで、TV録画が完了する。   First, the operation of the system when performing TV recording will be described. The image receiving unit 26 receives TV broadcast data broadcast by the broadcast facility 10. Subsequently, the recording application 28 records the received TV broadcast data in a storage medium built in the communication device 24. This process is performed using a built-in CPU. The TV recording is completed by continuously performing the above processing from the broadcast start time to the broadcast end time of the TV program to be recorded.

次に、ネットワークカメラ12の映像をディスプレイ40に表示する際のシステムの動作について説明する。この処理は、暗号通信を行なうための事前処理と、実際にネットワークカメラアプリケーション34を動作させる処理の2つに分かれる。暗号通信を行なうための事前処理については後述し、はじめに、実際にネットワークカメラアプリケーション34を動作させる処理の概要について述べる。まず、ネットワークカメラ12では、撮影部14が撮影した映像データを、暗号処理部16が暗号化する。通信処理部20は、その暗号化された映像データを通信装置24宛のパケットとしてインターネット22に送出する。通信装置24では、通信処理部36でインターネット22から暗号化パケットを受信し、暗号処理部38で復号化し、ネットワークカメラアプリケーション34は、復号化された映像データをディスプレイ40に出力する。そして、ディスプレイ40が映像を表示する。以上のようにして、ネットワークカメラ12で撮影された映像がディスプレイ40に表示される。   Next, the operation of the system when displaying the video of the network camera 12 on the display 40 will be described. This process is divided into two processes: a pre-process for performing encrypted communication and a process for actually operating the network camera application 34. Prior processing for performing encrypted communication will be described later. First, an outline of processing for actually operating the network camera application 34 will be described. First, in the network camera 12, the encryption processing unit 16 encrypts the video data photographed by the photographing unit 14. The communication processing unit 20 sends the encrypted video data to the Internet 22 as a packet addressed to the communication device 24. In the communication device 24, the communication processing unit 36 receives the encrypted packet from the Internet 22 and the encryption processing unit 38 decrypts it, and the network camera application 34 outputs the decrypted video data to the display 40. Then, the display 40 displays an image. As described above, the video imaged by the network camera 12 is displayed on the display 40.

次に、暗号通信を行なうための事前処理について説明する。ここでいう事前処理とは、ネットワークカメラ12内の暗号情報決定部18と、通信装置24内の暗号情報決定部32との間で、暗号通信に利用する暗号アルゴリズムおよび暗号化鍵、復号化鍵としてどのようなものを使用するかを折衝し、それぞれの暗号処理部16、38に設定する処理である。以下、通信装置24の内蔵CPUによって行われるべき処理の負荷が図44に示したように内蔵CPUの処理能力を超えてしまう事態を防止するための折衝について説明する。   Next, pre-processing for performing encrypted communication will be described. The pre-processing here means an encryption algorithm, an encryption key, and a decryption key used for encryption communication between the encryption information determination unit 18 in the network camera 12 and the encryption information determination unit 32 in the communication device 24. This is a process of negotiating what is used and setting the encryption processing units 16 and 38. Hereinafter, negotiation for preventing a situation where the processing load to be performed by the built-in CPU of the communication device 24 exceeds the processing capability of the built-in CPU as shown in FIG. 44 will be described.

図2は、通信装置24の、ネゴシエーションに関わる構成部分を示すブロック図である。データ送信側とデータ受信側が同じ暗号アルゴリズムを使用するために、双方の間でネゴシエーションが行われる。通信処理部36は、相手の通信処理部との間でデータパケットの通信を行なう。暗号アルゴリズムのネゴシエーションにおいては、ネゴシエーション用のパケットを相手との間でやり取りする。ネゴシエーションパケット作成・解釈部48は、送信時には、暗号アルゴリズム選択部42の指示に基づき、送信用のネゴシエーションパケットを所定の形式で作成し、受信時には、受信したネゴシエーションパケットの内容を解釈して暗号アルゴリズム選択部42に入手情報を渡す。暗号アルゴリズム選択部42は、決定した暗号アルゴリズムを暗号アルゴリズム設定部50に知らせて、アルゴリズム設定を指示する。暗号処理部38は、設定された暗号アルゴリズムを使用してデータの暗号化や復号化を行なう。暗号アルゴリズム選択部42は、リソース監視部30からあらかじめあるいはネゴシエーション時に入手したCPU使用率情報を格納するためのCPU使用率情報メモリ44を有している。本実施の形態では、暗号アルゴリズム選択部42は、暗号処理使用資源表46や、リソース監視部30から得たCPU使用率情報を参照しながら、暗号アルゴリズムの提案処理や選択処理を行なう。暗号処理使用資源表46については、後述する。   FIG. 2 is a block diagram illustrating components of the communication device 24 related to the negotiation. In order for the data transmission side and the data reception side to use the same encryption algorithm, negotiation is performed between them. The communication processing unit 36 performs data packet communication with the counterpart communication processing unit. In the negotiation of the encryption algorithm, a negotiation packet is exchanged with the other party. The negotiation packet creation / interpretation unit 48 creates a negotiation packet for transmission in a predetermined format based on an instruction from the encryption algorithm selection unit 42 at the time of transmission, and interprets the contents of the received negotiation packet at the time of reception. Acquisition information is passed to the selection unit 42. The encryption algorithm selection unit 42 notifies the encryption algorithm setting unit 50 of the determined encryption algorithm and instructs the algorithm setting. The encryption processing unit 38 encrypts and decrypts data using the set encryption algorithm. The encryption algorithm selection unit 42 has a CPU usage rate information memory 44 for storing CPU usage rate information obtained from the resource monitoring unit 30 in advance or at the time of negotiation. In the present embodiment, the encryption algorithm selection unit 42 performs encryption algorithm proposal processing and selection processing while referring to the encryption processing usage resource table 46 and the CPU usage rate information obtained from the resource monitoring unit 30. The cryptographic processing usage resource table 46 will be described later.

なお、本実施の形態では、暗号情報決定部32がネゴシエーションパケットを生成してこれを暗号化した後、通信処理部36を通じてこの暗号化されたネゴシエーションパケットを送信するが、他の形態でも構わない。例えば、暗号情報決定部32がネゴシエーションパケットを生成し、暗号処理部38がそのネゴシエーションパケットを暗号化した後、この暗号化されたネゴシエーションパケットが通信処理部36を通じて送信されてもよい。また、例えば、暗号情報決定部32がネゴシエーションパケットを生成し、暗号処理部38がそのネゴシエーションパケットを暗号化した後、この暗号化されたネゴシエーションパケットをいったん暗号情報決定部32に返し、暗号情報決定部32が通信処理部36を通じてこの暗号化されたネゴシエーションパケットを送信してもよい。   In the present embodiment, the encrypted information determination unit 32 generates a negotiation packet and encrypts it, and then transmits the encrypted negotiation packet through the communication processing unit 36. However, other forms may be used. . For example, after the encryption information determination unit 32 generates a negotiation packet and the encryption processing unit 38 encrypts the negotiation packet, the encrypted negotiation packet may be transmitted through the communication processing unit 36. Also, for example, after the encryption information determination unit 32 generates a negotiation packet and the encryption processing unit 38 encrypts the negotiation packet, the encrypted negotiation packet is returned to the encryption information determination unit 32 to determine the encryption information determination. The unit 32 may transmit the encrypted negotiation packet through the communication processing unit 36.

ここで、CPU使用率について説明する。CPU使用率は、CPUの最大処理能力を100%とした場合、録画アプリケーション28やネットワークカメラアプリケーション34などの個々のアプリケーションが使用するCPU処理能力を%で表したものである。CPUの処理方式には種々の方式が存在するが、最も一般的なものは、ある時刻にタスクを一つだけ処理する方式である。複数のタスクを処理する場合は、それらのタスクを時分割で処理することにより、同時並行して処理しているように見せている。軽いタスクには短い時間を、重いタスクには長い時間を割り当てる方法がある。また、時間を一定の短い処理時間単位(タイムスロット、スレッドなどと呼ぶ。)で区切り、重いタスクには軽いタスクよりも頻繁に単位時間を割り当てるようにする方法もある。CPUリソースに余裕があり、CPUがモニタプログラムなどの共通的処理以外のタスクを処理していない時間や処理時間単位は、アイドル状態として検出される。このようなCPU方式において、タスクのCPU使用率を計測するには以下のようにすればよい。CPUのOS内のモニタプログラムなどを使用して、比較的短時間毎に、処理しているタスクが何であるかをサンプリングして調べさせる。アプリケーションAがタスクAにより構成されている場合を考える。1000回調べた結果、500回がタスクAで、残りの500回はCPUが待機状態、すなわちアイドル状態であったとする。この場合は、アプリケーションAのCPU使用率は50%である。CPUは、OSのモニタプログラムなどの共通的カーネル処理を行なうが、この処理は全体から見ると少ないので、一応ここでは無視することとする。   Here, the CPU usage rate will be described. The CPU usage rate indicates the CPU processing capacity used by individual applications such as the recording application 28 and the network camera application 34 in% when the maximum processing capacity of the CPU is 100%. There are various CPU processing methods, but the most common is a method of processing only one task at a certain time. When a plurality of tasks are processed, these tasks are processed in a time-sharing manner so that they are processed in parallel. There is a method of allocating a short time for a light task and a long time for a heavy task. Another method is to divide the time into fixed short processing time units (referred to as time slots, threads, etc.) and assign unit times to heavy tasks more frequently than light tasks. A time or a processing time unit in which CPU resources are available and the CPU is not processing tasks other than common processing such as a monitor program is detected as an idle state. In such a CPU system, the CPU usage rate of a task may be measured as follows. Using a monitor program or the like in the OS of the CPU, the task being processed is sampled and checked every relatively short time. Consider a case where application A is configured by task A. As a result of examining 1000 times, it is assumed that 500 times is task A and the remaining 500 times the CPU is in a standby state, that is, an idle state. In this case, the CPU usage rate of application A is 50%. The CPU performs a common kernel process such as an OS monitor program, but since this process is small as a whole, it is ignored here.

サンプル数はある程度多くして、その時刻の瞬間CPU使用率ではなく、ある程度平滑化されたCPU使用率、例えばその時刻までの一定時間の平均CPU使用率を計測して用いるのが好ましい。瞬間あるいは短時間のCPU使用率は一時的に大きく変動するので、アプリケーションが必要とするCPU処理能力を算出するのには適さない。   It is preferable to increase the number of samples to some extent and measure and use the CPU usage rate smoothed to some extent, for example, the average CPU usage rate for a certain period of time until that time, instead of the instantaneous CPU usage rate at that time. Since the CPU usage rate for a moment or for a short time fluctuates greatly, it is not suitable for calculating the CPU processing capacity required by the application.

アプリケーションAの処理が2つの部分に別れていて、タスクAとカーネル処理とにより実行される場合に、タスクAが500回、カーネル処理が100回、アイドル状態が400回と計測された場合は、アプリケーションAのCPU使用率は60%となる。また、タスクAは50%、カーネル部分は10%と計測できる。つぎに、アプリケーションAとアプリケーションBの2つの処理プログラムが並行して実行される場合について説明する。アプリケーションBもその一部がカーネルにおいて処理されるものとする。カーネルにおいてはアプリケーションAとアプリケーションBの各一部が処理されるが、カーネル全体のCPU使用率しか計測できないことが多い。すなわち、カーネルの中でどのようなアプリケーションが処理されているのか、また共通カーネル処理が実行されているのか、などは区別できないことが多い。従って、このケースでは、アプリケーションAとアプリケーションBのCPU使用率の合計値は、100%からアイドル処理のCPU使用率を差し引いたものとして計測できるものの、アプリケーションAとアプリケーションBの個々のCPU使用率は計測できない。なぜなら、カーネル処理の内のアプリケーションAとアプリケーションBの内訳が計測できないからである。もしも、アプリケーションAのみが実行されているときに、上記のように、アプリケーションAが60%、タスクAが50%、カーネル部分が10%と計測できていれば、引き算により、アプリケーションB、タスクB、カーネルのアプリケーションB部分を算出できる。   When the process of application A is divided into two parts and executed by task A and kernel processing, if task A is measured 500 times, kernel processing 100 times, and idle state 400 times, The CPU usage rate of application A is 60%. Task A can be measured as 50% and the kernel portion as 10%. Next, a case where two processing programs of application A and application B are executed in parallel will be described. A part of the application B is also processed in the kernel. Although a part of each of application A and application B is processed in the kernel, it is often possible to measure only the CPU usage rate of the entire kernel. That is, it is often impossible to distinguish what application is being processed in the kernel and whether common kernel processing is being executed. Therefore, in this case, the total CPU usage rate of application A and application B can be measured as 100% minus the CPU usage rate of idle processing, but the individual CPU usage rates of application A and application B are Cannot measure. This is because the breakdown of application A and application B in the kernel processing cannot be measured. If only application A is being executed, if application A is 60%, task A is 50%, and the kernel portion is 10% as described above, application B and task B are subtracted by subtraction. The application B portion of the kernel can be calculated.

つぎに、暗号アルゴリズムネゴシエーション処理について以下で詳細に述べる。以下では、ネットワークカメラ12内の暗号情報決定部18と、通信装置24内の暗号情報決定部32のうち、ネゴシエーションを開始する側をイニシエータと呼び、イニシエータに対して応答する側をレスポンダと呼ぶ。   Next, the encryption algorithm negotiation process will be described in detail below. Hereinafter, of the encryption information determination unit 18 in the network camera 12 and the encryption information determination unit 32 in the communication device 24, the side that initiates negotiation is called an initiator, and the side that responds to the initiator is called a responder.

図3は、暗号アルゴリズムネゴシエーション処理のシーケンスを表している。図3で、まずイニシエータが、複数の暗号アルゴリズム(ここでは仮に暗号アルゴリズムa、b、cとする)の情報を含んだ提案パケットをレスポンダに対して送信する。レスポンダは、その提案パケットを受信すると、その中からひとつの暗号アルゴリズム(ここでは仮に暗号アルゴリズムbとする)を選択し、イニシエータに対して、選択した暗号アルゴリズムの情報を含んだ応答パケットを送信する。イニシエータは、レスポンダからの応答パケットを受信すると、そこに含まれている暗号アルゴリズム(暗号アルゴリズムb)を採用する。以上のようにして、イニシエータとレスポンダの両方で同じ暗号アルゴリズム(暗号アルゴリズムb)を使うことが約束され、暗号通信を行なえるようになる。   FIG. 3 shows a sequence of encryption algorithm negotiation processing. In FIG. 3, the initiator first transmits a proposal packet including information on a plurality of encryption algorithms (here, encryption algorithms a, b, and c) to the responder. When the responder receives the proposed packet, the responder selects one of the encryption algorithms (here, assumed to be encryption algorithm b), and transmits a response packet including information on the selected encryption algorithm to the initiator. . When the initiator receives the response packet from the responder, the initiator adopts the encryption algorithm (encryption algorithm b) included therein. As described above, both the initiator and the responder are promised to use the same encryption algorithm (encryption algorithm b), and encryption communication can be performed.

なお、イニシエータが提案する暗号アルゴリズムは1つでもよい。また、レスポンダは、提案された暗号アルゴリズムの中に利用可能な暗号アルゴリズムがなければ、応答しなくてもよい。また、通信装置24内の暗号情報決定部32が、イニシエータとして暗号アルゴリズムを提案したり、レスポンダとして暗号アルゴリズムを選択する際には、リソース監視部30から得たCPU使用率の情報を用いるが、その際の具体的な手順については後述する。   Note that the encryption algorithm proposed by the initiator may be one. Also, the responder does not need to respond if there is no available cryptographic algorithm among the proposed cryptographic algorithms. Further, when the encryption information determination unit 32 in the communication device 24 proposes an encryption algorithm as an initiator or selects an encryption algorithm as a responder, the CPU usage rate information obtained from the resource monitoring unit 30 is used. The specific procedure at that time will be described later.

なお、暗号アルゴリズムを折衝する際のメッセージのやりとりは、図3のシーケンスに限定するものではなく、既存の鍵交換プロトコルの規定に則って行っても良い。例えば、一般的にIPsecと併用されることが多い鍵交換プロトコルIKE(Internet Key Exchange)を使って、規定のメッセージシーケンスの中で暗号アルゴリズムを折衝しても良い。   The exchange of messages when negotiating the encryption algorithm is not limited to the sequence shown in FIG. 3, and may be performed in accordance with the prescription of the existing key exchange protocol. For example, a key exchange protocol IKE (Internet Key Exchange) that is generally used in combination with IPsec may be used to negotiate a cryptographic algorithm in a prescribed message sequence.

また、ここでは暗号アルゴリズムのネゴシエーションを、暗号通信を行なう前に一度だけ行なう例について説明したが、暗号通信の途中において暗号アルゴリズムをネゴシエーションし直してもよい。   Further, here, an example in which the encryption algorithm is negotiated once before performing the encryption communication has been described. However, the encryption algorithm may be re-negotiated during the encryption communication.

次に、通信装置24内の暗号情報決定部32が、イニシエータとして、レスポンダに対して提案する暗号アルゴリズムを決定する手順や、レスポンダとして、イニシエータから提案された複数の暗号アルゴリズムの中からイニシエータに応答通知する暗号アルゴリズムを選択する手順について説明する。ところで、暗号アルゴリズムにはさまざまなものがあるが、それぞれによって暗号化復号化処理の負荷や、暗号の破られにくさを示す暗号強度が異なる。したがって、本実施の形態では、基本的には、ネットワークカメラ映像の暗号化に用いる暗号アルゴリズムとして、CPUに余裕のある場合にはできるだけ暗号強度の高いものを選択してセキュリティを高め、CPUに余裕のない場合にはCPUリソースが不足しないように処理負荷の低いものを選択する。   Next, the encryption information determination unit 32 in the communication device 24 responds to the initiator from among a plurality of encryption algorithms proposed by the initiator as a responder or a procedure for determining the encryption algorithm proposed to the responder as the initiator. A procedure for selecting the encryption algorithm to be notified will be described. There are various encryption algorithms, but the encryption / decryption processing load and the encryption strength indicating the difficulty of the encryption are different depending on the encryption algorithm. Therefore, in the present embodiment, basically, when the CPU has a margin, the encryption algorithm used for encrypting the network camera video is selected with the highest encryption strength as much as possible to enhance the security, and the CPU has a margin. In the case where there is no CPU resource, one having a low processing load is selected so that CPU resources are not insufficient.

<通信装置24がレスポンダとなる場合>
さて、図4および図5は、通信装置24内の暗号情報決定部32がレスポンダとなる場合のフローチャートである。以下では、まず図4のフローチャートに沿って説明を行なう。
<When communication device 24 is a responder>
4 and 5 are flowcharts in the case where the encryption information determination unit 32 in the communication device 24 becomes a responder. In the following, description is first made along the flowchart of FIG.

まず、通信装置24内の暗号情報決定部32(以下レスポンダ)は、暗号処理部38がサポートしている暗号アルゴリズムの集合Aを求める(S401)。ここで、ネットワークカメラ12内の暗号情報決定部18(以下イニシエータ)からの提案パケットを待つ状態になる。   First, the encryption information determination unit 32 (hereinafter referred to as responder) in the communication device 24 obtains a set A of encryption algorithms supported by the encryption processing unit 38 (S401). Here, it enters a state of waiting for a proposal packet from the encryption information determination unit 18 (hereinafter referred to as initiator) in the network camera 12.

イニシエータは、まずネゴシエーションの開始要求を待つ。ネゴシエーションの開始要求は、暗号通信を開始する際や、前回のネゴシエーションから一定時間経過後や、ネゴシエーション開始コマンドを実行したときなどに発行される。イニシエータは、ネゴシエーション開始要求を受けると(S411)、ネゴシエーションを開始する。すなわち、1つもしくは複数の暗号アルゴリズムの提案を含むパケットをレスポンダに送信する(S412)。この提案パケットを受信したレスポンダでは、提案された暗号アルゴリズムの集合Bをパケットから読み取る(S402)。応答可能な暗号アルゴリズム(集合C)は、提案された暗号アルゴリズム(集合B)のうち暗号処理部38がサポートしているもの(集合A)であるので、C=A∩Bとして求められる(S403)。   The initiator first waits for a negotiation start request. The negotiation start request is issued when encryption communication is started, after a predetermined time has elapsed since the previous negotiation, or when a negotiation start command is executed. When the initiator receives the negotiation start request (S411), the initiator starts the negotiation. That is, a packet including one or more cryptographic algorithm proposals is transmitted to the responder (S412). The responder that has received the proposal packet reads the proposed encryption algorithm set B from the packet (S402). Since the encryption algorithm that can respond (set C) is the one supported by the cryptographic processing unit 38 (set A) among the proposed encryption algorithms (set B), C = ACB is obtained (S403). ).

さて、ここからレスポンダに対して応答する暗号アルゴリズムを選択するステップに入る(S500)。ステップS500の詳細は、図5のフローチャートを用いて説明する。   Now, the process enters a step of selecting an encryption algorithm that responds to the responder (S500). Details of step S500 will be described with reference to the flowchart of FIG.

ここでの前提としては、CPUを利用するアプリケーションは、録画アプリケーション28とネットワークカメラアプリケーション34のみとする。またこの時点では、録画アプリケーション28だけがすでにCPUを利用しており、ネットワークカメラアプリケーション34はまだ起動されておらず、CPUを利用していないものとする。   As a premise here, the only applications that use the CPU are the recording application 28 and the network camera application 34. At this time, it is assumed that only the video recording application 28 has already used the CPU, and the network camera application 34 has not been activated yet and does not use the CPU.

まず、レスポンダは、リソース監視部30からCPU使用率CPUUtilを取得する(S501)。CPUUtilは、その時点で実行されているアプリケーションによるCPU使用率(アプリケーションが複数の場合はそれらの合計)を表す。ただし、既に述べたように、リソース監視部30が暗号情報決定部32に対して通知するCPU使用率には、その時刻の瞬間CPU使用率ではなく、ある程度平滑化されたCPU使用率(例えばその時刻までの一定時間の平均CPU使用率等)を用いる。この理由は、瞬間CPU使用率を利用すると、CPU使用率の一時的な変動の影響を大きく受けるため、一定時間利用する暗号アルゴリズムを選択する適切な判断基準とはなりえないからである。   First, the responder acquires the CPU usage rate CPUUtil from the resource monitoring unit 30 (S501). CPUUtil represents the CPU usage rate by the application being executed at that time (or the total when there are a plurality of applications). However, as already described, the CPU usage rate notified by the resource monitoring unit 30 to the encryption information determination unit 32 is not the instantaneous CPU usage rate at that time, but a CPU usage rate smoothed to some extent (for example, the CPU usage rate). The average CPU usage rate for a certain period of time until the time is used. This is because using the instantaneous CPU usage rate is greatly affected by temporary fluctuations in the CPU usage rate, so it cannot be an appropriate criterion for selecting an encryption algorithm to be used for a certain period of time.

次に、応答可能な暗号アルゴリズムの集合Cのなかで、以下の式(式1)を満たす暗号アルゴリズムの集合Dを求める(S502)。   Next, a set D of cryptographic algorithms satisfying the following formula (Formula 1) is obtained from the set C of replyable cryptographic algorithms (S502).

CPURecord+CPUCamera(x)≦α ・・・(式1)
ここで、CPURecordは録画アプリケーション28が消費するCPUリソース、CPUCameraは暗号アルゴリズムxを用いて暗号通信を行ったときに、ネットワークカメラアプリケーション34が必要とするCPUリソースである。したがって、(式1)が満たされるということは、TV録画と、暗号アルゴリズムxによる暗号通信を同時に行っても、平均CPU使用率がα[%]以下となり、両方のタスクが正常に実行されることを意味している。αの値は、例えば95%などの値をあらかじめ設定しておく。暗号情報決定部32は、リソース監視部30から、複数の暗号アルゴリズムの各々について、暗号処理を行ったときにシステム全体で必要となるCPUリソースを計算するのに必要なCPU使用率をステップS501において取得して全処理負荷(CPURecord+CPUCamera(x))を推定する全処理負荷推定手順をステップS502において実施している。また、ステップS502において、(式1)を満たす暗号アルゴリズム(集合D)を求めるために、各々の暗号アルゴリズムについて、前記全処理負荷と、第1基準値であるαとを比較する比較手順を実施している。
CPURecord + CPUCamera (x) ≦ α (Formula 1)
Here, CPURecord is a CPU resource consumed by the recording application 28, and CPUCamera is a CPU resource required by the network camera application 34 when performing cryptographic communication using the cryptographic algorithm x. Therefore, the fact that (Equation 1) is satisfied means that even when TV recording and encryption communication using the encryption algorithm x are performed simultaneously, the average CPU usage rate is α [%] or less, and both tasks are executed normally. It means that. As the value of α, for example, a value such as 95% is set in advance. In step S501, the encryption information determination unit 32 determines, from the resource monitoring unit 30, the CPU usage rate necessary for calculating the CPU resources required for the entire system when encryption processing is performed for each of the plurality of encryption algorithms. The total processing load estimation procedure for acquiring and estimating the total processing load (CPURecord + CPUCamera (x)) is performed in step S502. Further, in step S502, in order to obtain an encryption algorithm (set D) that satisfies (Equation 1), a comparison procedure for comparing the total processing load and α that is the first reference value is performed for each encryption algorithm. is doing.

図6は、集合Cの要素が暗号アルゴリズムa、b、cであった場合の例である。この場合、(式1)を満たす暗号アルゴリズム(集合D)は暗号アルゴリズムbと暗号アルゴリズムcである。   FIG. 6 shows an example in which the elements of the set C are encryption algorithms a, b, and c. In this case, encryption algorithms (set D) satisfying (Equation 1) are encryption algorithm b and encryption algorithm c.

CPURecord、CPUCamera(x)の求め方は、先に述べたCPU使用率の考え方を用いると、以下のとおりとなる。まず、この時点でCPUを利用しているのは録画アプリケーション28だけであるので、CPURecord=CPUUtilとなる。また、CPUCamera(x)は、CPUCamera(x)=CPUCameraConst+CPUCameraEnc(x)として求められる。ここで、CPUCameraConstは、暗号処理以外の処理でネットワークカメラアプリケーション34が消費するCPUリソースであり、CPUCameraEnc(x)は暗号アルゴリズムxを用いたときに、暗号処理で消費するCPUリソースである。   CPURecord and CPUCamera (x) are obtained as follows using the above-described concept of CPU usage. First, since only the recording application 28 is using the CPU at this time, CPURecord = CPUUtil. CPUCamera (x) is obtained as CPUCamera (x) = CPUCameraConst + CPUCameraEnc (x). Here, CPUCameraConst is a CPU resource consumed by the network camera application 34 in a process other than the encryption process, and CPUCameraEnc (x) is a CPU resource consumed in the encryption process when the encryption algorithm x is used.

CPUCameraEnc(x)は、アプリケーション層での通信速度に比例すると仮定すると、以下のようにして求められる。CPUCameraEnc(x)=(CameraRate/EncRate(x))×100[%]。ここで、CameraRateは、ネットワークカメラアプリケーション34が行なう通信のアプリケーション層での通信速度、EncRate(x)は、暗号アルゴリズムxを利用した暗号通信処理のみに、内蔵のCPUを100%利用したときのアプリケーション層での通信速度である。   Assuming that CPUCameraEnc (x) is proportional to the communication speed in the application layer, it is obtained as follows. CPUCameraEnc (x) = (CameraRate / EncRate (x)) × 100 [%]. Here, CameraRate is a communication speed in the application layer of communication performed by the network camera application 34, and EncRate (x) is an application when the built-in CPU is used 100% only for cryptographic communication processing using the cryptographic algorithm x. The communication speed at the layer.

ここで用いたCPUCameraConst、CameraRateの値は、計測するのではなく、システムから与えられているものとする。また図7のような暗号処理使用資源表46を、図2に示したように、暗号情報決定部32に設けておく。暗号処理使用資源表46には、各暗号アルゴリズムのEncRate(x)と共に、それぞれの暗号強度の順位が格納されている。これにより暗号アルゴリズムxからEncRate(x)を求めることができる。   It is assumed that the values of CPUCameraConst and CameraRate used here are not measured but given by the system. Further, the encryption processing use resource table 46 as shown in FIG. 7 is provided in the encryption information determination unit 32 as shown in FIG. The cryptographic processing resource table 46 stores the encryption strength ranks along with EncRate (x) of each cryptographic algorithm. Thus, EncRate (x) can be obtained from the encryption algorithm x.

なお、ここではネットワークカメラアプリケーション34がまだ開始されていない場合について説明したが、ネットワークカメラアプリケーション34が既に開始されており、暗号アルゴリズムとしてzが用いられていた場合には、CPURecord=CPUUtil−CPUCamera(z)のように、録画アプリケーション28に必要なCPUリソースを求めることができる。また、CPURecordの値がシステムから与えられている場合には、その値を用いることもできる。また、CPURecordを、以前にこのCPU上で録画アプリケーション28のみが実行されていた期間の平均CPU使用率としてもよい。また、CPUCamera(x)を、以前にこのCPU上で暗号アルゴリズムxを用いたネットワークカメラアプリケーション34のみが実行されていた期間の平均CPU使用率としてもよい。その場合、これらのCPU使用率情報を、図2のCPU使用率情報メモリ44に格納しておく。   Although the case where the network camera application 34 has not been started has been described here, if the network camera application 34 has already been started and z is used as the encryption algorithm, CPURecord = CPUUtil−CPUCamera ( As in z), CPU resources necessary for the recording application 28 can be obtained. If the value of CPURecord is given from the system, that value can also be used. CPURecord may be an average CPU usage rate during a period in which only the recording application 28 was previously executed on the CPU. CPUCamera (x) may be an average CPU usage rate during a period in which only the network camera application 34 using the encryption algorithm x was previously executed on the CPU. In this case, the CPU usage rate information is stored in the CPU usage rate information memory 44 of FIG.

なお、CPURecord(%)は、(TV録画での平均使用CPU資源(メガインストラクション/秒:MIPS)/CPUの能力(MIPS))*100(%)と言い換えることができる。また、CPUCameraConst(%)は、(カメラアプリケーションでの平均使用CPU資源(MIPS)/CPUの能力(MIPS))*100と言い換えることができる。CameraRate(Mbps)は、カメラアプリケーションの平均データ転送量と言い換えることができる。また、EncRate(x)(Mbps)は、最大CPU資源(MIPS)/暗号アルゴリズムxで1Mbpsのデータを暗号化するのに必要な平均CPU資源(MIPS/Mbps)と言い換えることができる。   CPURecord (%) can be paraphrased as (average CPU resource used in TV recording (mega instruction / second: MIPS) / CPU capability (MIPS)) * 100 (%). CPUCameraConst (%) can be rephrased as (average CPU resource used in camera application (MIPS) / CPU capability (MIPS)) * 100. CameraRate (Mbps) can be restated as the average data transfer amount of the camera application. In addition, EncRate (x) (Mbps) can be rephrased as the average CPU resource (MIPS / Mbps) necessary for encrypting data of 1 Mbps with the maximum CPU resource (MIPS) / encryption algorithm x.

次に、集合Dが空集合かどうか、すなわち(式1)を満たす暗号アルゴリズムが存在するかどうかを判定する(S503)。空集合の場合、つまり(式1)を満たす暗号アルゴリズムが存在しない場合は、どの暗号アルゴリズムを用いてもCPUリソースが不足することを示しているため、できるだけCPU処理負荷を軽減するために、応答可能な暗号アルゴリズム(集合C)のうち最も処理負荷の低いものを選択する(S505)。   Next, it is determined whether or not the set D is an empty set, that is, whether or not there is an encryption algorithm that satisfies (Equation 1) (S503). In the case of an empty set, that is, when there is no encryption algorithm satisfying (Equation 1), it indicates that any of the encryption algorithms is used, the CPU resource is insufficient. Therefore, in order to reduce the CPU processing load as much as possible, Among the possible cryptographic algorithms (set C), the one with the lowest processing load is selected (S505).

一方、集合Dが空集合でない場合は、その中で最も暗号強度の高い暗号アルゴリズムを選択する(S504)。図6の例では、集合Dに含まれる暗号アルゴリズムb、cのうち、暗号強度のより高い暗号アルゴリズムbが選ばれる。暗号アルゴリズムの処理負荷や暗号強度の情報は、図7の暗号処理使用資源表46から得ることができる。ステップS503とステップS504においては、前記全処理負荷が前記第1基準値を下回る、ひとつもしくは複数の暗号アルゴリズムを選択する選択手順を実施していることになる。   On the other hand, if the set D is not an empty set, the encryption algorithm with the highest encryption strength is selected (S504). In the example of FIG. 6, the encryption algorithm b having the higher encryption strength is selected from the encryption algorithms b and c included in the set D. Information on the processing load and encryption strength of the encryption algorithm can be obtained from the encryption processing use resource table 46 of FIG. In steps S503 and S504, a selection procedure for selecting one or a plurality of encryption algorithms in which the total processing load is lower than the first reference value is performed.

なお、本実施の形態では集合Dが空集合の場合に、集合Cのうち最も処理負荷の低い暗号アルゴリズムを応答通知するとしたが、この場合にはCPUの処理能力を超えてしまう場合があるので、録画アプリケーション28を優先する場合には、応答パケットをイニシエータに送信せずに、ネットワークカメラアプリケーション34を開始しない、もしくは既に開始している場合には中断することもできる。また、カメラ映像を間引いて画質を落として伝送するようにしてもよい。   In the present embodiment, when the set D is an empty set, the encryption algorithm with the lowest processing load among the sets C is notified as a response. However, in this case, the processing capacity of the CPU may be exceeded. If the recording application 28 is given priority, the response packet is not transmitted to the initiator, and the network camera application 34 is not started or can be interrupted if it has already started. Further, the camera video may be thinned out and transmitted with reduced image quality.

以降は再び図4を用いて説明する。レスポンダは、ステップS500で選択した暗号アルゴリズムの情報を含む応答パケットをイニシエータに対して送信する(S404)。   Hereinafter, description will be made again with reference to FIG. The responder transmits a response packet including information on the encryption algorithm selected in step S500 to the initiator (S404).

次に、レスポンダは、応答通知した暗号アルゴリズムを実際に利用するために、暗号処理部38にその暗号アルゴリズムを設定する(S405)。一方、イニシエータは、レスポンダからの応答パケットを受信し(S413)、応答通知された暗号アルゴリズムをネットワークカメラ12内の暗号処理部16に設定する(S414)。   Next, the responder sets the encryption algorithm in the encryption processing unit 38 in order to actually use the encryption algorithm notified of the response (S405). On the other hand, the initiator receives the response packet from the responder (S413), and sets the encryption algorithm notified of the response in the encryption processing unit 16 in the network camera 12 (S414).

このあと、ネットワークカメラ12は、撮影部14で撮像した映像データを、暗号処理部16において、設定された暗号アルゴリズムの暗号化機能を使用して暗号化データとし、暗号情報決定部18に設定された暗号アルゴリズムの識別子、または暗号アルゴリズムと鍵とを特定するセキュリティアソシエーションと呼ばれる情報SAの識別IDを添付する。そして、この暗号化データは、パケットとして通信処理部20を通じてインターネット22に送出される。通信装置24の通信処理部36は、パケットを受信し、添付された暗号アルゴリズムの識別子、またはSAの識別IDをもとに、折衝、合意した暗号アルゴリズムを使用して暗号処理部38において暗号の復号化を行ない、その結果得られた映像データをディスプレイ40に表示する。   Thereafter, the network camera 12 converts the video data captured by the imaging unit 14 into encrypted data using the encryption function of the set encryption algorithm in the encryption processing unit 16 and is set in the encryption information determination unit 18. An identification ID of the information SA called a security association that identifies the encryption algorithm identifier or the encryption algorithm and key is attached. The encrypted data is sent as a packet to the Internet 22 through the communication processing unit 20. The communication processing unit 36 of the communication device 24 receives the packet, and based on the attached encryption algorithm identifier or SA identification ID, the encryption processing unit 38 uses the encryption algorithm agreed and agreed on to Decoding is performed, and the video data obtained as a result is displayed on the display 40.

<通信装置24がイニシエータとなる場合>
次に、通信装置24内の暗号情報決定部32がイニシエータとなり、ネットワークカメラ12内の暗号情報決定部18とネゴシエーションを行なう場合の手順を示す。また、図8および図9は、このときの動作手順を示すフローチャートである。以下では、まず、図8のフローチャートに沿って説明を行なう。
<When communication device 24 is an initiator>
Next, a procedure in the case where the encryption information determination unit 32 in the communication device 24 becomes an initiator and negotiates with the encryption information determination unit 18 in the network camera 12 will be described. 8 and 9 are flowcharts showing the operation procedure at this time. Below, it demonstrates first along the flowchart of FIG.

まず、通信装置24内の暗号情報決定部32(以下イニシエータ)は、暗号処理部38がサポートしている暗号アルゴリズムの集合Aを求める(S801)。そしてイニシエータは、ネゴシエーション開始要求を待つ。ネゴシエーションの開始要求は、暗号通信を開始する際や、前回のネゴシエーションから一定時間経過後や、ネゴシエーション開始コマンドを実行したときなどに発行される。   First, the encryption information determination unit 32 (hereinafter referred to as initiator) in the communication device 24 obtains a set A of encryption algorithms supported by the encryption processing unit 38 (S801). Then, the initiator waits for a negotiation start request. The negotiation start request is issued when encryption communication is started, after a predetermined time has elapsed since the previous negotiation, or when a negotiation start command is executed.

イニシエータは、ネゴシエーションの開始要求を受け付けると(S802)、CPU使用率を用いて暗号アルゴリズムを選択する(S900)。ステップS900の詳細な手順は、図9のステップS901〜S905に示すように、通信装置24がレスポンダの場合(図4のステップS500、すなわち図5)とほぼ同じであるので、ここでは説明を省略する。異なるのは、暗号アルゴリズムを選択する集合が、応答通知可能な暗号アルゴリズム(集合C)か、サポートしている暗号アルゴリズム(集合A)かの違いのみである。   Upon receiving the negotiation start request (S802), the initiator selects an encryption algorithm using the CPU usage rate (S900). The detailed procedure of step S900 is almost the same as that in the case where the communication device 24 is a responder (step S500 in FIG. 4, ie, FIG. 5), as shown in steps S901 to S905 in FIG. To do. The only difference is whether the set for selecting the cryptographic algorithm is a cryptographic algorithm capable of sending a response (set C) or a supported cryptographic algorithm (set A).

次に、イニシエータは、選択した暗号アルゴリズムをレスポンダに対して提案する(S803)。   Next, the initiator proposes the selected encryption algorithm to the responder (S803).

レスポンダでは、はじめに暗号処理部16がサポートしている暗号アルゴリズムの集合Eを求めておく(S811)。その後、イニシエータから提案パケットを受信すると(S812)、提案された暗号アルゴリズムを暗号処理部16がサポートしているか(すなわち提案された暗号アルゴリズムが集合Eに含まれているか)を判断する(S813)。提案された暗号アルゴリズムを暗号処理部16がサポートしていない(すなわち提案された暗号アルゴリズムが集合Eに含まれていない)場合は、イニシエータに応答を返すことができないのでネゴシエーションに失敗し、次の提案パケットを待つ。提案された暗号アルゴリズムを暗号処理部16がサポートしている(すなわち提案された暗号アルゴリズムが集合Eに含まれている)場合には、その暗号アルゴリズムをイニシエータに対して応答通知し(S814)、応答通知した暗号アルゴリズムを暗号処理部16に設定する(S815)。   In the responder, first, a set E of cryptographic algorithms supported by the cryptographic processing unit 16 is obtained (S811). Thereafter, when a proposed packet is received from the initiator (S812), it is determined whether the cryptographic processing unit 16 supports the proposed cryptographic algorithm (that is, whether the proposed cryptographic algorithm is included in the set E) (S813). . If the cryptographic processing unit 16 does not support the proposed cryptographic algorithm (that is, the proposed cryptographic algorithm is not included in the set E), a response cannot be returned to the initiator, so the negotiation fails, and the following Wait for the proposal packet. If the cryptographic processing unit 16 supports the proposed cryptographic algorithm (that is, the proposed cryptographic algorithm is included in the set E), the cryptographic algorithm is notified to the initiator (S814), The encryption algorithm notified of the response is set in the encryption processing unit 16 (S815).

イニシエータでは、応答パケットを受信すると(S804)、応答通知された暗号アルゴリズムを暗号処理部38に設定する(S805)。   Upon receiving the response packet (S804), the initiator sets the encryption algorithm notified of the response in the encryption processing unit 38 (S805).

以上のように、本実施の形態によれば、イニシエータに対して応答通知する、もしくはレスポンダに対して提案する暗号アルゴリズムを選択する際に、CPUリソースが不足しない範囲で暗号強度の最も高いものを選択することができる。よって、できるだけ強固なセキュリティを保ちつつ、ネットワークカメラアプリケーション34のような暗号通信を必要とするアプリケーションとTV録画のようなその他の処理とを並行して行ったときのCPUリソースの不足を防ぐことができる。   As described above, according to the present embodiment, when the encryption algorithm to be notified to the initiator or to be proposed to the responder is selected, the one having the highest encryption strength within a range in which CPU resources are not insufficient. You can choose. Therefore, it is possible to prevent a shortage of CPU resources when an application requiring encryption communication such as the network camera application 34 and other processing such as TV recording are performed in parallel while maintaining as strong security as possible. it can.

なお、本実施の形態ではレスポンダに対して提案する暗号アルゴリズムは1つであるとしたが、優先順位を低くしておけば、他の暗号アルゴリズムを複数提案してもよい。   In the present embodiment, one encryption algorithm is proposed for the responder. However, if the priority is lowered, a plurality of other encryption algorithms may be proposed.

また、本実施の形態ではネットワークカメラアプリケーション34以外のアプリケーションはTV録画のみとしていたが、TV録画以外の他のアプリケーションが存在した場合には、上述の「CPURecord」を、「暗号アルゴリズムネゴシエーションの対象となる暗号通信以外の全てのアプリケーションが使用するCPU使用率の合計」として読み替えることで、同様の処理が可能である。   In this embodiment, the application other than the network camera application 34 is only for TV recording. However, when there is an application other than TV recording, the above-mentioned “CPURecord” is set to “encryption algorithm negotiation target”. Similar processing is possible by rereading as “the total CPU usage rate used by all applications other than encrypted communication”.

また、本実施の形態の説明中で「ネットワークカメラアプリケーション34が既に開始されており、暗号アルゴリズムとしてzが用いられていた場合には、CPURecord=CPUUtil−CPUCamera(z)のように、録画アプリケーション28に必要なCPUリソースを求めることができる。」と記載したが、CPUUtilがα[%]を越えていた場合には、この方法ではCPURecordを小さく見積もっていることになり(その理由は後述する)、その結果、ステップS502、S902で選択した暗号アルゴリズムを用いて暗号通信を行っても、CPU利用率がα[%]を越えてしまう可能性がある。このような問題を回避するために、ステップS501、S901で取得したCPU使用率がα[%]を越えていた場合には、集合C(レスポンダの場合)もしくは集合A(イニシエータの場合)のうち最も処理負荷の低い暗号アルゴリズムを選択してもよい。   Further, in the description of the present embodiment, “when the network camera application 34 has already been started and z is used as the encryption algorithm, the video recording application 28 is expressed as CPURecord = CPUUtil−CPUCamera (z)”. However, if the CPUUtil exceeds α [%], the CPURecord is estimated to be small (the reason will be described later). As a result, even if cryptographic communication is performed using the cryptographic algorithm selected in steps S502 and S902, the CPU utilization rate may exceed α [%]. In order to avoid such a problem, if the CPU usage rate acquired in steps S501 and S901 exceeds α [%], either set C (for responder) or set A (for initiator) A cryptographic algorithm with the lowest processing load may be selected.

「CPUUtilがα[%]を越えている」とは、CPUUtilを計測したときに、録画アプリケーション28が必要なCPUリソースを完全には確保できていないことを意味する。具体的な例で説明する。TV録画をするのに必要なCPUリソースであるCPURecordが80%であるとする。また、暗号アルゴリズムzを利用した場合に、ネットワークカメラアプリケーション34が必要とするCPUリソースであるCPUCamera(z)が40%であったとする。また、α=95%とする。CPUがTV録画とネットワークカメラアプリケーション34(暗号処理を含む)を実行している場合、必要なCPUリソースは、80%+40%=120%となるが、CPU使用率が100%を越えることはないので、CPU使用率の計測値CPUUtilは、このとき、100%に近い値(α=95%を越える値、例えば98%)として計測される。このとき、TV録画やネットワークカメラアプリケーション34は正常に動作できていない状態にある。このような状態で計測したCPUUtilをもとにCPURecordを計算すると、CPURecord=CPUUtil−CPUCamera(z)は、98%−40%=56%となる。正しくは80%であるべきところを56%と誤って計算してしまう。すなわち、CPURecordを実際よりも小さく見積もってしまうことになる。ここで、例えばCPUCamera(y)=30%となる暗号アルゴリズムが存在した場合、CPURecord+CPUCamera(y)=56%+30%=86%<95%(α)となり、暗号アルゴリズムyを選択することができる。しかし、TV録画をするのに本当に必要なCPUリソースは80%であるので、TV録画およびネットワークカメラアプリケーション34を実行するのに本当に必要なCPUリソースは、80%+30%=110%>αとなってしまい、やはり正常に動作することができない。いいかえると、CPUUtil>αと計測された場合は、その時点で実行されているアプリケーションに対して十分なCPUリソースが割り当てられているとは限らないということになる。よって、CPUUtil>αと判定され、正常な動作ができていないと推定される場合には、本当のCPURecordを求めることができず、適切な暗号アルゴリズムの選択ができないので、暗号アルゴリズムを変更した後に正常な動作をする可能性が比較的高い、最も処理負荷の低い暗号アルゴリズムを選択してもよいのである。もちろん、最も処理負荷の低い暗号アルゴリズムを選択したからといって、正常に動作するようになるという保証は、必ずしもないので、その場合は、異常動作を報告するモードに移るようにしてもよい。このモードにおいて、不要不急のアプリケーションの処理を一時停止するかその処理速度を遅くして、必要なCPUリソースを確保するなどの処理を行なえばよい。   “CPUUtil exceeds α [%]” means that the CPU resource required by the recording application 28 is not completely secured when the CPUUtil is measured. A specific example will be described. It is assumed that CPURecord, which is a CPU resource necessary for TV recording, is 80%. Further, when the encryption algorithm z is used, it is assumed that CPUCamera (z) that is a CPU resource required by the network camera application 34 is 40%. Further, α = 95%. When the CPU is executing TV recording and the network camera application 34 (including encryption processing), the required CPU resource is 80% + 40% = 120%, but the CPU usage rate does not exceed 100%. Therefore, the measured value CPUUtil of the CPU usage rate is measured as a value close to 100% (a value exceeding α = 95%, for example, 98%). At this time, the TV recording and network camera application 34 are not operating normally. When CPURecord is calculated based on CPUUtil measured in such a state, CPURecord = CPUUtil−CPUCamera (z) becomes 98% −40% = 56%. The correct value of 80% is erroneously calculated as 56%. That is, CPURecord is estimated to be smaller than actual. Here, for example, when there is an encryption algorithm with CPUCamera (y) = 30%, CPURecord + CPUCamera (y) = 56% + 30% = 86% <95% (α), and the encryption algorithm y can be selected. However, since the CPU resource that is really necessary for TV recording is 80%, the CPU resource that is really necessary for executing the TV recording and the network camera application 34 is 80% + 30% = 110%> α. As a result, it cannot operate normally. In other words, when CPUUtil> α is measured, it means that sufficient CPU resources are not always allocated to the application being executed at that time. Therefore, if it is determined that CPUUtil> α and it is estimated that the normal operation is not performed, the true CPURecord cannot be obtained, and an appropriate encryption algorithm cannot be selected. It is also possible to select an encryption algorithm with the lowest processing load that has a relatively high possibility of normal operation. Of course, there is not always a guarantee that the encryption algorithm with the lowest processing load is selected, so that the operation may be switched to a mode for reporting an abnormal operation. In this mode, processing such as temporarily suspending the processing of unnecessary and urgent applications or slowing down the processing speed and securing necessary CPU resources may be performed.

(実施の形態2)
次に実施の形態2について説明する。ただし、全体のシステム構成など、実施の形態1と変わらない部分の説明はここでは省略し、実施の形態1の図面を援用する。実施の形態1と異なるのは、暗号アルゴリズムを選択する手順のみであるので、その部分について以下で説明する。
(Embodiment 2)
Next, a second embodiment will be described. However, description of parts that are not different from the first embodiment, such as the entire system configuration, is omitted here, and the drawing of the first embodiment is used. The only difference from the first embodiment is the procedure for selecting an encryption algorithm, which will be described below.

実施の形態2では、実施の形態1と違い、ネットワークカメラアプリケーション34を実行するのに必要なCPUリソースが分からない場合にでも適用できる方法を説明する。   In the second embodiment, unlike the first embodiment, a method that can be applied even when the CPU resources necessary to execute the network camera application 34 are not known will be described.

<通信装置24がレスポンダとなる場合>
図10および図11は、通信装置24内の暗号情報決定部32がレスポンダとなる場合のフローチャートである。以下では、まず図10のフローチャートに沿って説明を行なう。
<When communication device 24 is a responder>
10 and 11 are flowcharts in the case where the encryption information determination unit 32 in the communication device 24 becomes a responder. In the following, description is first made along the flowchart of FIG.

まず、通信装置24内の暗号情報決定部32(以下レスポンダ)は、暗号処理部38がサポートしている暗号アルゴリズムの集合Aを求める(S1001)。こうして、ネットワークカメラ12内の暗号情報決定部18(以下イニシエータ)からの提案パケットを待つ状態になる。   First, the encryption information determination unit 32 (hereinafter referred to as responder) in the communication device 24 obtains a set A of encryption algorithms supported by the encryption processing unit 38 (S1001). In this way, it enters a state of waiting for a proposal packet from the encryption information determination unit 18 (hereinafter referred to as initiator) in the network camera 12.

イニシエータは、まずネゴシエーションの開始要求を受け付け(S1011)、ネゴシエーションを開始する。すなわち、1つもしくは複数の暗号アルゴリズムの提案を含むパケットをレスポンダに送信する(S1012)。この提案パケットを受信したレスポンダでは、提案されたアルゴリズムの集合Bをパケットから読み取る(S1002)。レスポンダが応答通知可能な暗号アルゴリズム(集合C)は、イニシエータによって提案された暗号アルゴリズム(集合B)のうち、暗号処理部38がサポートしているもの(集合A)であり、C=A∩Bとして求められる(S1003)。   The initiator first receives a negotiation start request (S1011), and starts negotiation. That is, a packet including one or more cryptographic algorithm proposals is transmitted to the responder (S1012). The responder that has received the proposed packet reads the proposed algorithm set B from the packet (S1002). The cryptographic algorithm (set C) that can be notified by the responder is the one supported by the cryptographic processor 38 (set A) among the cryptographic algorithms (set B) proposed by the initiator, and C = A∩B (S1003).

次に、レスポンダは、集合Cから暗号アルゴリズムを選択する(S1100)。図11のフローチャートを用いてこのステップS1100の詳細を説明する。   Next, the responder selects an encryption algorithm from the set C (S1100). Details of step S1100 will be described with reference to the flowchart of FIG.

まず、レスポンダは、この暗号アルゴリズムネゴシエーションが暗号通信開始前のものかどうかを判断する(S1104)。暗号通信開始前の場合は、暗号強度よりもCPU負荷を軽減することを優先して、集合Cのうち最も処理負荷の低い暗号アルゴリズムを応答通知する(S1102)。   First, the responder determines whether this encryption algorithm negotiation is before the start of encryption communication (S1104). Prior to the start of cryptographic communication, priority is given to reducing the CPU load over the cryptographic strength, and the cryptographic algorithm with the lowest processing load in the set C is notified as a response (S1102).

暗号通信を既に開始している場合には、そのときのCPU使用率に応じて、レスポンダは応答通知する暗号アルゴリズムを切り替える。まず、リソース監視部30から、現状態での、すなわち現在使用中の暗号アルゴリズムなどを含めたCPU使用率CPUUtilを取得する(S1103)。次に、暗号アルゴリズムを切り替える際の閾値として、2つの値γ[%]とδ[%](γ≧δ)を用いる。γ、δの値は例えば90[%]、70[%]などとあらかじめ決めておく。そして、δ<CPUUtil<γの場合には、CPU使用率が高すぎず低すぎず適当であると判断し、現在使用している暗号アルゴリズムを選択する(S1104、S1108、S1107)。   If the encryption communication has already started, the responder switches the encryption algorithm for notifying the response according to the CPU usage rate at that time. First, the CPU usage rate CPUUtil including the encryption algorithm currently used, that is, the currently used encryption algorithm is acquired from the resource monitoring unit 30 (S1103). Next, two values γ [%] and δ [%] (γ ≧ δ) are used as thresholds for switching the encryption algorithm. The values of γ and δ are determined in advance as, for example, 90 [%] and 70 [%]. If δ <CPUUtil <γ, it is determined that the CPU usage rate is not too high and not too low, and the encryption algorithm currently used is selected (S1104, S1108, S1107).

CPUUtil≧γの場合(S1104)は、レスポンダは、CPU負荷が高すぎると判断し、現在使用している暗号アルゴリズムよりもCPU負荷が低い暗号アルゴリズムを選択する。ただし、できるだけ強固な暗号アルゴリズムを使用するために、現在使用している暗号アルゴリズムよりもCPU負荷が低い暗号アルゴリズムがある場合には、その中で最も暗号強度の高いものを選択する(S1105、S1106)。現在使用している暗号アルゴリズムが集合Cのうち最も負荷の低いものだった場合には、その暗号アルゴリズムを選択する(S1105、S1107)。   When CPUUtil ≧ γ (S1104), the responder determines that the CPU load is too high, and selects an encryption algorithm having a lower CPU load than the currently used encryption algorithm. However, in order to use an encryption algorithm that is as strong as possible, if there is an encryption algorithm having a lower CPU load than the currently used encryption algorithm, the one with the highest encryption strength is selected (S1105, S1106). ). If the currently used encryption algorithm has the lowest load in the set C, the encryption algorithm is selected (S1105, S1107).

CPUUtil≦δの場合(S1104、S1108)は、レスポンダは、CPUリソースに余裕があると判断し、現在使用している暗号アルゴリズムよりも暗号強度の高い暗号アルゴリズムがある場合には、その暗号アルゴリズムを選択する(S1109、S1110)。ただし、CPU負荷が突然高くなるのを防ぐため、現在使用している暗号アルゴリズムよりも暗号強度が高い暗号アルゴリズムの中で最も処理負荷の低い暗号アルゴリズムを選択する。現在使用している暗号アルゴリズムが集合Cのうち最も暗号強度の高いものだった場合には、その暗号アルゴリズムを選択する(S1109、S1107)。   In the case of CPUUtil ≦ δ (S1104, S1108), the responder determines that the CPU resource has room, and if there is an encryption algorithm whose encryption strength is higher than that of the encryption algorithm currently used, the encryption algorithm is selected. Select (S1109, S1110). However, in order to prevent the CPU load from suddenly increasing, an encryption algorithm with the lowest processing load is selected from among encryption algorithms having higher encryption strength than the encryption algorithm currently used. If the currently used encryption algorithm is the one with the highest encryption strength in the set C, the encryption algorithm is selected (S1109, S1107).

ステップS1103においては、暗号処理実行中の任意の時刻に、その時点までの一定期間に測定したCPU使用率の平均値を求める手順により、あらかじめCPU使用率CPUUtilが求められているものとする。また、このステップS1103においてCPU使用率CPUUtilを求めるようにしてもよい。ステップS1104は、CPU使用率と第2基準値γとを比較する手順を実施している。ステップS1105とステップS1106は、その比較の結果、CPU使用率が第2基準値よりも高い場合に、その時点で使用している暗号アルゴリズムよりも負荷の低い一つもしくは複数の暗号アルゴリズムを選択する手順を実施している。   In step S1103, it is assumed that the CPU usage rate CPUUtil is obtained in advance by a procedure for obtaining an average value of CPU usage rates measured during a certain period up to that time at an arbitrary time during the execution of the cryptographic process. Further, in this step S1103, the CPU usage rate CPUUtil may be obtained. In step S1104, the CPU usage rate is compared with the second reference value γ. In step S1105 and step S1106, if the CPU usage rate is higher than the second reference value as a result of the comparison, one or more encryption algorithms having a lower load than the encryption algorithm used at that time are selected. The procedure is being implemented.

ステップS1106、ステップS1109、ステップS1110では、暗号強度に基づいて暗号アルゴリズムの選択を行なうが、このために、これらのステップの前またはその中で、暗号強度の順序を求める手順を実行する。図7の暗号処理使用資源表46には、各暗号アルゴリズムのEncRate(x)と共に、暗号強度データとして各暗号アルゴリズムの暗号強度の順位が格納されている。この暗号強度データを参照することにより、暗号強度に基づく暗号アルゴリズムの選択が容易に可能となる。   In step S1106, step S1109, and step S1110, a cryptographic algorithm is selected based on the cryptographic strength. For this purpose, a procedure for determining the order of the cryptographic strength is performed before or during these steps. The encryption processing usage resource table 46 of FIG. 7 stores the encryption strength rank of each encryption algorithm as encryption strength data together with EncRate (x) of each encryption algorithm. By referring to the encryption strength data, the encryption algorithm based on the encryption strength can be easily selected.

ステップS1108は、CPU使用率と第3基準値δとを比較する手順である。ステップS1109、ステップS1110は、CPU使用率が第3基準値よりも低い場合において、その時点で使用している暗号アルゴリズムよりも暗号強度の高い一つもしくは複数の暗号アルゴリズムを選択する手順を実施している。   Step S1108 is a procedure for comparing the CPU usage rate with the third reference value δ. In steps S1109 and S1110, when the CPU usage rate is lower than the third reference value, a procedure for selecting one or a plurality of encryption algorithms having higher encryption strength than the encryption algorithm used at that time is executed. ing.

ステップS1104とステップS1108で、CPU使用率と第2基準値γおよび第3基準値δとを比較し、CPU使用率が第2基準値γより低く第3基準値δより高い場合は、ステップS1107において、その時点で使用している暗号アルゴリズムを選択する手順を実施することになる。   In step S1104 and step S1108, the CPU usage rate is compared with the second reference value γ and the third reference value δ. If the CPU usage rate is lower than the second reference value γ and higher than the third reference value δ, step S1107 is performed. Then, the procedure for selecting the encryption algorithm used at that time is executed.

以降は再び図10に戻って説明する。まず、レスポンダは、ステップS1100で選択した暗号アルゴリズムをイニシエータに対して応答通知する(S1004)。   Hereinafter, the description will return to FIG. 10 again. First, the responder notifies the initiator of the encryption algorithm selected in step S1100 (S1004).

次に、応答通知した暗号アルゴリズムを実際に利用するために、暗号処理部38にその暗号アルゴリズムを設定する(S1005)。一方、イニシエータでは、レスポンダからの応答パケットを受信し(S1013)、応答通知された暗号アルゴリズムをネットワークカメラ12内の暗号処理部16に設定する(S1014)。   Next, in order to actually use the encryption algorithm notified of the response, the encryption algorithm is set in the encryption processing unit 38 (S1005). On the other hand, the initiator receives the response packet from the responder (S1013), and sets the encryption algorithm notified of the response in the encryption processing unit 16 in the network camera 12 (S1014).

<通信装置24がイニシエータとなる場合>
次に、通信装置24内の暗号情報決定部32がイニシエータとなり、ネットワークカメラ12内の暗号情報決定部18とネゴシエーションを行なう場合の手順を示す。また、図12および図13は、このときの動作手順を示すフローチャートである。以下では、まず、図12のフローチャートに沿って説明を行なう。
<When communication device 24 is an initiator>
Next, a procedure in the case where the encryption information determination unit 32 in the communication device 24 becomes an initiator and negotiates with the encryption information determination unit 18 in the network camera 12 will be described. 12 and 13 are flowcharts showing the operation procedure at this time. Below, it demonstrates first along the flowchart of FIG.

まず、通信装置24内の暗号情報決定部32(以下イニシエータ)は、暗号処理部38がサポートしている暗号アルゴリズムの集合Aを求める(S1201)。そしてイニシエータは、ネゴシエーション開始要求を待つ。ネゴシエーションの開始要求は、暗号通信を開始する際や、前回のネゴシエーションから一定時間経過後や、ネゴシエーション開始コマンドを実行したときなどに発行される。   First, the encryption information determination unit 32 (hereinafter referred to as initiator) in the communication device 24 obtains a set A of encryption algorithms supported by the encryption processing unit 38 (S1201). Then, the initiator waits for a negotiation start request. The negotiation start request is issued when encryption communication is started, after a predetermined time has elapsed since the previous negotiation, or when a negotiation start command is executed.

イニシエータは、ネゴシエーションの開始要求を受け付けると(S1202)、CPU使用率を用いて暗号アルゴリズムを選択する(S1300)。ステップS1300の詳細な手順は、図13のステップS1301〜S1310に示すように、通信装置24がレスポンダの場合(図10のS1100、すなわち図11)とほぼ同じであるので、ここでは説明を省略する。異なるのは、暗号アルゴリズムを選択する集合が、応答通知可能な暗号アルゴリズム(集合C)か、サポートしている暗号アルゴリズム(集合A)かの違いのみである。   Upon receiving the negotiation start request (S1202), the initiator selects an encryption algorithm using the CPU usage rate (S1300). The detailed procedure of step S1300 is almost the same as that in the case where the communication device 24 is a responder (S1100 in FIG. 10, ie, FIG. 11) as shown in steps S1301 to S1310 in FIG. . The only difference is whether the set for selecting the cryptographic algorithm is a cryptographic algorithm capable of sending a response (set C) or a supported cryptographic algorithm (set A).

そして、イニシエータは、選択した暗号アルゴリズムをレスポンダに対して提案する(S1203)。   Then, the initiator proposes the selected encryption algorithm to the responder (S1203).

レスポンダでは、はじめに暗号処理部16がサポートしている暗号アルゴリズムの集合Eを求めておく(S1211)。その後、イニシエータから提案パケットを受信すると(S1212)、提案されたアルゴリズムを暗号処理部16がサポートしているか(すなわち提案された暗号アルゴリズムが集合Eに含まれているか)を判断する(S1213)。提案された暗号アルゴリズムを暗号処理部16がサポートしていない(すなわち提案された暗号アルゴリズムが集合Eに含まれていない)場合は、イニシエータに応答を返すことができないのでネゴシエーションに失敗し、次の提案パケットを待つ。提案された暗号アルゴリズムを暗号処理部16がサポートしている(すなわち提案された暗号アルゴリズムが集合Eに含まれている)場合には、その暗号アルゴリズムをイニシエータに対して応答通知し(S1214)、応答通知した暗号アルゴリズムを暗号処理部16に設定する(S1215)。   In the responder, first, a set E of cryptographic algorithms supported by the cryptographic processing unit 16 is obtained (S1211). After that, when a proposed packet is received from the initiator (S1212), it is determined whether the cryptographic processor 16 supports the proposed algorithm (that is, whether the proposed cryptographic algorithm is included in the set E) (S1213). If the cryptographic processing unit 16 does not support the proposed cryptographic algorithm (that is, the proposed cryptographic algorithm is not included in the set E), a response cannot be returned to the initiator, so the negotiation fails, and the following Wait for the proposal packet. If the cryptographic processor 16 supports the proposed cryptographic algorithm (that is, the proposed cryptographic algorithm is included in the set E), the cryptographic algorithm is notified to the initiator (S1214). The encryption algorithm notified of the response is set in the encryption processing unit 16 (S1215).

イニシエータでは、応答パケットを受信すると(S1204)、応答通知された暗号アルゴリズムを暗号処理部38に設定する(S1205)。   Upon receiving the response packet (S1204), the initiator sets the encryption algorithm notified of the response in the encryption processing unit 38 (S1205).

以上のように、本実施の形態によれば、イニシエータに対して応答通知する、もしくはレスポンダに対して提案する暗号アルゴリズムを選択する際に、CPU使用率に応じて、現在使用している暗号アルゴリズムをより適切な暗号アルゴリズムに切り替えることができる。よって、できるだけ強固なセキュリティを保ちつつ、ネットワークカメラアプリケーション34のような暗号通信を必要とするアプリケーションと、TV録画のようなその他の処理を並行して行ったときの、CPUリソースの不足を防ぐことができる。   As described above, according to the present embodiment, when selecting an encryption algorithm to notify a response to the initiator or to propose a response to the responder, the encryption algorithm currently used according to the CPU usage rate Can be switched to a more appropriate encryption algorithm. Therefore, while keeping security as strong as possible, it is possible to prevent a shortage of CPU resources when an application that requires encrypted communication such as the network camera application 34 and other processing such as TV recording are performed in parallel. Can do.

なお、本実施の形態ではレスポンダに対して提案する暗号アルゴリズムは1つであるとしたが、優先順位を低くしておけば、他の暗号アルゴリズムを複数提案してもよい。   In the present embodiment, one encryption algorithm is proposed for the responder. However, if the priority is lowered, a plurality of other encryption algorithms may be proposed.

(実施の形態3)
次に実施の形態3について説明する。ただし、全体のシステム構成など、実施の形態1と変わらない部分の説明はここでは省略し、実施の形態1の図面を援用する。実施の形態1と異なるのは、暗号アルゴリズムのネゴシエーションを行なうタイミングと、暗号アルゴリズムを選択する手順のみであるので、その部分について以下で説明する。
(Embodiment 3)
Next, a third embodiment will be described. However, description of parts that are not different from the first embodiment, such as the entire system configuration, is omitted here, and the drawing of the first embodiment is used. The difference from the first embodiment is only the timing for performing encryption algorithm negotiation and the procedure for selecting the encryption algorithm, and will be described below.

実施の形態3では、通信装置24において定期的にCPU使用率の変化を検知し、あらかじめ定められたタイミングではなく、CPU使用率が変化したタイミングで、通信装置24内の暗号情報決定部32がイニシエータとなり、ネットワークカメラ12内の暗号情報決定部18とネゴシエーションを行なう。   In the third embodiment, the communication device 24 periodically detects a change in CPU usage rate, and the encryption information determination unit 32 in the communication device 24 does not change at a predetermined timing but at a timing when the CPU usage rate changes. It becomes an initiator and negotiates with the encryption information determination unit 18 in the network camera 12.

また、図14および図15は、実施の形態3の動作手順を示すフローチャートである。以下では、まず図14のフローチャートに沿って説明を行なう。   14 and 15 are flowcharts showing the operation procedure of the third embodiment. In the following, description is first made along the flowchart of FIG.

まず、暗号情報決定部32は、暗号処理部38がサポートしている暗号アルゴリズムの集合Aを求める(S1401)。また、暗号情報決定部18は、暗号処理部16がサポートしている暗号アルゴリズムの集合Eを求める(S1421)。   First, the encryption information determination unit 32 obtains a set A of encryption algorithms supported by the encryption processing unit 38 (S1401). In addition, the encryption information determination unit 18 obtains a set E of encryption algorithms supported by the encryption processing unit 16 (S1421).

次に、暗号通信開始前に、暗号情報決定部32、18の間で、実施の形態1の手順に従って暗号アルゴリズムのネゴシエーションを行なう(S1402、S1422)。そして、このネゴシエーションに従って選択された暗号アルゴリズムを用いて暗号通信が開始される。このとき、暗号情報決定部32は、この時点でのCPU使用率をpreCPUUtilとして保持しておく。なお、ここではどちらがイニシエータとなってネゴシエーションを行ってもよい。   Next, before encryption communication is started, encryption algorithm negotiation is performed between the encryption information determination units 32 and 18 in accordance with the procedure of the first embodiment (S1402, S1422). Then, encrypted communication is started using the encryption algorithm selected in accordance with this negotiation. At this time, the encryption information determination unit 32 holds the CPU usage rate at this time as preCPUUtil. Here, whichever is the initiator may negotiate.

さて、その後暗号通信を継続する間、暗号情報決定部32は、定期的にリソース監視部30からCPU使用率CPUUtilを取得する(S1403)。そして、前回ネゴシエーション時のCPU使用率preCPUUtilとの差分CPUdiffを次のように計算する。
CPUdiff=CPUUtil−preCPUUtil
Now, while continuing the encryption communication thereafter, the encryption information determination unit 32 periodically acquires the CPU usage rate CPUUtil from the resource monitoring unit 30 (S1403). Then, the difference CPUdiff from the CPU usage rate preCPUUtil at the time of the previous negotiation is calculated as follows.
CPUdiff = CPUUtil-preCPUUtil

ここで、暗号情報決定部32は、CPUUtilとpreCPUUtilとの差が、ある一定値β[%]よりも大きいかどうかを、次の不等式が成り立つどうかで判定する(S1404)。
|CPUdiff|≧β
なお、βの値は、例えば5%のようにあらかじめ定めておく。この式が成り立たないとき、つまり前回のネゴシエーション時にくらべてCPU使用率の変化がβ[%]未満である場合は、暗号情報決定部32は、暗号アルゴリズムを変更する必要はないと判断し、ネゴシエーションを行なわない。
Here, the encryption information determination unit 32 determines whether or not the difference between CPUUtil and preCPUUtil is greater than a certain fixed value β [%] based on whether the following inequality holds (S1404).
| CPUdiff | ≧ β
Note that the value of β is determined in advance, for example, 5%. If this expression does not hold, that is, if the change in the CPU usage rate is less than β [%] compared to the previous negotiation, the encryption information determination unit 32 determines that it is not necessary to change the encryption algorithm, and negotiates. Do not do.

上記の不等式が成り立つとき、つまり、前回のネゴシエーション時にくらべてCPU使用率の変化がβ[%]以上であるときは、暗号情報決定部32は、暗号アルゴリズムを変更する必要があるかもしれないと判断し、使用すべき暗号アルゴリズムを求める(S1500)。ステップS1500の詳細な手順は、図15のステップS1501〜S1506に示すように、実施の形態1の通信装置24がイニシエータの場合(図8のS900、すなわち図9)とほぼ同じであるので、ここでは説明を省略する。異なるのは、提案パケットを必ず送信するのか、暗号アルゴリズムが変更となるときにだけ送信するのかの違いのみである(S1503、S1505)。その結果、暗号アルゴリズムを変更する必要がある場合は、暗号情報決定部32は、イニシエータとして、提案パケットをレスポンダに対して送信する(S1405)。   When the above inequality holds, that is, when the change in the CPU usage rate is β [%] or more compared to the previous negotiation, the encryption information determination unit 32 may need to change the encryption algorithm. The encryption algorithm to be used is determined (S1500). The detailed procedure of step S1500 is almost the same as that in the case where the communication device 24 of the first embodiment is an initiator (S900 of FIG. 8, ie, FIG. 9) as shown in steps S1501 to S1506 of FIG. Then, explanation is omitted. The only difference is whether the proposal packet is always transmitted or only when the encryption algorithm is changed (S1503, S1505). As a result, if it is necessary to change the encryption algorithm, the encryption information determination unit 32 transmits the proposed packet to the responder as an initiator (S1405).

次に、レスポンダは、受信した提案パケットに対して、応答パケットを送信し(S1423〜S1425)、応答通知した暗号アルゴリズムを暗号処理部16に設定する(S1426)。また、イニシエータは、応答パケットを受信すると(S1406)、応答通知された暗号アルゴリズムを暗号処理部38に設定する(S1407)。以上の手順(S1406、S1407、S1423〜S1426)は、実施の形態1の通信装置24がイニシエータの場合(図8のS804、S805、S812〜S815)と全く同じであるので、詳細な説明は省略する。   Next, the responder transmits a response packet to the received proposal packet (S1423 to S1425), and sets the encryption algorithm notified of the response in the encryption processing unit 16 (S1426). When the initiator receives the response packet (S1406), the initiator sets the encryption algorithm notified of the response in the encryption processing unit 38 (S1407). The above procedure (S1406, S1407, S1423 to S1426) is exactly the same as when the communication device 24 of the first embodiment is an initiator (S804, S805, S812 to S815 in FIG. 8), and thus detailed description is omitted. To do.

最後に、次回のステップS1403でCPU使用率の変化を計算するために、ここでのCPU使用率CPUUtilの値をpreCPUUtilに設定する(S1408)。   Finally, in order to calculate the change in the CPU usage rate in the next step S1403, the value of the CPU usage rate CPUUtil here is set to preCPUUtil (S1408).

以上のように、本実施の形態によれば、できるだけ強固なセキュリティを保ちつつ、ネットワークカメラアプリケーション34のような暗号通信を必要とするアプリケーションと、TV録画のようなその他の処理を並行して行ったときの、CPUリソースの不足を防ぐことができる。また、CPU使用率に変化が起こったときに暗号アルゴリズムの見直しが行われるため、柔軟にかつ効率的に、最適な暗号アルゴリズムを選択することができる。   As described above, according to the present embodiment, an application that requires encrypted communication such as the network camera application 34 and other processing such as TV recording are performed in parallel while maintaining as strong security as possible. CPU resource shortage can be prevented. In addition, since the encryption algorithm is reviewed when the CPU usage rate changes, the optimal encryption algorithm can be selected flexibly and efficiently.

なおここではβの値は一定値としているが、現在使用している暗号アルゴリズムや、その他の集合Aに含まれる暗号アルゴリズムが必要とするCPUリソース等に基づいてβ値を動的に変化させてもよい。たとえば、複数の暗号アルゴリズムの各CPU使用率間の差に比べてβ値が小さいと、その時のCPU使用率の変化が少しであってもその変化量はβ値を超えるのでステップS1500の選択判定を開始することになるが、暗号アルゴリズムを変更するほどのCPU使用率の余裕がないことが分かり、選択判定が無駄になる。選択中の暗号アルゴリズムとCPU使用率において隣接するアルゴリズムとのCPU使用率の差値をβ値とし、選択中の暗号アルゴリズムによってβ値を動的に変えるようにすれば、無駄な処理を削減できる。   Here, the value of β is a constant value, but the β value is dynamically changed based on the currently used encryption algorithm or the CPU resources required by other encryption algorithms included in the set A. Also good. For example, if the β value is small compared to the difference between the CPU usage rates of a plurality of cryptographic algorithms, even if the CPU usage rate changes little at that time, the change amount exceeds the β value, so the selection determination in step S1500 However, it is found that there is not enough CPU usage rate to change the encryption algorithm, and the selection determination is wasted. If the CPU usage rate difference value between the selected cryptographic algorithm and the CPU usage rate is the β value, and the β value is dynamically changed according to the selected cryptographic algorithm, wasteful processing can be reduced. .

(実施の形態4)
次に実施の形態4について説明する。ただし、全体のシステム構成など、実施の形態1と変わらない部分の説明はここでは省略し、実施の形態1の図面を援用する。実施の形態1と異なるのは、暗号アルゴリズムのネゴシエーションを行なうタイミングと、暗号アルゴリズムを選択する手順のみであるので、その部分について以下で説明する。
(Embodiment 4)
Next, a fourth embodiment will be described. However, description of parts that are not different from the first embodiment, such as the entire system configuration, is omitted here, and the drawing of the first embodiment is used. The difference from the first embodiment is only the timing for performing encryption algorithm negotiation and the procedure for selecting the encryption algorithm, and will be described below.

実施の形態4では、通信装置24内の暗号情報決定部32とネットワークカメラ12内の暗号情報決定部18とが、暗号アルゴリズムネゴシエーション時に複数の暗号アルゴリズムを合意しておく。そして、暗号化側でパケットを送信する際に、合意した暗号アルゴリズムのうちのどの暗号アルゴリズムを用いて送信パケットの暗号化を行っても、復号化側では正しく復号できるようにする。   In the fourth embodiment, the encryption information determination unit 32 in the communication device 24 and the encryption information determination unit 18 in the network camera 12 agree on a plurality of encryption algorithms at the time of encryption algorithm negotiation. When the packet is transmitted on the encryption side, any one of the agreed encryption algorithms is used to encrypt the transmission packet so that the decryption side can correctly decrypt the packet.

以下では、CPU使用率にもとづいて暗号アルゴリズムを選択し、その暗号アルゴリズムを用いて送信パケットを暗号化する側の動作手順と、その相手側の動作手順をそれぞれ示す。   In the following, an operation procedure on the side for selecting an encryption algorithm based on the CPU usage rate and encrypting a transmission packet using the encryption algorithm and an operation procedure on the other side are shown.

図16および図17は、実施の形態4の動作手順を示すフローチャートである。図16の左側および図17は、CPU使用率に基づいて暗号アルゴリズムを選択する側(ここでは通信装置24内の暗号情報決定部32とする)の動作手順を、図16の右側は、相手側(ここではネットワークカメラ12内の暗号情報決定部18とする)の動作手順を示している。以下では、まず図16のフローチャートに沿って説明を行なう。   16 and 17 are flowcharts showing the operation procedure of the fourth embodiment. The left side of FIG. 16 and FIG. 17 show the operation procedure of the side that selects the encryption algorithm based on the CPU usage rate (here, the encryption information determination unit 32 in the communication device 24), and the right side of FIG. An operation procedure of the encryption information determination unit 18 in the network camera 12 is shown here. In the following, description is first made along the flowchart of FIG.

<暗号アルゴリズム選択側の動作手順>
まず、暗号アルゴリズム選択側の動作手順について説明する。暗号アルゴリズム選択側は、暗号アルゴリズム被通知側と暗号アルゴリズムネゴシエーションを行なう(S1601)。このとき、通信相手と複数の暗号アルゴリズムを合意し、その全ての暗号アルゴリズムの暗号化鍵、復号化鍵を生成しておく。ここで合意した暗号アルゴリズムの集合を集合Fとする。
<Operation procedure on the encryption algorithm selection side>
First, the operation procedure on the encryption algorithm selection side will be described. The encryption algorithm selection side performs encryption algorithm negotiation with the encryption algorithm notified side (S1601). At this time, a plurality of encryption algorithms are agreed with the communication partner, and encryption keys and decryption keys for all the encryption algorithms are generated. A set of cryptographic algorithms agreed here is set as a set F.

次に、パケット送信要求が発生するまで待つ(S1602)。パケット送信要求が発生すると、CPU使用率から使用すべき暗号アルゴリズムを選択する(S1700)。なお、ステップS1700の暗号アルゴリズム選択方法の詳細は、図17のステップS1701〜S1705に示すように、実施の形態1におけるアルゴリズム選択方法(図4のS500、図5)とほぼ同じであるので、ここでは説明を省略する。実施の形態1におけるアルゴリズム選択方法と異なるのは、選択肢となる暗号アルゴリズムの集合が、集合Cであるか、集合Fであるかの違いのみである。   Next, it waits until a packet transmission request is generated (S1602). When a packet transmission request is generated, an encryption algorithm to be used is selected from the CPU usage rate (S1700). The details of the encryption algorithm selection method in step S1700 are substantially the same as the algorithm selection method in the first embodiment (S500 in FIG. 4 and FIG. 5) as shown in steps S1701 to S1705 in FIG. Then, explanation is omitted. The only difference from the algorithm selection method in the first embodiment is whether the set of encryption algorithms as options is set C or set F.

なお、ここではパケット送信ごとに使用する暗号アルゴリズムを選択するとしているが、複数のパケット毎に、あるいは、一定時間おきに選択するようにしてもよい。   Although the encryption algorithm used for each packet transmission is selected here, it may be selected for each of a plurality of packets or at regular intervals.

最後に、選択した暗号アルゴリズムで送信パケットを暗号化し送信して(S1603)、パケット送信要求を受け付ける状態に戻る(S1602)。   Finally, the transmission packet is encrypted and transmitted with the selected encryption algorithm (S1603), and the state returns to accepting the packet transmission request (S1602).

ステップS1602において受け付けるパケット送信要求は、ネットワークカメラ12を制御するための指示をネットワークカメラ12に送信する場合のようにアプリケーションの動作により発生するものや、IPレイヤなどでのプロトコルの動作により発生するものなどがありうる。典型的な例は、通信装置24に設けられた操作ボタンを使用者が押すことにより、通信装置24においてカメラアプリケーションが動作し、このカメラアプリケーションがネットワークカメラ12に対して映像データパケットの送信を要求する場合である。また、同時に、通信制御用パケットや暗号アルゴリズムネゴシエーションパケットなどを暗号化する場合もある。   The packet transmission request accepted in step S1602 is generated by the operation of the application as in the case of transmitting an instruction for controlling the network camera 12 to the network camera 12, or generated by the operation of the protocol in the IP layer or the like. There can be. A typical example is that when a user presses an operation button provided on the communication device 24, a camera application operates in the communication device 24, and this camera application requests the network camera 12 to transmit a video data packet. This is the case. At the same time, communication control packets and encryption algorithm negotiation packets may be encrypted.

ステップS1603では、ステップS1602においてその送信要求を受け付けたパケットを暗号化して送信する。   In step S1603, the packet that has received the transmission request in step S1602 is encrypted and transmitted.

なお、ステップS1603で送信した暗号パケットをネットワークカメラ12において復号化する場合は、暗号パケットに付属するSA識別ID(SPI)を参照して、そのパケットがどの暗号アルゴリズムによって暗号化されているかを判別し、暗号の復号化を行なう。このステップは、図16のフローチャートの中で行なってもよいし、受信パケットの暗号解読のフローチャートにしたがって行なってもよい。   When the network camera 12 decrypts the encrypted packet transmitted in step S1603, it is determined by which encryption algorithm the packet is encrypted by referring to the SA identification ID (SPI) attached to the encrypted packet. Then, the encryption is decrypted. This step may be performed in the flowchart of FIG. 16 or may be performed according to the flowchart of decryption of the received packet.

<相手側の動作手順>
次に、相手側の動作手順について説明する。まず、相手側は、暗号アルゴリズム選択側と暗号アルゴリズムネゴシエーションを行なう(S1621)。このとき、暗号アルゴリズム選択側と複数の暗号アルゴリズムを合意し、その全ての暗号アルゴリズムの暗号化鍵、復号化鍵を生成しておく。そして、通信装置24から暗号化されたパケットを受信したかどうかを判定し(S1622)、この判定結果がYESの場合は、このパケットに適用されている暗号アルゴリズムを、暗号処理部16で使用する暗号アルゴリズムとして設定する(S1623)。
<Operation procedure of the other party>
Next, the other party's operation | movement procedure is demonstrated. First, the partner side performs encryption algorithm negotiation with the encryption algorithm selection side (S1621). At this time, a plurality of encryption algorithms are agreed with the encryption algorithm selection side, and encryption keys and decryption keys of all the encryption algorithms are generated. Then, it is determined whether or not an encrypted packet is received from the communication device 24 (S1622). If the determination result is YES, the encryption processor 16 uses the encryption algorithm applied to this packet. The encryption algorithm is set (S1623).

次に、パケット送信要求が発生しているかをチェックする(S1624)。パケット送信要求が発生していれば、ステップS1623で設定された暗号アルゴリズムを用いて送信パケットを暗号化し、送信する(S1625)。   Next, it is checked whether a packet transmission request has occurred (S1624). If a packet transmission request has occurred, the transmission packet is encrypted using the encryption algorithm set in step S1623 and transmitted (S1625).

なお、ステップS1625で送信したパケットを通信装置24が受信するには、通信装置24で実行されるステップS1603とステップS1602の間に、暗号化データのパケットを受信したかどうかの判断を行ない、受信した場合に暗号解読を行なうステップを付け加えてもよい。また、このフローチャートの手順とは別に、通信装置24が、暗号化データのパケット受信とその解読を行なう手順を割り込みなどを契機に行なうようにしてもよい。   In order for the communication device 24 to receive the packet transmitted in step S1625, it is determined whether or not an encrypted data packet has been received between steps S1603 and S1602 executed by the communication device 24. In this case, a step of performing decryption may be added. In addition to the procedure of this flowchart, the communication device 24 may perform a procedure for receiving and decrypting a packet of encrypted data upon an interrupt or the like.

以上のように、本実施の形態によれば、暗号アルゴリズム選択側と相手側とで、予め複数の暗号アルゴリズムを利用することを合意するため、暗号アルゴリズム選択側が、使用する暗号アルゴリズムを変更するときに、暗号アルゴリズムを折衝し直す必要がない。よって、より柔軟にCPU負荷を制御することができる。   As described above, according to the present embodiment, when the encryption algorithm selection side changes the encryption algorithm to be used in order to agree that the encryption algorithm selection side and the other side use a plurality of encryption algorithms in advance, In addition, there is no need to negotiate cryptographic algorithms. Therefore, the CPU load can be controlled more flexibly.

ところで、実施の形態4においては、CPUリソースに余裕があった場合、通信装置24において、それまで使われていた暗号アルゴリズムよりも負荷の高い暗号アルゴリズムが選択され、ネットワークカメラ12に通知される。しかしながら、その通知の直後に通信装置24においてCPU使用率が何らかの理由のために増加した場合に、CPU使用率が増加する直前にネットワークカメラ12で暗号アルゴリズムxによって暗号化されたカメラ映像パケットを受信した通信装置24では、CPUリソースが不足しているためにこのパケットを復号化できない危険がある。このような危険を防止するために、暗号アルゴリズムを使用して通信している場合は、通信装置24において、CPUリソースの消費を増やすようなアプリケーションの追加や変更を暗号通信が終わるまで禁止するか、その危険をOSやユーザに知らせて適切な処理を行なうようにすればよい。このような危険防止の処理は、本発明の他の実施の形態においても適用できる。   By the way, in the fourth embodiment, when there is a margin in CPU resources, the communication device 24 selects an encryption algorithm having a higher load than the encryption algorithm used so far and notifies the network camera 12 of it. However, when the CPU usage rate increases for some reason in the communication device 24 immediately after the notification, the network camera 12 receives a camera video packet encrypted by the encryption algorithm x immediately before the CPU usage rate increases. In the communication device 24, there is a risk that this packet cannot be decrypted because of insufficient CPU resources. In order to prevent such a risk, when communication is performed using an encryption algorithm, in the communication device 24, addition or change of an application that increases the consumption of CPU resources is prohibited until the end of the encryption communication. It is sufficient to notify the OS and the user of the danger and perform appropriate processing. Such danger prevention processing can also be applied to other embodiments of the present invention.

なお、上記実施の形態1〜4では、各アプリケーションによるCPU使用率の推定値が必要になったときにリソース監視部30からその推定値を入手するとした。ところで、通信装置24において実行される可能性のある各種アプリケーションのうち、どのアプリケーションが同時並行して実行されるかが予め分かっている場合が多い。そのようなアプリケーションについては、それぞれ予め単独で実行してみて、リソース監視部30によりそのときのCPU使用率をそれぞれ計測し、計測した値を既定の値としてCPU使用率情報メモリ44に格納しておき、この既定の値を折衝時に取り出して使用するようにしてもよい。また、同じ組み合わせで実行される可能性のある2つ以上のアプリケーションについて、予め試験的に同時に実行してCPU使用率を計測したり、過去に同じ組み合わせで実行されている期間のCPU使用率を計測したりし、この計測結果を既定の値としてCPU使用率情報メモリ44に格納しておき、この既定の値を折衝時に取り出して使用するようにしてもよい。また、通信装置24の設計時に各アプリケーションによるCPU使用率を算出し、その算出結果を既定の値としてCPU使用率情報メモリ44に格納しておいてもよい。   In the first to fourth embodiments, the estimated value is obtained from the resource monitoring unit 30 when the estimated value of the CPU usage rate by each application becomes necessary. By the way, in many cases, it is known in advance which application is executed in parallel among various applications that may be executed in the communication device 24. For such applications, each of them is executed beforehand in advance, the CPU usage rate at that time is measured by the resource monitoring unit 30, and the measured value is stored in the CPU usage rate information memory 44 as a default value. Alternatively, this default value may be taken out and used at the time of negotiation. Also, for two or more applications that may be executed in the same combination, the CPU usage rate is measured by executing it simultaneously in advance on a trial basis, or the CPU usage rate during the period when the same combination has been executed in the past. Alternatively, the measurement result may be stored in the CPU usage rate information memory 44 as a default value, and the default value may be taken out and used at the time of negotiation. Alternatively, the CPU usage rate by each application may be calculated when the communication device 24 is designed, and the calculation result may be stored in the CPU usage rate information memory 44 as a predetermined value.

また、CPU使用率の仕組みと計測方法については、採用するCPUが適用している仕組みと計測方法に従えばよく、上記説明の例に限定されることはない。   The CPU usage rate mechanism and measurement method may be in accordance with the mechanism and measurement method applied by the adopted CPU, and is not limited to the example described above.

また、本実施の形態では、暗号アルゴリズム選択側が用いた暗号アルゴリズムを、相手側は、暗号アルゴリズム選択側から受信した暗号化パケットに基づいて判断するとしたが、これに替えて、暗号アルゴリズム選択側が、暗号アルゴリズム選択側で用いた暗号アルゴリズムを通知するためのパケットを別途相手側へ送信するようにしてもよい。また、この場合、相手側は、暗号アルゴリズム選択側から通知された暗号アルゴリズムを用いて、暗号アルゴリズム選択側へ送信すべきパケットを暗号化してもよい。   Further, in this embodiment, the encryption algorithm used by the encryption algorithm selection side is determined based on the encrypted packet received from the encryption algorithm selection side by the other party, but instead, the encryption algorithm selection side A packet for notifying the encryption algorithm used on the encryption algorithm selection side may be separately transmitted to the other side. In this case, the other party may encrypt the packet to be transmitted to the encryption algorithm selection side using the encryption algorithm notified from the encryption algorithm selection side.

また、上記実施の形態1〜4においては、録画機能を有する通信装置24における暗号アルゴリズムの選択方法について説明したが、録画機能以外の機能を有する通信装置に対しても本発明を適用できることは言うまでもない。また、通信相手の機器(ネットワークカメラに限らない)も本発明のネゴシエーションの仕組みを有し、その機器内部でのCPU使用率に従って適用可能な複数のアルゴリズムを選択しながら、両者間でネゴシエーションを行なうことによって最終的に使用するアルゴリズムを選択するようにしてもよい。   In the first to fourth embodiments, the encryption algorithm selection method in the communication device 24 having a recording function has been described. Needless to say, the present invention can also be applied to a communication device having a function other than the recording function. Yes. Also, the communication partner device (not limited to the network camera) also has the negotiation mechanism of the present invention, and performs negotiation between the two while selecting a plurality of algorithms applicable according to the CPU usage rate in the device. It is possible to select an algorithm to be finally used.

(実施の形態5)
図18は、本発明の実施の形態5に係わる通信装置の構成を示すブロック図である。図18を参照すると、通信装置は、スケジュール部64、アプリケーション60、62、暗号通信アプリケーション70、72、暗号情報決定部74、通信処理部78、暗号処理部80、リソース監視部82を備えている。以下、本通信装置は、図1に示した通信装置24と同様に、TV受信、TV録画、録画番組の再生、カメラ映像の暗号通信による受信と表示等の機能を有するものとして説明する。
(Embodiment 5)
FIG. 18 is a block diagram showing a configuration of a communication apparatus according to Embodiment 5 of the present invention. Referring to FIG. 18, the communication apparatus includes a schedule unit 64, applications 60 and 62, encrypted communication applications 70 and 72, an encryption information determination unit 74, a communication processing unit 78, an encryption processing unit 80, and a resource monitoring unit 82. . Hereinafter, like the communication device 24 shown in FIG. 1, the communication device will be described as having functions such as TV reception, TV recording, playback of recorded programs, and reception and display of camera video by encrypted communication.

スケジュール部64は、リモコンや外部からの予約指令に従って、各アプリケーションの予約の登録、実行時刻の管理と実行の制御を行なう。アプリケーション60は、一例として、テレビ放送を受信して得られた映像データをハードディスクメモリに録画し、タイムシフトして再生するアプリケーション(図1の録画アプリケーション28に相当)であり、アプリケーション名をAとする。テレビ放送の録画をタスクaとし、タイムシフト再生をタスクcとする。暗号通信アプリケーション70は、一例として、ネットワークカメラから送られるカメラ映像データを復号化してディスプレイに表示するアプリケーション(図1のネットワークカメラアプリケーション34に相当)であり、アプリケーション名をBとする。アプリケーションBは、タスクbより成り、暗号アルゴリズムを使用する。   The schedule unit 64 performs registration of reservation of each application, management of execution time, and execution control according to a reservation command from the remote controller or the outside. As an example, the application 60 is an application (corresponding to the recording application 28 in FIG. 1) that records video data obtained by receiving a television broadcast in a hard disk memory and reproduces it with time shift. To do. TV broadcast recording is designated as task a, and time-shifted reproduction is designated as task c. The encryption communication application 70 is an application (corresponding to the network camera application 34 in FIG. 1) that decrypts camera video data sent from the network camera and displays it on the display as an example. Application B consists of task b and uses a cryptographic algorithm.

暗号情報決定部74は、使用する暗号アルゴリズムのネゴシエーションにおける、暗号アルゴリズムの選択・提案・決定に必要な各種情報(例えば、各暗号アルゴリズムが消費する使用資源情報、暗号強度情報など)、および暗号通信に必要な各種情報(例えば、暗号化・復号化に使用する公開鍵、秘密鍵、共有鍵などの鍵に関する情報など)を管理し、使用する暗号アルゴリズムを選択・決定する。   The encryption information determination unit 74 includes various pieces of information (for example, used resource information and encryption strength information consumed by each encryption algorithm) necessary for selecting, proposing, and determining the encryption algorithm in the negotiation of the encryption algorithm to be used, and encryption communication. (For example, information relating to keys such as a public key, a secret key, and a shared key used for encryption / decryption) necessary for encryption, and an encryption algorithm to be used is selected and determined.

暗号処理部80は、複数の暗号アルゴリズム処理手段(あるいは暗号アルゴリズム処理手順を実行するプログラム)を備えており、ネゴシエーションパケットの処理や、暗号化・復号化に使用する鍵・公開値・公開鍵・秘密鍵・共有鍵などの作成や、送信するデータの暗号化や、受信したデータの復号化などを行なう。   The cryptographic processing unit 80 includes a plurality of cryptographic algorithm processing means (or a program for executing a cryptographic algorithm processing procedure), and includes a key, a public value, a public key, and a key used for negotiation packet processing and encryption / decryption. Creates a secret key / shared key, encrypts data to be transmitted, and decrypts received data.

通信処理部78は、暗号処理部80が作成したパケットをインターネット回線網に所定の通信プロトコルの形式にして送信し、インターネット回線網から受信した通信プロトコルの形式のデータからパケットを取り出して暗号処理部80に渡す。   The communication processing unit 78 transmits the packet created by the encryption processing unit 80 to the Internet network in a predetermined communication protocol format, extracts the packet from the communication protocol format data received from the Internet network, and performs the encryption processing unit. Pass to 80.

次に、本実施の形態の通信装置の動作について説明する。   Next, the operation of the communication apparatus according to this embodiment will be described.

まず、TV録画を行なう際の動作について説明する。図18の通信装置において、受像部(図示しない)は、TV放送データを受信し、続いて、受信されたTV放送データを、アプリケーション60が、通信装置内蔵の蓄積媒体(図示しない)に記録する。この処理は、アプリケーション60中のタスクaの処理を本通信装置内蔵のCPUが実行することにより実現される。録画したいチャンネルのTV番組の放送開始時刻から放送終了時刻まで録画を連続的に行なうことで、TV録画が完了する。   First, the operation when performing TV recording will be described. In the communication apparatus of FIG. 18, an image receiving unit (not shown) receives TV broadcast data, and then the application 60 records the received TV broadcast data in a storage medium (not shown) built in the communication apparatus. . This process is realized by executing the process of task a in the application 60 by the CPU built in the communication apparatus. The TV recording is completed by continuously recording the TV program of the channel to be recorded from the broadcast start time to the broadcast end time.

TV録画の予約は、使用者が予めリモコンを用いて録画チャンネル番号・録画開始時刻・録画終了時刻を指示し、その指示内容をスケジュール部64が受取って、後述するスケジュール・使用資源表66に登録することにより行われる。   For TV recording reservation, the user instructs the recording channel number, recording start time, and recording end time in advance using the remote controller, and the scheduling unit 64 receives the instruction content and registers it in the schedule / usage resource table 66 described later. Is done.

また、アプリケーション60は、録画したTV番組をタイムシフトして再生する機能(タスクc)を含んでいる。このタイムシフト再生のタスクcについても、リモコン予約により再生番組番号・再生開始時刻・再生終了時刻が指示され、その指示内容がスケジュール部64によりスケジュール・使用資源表66に登録される。   Further, the application 60 includes a function (task c) for playing back a recorded TV program while time-shifting. Also for the time shift reproduction task c, the reproduction program number, the reproduction start time, and the reproduction end time are instructed by remote control reservation, and the instruction contents are registered in the schedule / usage resource table 66 by the schedule unit 64.

次に、ネットワークカメラの映像をディスプレイに表示する際のシステムの動作について説明する。この処理は、暗号通信を行なうための前処理と、実際にネットワークカメラアプリケーションを動作させる処理の2つに分かれる。暗号通信を行なうための前処理については後述し、はじめに、実際にネットワークカメラアプリケーションを動作させる処理の概要について述べる。ネットワークカメラ側の処理は、図43や、実施の形態1(図1)で説明したのでここでは説明を省略する。図18の通信装置では、通信処理部78でインターネット回線網から映像データに基づく暗号化パケットを受信し、暗号処理部80で復号化し、復号化された映像データを暗号通信アプリケーション70に渡し、暗号通信アプリケーション70は、映像データを所定の位置・大きさでディスプレイ(図示しない)に出力する。そして、ディスプレイが映像を表示する。以上のようにして、ネットワークカメラで撮影された映像がディスプレイに表示される。   Next, the operation of the system when displaying the video of the network camera on the display will be described. This process is divided into two processes: a preprocess for performing encrypted communication and a process for actually operating the network camera application. Preprocessing for performing encrypted communication will be described later, and first, an outline of processing for actually operating the network camera application will be described. Since the processing on the network camera side has been described with reference to FIG. 43 and Embodiment 1 (FIG. 1), description thereof is omitted here. In the communication apparatus of FIG. 18, the communication processing unit 78 receives an encrypted packet based on the video data from the Internet network, decrypts it with the encryption processing unit 80, passes the decrypted video data to the encryption communication application 70, and encrypts it. The communication application 70 outputs the video data to a display (not shown) at a predetermined position and size. Then, the display displays an image. As described above, the video captured by the network camera is displayed on the display.

ネットワークカメラの映像データを受信する時間帯の予約指示も、予めリモコンからスケジュール部64に対して行なわれ、スケジュール・使用資源表66に登録される。   A reservation instruction for a time period for receiving video data of the network camera is also given in advance from the remote controller to the schedule unit 64 and registered in the schedule / usage resource table 66.

次に、スケジュール・使用資源表66について説明する。図19にその一例を示す。図19において、TV録画アプリケーションA(アプリケーション60)は、タスクaとタスクcよりなる。TV録画のタスクaは、2002年11月1日の12:00から13:00までの番組を予約録画するように指令されているので、開始時刻欄と終了時刻欄に、その旨が登録されている。図示しないが、この他のデータとして、チャンネル番号や番組コードなども登録される。タスクcは、録画した番組を30分遅れでタイムシフトして見るアプリケーションAの機能の一部であり、2002年11月1日の12:30から13:30まで実行するように予約され、登録されている。図示しないが、この他のデータとして、録画された番組のチャンネル番号や番組コード、あるいはHDD内の番組ファイル管理コードなどが登録される。アプリケーションB(暗号通信アプリケーション70)は、ネットワークカメラの映像データの受信機能と表示機能を実現するものであり、タスクbより成る。このタスクbは、2002年11月1日の11:45から以降継続して実行されるように、リモコンにより指示されており、スケジュール・使用資源表66の開始時刻と終了時刻に、その旨が登録されている。   Next, the schedule / used resource table 66 will be described. An example is shown in FIG. In FIG. 19, a TV recording application A (application 60) is composed of a task a and a task c. Since the TV recording task a is instructed to make a reservation recording of a program from 12:00 to 13:00 on November 1, 2002, this is registered in the start time column and the end time column. ing. Although not shown, a channel number and a program code are also registered as other data. Task c is a part of the function of application A for viewing a recorded program with a time shift of 30 minutes, and is reserved and registered to be executed from 12:30 to 13:30 on November 1, 2002. Has been. Although not shown, as other data, the channel number and program code of the recorded program, the program file management code in the HDD, and the like are registered. Application B (encrypted communication application 70) realizes the video data reception function and display function of the network camera, and consists of task b. This task b is instructed by the remote controller to be continuously executed from 11:45 on November 1, 2002, and this is indicated at the start time and end time of the schedule / use resource table 66. It is registered.

また、スケジュール・使用資源表66には、各タスクa、b、c、それぞれの実行に必要とする使用資源の量、すなわちCPUの処理能力、メモリ量、通信する場合のデータ転送量が、それぞれ、平均使用CPU資源(メガインストラクション/秒:MIPS)、平均使用メモリ資源(メガバイト:MB)、暗号通信の平均データ転送量(メガビット/秒:Mbps)として記憶されている。タスクa、cについては、暗号通信を行なわないので、暗号通信の平均データ転送量は0Mbpsである。暗号通信欄には暗号通信の有無を記載してある。タスクbについては暗号通信欄が「する」となっている。また、必要暗号強度の欄には、暗号通信の際の必要暗号強度を指定している。この例では、タスクbにおいて利用する暗号アルゴリズムは、暗号強度が1位、2位、3位のものの中から選ぶように指定されている。   In the schedule / used resource table 66, the amount of used resources required for the execution of each task a, b, c, that is, the processing capacity of the CPU, the amount of memory, and the amount of data transferred when communicating are respectively shown. The average used CPU resource (mega instruction / second: MIPS), the average used memory resource (mega byte: MB), and the average data transfer amount (megabit / second: Mbps) of encryption communication are stored. Since tasks a and c are not subjected to encrypted communication, the average data transfer amount of encrypted communication is 0 Mbps. The presence / absence of encrypted communication is described in the encrypted communication column. For task b, the encrypted communication column is “Yes”. In the required encryption strength column, the required encryption strength for encryption communication is specified. In this example, the encryption algorithm used in task b is designated to be selected from those having the first, second, and third encryption strength.

暗号情報決定部74は、内部に暗号処理使用資源表76を備えている。暗号処理使用資源表76の例を、図20に示す。図20において、暗号処理部80が保有している2種の暗号アルゴリズム(DES−CBC、3DES−CBC)について、それぞれの使用資源の量、すなわち平均使用CPU資源(単位:MIPS/Mbps)、平均使用メモリ資源(MB)、暗号強度順位が記憶されている。平均使用CPU資源の単位は、この例においては、1Mbpsのデータ転送量を暗号化・復号化する際に必要なCPU処理能力をしめす。データ転送量が多いほど、暗号化・復号化の処理能力が比例的に多く必要になる。1Mbpsのデータを転送する場合は、それぞれ100MIPS、300MIPSのCPU処理能力を消費することを示している。   The encryption information determination unit 74 includes an encryption processing usage resource table 76 therein. An example of the cryptographic processing use resource table 76 is shown in FIG. In FIG. 20, for the two types of cryptographic algorithms (DES-CBC, 3DES-CBC) held by the cryptographic processing unit 80, the amount of each used resource, that is, the average used CPU resource (unit: MIPS / Mbps), average Used memory resources (MB) and encryption strength ranking are stored. In this example, the average CPU resource unit indicates the CPU processing capacity necessary for encrypting / decrypting a data transfer amount of 1 Mbps. The larger the data transfer amount, the more proportionally more encryption / decryption processing power is required. In the case of transferring 1 Mbps data, the CPU processing capacity of 100 MIPS and 300 MIPS is consumed.

図21は、スケジュール・使用資源表66と暗号処理使用資源表76に基づくCPU使用率の時間推移を示した図である。CPU使用率は、CPUの最大処理能力を1000MIPSとした場合の%で表示している。破線は暗号アルゴリズムとしてDES−CBCを採用した場合のCPU使用率を示しており、一点鎖線は暗号アルゴリズムとして3DES−CBCを採用した場合のCPU使用率を示している。タスクaとタスクcに加えてタスクbを処理する12:30〜13:00の区間で、CPU使用率が最も高くなっている。CPU使用率は、処理量の瞬間的揺らぎや予測できない緊急の処理に対応できるように、余裕を残すようにするのが一般的である。正常な処理を行なうのに支障がない許容総平均CPU使用率を50%とした場合、図21では、3DES−CBCの場合、12:00〜13:00においてCPU使用率が50%を超えるため正常な処理に支障をきたす恐れがあることになる。一方、DES−CBCなら全時間においてCPU使用率が50%以下である。   FIG. 21 is a diagram showing the time transition of the CPU usage rate based on the schedule / used resource table 66 and the cryptographic processing used resource table 76. The CPU usage rate is displayed in% when the maximum processing capacity of the CPU is 1000 MIPS. The broken line indicates the CPU usage rate when DES-CBC is adopted as the encryption algorithm, and the alternate long and short dash line indicates the CPU usage rate when 3DES-CBC is adopted as the encryption algorithm. The CPU usage rate is highest in the 12:30 to 13:00 interval in which task b is processed in addition to task a and task c. In general, the CPU usage rate leaves a margin so as to cope with instantaneous fluctuations in the processing amount and urgent processing that cannot be predicted. When the allowable total average CPU usage rate that does not hinder normal processing is 50%, in FIG. 21, in the case of 3DES-CBC, the CPU usage rate exceeds 50% at 12:00 to 13:00. There is a risk of hindering normal processing. On the other hand, in the case of DES-CBC, the CPU usage rate is 50% or less over the entire time.

本実施の形態では、スケジュール・使用資源表66と暗号処理使用資源表76を使用して、許容資源使用量、すなわち許容総平均CPU使用率(または許容CPU処理能力)を超えないように、暗号アルゴリズムをスケジューリングする。   In this embodiment, using the schedule / usage resource table 66 and the cryptographic processing usage resource table 76, the encryption is performed so that the allowable resource usage, that is, the allowable total average CPU usage rate (or allowable CPU processing capacity) is not exceeded. Schedule the algorithm.

このために、次のようなスケジュール解析処理を行なう。スケジュール部64は、スケジュール・使用資源表66の内容と内部時計(図示しない)を監視する。そして、内部時計の現在時刻より一定時間後(例えば、5分後)のイベントの有無を調べる。図19のスケジュール・使用資源表によれば、現在時刻11:40以前では、5分後のイベントがないので、スケジュール部64は待機状態である。11:40になると、スケジュール部64は5分後にイベントが予定されていることを検知する。するとスケジュール部64は、スケジュール・使用資源表66内に登録された全タスクを調べ、それらの開始時刻、終了時刻によって区切られる各イベント区間(ここでは、区間(11:45〜12:00)、区間(12:00〜12:30)、区間(12:30〜13:00)、区間(13:00〜13:30)、区間(13:30〜未定))ごとに、平均使用CPU資源の合計値を算出する。暗号通信を行なうタスクbでは、暗号強度第3位以上の暗号アルゴリズムから選択することが指定されているので、暗号処理使用資源表76に記載された各暗号アルゴリズムそれぞれを適用した場合の平均使用CPU資源の合計値を算出する。   For this purpose, the following schedule analysis processing is performed. The schedule unit 64 monitors the contents of the schedule / used resource table 66 and an internal clock (not shown). Then, the presence or absence of an event after a certain time (for example, after 5 minutes) from the current time of the internal clock is checked. According to the schedule / usage resource table of FIG. 19, since there is no event after 5 minutes before the current time 11:40, the schedule unit 64 is in a standby state. At 11:40, the schedule unit 64 detects that an event is scheduled after 5 minutes. Then, the schedule unit 64 examines all tasks registered in the schedule / usage resource table 66, and each event section (here, section (11:45 to 12:00) divided by their start time and end time, For each section (12: 0 to 12:30), section (12:30 to 13:00), section (13: 0 to 13:30), section (13:30 to undetermined), the average used CPU resource Calculate the total value. In task b for performing cryptographic communication, it is specified that the cryptographic algorithm having the third or higher cryptographic strength is selected. Therefore, the average CPU used when each cryptographic algorithm described in the cryptographic processing usage resource table 76 is applied. Calculate the total value of resources.

なお、5分後のイベントの有無を調べる代わりに、何らかのアプリケーションの実行が予約された時点において、上記平均使用CPU資源の合計値を算出するようにしてもよい。   Instead of checking for the presence of an event after 5 minutes, the total value of the average used CPU resources may be calculated at the time when execution of some application is reserved.

図22は、合計値を算出するためにスケジュール部64が作成するイベント・使用資源表68の例である。図22(1)は、DES−CBCを使用した場合のイベント・使用資源表68である。各イベント時刻毎に、タスク名毎の動作状況(稼動/非稼動)とその使用資源の欄、暗号アルゴリズム名とその使用資源欄、および使用資源合計の欄が設けられる。タスクが複数ある場合は、その数だけの欄が設けられる。各欄には、そのイベント時刻から次の行のイベント時刻までの間に実行すべきタスクや暗号アルゴリズムについての記入が行われる。すなわち、各イベント時刻から次のイベント時刻の間に予約されているタスク名とその使用資源量を記載する。あるタスクがある時刻で終了する場合は、その終了時刻をイベント時刻の欄に記入した行を設け、終了すべきタスク名を記載しないようにすればよい。暗号アルゴリズムを使用する場合は、暗号アルゴリズム名とその使用資源量も記載する。DES−CBCは、図20の例では100MIPS/Mbpsであるが、カメラアプリケーション(アプリケーションB)における映像データの暗号通信の平均データ転送量が、図19の例では1Mbpsであるので、DES−CBCの平均使用CPU資源は100MIPSになる。図22(2)は、3DES−CBCを使用した場合のイベント・使用資源表68である。図22(1)および図22(2)の使用資源合計の欄をCPU処理能力1000MIPSに対して%表示すれば、それぞれ、図21の破線と一点鎖線のCPU使用率(%)の時間推移になる。   FIG. 22 is an example of the event / usage resource table 68 created by the schedule unit 64 to calculate the total value. FIG. 22A is an event / usage resource table 68 when DES-CBC is used. For each event time, an operation status (operating / non-operating) for each task name and its used resource column, an encryption algorithm name and its used resource column, and a used resource total column are provided. When there are a plurality of tasks, as many columns as there are provided. Each column is filled with a task and a cryptographic algorithm to be executed between the event time and the event time on the next line. That is, the task name reserved between each event time and the next event time and the amount of resources used are described. When a certain task ends at a certain time, a line in which the end time is entered in the event time column may be provided so that the task name to be ended is not described. If a cryptographic algorithm is used, describe the cryptographic algorithm name and the amount of resources used. DES-CBC is 100 MIPS / Mbps in the example of FIG. 20, but since the average data transfer amount of video data encryption communication in the camera application (application B) is 1 Mbps in the example of FIG. 19, DES-CBC The average used CPU resource is 100 MIPS. FIG. 22B is an event / used resource table 68 when 3DES-CBC is used. 22 (1) and FIG. 22 (2) are displayed in% for the CPU processing capacity 1000 MIPS, respectively, the CPU usage rate (%) of the broken line and the alternate long and short dash line in FIG. Become.

スケジュール部64は、作成したイベント・使用資源表68の使用資源合計欄を調べ、最大CPU処理能力1000MIPSの許容総平均CPU使用率50%である許容CPU処理能力500MIPSを常に超えないような全ての暗号アルゴリズムを選択し、選択した暗号アルゴリズム名を暗号情報決定部74に通知する。暗号情報決定部74は、通知された暗号アルゴリズム名と暗号処理使用資源表76とを参照して通知された暗号アルゴリズムの中から最も暗号強度が強いものを選択する。本実施の形態では、DES−CBCのみが暗号情報決定部74に通知されるので、この暗号アルゴリズムが選択される。   The schedule unit 64 examines the total used resource column of the created event / used resource table 68, and makes sure that all allowable CPU processing capacities 500MIPS, which is the allowable total average CPU usage 50% of the maximum CPU processing capacity 1000MIPS, are not always exceeded. The encryption algorithm is selected, and the selected encryption algorithm name is notified to the encryption information determination unit 74. The encryption information determination unit 74 selects the one with the strongest encryption strength from the notified encryption algorithms with reference to the notified encryption algorithm name and the encryption processing use resource table 76. In this embodiment, only the DES-CBC is notified to the encryption information determination unit 74, so this encryption algorithm is selected.

つぎに、暗号情報決定部74は、採用したDES−CBCを使用することをスケジュール部64に通知する。スケジュール部64は、通知された暗号アルゴリズムの使用をスケジュール化する。この例では、図22(1)を選択する。以上で、スケジュール解析に基く暗号アルゴリズムの選択とその使用スケジュールが作成できた。   Next, the encryption information determination unit 74 notifies the scheduling unit 64 that the adopted DES-CBC is to be used. The scheduling unit 64 schedules the use of the notified encryption algorithm. In this example, FIG. 22 (1) is selected. This completes the selection of the cryptographic algorithm based on the schedule analysis and the schedule for its use.

スケジュール部64は、通知された暗号アルゴリズム(ここではDES―CBC)に対応する図22(1)のイベント・使用資源表68を使用して、予約された各アプリケーションの起動・実行・停止を制御する。スケジュール部64は、イベント・使用資源表68(図22(1))を常時参照しており、内部時計が11:45になると、スケジュール部64は、暗号通信アプリケーション70に対してタスクbを起動するよう指示し、暗号処理部80に対してDES−CBCを使用して暗号通信の前処理を行なうように指示する。   The schedule unit 64 controls the activation / execution / stop of each reserved application using the event / usage resource table 68 of FIG. 22 (1) corresponding to the notified encryption algorithm (here, DES-CBC). To do. The schedule unit 64 always refers to the event / usage resource table 68 (FIG. 22 (1)), and when the internal clock becomes 11:45, the schedule unit 64 starts the task b for the encryption communication application 70. And instructs the cryptographic processing unit 80 to perform preprocessing of cryptographic communication using DES-CBC.

暗号処理部80は、暗号通信の前処理として、暗号通信に必要な共有鍵の作成のため、通信相手である図43のネットワークカメラの暗号処理部204との間で、ネゴシエーションを行ない、Diffie−Hellman、IKE、IPsecなどの仕様にしたがって、共有鍵を作成する。暗号処理部80、204の両方で共有鍵の作成が終了すると、通信装置では、暗号処理部80が暗号通信アプリケーション70に暗号通信ができることを通知し、ネットワークカメラでは、暗号処理部204が暗号通信アプリケーション200に暗号通信ができることを通知する。通知を受けた暗号通信アプリケーション200は、カメラの映像データを暗号処理部204に送り込み、暗号処理部204はDES−CBCによりこの映像データを暗号化し、通信処理部206は暗号化された映像データパケットを作成してインターネット回線網を介して通信処理部78にパケットを送る。暗号処理部80は、通信処理部78より受信したデータを受取って暗号の復号化を行ない、映像データを暗号通信アプリケーション70に渡す。暗号通信アプリケーション70は、既に説明したように、映像をディスプレイに表示する。スケジュール部64は、内部時計を参照して現在時刻が12:00になったことを検知すると、イベント・使用資源表68に従い、タスクbを継続しつつ、タスクa(すなわちアプリケーション60)を起動する。12:30になるとさらにタスクcを起動する。13:00になるとタスクaを停止する。13:30になるとタスクcを停止する。すなわち、各イベント時刻になると、そのイベント時刻の行の内容をひとつ前のイベント時刻の行の内容と比較し、前行から新たに追加されたタスクや暗号アルゴリズムを起動し、前行から記載がなくなったタスクや暗号アルゴリズムがあれば、それらを停止する。   The encryption processing unit 80 negotiates with the encryption processing unit 204 of the network camera of FIG. 43, which is the communication partner, to create a shared key necessary for encryption communication as preprocessing of encryption communication, and Diffie− A shared key is created according to specifications such as Hellman, IKE, and IPsec. When the creation of the shared key is completed in both the cryptographic processing units 80 and 204, the communication device notifies the cryptographic processing application 80 that the cryptographic communication application 70 can perform cryptographic communication. In the network camera, the cryptographic processing unit 204 performs cryptographic communication. The application 200 is notified that encryption communication is possible. Upon receiving the notification, the encryption communication application 200 sends the video data of the camera to the encryption processing unit 204, the encryption processing unit 204 encrypts the video data by DES-CBC, and the communication processing unit 206 encrypts the video data packet. And the packet is sent to the communication processing unit 78 via the Internet network. The encryption processing unit 80 receives the data received from the communication processing unit 78, decrypts the encryption, and passes the video data to the encryption communication application 70. As described above, the encryption communication application 70 displays the video on the display. When the schedule unit 64 refers to the internal clock and detects that the current time is 12:00, the schedule unit 64 starts the task a (that is, the application 60) while continuing the task b according to the event / usage resource table 68. . At 12:30, task c is further activated. At 13:00, task a is stopped. At 13:30, task c is stopped. That is, at each event time, the contents of the line at that event time are compared with the contents of the line at the previous event time, the newly added task or encryption algorithm is started from the previous line, and the description from the previous line is started. If there are any missing tasks or cryptographic algorithms, stop them.

以上のように、この実施の形態5の通信装置あるいはアルゴリズム選択方法では、スケジュール部64が、スケジュール・使用資源表66の予約内容と暗号処理使用資源表76のデータを調べることにより、使用CPU資源量が許容CPU処理能力を超えないような暗号アルゴリズムが選択されるようなスケジュールを作成するようにした。従って、暗号通信の実行中に使用CPU資源量が許容CPU処理能力を超えてしまってシステムが破綻したり暗号通信が中断したりする危険性を予め排除できる。   As described above, in the communication device or algorithm selection method according to the fifth embodiment, the scheduling unit 64 checks the reservation contents in the schedule / use resource table 66 and the data in the encryption processing use resource table 76, thereby using the CPU resources used. A schedule is selected so that an encryption algorithm whose amount does not exceed the allowable CPU processing capacity is selected. Accordingly, it is possible to eliminate in advance the risk that the amount of CPU resources used exceeds the allowable CPU processing capacity during the execution of cryptographic communication and the system breaks down or the cryptographic communication is interrupted.

また、本実施の形態によれば、将来の動作を考慮して暗号アルゴリズムの選択など、暗号設定情報を決定することができるため、途中で暗号アルゴリズムを切り替えなくとも、処理資源が枯渇することを防止できる。また、刻々かわる資源の使用状態に応じて暗号アルゴリズムの選択などを制御する動的な資源使用制御にくらべて、手後れになる危険性を低減できる。   In addition, according to the present embodiment, it is possible to determine encryption setting information such as selection of an encryption algorithm in consideration of future operations, so that processing resources are depleted without changing the encryption algorithm in the middle. Can be prevented. In addition, the risk of getting behind can be reduced as compared with dynamic resource usage control that controls selection of an encryption algorithm according to the state of resource usage that changes every moment.

各タスクa、b、cの使用資源の量である、平均使用CPU資源、平均使用メモリ資源、平均データ転送量などの数値は、予め通信装置の製造や出荷時にアプリケーション60や、暗号通信アプリケーション70の内部に記憶しておいてもよいし、あるいは各アプリケーションプログラムをインターネット回線網やTVデータ放送を通じて外部からダウンロードする際に、アプリケーション60や、暗号通信アプリケーション70の内部に記憶しておいてもよい。暗号アルゴリズムの平均使用CPU資源・平均使用メモリ資源・暗号強度順位・後述する前処理命令数などは、暗号処理部80にテーブルを設け、このテーブルに暗号・復号情報として記憶しておいてもよい。この場合は、これらの暗号・復号情報を暗号情報決定部74が読み出して暗号処理使用資源表76に書きこむ。あるいは、暗号処理使用資源表76中に記憶しておいてもよい。   Numerical values such as the average used CPU resource, average used memory resource, and average data transfer amount, which are the amount of resources used for each task a, b, c, are the application 60 or the cryptographic communication application 70 at the time of manufacturing or shipping the communication device in advance. Or may be stored in the application 60 or the encryption communication application 70 when each application program is downloaded from the outside through the Internet network or TV data broadcast. . A table may be provided in the encryption processing unit 80 for the average used CPU resource, average used memory resource, encryption strength order, the number of preprocessing instructions to be described later, etc., and stored as encryption / decryption information in this table. . In this case, the encryption / decryption information is read by the encryption information determination unit 74 and written in the encryption processing usage resource table 76. Alternatively, it may be stored in the cryptographic processing usage resource table 76.

あるいは、暗号アルゴリズムの平均使用CPU資源・平均使用メモリ資源・平均データ転送量・後述する前処理命令数などを前回実行時に計測しておき、計測したデータを図2のCPU使用率情報メモリ44のような記憶部に記憶するようにしてもよい。この計測はリソース監視部82において行ない、計測した情報を暗号情報決定部74に通知し、暗号情報決定部74がこのデータを上記記憶部に記憶しておく。そして、予約指示を受けてスケジュール・使用資源表66を作成する際に、暗号情報決定部74はこれらのデータを上記記憶部から読み出してスケジュール・使用資源表66の所定欄に書き込む。暗号アルゴリズムに関するデータは、計測結果を暗号処理使用資源表76に転送してもよい。一般に、CPU処理能力の使用量の計測は、モニタプログラムやカーネルプログラムの一部を利用して行なう。実行タスクのCPU処理能力の使用量をCPU自身が計測できる場合は、その計測結果をCPUが暗号情報決定部74に通知するようにしてもよい。   Alternatively, the average used CPU resource, average used memory resource, average data transfer amount, the number of pre-processing instructions to be described later are measured at the previous execution, and the measured data is stored in the CPU usage rate information memory 44 of FIG. You may make it memorize | store in such a memory | storage part. This measurement is performed in the resource monitoring unit 82, the measured information is notified to the encryption information determination unit 74, and the encryption information determination unit 74 stores this data in the storage unit. When receiving the reservation instruction and creating the schedule / usage resource table 66, the encryption information determination unit 74 reads these data from the storage unit and writes them in a predetermined column of the schedule / usage resource table 66. For the data related to the encryption algorithm, the measurement result may be transferred to the encryption processing usage resource table 76. In general, the amount of CPU processing capacity used is measured using a part of a monitor program or a kernel program. When the CPU itself can measure the usage amount of the CPU processing capacity of the execution task, the CPU may notify the encryption information determination unit 74 of the measurement result.

なお、本実施の形態では、図22(1)と図22(2)に示すように、暗号アルゴリズム毎に別々のイベント・使用資源表68を設けているが、後述する実施の形態7で説明する図25や図26のように、表の共通部分をまとめてひとつの表の形にしてもよい。   In this embodiment, as shown in FIGS. 22 (1) and 22 (2), a separate event / usage resource table 68 is provided for each encryption algorithm, but this will be described in Embodiment 7 to be described later. As shown in FIG. 25 and FIG. 26, common parts of tables may be combined into a single table.

図23は、上記説明した処理を行なう通信装置のハードウェア構成の例である。図23において、CPU94、ROM96、RAM98、HDD104、モデム116は、転送手段92であるバスラインに接続されている。このような構成は、標準的なコンピュータシステムの構成である。ROM96には、システム起動用のプログラムや、書き換える必要のないデータが格納されている。HDD104内のエリア106には、システム全体の統括や種々の制御を行なうオペレーションシステム(OS)のような制御プログラム、CPU94をリソース監視部82として機能させるためのリソース監視部プログラム、CPU94を通信処理部78として機能させるための通信処理部プログラムが格納されている。エリア108には、CPU94をスケジュール部64として機能させるためのスケジュール部プログラム、CPU94を暗号情報決定部74として機能させるための暗号情報決定部プログラムが格納されている。エリア110には、CPU94を暗号処理部80として機能させるための暗号処理部プログラム、暗号アルゴリズムのプログラムが格納されている。エリア112には、アプリケーションプログラム、暗号通信アプリケーションプログラムが格納されている。エリア114のファイル部には、録画したテレビ番組のデータが格納される。アンテナ84とチューナ86により受信されたテレビ番組のトランスポートストリームは、エリア112からRAM98にロードされたアプリケーション60に従ってCPU94によりデコードされ、そのデコード結果がエリア114のファイル部に格納(録画)される。また、録画されたデータは、所定のタイムシフト時間後に読み出され、CPU94によってAVデコードの処理が行なわれ、デコードされた音声データと映像データは音声処理88と表示処理90を介して音声出力と映像出力として出力される。リモコン102の操作により指示される予約情報は、リモコンIF(インタフェース)100を介してスケジュール部プログラムが受取り、スケジュール部プログラムはこれをスケジュール・使用資源表66に登録する。その後、CPU94は、制御プログラムに従って、スケジュール部プログラム、暗号情報決定部プログラム、暗号処理部プログラム、暗号アルゴリズムプログラム、アプリケーションプログラム、暗号通信プログラム、リソース監視部プログラム、および通信処理部プログラムをRAM98上に順次ロードし、各プログラムにしたがって上記説明した処理を行なう。   FIG. 23 is an example of a hardware configuration of a communication apparatus that performs the above-described processing. In FIG. 23, a CPU 94, ROM 96, RAM 98, HDD 104, and modem 116 are connected to a bus line that is a transfer means 92. Such a configuration is a standard computer system configuration. The ROM 96 stores a system startup program and data that does not need to be rewritten. An area 106 in the HDD 104 has a control program such as an operation system (OS) that controls the entire system and performs various controls, a resource monitoring unit program for causing the CPU 94 to function as the resource monitoring unit 82, and a communication processing unit for the CPU 94. A communication processing unit program for functioning as 78 is stored. The area 108 stores a schedule section program for causing the CPU 94 to function as the schedule section 64, and an encryption information determination section program for causing the CPU 94 to function as the encryption information determination section 74. The area 110 stores a cryptographic processing unit program for causing the CPU 94 to function as the cryptographic processing unit 80 and a cryptographic algorithm program. The area 112 stores application programs and encrypted communication application programs. The file portion of the area 114 stores recorded television program data. The TV program transport stream received by the antenna 84 and the tuner 86 is decoded by the CPU 94 in accordance with the application 60 loaded from the area 112 to the RAM 98, and the decoding result is stored (recorded) in the file section of the area 114. The recorded data is read out after a predetermined time shift time, and is subjected to AV decoding processing by the CPU 94. The decoded audio data and video data are output via the audio processing 88 and the display processing 90 as audio output. Output as video output. Reservation information instructed by operation of the remote controller 102 is received by the schedule section program via the remote controller IF (interface) 100, and the schedule section program registers this in the schedule / usage resource table 66. Thereafter, the CPU 94 sequentially stores a schedule unit program, an encryption information determination unit program, an encryption processing unit program, an encryption algorithm program, an application program, an encryption communication program, a resource monitoring unit program, and a communication processing unit program on the RAM 98 according to the control program. The above-described processing is performed according to each program.

次に、実施の形態5を基本として、その他の実施の形態について説明してゆく。以下、各実施の形態の説明においては、ブロック構成が実施の形態5の場合と同じ部分については繰り返しの説明を省き、異なる部分を中心に説明する。   Next, other embodiments will be described based on the fifth embodiment. Hereinafter, in the description of each embodiment, the description of the same part of the block configuration as that of the fifth embodiment will be omitted, and different parts will be mainly described.

なお、暗号復号情報として、暗号アルゴリズムに加え、暗号鍵等、暗復号処理に必要な情報も含めて通知しても構わない。また、暗号アルゴリズムや暗号鍵を特定する識別子を通知しても構わない。   The encryption / decryption information may be notified including information necessary for encryption / decryption processing such as an encryption key in addition to the encryption algorithm. Moreover, you may notify the identifier which identifies an encryption algorithm and an encryption key.

(実施の形態6)
図18で説明した実施の形態5の通信装置においては、暗号通信に先立つ前処理、すなわち各種暗号通信にかかわるパラメータのネゴシエーションや共有鍵の交換の処理に無視できない時間がかかる場合には、予約した時間どおりに暗号通信を開始できないという問題が発生する。実施の形態6は、このような課題を解決するためのものである。
(Embodiment 6)
In the communication apparatus according to the fifth embodiment described with reference to FIG. 18, a reservation is made when pre-processing prior to encrypted communication, that is, when negotiation of parameters related to various encrypted communication and processing for exchanging a shared key take a non-negligible time. There is a problem that encryption communication cannot be started on time. The sixth embodiment is for solving such a problem.

本実施の形態では、図20の暗号処理使用資源表76に、図24に示すように、前処理命令数の欄をさらに設け、各暗号アルゴリズム毎に、前処理に必要なCPU処理量を実行命令数Im(単位MI:メガインストラクション)として記載しておく。この数値は、予め通信装置の製造あるいは出荷時に記憶しておいてもよいし、前回に前処理を行なったときにCPUの実行命令数を計測しておき、これを記憶するようにしてもよい。計測する場合は、リソース監視部82において計測を行ない、計測結果を資源情報として暗号処理使用資源表76に記憶する。実施の形態5のイベント・使用資源表68作成時に、暗号通信タスクbの開始イベント以前の時間帯における(許容CPU処理能力−使用資源合計)=CPU処理能力余裕値Ycpu(MIPS)を算出し、Mt(秒)=Im/Ycpuを求めると、前処理に必要な時間が求まる。   In the present embodiment, as shown in FIG. 24, the encryption processing usage resource table 76 in FIG. 20 further includes a column for the number of preprocessing instructions, and the CPU processing amount necessary for preprocessing is executed for each encryption algorithm. It is described as the number of instructions Im (unit MI: mega instruction). This numerical value may be stored in advance at the time of manufacture or shipment of the communication device, or may be stored by measuring the number of instructions executed by the CPU when preprocessing was performed last time. . In the case of measurement, the resource monitoring unit 82 performs measurement, and the measurement result is stored in the cryptographic processing use resource table 76 as resource information. When the event / usage resource table 68 of the fifth embodiment is created, (allowable CPU processing capacity−total used resources) = CPU processing capacity margin value Ycpu (MIPS) in the time zone before the start event of the encryption communication task b is calculated. When Mt (seconds) = Im / Ycpu is obtained, the time required for preprocessing is obtained.

なお、共有鍵の処理には、相手機器の処理時間と通信時間も必要である。相手機器の処理時間が無視できる場合は、上記計算値に余裕値αを加算した値を前処理に必要な時間としてもよい。相手機器の処理時間が無視できない場合は、この処理時間も考慮しなければならない。相手機器での処理時間が本装置の処理時間とほぼ同等の場合は、Mt=(Im/Ycpu)×2+β(βは通信時間および余裕時間)とすればよい。また、前回の暗号通信時の処理時間を記憶しておいて、本装置と相手機器の処理時間の合計値に余裕時間を加算したものをMtとしてもよい。本通信装置と同じように、相手機器のCPU処理能力が状況により変動するなどの理由により相手機器の処理時間が分からない場合は、相手機器に処理時間を問い合わせる処理を行った後にMtを決定すればよい。いずれにしても、前処理に必要な時間Mt=Im/Ycpu+δ+β(δは相手機器の処理時間)とすればよい。   Note that the processing time and communication time of the counterpart device are also required for processing the shared key. When the processing time of the counterpart device can be ignored, a value obtained by adding the margin value α to the calculated value may be used as the time required for the preprocessing. If the processing time of the counterpart device cannot be ignored, this processing time must also be taken into account. If the processing time at the counterpart device is substantially equal to the processing time of this apparatus, Mt = (Im / Ycpu) × 2 + β (β is the communication time and margin time) may be set. Further, the processing time at the previous encryption communication may be stored, and the sum of the processing time of the present apparatus and the counterpart device plus the margin time may be set as Mt. As in the case of this communication apparatus, if the processing time of the counterpart device is not known due to reasons such as the CPU processing capacity of the counterpart device fluctuating depending on the situation, Mt is determined after performing processing for inquiring the processing time of the counterpart device. That's fine. In any case, the time required for preprocessing may be Mt = Im / Ycpu + δ + β (δ is the processing time of the counterpart device).

Mtが求まると、スケジュール部64は、イベント・使用資源表68のタスクbの開始時刻をMt(秒)だけ早める。このようにすれば、暗号通信アプリケーション70のタスクbは、11:45のMt(秒)前に起動するから、前処理を完了するMt(秒)後、すなわち11:45には暗号通信アプリケーション70の暗号通信が実際に行なえるようになる。具体的には、タスクbの開始イベント時刻よりもMtだけ早い時刻にタスクbの前処理の開始を示すイベントを追加挿入しておき、スケジュール部64が11:45のMt(秒)前に前処理の開始を暗号処理部80に指示するようにし、前処理が完了した11:45にタスクbを起動するようにする。   When Mt is obtained, the schedule unit 64 advances the start time of the task b in the event / usage resource table 68 by Mt (seconds). In this way, since the task b of the cryptographic communication application 70 is started before 11:45 Mt (seconds), after the Mt (second) to complete the preprocessing, that is, at 11:45, the cryptographic communication application 70 It becomes possible to actually perform the encryption communication. Specifically, an event indicating the start of the pre-processing of task b is inserted at a time earlier by Mt than the start event time of task b, and the schedule unit 64 moves before 11:45 Mt (seconds) before. The start of processing is instructed to the cryptographic processing unit 80, and the task b is started at 11:45 when the preprocessing is completed.

本実施の形態によれば、暗号通信の前処理を行なうべき時間帯のCPU処理能力余裕値Ycpuが少ない場合には、より早めに前処理を開始でき、暗号通信を予約時間通りに開始することが可能になる。   According to the present embodiment, when the CPU processing capacity margin value Ycpu in the time zone in which the preprocessing of the encrypted communication is to be performed is small, the preprocessing can be started earlier and the encrypted communication can be started according to the reserved time. Is possible.

また、本実施の形態によれば、将来の動作を考慮して前もって共有鍵などの暗号・復号情報を用意できるため、必要なときにすぐに暗号通信を行なうことができる。また、資源の使用レベルが低いときに、共有鍵などの暗号・復号情報を用意しておける。   Also, according to the present embodiment, encryption / decryption information such as a shared key can be prepared in advance in consideration of future operations, so that encrypted communication can be performed immediately when necessary. Also, when the resource usage level is low, encryption / decryption information such as a shared key can be prepared.

なお、ある暗号アルゴリズムを途中でいったん別の暗号アルゴリズムに切り替えてから再び元の暗号アルゴリズムを使用する場合に、暗号アルゴリズムを切り替える前に使用していた通信用の鍵を、当該別の暗号アルゴリズムの使用中も保持しておき、再び元の暗号アルゴリズムを使用するときにこの鍵を再利用するようにしてもよい。これにより、再び元の暗号アルゴリズムを使用する際の前処理を省略することができる。   In addition, when a certain encryption algorithm is switched to another encryption algorithm and then the original encryption algorithm is used again, the communication key used before switching the encryption algorithm is changed to the other encryption algorithm. The key may be retained during use and reused when the original encryption algorithm is used again. Thereby, the pre-processing at the time of using the original encryption algorithm again can be omitted.

なお、暗号復号情報として、暗号アルゴリズムに加え、暗号鍵等、暗復号処理に必要な情報も含めて通知しても構わない。また、暗号アルゴリズムや暗号鍵を特定する識別子を通知しても構わない。   The encryption / decryption information may be notified including information necessary for encryption / decryption processing such as an encryption key in addition to the encryption algorithm. Moreover, you may notify the identifier which identifies an encryption algorithm and an encryption key.

(実施の形態7)
つぎに、実施の形態7として、ひとつの暗号通信アプリケーションにおいて、許容CPU処理能力Kcpu(MIPS)までの範囲で、暗号強度が最も大きい暗号アルゴリズムを切換選択して使用するようにした実施の形態について説明する。本実施の形態の構成は図18と同様である。以下では、実施の形態5と異なる部分について説明する。
(Embodiment 7)
Next, as a seventh embodiment, in one cryptographic communication application, a cryptographic algorithm having the highest cryptographic strength is selected and used within a range up to the allowable CPU processing capability Kcpu (MIPS). explain. The configuration of this embodiment is the same as that in FIG. Below, a different part from Embodiment 5 is demonstrated.

図21または図22を参照すると、CPU処理能力が許容CPU処理能力Kcpu(MIPS)である500MIPSを超えない、すなわちCPU使用率が許容限界である50%を超えない暗号アルゴリズムは、区間(11:45〜12:00)と区間(13:00〜未定)では3DES−CBCとDES−CBCであるが、前者の方が暗号強度の順位が高い。スケジュール部64は、図22(1)および図22(2)のイベント・使用資源表68に基づいて、各イベント区間ごとに、使用資源合計が許容CPU処理能力Kcpu(MIPS)=500MIPSを超えない暗号アルゴリズムを暗号情報決定部74に通知する。暗号情報決定部74は、通知された暗号アルゴリズムが複数ある場合には暗号強度が最も大きいものを選択し、選択した暗号アルゴリズムをスケジュール部64に通知する。イベント・使用資源表68には、イベント時刻毎かつ暗号アルゴリズム毎に、その暗号アルゴリズムが選択されたかどうかを示す選択記入欄(図示せず)が新たに設けられ、スケジュール部64は、暗号情報決定部74から通知された暗号アルゴリズムの選択記入欄に、その暗号アルゴリズムが選択されたことを示す選択コードを記入する。つぎに、スケジュール部64は、実施の形態6の場合と同様に、暗号アルゴリズムを切換えるべきイベント時刻の前の時間帯における(許容CPU処理能力−使用資源合計)=CPU処理能力余裕値Ycpu(MIPS)を算出し、Mt(秒)=Im/Ycpuを求め、このイベント時刻のMt(秒)前に、前処理のイベントを挿入する。このようなイベント・使用資源表68(DES−CBCに対応するものと、3DES−CBCに対応するものの両方)を作成した後、スケジュール部64は、このイベント・使用資源表68を参照しながら、各アプリケーションや、次に使用する暗号アルゴリズムの前処理および暗号処理などの起動・実行・停止の制御を行なう。このとき、スケジュール部64は、イベント・使用資源表68の上記選択記入欄の選択コードを参照して、選択された暗号アルゴリズムの前処理と、暗号化・復号化の処理を、暗号処理部80に行なわせる。   Referring to FIG. 21 or FIG. 22, an encryption algorithm whose CPU processing capacity does not exceed the allowable CPU processing capacity Kcpu (MIPS) of 500 MIPS, that is, the CPU usage rate does not exceed the allowable limit of 50% is the section (11: 45 to 12:00) and sections (13: 0 to undetermined) are 3DES-CBC and DES-CBC, but the former has a higher cipher strength ranking. Based on the event / usage resource table 68 of FIGS. 22 (1) and 22 (2), the schedule unit 64 does not exceed the allowable CPU processing capacity Kcpu (MIPS) = 500 MIPS for each event section. The encryption algorithm is notified to the encryption information determination unit 74. When there are a plurality of notified encryption algorithms, the encryption information determination unit 74 selects the one with the highest encryption strength and notifies the scheduling unit 64 of the selected encryption algorithm. The event / usage resource table 68 is newly provided with a selection entry field (not shown) indicating whether or not the encryption algorithm has been selected for each event time and for each encryption algorithm. A selection code indicating that the encryption algorithm has been selected is entered in the encryption algorithm selection entry field notified from the section 74. Next, as in the case of the sixth embodiment, the scheduling unit 64 ((permissible CPU processing capacity−total used resources) = CPU processing capacity margin value Ycpu (MIPS) in the time zone before the event time at which the encryption algorithm should be switched. ) Is calculated, Mt (second) = Im / Ycpu is obtained, and an event of preprocessing is inserted before Mt (second) of this event time. After creating such an event / usage resource table 68 (both those corresponding to DES-CBC and those corresponding to 3DES-CBC), the scheduling unit 64 refers to this event / usage resource table 68, Controls start / execution / stop of pre-processing and encryption processing of each application and encryption algorithm to be used next. At this time, the scheduling unit 64 refers to the selection code in the selection entry field of the event / usage resource table 68 and performs the pre-processing of the selected encryption algorithm and the encryption / decryption processing. Let me do it.

図25は、実施の形態7で用いられるイベント・使用資源表68の一例である。イベント時刻欄には、年月日時刻の内、少なくとも時刻が記載される。タスク/資源欄には、予定タスク名と使用資源量(MIPS)が記載される。使用資源量(MIPS)は平均使用CPU資源の量である。タスク/資源欄は、予約アプリケーションが増えると、必要に応じて増設される。暗号/資源欄には、候補暗号アルゴリズム名と使用資源量(MIPS)が記載される。資源合計欄には、予定タスクと候補暗号アルゴリズムによる使用資源合計(MIPS)が記載される。暗号/資源欄と資源合計欄は、候補暗号アルゴリズムの数だけ設けられる。   FIG. 25 is an example of the event / usage resource table 68 used in the seventh embodiment. In the event time column, at least the time of the year / month / day / time is written. In the task / resource column, a scheduled task name and a used resource amount (MIPS) are described. The amount of used resources (MIPS) is the amount of average used CPU resources. The task / resource column is expanded as necessary when the number of reservation applications increases. In the encryption / resource column, a candidate encryption algorithm name and a used resource amount (MIPS) are described. In the total resource column, the scheduled task and the total resource used (MIPS) by the candidate encryption algorithm are described. The encryption / resource field and the resource total field are provided as many as the number of candidate encryption algorithms.

使用暗号欄には、使用資源合計が許容CPU処理能力を超えない範囲で、暗号強度が最も高い暗号アルゴリズム名が記載される。この処理は次のように行なえばよい。スケジュール部64が、各イベント区間毎に、使用資源合計が許容CPU処理能力を超えないような候補暗号アルゴリズムを暗号情報決定部74に通知する。暗号情報決定部74は、図20の暗号処理使用資源表76を参照して、通知された候補暗号アルゴリズムの中から暗号強度が最も高いものを選択し、その暗号アルゴリズム名をスケジュール部64に通知する。スケジュール部64は、通知された暗号アルゴリズム名を使用暗号欄に記載する。   In the used cipher column, the name of the cipher algorithm having the highest cipher strength within a range where the total used resource does not exceed the allowable CPU processing capacity is described. This process may be performed as follows. The schedule unit 64 notifies the encryption information determination unit 74 of candidate encryption algorithms for which the total used resources do not exceed the allowable CPU processing capacity for each event section. The encryption information determination unit 74 refers to the encryption processing usage resource table 76 of FIG. 20 and selects the notified candidate encryption algorithm having the highest encryption strength, and notifies the scheduling unit 64 of the encryption algorithm name. To do. The schedule unit 64 writes the notified encryption algorithm name in the used encryption column.

以上のように、本実施の形態によれば、使用CPU資源量が許容CPU処理能力を超えないような、かつ暗号強度が最も高い暗号アルゴリズムを、イベント区間毎に選択することができるため、CPUの使用率の変化に応じて、随時最適な暗号アルゴリズム使用することができる。   As described above, according to the present embodiment, since the cryptographic algorithm having the highest cryptographic strength that does not exceed the allowable CPU processing capacity and the CPU usage amount can be selected for each event section, the CPU In accordance with the change in the usage rate, an optimal encryption algorithm can be used at any time.

イベント・使用資源表68は図25の例に限らない。例えば、図26の暗号アルゴリズムの欄のように、暗号アルゴリズム名と資源の量とを別の欄に記載するようにしてもよい。   The event / used resource table 68 is not limited to the example of FIG. For example, as in the column of encryption algorithm in FIG. 26, the encryption algorithm name and the amount of resources may be described in separate columns.

(実施の形態8)
次に、実施の形態8として、前述した実施の形態7と実施の形態6を組み合わせた実施の形態について説明する。つまり本実施の形態は、実施の形態7において、暗号通信の前処理に無視できない時間がかかる場合に対処するために実施の形態6と同様に前処理を早めに行なうようにしたものである。
(Embodiment 8)
Next, as an eighth embodiment, an embodiment in which the above-described seventh and sixth embodiments are combined will be described. That is, in the present embodiment, in order to cope with the case where the preprocessing of the encrypted communication takes a time that cannot be ignored in the seventh embodiment, the preprocessing is performed earlier as in the sixth embodiment.

図27は、本実施の形態で使用されるイベント・使用資源表68の一例である。つまり、図25に示したイベント・使用資源表68に対して前処理欄と前処理暗号欄が新たに追加されている。前処理欄には、実施の形態7において説明した、前処理にかかる時間Mt(秒)=Im/Ycpuが記載される。前処理暗号欄には、前処理の対象となる暗号アルゴリズム名が記載される。なお、前処理欄は必要がなければ省略してもよい。   FIG. 27 is an example of the event / usage resource table 68 used in this embodiment. That is, a pre-processing column and a pre-processing encryption column are newly added to the event / usage resource table 68 shown in FIG. In the preprocessing column, the time Mt (seconds) = Im / Ycpu required for the preprocessing described in the seventh embodiment is described. In the pre-process encryption column, the name of the encryption algorithm to be pre-processed is described. The preprocessing column may be omitted if it is not necessary.

つぎに、図25のイベント・使用資源表68から図27のイベント・使用資源表68を作成する手順について説明する。最初に使用する予定の暗号アルゴリズム3DES−CBCについて、11:45の直前の状態に基づいてMt(秒)=Im/Ycpuを計算する。この計算結果がMt=180(秒)であったとする。11:45よりMtだけ前には前処理を開始する必要があるため、11:45の180秒前、すなわち11:42のイベント時刻欄を有する行を挿入する。そして、この行の前処理欄にMt1=180を記載し、前処理暗号欄に3DES−CBCの略号3Dを記載する。   Next, a procedure for creating the event / usage resource table 68 of FIG. 27 from the event / usage resource table 68 of FIG. 25 will be described. Mt (seconds) = Im / Ycpu is calculated based on the state immediately before 11:45 for the encryption algorithm 3DES-CBC to be used first. It is assumed that the calculation result is Mt = 180 (seconds). Since it is necessary to start the pre-processing by Mt before 11:45, a line having an event time column of 180 seconds before 11:45, that is, 11:42 is inserted. Then, Mt1 = 180 is described in the preprocessing column of this line, and the 3DES-CBC abbreviation 3D is described in the preprocessing encryption column.

12:00には暗号アルゴリズムがDES−CBCに切り替わるので、この直前の状態に基づいてMt(秒)を計算する。この計算結果がMt=120(秒)であったとする。12:00までには前処理を完了する必要があるので、12:00の120秒前、すなわち11:58のイベント時刻欄を有する行を挿入する。そして、この行の前処理欄にMt2=120を記載し、前処理暗号欄にDES−CBCの略号Dを記載する。   Since the encryption algorithm switches to DES-CBC at 12:00, Mt (seconds) is calculated based on the immediately preceding state. It is assumed that the calculation result is Mt = 120 (seconds). Since it is necessary to complete the pre-processing by 12:00, a line having an event time column of 120 seconds before 12:00, that is, 11:58 is inserted. Then, Mt2 = 120 is described in the preprocessing column of this line, and the abbreviation D of DES-CBC is described in the preprocessing encryption column.

13:00には暗号アルゴリズムが3DES−CBCに切り替わるので、この直前の状態に基づいてMt(秒)を計算する。この計算結果がMt=225(秒)であったとする。13:00までには前処理を完了する必要があるので、13:00の225秒=3.75分=約4分前(15秒は余裕分である。)、すなわち11:56のイベント時刻欄を有する行を挿入する。そして、この行の前処理欄にMt3=225を記載し、前処理暗号欄に3DES−CBCの略号3Dを記載する。   Since the encryption algorithm is switched to 3DES-CBC at 13:00, Mt (seconds) is calculated based on the immediately preceding state. It is assumed that the calculation result is Mt = 225 (seconds). Since it is necessary to complete the pre-processing by 13:00, 225 seconds at 13: 00 = 3.75 minutes = about 4 minutes before (15 seconds is a margin), that is, the event time at 11:56 Insert a line with columns. Then, Mt3 = 225 is described in the preprocessing column of this line, and the 3DES-CBC abbreviation 3D is described in the preprocessing encryption column.

挿入された行の、タスク/資源、暗号/資源、資源合計の欄にはそれぞれ、その上段の内容をコピーして記載する。   The contents of the upper row are copied and described in the column of task / resource, encryption / resource, and resource total in the inserted row.

このようにして作成したイベント・使用資源表68を使用して、スケジュール部64は、タスクa〜c、暗号処理の前処理、暗号処理の、起動・制御・停止を行なう。その結果、暗号アルゴリズムの使用前に前処理を完了できるので、予約時間通りに暗号通信アプリケーション(例えばカメラアプリケーション)を開始できる。   Using the event / usage resource table 68 created in this way, the schedule unit 64 performs tasks a to c, pre-processing of cryptographic processing, and startup / control / stop of cryptographic processing. As a result, pre-processing can be completed before using the encryption algorithm, so that an encryption communication application (for example, a camera application) can be started according to the reserved time.

本実施の形態の場合、暗号処理部80として、ある暗号アルゴリズムの実行と別の暗号アルゴリズムの前処理とを並行して実行できるものを設けておく。   In the case of the present embodiment, a cryptographic processing unit 80 is provided that can execute a certain cryptographic algorithm and a preprocessing of another cryptographic algorithm in parallel.

ところで、前処理を行なうべき時間帯において他のタスクの追加や停止が行われる場合は、CPU処理能力余裕値Ycpu(MIPS)が一定値ではなく変動するから、Mt(秒)を単純にIm/Ycpuにより求めることができない。そこで、このような場合には、前処理を完了しておくべき時刻から時間をさかのぼる方向へCPU処理能力余裕値Ycpu(MIPS)の積分値を求めてゆき、積分値が前処理に必要なCPU処理の実行命令数Im(単位MI:メガインストラクション)になる時間長をMt(秒)として採用すればよい。この場合、イベント・使用資源表68には、新たなイベント時刻欄を有する行が、暗号アルゴリズムの使用開始や切り換えの直前ではなく、いくつか上段の行の直前に挿入されることになる。   By the way, when another task is added or stopped in a time zone in which pre-processing is to be performed, the CPU processing capacity margin value Ycpu (MIPS) fluctuates instead of a constant value, so Mt (seconds) is simply set to Im / It cannot be determined by Ycpu. Therefore, in such a case, an integrated value of the CPU processing capacity margin value Ycpu (MIPS) is obtained in a direction that goes back from the time at which the preprocessing should be completed, and the integrated value is a CPU required for the preprocessing. What is necessary is just to employ | adopt as Mt (second) the time length used as the execution instruction number Im (unit MI: mega instruction) of a process. In this case, in the event / usage resource table 68, a row having a new event time column is inserted immediately before some upper row, not immediately before the start or switching of the use of the encryption algorithm.

なお、上記図27のイベント・使用資源表68では、12:56に次に使用する3DES−CBCのための前処理を行なうようにしたが、12:00に3DES−CBCからDES−CBCに変更した後も3DES−CBCの公開鍵、秘密鍵などを破棄せず3DES−CBCを再度使用できる状態としておき、12:56から設定した前処理を行なわないようにしてもよい。このようにすれば、前処理の再実行によるCPU資源の消費を削減できる。   In the event / usage resource table 68 of FIG. 27, preprocessing for 3DES-CBC to be used next is performed at 12:56, but changed from 3DES-CBC to DES-CBC at 12:00. After that, the 3DES-CBC public key, secret key, etc. may not be destroyed, and the 3DES-CBC may be used again, and the pre-processing set from 12:56 may not be performed. In this way, consumption of CPU resources due to re-execution of preprocessing can be reduced.

(実施の形態9)
次に、実施の形態9として、実施の形態8において候補暗号アルゴリズムが3つに増えた場合の例を説明する。図28および図29は、候補暗号アルゴリズムとして、DES−CBC、3DES−CBC、AES(Advanced Encryption Standard)が用意されている場合のイベント・使用資源表68と暗号処理使用資源表76の例である。AESは、平均使用CPU資源量が多くない割に暗号強度が大きく、3つの暗号アルゴリズムの中では暗号強度が1位である。イベント・使用資源表68では、3つの候補暗号アルゴリズムに対応して、それぞれ資源合計が計算される。11:45のイベント時刻を例にとると、許容CPU処理能力500(MIPS)を超えない暗号アルゴリズムは、DES−CBC、3DES−CBC、AESである。スケジュール部64は、この3つを候補として暗号情報決定部74に通知する。また、図19のスケジュール・使用資源表66では、11:45開始のタスクbで使用する暗号アルゴリズムは暗号強度が第3位以上のものとする条件がついている。この情報もスケジュール部64から暗号情報決定部74に通知される。暗号情報決定部74は、図29の暗号処理使用資源表76を参照して、3つの暗号アルゴリズムの中から暗号強度が第3位以上のもので、かつその中で暗号強度順位が最も高いもの(ここではAES)を選択し、スケジュール部64に通知する。そして、スケジュール部64は、使用暗号欄の11:45イベント時刻の欄にAES(略号A)を記入する。
(Embodiment 9)
Next, as Embodiment 9, an example in which the number of candidate encryption algorithms is increased to 3 in Embodiment 8 will be described. 28 and 29 are examples of the event / usage resource table 68 and the cryptographic processing usage resource table 76 in the case where DES-CBC, 3DES-CBC, and AES (Advanced Encryption Standard) are prepared as candidate cryptographic algorithms. . AES has a large encryption strength for the average amount of CPU resources used, but has the highest encryption strength among the three encryption algorithms. In the event / usage resource table 68, the total resource is calculated for each of the three candidate encryption algorithms. Taking the event time of 11:45 as an example, encryption algorithms that do not exceed the allowable CPU processing capacity 500 (MIPS) are DES-CBC, 3DES-CBC, and AES. The schedule unit 64 notifies the encryption information determination unit 74 of these three candidates. Further, in the schedule / usage resource table 66 of FIG. 19, the cryptographic algorithm used in the task b starting at 11:45 has a condition that the cryptographic strength is the third or higher. This information is also notified from the schedule unit 64 to the encryption information determination unit 74. The cipher information determining unit 74 refers to the cipher processing usage resource table 76 of FIG. 29 and has the cipher strength of the third or higher among the three cipher algorithms and the cipher strength rank highest among them. (AES here) is selected and notified to the schedule unit 64. Then, the schedule unit 64 writes AES (abbreviation A) in the 11:45 event time column of the used encryption column.

(実施の形態10)
Diffie−Hellman交換やIKEによる共有鍵の交換では、共有鍵の寿命を設定することができるようになっている。ひとつの鍵を長時間使用すると、その間に鍵を盗まれて解読される危険性が増える。このため、新たな鍵、すなわち更新鍵を作成しておき、適切な時間後には更新鍵に切り替えるようにする方式が有効である。このような鍵の寿命を設ける方式では、鍵の寿命が満了になる前に、次に使用する更新鍵の生成を完了しておく必要がある。更新鍵の生成を行なうことをリキー処理と呼ぶ。最初の鍵の生成、リキー処理の両方とも、鍵の生成には暗号化や復号化と同様に大きなCPU処理能力を必要とする場合が多い。したがって、鍵寿命満了時刻よりも充分前の時刻にリキー処理を開始することが望まれる。しかしながら、リキー処理を行なうべき時間帯に大きなCPU処理能力を消費するアプリケーションがあると、CPUの処理負荷が許容CPU処理能力を超えてしまい、更新鍵の準備が間に合わなくなる。
(Embodiment 10)
In the Diffie-Hellman exchange or the exchange of the shared key by IKE, the lifetime of the shared key can be set. Using a single key for a long time increases the risk of the key being stolen and decrypted during that time. Therefore, it is effective to create a new key, that is, an update key, and switch to the update key after an appropriate time. In such a method of providing a key lifetime, it is necessary to complete generation of an update key to be used next before the key lifetime expires. Generating an update key is called rekey processing. In both initial key generation and rekey processing, key generation often requires a large CPU processing capacity as in encryption and decryption. Therefore, it is desirable to start the rekey process at a time sufficiently before the key life expiration time. However, if there is an application that consumes a large amount of CPU processing capacity in the time zone when rekey processing should be performed, the processing load of the CPU will exceed the allowable CPU processing capacity, and the update key preparation will not be in time.

そこで、本実施の形態10においては、鍵を更新するまでの鍵寿命の値と予約スケジュールに基く使用資源合計値の推移とを考慮して、適切なリキー処理開始時刻をイベント・使用資源表68にイベントとして追加する。   Therefore, in the tenth embodiment, an appropriate rekey processing start time is set to the event / usage resource table 68 in consideration of the value of the key life until the key is updated and the transition of the total use resource value based on the reservation schedule. As an event.

まず、暗号処理使用資源表76に鍵寿命時間の欄を設け、各暗号アルゴリズム毎に、設定する予定の鍵寿命時間Jtを記載する。なお、一般的には、全体の危険度を一定とするためには、アルゴリズムの暗号強度が高いほど鍵の寿命を長くすることができる。暗号アルゴリズム使用の開始時刻をCtとし、最初の鍵の使用開始時刻をKt1とすると、最初の鍵の使用開始時刻はKt1=Ctであり、鍵の寿命満了時刻は(Ct+Jt)である。時刻(Ct+Jt)の前の時間帯でのCPU処理能力余裕値をYcpu(MIPS)とし、リキー処理に必要なCPU命令数をIr(単位MI:メガインストラクション)とすると、リキー処理に必要な時間はRt=Ir/Ycpuである。時刻(Ct+Jt−Rt)までにリキー処理を開始すれば、鍵の寿命満了時刻(Ct+Jt)までに更新鍵を準備できる。   First, a key life time column is provided in the encryption processing usage resource table 76, and the key life time Jt to be set is described for each encryption algorithm. In general, in order to keep the overall risk level constant, the higher the encryption strength of the algorithm, the longer the lifetime of the key. Assuming that the start time for using the cryptographic algorithm is Ct and the start time for using the first key is Kt1, the start time for using the first key is Kt1 = Ct, and the lifetime expiration time of the key is (Ct + Jt). If the CPU processing capacity margin value in the time zone before the time (Ct + Jt) is Ycpu (MIPS) and the number of CPU instructions required for the rekey processing is Ir (unit MI: mega instruction), the time required for the rekey processing is Rt = Ir / Ycpu. If the rekey process is started before the time (Ct + Jt−Rt), the update key can be prepared by the key lifetime expiration time (Ct + Jt).

なお、CPU処理能力余裕値Ycpu(MIPS)が、リキー処理予定の時間帯において一定値ではなく変動する場合は、実施の形態8における前処理の場合と同様の考え方により、リキー処理を完了しておくべき時刻(Ct+Jt)から時間をさかのぼる方向へCPU処理能力余裕値Ycpu(MIPS)の積分値を求めてゆき、積分値がリキー処理に必要なCPU処理の実行命令数Irになる時間長をRtとして採用すればよい。   If the CPU processing capacity margin value Ycpu (MIPS) varies in a time zone scheduled for rekey processing instead of a constant value, the rekey processing is completed in the same way as in the preprocessing in the eighth embodiment. The integrated value of the CPU processing capacity margin value Ycpu (MIPS) is obtained in a direction that goes back from the time (Ct + Jt) to be set, and the time length at which the integrated value becomes the number of execution instructions Ir of the CPU processing necessary for the rekey processing is represented by Rt. It may be adopted as.

つぎに、リキー処理開始時刻(Ct+Jt−Rt)をイベント時刻としたリキー処理イベントの行をイベント・使用資源表68に挿入することによって、リキー処理をスケジュールに記入する。この操作は、暗号通信の前処理で説明したのと同様の操作を、スケジュール部64と暗号情報決定部74の間で行なえばよい。   Next, the rekey process is entered in the schedule by inserting a rekey process event line with the rekey process start time (Ct + Jt−Rt) as the event time into the event / usage resource table 68. This operation may be performed between the schedule unit 64 and the encryption information determination unit 74 by performing the same operation as that described in the pre-process for encrypted communication.

次の更新鍵の寿命に対しては、鍵の寿命満了時刻が(Ct+2*Jt)となるので、この時刻に対するリキー処理開始時刻を求め、追加イベントを設ければよい。同様の操作を、暗号アルゴリズムの使用終了予定のイベント時刻まで行なう。   For the next update key lifetime, the key lifetime expiration time is (Ct + 2 * Jt). Therefore, the rekey processing start time for this time is obtained, and an additional event may be provided. The same operation is performed until the event time when the use of the cryptographic algorithm is scheduled to end.

以上のように、本実施の形態弐よれば、予定されるCPU処理能力余裕値Ycpu(MIPS)に応じたリキー処理の計画を予め立てられるので、リキー処理時に許容CPU処理能力を超過してシステムが破綻することが無くなる。   As described above, according to this embodiment, since the rekey processing plan corresponding to the planned CPU processing capacity margin value Ycpu (MIPS) can be made in advance, the system exceeds the allowable CPU processing capacity during the rekey processing. No longer fails.

なお、Rtは、若干の余裕を持たせるために一定時間分αだけ長めにするのが安全である。   Note that it is safe to make Rt longer by a certain amount of time α in order to give a slight margin.

鍵の寿命を管理する場合、一般的には、
(1)時間で管理する手法(例えば、鍵の寿命を、鍵を生成してからの経過時間(X秒)や鍵の使用を開始してからの経過時間(Y秒)により規定する手法)
(2)データ転送量で管理する手法(例えば、鍵の寿命を、処理パケット数(mパケット)や処理バイト数(nバイト)により規定する手法)
などの手法があるが、本実施の形態は、(1)の手法のうち、鍵の使用を開始してからの経過時間により鍵の寿命が規定されている場合に簡単に適用できる。鍵を生成してからの経過時間により鍵の寿命が規定されている場合には、以下のような工夫をすればよい。鍵の生成時刻は、本通信装置と通信相手の機器とで同じ時刻でない場合がある。すなわち、鍵の生成においては、一般的に、相手から公開値を受け取ってから自分の秘密鍵を生成するため、一方の鍵の寿命満了時刻は、公開値を受け取ってから自分の秘密鍵を生成するための時間分だけ遅くなる。この時間関係は、鍵の生成を起動する側の機器と、鍵の生成手順により決まる。このように一方の鍵の生成が他方よりも遅れる場合、早く生成される側の鍵の生成時刻を起点としてJtを鍵の寿命とすれば、時間Jtの間は、両方の鍵が寿命時間内になり、一方の鍵の寿命が寿命満了になることはない。また、本装置と相手機器とが通信により、双方の鍵の生成が完了したことを知ることができる場合は、その時点を鍵の寿命起算の時点とすればよく、双方の鍵の寿命満了時刻は一致する。
In general, when managing the lifetime of a key,
(1) A method of managing by time (for example, a method of specifying the lifetime of a key by the elapsed time (X seconds) since the key was generated or the elapsed time (Y seconds) since the use of the key was started)
(2) A method for managing the amount of data transferred (for example, a method for defining the lifetime of a key by the number of processed packets (m packets) or the number of processed bytes (n bytes)).
However, the present embodiment can be easily applied to the method (1) when the lifetime of the key is defined by the elapsed time from the start of key use. If the lifetime of the key is defined by the elapsed time since the key was generated, the following measures should be taken. The key generation time may not be the same time between the communication apparatus and the communication partner device. In other words, in general, when generating a private key after receiving a public value from the other party, the lifetime expiration time of one key is generated after receiving the public value. It will be delayed by the time to do. This time relationship is determined by the device that initiates key generation and the key generation procedure. Thus, when the generation of one key is delayed from the other, if Jt is the lifetime of the key starting from the generation time of the key that is generated earlier, both keys are within the lifetime for the time Jt. And the lifetime of one of the keys never expires. In addition, if it is possible to know that the generation of both keys has been completed through communication between the device and the other device, that time can be used as the time for calculating the key lifetime, and the lifetime expiration time for both keys. Match.

なお、上記説明では、本通信装置側の処理時間だけを考慮する場合を例として説明したが、共有鍵の処理には相手機器の処理時間と通信時間も必要である。これらを考慮するためには、前処理での相手機器における鍵の生成処理時間を記憶しておいて、これに本通信装置での上記Rt=Ir/Ycpuに余裕時間を加算したものをRtとすればよい。ただし、相手機器の処理時間が無視できる場合には、Ir/Ycpuに単に余裕値αを加算した値をRtとしてもよい。また、相手機器での処理時間が本通信装置の処理時間とほぼ同等の場合には、Rt=(Ir/Ycpu)×2+β(βは通信時間および余裕時間)とすればよい。本装置の場合と同様に、相手機器でも、他の一般的なアプリケーションにより処理時間が変わる可能性がある場合は、相手機器に処理時間を問い合わせる処理を行った後にRtを決定すればよい。いずれにしても、Rt=Ir/Ycpu+δ+β(δは相手機器での処理時間)とすればよい。   In the above description, the case where only the processing time on the communication apparatus side is considered has been described as an example, but the processing time and communication time of the counterpart device are also required for the processing of the shared key. In order to take these into consideration, the key generation processing time in the counterpart device in the preprocessing is stored, and Rt = Ir / Ycpu in the communication apparatus plus the allowance time is Rt. do it. However, when the processing time of the counterpart device can be ignored, a value obtained by simply adding the margin value α to Ir / Ycpu may be used as Rt. Further, when the processing time at the counterpart device is substantially equal to the processing time of the communication apparatus, Rt = (Ir / Ycpu) × 2 + β (β is the communication time and margin time). Similarly to the case of this apparatus, if there is a possibility that the processing time of the counterpart device may change depending on other general applications, Rt may be determined after performing processing for inquiring the processing time of the counterpart device. In any case, Rt = Ir / Ycpu + δ + β (δ is the processing time in the counterpart device) may be used.

すでに説明したように、リキー処理においては、暗号アルゴリズム使用の開始時刻Ctを起点として、鍵の寿命満了時刻(Ct+Jt*n)までに更新鍵の生成を完了しなければならない。更新鍵の生成を前の鍵の寿命満了までに確実に行なうための余裕を確保するためにリキー処理を少し早めに開始すると、その分、鍵が早めに生成される。この鍵の寿命がJtであると、本来予定されていた次の鍵の寿命満了時刻(Ct+Jt*(n+1))よりも早くこの鍵の寿命が満了するおそれがある。このようなことを避けるには、リキー処理において設定する鍵寿命を、スケジュール上の鍵更新の時間間隔よりも少し長めにすればよい。   As described above, in the rekey process, the generation of the update key must be completed by the start time Ct of using the cryptographic algorithm as the starting point until the key lifetime expiration time (Ct + Jt * n). If the rekey process is started slightly earlier in order to ensure a margin for reliably generating the renewal key before the lifetime of the previous key expires, the key is generated earlier by that amount. If the lifetime of this key is Jt, the lifetime of this key may expire earlier than the originally scheduled lifetime expiration time of the next key (Ct + Jt * (n + 1)). In order to avoid such a situation, the key life set in the rekey process may be set a little longer than the key update time interval on the schedule.

(実施の形態11)
つぎに、実施の形態11として、イベント・使用資源表68から予定されるCPU処理能力余裕値Ycpu(MIPS)の推移に応じて、鍵の寿命値を適切に設定する実施の形態について説明する。
(Embodiment 11)
Next, as an eleventh embodiment, an embodiment in which the key lifetime value is appropriately set according to the transition of the CPU processing capacity margin value Ycpu (MIPS) scheduled from the event / usage resource table 68 will be described.

スケジュール部64と暗号情報決定部74が、使用する暗号アルゴリズムを選択した段階で、スケジュール部64は、スケジュール・使用資源表66および暗号処理使用資源表76を参照して、あるいはイベント・使用資源表68を参照して、暗号アルゴリズム使用開始時刻Ctの前の時間帯におけるCPU処理能力余裕値Ycpu(MIPS)を調べる。そして、リキー処理に必要な時間Rt=Ir/Ycpuを求め、さらに(Rt+α)を計算し、この値を鍵の寿命として暗号情報決定部74に通知する。なお、αは余裕値である。よって、鍵の寿命満了時刻は(Ct+Rt+α)になる。つぎに、(Ct+Rt+α)の前の時間帯におけるCPU処理能力余裕値を調べ、リキー処理に必要な時間を計算し、次の更新鍵の寿命とする。このような処理を繰り返し、各リキー処理の開始時刻をイベントに追加する。鍵の寿命完了と同時に、リキー処理を開始し、リキー処理完了時に、新たに生成した鍵を即座に使用開始することができる。   At the stage where the scheduling unit 64 and the cryptographic information determination unit 74 have selected the cryptographic algorithm to be used, the scheduling unit 64 refers to the schedule / usage resource table 66 and the cryptographic processing usage resource table 76 or the event / usage resource table. Referring to 68, the CPU processing capacity margin value Ycpu (MIPS) in the time zone before the cryptographic algorithm use start time Ct is checked. Then, the time Rt = Ir / Ycpu required for the rekey process is obtained, (Rt + α) is calculated, and this value is notified to the encryption information determination unit 74 as the key lifetime. Α is a margin value. Therefore, the key lifetime expiration time is (Ct + Rt + α). Next, the CPU processing capacity margin value in the time zone before (Ct + Rt + α) is examined, the time required for the rekey process is calculated, and the lifetime of the next update key is determined. Such a process is repeated, and the start time of each rekey process is added to the event. The rekey process can be started simultaneously with the completion of the key lifetime, and the newly generated key can be used immediately upon completion of the rekey process.

このようにすれば、CPU処理能力余裕値Ycpu(MIPS)を有効に使用して、早めにリキー処理が行なえるので、鍵の寿命も短くでき、暗号通信の安全性を高く保てる。   By doing so, the CPU processing capacity margin value Ycpu (MIPS) can be used effectively, and the rekey process can be performed early, so that the key life can be shortened and the security of encryption communication can be kept high.

また、CPU処理能力余裕値Ycpu(MIPS)の一部分のみを使用するようにすれば、リキー処理時間は長くかかり、その分だけ鍵の寿命時間を長くする必要があるが、かわりに、CPU処理能力に余裕を残せる。   Further, if only a part of the CPU processing capacity margin value Ycpu (MIPS) is used, the rekey processing time takes longer, and it is necessary to increase the key life time accordingly. Can leave a margin.

本実施の形態によれば、上記のように柔軟な処理を計画的に組み立てることができる。   According to the present embodiment, it is possible to systematically assemble flexible processing as described above.

本実施の形態は、鍵の寿命を時間で管理する手法の場合に適用するのが好ましい。   This embodiment is preferably applied in the case of a technique for managing the lifetime of a key by time.

(実施の形態12)
図27を参照して説明した実施の形態8や、図28および図29を参照して説明した実施の形態9では、共有鍵を交換する前処理を、暗号アルゴリズムを使用する直前、および暗号アルゴリズムを切り替える直前に行なった。しかしながら、ひとつの暗号通信アプリケーションにおいて複数の暗号アルゴリズムを切り替えて使用する場合には、暗号通信アプリケーションを開始する前に、必要な複数の共有鍵をまとめて生成するようにしてもよい。この場合、図27を例に取れば、前処理のMt1、Mt2、Mt3を11:45までに順番に実行するようなイベントを挿入すればよい。
(Embodiment 12)
In the eighth embodiment described with reference to FIG. 27 and the ninth embodiment described with reference to FIG. 28 and FIG. 29, the pre-process for exchanging the shared key is performed immediately before using the encryption algorithm, and the encryption algorithm. It was done immediately before switching. However, when a plurality of cryptographic algorithms are switched and used in one cryptographic communication application, a plurality of necessary shared keys may be generated together before starting the cryptographic communication application. In this case, if FIG. 27 is taken as an example, an event that executes Mt1, Mt2, and Mt3 of the preprocessing in order by 11:45 may be inserted.

このように、早めに鍵を生成する場合は、鍵の寿命は、
(1)使用開始からJ秒後
(2)使用開始からmパケット処理後
(3)使用開始からnバイト処理後
などと規定するのがよい。鍵の寿命を鍵の生成からの経過時間で規定する必要がある場合には、上記(1)の時間に、生成以降実際に鍵を使用するまでの時間を加算したものを寿命時間として設定すればよい。
Thus, if you generate a key early, the lifetime of the key is
(1) J seconds after start of use (2) After start of use, after m packets have been processed (3) From start of use, after n bytes have been processed, etc. If it is necessary to specify the lifetime of the key by the elapsed time from the generation of the key, set the lifetime (1) to the time after the generation until the actual use of the key. That's fine.

(実施の形態13)
予めスケジュールで「暗号通信アプリケーションを開始してからa秒後に処理負荷が高くなる」と予測される場合に、その暗号通信アプリケーションの開始前に実行される前処理において、予め高強度・高負荷の暗号アルゴリズムと低強度・低負荷の暗号アルゴリズムの両方の鍵を用意しておき、スケジュールで全体処理負荷が高くなると予測される時点で、暗号アルゴリズムを高強度・高負荷のものから低強度・低負荷のものに切り替える方式を取るようにしてもよい。この場合、暗号アルゴリズムを低強度・低負荷のものに切り替えた後に、高強度・高負荷のアルゴリズムの鍵情報を明示的に削除することで、メモリ資源の浪費の低減を図ることが可能である。
(Embodiment 13)
When it is predicted in advance that “the processing load will increase after a second from the start of the encryption communication application”, in the pre-processing executed before the start of the encryption communication application, high strength and high load Prepare keys for both cryptographic algorithms and low-strength / low-load cryptographic algorithms. When the overall processing load is predicted to increase according to the schedule, the cryptographic algorithms are changed from high-strength / high-load ones to low-strength / low ones. You may make it take the system switched to the thing of load. In this case, it is possible to reduce the waste of memory resources by explicitly deleting the key information of the high-strength / high-load algorithm after switching the encryption algorithm to a low-strength / low-load algorithm. .

なお、鍵の寿命は通信相手と取り決めるのが一般であり、鍵を削除する場合は、その旨を通信相手に通知する必要があるので、そのための通信処理負荷が発生する。このような処理負荷も、スケジュール・使用資源表66およびイベント・使用資源表68に反映させてもよい。   In general, the life of the key is negotiated with the communication partner. When the key is deleted, it is necessary to notify the communication partner to that effect, which causes a communication processing load for that purpose. Such processing load may also be reflected in the schedule / usage resource table 66 and the event / usage resource table 68.

なお、予め高強度・高負荷の暗号アルゴリズムの鍵の寿命を、全体処理負荷が高くなる時点まで(あるいはその前後まで)としておき、鍵の削除の通知の手順を省略するようにしてもよい。   Note that the key lifetime of the high-strength / high-load cryptographic algorithm may be set in advance up to (or before or after) the time when the overall processing load becomes high, and the key deletion notification procedure may be omitted.

(実施の形態14)
上記各実施の形態では、使用資源として、CPU処理能力(MIPS)に着目し、許容資源使用量である許容CPU処理能力の範囲でのCPUの有効利用と、システムの破綻の防止を行なうようにした。しかしながら、通信装置の資源としては、この他に、使用メモリサイズ(MB)や内部バスラインの時間占有率(%)などがある。例えば、使用メモリサイズがシステムのRAMサイズ(たとえば、521MB)を超えると、HDDへの待避が頻繁に起こり、一部のアプリケーションが予約通りに実行できなかったり、サービスが一時止まってしまうなどの不具合が発生する。また、内部バスラインの時間占有率(%)が100%を超えても同様の事態が起きる。使用資源、すなわち平均の使用メモリサイズや内部バスラインの平均時間占有率を、最大値に対して例えば50%程度の許容資源使用量に押さえるようにすれば、不具合の発生は実質上回避できる。
(Embodiment 14)
In each of the above embodiments, focusing on CPU processing capacity (MIPS) as a resource to be used, effective use of the CPU within the range of allowable CPU processing capacity, which is an allowable resource usage amount, and prevention of system failure are performed. did. However, other resources of the communication device include the used memory size (MB) and the time occupancy rate (%) of the internal bus line. For example, if the memory size used exceeds the system RAM size (for example, 521 MB), saving to the HDD occurs frequently, and some applications cannot be executed as scheduled, or services are temporarily suspended. Occurs. The same situation occurs even if the time occupancy (%) of the internal bus line exceeds 100%. If the used resources, that is, the average used memory size and the average time occupancy rate of the internal bus lines are suppressed to an allowable resource use amount of, for example, about 50% with respect to the maximum value, the occurrence of a problem can be substantially avoided.

使用メモリサイズや内部バスラインの時間占有率(%)の合計値についても、上記したスケジュール・使用資源表66やイベント・使用資源表68を作成し、許容値を超えない暗号アルゴリズムを選択するようにすることができる。   The above-mentioned schedule / use resource table 66 and event / use resource table 68 are also created for the total value of the used memory size and the time occupancy (%) of the internal bus line, and an encryption algorithm that does not exceed the allowable value is selected. Can be.

また、CPU処理能力、使用メモリサイズ、バスラインの時間使用率の3つの要素のうちのいずれか1つだけでなく、2つあるいは3つの要素を加味した総合的使用率に基づいて暗号アルゴリズムの選択を行なうようにしてもよい。総合的使用率は、一例として、個々の要素の使用率に所定の重みを掛けた加重平均値で表すことができる。   The encryption algorithm is based not only on one of the three factors of CPU processing capacity, used memory size, and bus line time usage rate, but also on the total usage rate taking into account two or three factors. A selection may be made. As an example, the total usage rate can be represented by a weighted average value obtained by multiplying the usage rate of each element by a predetermined weight.

(実施の形態15)
上記各実施の形態では、リモコン102や外部からアプリケーションの実行を予約する。外部からの予約は、携帯型の情報機器や携帯電話からインターネット回線網を介して行なわれることが想定される。
(Embodiment 15)
In each of the above embodiments, execution of an application is reserved from the remote controller 102 or the outside. It is assumed that the reservation from the outside is performed from a portable information device or a mobile phone via the Internet network.

図18や図23の構成において、スケジュール登録用の専用のアプリケーションをさらに設けておき、そこで予約要求を受け付け、この予約要求をスケジュール部64に通知し、スケジュール部64がこの予約要求をスケジュール・使用資源表66に反映させる方法をとることができる。また、各アプリケーションが、予約要求のうち自アプリケーションに関係したもののみを一旦受付け、そしてスケジュール部64に登録を要求する方法もとれる。後者の方法では、アプリケーション特有の形式で登録することができる。   18 and 23, a dedicated application for schedule registration is further provided, where a reservation request is received, the reservation request is notified to the schedule unit 64, and the schedule unit 64 schedules and uses this reservation request. A method of reflecting in the resource table 66 can be taken. In addition, a method may be used in which each application temporarily accepts only a reservation request related to its own application and requests the scheduling unit 64 to register. In the latter method, registration can be performed in an application-specific format.

(実施の形態16)
図30は、上記実施の形態5〜15で説明した通信装置で用いられるアルゴリズム選択方法の基本的な手順を示すフローチャートである。なお、フローチャートの各手順は、基本的には通信装置のCPU94によってプログラムに従って実行される。
(Embodiment 16)
FIG. 30 is a flowchart showing the basic procedure of the algorithm selection method used in the communication apparatus described in the fifth to fifteenth embodiments. Each procedure in the flowchart is basically executed by the CPU 94 of the communication apparatus according to a program.

まず、通信装置は、ステップS3000の予約登録手順において、アプリケーションの予約を受付け、スケジュール登録する。この登録は、基本的には仮の登録である。ステップS3001の平均使用CPU資源合計値算出手順において、受け付けたアプリケーションが暗号通信を行なうものかどうか判定し、暗号通信を行なうものである場合は、それまでに受け付けている他のアプリケーションも含めて、平均使用CPU資源の合計値を算出する。この処理は、複数用意されている暗号アルゴリズムのそれぞれについて行われる。そして、スケジュールのどの時点でも許容CPU処理能力を超えることがないような暗号アルゴリズムを一次選択する。ステップS3002の暗号アルゴリズム選択手順において、一次選択された暗号アルゴリズムの中から必要暗号強度の条件に合致する暗号アルゴリズムを選択する。ステップS3003のスケジュール登録手順において、選択した暗号アルゴリズムの処理をスケジュールに登録する。   First, in the reservation registration procedure in step S3000, the communication apparatus accepts an application reservation and registers the schedule. This registration is basically a temporary registration. In the procedure of calculating the average used CPU resource total value in step S3001, it is determined whether the received application performs encrypted communication. If the received application performs encrypted communication, including other applications received so far, The total value of the average used CPU resources is calculated. This process is performed for each of a plurality of encryption algorithms prepared. Then, an encryption algorithm that does not exceed the allowable CPU processing capacity at any point in the schedule is primarily selected. In the encryption algorithm selection procedure in step S3002, an encryption algorithm that matches the required encryption strength condition is selected from the primarily selected encryption algorithms. In the schedule registration procedure in step S3003, the processing of the selected encryption algorithm is registered in the schedule.

なお、上記ステップS3001において、スケジュールのどのイベント区間でも許容CPU処理能力を超えることがない暗号アルゴリズムを一次選択するのではなく、各イベント区間毎に許容CPU処理能力を超えることがない暗号アルゴリズムを一次選択し、ステップS3002において、一次選択された暗号アルゴリズムの中から、必要暗号強度の条件に合致する暗号アルゴリズムを各イベント区間ごとに選択するようにしてもよい。このようにすれば、CPU処理能力に余裕がある区間においては暗号強度がより高い暗号アルゴリズムを選択できる可能性が高まる。   In step S3001, the cryptographic algorithm that does not exceed the allowable CPU processing capacity in any event section of the schedule is not primarily selected, but the cryptographic algorithm that does not exceed the allowable CPU processing capacity in each event section is primarily selected. In step S3002, an encryption algorithm that meets the required encryption strength condition may be selected for each event section from among the primarily selected encryption algorithms. This increases the possibility that an encryption algorithm with a higher encryption strength can be selected in a section where the CPU processing capacity is sufficient.

上記各ステップにおいて、平均使用CPU資源合計値が許容CPU処理能力を越えてしまう場合や、ステップS3002において所定条件に合致する暗号アルゴリズムがない場合には、アプリケーションの予約ができないので、その旨を予約の要求元(典型的にはユーザ)に対して通知(回答、表示)する。   In each of the above steps, if the average CPU resource total value exceeds the allowable CPU processing capacity, or if there is no encryption algorithm that matches the predetermined condition in step S3002, the application cannot be reserved. To the request source (typically a user).

なお、上記のようにアプリケーションの予約ができない状況が発生したときに、予約の要求元に対してスケジュール情報を掲示し、仮登録された、あるいは既に予約登録済の暗号通信アプリケーションの暗号アルゴリズムの変更を要求元が行なうことができるようにして特定の予約を優先させることも可能である。また、仮登録された、あるいは既に予約登録済の暗号通信アプリケーションの暗号アルゴリズムのうち、最も処理負荷の高いもの、あるいは最も暗号強度の高いものから順に、暗号アルゴリズムの再選択(より暗号強度の低いものに選択しなおす)を仮に行ない(平均使用CPU資源合計値の再計算を含む)、その結果、新規暗号通信アプリケーションの登録が可能と判断された場合に、上記暗号アルゴリズムの再選択を実際に行なった上で新規暗号通信アプリケーションの登録を行なうことも可能である。このとき、必要ならば、図19において説明した必要暗号強度の条件を緩くして、暗号強度の低い暗号アルゴリズムを新たに選択対象に追加した上で、暗号アルゴリズムの再選択を行ってもよい。また、暗号アルゴリズムを選択できなかったイベント区間に対して、必要暗号強度の条件を緩くした上で、その結果として選択可能となった暗号アルゴリズムの中からより暗号強度の高いものを選択するようにしてもよい。また、このような登録内容の変更は、自動的に行なえるようにしてもよいし、予約要求元による選択指示に基づいて、上記方法の選択や暗号アルゴリズム自体の選択などを行なえるようにしてもよい。   In addition, when a situation where the application cannot be reserved as described above occurs, schedule information is posted to the reservation request source, and the encryption algorithm of the encryption communication application that has been temporarily registered or has already been registered for registration is changed. It is also possible to prioritize a specific reservation so that the requester can make the request. In addition, among cryptographic algorithms of cryptographic communication applications that have been temporarily registered or already reserved and registered, re-selection of cryptographic algorithms in order from the one with the highest processing load or the one with the highest cryptographic strength (lower cryptographic strength) (Including recalculation of the average CPU usage total value), and if it is determined that registration of a new cryptographic communication application is possible as a result, the above cryptographic algorithm is actually reselected. It is also possible to register a new encrypted communication application after it has been done. At this time, if necessary, the necessary encryption strength condition described in FIG. 19 may be relaxed, and an encryption algorithm with a low encryption strength may be newly added to the selection target, and then the encryption algorithm may be reselected. Also, for the event section for which the encryption algorithm could not be selected, relax the necessary encryption strength condition, and select the encryption algorithm that has higher encryption strength from the encryption algorithms that can be selected as a result. May be. Such registration contents may be changed automatically, or based on a selection instruction from a reservation request source, the above method may be selected or the encryption algorithm itself may be selected. Also good.

ただし、上記のように必要暗号強度の条件を緩めずに済む場合もある。すなわち、「必要暗号強度第3位以上」のような条件の下で暗号強度が第1位の暗号アルゴリズムが採用されて登録されていた場合には、この条件を緩めることなく、この暗号アルゴリズムをより暗号強度の低いもの(暗号強度が第2位または第3位のもの)に変更することで、新規暗号通信アプリケーションの暗号通信の予約、登録が可能となる場合もある。   However, there are cases where it is not necessary to relax the required encryption strength condition as described above. In other words, if a cryptographic algorithm with the first cryptographic strength is adopted and registered under conditions such as “required cryptographic strength of third or higher”, this cryptographic algorithm is not relaxed. By changing to a lower encryption strength (second or third encryption strength), it may be possible to reserve and register encryption communication for a new encryption communication application.

また、暗号アルゴリズムの再選択とは別に、アプリケーションの種類によっては、一般のアプリケーションも含めて、その実行開始時刻をずらすことによって、新規要求アプリケーションの登録を可能とするようにしてもよい。また、暗号通信平均データ転送量を暗号通信アプリケーションによって制御できる場合には、その値を低くすることによって、平均使用CPU資源合計値を低減し、新規要求アプリケーションの登録を可能とするようにしてもよい。また、これらの変更を予約要求元が行なう場合は、認証により、変更する権限を有する者のみが変更を許可されるようにしてもよい。   In addition to re-selecting the encryption algorithm, depending on the type of application, it may be possible to register a newly requested application by shifting the execution start time of a general application, including general applications. If the encrypted communication average data transfer amount can be controlled by the encrypted communication application, by lowering the value, the average used CPU resource total value can be reduced to enable registration of a new request application. Good. Further, when the reservation requester makes these changes, only the person who has the authority to change may be permitted by the authentication.

図31は、図30よりも更に詳しいフローチャートである。通信装置は、ステップS3100において、アプリケーションの予約があった場合、その予約を受け付ける。ステップS3101において、スケジュール・使用資源表66に予約を登録する。これは、仮登録である。ステップS3102において、スケジュール・使用資源表66を元にイベント・使用資源表68にイベントを追加する。ステップS3103において、仮登録された予約が暗号通信アプリケーションの予約かどうか判定する。この判定結果がYESなら、すでに登録されている各種アプリケーションに加えて、用意されている複数種の暗号アルゴリズムのそれぞれを使用した場合の平均使用CPU資源の合計値を、各イベント区間について算出する。ステップS3105において、許容CPU処理能力を超えないような暗号アルゴリズムを候補として一次選択する。ここで選択される暗号アルゴリズムの数は、複数、ひとつ、無しのいずれかとなる。ステップS3106において、候補暗号アルゴリズムが一つ以上あるかどうか判定し、この判定結果がYESなら、ステップS3107において、所定の条件を満たす暗号アルゴリズムを選択する。所定の条件とは図19の必要暗号強度である。条件を満たす暗号アルゴリズムがあれば、ステップS3108においてYESと判定される。ステップS3109において、共有鍵交換などの前処理の開始時刻の算出を、実施の形態6で説明した方法により行なう。ステップS3110において、鍵の寿命満了に備えたリキー処理の開始時刻の算出を、実施の形態10で説明した方法により行なう。ステップS3111において、選択した暗号アルゴリズムの使用時刻、前処理の実行時刻、リキー処理の開始時刻をスケジュールに登録する、すなわちイベント・使用資源表68に挿入・追記する。ステップS3112において、イベント時刻まで待機する。次の予約に対して待機してもよい。イベント時刻が到来すれば、そのイベントを実行してゆく。   FIG. 31 is a more detailed flowchart than FIG. If there is an application reservation in step S3100, the communication apparatus accepts the reservation. In step S 3101, the reservation is registered in the schedule / usage resource table 66. This is provisional registration. In step S 3102, an event is added to the event / usage resource table 68 based on the schedule / usage resource table 66. In step S3103, it is determined whether the provisionally registered reservation is a reservation for an encryption communication application. If the determination result is YES, in addition to the various registered applications, the total value of the average used CPU resources when using each of a plurality of prepared cryptographic algorithms is calculated for each event section. In step S3105, a cryptographic algorithm that does not exceed the allowable CPU processing capacity is primarily selected as a candidate. The number of encryption algorithms selected here is either plural, one, or none. In step S3106, it is determined whether there are one or more candidate encryption algorithms. If the determination result is YES, an encryption algorithm satisfying a predetermined condition is selected in step S3107. The predetermined condition is the required encryption strength in FIG. If there is an encryption algorithm that satisfies the condition, YES is determined in step S3108. In step S3109, the start time of preprocessing such as shared key exchange is calculated by the method described in the sixth embodiment. In step S3110, the start time of the rekey process in preparation for the expiration of the key life is calculated by the method described in the tenth embodiment. In step S 3111, the use time of the selected encryption algorithm, the execution time of the pre-process, and the start time of the rekey process are registered in the schedule, that is, inserted / added to the event / use resource table 68. In step S3112, the process waits until the event time. You may wait for the next reservation. When the event time arrives, the event is executed.

ステップS3103の判定結果がNO、すなわち予約されたアプリケーションが暗号通信を伴わないものであれば、ステップS3113において、平均使用CPU資源の合計値を各イベント区間に対して算出する。ステップS3114において、その合計値が許容CPU処理能力未満かどうか判定し、この判定結果がYESであれば、ステップS3101、ステップS3102での登録は有効となる。ステップS3114の判定結果がNOであれば、ステップS3101、ステップS3102で登録したアプリケーションをステップS3115において消去する。さらにステップS3116において、「予約が不可能である。」、「予約を失敗した。」旨の通知を予約要求元に対して行なう。ステップS3106、ステップS3108の判定結果がNOの場合、使用可能な暗号アルゴリズムが見つからなかったので予約の登録は失敗し、ステップS3115、ステップS3116の処理を行なう。   If the determination result in step S3103 is NO, that is, if the reserved application does not involve encrypted communication, in step S3113, the total value of the average used CPU resources is calculated for each event section. In step S3114, it is determined whether or not the total value is less than the allowable CPU processing capacity. If the determination result is YES, the registration in steps S3101 and S3102 is valid. If the determination result of step S3114 is NO, the application registered in step S3101 and step S3102 is deleted in step S3115. Further, in step S3116, notifications “Reservation is impossible” and “Reservation failed” are made to the reservation request source. If the determination result of step S3106 or step S3108 is NO, the registration of the reservation fails because no usable encryption algorithm was found, and the processes of step S3115 and step S3116 are performed.

図32は、許容CPU処理能力を超えてしまうためにそのままでは新たな予約を登録できない場合に、既存のアプリケーションのアルゴリズムを変更することによりCPU処理能力の余裕を生み出し、予約要求に応えるようにした処理方法の手順を示すフローチャートである。図31のステップS3106、ステップS3108、ステップS3114の判定結果がNO、すなわち暗号アルゴリズムが選択できなかった場合には、ステップS3201において、すでにスケジュールに登録済みの暗号通信アプリケーションのうち、最も負荷が高い暗号アルゴリズムを使用予定の暗号通信アプリケーションを検索する。ステップS3202において、その暗号アルゴリズムを負荷がより低いものに変更した場合の、変更した暗号アルゴリズム、予約要求暗号通信アプリケーション、およびそこで使用する暗号アルゴリズムについて使用資源合計を算出し、ステップS3203において、この算出結果が許容CPU処理能力未満かどうか判定する。この判定結果がYESなら、暗号アルゴリズムの変更を確定し、変更した暗号アルゴリズム、予約要求暗号通信アプリケーション、およびそこで使用する暗号アルゴリズムについて、ステップS3109以降で、前処理、リキー処理なども含めたスケジュール変更を行なう。ステップS3203の判定結果がNO、すなわち許容CPU処理能力がまだ不足であれば、ステップS3205において、暗号アルゴリズムの変更の余地のあるアプリケーションが他にまだあるかどうか判定し、この判定結果がYESならステップS3201に戻り、そのアプリケーションの暗号アルゴリズムの変更を試みる。ステップS3205の判定結果がNOなら、予約要求に対応することがまったく不可能であるので、ステップS3115に戻る。   In FIG. 32, when a new reservation cannot be registered as it is because it exceeds the allowable CPU processing capacity, a margin of CPU processing capacity is created by changing the algorithm of the existing application, and the reservation request is satisfied. It is a flowchart which shows the procedure of a processing method. If the determination results in step S3106, step S3108, and step S3114 in FIG. 31 are NO, that is, if the encryption algorithm cannot be selected, the encryption with the highest load among the encryption communication applications already registered in the schedule in step S3201. Search for cryptographic communication applications that will use the algorithm. In step S3202, the used resource total is calculated for the changed encryption algorithm, the reservation request encryption communication application, and the encryption algorithm used there when the encryption algorithm is changed to a lower load, and in step S3203 this calculation is performed. It is determined whether the result is less than the allowable CPU processing capacity. If this determination result is YES, the change of the encryption algorithm is confirmed, and the changed encryption algorithm, the reservation request encryption communication application, and the encryption algorithm used therefor, the schedule change including preprocessing, rekey processing, etc. in step S3109 and thereafter To do. If the determination result in step S3203 is NO, that is, if the allowable CPU processing capability is still insufficient, it is determined in step S3205 whether there is still another application that has a room for changing the encryption algorithm. Returning to S3201, an attempt is made to change the encryption algorithm of the application. If the decision result in the step S3205 is NO, it is impossible to respond to the reservation request at all, and the process returns to the step S3115.

図33は、許容CPU処理能力を超えてしまうためにそのままでは新たな予約を登録できない場合に、予約要求元(典型的にはユーザ)に予約の変更を促すように表示を行ない、予約要求元の判断により暗号アルゴリズムの再選択を行なうアルゴリズム選択方法の手順を示すフローチャートである。図31のステップS3106、ステップS3108、ステップS3114の判定結果がNO、すなわちアルゴリズムが選択できなかった場合には、ステップS3300において、予約要求元に再選択を促す表示を行なう。予約要求元はその表示を見て、ステップS3301において、すでにスケジュールに登録済みの暗号通信アプリケーションのうち、最も負荷が高い暗号アルゴリズムを使用予定の暗号通信アプリケーションを検索し、選択する。通信装置は、その選択に応答して、ステップS3302において、その暗号アルゴリズムを負荷がより低いものに変更した場合の、変更した暗号アルゴリズム、予約要求暗号通信アプリケーション、およびそこで使用する暗号アルゴリズムについて使用資源合計を算出し、ステップS3303において、この算出結果が許容CPU処理能力未満かどうか判定する。この判定結果がYESなら、暗号アルゴリズムの変更を確定し、変更した暗号アルゴリズム、予約要求暗号通信アプリケーション、およびそこで使用する暗号アルゴリズムについて、ステップS3109以降で、前処理、リキー処理なども含めたスケジュール変更を行なう。ステップS3303の判定結果がNO、すなわち許容CPU処理能力がまだ不足であれば、ステップS3305において、暗号アルゴリズムの変更の余地のあるアプリケーションが他にまだあるかどうか判定し、この判定結果がYESならステップS3300において、予約要求元に再選択を促す表示を行ない、ステップS3301以降、暗号アルゴリズム変更を試みる。ステップS3305の判定結果がNOなら、予約要求に対応することがまったく不可能であるので、ステップS3115に戻る。   In FIG. 33, when a new reservation cannot be registered as it is because the allowable CPU processing capacity is exceeded, a display is made to prompt the reservation requester (typically the user) to change the reservation. 5 is a flowchart showing a procedure of an algorithm selection method for re-selecting an encryption algorithm based on the determination of If the determination results in step S3106, step S3108, and step S3114 in FIG. 31 are NO, that is, if the algorithm cannot be selected, in step S3300, a display prompting the reservation requester to reselect is performed. The reservation request source looks at the display, and in step S3301, searches for and selects an encryption communication application scheduled to use the encryption algorithm with the highest load among the encryption communication applications already registered in the schedule. In response to the selection, in step S3302, the communication apparatus changes the encryption algorithm to one with a lower load, and uses resources for the changed encryption algorithm, the reservation request encryption communication application, and the encryption algorithm used therein. The total is calculated, and in step S3303, it is determined whether or not the calculation result is less than the allowable CPU processing capacity. If this determination result is YES, the change of the encryption algorithm is confirmed, and the changed encryption algorithm, the reservation request encryption communication application, and the encryption algorithm used therefor, the schedule change including preprocessing, rekey processing, etc. in step S3109 and thereafter To do. If the determination result in step S3303 is NO, that is, if the allowable CPU processing capacity is still insufficient, it is determined in step S3305 whether there are other applications that have room for changing the encryption algorithm. In S3300, a display requesting re-selection to the reservation request source is performed, and after step S3301, the encryption algorithm is changed. If the decision result in the step S3305 is NO, it is impossible to respond to the reservation request at all, so the process returns to the step S3115.

なお、上記のような暗号アルゴリズムの再選択では、前述したように、必要暗号強度の条件を緩める場合や、必要暗号強度の条件を緩めずに済む場合がある。   In addition, in the reselection of the encryption algorithm as described above, there are cases where it is not necessary to loosen the necessary encryption strength condition or to loosen the necessary encryption strength condition as described above.

図33のフローチャートにおいて、ステップS3301では、ユーザである予約要求元に、暗号アルゴリズムを負荷がより低いものに変更する暗号通信アプリケーションを指定させ、ステップS3302において、指定された暗号アルゴリズムを負荷がより低いものに変更した場合の使用資源合計を算出するようにしてもよい。この場合、ステップS3301において、ユーザである予約要求元に、暗号アルゴリズムを変更可能な暗号通信アプリケーションがどれであるかを予約要求元が識別できるような情報、あるいは暗号アルゴリズムを変更可能な暗号通信アプリケーションの中から所望の暗号通信アプリケーションを予約要求元が選択できるような情報を提示するとともに、現在予約登録されている暗号アルゴリズムと、選択・変更可能な暗号アルゴリズム(すなわち変更対象候補となる暗号アルゴリズム)とを提示し、予約要求元に実際に暗号アルゴリズムの変更を実施するか否かを判定させ、変更する内容を決めさせるようにしてもよい。予約要求元に対して、さらに、どのような暗号アルゴリズムを適用可能かを示す情報、あるいはそれらの暗号アルゴリズムの暗号強度やその順位などの情報を表示・提供してもよい。これにより、予約要求元は、再選択するか否かの判断だけではなく、その内容までも考慮したうえでの判断を行なうことができるようになる。   In the flowchart of FIG. 33, in step S3301, the reservation request source, which is a user, is allowed to specify an encryption communication application that changes the encryption algorithm to a lower load, and in step S3302, the specified encryption algorithm has a lower load. You may make it calculate the use resource total at the time of changing to a thing. In this case, in step S3301, information that allows the reservation request source to identify which encryption communication application can change the encryption algorithm for the reservation request source that is the user, or an encryption communication application that can change the encryption algorithm In addition to presenting information that allows the reservation requester to select the desired encryption communication application from among the encryption algorithms currently registered for reservation and selectable / changeable encryption algorithms (that is, encryption algorithms that are candidates for change) And the reservation request source may determine whether or not to actually change the encryption algorithm and determine the contents to be changed. Further, information indicating what kind of encryption algorithm can be applied to the reservation requester, or information such as the encryption strength of the encryption algorithm and its order may be displayed and provided. As a result, the reservation request source can make a determination in consideration of not only the determination as to whether or not to reselect, but also the contents.

(実施の形態17)
これまでに、暗号通信アプリケーション、前処理、リキー処理などを予約登録や追加登録する場合について説明した。スケジュール部64がイベントを実行している最中に新たな追加の予約登録の要求が発生した場合であっても、上記各実施の形態において説明した許容資源量の余裕の範囲であればイベントの追加が可能である。スケジュール部64は、追加予約登録要求を受けると、この予約をスケジュール・使用資源表66に仮登録し、作成済みのイベント・使用資源表68に追加アプリケーションに関するタスク欄を設け、さらにその開始希望時刻に対応するイベント行と終了希望時刻に対応するイベント行を挿入した、仮のイベント・使用資源表を別途作成する。そして、挿入した開始希望時刻イベント行と終了希望時刻イベント行に、各々の上段の各タスクと暗号アルゴリズムの記載内容をそれぞれコピーする。そしてさらに、開始希望時刻イベント行から終了希望時刻イベント行の直前のイベント行までの各イベント行に、追加使用希望する使用資源量を追記する。それから、スケジュール部64と暗号情報決定部74は、使用資源量の合計の算定や、その合計と許容資源量との比較を行ない、その合計が許容資源量未満であれば、更に必要に応じて暗号アルゴリズムの選択などの作業を行なう。最終的に予約追加可能であると判定された場合には、上記仮のイベント・使用資源表を正式なイベント・使用資源表68として採用することにより、追加予約希望のアプリケーションをイベント・使用資源表に追加することが可能になる。このような予約追加の判断にかかわる処理は、処理量が多くない。よって、この処理に必要な使用資源は少なく、システムが破綻する可能性は実質上無い。また、この処理に必要な時間も極めて短時間であるので、殆ど即座に対応することが可能である。なお、暗号アルゴリズムを使用する場合は、前処理の所要時間以上早めに予約要求が行われるべきである。そうでなければ、暗号通信の開始が遅れてしまうからである。
(Embodiment 17)
So far, the description has been given of the case where reservation registration or additional registration is performed for an encryption communication application, preprocessing, rekey processing, and the like. Even when a new request for additional registration is generated while the schedule unit 64 is executing an event, the event is within the allowable resource amount range described in the above embodiments. Can be added. Upon receiving the additional reservation registration request, the schedule unit 64 provisionally registers this reservation in the schedule / usage resource table 66, and provides a task column for the additional application in the created event / usage resource table 68, and the desired start time A temporary event / usage resource table is created separately by inserting an event row corresponding to, and an event row corresponding to the desired end time. Then, the description contents of each upper task and the encryption algorithm are respectively copied to the inserted desired start time event line and desired end time event line. Further, the amount of used resources desired to be additionally used is added to each event line from the desired start time event line to the event line immediately before the desired end time event line. Then, the schedule unit 64 and the encryption information determination unit 74 calculate the total amount of used resources and compare the total amount with the allowable resource amount, and if the total is less than the allowable resource amount, further if necessary Perform tasks such as selecting cryptographic algorithms. If it is finally determined that the reservation can be added, the provisional event / usage resource table is adopted as the formal event / usage resource table 68, so that an application for which additional reservation is desired can be made in the event / usage resource table. It becomes possible to add to. The amount of processing involved in such reservation addition determination is not large. Therefore, the resources used for this processing are small, and there is virtually no possibility that the system will fail. In addition, since the time required for this processing is extremely short, it is possible to respond almost immediately. When using an encryption algorithm, a reservation request should be made earlier than the time required for preprocessing. Otherwise, the start of encrypted communication will be delayed.

反対に、登録済みのあるアプリケーションの予約を取り消す場合には、該当するイベント時刻における、そのアプリケーションを構成するタスク名と、暗号通信の場合は更に、関連する暗号アルゴリズム名と使用資源を、記載欄から削除すればよい。この処理も極めて短時間に行なえるが、スケジュール部64がイベント・使用資源表68を参照して作業している時間帯、すなわちイベント時刻の前後の時間帯を避けて行なうようにする方がよい。暗号アルゴリズムを使用するアプリケーションの予約を取り消す場合には、関連する前処理やリキー処理のイベントについても一緒に削除する。このとき、既に予約登録済みの他のアプリケーションの暗号アルゴリズムを予約要求元に提示することによって予約要求元による暗号アルゴリズムの変更を可能としたり、最も負荷の低いもの、あるいは最も暗号強度の低いものから暗号アルゴリズムの再選択(強度を向上させる)を行なった場合の平均使用CPU資源合計値を算出し、この合計値が許容CPU処理能力を超えなかった場合に暗号アルゴリズムの変更を実施したりすることも可能とする。また、アルゴリズムの再選択とは別に、アプリケーションの種類によっては、許容CPU処理能力を超えない範囲でその実行開始時刻をずらしたり、暗号通信平均データ転送量をアプリケーションによって制御できる場合はその値を高くしたりすることによって、実行完了時刻を早めることも可能である。また、これらの変更を予約要求元が行なう場合は、認証により、変更する権限を有する者のみが変更を許可されるようにしてもよい。   On the other hand, when canceling a reservation for a registered application, the task name that configures the application at the corresponding event time, and in the case of encrypted communication, the associated encryption algorithm name and resource used are also displayed in the description column. Delete from. This process can also be performed in a very short time, but it is better to avoid the time zone in which the schedule unit 64 is working with reference to the event / usage resource table 68, that is, the time zone before and after the event time. . When canceling a reservation of an application that uses a cryptographic algorithm, related preprocessing and rekey processing events are also deleted. At this time, it is possible to change the encryption algorithm by the reservation request source by presenting the encryption algorithm of another application that has already been registered for reservation to the reservation request source, or from the one with the lowest load or the lowest encryption strength To calculate the average CPU resource total value when re-selecting the cryptographic algorithm (to improve the strength), and to change the cryptographic algorithm when the total value does not exceed the allowable CPU processing capacity Also possible. In addition to reselecting the algorithm, depending on the type of application, if the execution start time is shifted within a range that does not exceed the allowable CPU processing capacity, or if the average encrypted data transfer amount can be controlled by the application, the value is increased. It is also possible to advance the execution completion time. Further, when the reservation requester makes these changes, only the person who has the authority to change may be permitted by the authentication.

図34は、いずれかのアプリケーションの予約が取り消されたときに、その結果として生まれたCPUの余力を暗号アルゴリズムの暗号強度の強化に振り向ける場合のアルゴリズム選択方法の手順を示すフローチャートである。予約取り消し指示を受けると、通信装置は、ステップS3401において、最も負荷が低い暗号アルゴリズムを使用する予定の暗号通信アプリケーションを検索する。ステップS3402において、その暗号アルゴリズムを暗号強度のより高いものに変更した場合の使用資源合計を算出し、ステップS3403において、その合計が許容CPU処理能力未満かどうか判定する。この判定結果がNOなら、許容CPU処理能力が不足であるので暗号強度の強化はできず、ステップS3112に進む。ステップS3403の判定結果がYESなら、ステップS3404において、図31のステップS3109、ステップS3110、ステップS3111と同様に、暗号アルゴリズムの変更に対応して、前処理、リキー処理なども含めたスケジュール変更を行なう。ステップS3405において、変更の余地のあるアプリケーションが他にまだあるかどうか判定し、この判定結果がYESならステップS3401に戻り、暗号アルゴリズムの暗号強化を試みる。ステップS3405の判定結果がNOなら、ステップS3112に進む。   FIG. 34 is a flowchart showing a procedure of an algorithm selection method in a case where when the reservation of any application is canceled, the resulting CPU's remaining power is directed to strengthening the encryption strength of the encryption algorithm. Upon receiving the reservation cancellation instruction, the communication device searches for an encryption communication application scheduled to use the encryption algorithm with the lowest load in step S3401. In step S3402, the total used resources when the encryption algorithm is changed to a higher encryption strength is calculated, and in step S3403, it is determined whether the total is less than the allowable CPU processing capacity. If the determination result is NO, the allowable CPU processing capacity is insufficient, so that the encryption strength cannot be strengthened, and the process proceeds to step S3112. If the determination result in step S3403 is YES, in step S3404, a schedule change including preprocessing, rekey processing, and the like is performed in response to the change of the encryption algorithm in the same manner as in steps S3109, S3110, and S3111 in FIG. . In step S3405, it is determined whether there is another application that can be changed. If the determination result is YES, the process returns to step S3401 to try to strengthen the encryption algorithm. If the determination result of step S3405 is NO, the process proceeds to step S3112.

(実施の形態の変形および補足)
使用資源合計値が許容資源使用量を越える場合、および所定条件に合致する暗号アルゴリズムがない場合について補足すると、予約済み暗号通信アプリケーションおよび予約要求暗号通信アプリケーションに対して、必要なら前記一定条件(例えば暗号強度が第3位以上等)にかかわらず、暗号アルゴリズムの再選択のための計算を行ない、登録可能なら、再選択を実施して予約登録を行なうようにすることを行ってもよい。これは、予約済みの暗号通信アプリケーション用の暗号アルゴリズムが、前記一定条件を満たす暗号強度の中で強度が上位のものを採用している場合、一定条件はそのままでも、その条件下で、より暗号強度が低位のものに変更する操作を含む。また、このような変更の余地がない場合は、前記一定条件を緩和することを含む。また、前記使用資源合計値が許容資源使用量を越える場合、および所定条件に合致する暗号アルゴリズムがない場合に、他のアプリケーションの実行時間の変更、暗号通信平均データ転送量を低減する変更、もしくはその他の変更を行ない、必要なら前記一定条件にかかわらず、この条件を緩めるなどにより再選択を実施して予約登録を行なうことを可能にしてもよい。上記その他の変更としては、他のアプリケーションの性能を低くしてCPU処理能力の消費量を減らすことが考えられる。このような変更が可能な場合には、このような変更を選択して、暗号アルゴリズムの処理にCPU処理能力を振り向けるようにしてもよい。
(Deformation and supplement of embodiment)
Supplementing the case where the total used resource value exceeds the allowable resource usage amount and the case where there is no encryption algorithm that matches the predetermined condition, if necessary, for the reserved encryption communication application and the reservation request encryption communication application, the predetermined condition (for example, Regardless of whether the encryption strength is third or higher, etc., calculation for reselecting the encryption algorithm may be performed, and if registration is possible, reselection may be performed to perform reservation registration. This is because when the reserved cryptographic algorithm for the cryptographic communication application adopts a higher strength among the cryptographic strengths satisfying the above-mentioned certain conditions, even if the certain conditions remain the same, the encryption algorithm can be more encrypted. This includes changing to a lower strength. Moreover, when there is no room for such a change, it includes relaxing the certain condition. In addition, when the total used resource value exceeds the allowable resource usage amount, and when there is no encryption algorithm that matches the predetermined condition, a change in the execution time of another application, a change that reduces the average amount of encrypted communication data transfer, or Other changes may be made, and if necessary, it may be possible to perform reservation registration by performing re-selection by relaxing this condition regardless of the predetermined condition. As other changes described above, it is conceivable to reduce the consumption of CPU processing capacity by lowering the performance of other applications. If such a change is possible, such a change may be selected to direct the CPU processing capacity to the cryptographic algorithm processing.

上記説明において、許容CPU処理能力を50%とした。また、平均使用CPU資源を用いた。CPUは、アプリケーションの処理以外にOSの処理やカーネルの処理などの基本的処理も並行して行なっているからである。また、アプリケーションの処理において、常に一定のCPU資源を使用するとは限らない。通信においてパケットが集中して到着する場合や、テレビ放送の送信においてデータレートが絵柄のよって変動する場合などもあり、これらの変動を吸収する余裕が必要である。このために、平均使用CPU資源を用い、許容CPU処理能力を100%より小さい値としている。   In the above description, the allowable CPU processing capacity is 50%. Moreover, the average used CPU resource was used. This is because the CPU concurrently performs basic processing such as OS processing and kernel processing in addition to application processing. Further, a certain CPU resource is not always used in application processing. There are cases where packets arrive in a concentrated manner in communication, and there are cases where the data rate fluctuates depending on the pattern during transmission of a television broadcast, and there is a need for a room to absorb these fluctuations. For this reason, the average used CPU resource is used, and the allowable CPU processing capacity is set to a value smaller than 100%.

スケジュール・使用資源表66、イベント・使用資源表68、暗号処理使用資源表76の形式や、表内の各数値は、上記例に限定されない。上記例とは異なった形式であっても、必要な情報が表現でき、資源の計算ができるものであれば、本発明に使用できる。イベント時刻は、分より細かい秒、あるいは秒以下の分解能を持たせてもよい。   The format of the schedule / used resource table 66, the event / used resource table 68, and the cryptographic processing used resource table 76, and the numerical values in the table are not limited to the above example. Even if the format is different from the above example, it can be used in the present invention as long as necessary information can be expressed and resources can be calculated. The event time may have a resolution that is finer than a minute or less than a second.

図18の構成では、暗号情報決定部74と暗号処理部80の間で暗号・復号情報を授受するようにしたが、暗号情報決定部74が、暗号通信アプリケーション70、72との間でその暗号アプリケーションに対応した暗号・復号情報を授受し、暗号通信アプリケーション70、72が、暗号アプリケーション自身に対応した暗号・復号情報を暗号処理部80との間で授受するようにしてもよい。   In the configuration of FIG. 18, the encryption / decryption information is exchanged between the encryption information determination unit 74 and the encryption processing unit 80, but the encryption information determination unit 74 performs the encryption between the encryption communication applications 70 and 72. The encryption / decryption information corresponding to the application may be exchanged, and the encryption communication applications 70 and 72 may exchange the encryption / decryption information corresponding to the encryption application itself with the encryption processing unit 80.

図18の構成において、スケジュール部64と暗号情報決定部74とがひとつのブロックで成り、このブロックが、スケジュール・使用資源表66、暗号処理使用資源表76、およびイベント・使用資源表68の3つのテーブルを取り扱うようにしてもよい。   In the configuration of FIG. 18, the schedule unit 64 and the encryption information determination unit 74 are composed of one block, and this block includes a schedule / use resource table 66, an encryption process use resource table 76, and an event / use resource table 68. One table may be handled.

また、図18の構成において、暗号情報決定部74と暗号処理部80がひとつのブロックで成り、このブロックが、暗号処理使用資源表76や暗号・復号情報を扱い、スケジュール部64、暗号通信アプリケーション70、72との間で、関係する情報をやり取りするようにしてもよい。   Further, in the configuration of FIG. 18, the encryption information determination unit 74 and the encryption processing unit 80 are composed of one block, and this block handles the encryption processing usage resource table 76 and the encryption / decryption information. Related information may be exchanged between 70 and 72.

本発明の通信装置が相手の装置と暗号通信を行なう場合、両者が共に使用可能な暗号アルゴリズムを選択対象とするのが好ましい。本通信装置が選択した暗号アルゴリズムが、相手装置で対応できない場合は、暗号通信ができなくなるのは言うまでもない。したがって、上記予約の段階で、相手装置との間で、使用可能な暗号アルゴリズムを共有化するネゴシエーションを行なうことが好ましい。   When the communication apparatus of the present invention performs cryptographic communication with the counterpart apparatus, it is preferable to select an encryption algorithm that can be used by both of them. Needless to say, if the encryption algorithm selected by the communication device cannot be handled by the counterpart device, encryption communication cannot be performed. Therefore, it is preferable to perform negotiation for sharing a usable encryption algorithm with the partner apparatus at the reservation stage.

通信におけるパケット送信時の揺らぎや、受信におけるパケットの順序の乱れや受信の遅れがあると、使用中の鍵から次の更新鍵に更新される時刻は、鍵の満了時刻の前後に揺らぐ可能性がある。特に受信側でその可能性が大きい。揺らぎ時間が累積してゆき、更新した鍵の使用開始時刻が、スケジュール時に予想した時刻よりも大幅にずれることが懸念される場合は、その分リキー処理開始時刻をずらしてもよい。送信側のネットワークカメラが、鍵の更新を、寿命満了時間に基づき行なう限りは、揺らぎ時間の累積は起こらない。   If there are fluctuations during packet transmission in communication, out-of-order packet reception or delays in reception, the time when the key being used is updated to the next update key may fluctuate around the key expiration time. There is. The possibility is particularly great on the receiving side. If the fluctuation time accumulates and there is a concern that the use start time of the updated key will be significantly different from the time expected at the time of scheduling, the rekey processing start time may be shifted accordingly. As long as the network camera on the transmission side updates the key based on the lifetime expiration time, the fluctuation time does not accumulate.

上記暗号アルゴリズムが認証アルゴリズムあるいは圧縮アルゴリズムであっても、本発明が適用できる。よって、上記の各暗号アルゴリズムは、認証アルゴリズムおよび圧縮アルゴリズムを含むものとする。   The present invention can be applied even if the encryption algorithm is an authentication algorithm or a compression algorithm. Therefore, each encryption algorithm described above includes an authentication algorithm and a compression algorithm.

なお、本発明のアルゴリズム選択方法の各手順をコンピュータに実行させるためのプログラムを記録した記録媒体としては、プログラムを記録したROM、RAM、フレキシブルディスク、CD−ROM、DVD、メモリカード、ハードディスクなど、コンピュータ読み取り可能な任意の記録媒体が利用できる。   As a recording medium on which a program for causing a computer to execute each procedure of the algorithm selection method of the present invention is recorded, a ROM, a RAM, a flexible disk, a CD-ROM, a DVD, a memory card, a hard disk, etc., on which the program is recorded, Any computer-readable recording medium can be used.

なお、暗号復号情報として、暗号アルゴリズムに加え、暗号鍵等、暗復号処理に必要な情報も含めて通知しても構わない。また、暗号アルゴリズムや暗号鍵を特定する識別子を通知しても構わない。   The encryption / decryption information may be notified including information necessary for encryption / decryption processing such as an encryption key in addition to the encryption algorithm. Moreover, you may notify the identifier which identifies an encryption algorithm and an encryption key.

(実施の形態18)
以上の実施の形態1〜17では、通信装置が自身のCPU使用率(より一般的には使用資源合計値)に基づいて最適な暗号アルゴリズムを選択する例について説明した。ところが、暗号アルゴリズムの選択にあたって通信相手(例えば、ネットワークカメラや、通信機能を有する家電機器)のCPU使用率は考慮されないため、通信相手のCPUリソースに余裕があまりないときに負荷の高い暗号アルゴリズムを選択してしまうと、通信相手における暗号化パケットの復号化処理が遅延してしまう。そこで、実施の形態18として、このような問題を回避可能な通信装置について説明する。
(Embodiment 18)
In Embodiments 1 to 17 described above, the example has been described in which the communication apparatus selects an optimal encryption algorithm based on its own CPU usage rate (more generally, the total used resource value). However, since the CPU usage rate of a communication partner (for example, a network camera or a home appliance having a communication function) is not considered in selecting an encryption algorithm, a high-load encryption algorithm is selected when there is not enough room for the CPU resource of the communication partner. If selected, the decryption process of the encrypted packet at the communication partner is delayed. Therefore, as an eighteenth embodiment, a communication apparatus that can avoid such a problem will be described.

図35に、本実施の形態の通信装置を用いた通信システムの構成を示す。図35に示すように、通信装置120は、ネットワークを介して1以上の通信相手(図35の例では通信相手122、124、126)と通信可能である。   FIG. 35 shows a configuration of a communication system using the communication device of the present embodiment. As shown in FIG. 35, the communication device 120 can communicate with one or more communication partners (communication partners 122, 124, 126 in the example of FIG. 35) via a network.

まず、本実施の形態の前提条件を以下に述べる。   First, the preconditions of this embodiment are described below.

<暗号通信に関する前提条件>
・通信装置120は、パケットを暗号化して、1以上の通信相手と暗号通信を行なう。
・暗号化に利用可能な暗号アルゴリズムは複数存在し、通信装置120と通信相手の双方がサポートしている暗号アルゴリズムであれば、任意の暗号アルゴリズムを使用することができる。
・暗号鍵は、少なくとも暗号通信の開始までに、通信装置120と通信相手とで共有される。
・暗号化されたパケットには、少なくともこのパケットの暗号化の際に適用された暗号アルゴリズムと暗号鍵の組を識別するための識別子が含まれる。
・暗号アルゴリズムの折衝方法や暗号鍵を共有するための仕組みについては特に不問である。
<Prerequisites for cryptographic communication>
The communication device 120 encrypts the packet and performs encrypted communication with one or more communication partners.
There are a plurality of encryption algorithms that can be used for encryption, and any encryption algorithm can be used as long as it is supported by both the communication device 120 and the communication partner.
The encryption key is shared between the communication device 120 and the communication partner at least by the start of encryption communication.
The encrypted packet includes at least an identifier for identifying a combination of an encryption algorithm and an encryption key applied at the time of encrypting the packet.
-There are no particular questions regarding the encryption algorithm negotiation method and the mechanism for sharing the encryption key.

<通信相手に関する前提条件>
・通信相手は、パケットを本通信装置に送信するときに、実施の形態1〜15の通信装置のように、自身のCPU使用率に応じて、CPU使用率が許容値を超えないような暗号アルゴリズムを選択し、この暗号アルゴリズムに従ってパケットを暗号化する。
・通信相手は、暗号化されたパケットを通信装置120から受信したときに、このパケットに適用されている暗号アルゴリズムに従ってこのパケットを復号化する。
<Prerequisites for communication partner>
-When the communication partner transmits a packet to the communication device, as in the communication device of the first to fifteenth embodiments, the encryption is such that the CPU usage rate does not exceed the allowable value according to its own CPU usage rate. An algorithm is selected and the packet is encrypted according to the encryption algorithm.
When the communication partner receives the encrypted packet from the communication device 120, the communication partner decrypts the packet according to the encryption algorithm applied to the packet.

図36は、通信装置120の構成を示す機能ブロック図である。図36において、通信装置120は、暗号通信アプリケーション128、暗号情報決定部130、暗号処理部136および通信処理部138を備えている。暗号情報決定部130は、暗号処理使用資源表132と受信履歴管理表134を保持している。   FIG. 36 is a functional block diagram illustrating a configuration of the communication device 120. 36, the communication device 120 includes an encryption communication application 128, an encryption information determination unit 130, an encryption processing unit 136, and a communication processing unit 138. The encryption information determination unit 130 holds an encryption processing usage resource table 132 and a reception history management table 134.

図37は、暗号処理使用資源表132の一例である。図37において、「計算量」は、暗号処理を行った場合の負荷を示しており、その値としては、ある通信相手での測定結果を用いる。なお、通信相手での測定結果の替わりに、通信装置120での測定結果や、暗号アルゴリズムに基づいて算出される理論値を用いてもよい。また、図37において、「計算量指標」は、計算量の順位を示しており、計算量が小さい順に1、2、3、・・・という値が設定される。また、「暗号強度」は、暗号の強さの順位を示している。   FIG. 37 is an example of the cryptographic processing use resource table 132. In FIG. 37, “calculation amount” indicates the load when cryptographic processing is performed, and the measurement result at a certain communication partner is used as the value. Instead of the measurement result at the communication partner, a measurement result at the communication device 120 or a theoretical value calculated based on an encryption algorithm may be used. In FIG. 37, “calculation amount index” indicates the ranking of the calculation amount, and values 1, 2, 3,... Are set in ascending order of the calculation amount. Further, “encryption strength” indicates the order of encryption strength.

図38は、受信履歴管理表134の一例である。図38において、「Last」は、通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムを示している。また、「度数」は、一定時間(もしくは一定個数)の受信パケットに適用されていた暗号アルゴリズムの度数を示している。図38において、度数が「*」であるものは、通信相手とネゴシエーションできていない暗号アルゴリズムを示している。   FIG. 38 is an example of the reception history management table 134. In FIG. 38, “Last” indicates an encryption algorithm applied to the packet last received from the communication partner. “Frequency” indicates the frequency of the encryption algorithm applied to the received packet for a certain time (or a certain number). In FIG. 38, the frequency of “*” indicates an encryption algorithm that has not been negotiated with the communication partner.

図39は、通信相手122の構成を示す機能ブロック図である。図39において、通信相手122(通信相手122)は、暗号通信アプリケーション140、リソース監視部142、通信処理部144、暗号処理部146および暗号情報決定部148を備えている。暗号情報決定部148は、暗号処理使用資源表152を保持している。なお、リソース監視部142、通信処理部144および暗号処理部146の機能は、図1に示したものと同様である。また、CPU使用率情報メモリ150および暗号処理使用資源表152についても、図2に示したものと同様である。なお、通信相手124、126の構成および動作については通信相手122と同様のため、通信相手124、126の説明は省略する。

FIG. 39 is a functional block diagram showing the configuration of the communication partner 122. 39, the communication partner 122 (communication partner 122) includes an encryption communication application 140, a resource monitoring unit 142, a communication processing unit 144, an encryption processing unit 146, and an encryption information determination unit 148. The encryption information determination unit 148 holds an encryption processing usage resource table 152 . The functions of the resource monitoring unit 142, the communication processing unit 144, and the encryption processing unit 146 are the same as those shown in FIG. The CPU usage rate information memory 150 and the cryptographic processing usage resource table 152 are the same as those shown in FIG. Note that the configuration and operation of the communication partners 124 and 126 are the same as those of the communication partner 122, and therefore the description of the communication partners 124 and 126 is omitted.

以下、通信装置120の動作を説明する。   Hereinafter, the operation of the communication apparatus 120 will be described.

まず、パケット受信時の通信装置120の動作について説明する。通信処理部138は、ネットワークを介して通信相手から暗号化パケットを受信し、受信した暗号化パケットを暗号処理部136に渡す。暗号処理部136は、この暗号化パケットを解析し、この暗号化パケットに適用されている暗号アルゴリズムと暗号鍵の組を識別するための識別子(以下、第1識別子とする)を抽出し、この第1識別子と、この暗号化パケットの送信元の通信相手を識別するための識別子(以下、第2識別子とする)とを暗号情報決定部130に渡す。暗号情報決定部130は、暗号処理部136から受け取った第1識別子に基づいて暗号アルゴリズムと暗号鍵の組を特定し、これらを暗号処理部136に渡す。また、暗号情報決定部130は、特定した暗号アルゴリズムと暗号鍵の組、および暗号処理部136から受け取った第2識別子に基づいて、受信履歴管理表134を更新する。暗号処理部136は、暗号情報決定部130から受け取った暗号アルゴリズムと暗号鍵の組を用いて暗号化パケットを復号し、こうして平文となったパケットを暗号通信アプリケーション128に渡す。   First, the operation of the communication device 120 when receiving a packet will be described. The communication processing unit 138 receives the encrypted packet from the communication partner via the network, and passes the received encrypted packet to the encryption processing unit 136. The encryption processing unit 136 analyzes the encrypted packet, extracts an identifier (hereinafter referred to as a first identifier) for identifying a combination of an encryption algorithm and an encryption key applied to the encrypted packet, The first identifier and an identifier for identifying the communication partner of the transmission source of the encrypted packet (hereinafter referred to as a second identifier) are passed to the encryption information determination unit 130. Based on the first identifier received from the encryption processing unit 136, the encryption information determination unit 130 specifies a combination of an encryption algorithm and an encryption key, and passes them to the encryption processing unit 136. Also, the encryption information determination unit 130 updates the reception history management table 134 based on the identified encryption algorithm and encryption key pair and the second identifier received from the encryption processing unit 136. The encryption processing unit 136 decrypts the encrypted packet using the combination of the encryption algorithm and the encryption key received from the encryption information determination unit 130, and passes the packet thus converted to the plain text to the encryption communication application 128.

次に、パケット送信時の通信装置120の動作について説明する。暗号通信アプリケーション128は、通信相手に送信すべき平文のパケットを生成し、これを暗号処理部136に渡す。暗号処理部136は、暗号通信アプリケーション128から受け取ったパケットから第2識別子を抽出し、これを暗号情報決定部130に渡す。暗号情報決定部130は、暗号処理部136から受け取った第2識別子に基づいて、暗号処理使用資源表132および受信履歴管理表134を参照して暗号アルゴリズムを選択する。なお、この暗号アルゴリズム選択処理の詳細は後述する。暗号情報決定部130は、選択した暗号アルゴリズムを暗号処理部136に渡す。暗号処理部136は、暗号情報決定部130から受け取った暗号アルゴリズムにしたがってパケットを暗号化し、この暗号化パケットを通信処理部138に渡す。通信処理部138は、暗号処理部136から受け取ったパケットをネットワークを介して通信相手に送信する。   Next, the operation of the communication device 120 at the time of packet transmission will be described. The encryption communication application 128 generates a plaintext packet to be transmitted to the communication partner and passes it to the encryption processing unit 136. The cryptographic processing unit 136 extracts the second identifier from the packet received from the cryptographic communication application 128 and passes it to the cryptographic information determination unit 130. Based on the second identifier received from the cryptographic processing unit 136, the cryptographic information determination unit 130 selects a cryptographic algorithm by referring to the cryptographic processing usage resource table 132 and the reception history management table 134. Details of the encryption algorithm selection process will be described later. The encryption information determination unit 130 passes the selected encryption algorithm to the encryption processing unit 136. The encryption processing unit 136 encrypts the packet according to the encryption algorithm received from the encryption information determination unit 130, and passes this encrypted packet to the communication processing unit 138. The communication processing unit 138 transmits the packet received from the encryption processing unit 136 to the communication partner via the network.

以下、パケット送信時における暗号情報決定部130の暗号アルゴリズム選択処理の詳細を説明する。前提条件として、暗号情報決定部130は、通信相手との間でネゴシエーションされた1以上の暗号アルゴリズム(図38で「*」が付いていない暗号アルゴリズム)から1つの暗号アルゴリズムを選択する。また、暗号情報決定部130は、通信相手毎に異なる暗号アルゴリズムを選択することができる。   Hereinafter, details of the encryption algorithm selection processing of the encryption information determination unit 130 at the time of packet transmission will be described. As a precondition, the encryption information determination unit 130 selects one encryption algorithm from one or more encryption algorithms negotiated with the communication partner (an encryption algorithm without “*” in FIG. 38). Also, the encryption information determination unit 130 can select a different encryption algorithm for each communication partner.

なお、パケット送信時における暗号情報決定部130の暗号アルゴリズム選択方法には複数のバリエーションが考えられる。以下では、6つの典型的なバリエーションについて説明する。   A plurality of variations can be considered for the encryption algorithm selection method of the encryption information determination unit 130 at the time of packet transmission. In the following, six typical variations will be described.

(1)パケット送信先の通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムを選択する。   (1) The encryption algorithm applied to the packet received last from the communication partner of the packet transmission destination is selected.

通信相手は、パケット送信時のCPU使用率に応じた暗号アルゴリズムを選択し、この暗号アルゴリズムにしたがってパケットを暗号化して、この暗号化パケットを通信装置120に送信する。したがって、通信相手から受信したパケットに適用されていた暗号アルゴリズムは、そのパケットの送信時の通信相手のCPU使用率を反映している。よって、本方法では、通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムが負荷の高いものであった場合には、現在、その通信相手のCPUは余力があると予想されるため、暗号情報決定部130は、通信相手が送信時に適用したのと同じ、負荷の高い暗号アルゴリズムを選択してパケットを暗号化する。一方、通信相手から受信したパケットに適用されていた暗号アルゴリズムが負荷の低いものであった場合には、現在、その通信相手のCPUは余力がないと予想されるため、暗号情報決定部130は、通信相手が送信時に適用したのと同じ、負荷の低い暗号アルゴリズムを選択してパケットを暗号化する。例えば、図38の受信履歴管理表134を保持している状態で通信相手Aにパケットを送信する場合には、暗号情報決定部130は、通信相手Aの「last」の欄に基づいて、暗号アルゴリズム3DES−CBCを選択する。同様に、通信相手Cにパケットを送信する場合には、暗号情報決定部130は、通信相手Cの「last」の欄に基づいて、暗号アルゴリズムAES−CBCを選択する。   The communication partner selects an encryption algorithm according to the CPU usage rate at the time of packet transmission, encrypts the packet according to the encryption algorithm, and transmits the encrypted packet to the communication device 120. Therefore, the encryption algorithm applied to the packet received from the communication partner reflects the CPU usage rate of the communication partner at the time of transmission of the packet. Therefore, in this method, when the encryption algorithm applied to the packet received last from the communication partner is a high load, the CPU of the communication partner is currently expected to have power, The encryption information determination unit 130 selects the same high-load encryption algorithm as the communication partner applies at the time of transmission, and encrypts the packet. On the other hand, if the encryption algorithm applied to the packet received from the communication partner is a low-load one, it is expected that the CPU of the communication partner is currently free, so the encryption information determination unit 130 Select the same low-load encryption algorithm that the communication partner applied at the time of transmission and encrypt the packet. For example, when the packet is transmitted to the communication partner A in the state where the reception history management table 134 of FIG. 38 is held, the encryption information determination unit 130 performs encryption based on the “last” field of the communication partner A. Select algorithm 3DES-CBC. Similarly, when transmitting a packet to the communication partner C, the encryption information determination unit 130 selects the encryption algorithm AES-CBC based on the “last” field of the communication partner C.

この方法を採用する場合には、暗号情報決定部130は、暗号化されたパケットを受信するたびに、図38に示す受信履歴管理表134の「last」の欄を更新する必要がある。なお、この方法では、受信履歴管理表134の「度数」の欄は不要である。   When this method is adopted, the encryption information determination unit 130 needs to update the “last” column of the reception history management table 134 shown in FIG. 38 every time an encrypted packet is received. In this method, the “frequency” column of the reception history management table 134 is not necessary.

(2)パケット送信先の通信相手から過去に受信した一定数のパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高いものを選択する。   (2) Select the most frequently used encryption algorithm applied to a certain number of packets received in the past from the communication partner of the packet transmission destination.

通信相手のCPU使用率は常に一定というわけではないため、上記(1)の方法のように、たった一つの受信パケットに基づいて暗号アルゴリズムを選択すると、その選択結果が適切でない場合がある。よって、本方法では、暗号情報決定部130は、パケット送信先の通信相手から過去に受信した一定数のパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高いものを選択する。例えば、図38の受信履歴管理表134を保持している状態で通信相手Aにパケットを送信する場合には、暗号情報決定部130は、通信相手Aの「度数」の欄を参照して、過去に受信した20のパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高い暗号アルゴリズムDES−CBCを選択する。   Since the CPU usage rate of the communication partner is not always constant, when the encryption algorithm is selected based on only one received packet as in the method (1), the selection result may not be appropriate. Therefore, in this method, the encryption information determination unit 130 selects the most frequently used encryption algorithm applied to a certain number of packets received in the past from the communication partner of the packet transmission destination. For example, when the packet is transmitted to the communication partner A while holding the reception history management table 134 of FIG. 38, the encryption information determination unit 130 refers to the “frequency” column of the communication partner A, Among the encryption algorithms applied to the 20 packets received in the past, the most frequently used encryption algorithm DES-CBC is selected.

この方法を採用する場合には、暗号情報決定部130は、暗号化されたパケットを受信するたびに、図38に示す受信履歴管理表134の「度数」の欄を更新する必要がある。例えば、過去に受信した20パケットを考慮して暗号アルゴリズムを選択する場合には、受信履歴管理表134の「度数」欄に20パケット分の履歴を常に保持しておく。なお、この方法では、受信履歴管理表134の「last」の欄は不要である。   When this method is adopted, the encryption information determination unit 130 needs to update the “frequency” column of the reception history management table 134 shown in FIG. 38 every time an encrypted packet is received. For example, when an encryption algorithm is selected in consideration of 20 packets received in the past, a history for 20 packets is always held in the “frequency” column of the reception history management table 134. In this method, the “last” column of the reception history management table 134 is unnecessary.

(3)パケット送信先の通信相手から過去一定期間に受信したパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高いものを選択する。   (3) The most frequently used encryption algorithm is selected from the encryption algorithms applied to packets received in the past certain period from the communication partner of the packet transmission destination.

上記(2)の方法で考慮した、過去に受信した一定数のパケットの中には、かなり前に受信したパケットが含まれる場合もあり、そのようなパケットは通信相手の現在のCPU使用率を推定するための材料としては適切ではない。よって、本方法では、暗号情報決定部130は、パケット送信先の通信相手から過去一定期間に受信したパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高いものを選択する。例えば、図38の受信履歴管理表134を保持している状態で通信相手Aにパケットを送信する場合には、暗号情報決定部130は、通信相手Aの「度数」の欄を参照して、過去に受信した20のパケットに適用されていた暗号アルゴリズムのうち、最も頻度の高い暗号アルゴリズムDES−CBCを選択する。   The fixed number of packets received in the past considered in the method (2) above may include packets received a long time ago, and such packets indicate the current CPU usage rate of the communication partner. It is not suitable as a material for estimation. Therefore, in this method, the encryption information determination unit 130 selects the most frequently used encryption algorithm that has been applied to packets received in the past certain period from the communication partner of the packet transmission destination. For example, when the packet is transmitted to the communication partner A while holding the reception history management table 134 of FIG. 38, the encryption information determination unit 130 refers to the “frequency” column of the communication partner A, Among the encryption algorithms applied to the 20 packets received in the past, the most frequently used encryption algorithm DES-CBC is selected.

この方法を採用する場合には、暗号情報決定部130は、暗号化されたパケットを受信するたびに、図38に示す受信履歴管理表134の「度数」の欄を更新する必要がある。例えば、過去5分間に受信したパケットを考慮して暗号アルゴリズムを選択する場合には、受信履歴管理表134の「度数」欄に1分間分の履歴を常に保持しておく。なお、この方法では、受信履歴管理表134の「last」の欄は不要である。   When this method is adopted, the encryption information determination unit 130 needs to update the “frequency” column of the reception history management table 134 shown in FIG. 38 every time an encrypted packet is received. For example, when an encryption algorithm is selected in consideration of packets received in the past 5 minutes, the history for one minute is always held in the “frequency” column of the reception history management table 134. In this method, the “last” column of the reception history management table 134 is unnecessary.

(4)計算量が、パケット送信先の通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムの計算量以下であるような暗号アルゴリズムの中から、最も暗号強度の高いものを選択する。   (4) A cryptographic algorithm having the highest cryptographic strength is selected from cryptographic algorithms whose calculation amount is equal to or less than the calculation amount of the cryptographic algorithm applied to the packet received last from the communication partner of the packet transmission destination.

計算量が多い暗号アルゴリズムが必ずしも暗号強度が高いとは限らない。例えば、図37に示すように、AES−CBCは、3DES−CBCよりも計算量は少ないが、暗号強度は高い。したがって、もし暗号アルゴリズムとしてAES−CBCと3DES−CBCのどちらも利用可能な場合には、AES−CBCを用いる方が有効である。   A cryptographic algorithm having a large amount of calculation does not necessarily have a high cryptographic strength. For example, as shown in FIG. 37, AES-CBC has a smaller calculation amount than 3DES-CBC, but has higher encryption strength. Therefore, if both AES-CBC and 3DES-CBC are available as encryption algorithms, it is more effective to use AES-CBC.

また、一般に、受信用にネゴシエーションされたアルゴリズムと、送信用にネゴシエーションされたアルゴリズムは必ずしも一致せず、例えば通信相手から最後に受信したパケットに適用された暗号アルゴリズムを選択しようとしても、この暗号アルゴリズムが送信用にネゴシエーションされたものではない場合もあり得る。   In general, the algorithm negotiated for reception does not necessarily match the algorithm negotiated for transmission. For example, even if an encryption algorithm applied to a packet received last from a communication partner is selected, this encryption algorithm May not have been negotiated for transmission.

よって、本方法では、暗号情報決定部130は、暗号処理使用資源表132を参照して、通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムと比べて計算量が等しいかまたは少ない暗号アルゴリズムの中から、最も暗号強度の高いものを選択する。例えば、図38の受信履歴管理表134を保持している状態で通信相手Bにパケットを送信する場合には、暗号情報決定部130は、計算量が、通信相手Bの「last」の欄に記載されている暗号アルゴリズム3DES−CBCの計算量以下の暗号アルゴリズム(すなわち図37の例では3DES−CBCとAES−CBC。なお、DES−CBCについては図38に示すように通信相手Bとの間でネゴシエーションされていないため除外される。)の中から、最も暗号強度の高い暗号アルゴリズムAES−CBCを選択する。   Therefore, in this method, the encryption information determination unit 130 refers to the encryption processing usage resource table 132, and the encryption amount is equal to or less than the encryption algorithm applied to the packet received last from the communication partner. Select the algorithm with the highest encryption strength. For example, when the packet is transmitted to the communication partner B in the state where the reception history management table 134 of FIG. 38 is held, the encryption information determination unit 130 sets the calculation amount in the “last” column of the communication partner B. An encryption algorithm equal to or less than the calculation amount of the described encryption algorithm 3DES-CBC (that is, 3DES-CBC and AES-CBC in the example of FIG. 37. Note that DES-CBC is communicated with the communication partner B as shown in FIG. The encryption algorithm AES-CBC having the highest encryption strength is selected from the above.

(5)計算量が、パケット送信先の通信相手から過去に受信した一定数のパケットに適用されていた暗号アルゴリズムの計算量の統計値以下であるような暗号アルゴリズムの中から、最も暗号強度の高いものを選択する。   (5) Among encryption algorithms whose calculation amount is equal to or less than the statistical value of the calculation amount of the encryption algorithm applied to a certain number of packets received in the past from the communication partner of the packet transmission destination, Choose a higher one.

なお、「統計値」としては、それらの暗号アルゴリズムの計算量のうちの最小値を採用してもよいし、それらの暗号アルゴリズムの計算量のうちの最も頻度の多い計算量を採用してもよいし、それらの暗号アルゴリズムの計算量の平均値を採用してもよいし、その他の統計値を採用してもよい。   As the “statistic value”, the minimum value among the calculation amounts of the encryption algorithms may be adopted, or the calculation amount with the most frequent of the calculation amounts of the encryption algorithms may be adopted. The average value of the calculation amount of those encryption algorithms may be adopted, or other statistical values may be adopted.

例えば、パケット送信先の通信相手から過去に受信した一定数のパケットに適用されていた暗号アルゴリズムの計算量の平均値を「統計値」として採用しており、図38の受信履歴管理表134を保持している状態で通信相手Aにパケットを送信する場合には、通信相手Aの「度数」の欄に基づいて「統計値」は(100×17+300×3)/20=130と計算されるので、暗号情報決定部130は、計算量が130以下の暗号アルゴリズムDES−CBCを選択する。   For example, the average value of the calculation amount of the encryption algorithm applied to a certain number of packets received in the past from the communication partner of the packet transmission destination is adopted as the “statistic value”, and the reception history management table 134 of FIG. When a packet is transmitted to the communication partner A in the held state, the “statistic” is calculated as (100 × 17 + 300 × 3) / 20 = 130 based on the “frequency” column of the communication partner A. Therefore, the encryption information determination unit 130 selects an encryption algorithm DES-CBC having a calculation amount of 130 or less.

(6)計算量が、パケット送信先の通信相手から過去一定期間に受信したパケットに適用されていた暗号アルゴリズムの計算量の統計値以下であるような暗号アルゴリズムの中から、最も暗号強度の高いものを選択する。   (6) Highest cryptographic strength among cryptographic algorithms whose computational complexity is less than or equal to the statistical value of the computational complexity of the cryptographic algorithm applied to packets received in the past certain period from the communication partner of the packet transmission destination Choose one.

例えば、パケット送信先の通信相手から過去一定期間に受信したパケットに適用されていた暗号アルゴリズムの計算量のうちの最も頻度の多い計算量を「統計値」として採用しており、図38の受信履歴管理表134を保持している状態で通信相手Bにパケットを送信する場合には、通信相手Bの「度数」の欄に基づいて「統計値」は3DES−CBCの計算量である300となるので、暗号情報決定部130は、計算量が300以下の暗号アルゴリズムの中で、最も暗号強度の高い暗号アルゴリズムAES−CBCを選択する。   For example, the calculation amount with the highest frequency among the calculation amounts of the encryption algorithm applied to the packet received in the past certain period from the communication partner of the packet transmission destination is adopted as the “statistic value”, and the reception shown in FIG. When a packet is transmitted to the communication partner B in the state where the history management table 134 is held, the “statistic” is 300, which is the calculation amount of 3DES-CBC, based on the “frequency” column of the communication partner B. Therefore, the encryption information determination unit 130 selects the encryption algorithm AES-CBC having the highest encryption strength among the encryption algorithms having a calculation amount of 300 or less.

なお、上記(4)〜(6)の方法において、「計算量」の替わりに図37に示す「計算量指標」を用いて暗号アルゴリズムを選択してもよい。   In the methods (4) to (6), an encryption algorithm may be selected using a “computation amount index” shown in FIG. 37 instead of “computation amount”.

なお、上記の各方法は、過去に受信したパケットに関する情報が受信履歴管理表134に保持されていることを前提としている。しかしながら、ある通信相手に対して初めてパケットを送信する場合や、パケット送信先から長期間パケットを受信していない場合には、受信履歴管理表134に十分な情報が保持されておらず、上記の各方法で暗号アルゴリズムを選択することができない。そこで、このような場合には、一例として、暗号情報決定部130は、予め指定した暗号アルゴリズムを選択するようにしてもよい。また、別の例として、暗号情報決定部130は、まずパケット送信先に、その送信先からの応答が得られるようなパケット、例えばICMP(Internet Control Message Protocol)の「Echo request」を送信し、これに対する応答として送信先から返ってきたパケットに適用されていた暗号アルゴリズムに基づいて、暗号アルゴリズムを選択するようにしてもよい。   Each method described above is based on the premise that information related to packets received in the past is held in the reception history management table 134. However, when a packet is transmitted to a certain communication partner for the first time, or when a packet has not been received for a long time from a packet transmission destination, sufficient information is not held in the reception history management table 134, and the above-mentioned The encryption algorithm cannot be selected by each method. Therefore, in such a case, as an example, the encryption information determination unit 130 may select a predetermined encryption algorithm. As another example, the encryption information determination unit 130 first transmits a packet from which a response from the transmission destination is obtained, for example, an “Echo request” of ICMP (Internet Control Message Protocol) to the packet transmission destination, In response to this, an encryption algorithm may be selected based on the encryption algorithm applied to the packet returned from the transmission destination.

図40は、本通信システムの処理の流れを示すフローチャートである。なお、図40において、図16と同様のステップには同一の参照符号を付し、説明を省略する。   FIG. 40 is a flowchart showing a process flow of the communication system. In FIG. 40, steps similar to those in FIG. 16 are denoted by the same reference numerals, and description thereof is omitted.

図40のフローチャートから分かるように、本実施の形態における通信相手122の動作は、図16に示す通信装置24の動作とほぼ等しい。異なる点は、本実施の形態では、ステップS1700の詳細を示す図17のステップS1702で、集合Fの中で、CPU使用率が許容値以下となるような暗号アルゴリズムの集合Dを求める点のみである。したがって、以下では、通信相手122の動作の説明は省略し、通信装置120側の動作についてのみ説明する。   As can be seen from the flowchart of FIG. 40, the operation of the communication partner 122 in the present embodiment is substantially equal to the operation of the communication device 24 shown in FIG. The only difference is that, in the present embodiment, in step S1702 in FIG. is there. Therefore, in the following, description of the operation of the communication partner 122 is omitted, and only the operation on the communication device 120 side is described.

暗号情報決定部130は、通信相手122から暗号化されたパケットを受信したかどうかを判定し(S1622)、パケットを受信した場合は、このパケットに適用されていた暗号アルゴリズムに基づいて受信履歴管理表134を更新する(S4001)。   The encryption information determination unit 130 determines whether or not an encrypted packet has been received from the communication partner 122 (S1622). If a packet is received, the reception history management is performed based on the encryption algorithm applied to the packet. The table 134 is updated (S4001).

一方、通信相手122に送信すべきパケットが存在する場合(S1624でYES)には、暗号情報決定部130は、上述した(1)〜(6)のような方法を用いて集合Fから暗号アルゴリズムをひとつ選択する(S4002)。そして、暗号処理部136は、暗号情報決定部130によって選択された暗号アルゴリズムを用いてパケットを暗号化する(S4003)。   On the other hand, when there is a packet to be transmitted to the communication partner 122 (YES in S1624), the encryption information determination unit 130 uses the method described in (1) to (6) above to perform the encryption algorithm from the set F. Is selected (S4002). Then, the encryption processing unit 136 encrypts the packet using the encryption algorithm selected by the encryption information determination unit 130 (S4003).

なお、本実施の形態では暗号化プロトコルは不問である。例えば、IPsec(Security Architecture for the Internet Protocol)やSSL(Secure Sockets Layer)等のプロトコルを用いることができる。また、暗号アルゴリズムの種別も不問である。もちろん、送信するパケットの内容も不問である。   In this embodiment, the encryption protocol is not required. For example, a protocol such as IPsec (Security Architecture for the Internet Protocol) or SSL (Secure Sockets Layer) can be used. Also, the type of encryption algorithm is not questioned. Of course, the content of the packet to be transmitted is not questioned.

本実施の形態では、どの暗号アルゴリズムを選択可能かを通信装置120と通信相手122との間で予め決定しておく必要がある。そのための方法の一例として、管理者が、選択可能な暗号アルゴリズムの種類を通信装置120と通信相手122の双方に予め登録しておいてもよい。また、別の例として、図40のステップS1601およびステップS1621のように、暗号通信に先立って通信装置120と通信相手122との間でネゴシエーションのための通信を行ってもよい。このようなネゴシエーションのための通信は、例えばIKEにも含まれている。   In this embodiment, it is necessary to determine in advance between the communication device 120 and the communication partner 122 which encryption algorithm can be selected. As an example of the method for that purpose, the administrator may previously register the types of selectable encryption algorithms in both the communication device 120 and the communication partner 122. As another example, communication for negotiation may be performed between the communication device 120 and the communication partner 122 prior to encryption communication, as in steps S1601 and S1621 of FIG. Such negotiation communication is also included in IKE, for example.

以上のように、実施の形態18によれば、通信装置120は、通信相手122がパケット送信時に適用した暗号アルゴリズムに基づいて通信相手122のCPUの余力を考慮し、通信相手122のCPUの余力に応じた負荷の暗号アルゴリズムを選択することができる。よって、通信相手122は、通信装置120から送信されたパケットの復号処理を無理なくこなすことができる。また、通信装置120は、通信相手122から受信したパケットに基づいて暗号アルゴリズムを選択するため、暗号アルゴリズムを選択するための判断材料(例えば、現在のCPU使用率などの情報)を通信相手122から通信装置120に別途送信する手間(図16のS1603のような処理)は不要である。   As described above, according to the eighteenth embodiment, the communication device 120 considers the CPU capacity of the communication partner 122 based on the encryption algorithm applied by the communication partner 122 at the time of packet transmission, and the remaining power of the CPU of the communication partner 122. It is possible to select a cryptographic algorithm with a load corresponding to Therefore, the communication partner 122 can perform the decoding process of the packet transmitted from the communication device 120 without difficulty. Further, since the communication device 120 selects an encryption algorithm based on a packet received from the communication partner 122, a determination material (for example, information such as the current CPU usage rate) for selecting the encryption algorithm is selected from the communication partner 122. There is no need for the trouble of separately transmitting to the communication device 120 (processing as in S1603 in FIG. 16).

(実施の形態19)
実施の形態18における通信相手122のように、自分の都合に合わせて暗号アルゴリズムを選択する機能を側の装置を「主」、同じく実施の形態18における通信装置120のように、相手の都合に合わせて暗号アルゴリズムを選択する側の装置を「従」とすると、通信相手122の機能と通信装置120の機能の両方を備えた通信装置は「主」と「従」の両方になり得る。以下、実施の形態19として、そのような通信装置について説明する。
(Embodiment 19)
As in the communication partner 122 in the eighteenth embodiment, the function of selecting the encryption algorithm according to the convenience of the user is “main”, and the communication device 120 in the eighteenth embodiment is also in the convenience of the partner. Assuming that the device on the side that selects the encryption algorithm is “subordinate”, a communication device having both the function of the communication partner 122 and the function of the communication device 120 can be both “primary” and “subordinate”. Hereinafter, as a nineteenth embodiment, such a communication apparatus will be described.

図41は、実施の形態19の通信装置の構成を示す機能ブロック図である。図41において、通信装置154は、リソース監視部156、暗号通信アプリケーション158、暗号情報決定部160、暗号処理部168および通信処理部170を備える。暗号情報決定部160は、CPU使用率情報メモリ162、暗号処理使用資源表164および受信履歴管理表166を保持している。なお、図41の構成および動作は、暗号情報決定部160の動作を除いて、図36または図39に示したものと同様であるため、ここでは説明を省略する。暗号情報決定部160の動作については後述する。   FIG. 41 is a functional block diagram showing a configuration of the communication apparatus according to the nineteenth embodiment. 41, the communication device 154 includes a resource monitoring unit 156, an encrypted communication application 158, an encrypted information determination unit 160, an encryption processing unit 168, and a communication processing unit 170. The cryptographic information determination unit 160 holds a CPU usage rate information memory 162, a cryptographic processing usage resource table 164, and a reception history management table 166. The configuration and operation of FIG. 41 are the same as those shown in FIG. 36 or 39 except for the operation of the encryption information determination unit 160, and thus the description thereof is omitted here. The operation of the encryption information determination unit 160 will be described later.

ところで、2台の通信装置間で通信するときに、この2台の通信装置がいずれも「主」、あるいはいずれも「従」として機能する場合には、実施の形態18のような望ましい効果は得られない。なぜなら、2台の通信装置がいずれも「主」として機能する場合には、一方の通信装置のCPU使用率が高い場合にも関わらず、他方の通信装置は負荷の高い暗号アルゴリズムを用いてパケットを暗号化してしまう可能性があるからである。また、2台の通信装置がいずれも「従」として機能する場合には、いずれか一方の通信装置で最初に用いられた暗号アルゴリズムを双方の通信装置が延々と使いつづけてしまう可能性があるからである。したがって、2台の通信装置間で通信するときには、いずれか一方の通信装置が「主」として機能し、他方の通信装置が「従」として機能するのが好ましい。さらには、CPU等に比較的余力がある側の通信装置が「従」として機能するのが好ましい。なぜなら、「従」として機能する側の通信装置は、自身のCPU使用率に関わらず、常に相手に合わせた負荷の暗号アルゴリズムを用いる必要があるからである。   By the way, when communicating between two communication devices, if these two communication devices function as “main” or both as “subordinate”, the desirable effect as in the eighteenth embodiment is obtained. I can't get it. Because when two communication devices function as “main”, the other communication device uses a high-load encryption algorithm packet even when the CPU usage rate of one communication device is high. This is because there is a possibility of encryption. Further, when both of the two communication devices function as “slave”, there is a possibility that both communication devices will continue to use the encryption algorithm first used by one of the communication devices. Because. Therefore, when communicating between two communication devices, it is preferable that one of the communication devices functions as a “main” and the other communication device functions as a “subordinate”. Furthermore, it is preferable that the communication device on the side where the CPU or the like has a relatively spare capacity functions as a “subordinate”. This is because the communication device on the side functioning as “subordinate” always needs to use a cryptographic algorithm with a load suitable for the other party regardless of its CPU usage rate.

以下、通信装置154の動作を説明する。なお、以下では、図42に示すように、実施の形態18の通信相手122のように「主」としてのみ機能可能な通信装置172と、実施の形態18の通信装置120のように「従」としてのみ機能可能な通信装置174と、本実施の形態の通信装置154のように「主」と「従」のいずれとしても機能可能な通信装置176とが混在する通信システムにおいて、本実施の形態の通信装置154を利用する場合を想定する。   Hereinafter, the operation of the communication device 154 will be described. In the following, as shown in FIG. 42, a communication device 172 that can function only as “main” like the communication partner 122 of the eighteenth embodiment and “subordinate” like the communication device 120 of the eighteenth embodiment. In the communication system in which the communication device 174 capable of functioning only as a communication device and the communication device 176 capable of functioning as either “main” or “subordinate” such as the communication device 154 of the present embodiment are mixed. Suppose that the communication device 154 is used.

各通信装置154、172、174、176の暗号情報決定部は、電源駆動時、または通信相手との最初の暗号通信開始時において、自分と通信相手のどちらが「主」となり、どちらが「従」となるかを決定するためのネゴシエーション(以下、主従折衝と称す)を通信相手と行なう。ただし、このようなネゴシエーションは、通信システムの管理者が手動で行っても構わない。以下では、説明の都合上、ネゴシエーションを開始した側の通信装置を通信装置X、通信装置Xの通信相手を通信装置Yと称す。   The encryption information determination unit of each of the communication devices 154, 172, 174, and 176 determines which of the communication partner and the communication partner is “primary” and which is “subordinate” when the power supply is driven or when the first encrypted communication with the communication partner is started. Negotiation (hereinafter referred to as main slave negotiation) for determining whether or not the communication partner is performed. However, such negotiation may be performed manually by the administrator of the communication system. Hereinafter, for convenience of explanation, the communication device on the negotiation start side is referred to as a communication device X, and the communication partner of the communication device X is referred to as a communication device Y.

各通信装置154、172、174、176の暗号情報決定部は、まず、各通信装置に期待されている役割にしたがって、自分と通信相手のどちらが「主」となり、どちらが「従」となるかを決定しようと試みる。具体的には、まず通信装置Xの暗号情報決定部は、通信装置Xが「主」にのみなれるか、「従」にのみなれるか、「主」と「従」の両方になれるかを通信装置Yに通知する。通信装置Yの暗号情報決定部は、通信装置Xからの通知を受けると、通信装置Yが通信装置Xに対する適切な通信相手になることができるかどうか判定する。より具体的には、通信装置Xが「主」にのみなれる場合には通信装置Yが「従」になれるかどうか、通信装置Xが「従」にのみなれる場合には通信装置Yが「主」になれるかどうかを判定する。その結果、通信装置Yが通信装置Xに対する適切な通信相手になることができる場合には、その旨を通信装置Xに応答し、主従折衝は終了する。   The encryption information determination unit of each communication device 154, 172, 174, and 176 first determines which of the communication device 154, 172, 174, and 176 is “master” and which is “subordinate” according to the expected role of each communication device. Try to make a decision. Specifically, first, the encryption information determination unit of the communication device X communicates whether the communication device X can be only “main”, only “subordinate”, or both “main” and “subordinate”. Notify device Y. When receiving the notification from the communication device X, the encryption information determination unit of the communication device Y determines whether the communication device Y can be an appropriate communication partner for the communication device X. More specifically, when the communication device X can only be “main”, whether the communication device Y can be “subordinate” or when the communication device X can only be “subordinate”, the communication device Y is “main”. Is determined. As a result, when the communication device Y can become an appropriate communication partner with respect to the communication device X, a response to that effect is sent to the communication device X, and the main slave negotiation ends.

なお、通信装置Xが「主」と「従」の両方になれる場合には、通信装置Yの暗号情報決定部は、通信装置Yの役割を通信装置Xに応答する。より具体的には、通信装置Yが「主」にのみなれる場合には、その旨を通信装置Xに応答し、通信装置Yが「従」にのみなれる場合には、その旨を通信装置Xに応答する。こうして主従折衝は終了する。   When the communication device X can be both “main” and “subordinate”, the encryption information determination unit of the communication device Y responds to the communication device X with the role of the communication device Y. More specifically, when the communication device Y can only be “main”, it responds to the communication device X, and when the communication device Y can only be “subordinate”, this is indicated to the communication device X. Respond to. This completes the master-detail negotiation.

なお、通信装置Xが「主」と「従」の両方になれ、かつ通信装置Yも「主」と「従」の両方になれる場合には、以下の2通りの方法のいずれかにより、自分と通信相手のどちらが「主」となり、どちらが「従」となるかを決定することができる。   If the communication device X can be both “main” and “subordinate” and the communication device Y can be both “main” and “subordinate”, the user can use either of the following two methods. It is possible to determine which of the communication partner and “communication partner” is “main” and which is “subordinate”.

第1の方法は、通信装置Yが、予め設定された役割を選択する方法である。具体的には、「主」か「従」のうち、予め設定された方を選択し、その旨を通信装置Xに通知する。通信装置Xは、通信装置Yが「主」を選択した場合には「従」となり、通信装置Yが「従」を選択した場合には「主」となる。こうして主従折衝は終了する。   The first method is a method in which the communication device Y selects a preset role. Specifically, a preset one of “main” and “subordinate” is selected, and that is notified to the communication device X. The communication device X becomes “slave” when the communication device Y selects “main”, and becomes “main” when the communication device Y selects “slave”. This completes the master-detail negotiation.

第2の方法は、双方の処理能力を比較して、処理能力の低い方が「主」となり、処理能力の高い方が「従」となる方法である。この場合、まず、通信装置Yの暗号情報決定部は、通信装置Yの処理能力(例えば、CPU等のハードの能力や、システムに設定された値や、その時点や過去の時点の情報に基づく暗号通信に利用可能なCPUリソースなど)を通信装置Xに通知する。通信装置Xの暗号情報決定部は、この通知を受けて、通信装置Xの処理能力と通信装置Yの処理能力とを比較し、どちらが「主」となり、どちらが「従」となるかを判定する。そして、判定の結果を通信装置Yに通知する。こうして主従折衝は終了する。なお、通信装置Xが通信装置Yに処理能力を通知し、どちらが「主」となり、どちらが「従」となるかを通信装置Yが判定するようにしてもよい。この場合、通信装置Xから通信装置Yへの処理能力の通知は、前述したように、通信装置Xが「主」にのみなれるか、「従」にのみなれるか、「主」と「従」の両方になれるかを通信装置Yに通知するときに、同時に通知するようにしてもよい。   The second method is a method in which both processing capacities are compared, the one having a lower processing capability becomes “main”, and the one having a higher processing capability becomes “subordinate”. In this case, first, the encryption information determination unit of the communication device Y is based on the processing capability of the communication device Y (for example, the capability of hardware such as a CPU, a value set in the system, and information at that time or past time). CPU resources that can be used for encrypted communication) are notified to the communication device X. Upon receiving this notification, the encryption information determination unit of the communication device X compares the processing capability of the communication device X with the processing capability of the communication device Y, and determines which is “main” and which is “subordinate”. . And the result of determination is notified to the communication apparatus Y. This completes the master-detail negotiation. Note that the communication device X may notify the communication device Y of the processing capability, and the communication device Y may determine which is “main” and which is “subordinate”. In this case, as described above, the notification of the processing capability from the communication device X to the communication device Y indicates whether the communication device X can only be “main”, only “subordinate”, or “main” and “subordinate”. When the communication device Y is notified of whether or not both can be used, the notification may be made simultaneously.

上記のようにして主従折衝が終了すると、通信装置Xの暗号情報決定部は、通信装置Xの役割(「主」か「従」か)に従って動作する。具体的には、通信装置Xが「主」である場合は、図40に示した左側(すなわち通信相手122側)のフローチャートに従って動作し、通信装置Xが「従」である場合は、図40に示した右側(すなわち通信装置120側)のフローチャートに従って動作する。同様に、通信装置Yの暗号情報決定部も、通信装置Yの役割に従って動作する。   When the master-slave negotiation ends as described above, the encryption information determination unit of the communication device X operates according to the role of the communication device X (“main” or “subordinate”). Specifically, when the communication device X is “main”, it operates according to the flowchart on the left side (that is, the communication partner 122 side) shown in FIG. 40, and when the communication device X is “subordinate”, FIG. It operates according to the flowchart on the right side (namely, the communication device 120 side) shown in FIG. Similarly, the encryption information determination unit of the communication device Y also operates according to the role of the communication device Y.

以上のように、本実施の形態によれば、2台の通信装置間で通信するときに、この2台の通信装置がいずれも「主」、あるいはいずれも「従」として機能することを防止できる。   As described above, according to the present embodiment, when communication is performed between two communication devices, both of the two communication devices are prevented from functioning as “main” or both as “subordinate”. it can.

なお、上記実施の形態1〜19の説明においては、暗号アルゴリズムの選択ついて説明したが、本発明は、認証アルゴリズムの選択にも適用できる。認証アルゴリズムとは、受信したデータが伝送途中で改ざんされていないことを確認するアルゴリズムである。さらに、本発明は、映像データ・音声データ・一般のデータなどの圧縮・伸長に関する圧縮アルゴリズムの選択にも適用できる。データ圧縮のアルゴリズムとしては、DEFLATEやLZSなど種々のものがあるが、圧縮率、処理負荷およびそのときCPU使用率を考慮して、CPUリソースが枯渇しない範囲でできるだけ圧縮率の高いアルゴリズムを選択することにより、通信回線への負荷を低減することができる。また、別の見方をすると、認証アルゴリズムにおいては、もとの認証対象データに対して複雑な計算を行って認証データを生成するという点で、また圧縮アルゴリズムにおいては、元のデータを圧縮データに変えて複雑な伸長処理を必要とする形にするという点で、いずれも暗号処理に類する点があり、上記実施の形態1〜19を、暗号アルゴリズムの選択に変えて、認証アルゴリズムや圧縮アルゴリズムの選択に適用することが可能である。   In the description of Embodiments 1 to 19, the selection of the encryption algorithm has been described. However, the present invention can also be applied to the selection of the authentication algorithm. The authentication algorithm is an algorithm for confirming that received data has not been tampered with during transmission. Furthermore, the present invention can also be applied to selection of compression algorithms for compression / decompression of video data, audio data, general data, and the like. There are various data compression algorithms such as DEFLATE and LZS, but considering the compression rate, processing load, and CPU usage rate at that time, an algorithm with the highest compression rate is selected as long as CPU resources are not depleted. As a result, the load on the communication line can be reduced. From another point of view, the authentication algorithm generates authentication data by performing complex calculations on the original data to be authenticated, and the compression algorithm converts the original data into compressed data. All of them are similar to encryption processing in that they require complicated decompression processing, and the above-described Embodiments 1 to 19 are changed to selection of encryption algorithms, and authentication algorithms and compression algorithms are used. It can be applied to the selection.

また、暗号処理部は、一般的には、IPsec、SSL、TLSなどの暗号通信を実現するプロトコルを1つあるいは複数備え、また、IKEなどの鍵情報取得(IKEは共有鍵交換により鍵情報を取得する。IKEはDiffie−Hellmanアルゴリズムにより鍵交換を実現する。)を行なうプロトコルによるプログラムを1つあるいは複数備えておき、DES−CBC、3DES−CBC、AESなどの暗号アルゴリズムを呼び出して暗号通信を行なうものであればよい。   In addition, the cryptographic processing unit generally includes one or more protocols that realize cryptographic communication such as IPsec, SSL, and TLS, and obtains key information such as IKE (IKE uses key exchange to exchange key information). IKE implements key exchange using the Diffie-Hellman algorithm.) One or more programs based on a protocol for performing key exchange are provided, and encryption communication such as DES-CBC, 3DES-CBC, AES, etc. is called. Anything to do.

以下に、特許請求の範囲には明示していないが、以上の記載から読み取れる本発明のいくつかの態様について述べる。   In the following, some aspects of the present invention will be described which are not explicitly stated in the claims but can be read from the above description.

暗号情報決定部は、暗号アルゴリズムの選択時において暗号通信アプリケーションが実行されていない場合に、非暗号通信アプリケーションによる資源使用量として、その時点までの一定期間の使用資源合計値の平均値を用いるものである。   The cryptographic information determination unit uses the average value of the total used resources for a certain period up to that point as the resource usage by the non-cryptographic communication application when the cryptographic communication application is not executed when the cryptographic algorithm is selected. It is.

暗号情報決定部は、暗号アルゴリズムの選択時において暗号通信アプリケーションが実行中である場合に、非暗号通信アプリケーションによる資源使用量として、その時点までの一定期間の使用資源合計値の平均値から実行中の暗号通信アプリケーションによる資源使用量を引いた値を用いるものである。   When the encryption communication application is being executed when the encryption algorithm is selected, the encryption information determination unit is executing as the resource usage by the non-encryption communication application from the average value of the total resources used over a certain period until that point. The value obtained by subtracting the resource usage by the encryption communication application is used.

暗号情報決定部は、暗号アルゴリズムの選択時において実行されている複数の非暗号通信アプリケーションによる資源使用量として、これらの非暗号通信アプリケーションが過去に同じ組み合わせで実行されていた期間におけるこれらの非暗号通信アプリケーションによる資源使用量の平均値を用いるものである。   The encryption information determination unit, as the resource usage by a plurality of non-encrypted communication applications being executed at the time of selecting an encryption algorithm, uses the The average value of the resource usage by the communication application is used.

暗号情報決定部は、暗号アルゴリズムの選択時において実行されている非暗号通信アプリケーションによる資源使用量として、非暗号通信アプリケーションに対して予め既定された値を用いるものである。   The encryption information determination unit uses a value predetermined in advance for the non-encrypted communication application as the resource usage by the non-encrypted communication application being executed when the encryption algorithm is selected.

暗号情報決定部は、特定の暗号アルゴリズムを用いたときの暗号通信アプリケーションによる資源使用量として、暗号通信アプリケーションが過去に特定の暗号アルゴリズムを用いて実行されていた期間における暗号通信アプリケーションによる使用資源量の平均値を用いるものである。   The cryptographic information determination unit uses the amount of resources used by the cryptographic communication application during the period in which the cryptographic communication application has been executed using the specific cryptographic algorithm in the past as the resource usage by the cryptographic communication application when the specific cryptographic algorithm is used. The average value of is used.

暗号情報決定部は、特定の暗号アルゴリズムを用いたときの暗号通信アプリケーションによる資源使用量として、暗号通信アプリケーションと特定の暗号アルゴリズムの組み合わせに対して予め既定された値を用いるものである。   The encryption information determination unit uses a predetermined value for the combination of the encryption communication application and the specific encryption algorithm as the resource usage amount by the encryption communication application when the specific encryption algorithm is used.

スケジュール部は、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスクの開始に先立って暗号通信用の鍵を生成する前処理をスケジュールに登録するものであり、かつ暗号アルゴリズムの使用開始予定時刻以前の時間帯における使用資源合計値を許容資源使用量から減算した結果の値、あるいは暗号アルゴリズムの切換予定時刻以前の時間帯における使用資源合計値を許容資源使用量から減算した結果の値に基づいて、前処理の開始時刻を決定するものである。   The schedule part registers pre-processing for generating cryptographic communication keys in the schedule prior to the start of tasks related to cryptographic communication applications, which are applications that require cryptographic processing, and starts using cryptographic algorithms. The value obtained by subtracting the total resource used in the time zone before the scheduled time from the allowable resource usage, or the value obtained by subtracting the total resource used in the time zone prior to the encryption algorithm switching scheduled time from the allowable resource usage. Based on the above, the start time of preprocessing is determined.

スケジュール部は、暗号通信用の更新鍵を生成するためのリキー処理をスケジュールに登録するものであり、かつ暗号通信用の鍵の寿命満了時刻以前の時間帯における使用資源合計値を許容資源使用量から減算した結果の値に基づいてリキー処理の開始時刻を決定するものである。   The schedule unit registers rekey processing for generating an update key for encrypted communication in the schedule, and the total amount of resources used in the time zone before the lifetime expiration time of the encrypted communication key The start time of the rekey process is determined based on the value obtained by subtracting from.

暗号通信部は、ある暗号アルゴリズムを途中でいったん別の暗号アルゴリズムに切り替えてから再び元の暗号アルゴリズムを使用する場合に、暗号アルゴリズムを切り替える前に使用していた通信用の鍵を、別の暗号アルゴリズムの使用中も保持しておき、再び元の暗号アルゴリズムを使用するときに鍵を再利用するものである。   When the encryption communication unit switches from one encryption algorithm to another encryption algorithm and then uses the original encryption algorithm again, the communication key used before switching the encryption algorithm is changed to another encryption algorithm. The key is retained while the algorithm is used, and the key is reused when the original encryption algorithm is used again.

暗号情報決定部は、通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表を参照して、受信したパケットに適用されていた暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to the packet received last from the communication partner in the reception history management table, and refers to the reception history management table to determine the encryption algorithm applied to the received packet. To choose.

暗号情報決定部は、通信相手から受信した一定数のパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表を参照して、受信したパケットに適用されていた暗号アルゴリズムのうち最も頻度の高い暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to a certain number of packets received from the communication partner in the reception history management table, refers to the reception history management table, and the encryption algorithm applied to the received packet The most frequently used cryptographic algorithm is selected.

暗号情報決定部は、通信相手から過去一定時間以内に受信したパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表を参照して、受信したパケットに適用されていた暗号アルゴリズムのうち最も頻度の高い暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to the packet received from the communication partner within the past certain time in the reception history management table, and applied to the received packet with reference to the reception history management table. The most frequently used encryption algorithm is selected from the encryption algorithms.

暗号情報決定部は、通信相手から最後に受信したパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表および暗号処理使用資源表を参照して、受信したパケットに適用されていた暗号アルゴリズムと比べて計算量が等しいまたは少ない暗号アルゴリズムのうち、最も暗号強度の高い暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to the packet received last from the communication partner in the reception history management table and applies it to the received packet by referring to the reception history management table and the encryption processing resource table. The encryption algorithm having the highest encryption strength is selected from among the encryption algorithms having the same or less calculation amount than the encryption algorithm that has been used.

暗号情報決定部は、通信相手から受信した一定数のパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表および暗号処理使用資源表を参照して、受信したパケットに適用されていた暗号アルゴリズムの計算量の統計値と比べて計算量が等しいまたは少ない暗号アルゴリズムのうち、最も暗号強度の高い暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to the fixed number of packets received from the communication partner in the reception history management table, refers to the reception history management table and the encryption processing usage resource table, and The encryption algorithm having the highest encryption strength is selected from among the encryption algorithms having the same or less calculation amount than the statistical value of the calculation amount of the applied encryption algorithm.

暗号情報決定部は、通信相手から過去一定時間以内に受信したパケットに適用されていた暗号アルゴリズムを受信履歴管理表に格納し、受信履歴管理表および暗号処理使用資源表を参照して、受信したパケットに適用されていた暗号アルゴリズムの計算量の統計値と比べて計算量が等しいまたは少ない暗号アルゴリズムのうち、最も暗号強度の高い暗号アルゴリズムを選択するものである。   The encryption information determination unit stores the encryption algorithm applied to the packet received from the communication partner within the past certain time in the reception history management table, and receives it with reference to the reception history management table and the encryption processing resource table. The encryption algorithm having the highest encryption strength is selected from among the encryption algorithms having the same or less calculation amount than the statistical value of the calculation amount of the encryption algorithm applied to the packet.

通信装置は、暗号アルゴリズムに替えて、認証処理を行なうための認証アルゴリズムおよび圧縮伸長処理を行なうための圧縮アルゴリズムの少なくとも一方に適応化されたものである。   The communication apparatus is adapted to at least one of an authentication algorithm for performing an authentication process and a compression algorithm for performing a compression / decompression process instead of the encryption algorithm.

本発明は、遅延のない暗号通信が要求される用途、例えばネットワークカメラの映像を遠隔地でリアルタイムで閲覧するような用途に好適である。   The present invention is suitable for an application that requires encryption communication without delay, for example, an application for browsing a network camera image in a remote place in real time.

本発明の実施の形態1〜4に係るシステムの全体構成を示す図The figure which shows the whole structure of the system which concerns on Embodiment 1-4 of this invention 本発明の実施の形態1〜4に係るシステムの要部のブロック図The block diagram of the principal part of the system which concerns on Embodiment 1-4 of this invention ネゴシエーションによる暗号アルゴリズム決定方法を示す図Diagram showing the encryption algorithm decision method by negotiation 本発明の実施の形態1において、レスポンダとして、暗号アルゴリズムのネゴシエーションを行なうときの、暗号情報決定部の動作を示すフローチャートThe flowchart which shows operation | movement of the encryption information determination part when negotiating an encryption algorithm as a responder in Embodiment 1 of this invention. 図4の処理の一部分を詳細にしたフローチャートA flowchart detailing a part of the processing of FIG. 暗号アルゴリズムによるCPU使用率の違いを示すグラフGraph showing the difference in CPU usage rate due to cryptographic algorithms 暗号アルゴリズムと、その処理負荷、暗号強度との対応を保持するデータベースを示す図Diagram showing a database that holds the correspondence between cryptographic algorithms, their processing load, and cryptographic strength 本発明の実施の形態1において、イニシエータとして、暗号アルゴリズムのネゴシエーションを行なうときの、暗号情報決定部の動作を示すフローチャートIn Embodiment 1 of the present invention, as an initiator, a flowchart showing the operation of the encryption information determination unit when performing encryption algorithm negotiation 図8の処理の一部分を詳細にしたフローチャートFlowchart detailing a part of the process of FIG. 本発明の実施の形態2において、レスポンダとして、暗号アルゴリズムのネゴシエーションを行なうときの、暗号情報決定部の動作を示すフローチャートIn Embodiment 2 of this invention, the flowchart which shows operation | movement of the encryption information determination part when negotiating an encryption algorithm as a responder 図10の処理の一部分を詳細にしたフローチャートFlowchart detailing a part of the process of FIG. 本発明の実施の形態2において、イニシエータとして、暗号アルゴリズムのネゴシエーションを行なうときの、暗号情報決定部の動作を示すフローチャートIn Embodiment 2 of the present invention, a flowchart showing the operation of the encryption information determination unit when negotiating the encryption algorithm as an initiator 図12の処理の一部分を詳細にしたフローチャートFlowchart detailing a part of the processing of FIG. 本発明の実施の形態3において、CPU使用率が変化したタイミングで、イニシエータとして暗号アルゴリズムのネゴシエーションを行なうときの、暗号情報決定部の動作を示すフローチャートIn Embodiment 3 of this invention, the flowchart which shows the operation | movement of an encryption information determination part when negotiating an encryption algorithm as an initiator at the timing when CPU usage rate changed. 図14の処理の一部分を詳細にしたフローチャートFlowchart detailing a part of the process of FIG. 本発明の実施の形態4において、複数の暗号アルゴリズムがあらかじめネゴシエーションされている場合の、処理フローを示すフローチャートIn Embodiment 4 of this invention, the flowchart which shows a processing flow in case the some encryption algorithm is negotiated previously. 図16の処理の一部分を詳細にしたフローチャートFlowchart detailing a part of the processing of FIG. 本発明の実施の形態5〜9に係る通信装置の機能的構成を示すブロック図The block diagram which shows the functional structure of the communication apparatus which concerns on Embodiment 5-9 of this invention. 本発明の実施の形態5〜9において使用されるスケジュール・使用資源表の例を示す図The figure which shows the example of the schedule and use resource table | surface used in Embodiment 5-9 of this invention 本発明の実施の形態5および実施の形態7において使用される暗号処理使用資源表の例を示す図The figure which shows the example of the encryption processing usage resource table | surface used in Embodiment 5 and Embodiment 7 of this invention CPU使用率の遷移を示す図Diagram showing transition of CPU usage rate 本発明の実施の形態5において使用されるイベント・使用資源表の例を示す図The figure which shows the example of the event and used resource table | surface used in Embodiment 5 of this invention. 本発明の実施の形態5〜9に係る通信装置のハードウェア構成を示すブロック図The block diagram which shows the hardware constitutions of the communication apparatus which concerns on Embodiment 5-9 of this invention. 本発明の実施の形態6および実施の形態8において使用される暗号処理使用資源表の例を示す図The figure which shows the example of the encryption processing usage resource table | surface used in Embodiment 6 and Embodiment 8 of this invention 本発明の実施の形態7において使用されるイベント・使用資源表の例を示す図The figure which shows the example of the event and used resource table | surface used in Embodiment 7 of this invention 本発明の実施の形態7において使用されるイベント・使用資源表の他の例を示す図The figure which shows the other example of the event and use resource table | surface used in Embodiment 7 of this invention. 本発明の実施の形態8において使用されるイベント・使用資源表の例を示す図The figure which shows the example of the event and use resource table | surface used in Embodiment 8 of this invention. 本発明の実施の形態9において使用されるイベント・使用資源表の例を示す図The figure which shows the example of the event and used resource table | surface used in Embodiment 9 of this invention. 本発明の実施の形態9において使用される暗号処理使用資源表の例を示す図The figure which shows the example of the encryption processing usage resource table | surface used in Embodiment 9 of this invention. 本発明のアルゴリズム選択方法の手順の一例を示すフローチャートThe flowchart which shows an example of the procedure of the algorithm selection method of this invention 本発明のアルゴリズム選択方法の手順の他の例を示すフローチャートThe flowchart which shows the other example of the procedure of the algorithm selection method of this invention 本発明のアルゴリズム選択方法の手順のさらに他の例を示すフローチャートThe flowchart which shows the further another example of the procedure of the algorithm selection method of this invention 本発明のアルゴリズム選択方法の手順のさらに他の例を示すフローチャートThe flowchart which shows the further another example of the procedure of the algorithm selection method of this invention 本発明のアルゴリズム選択方法の手順のさらに他の例を示すフローチャートThe flowchart which shows the further another example of the procedure of the algorithm selection method of this invention 本発明の実施の形態18の通信システムの構成を示すブロック図FIG. 18 is a block diagram showing a configuration of a communication system according to an eighteenth embodiment of the present invention. 本発明の実施の形態18の通信装置の構成を示すブロック図Block diagram showing a configuration of a communication apparatus according to an eighteenth embodiment of the present invention. 本発明の実施の形態18の暗号処理使用資源表の一例を示す図The figure which shows an example of the encryption processing usage resource table | surface of Embodiment 18 of this invention. 本発明の実施の形態18の受信履歴管理表の一例を示す図The figure which shows an example of the reception log | history management table | surface of Embodiment 18 of this invention. 本発明の実施の形態18の通信相手の構成を示すブロック図Block diagram showing the configuration of the communication partner of the eighteenth embodiment of the present invention 本発明の実施の形態18の通信システムの動作を示す図The figure which shows operation | movement of the communication system of Embodiment 18 of this invention. 本発明の実施の形態19の通信装置の構成を示すブロック図Block diagram showing a configuration of a communication apparatus according to a nineteenth embodiment of the present invention. epサービスのしくみを示す図Diagram showing how the ep service works 従来のシステムの機能ブロック図Functional block diagram of conventional system ネットワークカメラアプリケーションとTV録画を同時に動作させたときのCPUリソースの不足を示すグラフGraph showing CPU resource shortage when network camera application and TV recording are operated simultaneously

符号の説明Explanation of symbols

10 放送設備
12 ネットワークカメラ
14 撮影部
16 暗号処理部
18 暗号情報決定部
20 通信処理部
22 インターネット
24 通信装置
26 受像部
28 録画アプリケーション
30 リソース監視部
32 暗号情報決定部
34 ネットワークカメラアプリケーション
36 通信処理部
38 暗号処理部
40 ディスプレイ
42 暗号アルゴリズム選択部
44 CPU使用率情報メモリ
46 暗号処理使用資源表
48 ネゴシエーションパケット作成・解釈部
50 暗号アルゴリズム設定部
60 アプリケーション
62 アプリケーション
64 スケジュール部
66 スケジュール・使用資源表
68 イベント・使用資源表
70 暗号通信アプリケーション
72 暗号通信アプリケーション
74 暗号情報決定部
76 暗号処理使用資源表
78 通信処理部
80 暗号処理部
82 リソース監視部
84 アンテナ
86 チューナ
88 音声処理
90 表示処理
92 転送手段
94 CPU
96 ROM
98 RAM
100 リモコンIF
102 リモコン
104 HDD
116 モデム
120 通信装置
122 通信相手A
124 通信相手B
126 通信相手C
128 暗号通信アプリケーション
130 暗号情報決定部
132 暗号処理使用資源表
134 受信履歴管理表
136 暗号処理部
138 通信処理部
140 暗号通信アプリケーション
142 リソース監視部
144 通信処理部
146 暗号処理部
148 暗号情報決定部
150 CPU使用率情報メモリ
152 暗号処理使用資源表
154 通信装置
156 リソース監視部
158 暗号通信アプリケーション
160 暗号情報決定部
162 CPU使用率情報メモリ
164 暗号処理使用資源表
166 受信履歴管理表
168 暗号処理部
170 通信処理部

DESCRIPTION OF SYMBOLS 10 Broadcasting equipment 12 Network camera 14 Image pick-up part 16 Encryption processing part 18 Encryption information determination part 20 Communication processing part 22 Internet 24 Communication apparatus 26 Image receiving part 28 Recording application 30 Resource monitoring part 32 Encryption information determination part 34 Network camera application 36 Communication processing part 38 Cryptographic processing unit 40 Display 42 Cryptographic algorithm selection unit 44 CPU usage rate information memory 46 Cryptographic processing usage resource table 48 Negotiation packet creation / interpretation unit 50 Cryptographic algorithm setting unit 60 Application 62 Application 64 Scheduling unit 66 Schedule / usage resource table 68 Event Used resource table 70 Cryptographic communication application 72 Cryptographic communication application 74 Cryptographic information determination unit 76 Cryptographic processing used resource table 78 Communication processing unit 80 Cryptographic processing 82 resource monitoring unit 84 antenna 86 tuner 88 voice processing 90 display processing 92 transfer means 94 CPU
96 ROM
98 RAM
100 Remote control IF
102 Remote control 104 HDD
116 Modem 120 Communication device 122 Communication partner A
124 Communication partner B
126 Communication partner C
128 Cryptographic Communication Application 130 Cryptographic Information Determining Unit 132 Cryptographic Processing Used Resource Table 134 Reception History Management Table 136 Cryptographic Processing Unit 138 Communication Processing Unit 140 Cryptographic Communication Application 142 Resource Monitoring Unit 144 Communication Processing Unit 146 Cryptographic Processing Unit 148 Cryptographic Information Determination Unit 150 CPU usage rate information memory 152 Cryptographic processing usage resource table 154 Communication device 156 Resource monitoring unit 158 Cryptographic communication application 160 Cryptographic information determination unit 162 CPU usage rate information memory 164 Cryptographic processing usage resource table 166 Reception history management table 168 Cryptographic processing unit 170 Communication Processing part

Claims (17)

予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュールは、予約されたアプリケーションに関連するタスク毎に、その開始時刻、終了時刻および使用資源量を登録するためのスケジュール・使用資源表を含み、
前記スケジュール部は、アプリケーションの実行の予約を受け付けて当該アプリケーションに関連するタスクの実行を前記スケジュール・使用資源表に登録するものであり、
前記暗号情報決定部は、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスク毎に、当該タスクが実行される期間において、その暗号アルゴリズムを使用したときの予想される前記使用資源合計値が第1基準値を超えないような暗号アルゴリズムを選択するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
The schedule includes a schedule / use resource table for registering a start time, an end time, and a use resource amount for each task related to the reserved application,
The schedule unit accepts a reservation for execution of an application and registers the execution of a task related to the application in the schedule / usage resource table,
The encryption information determination unit is configured to calculate, for each task related to an encryption communication application, which is an application that requires encryption processing, the expected total used resources when the encryption algorithm is used in a period in which the task is executed. Ru der which selects an encryption algorithm such as the value does not exceed the first reference value, the communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュールは、予約されたアプリケーションに関連するタスク毎に、その開始時刻、終了時刻および使用資源量を登録するためのスケジュール・使用資源表と、各前記タスクの開始時刻および終了時刻によって区分されるイベント区間毎に、そのイベント区間における前記使用資源合計値を登録するためのイベント・使用資源表とを含み、
前記スケジュール部は、アプリケーションの実行の予約を受け付けて当該アプリケーションに関連するタスクの実行を前記スケジュール・使用資源表に登録し、当該スケジュール・使用資源表に基づいて前記イベント・使用資源表を作成するものであり、
前記暗号情報決定部は、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスクで使用される暗号アルゴリズムとして、前記イベント区間毎に、当該イベント区間において前記使用資源合計値が第1基準値を超えないような暗号アルゴリズムを選択するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
The schedule is divided for each task related to the reserved application by a schedule / use resource table for registering the start time, end time and amount of used resources, and the start time and end time of each task. For each event section, including an event / used resource table for registering the total used resource value in the event section,
The scheduling unit accepts a reservation for execution of an application, registers execution of a task related to the application in the schedule / usage resource table, and creates the event / usage resource table based on the schedule / usage resource table. Is,
The cipher information determination unit is configured such that, as a cipher algorithm used in a task related to a cipher communication application that is an application requiring cipher processing, for each event section, the total amount of resources used in the event section is a first reference Ru der which selects an encryption algorithm does not exceed the value, the communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュール部は、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスクの開始に先立って暗号通信用の鍵を生成する前処理を前記スケジュールに登録するものであり、かつ前記暗号通信アプリケーションに関連するあるタスクの開始予定時刻以前の時間帯における使用資源合計値を許容資源使用量から減算した結果の値に基づいて前記前処理の開始時刻を決定するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
The schedule unit registers, in the schedule, preprocessing for generating a key for cryptographic communication prior to the start of a task related to the cryptographic communication application, which is an application that requires cryptographic processing, and the cryptographic communication Ru der what determines the start time of the pretreatment on the basis of a used resource a total value at the scheduled start time earlier time zone a task associated with the application of the value of the result of subtracting from the allowable resource usage, communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュール部は、前記使用資源合計値が許容資源使用量を越えてしまうために新規の予約を前記スケジュールに登録できない場合に、すでに前記スケジュールにその使用が登録されている暗号アルゴリズムを可能であればより負荷の小さいものに変更するような暗号アルゴリズムの再選択を実行するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
If the schedule unit cannot register a new reservation in the schedule because the total value of used resources exceeds the allowable resource usage, the scheduling unit can enable an encryption algorithm whose use is already registered in the schedule. Ru der which perform reselection of an encryption algorithm as changed to small Bayori load communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュール部は、前記使用資源合計値が許容資源使用量を越えてしまうために新規の予約を前記スケジュールに登録できない場合に、すでに前記スケジュールに登録されているアプリケーションの、実行時間の変更または暗号通信平均データ転送量を低減する変更を行なうものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
The schedule unit changes the execution time or encrypts an application already registered in the schedule when a new reservation cannot be registered in the schedule because the total used resource value exceeds the allowable resource usage. Ru der to perform changes to reduce communication average data transfer amount, a communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部と、
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール部とを備え、
前記暗号情報決定部は、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、
前記スケジュール部は、前記スケジュールに登録されていたいずれかのアプリケーションの予約が取り消されたときに、すでに前記スケジュールにその使用が登録されている暗号アルゴリズムを可能であればより暗号強度の高いものに変更するような暗号アルゴリズムの再選択を実行するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting a packet encrypted by the encryption processing unit;
A scheduling unit that accepts reservations for executing applications and registers the execution of the application in a schedule;
The cipher information determination unit selects a cipher algorithm to be used at that time based on a total resource used at a future time predicted based on the schedule,
When the reservation of any application registered in the schedule is canceled, the schedule unit can use a cryptographic algorithm whose use is already registered in the schedule if possible. Ru der which perform reselection of an encryption algorithm to change the communication device.
予め用意された複数の暗号アルゴリズムの中から、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがって前記通信相手宛てのパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部とを備え、
前記暗号情報決定部は、前記通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムを記憶するための受信履歴管理表を有しており、当該受信履歴管理表を参照して、前記受信したパケットに適用されていた暗号アルゴリズムのうち最も頻度の高い暗号アルゴリズムを選択するものである、通信装置。
An encryption information determination unit that selects a different encryption algorithm according to an encryption algorithm applied to one or more packets received from a communication partner from a plurality of encryption algorithms prepared in advance;
An encryption processing unit that encrypts a packet addressed to the communication partner according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting the packet encrypted by the encryption processing unit,
The encryption information determination unit has a reception history management table for storing an encryption algorithm applied to one or more packets received from the communication partner, and refers to the reception history management table, and Ru der used to select the most frequent encryption algorithm among the encryption algorithms have been applied to the received packet, the communication device.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する機能と、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択する機能の両方を有する暗号情報決定部と、
前記暗号情報決定部が選択した暗号アルゴリズムにしたがって前記通信相手宛のパケットを暗号化する暗号処理部と、
前記暗号処理部が暗号化したパケットを送信する通信処理部とを備え、
前記暗号情報決定部は、前記通信相手との主従関係を確認するために当該通信相手と通信による主従折衝処理を行なうものであり、当該主従関係に基づいて、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択するか、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択するかを切り替えて動作するものである、通信装置。
This function is applied to one or more packets received from the communication partner, and a function for selecting a different encryption algorithm from a plurality of encryption algorithms prepared in advance according to the predicted total used resource value or the actual total used resource value. An encryption information determination unit having both a function of selecting a different encryption algorithm according to the encryption algorithm that has been,
An encryption processing unit that encrypts a packet addressed to the communication partner according to an encryption algorithm selected by the encryption information determination unit;
A communication processing unit for transmitting the packet encrypted by the encryption processing unit,
The encryption information determination unit performs master-slave negotiation processing by communication with the communication partner in order to confirm the master-slave relationship with the communication partner. Based on the master-slave relationship, the predicted use resource total value or actual It operates by switching between selecting a different encryption algorithm according to the total resource used and selecting a different encryption algorithm according to the encryption algorithm applied to one or more packets received from the communication partner. that, the communication device.
前記暗号情報決定部は、前記主従折衝処理において当該通信装置の処理能力と前記通信相手の処理能力の比較を行なうものであり、当該通信装置の処理能力が当該通信相手の処理能力を下回る場合は、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択し、当該通信装置の処理能力が当該通信相手の処理能力を上回る場合は、当該通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択するものであることを特徴とする、請求項に記載の通信装置。 The encryption information determination unit compares the processing capability of the communication device with the processing capability of the communication partner in the main slave negotiation process, and the processing capability of the communication device is lower than the processing capability of the communication partner. If a different cryptographic algorithm is selected according to the predicted total used resource value or the actual total used resource value, and the processing capability of the communication device exceeds the processing capability of the communication partner, 1 received from the communication partner 9. The communication apparatus according to claim 8 , wherein a different encryption algorithm is selected according to the encryption algorithm applied to the packet. 予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュールは、予約されたアプリケーションに関連するタスク毎に、その開始時刻、終了時刻および使用資源量を登録するためのスケジュール・使用資源表を含み、The schedule includes a schedule / use resource table for registering a start time, an end time, and a use resource amount for each task related to the reserved application,
前記スケジュール登録ステップは、アプリケーションの実行の予約を受け付けて当該アプリケーションに関連するタスクの実行を前記スケジュール・使用資源表に登録するものであり、The schedule registration step accepts a reservation for execution of an application and registers the execution of a task related to the application in the schedule / usage resource table,
前記暗号情報決定ステップは、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスク毎に、当該タスクが実行される期間において、その暗号アルゴリズムを使用したときの予想される前記使用資源合計値が第1基準値を超えないような暗号アルゴリズムを選択するものである、通信装置が実行する方法。The cipher information determination step includes, for each task related to a cryptographic communication application, which is an application that requires cryptographic processing, the expected total used resources when the cryptographic algorithm is used in a period in which the task is executed. A method executed by a communication device, wherein an encryption algorithm is selected such that a value does not exceed a first reference value.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュールは、予約されたアプリケーションに関連するタスク毎に、その開始時刻、終了時刻および使用資源量を登録するためのスケジュール・使用資源表と、各前記タスクの開始時刻および終了時刻によって区分されるイベント区間毎に、そのイベント区間における前記使用資源合計値を登録するためのイベント・使用資源表とを含み、The schedule is divided for each task related to the reserved application by a schedule / use resource table for registering the start time, end time and amount of used resources, and the start time and end time of each task. For each event section, including an event / used resource table for registering the total used resource value in the event section,
前記スケジュール登録ステップは、アプリケーションの実行の予約を受け付けて当該アプリケーションに関連するタスクの実行を前記スケジュール・使用資源表に登録し、当該スケジュール・使用資源表に基づいて前記イベント・使用資源表を作成するものであり、The schedule registration step accepts a reservation for execution of an application, registers execution of a task related to the application in the schedule / use resource table, and creates the event / use resource table based on the schedule / use resource table Is what
前記暗号情報決定ステップは、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスクで使用される暗号アルゴリズムとして、前記イベント区間毎に、当該イベント区間において前記使用資源合計値が第1基準値を超えないような暗号アルゴリズムを選択するものである、通信装置が実行する方法。The cipher information determining step includes, as a cipher algorithm used in a task related to a cipher communication application that is an application requiring cipher processing, for each event section, the total amount of resources used in the event section A method executed by a communication device, which selects an encryption algorithm that does not exceed a value.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュール登録ステップは、暗号処理を必要とするアプリケーションである暗号通信アプリケーションに関連するタスクの開始に先立って暗号通信用の鍵を生成する前処理を前記スケジュールに登録するものであり、かつ前記暗号通信アプリケーションに関連するあるタスクの開始予定時刻以前の時間帯における使用資源合計値を許容資源使用量から減算した結果の値に基づいて前記前処理の開始時刻を決定するものである、通信装置が実行する方法。The schedule registration step registers preprocessing for generating a key for encryption communication in the schedule prior to the start of a task related to the encryption communication application, which is an application that requires encryption processing, and the encryption A communication apparatus for determining a start time of the preprocessing based on a value obtained by subtracting a total use resource value in a time zone before a scheduled start time of a task related to a communication application from an allowable resource use amount; How to perform.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュール登録ステップは、前記使用資源合計値が許容資源使用量を越えてしまうために新規の予約を前記スケジュールに登録できない場合に、すでに前記スケジュールにその使用が登録されている暗号アルゴリズムを可能であればより負荷の小さいものに変更するような暗号アルゴリズムの再選択を実行するものである、通信装置が実行する方法。In the schedule registration step, when a new reservation cannot be registered in the schedule because the total value of used resources exceeds the allowable resource usage, an encryption algorithm whose use is already registered in the schedule can be used. A method executed by a communication device, which executes reselection of an encryption algorithm so that if there is a smaller load, it is changed.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュール登録ステップは、前記使用資源合計値が許容資源使用量を越えてしまうために新規の予約を前記スケジュールに登録できない場合に、すでに前記スケジュールに登録されているアプリケーションの、実行時間の変更または暗号通信平均データ転送量を低減する変更を行なうものである、通信装置が実行する方法。In the schedule registration step, when a new reservation cannot be registered in the schedule because the total use resource value exceeds an allowable resource usage, an execution time change of an application already registered in the schedule or A method executed by a communication device, wherein a change is made to reduce an average data transfer amount of encrypted communication.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、A cryptographic information determination step of selecting a different cryptographic algorithm according to the predicted use resource total value or the actual use resource total value from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがってパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet according to the encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップと、A communication processing step of transmitting the packet encrypted by the encryption processing step;
アプリケーションの実行の予約を受け付けて当該アプリケーションの実行をスケジュールに登録するスケジュール登録ステップとを備え、A schedule registration step of accepting a reservation for execution of an application and registering the execution of the application in a schedule;
前記暗号情報決定ステップは、前記スケジュールに基づいて予測される未来の時点での使用資源合計値に基づいて、その時点で使用すべき暗号アルゴリズムを選択するものであり、The encryption information determination step selects a cryptographic algorithm to be used at that time based on a total value of resources used at a future time predicted based on the schedule,
前記スケジュール登録ステップは、前記スケジュールに登録されていたいずれかのアプリケーションの予約が取り消されたときに、すでに前記スケジュールにその使用が登録されている暗号アルゴリズムを可能であればより暗号強度の高いものに変更するような暗号アルゴリズムの再選択を実行するものである、通信装置が実行する方法。In the schedule registration step, if any of the applications registered in the schedule is canceled, an encryption algorithm whose use is already registered in the schedule can be used. A method executed by the communication device, wherein the re-selection of the cryptographic algorithm is changed to
予め用意された複数の暗号アルゴリズムの中から、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択する暗号情報決定ステップと、An encryption information determination step of selecting a different encryption algorithm according to an encryption algorithm applied to one or more packets received from a communication partner from a plurality of encryption algorithms prepared in advance;
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがって前記通信相手宛てのパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet addressed to the communication partner according to an encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップとを備え、A communication processing step of transmitting the encrypted packet in the encryption processing step,
前記暗号情報決定ステップは、前記通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムを記憶するための受信履歴管理表を有しており、当該受信履歴管理表を参照して、前記受信したパケットに適用されていた暗号アルゴリズムのうち最も頻度の高い暗号アルゴリズムを選択するものである、通信装置が実行する方法。The encryption information determination step has a reception history management table for storing an encryption algorithm that has been applied to one or more packets received from the communication partner, with reference to the reception history management table, A method executed by a communication device, which selects a cryptographic algorithm having the highest frequency among cryptographic algorithms applied to received packets.
予め用意された複数の暗号アルゴリズムの中から、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択する機能と、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択する機能の両方を有する暗号情報決定ステップと、This function is applied to one or more packets received from the communication partner, and a function for selecting a different encryption algorithm from a plurality of encryption algorithms prepared in advance according to the predicted total used resource value or the actual total used resource value. An encryption information determination step having both of the functions of selecting different encryption algorithms according to the encryption algorithm that has been used,
前記暗号情報決定ステップが選択した暗号アルゴリズムにしたがって前記通信相手宛のパケットを暗号化する暗号処理ステップと、An encryption processing step for encrypting a packet addressed to the communication partner according to an encryption algorithm selected by the encryption information determination step;
前記暗号処理ステップが暗号化したパケットを送信する通信処理ステップとを備え、A communication processing step of transmitting the encrypted packet in the encryption processing step,
前記暗号情報決定ステップは、前記通信相手との主従関係を確認するために当該通信相手と通信による主従折衝処理を行なうものであり、当該主従関係に基づいて、予測される使用資源合計値または実際の使用資源合計値に応じて異なる暗号アルゴリズムを選択するか、通信相手から受信した1以上のパケットに適用されていた暗号アルゴリズムに応じて異なる暗号アルゴリズムを選択するかを切り替えて動作するものである、通信装置が実行する方法。The encryption information determining step is to perform master-slave negotiation processing by communication with the communication partner in order to confirm the master-slave relationship with the communication partner, and based on the master-slave relationship, the predicted use resource total value or actual The operation is performed by switching between selecting a different encryption algorithm according to the total used resource value or selecting a different encryption algorithm according to the encryption algorithm applied to one or more packets received from the communication partner. A method performed by a communication device.
JP2003367891A 2002-10-31 2003-10-28 Communication apparatus, communication system, and algorithm selection method Expired - Fee Related JP4566546B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003367891A JP4566546B2 (en) 2002-10-31 2003-10-28 Communication apparatus, communication system, and algorithm selection method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002318189 2002-10-31
JP2003023797 2003-01-31
JP2003367891A JP4566546B2 (en) 2002-10-31 2003-10-28 Communication apparatus, communication system, and algorithm selection method

Publications (3)

Publication Number Publication Date
JP2004254286A JP2004254286A (en) 2004-09-09
JP2004254286A5 JP2004254286A5 (en) 2006-10-05
JP4566546B2 true JP4566546B2 (en) 2010-10-20

Family

ID=33033044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003367891A Expired - Fee Related JP4566546B2 (en) 2002-10-31 2003-10-28 Communication apparatus, communication system, and algorithm selection method

Country Status (1)

Country Link
JP (1) JP4566546B2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4612381B2 (en) * 2004-09-28 2011-01-12 株式会社東芝 Medical moving image recording system, medical moving image recording method, and medical moving image recording program
JP4544413B2 (en) 2004-10-26 2010-09-15 日本電気株式会社 Radio base station and scheduler algorithm setting method in radio base station
JP2006186470A (en) * 2004-12-27 2006-07-13 Toshiba Corp Wireless communication device, program and method
JP4627222B2 (en) * 2005-06-23 2011-02-09 シャープ株式会社 Information processing apparatus having server function and client function, and program and recording medium used therefor
JP4983165B2 (en) * 2006-09-05 2012-07-25 ソニー株式会社 COMMUNICATION SYSTEM AND COMMUNICATION METHOD, INFORMATION PROCESSING DEVICE AND METHOD, DEVICE, PROGRAM, AND RECORDING MEDIUM
JP4275168B2 (en) * 2006-11-30 2009-06-10 シャープ株式会社 System device including NIC and power saving control method of the system device
JP5143502B2 (en) * 2007-08-27 2013-02-13 Necパーソナルコンピュータ株式会社 Transcoder, transcoding method and transcoding program
JP4993733B2 (en) 2007-09-28 2012-08-08 東芝ソリューション株式会社 Cryptographic client device, cryptographic package distribution system, cryptographic container distribution system, and cryptographic management server device
JP5299609B2 (en) * 2008-04-03 2013-09-25 日本電気株式会社 Content encrypted delivery system, content encrypted delivery method, and content encrypted delivery program
US8898474B2 (en) * 2008-11-04 2014-11-25 Microsoft Corporation Support of multiple pre-shared keys in access point
JP5915406B2 (en) * 2012-06-22 2016-05-11 富士通株式会社 Control method of portable terminal device, control program, and portable terminal device
JP2014017595A (en) 2012-07-06 2014-01-30 Toshiba Corp Communication device, key generating device, communication method, program, and communication system
JP2014072662A (en) * 2012-09-28 2014-04-21 Toshiba Corp Communication control method
JP2014150410A (en) * 2013-02-01 2014-08-21 Konica Minolta Inc Image forming apparatus and switching method of encryption strength
JP2014197726A (en) * 2013-03-29 2014-10-16 株式会社東芝 Measuring device, information processing device, key management device, and consumption amount calculation system
EP2999157B1 (en) * 2013-05-16 2017-02-22 Fujitsu Limited Terminal device, communication system, and communication control program
JP2015097423A (en) * 2015-01-21 2015-05-21 株式会社東芝 Communication device, key generating device, communication method, program, and communication system
JP6800165B2 (en) * 2015-12-17 2020-12-16 株式会社アイ・エル・シー Cryptography method and encryption system
JP2017038413A (en) * 2016-11-24 2017-02-16 株式会社東芝 Communication device, key generating device, communication method, program, and communication system
JP7218630B2 (en) * 2019-03-15 2023-02-07 日本電気株式会社 Information processing device, information processing method, information processing program, and information processing system
CN114221825B (en) * 2022-02-23 2022-05-24 武汉海牛泰克信息技术有限公司 Encryption system based on digital information transmission

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202266A (en) * 2000-01-21 2001-07-27 Denso Corp Method for inspecting on-vehicle control unit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11296319A (en) * 1998-04-06 1999-10-29 Canon Inc Printing controller, printing method and storage medium for storing computer readable program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001202266A (en) * 2000-01-21 2001-07-27 Denso Corp Method for inspecting on-vehicle control unit

Also Published As

Publication number Publication date
JP2004254286A (en) 2004-09-09

Similar Documents

Publication Publication Date Title
KR100949420B1 (en) Communication device, communication system, and algorithm selection method
JP4566546B2 (en) Communication apparatus, communication system, and algorithm selection method
JP4698106B2 (en) System and method for copy protection of transmitted information
TW296526B (en)
EP1607825A2 (en) Digital content management system and apparatus
US20030140009A1 (en) License management system, license management device, relay device and terminal device
US7062658B1 (en) Secure digital appliance and method for protecting digital content
JP2008011512A (en) Data processing apparatus, data storage device and data processing methods therefor
KR20140134692A (en) Systems and methods for providing content to a wireless display screen
EP2169873A1 (en) Encryption device and encryption operation method
US9385997B2 (en) Protection of control words employed by conditional access systems
KR20110067257A (en) Secure management server and video data managing method of secure management server
JPH10164046A (en) Transmission method, reception method, transmitter, receiver, transmission system and medium
JP2008199436A (en) Communication system, information processor, information processing method, and computer program
US8005219B2 (en) Data decryption apparatus and data encryption apparatus
KR20050021468A (en) Method and electronic module for secure data transmission
US7916867B2 (en) Content receiving apparatus
JP2005518769A (en) Processing apparatus and transmission method for data encrypted for first domain in network belonging to second domain
JP2002044071A (en) Receiving method
JP5001755B2 (en) Data processing system and data processing method
JP4554806B2 (en) Reception method and transmission method
JP2010263532A (en) Content recording and playback system
JPH11289326A (en) Data transmission/reception method, data transmitter, data receiver, data transmission/reception system and medium
JP4551138B2 (en) Personal information utilization receiving system and receiving apparatus
US20080205646A1 (en) Computer-readable recording medium storing data decryption program, data decryption method, and data decryption device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100317

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: 20100714

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: 20100804

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees