Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4725462B2 - Communication apparatus and program - Google Patents
[go: Go Back, main page]

JP4725462B2 - Communication apparatus and program - Google Patents

Communication apparatus and program Download PDF

Info

Publication number
JP4725462B2
JP4725462B2 JP2006234181A JP2006234181A JP4725462B2 JP 4725462 B2 JP4725462 B2 JP 4725462B2 JP 2006234181 A JP2006234181 A JP 2006234181A JP 2006234181 A JP2006234181 A JP 2006234181A JP 4725462 B2 JP4725462 B2 JP 4725462B2
Authority
JP
Japan
Prior art keywords
data
function
time
reception time
received
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
JP2006234181A
Other languages
Japanese (ja)
Other versions
JP2008058514A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006234181A priority Critical patent/JP4725462B2/en
Publication of JP2008058514A publication Critical patent/JP2008058514A/en
Application granted granted Critical
Publication of JP4725462B2 publication Critical patent/JP4725462B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ネットワーク接続される通信装置であって、乱数生成機能を有する通信装置に関する。   The present invention relates to a communication device connected to a network and having a random number generation function.

従来より、通信装置としては、乱数を用いて、暗号通信や利用者認証を行うものが知られている。例えば、SSL通信等の暗号通信においては、セッションの確立時に、サーバ装置及びクライアント装置間で、夫々が生成した乱数データを交換し、これらの乱数データに基づいて、暗号鍵(セッションキー)を生成し、暗号通信を実現する。   2. Description of the Related Art Conventionally, communication devices that perform cryptographic communication or user authentication using random numbers are known. For example, in encryption communication such as SSL communication, when a session is established, the server device and the client device exchange random number data generated by them, and generate an encryption key (session key) based on these random number data. And realizes cryptographic communication.

また、乱数の生成方法としては、乱数の種となるビットパターン(所謂シード)に、所定の演算処理を施すことで、擬似的に、乱数を生成する方法が知られており、上記の暗号通信等では、上記ビットパターンにより、乱数データを生成し、最終的に暗号鍵を生成する手法が広く採用されている。   Further, as a random number generation method, there is known a method of generating a random number in a pseudo manner by applying a predetermined arithmetic process to a bit pattern (so-called seed) which is a seed of a random number. Etc., a method of generating random number data by the above bit pattern and finally generating an encryption key is widely adopted.

具体的に、上記手法にて乱数を生成する場合には、所定のアルゴリズムにより、入力パラメータに演算処理を施して、乱数を生成するプログラムに、上記ビットパターンを入力パラメータとして与えて、乱数を生成する。   Specifically, when generating a random number by the above method, the input parameter is subjected to arithmetic processing by a predetermined algorithm, and the random number is generated by giving the bit pattern as an input parameter to a program for generating the random number. To do.

尚、上述したシードと呼ばれるビットパターンは、乱数を生成する元となる基本情報であるため、上記乱数を生成するプログラムに、一定のビットパターンを与えた場合には、特定のパターンで、乱数が生成されることになる。   Note that the above-described bit pattern called a seed is basic information from which a random number is generated. Therefore, when a certain bit pattern is given to the program for generating the random number, the random number is generated in a specific pattern. Will be generated.

従って、上記の手法にて乱数を生成する場合には、プログラムに、ランダムなビットパターンを与えることで、より理想的な乱数が生成されるようにする。この点に関し、従来技術としては、第一の通信装置と第二の通信装置との間でパケットを往復させ、その往復時間の揺らぎを利用して、ランダムなビットパターンを生成する技術が知られている(例えば、特許文献1参照)。
特開2004−206025号公報
Therefore, when generating random numbers by the above method, a more ideal random number is generated by giving a random bit pattern to the program. In this regard, as a conventional technique, a technique is known in which a packet is reciprocated between a first communication apparatus and a second communication apparatus, and a random bit pattern is generated using fluctuation of the reciprocation time. (For example, refer to Patent Document 1).
JP 2004-206025 A

しかしながら、従来の乱数生成方法では、次のような問題があった。例えば、特許文献1記載のように、パケットの往復時間に基づいて、乱数(シード)を生成する方法では、通信経路の品質を観測することで、パケット往復時間を予測することができるため、この方法にて生成した乱数を、シードとして用いて、暗号通信等を実現する場合には、悪意の者により、シードが予測され、結果的に、暗号鍵が見破られてしまう可能性があった。   However, the conventional random number generation method has the following problems. For example, as described in Patent Document 1, the method of generating a random number (seed) based on the round trip time of a packet can predict the round trip time of the packet by observing the quality of the communication path. When cryptographic communication or the like is realized by using a random number generated by the method as a seed, the seed is predicted by a malicious person, and as a result, the encryption key may be overlooked.

また、上記方法では、パケットの往復時間を計測するタイマーの時間分解能よりも、通信経路の品質によるパケット往復時間の揺らぎが大きいことを利用して、乱数を生成するため、通信経路の品質が十分に高いと、パケット往復時間の揺らぎが小さくなり、パケット往復時間に基づいて、十分にランダムな値を、生成することができないといった問題があった。   Further, in the above method, since the random number is generated by utilizing the fact that the fluctuation of the packet round trip time due to the quality of the communication path is larger than the time resolution of the timer that measures the round trip time of the packet, the quality of the communication path is sufficient. When the value is too high, fluctuations in the packet round-trip time are reduced, and a sufficiently random value cannot be generated based on the packet round-trip time.

即ち、上記のように計測機器の精度と、計測する物理量の揺らぎとの関係を用いて乱数を生成する従来の方法では、乱数が、一様な確率で生成されずに、偏って生成される可能性が高く、これが、暗号通信プログラム等、乱数を用いて所定の処理を実現するプログラムに、悪影響を与えて、本来実現されるべき機能が、実現できない可能性があった。   That is, in the conventional method for generating random numbers using the relationship between the accuracy of the measuring device and the fluctuation of the physical quantity to be measured as described above, the random numbers are generated in a biased manner without being generated with a uniform probability. There is a high possibility that this has an adverse effect on a program that realizes a predetermined process using a random number, such as an encryption communication program, and there is a possibility that a function that should be originally realized cannot be realized.

本発明は、こうした問題に鑑みなされたものであり、従来よりも、より理想的な乱数を生成可能とすることで、セキュリティの高い通信を実現できる技術を提供することを目的とする。   The present invention has been made in view of these problems, and an object of the present invention is to provide a technique capable of realizing highly secure communication by enabling generation of a more ideal random number than in the past.

かかる目的を達成するためになされた第一の発明は、ネットワークに接続される通信装置であって、ネットワーク上の複数の他装置から送信されたデータを、ネットワークを介して受信する受信手段と、受信手段が受信したデータの個数を計測する受信データ数計測手段と、受信データ数計測手段の計測結果に基づき、受信手段が受信したデータの個数が予め設定された閾値に到達したときの受信手段の受信データに関して、このデータの受信手段による受信時刻を検出する受信時刻検出手段と、受信時刻検出手段が検出した受信時刻に対応する値を、乱数として出力する乱数出力手段と、を備えることを特徴とする。 A first invention made to achieve such an object is a communication device connected to a network, and receiving means for receiving data transmitted from a plurality of other devices on the network via the network, Received data number measuring means for measuring the number of data received by the receiving means, and receiving means when the number of data received by the receiving means reaches a preset threshold based on the measurement result of the received data number measuring means A reception time detection means for detecting the reception time of the data by the reception means, and a random number output means for outputting a value corresponding to the reception time detected by the reception time detection means as a random number. Features.

また、第二の発明は、ネットワークに接続される通信装置であって、ネットワーク上の他装置から送信されたデータを、ネットワークを介して受信する受信手段と、受信手段によるデータの受信時刻を検出する受信時刻検出手段と、受信手段が受信したデータの個数を計測する受信データ数計測手段と、受信データ数計測手段の計測結果に基づき、受信手段が受信したデータの個数が、予め設定された閾値に到達したときの受信手段の受信データを、乱数の生成に用いる受信データに決定する決定手段と、決定手段により決定された受信データについて、受信時刻検出手段が検出した受信時刻に対応する値を、乱数として出力する乱数出力手段と、を備えることを特徴とする。Further, the second invention is a communication device connected to a network, the receiving means for receiving data transmitted from another device on the network via the network, and the reception time of the data by the receiving means The number of data received by the receiving means is preset based on the measurement result of the reception time detecting means, the received data number measuring means for measuring the number of data received by the receiving means, and the received data number measuring means. A value corresponding to the reception time detected by the reception time detection means for the reception data determined by the determination means and the reception data determined by the determination means for determining the reception data of the reception means when the threshold is reached. And random number output means for outputting as random numbers.

これらの通信装置によれば、従来よりも、理想的な乱数を生成(出力)することができ、この乱数を、シードとして用いることで、セキュリティの高い暗号通信を実現することができる。 According to these communication devices, it is possible to generate (output) an ideal random number as compared with the conventional case, and by using this random number as a seed, it is possible to realize highly secure encrypted communication.

詳述すると、ネットワークには、通常複数の通信装置が接続されており、ネットワーク上では、これら複数の通信装置が個別に動作すると共に、通信等で各通信装置が相互に影響し合い、ネットワークトラフィック等が時々刻々と変化する。このため、各通信装置におけるデータの受信量及び受信タイミングは、予測困難である。   More specifically, a plurality of communication devices are normally connected to the network, and on the network, the plurality of communication devices operate individually, and the communication devices interact with each other through communication, etc. Etc. change from moment to moment. For this reason, it is difficult to predict the reception amount and reception timing of data in each communication device.

即ち、ネットワーク上の通信装置が、他の装置から送信されたネットワークを流れるデータを受信する場合には、ネットワーク上の各通信装置の動作内容、ネットワークトラフィックに応じた通信の遅れなど、データ受信タイミング等に影響する外因が、数多く存在する。   That is, when a communication device on the network receives data transmitted from the other device through the network, the data reception timing such as the operation content of each communication device on the network, the communication delay according to the network traffic, etc. There are a number of external factors that affect these factors.

このため、本発明のように、ネットワークを通じて他装置から送信されたデータの受信時刻及び受信個数を、乱数の生成に用いれば、一様に乱数を生成することができ、当該通信装置にて生成される乱数の予測を、困難にすることができる。よって、本発明の通信装置によれば、従来よりも、理想的な乱数を生成することができるのである。   For this reason, as in the present invention, if the reception time and the number of received data transmitted from other devices through the network are used for generating random numbers, random numbers can be generated uniformly and generated by the communication device. The random number prediction can be made difficult. Therefore, according to the communication apparatus of the present invention, it is possible to generate an ideal random number than before.

特に、本発明の通信装置によれば、データ受信時刻及び受信個数に基づいて乱数を生成するため、悪意の者が、ネットワーク上の通信装置からデータを送信して、当該通信装置の乱数生成に影響を与えようとしても、その行為が、当該通信装置の乱数生成に影響を与えにくい。また、ネットワーク上では、複数の通信装置からデータが送信されるため、外部から、受信データの個数が閾値に達したときの受信データの受信時刻を知ることは、困難である。このため、本発明の通信装置によれば、悪意の者に、生成した乱数を知られずに済み、乱数を用いて暗号通信を行う場合等において、セキュリティの高い通信を実現できる。 In particular, according to the communication device of the present invention, since a random number is generated based on the data reception time and the number of received data, a malicious person transmits data from the communication device on the network to generate the random number of the communication device. Even if it is intended to influence, the act is unlikely to affect the random number generation of the communication device. Further, since data is transmitted from a plurality of communication devices on the network, it is difficult to know the reception time of the reception data when the number of reception data reaches the threshold from the outside. For this reason, according to the communication apparatus of the present invention, it is not necessary for a malicious person to know the generated random number, and high-security communication can be realized in the case of performing cryptographic communication using the random number.

尚、上述した乱数出力手段は、受信時刻検出手段が検出した受信時刻を、二進数で表した際の最小位ビットに対応する値を、乱数として出力する構成にすることができる。 Incidentally, the above-mentioned random number output means, a reception time reception time detecting means detects the least significant values corresponding to the bit when expressed in binary, Ru can be configured to output as a random number.

また、本発明では、受信手段が受信したデータの個数が予め設定された閾値に達したときの該当データの受信時刻を、乱数の生成に用いるようにしたが、閾値に相当する個数のデータを受信するまでに要する時間は、ネットワークトラフィックの影響を受けて変化するため、閾値を固定値とすると、定期的に乱数を生成するように通信装置を構成することができない。 In the present invention, the reception time of the corresponding data when the number of data received by the receiving means reaches a preset threshold value is used for generation of random numbers. However, the number of data corresponding to the threshold value is used. Since the time required for reception changes under the influence of network traffic, the communication apparatus cannot be configured to generate random numbers periodically if the threshold value is a fixed value.

従って、定期的に乱数を生成するには、閾値として、ネットワークトラフィックに応じた値を設定する閾値設定手段を、上記の通信装置に設けるとよ。このように構成された通信装置によれば、概ね定期的に乱数を生成することができ、ネットワークトラフィックにより、乱数の生成間隔が長くなるのを防止することができる。また、この結果として、一層、乱数を、悪意の者に知られないようにすることができる。よって、セキュリティの高い通信を実現できる。 Therefore, to generate a periodic random number, as the threshold value, the threshold value setting means for setting a value corresponding to the network traffic, has good when provided to the communication device. According to the communication apparatus configured in this way, random numbers can be generated almost regularly, and it is possible to prevent the generation interval of random numbers from becoming longer due to network traffic. In addition, as a result, it is possible to further prevent the malicious person from knowing the random number. Therefore, highly secure communication can be realized.

また、上記閾値として、ネットワークトラフィックに応じた値を設定し、定期的に乱数を生成できるようにするには、具体的に、通信装置を、次のように構成するとよい。
即ち、通信装置には、乱数の生成間隔として、受信時刻検出手段が検出可能な受信時刻の最小単位よりも大きい値を、記憶する記憶手段と、現在設定されている閾値に基づき、この閾値に対応する個数のデータの受信に要する時間を計測する受信時間計測手段と、受信時間計測手段が計測したデータの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出手段と、単位時間個数算出手段により算出された上記単位時間当たりに受信可能なデータの個数から、記憶手段が記憶する生成間隔に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出手段と、を設けて、閾値設定手段は、閾値を、受信可能個数算出手段により算出された個数に、更新する構成にされるとよ
In order to set a value corresponding to the network traffic as the threshold and to be able to generate a random number periodically, the communication device may be specifically configured as follows.
That is, the communication device uses a storage unit that stores a value larger than the minimum unit of reception time that can be detected by the reception time detection unit as a random number generation interval, and a threshold value that is currently set. A unit for calculating the number of receivable data per unit time based on the reception time measuring means for measuring the time required to receive the corresponding number of data and the time required for receiving the data measured by the reception time measuring means. The number of data that can be received within the time corresponding to the generation interval stored in the storage means is calculated from the number of time calculation means and the number of data that can be received per unit time calculated by the unit time number calculation means. a receivable number calculating means, the provided threshold value setting means, the threshold, the number calculated by the receivable number calculating means, have good when it is in the configuration to be updated.

このように構成された通信装置によれば、単位時間当たりに受信可能なデータの個数を実測して、この結果に基づいて、乱数の生成間隔が予め設定された時間間隔となるように、閾値を設定するため、ネットワークトラフィックに依らず、概ね定期的に乱数を生成することができる。   According to the communication apparatus configured as described above, the number of pieces of data that can be received per unit time is measured, and based on the result, the threshold value is set so that the random number generation interval becomes a preset time interval. Therefore, random numbers can be generated almost regularly regardless of network traffic.

また、受信手段が、ネットワーク上の他装置から送信されたデータを、宛先に拘らず受信した後、データの宛先を判別して、自装置宛以外のデータを破棄する構成にされている場合には、自装置宛のデータだけでなく自装置宛以外のデータも対象として、受信時刻を検出するように、受信時刻検出手段を構成すると共に、自装置宛のデータだけでなく自装置宛以外のデータも対象として、受信手段が受信したデータの個数を計測するように、受信データ数計測手段を構成するとよAlso, when the receiving unit is configured to receive data transmitted from other devices on the network regardless of the destination, determine the destination of the data, and discard the data other than the address to the own device as data other than destined for the own device not only the data destined for the own device also interest, to detect the reception time, as well as constitute a reception time detecting means, not only the data destined for the own apparatus other than destined for the own device data as target, so as to measure the number of data received by the receiving means, have good to constitute reception data number measuring means.

このように、受信時刻検出手段及び受信データ数計測手段を構成すれば、乱数の生成に影響を与える外因が増え、自装置宛のデータのみを対象として、受信時刻及び受信データ数を検出し、これに基づいて乱数を生成する場合よりも、一層、理想的な乱数を生成することができる。しかも、自装置宛以外のデータを受信できるネットワーク環境では、第三者からデータの内容を知られる可能性が高いが、このような構成では、より理想的な乱数を生成できるため、悪意の者に乱数を知られることを、一層防ぐことができる。よって、セキュリティの高い通信を実現できる。   In this way, if the reception time detection means and the reception data number measurement means are configured, the external factors affecting the generation of random numbers increase, and the reception time and the number of reception data are detected only for the data addressed to the own device, An ideal random number can be generated more than when a random number is generated based on this. Moreover, in a network environment that can receive data other than that addressed to the device itself, there is a high possibility that the contents of the data will be known by a third party. It is possible to further prevent the random number from being known. Therefore, highly secure communication can be realized.

また、上述した通信装置における各手段としての機能は、プログラムにより、コンピュータに実現させることができる。 The functions of the respective means in the above-mentioned communication apparatus, the program, Ru can be realized on the computer.

例えば、プログラムは、ネットワークに接続され、ネットワーク上の複数の他装置から送信されたデータを、ネットワークを介して受信する受信手段を備えた通信装置のコンピュータに、受信手段が受信したデータの個数を計測する受信データ数計測機能と、受信データ数計測機能による計測結果に基づき、受信手段が受信したデータの個数が予め設定された閾値に到達したときの受信手段の受信データに関して、このデータの受信手段による受信時刻を検出する受信時刻検出機能と、受信時刻検出手段が検出した受信時刻の最小位ビットに対応する値を、乱数として出力する乱数出力機能と、を実現させるためのプログラムとして構成することができる。For example, the program is connected to a network, and the number of data received by the receiving means is set in a computer of a communication apparatus having receiving means for receiving data transmitted from a plurality of other devices on the network via the network. Based on the reception data number measurement function to be measured and the measurement result by the reception data number measurement function, the reception means receives the data when the number of data received by the reception means reaches a preset threshold. And a random number output function for outputting a value corresponding to the least significant bit of the reception time detected by the reception time detection means as a random number. be able to.

この他、プログラムは、ネットワークに接続され、ネットワーク上の他装置から送信されたデータを、ネットワークを介して受信する受信手段を備えた通信装置のコンピュータに、受信手段が受信したデータの受信時刻を検出する受信時刻検出機能と、受信手段が受信したデータの個数を計測する受信データ数計測機能と、受信データ数計測機能による計測結果に基づき、受信手段が受信したデータの個数が、予め設定された閾値に到達したときの受信手段の受信データを、乱数の生成に用いる受信データに決定する決定機能と、決定機能により決定された受信データについて、受信時刻検出機能により検出された受信時刻に対応する値を、乱数として出力する乱数出力機能と、現在設定されている閾値に対応する個数のデータの受信に要する時間を計測する受信時間計測機能と、受信時間計測機能により計測されたデータの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出機能と、単位時間個数算出機能により算出された単位時間当たりに受信可能なデータの個数から、上記受信時刻検出機能により検出可能な受信時刻の最小単位よりも大きい値として予め定められた乱数の生成間隔、に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出機能と、上記閾値を、受信可能個数算出機能にて算出された個数に更新する閾値設定機能とを実現させるためのプログラムとして構成することができる。In addition, the program is connected to the network, and the reception time of the data received by the receiving means is transmitted to the computer of the communication apparatus provided with the receiving means for receiving data transmitted from other devices on the network via the network. The number of data received by the receiving means is set in advance based on the measurement result by the reception time detecting function for detecting, the received data number measuring function for measuring the number of data received by the receiving means, and the received data number measuring function. A function that determines the received data of the receiving means when it reaches the threshold value as the received data used for generating random numbers, and the received data determined by the determining function corresponds to the received time detected by the received time detection function Required to receive the number of data corresponding to the currently set threshold value A reception time measurement function that measures time, a unit time number calculation function that calculates the number of receivable data per unit time based on the time required to receive data measured by the reception time measurement function, and unit time Corresponds to a random number generation interval predetermined as a value larger than the minimum unit of the reception time that can be detected by the reception time detection function from the number of data that can be received per unit time calculated by the number calculation function. Configured as a program for realizing a receivable number calculating function for calculating the number of receivable data within a time period and a threshold setting function for updating the threshold value to the number calculated by the receivable number calculating function. be able to.

また、上述の各プログラムは、光ディスクや磁気ディスク等のコンピュータ読取可能な記録媒体に記録して、ユーザに提供することが可能である。   Each of the above programs can be recorded on a computer-readable recording medium such as an optical disk or a magnetic disk and provided to the user.

以下に本発明の実施例について、図面と共に説明する。
図1は、本実施例の通信システム1の構成を表すブロック図である。本実施例の通信システム1は、ネットワークNTに、複数の通信装置3が接続されてなる。ネットワークNTとしては、有線ネットワーク、無線ネットワークを挙げることができ、通信装置3としては、パーソナルコンピュータ(PC)、ディジタル複合機、データベースサーバ装置等、各種の通信装置を挙げることができる。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration of a communication system 1 according to the present embodiment. The communication system 1 according to this embodiment includes a plurality of communication devices 3 connected to a network NT. Examples of the network NT include a wired network and a wireless network, and examples of the communication device 3 include various communication devices such as a personal computer (PC), a digital multifunction peripheral, and a database server device.

但し、本実施例では、通信装置3として、パーソナルコンピュータ5と、ディジタル複合機10と、がネットワークNTに接続され、パーソナルコンピュータ5及びディジタル複合機10が、SSL通信可能な構成にされているものとし、ディジタル複合機10には、本発明の手法でSSL通信等に用いる乱数の種となるシードを生成する機能が付されているものとする。   However, in this embodiment, as the communication device 3, a personal computer 5 and a digital multifunction device 10 are connected to the network NT, and the personal computer 5 and the digital multifunction device 10 are configured to be capable of SSL communication. It is assumed that the digital multi-function peripheral 10 is provided with a function of generating a seed that is a seed of random numbers used for SSL communication or the like by the method of the present invention.

本実施例のディジタル複合機10は、ネットワークプリンタ機能、スキャナ機能、コピー機能等を有する多機能装置であり、主に、各種プログラムを実行するCPU11と、CPU11が実行するプログラムを記憶するROM13と、作業用メモリとしてのRAM15と、各種設定情報を記憶するNVRAM17と、印刷部19と、読取部21と、表示操作部23と、通信インタフェース25と、を備える。   The digital multifunction machine 10 of this embodiment is a multi-function device having a network printer function, a scanner function, a copy function, and the like. Mainly, a CPU 11 that executes various programs, a ROM 13 that stores programs executed by the CPU 11, and A RAM 15 as a working memory, an NVRAM 17 for storing various setting information, a printing unit 19, a reading unit 21, a display operation unit 23, and a communication interface 25 are provided.

印刷部19は、CPU11に制御されて、インクジェット方式又はレーザプリンタ方式により、CPU11から指定された画像データを印刷処理し、その画像データに基づく画像を、用紙に形成するものである。この印刷部19は、ネットワークプリンタ機能やコピー機能を実現する際に用いられる。一方、読取部21は、CPU11に制御されて、載置部に載置された原稿を、光学的に読み取り、読取画像を表す画像データを生成して、この画像データを、CPU11に提供するものである。この読取部21は、スキャナ機能やコピー機能を実現する際に用いられる。   The printing unit 19 is controlled by the CPU 11 and prints image data designated by the CPU 11 by an ink jet method or a laser printer method, and forms an image based on the image data on a sheet. The printing unit 19 is used when realizing a network printer function or a copy function. On the other hand, the reading unit 21 is controlled by the CPU 11 to optically read a document placed on the placement unit, generate image data representing a read image, and provide the image data to the CPU 11. It is. The reading unit 21 is used when realizing a scanner function or a copy function.

その他、表示操作部23は、ユーザが操作可能な各種キーを備えると共に、液晶ディスプレイ等からなる表示部を備え、ユーザからの指令を受け付けると共に、ユーザに向けて各種情報を表示するユーザインタフェースとして機能する。   In addition, the display operation unit 23 includes various keys that can be operated by the user and also includes a display unit including a liquid crystal display, and functions as a user interface that receives commands from the user and displays various information for the user. To do.

また、通信インタフェース25は、ネットワークNTに接続され、ネットワークNT上の通信装置3と双方向通信可能な構成にされている。図2は、通信インタフェース25の処理動作を示した説明図である。   The communication interface 25 is connected to the network NT, and is configured to be capable of bidirectional communication with the communication device 3 on the network NT. FIG. 2 is an explanatory diagram showing the processing operation of the communication interface 25.

本実施例の複合機10が備える通信インタフェース25は、ネットワークNT上の他装置から送信された当該ネットワークNTを流れるパケットを逐次受信して、パケットに付された宛先アドレスに基づき、受信パケットが自装置宛のパケットであるか否かを判断し、受信パケットが自装置宛のパケットである場合には、上位の通信モジュールに、このパケットを転送し、受信パケットが自装置宛以外のパケットである場合には、このパケットを破棄して、上位の通信モジュールにパケットを転送しないよう動作する。   The communication interface 25 provided in the MFP 10 of the present embodiment sequentially receives packets transmitted from other devices on the network NT and flows through the network NT, and based on the destination address attached to the packet, the received packet is automatically transmitted. It is determined whether the packet is addressed to the device. If the received packet is a packet addressed to the own device, the packet is forwarded to a higher-level communication module, and the received packet is a packet other than the addressed device itself In such a case, this packet is discarded and the packet is not transferred to the upper communication module.

その他、通信インタフェース25は、通信モジュールから入力された送信対象データを格納したパケットであって、宛先アドレスを付したパケットを、ネットワークNTに送出することにより、上記送信対象データを、宛先アドレスに対応する通信装置3に向けて送信する。   In addition, the communication interface 25 stores the transmission target data input from the communication module and sends the packet with the destination address to the network NT so that the transmission target data corresponds to the destination address. To the communication device 3 to be transmitted.

尚、上記通信モジュールとしては、IP(インターネットプロトコル)モジュールを挙げることができ、通信インタフェース25が送受信するパケットとしては、宛先アドレスに、宛先のMACアドレスを有するイーサネット(登録商標)フレームを挙げることができる。   The communication module may be an IP (Internet Protocol) module, and the packet transmitted and received by the communication interface 25 may be an Ethernet (registered trademark) frame having a destination MAC address as a destination address. it can.

また、通信インタフェース25から通信モジュールに転送されたパケットは、通信モジュールにて処理された後、上位の通信アプリケーションソフトウェアに提供される。その他、上位の通信アプリケーションソフトウェアにて生成された送信対象データは、通信モジュールを介して、通信インタフェース25に入力され、これにより、複合機10と他の通信装置間との通信が、実現される。尚、上記通信アプリケーションソフトウェアとしては、SSL通信を実現するアプリケーションソフトウェア等を挙げることができる。   The packet transferred from the communication interface 25 to the communication module is processed by the communication module and then provided to the upper communication application software. In addition, the transmission target data generated by the higher-level communication application software is input to the communication interface 25 via the communication module, thereby realizing communication between the MFP 10 and other communication devices. . Examples of the communication application software include application software that realizes SSL communication.

また、本実施例の複合機10は、本発明に係る機能として、通信インタフェース25の受信動作を監視し、SSL通信等に必要な乱数の種となるシードを生成する機能を有する。即ち、本実施例においては、複合機10が、CPU11により、シード生成プログラム(図2参照)を実行して、通信インタフェース25が受信したパケットの数nと、パケットの受信時刻とに基づき、シードを生成する。これにより、本実施例の複合機10では、従来よりも、適切なシードを生成することができる。   The multifunction machine 10 according to the present embodiment has a function of monitoring a reception operation of the communication interface 25 and generating a seed that is a seed of random numbers necessary for SSL communication or the like as a function according to the present invention. That is, in this embodiment, the MFP 10 executes a seed generation program (see FIG. 2) by the CPU 11, and based on the number n of packets received by the communication interface 25 and the reception time of the packets, Is generated. Thereby, in the multifunction machine 10 of the present embodiment, it is possible to generate a more appropriate seed than in the past.

以下、この機能について、図2及び図3を用いて説明する。図3は、CPU11が、シード生成プログラムに基づいて実行するシード生成処理を表すフローチャートである。
シート生成処理を開始すると、CPU11は、まず初期化処理を行って(S110)、受信パケット数を表すパラメータnをゼロに初期化すると共に、後述する閾値THを、デフォルト値に設定する。尚、閾値THのデフォルト値は、設定情報として、NVRAM17に記憶されている。その他、S110において、CPU11は、後述する乱数生成間隔Tsを、NVRAM17が記憶する指定値に設定すると共に、システムクロックCLKが示す現在時刻を、乱数生成時刻及びシード更新時刻の初期値として、RAM15に記憶する。
Hereinafter, this function will be described with reference to FIGS. FIG. 3 is a flowchart showing a seed generation process executed by the CPU 11 based on a seed generation program.
When the sheet generation process is started, the CPU 11 first performs an initialization process (S110), initializes a parameter n representing the number of received packets to zero, and sets a threshold value TH described later to a default value. The default value of the threshold value TH is stored in the NVRAM 17 as setting information. In addition, in S110, the CPU 11 sets a random number generation interval Ts, which will be described later, to a designated value stored in the NVRAM 17, and sets the current time indicated by the system clock CLK in the RAM 15 as an initial value of the random number generation time and the seed update time. Remember.

また、S110での処理を終えると、CPU11は、S120に移行し、ネットワークNT上の他装置がパケットをネットワークNTに送出したことにより、ネットワークNTを流れるパケットを、通信インタフェース25がネットワークNTを介して受信したか否かを判断する(S120)。尚、ここでは、自装置宛のパケットのみならず、自装置宛以外のパケットも対象として、パケットを受信したか否かを判断する。   When the processing in S110 is completed, the CPU 11 proceeds to S120, and the communication interface 25 transmits the packet flowing through the network NT via the network NT because another device on the network NT sends the packet to the network NT. It is determined whether it has been received (S120). Here, whether or not a packet has been received is determined not only for packets addressed to the own apparatus but also for packets other than the addressed to the own apparatus.

そして、通信インタフェース25によりパケットが受信されていない場合には(S120でNo)、通信インタフェース25によりパケットが受信されるまで待機し、通信インタフェース25によりパケットが受信された場合には(S120でYes)、S130に移行して、パラメータnの値を1加算し(n←n+1)、受信パケット数nを、カウントアップする。   If no packet is received by the communication interface 25 (No in S120), the process waits until a packet is received by the communication interface 25, and if a packet is received by the communication interface 25 (Yes in S120). In step S130, the value of parameter n is incremented by 1 (n ← n + 1), and the number n of received packets is counted up.

また、この処理を終えると、CPU11は、S140に移行し、受信パケット数nが、閾値TH以上である否かを判断する。そして、受信パケット数nが閾値TH未満であると判断すると(S140でNo)、S120に移行して、通信インタフェース25が新たにパケットを受信するまで待機する。そして、通信インタフェース25が新たにパケットを受信した場合には、受信パケット数nをカウントアップし(S130)、再び、S140での判断を行う。   When this process is finished, the CPU 11 proceeds to S140 and determines whether or not the number n of received packets is equal to or greater than the threshold value TH. If it is determined that the number n of received packets is less than the threshold value TH (No in S140), the process proceeds to S120 and waits until the communication interface 25 newly receives a packet. When the communication interface 25 newly receives a packet, the number n of received packets is counted up (S130), and the determination in S140 is performed again.

S140において、受信パケット数nが閾値TH以上であると判断すると(S140でYes)、CPU11は、システムクロックCLKにおける現在時刻を表すビット列の最小位ビットを参照し(S150)、参照値(最小位ビットの値)を、乱数として、RAM15に用意されたシード生成領域に書き込む。これにより、参照値を一時記憶する(S160)。   If it is determined in S140 that the number of received packets n is equal to or greater than the threshold value TH (Yes in S140), the CPU 11 refers to the least significant bit of the bit string representing the current time in the system clock CLK (S150), and the reference value (minimum order). (Bit value) is written as a random number in a seed generation area prepared in the RAM 15. Thereby, the reference value is temporarily stored (S160).

本実施例の複合機10は、データ長が、数バイト(例えば4バイト)のシードを生成する構成にされており、S160で一時記憶した参照値は、シードの構成ビットとして用いられる。また、本実施例では、このようにしてシードの構成ビットを決定するため、受信パケット数nが閾値THに到達するまでの所要時間が、システムクロックCLKが刻む時間の最小単位よりも十分長くなるように、閾値THを設定する(詳細後述)。   The multi-function device 10 of this embodiment is configured to generate a seed having a data length of several bytes (for example, 4 bytes), and the reference value temporarily stored in S160 is used as a constituent bit of the seed. In this embodiment, since the seed configuration bits are determined in this way, the time required for the number n of received packets to reach the threshold value TH is sufficiently longer than the minimum unit of time that the system clock CLK ticks. Thus, the threshold value TH is set (details will be described later).

また、S160での処理を終えると、CPU11は、生成するシードのデータ長に対応する数の乱数を、S160で生成したか否かを判断する(S170)。即ち、S160の処理を、シードのデータ(ビット)長に対応する回数、実行したか否かを判断する。例えば、シードが32ビット(4バイト)である場合には、前回S175又はS185でシードを設定した時点(初回のみシード生成処理を開始した時点)から、32回、S160の処理を実行したか否かを判断する。   When the process in S160 is completed, the CPU 11 determines whether or not the number of random numbers corresponding to the data length of the seed to be generated has been generated in S160 (S170). That is, it is determined whether or not the process of S160 has been executed a number of times corresponding to the seed data (bit) length. For example, when the seed is 32 bits (4 bytes), whether or not the process of S160 has been executed 32 times since the time when the seed was set in S175 or S185 last time (the seed generation process was started only for the first time). Determine whether.

そして、データ長に対応する数の乱数を生成したと判断すると(S170でYes)、CPU11は、RAM15のシード生成領域に一時記憶しているシードのデータ長に対応する数の最新の乱数を生成順に配列してなる乱数列を、新たなシードに設定する(S175)。その後、S190に移行する。   If it is determined that the number of random numbers corresponding to the data length has been generated (Yes in S170), the CPU 11 generates the latest random number of the number corresponding to the seed data length temporarily stored in the seed generation area of the RAM 15. A random number sequence arranged in order is set as a new seed (S175). Thereafter, the process proceeds to S190.

一方、データ長に対応する数の乱数を生成していないと判断すると(S170でNo)、CPU11は、RAM15が記憶するシード更新時刻に基づき、前回シードを設定した時点から所定時間TLが経過したか否かを判断し(S180)、所定時間TLが経過していないと判断すると(S180でNo)、S200に移行し、所定時間TLが経過していると判断すると(S180でYes)、S185に移行する。   On the other hand, if it is determined that the number of random numbers corresponding to the data length has not been generated (No in S170), the CPU 11 has passed a predetermined time TL from the time of setting the previous seed based on the seed update time stored in the RAM 15. (S180), if it is determined that the predetermined time TL has not elapsed (No in S180), the process proceeds to S200, and if it is determined that the predetermined time TL has elapsed (Yes in S180), S185 Migrate to

S185に移行すると、CPU11は、RAM15のシード生成領域に一時記憶している乱数に基づいて、新たなシードを設定する。尚、ここでは、新たに生成された乱数の数が、シードのデータ長に及ばないため、例えば、前回設定したシードにおける不足分に相当するビット数の下位ビットを、今回設定するシードの上位ビットに用いる。即ち、上記不足分に相当する量の前回設定したシードの下位ビットの末尾に、RAM15のシード生成領域に一時記憶されている最新の乱数を生成順に配列してなる乱数列を結合して、シードのデータ長に対応する長さの乱数列を生成し、これを新たなシードとして設定する。   After shifting to S185, the CPU 11 sets a new seed based on the random number temporarily stored in the seed generation area of the RAM 15. Here, since the number of newly generated random numbers does not reach the seed data length, for example, the lower bits of the number of bits corresponding to the shortage in the previously set seed are set to the upper bits of the seed set this time. Used for. That is, a random number sequence formed by arranging the latest random numbers temporarily stored in the seed generation area of the RAM 15 in the order of generation is combined with the end of the lower bits of the previously set seed corresponding to the shortage, A random number sequence having a length corresponding to the data length is generated and set as a new seed.

但し、初回のシード生成時に、S185の処理を実行する場合には、前回設定したシードが存在しないので、例えば、不足分に相当する量の上位ビットを、オールゼロにし、これに、RAM15のシード生成領域に一時記憶されている乱数を生成順に配列してなる乱数列を追加して、シードのデータ長に対応する長さの乱数列を生成し、この乱数列を、新たなシードとして設定する。   However, when the process of S185 is executed at the time of initial seed generation, since the previously set seed does not exist, for example, the upper bits of the amount corresponding to the shortage are set to all zeros, and the seed generation of the RAM 15 is added to this. A random number sequence formed by arranging the random numbers temporarily stored in the area in the order of generation is added to generate a random number sequence having a length corresponding to the data length of the seed, and this random number sequence is set as a new seed.

また、このようにしてS185の処理を終えると、CPU11は、S190に移行し、現在時刻を、シード更新時刻として、RAM15に一時記憶する。その後、S200に移行する。   Further, when the process of S185 is completed in this way, the CPU 11 proceeds to S190, and temporarily stores the current time in the RAM 15 as the seed update time. Thereafter, the process proceeds to S200.

この他、S200に移行すると、CPU11は、S110又はS250にてRAM15に記憶した乱数生成時刻に基づいて、前回乱数を生成した時刻(又はシード生成処理を開始した時刻)からの経過時間を算出する。そして、この経過時間と、現在の受信パケット数nとに基づき、現在のネットワークトラフィックとして、単位時間当たりの受信パケット数NTを算出する(S210)。   In addition, when the process proceeds to S200, the CPU 11 calculates the elapsed time from the time when the last random number was generated (or the time when the seed generation process was started) based on the random number generation time stored in the RAM 15 in S110 or S250. . Based on this elapsed time and the current number of received packets n, the number of received packets NT per unit time is calculated as the current network traffic (S210).

NT=受信パケット数n/経過時間
また、S210での処理を終えると、CPU11は、S220に移行し、算出した上記単位時間当たりの受信パケット数NTに、乱数生成間隔Tsを掛けて、次に設定する閾値TH1を算出する。
NT = number of received packets n / elapsed time When the processing in S210 is completed, the CPU 11 proceeds to S220, and multiplies the calculated number of received packets NT per unit time by the random number generation interval Ts. A threshold value TH1 to be set is calculated.

閾値TH1=単位時間当たりの受信パケット数NT×乱数生成間隔Ts
そして、この処理を終えると、CPU11は、S230に移行して、上記算出した閾値TH1を、新たな閾値THとして設定する(TH←TH1)。尚、閾値THとしては、上述した要件を満足する必要があることから、本実施例において、乱数生成間隔Tsは、システムクロックCLKの時間分解能(システムクロックCLKが刻む時間の最小単位)よりも、十分長い時間間隔に、設定されているものとする。
Threshold TH1 = number of received packets per unit time NT × random number generation interval Ts
When this process ends, the CPU 11 proceeds to S230 and sets the calculated threshold TH1 as a new threshold TH (TH ← TH1). Since the threshold TH needs to satisfy the above-described requirements, in this embodiment, the random number generation interval Ts is greater than the time resolution of the system clock CLK (the minimum unit of time that the system clock CLK ticks). It is assumed that the time interval is set sufficiently long.

また、S230での処理を終えると、CPU11は、S240に移行して、受信パケット数n(パラメータn)をゼロにリセットし、その後、現在時刻を、新しい乱数生成時刻として、RAM15に記憶する(S250)。   When the processing in S230 is completed, the CPU 11 proceeds to S240, resets the number of received packets n (parameter n) to zero, and then stores the current time in the RAM 15 as a new random number generation time ( S250).

また、この処理を終えると、CPU11は、S120に移行し、通信インタフェース25が新たにパケットを受信するまで待機する。そして、通信インタフェース25が新たにパケットを受信した際には、再びS130以降の処理を実行する。このようにして、当該シード生成処理では、受信パケット数nが閾値THに到達したときのパケット受信時刻の最小位ビットの値を、乱数としてRAM15に出力し、この乱数列を、上述したように、S175又はS185でシードとして設定する。   When this process is completed, the CPU 11 proceeds to S120 and waits until the communication interface 25 newly receives a packet. When the communication interface 25 newly receives a packet, the processing after S130 is executed again. Thus, in the seed generation process, the value of the least significant bit of the packet reception time when the number n of received packets reaches the threshold value TH is output to the RAM 15 as a random number, and this random number sequence is , S175 or S185 is set as a seed.

以上、本実施例について説明したが、本実施例の複合機10によれば、通信インタフェース25により受信されたパケットの個数を計測して、受信パケットの個数が閾値に達したときの時刻の最小位ビットを、乱数として出力する。そして、この動作を繰り返すことにより、シードを生成する。従って、本実施例の複合機10によれば、理想的な乱数を生成することができ、この乱数列からなるシードを用いることで、セキュリティの高い暗号通信を実現することができる。   Although the present embodiment has been described above, according to the MFP 10 of the present embodiment, the number of packets received by the communication interface 25 is measured, and the minimum time when the number of received packets reaches a threshold value is measured. The order bit is output as a random number. Then, the seed is generated by repeating this operation. Therefore, according to the multifunction machine 10 of the present embodiment, an ideal random number can be generated, and encrypted communication with high security can be realized by using a seed composed of this random number sequence.

即ち、本実施例によれば、乱数の生成に影響を与える外因が多数に及ぶため、偏りがなく、理想的な乱数を生成することができる。例えば、本実施例において、乱数の生成に影響を与える外因としては、各通信装置のパケット送信動作、及び、ネットワークトラフィック等を挙げることができるが、各通信装置のパケット送信動作は、通信相手の通信装置によるパケット送信動作の影響を受けて変化する。このため、本実施例のように、パケットの受信時刻及び受信個数を、乱数の生成に用いれば、一様に乱数を生成することができ、当該複合機10にて生成される乱数(強いてはシード)の予測を、困難にすることができる。よって、本実施例によれば、例えば、SSL通信の際に、悪意のものが予測困難な乱数データを暗号鍵の生成に用いることができ、セキュリティの高い暗号通信を実現することができる。   In other words, according to the present embodiment, since there are a large number of external factors that influence the generation of random numbers, there is no bias and ideal random numbers can be generated. For example, in the present embodiment, the external factors that influence the generation of random numbers include packet transmission operation of each communication device, network traffic, and the like. It changes under the influence of the packet transmission operation by the communication device. For this reason, as in this embodiment, if the reception time and the number of packets received are used for generating random numbers, random numbers can be generated uniformly. Seed prediction can be difficult. Therefore, according to the present embodiment, for example, in SSL communication, random data that is difficult to predict maliciously can be used for generating an encryption key, and encryption communication with high security can be realized.

また、本実施例によれば、パケット受信時刻及び受信個数に基づいて乱数を生成するため、悪意の者が、ネットワークNT上の通信装置3からパケットを送信して、当該複合機10の乱数生成に影響を与えようとしても、その行為が、当該複合機10の乱数生成に影響を与えにくい。このため、本実施例の複合機10によれば、乱数(シード)を用いて暗号通信を行う場合等において、従来よりも、セキュリティの高い通信を実現できる。   In addition, according to the present embodiment, since a random number is generated based on the packet reception time and the number of received packets, a malicious person transmits a packet from the communication device 3 on the network NT to generate the random number of the multifunction machine 10. Even if it is intended to influence the random number, the act is unlikely to affect the random number generation of the multifunction device 10. For this reason, according to the multifunction machine 10 of the present embodiment, it is possible to realize communication with higher security than before when performing cryptographic communication using a random number (seed).

その他、本実施例では、閾値THに対応する数のパケットを受信するまでに要する時間が、ネットワークトラフィックの影響を受けて変化するため、閾値THを、ネットワークトラフィックに応じて更新するようにし、概ね一定周期で、シードを生成できるようにした。従って、本実施例によれば、ネットワークトラフィックの変化により、シードの更新間隔が長くなるのを防止しながら、ネットワークを流れるパケットを利用して、シードを適切に生成することができ、セキュリティの高い暗号通信を実現することができる。   In addition, in this embodiment, since the time required to receive the number of packets corresponding to the threshold value TH changes due to the influence of network traffic, the threshold value TH is updated according to the network traffic. A seed can be generated at a constant cycle. Therefore, according to the present embodiment, it is possible to appropriately generate a seed using a packet flowing through the network while preventing a seed update interval from becoming long due to a change in network traffic. Encrypted communication can be realized.

その他、本実施例によれば、乱数生成をソフトウェアにて実現しているため、外部の物理量(外気温等)をセンサにて検出し、このセンサの検出値に基づいて乱数を生成する、ハードウェアにて乱数生成を実現している技術に比べ、センサの故障等が生じず、より信頼性の高い製品を製造することができる。また、本実施例によれば、乱数の生成が不能な場合には、通信もできないため、乱数が生成できないことにより、セキュリティの高い通信ができないといった状況になりにくく、より信頼性の高い製品を製造することができる。   In addition, according to the present embodiment, since the random number generation is realized by software, an external physical quantity (external temperature, etc.) is detected by a sensor, and a random number is generated based on a detection value of the sensor. Compared to a technology that realizes random number generation using hardware, a sensor failure or the like does not occur, and a more reliable product can be manufactured. In addition, according to the present embodiment, when random number generation is impossible, communication is also impossible, and therefore it is difficult to generate a random number, so that it is difficult to perform communication with high security, and a more reliable product is obtained. Can be manufactured.

尚、本発明の受信手段は、通信インタフェース25に相当する。また、受信時刻検出手段は、S150の処理にて実現され、受信データ数計測手段は、S130の処理にて実現され、決定手段は、S140の処理にて実現され、乱数出力手段は、S160の処理にて実現されている。また、閾値設定手段は、S230の処理にて実現され、受信時間計測手段は、S200の処理にて実現され、単位時間個数算出手段は、S210の処理にて実現され、受信可能個数算出手段は、S220の処理にて実現されている。   Note that the receiving means of the present invention corresponds to the communication interface 25. The reception time detection means is realized by the processing of S150, the reception data number measurement means is realized by the processing of S130, the determination means is realized by the processing of S140, and the random number output means is the processing of S160. It is realized by processing. The threshold setting means is realized by the process of S230, the reception time measuring means is realized by the process of S200, the unit time number calculating means is realized by the process of S210, and the receivable number calculating means is , S220 is realized.

また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、本発明を、ディジタル複合機に適用した例を説明したが、本発明は、通信機能を備えたパーソナルコンピュータ5などのその他の各種通信装置3にも適用することができる。   Further, the present invention is not limited to the above-described embodiments, and can take various forms. For example, in the above-described embodiment, an example in which the present invention is applied to a digital multifunction peripheral has been described. However, the present invention can also be applied to various other communication devices 3 such as a personal computer 5 having a communication function. .

この他、上記実施例では、シードがSSL通信に用いられることを例に挙げて、発明の効果を説明したが、シードの用途は、上記用途に限定されるものではない。例えば、シードは、無線通信の際にも用いられるので、セキュリティに関する上記効果は、無線ネットワークに対しても、同様に言うことができる。   In addition, in the said Example, although the seed was used for SSL communication as an example, the effect of invention was demonstrated, However, The use of a seed is not limited to the said use. For example, since the seed is used also in the case of wireless communication, the above-described effect on security can be similarly applied to the wireless network.

また、本発明の手法は、従来と比較して、一様に乱数を生成することができるものであるが、確実に、偏りを排除することができるものではないので、上述のシード生成処理においては、S150及びS160の処理を、図4に示す乱数補正処理に置換してもよい(変形例)。   In addition, the technique of the present invention can generate random numbers uniformly as compared with the conventional technique, but it cannot reliably eliminate the bias, so in the seed generation process described above, May replace the processing of S150 and S160 with the random number correction processing shown in FIG. 4 (modified example).

図4は、変形例の複合機10において、CPU11が実行する乱数補正処理を表すフローチャートである。尚、変形例の複合機10は、図3に示すシード生成処理において、S150及びS160の処理に代え、図4に示す乱数補正処理を実行する程度のものであり、その他は、上述の実施例と基本的に同一構成である。従って、以下では、変形例の説明として、この乱数補正処理を説明する程度に留める。   FIG. 4 is a flowchart showing random number correction processing executed by the CPU 11 in the multifunction machine 10 according to the modification. Note that the modified multifunction machine 10 is such that the random number correction process shown in FIG. 4 is executed instead of the processes of S150 and S160 in the seed generation process shown in FIG. And basically the same configuration. Therefore, in the following description, the random number correction process will be described only as an explanation of the modification.

乱数補正処理を開始すると、変形例の複合機10におけるCPU11は、S150での処理と同様に、システムクロックCLKにおける現在時刻を表すビット列の最小位ビットを参照する(S310)。そして、この参照値(最小位ビットの値)を、RAM15に用意された参照値記録領域に書き込み、この参照値を一時記憶する(S320)。   When the random number correction process is started, the CPU 11 in the multifunction machine 10 of the modified example refers to the least significant bit of the bit string representing the current time in the system clock CLK, similarly to the process in S150 (S310). Then, this reference value (value of the least significant bit) is written in a reference value recording area prepared in the RAM 15, and this reference value is temporarily stored (S320).

また、S320での処理を終えると、パラメータmの値を1加算することで、S310の実行回数である参照回数mをカウントアップし(S330)、その後、S340に移行する。尚、パラメータmは、S110における初期化処理時に、ゼロにリセットされるものとする。   When the process in S320 is completed, the value m of the parameter m is incremented by 1, thereby incrementing the reference count m, which is the execution count of S310 (S330), and then the process proceeds to S340. It is assumed that the parameter m is reset to zero during the initialization process in S110.

また、S340に移行すると、CPU11は、参照回数mが、所定回数Mであるか否かを判断し、参照回数mが所定回数Mではないと判断すると(S340でNo)、S400に移行し、参照回数mが所定回数Mであると判断すると(S340でYes)、S350に移行する。   In S340, the CPU 11 determines whether or not the reference count m is the predetermined count M. If the CPU 11 determines that the reference count m is not the predetermined count M (No in S340), the procedure proceeds to S400. If it is determined that the reference count m is the predetermined count M (Yes in S340), the process proceeds to S350.

また、S350に移行すると、CPU11は、RAM15の参照値記録領域に記憶された過去におけるS310での参照結果から、参照値が値1であった事象の発生確率P1を算出する。例えば、参照値記録領域に、上記所定回数Mのa倍の標本(参照値)が記憶されている場合には、参照値が値1である標本の数を、標本の総数(a×M)で除算して、参照値が値1であった事象の発生確率P1を算出する。   In S350, the CPU 11 calculates the occurrence probability P1 of the event whose reference value is 1 from the past reference result in S310 stored in the reference value recording area of the RAM 15. For example, when the reference value recording area stores a sample (reference value) a times the predetermined number M, the number of samples whose reference value is 1 is set to the total number of samples (a × M). Then, the occurrence probability P1 of the event whose reference value is 1 is calculated.

また、この処理を終えると、CPU11は、S360に移行して、参照値が値0であった事象の発生確率P0を算出し(P0=1−P1)、その後、確率P1が確率P0より大きいか否かを判断する(S370)。   When this process is finished, the CPU 11 proceeds to S360, calculates the occurrence probability P0 of the event whose reference value is 0 (P0 = 1−P1), and then the probability P1 is greater than the probability P0. Whether or not (S370).

そして、確率P1が確率P0よりも大きいと判断すると(S370でYes)、CPU11は、S380に移行し、後続のS400で実行される置換処理にて、(P1−0.5)/P1の確率で、参照値1が値0に置換されるように、置換処理の条件パラメータを設定する。例えば、P1=0.7である場合には、2/7の確率で、参照値1が、値0に置換されるように、置換処理の条件パラメータを設定する。尚、参照値0については、値1に置換されないように設定する。その後、S390に移行する。   If it is determined that the probability P1 is greater than the probability P0 (Yes in S370), the CPU 11 proceeds to S380, and the probability of (P1-0.5) / P1 is obtained in the replacement process executed in the subsequent S400. Then, the condition parameter for the replacement process is set so that the reference value 1 is replaced with the value 0. For example, when P1 = 0.7, the replacement process condition parameter is set so that the reference value 1 is replaced with the value 0 with a probability of 2/7. The reference value 0 is set so as not to be replaced with the value 1. Thereafter, the process proceeds to S390.

一方、S370において、確率P1が確率P0以下であると判断すると(S370でNo)、CPU11は、S385に移行し、(P0−0.5)/P0の確率で、参照値0が値1に置換されるように、置換処理の条件パラメータを設定した後、S390に移行する。尚、S385において、参照値1については、値0に置換されないように設定する。   On the other hand, if it is determined in S370 that the probability P1 is less than or equal to the probability P0 (No in S370), the CPU 11 proceeds to S385, and the reference value 0 becomes the value 1 with the probability of (P0−0.5) / P0. After setting the condition parameter of the replacement process so as to be replaced, the process proceeds to S390. In S385, the reference value 1 is set not to be replaced with the value 0.

また、S390に移行すると、CPU11は、参照回数mをゼロにリセットし、その後、S400に移行する。
S400に移行すると、CPU11は、直前のS310の処理により得られた参照値を、置換処理し、予め設定された条件パラメータに応じた確率で、参照値1を0に置換、又は、参照値0を1に置換する。その後、S410に移行する。これにより、置換処理後の参照値においては、値が1である確率、及び、値が0である確率が、夫々0.5となる。尚、シード生成処理を実行した直後では、S380又はS385の処理が実行されていないため、この状態では、S400で置換処理を実質実行せず、S410に移行する。
In S390, the CPU 11 resets the reference count m to zero, and then proceeds to S400.
When the process proceeds to S400, the CPU 11 performs a replacement process on the reference value obtained by the process of S310 immediately before, and replaces the reference value 1 with 0 with a probability corresponding to a preset condition parameter, or the reference value 0. Is replaced with 1. Thereafter, the process proceeds to S410. As a result, in the reference value after the replacement process, the probability that the value is 1 and the probability that the value is 0 are 0.5. Note that immediately after the seed generation process is executed, the process of S380 or S385 is not executed. In this state, the replacement process is not substantially executed in S400, and the process proceeds to S410.

また、S410に移行すると、CPU11は、置換処理後の参照値を、乱数として、RAM15に用意されたシード生成領域に書き込み、この参照値を一時記憶する。そして、S410での処理を終えると、CPU11は、当該乱数補正処理を終了し、S170に移行する。   In S410, the CPU 11 writes the reference value after the replacement process as a random number in a seed generation area prepared in the RAM 15, and temporarily stores this reference value. When the process in S410 is completed, the CPU 11 ends the random number correction process and proceeds to S170.

以上、変形例について説明したが、変形例によれば、乱数が一様に生成されない場合に、参照値を、必要に応じ置換して、見かけ上、乱数が一様に生成されるようにする。従って、この変形例によれば、一層、好適にシードを生成することができる。   Although the modification has been described above, according to the modification, when the random number is not uniformly generated, the reference value is replaced as necessary so that the apparent random number is generated. . Therefore, according to this modified example, seeds can be generated more suitably.

通信システム1の構成を表すブロック図である。1 is a block diagram illustrating a configuration of a communication system 1. FIG. 通信インタフェース25の処理動作を示した説明図である。FIG. 6 is an explanatory diagram showing a processing operation of a communication interface 25. CPU11が実行するシード生成処理を表すフローチャートである。It is a flowchart showing the seed production | generation process which CPU11 performs. CPU11が実行する乱数補正処理を表すフローチャートである。It is a flowchart showing the random number correction process which CPU11 performs.

1…通信システム、3…通信装置、5…パーソナルコンピュータ、10…ディジタル複合機、11…CPU、13…ROM、15…RAM、17…NVRAM、19…印刷部、21…読取部、23…表示操作部、25…通信インタフェース、CLK…システムクロック、NT…ネットワーク DESCRIPTION OF SYMBOLS 1 ... Communication system, 3 ... Communication apparatus, 5 ... Personal computer, 10 ... Digital compound machine, 11 ... CPU, 13 ... ROM, 15 ... RAM, 17 ... NVRAM, 19 ... Printing part, 21 ... Reading part, 23 ... Display Operation unit, 25 ... communication interface, CLK ... system clock, NT ... network

Claims (10)

ネットワークに接続される通信装置であって、
前記ネットワーク上の複数の他装置から送信されたデータを、前記ネットワークを介して受信する受信手段と、
記受信手段が受信したデータの個数を計測する受信データ数計測手段と、
前記受信データ数計測手段の計測結果に基づき、前記受信手段が受信したデータの個数が予め設定された閾値に到達したときの前記受信手段の受信データに関して、このデータの前記受信手段による受信時刻を検出する受信時刻検出手段と、
前記受信時刻検出手段が検出した受信時刻の最小位ビットに対応する値を、乱数として出力する乱数出力手段と、
を備えることを特徴とする通信装置。
A communication device connected to a network,
Receiving means for receiving data transmitted from a plurality of other devices on the network via the network ;
A received data number measuring means before Symbol receiving means for measuring the number of received data,
Based on the measurement result of the received data number measuring means, regarding the received data of the receiving means when the number of data received by the receiving means reaches a preset threshold, the reception time of this data by the receiving means is calculated. Receiving time detecting means for detecting;
A random number output means for outputting a value corresponding to the least significant bit of the reception time detected by the reception time detection means as a random number;
A communication apparatus comprising:
前記閾値として、前記ネットワークのトラフィックに応じた値を設定する閾値設定手段
を備えることを特徴とする請求項1記載の通信装置。
The communication apparatus according to claim 1 , further comprising a threshold setting unit configured to set a value according to traffic of the network as the threshold.
乱数の生成間隔として、前記受信時刻検出手段が検出可能な受信時刻の最小単位よりも大きい値を、記憶する記憶手段と、
現在設定されている前記閾値、に対応する個数のデータの受信に要する時間を計測する受信時間計測手段と、
前記受信時間計測手段が計測した前記データの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出手段と、
前記単位時間個数算出手段により算出された前記単位時間当たりに受信可能なデータの個数から、前記記憶手段が記憶する前記生成間隔に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出手段と、
を備え、
前記閾値設定手段は、前記受信可能個数算出手段により算出された個数を、新たな閾値として設定することを特徴とする請求項2記載の通信装置。
Storage means for storing a value larger than the minimum unit of reception time that can be detected by the reception time detection means as a random number generation interval;
A reception time measuring means for measuring a time required to receive a number of data corresponding to the currently set threshold value;
Unit time number calculating means for calculating the number of receivable data per unit time based on the time required for receiving the data measured by the reception time measuring means;
The receivable number for calculating the number of receivable data within the time corresponding to the generation interval stored in the storage means from the number of data receivable per unit time calculated by the unit time number calculating means. A calculation means;
With
The communication apparatus according to claim 2 , wherein the threshold setting unit sets the number calculated by the receivable number calculating unit as a new threshold.
ネットワークに接続される通信装置であって、A communication device connected to a network,
前記ネットワーク上の他装置から送信されたデータを、前記ネットワークを介して受信する受信手段と、  Receiving means for receiving data transmitted from another device on the network via the network;
前記受信手段によるデータの受信時刻を検出する受信時刻検出手段と、  A reception time detecting means for detecting a reception time of data by the receiving means;
前記受信手段が受信したデータの個数を計測する受信データ数計測手段と、  Received data number measuring means for measuring the number of data received by the receiving means;
前記受信データ数計測手段の計測結果に基づき、前記受信手段が受信したデータの個数が、予め設定された閾値に到達したときの前記受信手段の受信データを、乱数の生成に用いる受信データに決定する決定手段と、  Based on the measurement result of the received data number measuring means, the received data of the receiving means when the number of data received by the receiving means reaches a preset threshold is determined as received data used for generating random numbers. A decision means to
前記決定手段により決定された受信データについて、前記受信時刻検出手段が検出した受信時刻に対応する値を、乱数として出力する乱数出力手段と、  Random number output means for outputting, as a random number, a value corresponding to the reception time detected by the reception time detection means for the reception data determined by the determination means;
乱数の生成間隔として、前記受信時刻検出手段が検出可能な受信時刻の最小単位よりも大きい値を、記憶する記憶手段と、  Storage means for storing a value larger than the minimum unit of reception time that can be detected by the reception time detection means as a random number generation interval;
現在設定されている前記閾値、に対応する個数のデータの受信に要する時間を計測する受信時間計測手段と、  A reception time measuring means for measuring a time required to receive a number of data corresponding to the currently set threshold value;
前記受信時間計測手段が計測した前記データの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出手段と、  Unit time number calculating means for calculating the number of receivable data per unit time based on the time required for receiving the data measured by the reception time measuring means;
前記単位時間個数算出手段により算出された前記単位時間当たりに受信可能なデータの個数から、前記記憶手段が記憶する前記生成間隔に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出手段と、  The receivable number for calculating the number of receivable data within the time corresponding to the generation interval stored in the storage means from the number of data receivable per unit time calculated by the unit time number calculating means. A calculation means;
前記閾値を、前記受信可能個数算出手段により算出された個数に更新する閾値設定手段と、  Threshold setting means for updating the threshold to the number calculated by the receivable number calculating means;
を備えることを特徴とする通信装置。  A communication apparatus comprising:
前記受信手段は、前記ネットワーク上の他装置から送信されたデータを、宛先に拘らず受信した後、データの宛先を判別して、自装置宛以外のデータを破棄する構成にされ、
前記受信時刻検出手段は、自装置宛のデータだけでなく自装置宛以外のデータも対象として、前記受信時刻を検出する構成にされ、
前記受信データ数計測手段は、自装置宛のデータだけでなく自装置宛以外のデータも対象として、前記受信手段が受信したデータの個数を計測する構成にされていることを特徴とする請求項1〜請求項4のいずれかに記載の通信装置。
The receiving unit is configured to receive data transmitted from another device on the network regardless of the destination, determine the destination of the data, and discard data other than the device itself,
The reception time detecting means is configured to detect the reception time not only for data addressed to the own device but also for data other than the addressed to the own device,
The received data number measuring means is configured to measure the number of data received by the receiving means for not only data addressed to the own apparatus but also data other than the addressed to the own apparatus. The communication apparatus according to any one of claims 1 to 4.
ネットワークに接続され、前記ネットワーク上の複数の他装置から送信されたデータを、前記ネットワークを介して受信する受信手段を備えた通信装置のコンピュータに、
前記受信手段が受信したデータの個数を計測する受信データ数計測機能と、
前記受信データ数計測機能によ計測結果に基づき、前記受信手段が受信したデータの個数が予め設定された閾値に到達したときの前記受信手段の受信データに関して、このデータの前記受信手段による受信時刻を検出する受信時刻検出機能と、
前記受信時刻検出手段が検出した受信時刻の最小位ビットに対応する値を、乱数として出力する乱数出力機能と、
を実現させるためのプログラム。
A computer connected to a network and having a receiving means for receiving data transmitted from a plurality of other devices on the network via the network.
A received data number measurement function to measure the number of data received by the receiving means,
Based on the I that measurement result to the reception data counting function for the received data of the receiving means when the number of data received by the receiving means reaches a preset threshold, received by said receiving means of the data A reception time detection function for detecting time;
A random number output function for outputting a value corresponding to the least significant bit of the reception time detected by the reception time detection means as a random number;
A program to realize
前記閾値として、前記ネットワークのトラフィックに応じた値を設定する閾値設定機能
を、更にコンピュータに実現させるための請求項6記載のプログラム。
The program according to claim 6 , further causing a computer to realize a threshold setting function for setting a value according to traffic of the network as the threshold.
コンピュータに、
現在設定されている前記閾値、に対応する個数のデータの受信に要する時間を計測する受信時間計測機能と、
前記受信時間計測機能により計測された前記データの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出機能と、
前記単位時間個数算出機能により算出された前記単位時間当たりに受信可能なデータの個数から、前記受信時刻検出機能により検出可能な受信時刻の最小単位よりも大きい値として予め定められた乱数の生成間隔、に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出機能と、
を実現させ、更に、
前記閾値を、前記受信可能個数算出機能にて算出された個数に、更新する機能
を、前記閾値設定機能としてコンピュータに実現させるための請求項7記載のプログラム。
On the computer,
A reception time measuring function for measuring the time required to receive the number of data corresponding to the currently set threshold value;
A unit time number calculation function for calculating the number of data that can be received per unit time based on the time required to receive the data measured by the reception time measurement function;
A random number generation interval predetermined as a value larger than the minimum unit of the reception time detectable by the reception time detection function from the number of data receivable per unit time calculated by the unit time number calculation function A receivable number calculating function for calculating the number of receivable data within a time corresponding to
In addition,
The program according to claim 7 for causing a computer to realize, as the threshold setting function, a function of updating the threshold to the number calculated by the receivable number calculation function.
ネットワークに接続され、前記ネットワーク上の他装置から送信されたデータを、前記ネットワークを介して受信する受信手段を備えた通信装置のコンピュータに、  A computer connected to a network and having a receiving means for receiving data transmitted from another device on the network via the network.
前記受信手段が受信したデータの受信時刻を検出する受信時刻検出機能と、  A reception time detection function for detecting a reception time of data received by the reception means;
前記受信手段が受信したデータの個数を計測する受信データ数計測機能と、  A received data number measuring function for measuring the number of data received by the receiving means;
前記受信データ数計測機能による計測結果に基づき、前記受信手段が受信したデータの個数が、予め設定された閾値に到達したときの前記受信手段の受信データを、乱数の生成に用いる受信データに決定する決定機能と、  Based on the measurement result of the received data number measurement function, the received data of the receiving means when the number of data received by the receiving means reaches a preset threshold is determined as the received data used for generating random numbers. A decision function to
前記決定機能により決定された受信データについて、前記受信時刻検出機能により検出された受信時刻に対応する値を、乱数として出力する乱数出力機能と、  A random number output function for outputting a value corresponding to the reception time detected by the reception time detection function as a random number for the reception data determined by the determination function;
現在設定されている前記閾値、に対応する個数のデータの受信に要する時間を計測する受信時間計測機能と、  A reception time measuring function for measuring the time required to receive the number of data corresponding to the currently set threshold value;
前記受信時間計測機能により計測された前記データの受信に要した時間に基づき、単位時間当たりに受信可能なデータの個数を算出する単位時間個数算出機能と、  A unit time number calculation function for calculating the number of data that can be received per unit time based on the time required to receive the data measured by the reception time measurement function;
前記単位時間個数算出機能により算出された前記単位時間当たりに受信可能なデータの個数から、前記受信時刻検出機能により検出可能な受信時刻の最小単位よりも大きい値として予め定められた乱数の生成間隔、に対応する時間内に受信可能なデータの個数を算出する受信可能個数算出機能と、  A random number generation interval predetermined as a value larger than the minimum unit of the reception time detectable by the reception time detection function from the number of data receivable per unit time calculated by the unit time number calculation function A receivable number calculating function for calculating the number of receivable data within a time corresponding to
前記閾値を、前記受信可能個数算出機能にて算出された個数に更新する閾値設定機能と  A threshold value setting function for updating the threshold value to the number calculated by the receivable number calculating function;
を実現させるためのプログラム。  A program to realize
前記受信手段は、前記ネットワーク上の他装置から送信されたデータを、宛先に拘らず受信した後、データの宛先を判別して、自装置宛以外のデータを破棄する構成にされ、
当該プログラムは、
自装置宛のデータだけでなく自装置宛以外のデータも対象として、前記受信時刻を検出する機能
を、前記受信時刻検出機能としてコンピュータに実現させ、
自装置宛のデータだけでなく自装置宛以外のデータも対象として、前記受信手段が受信したデータの個数を計測する機能
を、前記受信データ数計測機能としてコンピュータに実現させるためのプログラム
であることを特徴とする請求項6〜請求項9のいずれかに記載のプログラム。
The receiving unit is configured to receive data transmitted from another device on the network regardless of the destination, determine the destination of the data, and discard data other than the device itself,
The program is
A function for detecting the reception time for not only data addressed to the device itself but also data other than the device addressed to the device is implemented in the computer as the reception time detection function,
A program for causing a computer to realize the function of measuring the number of data received by the receiving unit as the received data number measuring function for not only data addressed to the own device but also data other than the addressed to the own device. The program according to any one of claims 6 to 9, wherein:
JP2006234181A 2006-08-30 2006-08-30 Communication apparatus and program Expired - Fee Related JP4725462B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006234181A JP4725462B2 (en) 2006-08-30 2006-08-30 Communication apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006234181A JP4725462B2 (en) 2006-08-30 2006-08-30 Communication apparatus and program

Publications (2)

Publication Number Publication Date
JP2008058514A JP2008058514A (en) 2008-03-13
JP4725462B2 true JP4725462B2 (en) 2011-07-13

Family

ID=39241340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006234181A Expired - Fee Related JP4725462B2 (en) 2006-08-30 2006-08-30 Communication apparatus and program

Country Status (1)

Country Link
JP (1) JP4725462B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130009392A (en) 2011-07-15 2013-01-23 삼성전자주식회사 Operation method of controller and a memory system having the controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844678A (en) * 1994-07-29 1996-02-16 Canon Inc Image processing apparatus and system
JPH09270784A (en) * 1996-03-29 1997-10-14 Hitachi Software Eng Co Ltd Ciphering/decoding/digital signature generating/ verification device
JP3518985B2 (en) * 1998-02-03 2004-04-12 日本電信電話株式会社 Terminal-independent random number generation method and device, recording medium storing terminal-independent random number generation program
JP2004206025A (en) * 2002-10-30 2004-07-22 Masakatsu Morii Random number generation method, random number generation computer program, computer network system, and computer

Also Published As

Publication number Publication date
JP2008058514A (en) 2008-03-13

Similar Documents

Publication Publication Date Title
Demichelis et al. IP packet delay variation metric for IP performance metrics (IPPM)
CN110024350B (en) Time synchronization method, device and system
KR20190002712A (en) The intrusion detection device and the intrusion detection program stored in the storage medium
CN107736006A (en) Imaging Consumables
Demichelis et al. RFC3393: IP packet delay variation metric for IP performance metrics (IPPM)
WO2014147934A1 (en) Communication device, communication system and communication method
US9769333B2 (en) SERVER for collecting status information of image forming devices
JP4725462B2 (en) Communication apparatus and program
JP4187010B2 (en) Network device, information processing apparatus, and program
JP2011242984A (en) Image forming apparatus and method therefor
JP4462252B2 (en) Information processing apparatus and program
JP2009212840A5 (en)
JP5779987B2 (en) Selection program, image processing apparatus, and computer
JP2022113843A (en) Information processing equipment, communication system, and program
WO2018207463A1 (en) Random number generation device, information processing device, and random number generation method
CN110213292B (en) Data sending method and device and data receiving method and device
JP5253949B2 (en) Communication device and communication program
JP5595523B2 (en) Peripheral device of programmable controller and communication method thereof
JP6179317B2 (en) Information processing apparatus, information processing system, and information processing method
JP4175354B2 (en) Communication device
JP6304562B2 (en) Image forming apparatus
JP7107171B2 (en) Communication device and computer program for communication device
US11301185B2 (en) Method for managing log generated in image forming apparatus
JP5486371B2 (en) COMMUNICATION SYSTEM AND COMMUNICATION DEVICE USED FOR THE COMMUNICATION SYSTEM
JP4870453B2 (en) Image forming apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

R150 Certificate of patent or registration of utility model

Ref document number: 4725462

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees