An encryption communication system using an agent and a storage medium for storing that agent
17 claims: 9 independent, 8 dependent
- 1Encryption communication method to send encrypted Data between a first terminal and a second terminal, comprising the steps of:Sending encrypted in a Manner in which installed a first agent from the first terminal, is, which contains a program for cryptographic processing, a second agent having the same function as the first agent to the second terminal;and Making an encrypted Communication between the first agent and the second agent;in which the method further comprises the step of: independent and synchronous Change a parameter the for encrypted Communication is necessary when the cryptographic processing sequence reaches the time for switching the encryption method.
- 2Encryption communication method to send encrypted Data between a first terminal and a second terminal, comprising the steps of:?page 19? Sending encrypted in a Manner in which installed a first agent from the first terminal, is, which contains a program for cryptographic processing, a second agent having the same function as the first agent to the second terminal;and Making an encrypted Communication between the first agent and the second agent;in which the first and the second agent each having a plurality of cryptographic Processing units provide and the further step: Change cryptographic processing units to be used, while a synchronization between the first and second agents is maintained.
- 5Encryption communication method according to any one of the preceding claims, wherein by the first and second agent provided encryption method using a pseudo-random number.
- 10Encryption communication method according to any one of the preceding claims, in which a plurality the second terminal is provided, and the transmitting step comprises distributing of the second agent comprises, at each of the second terminals.
- 11Encryption communication method according to any one of the preceding claims, wherein the second Agent is described in a mobile code.
- 12Storage medium which stores a program, which provides the following functions when it by a computer is used:(A) making a cryptographic processing in a transfer destination terminal, (B) sending encrypted in a Manner, an agent which contains a program corresponding to the function (a), to the transfer destination terminal, and (C) making an encrypted Communication with the transmitted agent;with the further Function: (D) Change a parameter for encrypted Communication with the transmitted agent is necessary to synchronously with and independently from the transmitted agent when the cryptographic processing sequence reaches the time for switching the encryption method.
- 13Storage medium which stores a program, which provides the following functions when it by a computer is used:(A) making a cryptographic processing in a transfer destination terminal, (B) sending encrypted in a Manner, an agent which contains a program corresponding to the function (a), to the transfer destination terminal, and (C) making an encrypted Communication with the transmitted agent;with the other features: (D) providing the agent with a variety of cryptographic Processing units, and (E) changing the cryptographic to be used Processing units, while synchronization between the computer and the transfer destination terminal is maintained.
- 16Information processing unit ( 10 ) to Use in an encrypted Communication, comprising:a first agent ( 14 ) Provided in the information processing unit ( 10 ) Is a permanent resident, and the means for cryptographic processing of information;a second agent ( 11 ) Which has the same function as the first Agent has, for use at a destination of the encrypted Communication;and a transmitting device ( 12 ) to the Sending encrypted in a Way, the second agent ( 11 ) To the target;thereby, after transmission of said second agent by said transmitting means, the first agent ( 14 ) In the information processing unit ( 10 ) And the second agent ( 11 ) Carry out an encrypted communication on target can;in which of the independently and synchronously change first agent and the second agent a parameter for the encrypted Communication is necessary when the cryptographic processing sequence reaches the time for switching the encryption method.
- 17Information processing unit ( 10 ) to Use in an encrypted Communication, comprising:a first agent ( 14 ) Provided in the information processing unit ( 10 ) Is a permanent resident, and the means for cryptographic processing of information;a second agent ( 11 ), Which is substantially the same function as the first agent has, for use at a destination of the encrypted Communication;and a transmitting device ( 12 ) to the Sending encrypted in a Way, the second agent ( 11 ) To the target;?page 21? thereby, after transmission of said second agent by said transmitting means, the first agent ( 14 ) In the information processing unit ( 10 ) And the second agent ( 11 ) Carry out an encrypted communication on target can;in which the first agent ( 14 ) And the second agent ( 11 ) each having a plurality of cryptographic processing units provide and said first and second agent adapted to be used in the changing cryptographic processing units, while a synchronization between the first and second agents is maintained.
Independent claims9
158 paragraphs, as filed
These This invention relates to a cryptographic communication method, the theft and interception and falsification of information in a communication to prevent between computers; especially it relates to a method for encryption using a Agents.
In recent years, with the explosion of Internet and intranets, the importance of information security constantly increased. Known security procedures in the information communication include the method of encrypting information Use of encryption keys, the terminals have in common, such as the DES (Data Encryption Standard), and an encryption method as RSA public at the terminals key exchange, and information is encrypted using their private key. additionally there is increasing encryption security known methods such as the change the encryption key and the encryption method over time, such as in Tokkaihei (Japanese Patent Publication) 1-212041 described.
In a conventional ordinary Encryption communication system is the encryption method public known. To obtain a strong cryptosystem must in this Because of when encrypting key used a big having number of bits. However, if the encryption in the key used a big having number of bits that is used for the encryption and decryption processing Time required inevitably long. Specifically, when the encryption takes place in real-time applications (such as voice and video), is the Slowness of processing in conventional methods such as DES and RSA is a problem.
If encryption is carried out by a method of the change of the combination encryption key and the encryption method involved with time, it is necessary, the encryption key previously register and the encryption program to install in the terminal before that for such an encryption communication be used. Every time new terminal facilities in a added network are, accordingly, it is necessary the encryption key register and the encryption program to install in this terminal.
The US-4984271-A discloses an encryption communication method. In this method, one of a Chiffrierprozessprogramm Host sent to a terminal when the terminal is turned on, and is cleared when the terminal is turned off.
On The purpose of this invention is to provide a strong encryption method, the adequate processing speed , such that in practice no problem in the real-time transfer of data occurs.
On Another purpose of this invention is to enable encrypted communication perform between terminals, without the same encryption program must be pre-installed in this.
The Invention by means of the method of claim 1 and 2, the storage media of claim 12 and 13, of the system of claim 15 and of the devices 16 and 17 carried out by claim.
More Aspects of the invention are defined in the other independent claims.
Now is based merely Examples reference to the accompanying drawings in which: -
<figref idrefs="S50">1</figref> is a view, which summarizes these Invention;
<figref idrefs="S51">2</figref> a configuration diagram the server and the client is;
<figref idrefs="S52">3</figref> a configuration diagram a trusted Agents is that in mobile (transferable or machine-independent) Code is described;
<figref idrefs="S53">4A</figref> and <figref idrefs="S53">4B</figref> Sequence diagrams showing the explain processing, the sending of a <?page 3?>trusted agents and manufacturing an encrypted is communication path involved;
<figref idrefs="S54">5</figref> a configuration diagram the encrypted Communication system of an embodiment of this invention;
<figref idrefs="S55">6</figref> a configuration diagram the encrypted Communication system of a further embodiment of this invention is;
<figref idrefs="S56">7A</figref> and <figref idrefs="S56">7B</figref> Representations are, the one example the configuration of the cryptographic processing unit, respectively;
<figref idrefs="S57">8</figref> is a view, which the hardware circuit of an embodiment of a pseudo random number generator shows;
<figref idrefs="S58">9</figref> is a view, showing the configuration of a 3-stage pseudo-random number generator, of the M-series generated;
<figref idrefs="S59">10A</figref> to <figref idrefs="S59">10C</figref> Figures, the example of a Pseudorandom number Generierverfahrens show;
<figref idrefs="S60">11</figref> a flow diagram, which explains the action of the encryption method selection control unit;
<figref idrefs="S61">12A</figref> a sequence diagram showing the processing at the transmission side, when data between sent and received applications;
<figref idrefs="S61">12B</figref> a configuration diagram a data packet is, sends the ciphertext;
<figref idrefs="S62">13</figref> is a sequence diagram, showing the processing on the receiving side, when data between sent and received applications;
<figref idrefs="S63">14A</figref> and <figref idrefs="S63">14B</figref> Representations are, the process, a explain for producing a cryptographic synchronization;
<figref idrefs="S64">15</figref> is a view, an example of the configuration of an encrypted communication system shows the changes the startup parameters for the purpose of generation of pseudorandom numbers;
<figref idrefs="S65">16</figref> a configuration diagram an encrypted Communication system of a further embodiment of this invention is;
<figref idrefs="S66">17</figref> a configuration diagram an encrypted Communication system of still another embodiment of this invention is;
<figref idrefs="S67">18</figref> a flow diagram, explaining the action of Startparametergeneriersektion;
<figref idrefs="S68">19</figref> a configuration diagram for the Case in which the encrypted Communication system of this embodiment is adapted to the WWW;
<figref idrefs="S69">20</figref> a configuration diagram for the Case in which the encrypted Communication of this invention in an image transmission / Voice Transmission System is applied;
<figref idrefs="S70">21</figref> a configuration diagram for the Case in which the encrypted Communication of this invention in an electronic conference system is applied;
<figref idrefs="S71">22</figref> is a view, which the processing for changing the communication object of an application pro gramme explained when a trustworthy Agent is used;
<figref idrefs="S72">23</figref> to <figref idrefs="S78">29</figref> Figures, the example of a Show agent program for sending described mobile code encrypted Images used.
In the encrypted Communication system of an embodiment this invention is first <?page 4?>an agent for the purpose of encryption processing installed in the transmitting terminal. Before transferring data sends the transmitting terminal an agent having the same function as the installed agent to the receiving terminal. The agent who at the receiving terminal is transmitted, is described in mobile code. When data is transferred, the data using of this agent is encrypted in the transmitting terminal, and in the receiving terminal decrypted using the agent that the transmitting terminal was sent.
Thus it is possible in this configuration, an encrypted also perform communication with a terminal that is not a program for encryption processing Has. At this time, the encryption and decryption processing executed by the agent, Therefore, it is not necessary that the user with the for this encrypted Encryption methods used communication employed. In addition, the encryption and decryption processing of agents having the same functions in both the transmitting terminal as also made in the receiving terminal, so that the ciphertext reliable decrypts the receiving terminal can be. The encryption method may, if desired, be secret. The security of the encryption can be done by changing of the encoding required key synchronously in accordance be increased with pre-agreed between Agen ten rules. Therefore, an encryption method are selected with a low total cost to the processing time to reduce.
in the Hereinafter are embodiments of this invention described with reference to the drawings. <figref idrefs="S50">1</figref> is a representation, a review of these Invention explained. This diagram shows an example in which information is encrypted and Form between a server <figref>10</figref> and a client <figref>15</figref> transferred will. The server<figref>10</figref> and the client <figref>15</figref> are both Computer.
Of the trustworthy agent <figref>11</figref> has a program for the purpose of encryption data and is described in mobile code. The transmitting unit<figref>12</figref> of trusted Agent sends the trusted agents <figref>11</figref> to the client <figref>15</figref>, The application program<figref>13</figref> accepts processing prior to sending data to the client <figref>15</figref> and receiving data of this accompanied. Applications in this embodiment are provided include telephone, television conferencing, video transmission, etc., all of which require real-time processing, the possible Applications are not limited to these. The trusted agent<figref>14</figref> is an encrypted Program, which has the same function as the trusted agent <figref>11</figref>; it is in the server <figref>10</figref> permanent resident.
The application program <figref>16</figref> is basically the same as the application <figref>13</figref>, The trusted agent <figref>17</figref> is the trustworthy agent <figref>11</figref>, To which the server <figref>10</figref> transferred. The encrypted communication <figref>18</figref> is a way between the trusted agents <figref>14</figref> and the trustworthy agents <figref>17</figref> will be produced.
<figref idrefs="S51">2</figref> is a configuration diagram the server <figref>10</figref> and the client <figref>15</figref>, The memory array<figref>501</figref> consists from a semiconductor memory, a magnetic recording medium or an optical recording medium, etc., and stores programs, Data, etc. The memory device <figref>501</figref> can permanently in the server <figref>10</figref> or the client <figref>15</figref> be installed, or it may be removable.
Of the Storage medium driver <figref>502</figref> is an arrangement which data reads in the portable storage medium <figref>503</figref> (Including semiconductor memory, Magnetic disk, optical disk, magneto-optical disk, etc.) stored are, or data in the portable storage medium <figref>503</figref> writes. The communication control unit <figref>504</figref> is a moiety sending data to a network and receiving data by This controls.
The CPU <figref>505</figref> Loading Programs from the storage device <figref>501</figref> or the portable storage medium <figref>503</figref> in the memory <figref>506</figref> and executes them out. Note that programs and data stored in the storage medium<figref>501</figref> saved are, from the portable storage medium <figref>503</figref> registered may have been, or from another device on a network via a communication line can be received. The configuration can also be such that the CPU <figref>505</figref> Programs and data, the are stored in another memory device on a can use communication line.
The trusted agents <figref>11</figref> and <figref>14</figref> previously in the memory array <figref>501</figref> in the server <figref>10</figref> stored. The trusted agent<figref>11</figref> and <figref>14</figref> can from the portable storage medium <figref>503</figref> in the memory array <figref>501</figref> installed be, or may from another device on a network in the memory array <figref>501</figref> installed will. The trusted agent <figref>14</figref> to the memory, <?page 5?><figref>506</figref> charged when an encrypted Communication is started.
In the client <figref>15</figref> is the trusted agent <figref>17</figref> about the Communication control section <figref>504</figref> received and in the memory <figref>506</figref> Loading.
The Action of in <figref idrefs="S50">1</figref> shown Crypto system is as follows. First, prior to data communication, is the transmitter unit <figref>12</figref> trusted agent booted, and trusted agent <figref>11</figref> is from the server <figref>10</figref> to the client <figref>15</figref> Posted. At this time the trusted agent <figref>11</figref> by a method such as RSA or RSA + DES encrypted and transferred.
The Processing speeds of RSA, DES, etc., are slow, therefore they are not the best encryption engines for encryption to be used by data requiring real-time processing, such as audio data and video data, however, when a trusted agent encoded will have to encryption processing and decryption processing each performed only once are, and the data amount is much smaller than in the cases of Audio data and video data, so that even in the cases of RSA and DES, the processing speed is not a problem.
As next provide the trusted agent <figref>14</figref> the server <figref>10</figref> and the trusted agent <figref>17</figref> of clients <figref>15</figref> encrypted communication <figref>18</figref> ago. The processing by which the trustworthy agent <figref>11</figref> from the server <figref>10</figref> for client <figref>15</figref> transferred is, and the processing by which the encrypted communication <figref>18</figref> in between the trustworthy agents <figref>14</figref> and the trusted agent <figref>17</figref> produced will be explained hereinafter.
The trusted agents <figref>14</figref> and <figref>17</figref> are with the application programs <figref>13</figref> or. <figref>16</figref> connected; they encode Data so that the data is not stolen or falsified can, then they send and receive data to / from each other. encryption between the vertrauenswür ended agent <figref>14</figref> and the trustworthy agent <figref>17</figref> follow the procedure in the trusted agent in the <figref>14</figref> and <figref>17</figref> contained described programs. The trusted agent<figref>14</figref> and <figref>17</figref> can synchronously the for encryption necessary key (A secret key) in accordance with a predetermined rule change. This increases the strength of the Encryption.
<figref idrefs="S52">3</figref> is a configuration diagram of trusted agents <figref>11</figref>Described mobile code. The trusted agent<figref>11</figref>. as in <figref idrefs="S52">3A</figref> shown, from an application interface section <figref>11-1</figref> and a cryptographic processing section <figref>11-2</figref>, The application interface section<figref>11-1</figref> Has the role of the exchange of signals between an ordinary Application program (application here <figref>16</figref>) And the cryptographic processing section <figref>11-2</figref>; the cryptographic processing section<figref>11-2</figref> encrypted and decrypts Signals to / from the application interface section <figref>11-1</figref>, Another function, the application interface section the <figref>11-1</figref> Has, the absorption differences due to different operating systems, if the API is dependent on the operating system.
In <figref idrefs="S52">3B</figref> has trusted agent <figref>11</figref> a Application program section <figref>11-3</figref>, In this case, the in the trusted agents <figref>11</figref> application program stored in mobile code described, and the application program section <figref>11-3</figref> becomes along with the application interface section <figref>11-1</figref> and the cryptographic processing section <figref>11-2</figref> Posted.
<figref idrefs="S53">4A</figref> is a sequence chart, explaining the processing, through a trusted agent is sent and an encrypted Communication is established. Here it is assumed that the server <figref>10</figref> the terminal is that the trusted agent sending, and the client <figref>15</figref> is the terminal that the trusted agent receives. Further, it is assumed that the encryption method pseudo-random numbers used. The pseudo-random numbers are generated on the basis of "Initial Start parameter" how detailed explained in the following becomes.
If encrypted Communication is started, first, an initial start-up parameters in the server <figref>10</figref> generated. The initial start-up parameters will generated, for example on the basis of time. is Next this initial start-up parameters in the trusted agent <figref>11</figref> and <figref>14</figref> set. Then, the trusted agent <figref>11</figref>, Set in the the initial start-up parameters was, to the client <figref>15</figref> Posted. The trusted agent<figref>11</figref> becomes, as discussed above, transferred, after passing through the RSA or DES method encoded has been. Then, the server starts<figref>10</figref> the trusted agent <figref>14</figref>,
It it is assumed that in the client <figref>15</figref> a program for hochgefah receiving the agents<?page 6?>ren was. If the client<figref>15</figref> the trusted agents <figref>11</figref> receives, is this trusted agent <figref>11</figref> in the memory load and as a trusted agent <figref>17</figref> booted.
The trusted agents <figref>14</figref> and <figref>17</figref> provide an encrypted Communications ago; thereafter ciphertext on this encrypted Sending communication and received.
<figref idrefs="S53">4B</figref> is a representation, illustrating the process through an encrypted Communication path between trusted agents prepared becomes. Here it is assumed that the trusted agent<figref>14</figref> already was booted. The cryptographic processing sections Trusted agents <figref>14</figref> and <figref>17</figref> consist of a transmitter section depending Weil and a receiving section. The transmit section encrypts data from an application program and performs a transmission processing; the receiving section converts encrypted data into plain text or appropriate application data and performs processing to the to transfer data to an application program. The transmit section and the receiving section are implemented by means of threads.
First sends the transmit section of the trusted agent <figref>14</figref> a Connection request to the receiving section of the trusted agent <figref>17</figref>, If the transmission path is for example an Ethernet, is this connection request is transferred by a TCP packet. There At this time, the connection request is rejected if the trustworthy agent <figref>17</figref> was not booted, issued in this case, the transmit section of the trusted agents <figref>14</figref> repeats the connection request until a Response from the receiving section of the trusted agent <figref>17</figref> receive becomes.
If the receiving section of the trusted agent <figref>17</figref> a Reply message in response sends the connection request, and the receiving section of the trusted agent <figref>14</figref> These news receives, is a path between the transmit section of the trusted agent <figref>14</figref> and the receiving section of the trusted agent <figref>17</figref> produced. The process for preparing a path between the transmit section of trusted agents <figref>17</figref> and the receiving section of the trusted agent <figref>14</figref> is similar.
After that encoded the transmit section of the trusted agents <figref>14</figref> Data from the application program <figref>13</figref> and then sends the encrypted Data on the trusted agents <figref>17</figref> on the Path that has been established. The receiving section of the trusted agent<figref>17</figref> entschlüs puzzled received ciphertext or encrypted Data and transfers the obtained plaintext or appropriate Application Data to the application program <figref>16</figref>, The process for sending encrypted Data in the reverse direction is similar. The encrypted Data is stored for example in a UDP packet and then transferred.
<figref idrefs="S54">5</figref> is a configuration diagram the encrypted Communication system of an embodiment this invention. The workstations<figref>20</figref> and <figref>30</figref> match the server <figref>10</figref> or the client <figref>15</figref> in <figref idrefs="S50">1</figref>, The application programs<figref>21</figref> and <figref>31</figref> match the application programs <figref>13</figref> or. <figref>16</figref> in <figref idrefs="S50">1</figref>, The trusted agent<figref>22</figref> and <figref>32</figref> match Trusted agents <figref>14</figref> or. <figref>17</figref> in <figref idrefs="S50">1</figref>, The workstation<figref>20</figref> and the workstation <figref>30</figref> are on the Internet <figref>19</figref> together connected.
Of the trustworthy agent <figref>22</figref> has the cryptographic processing units <figref>26</figref> to <figref>29</figref>, Each of the cryptographic processing units <figref>26</figref> to <figref>29</figref> encrypted data by a different from the other methods. The encryption method selection unit<figref>24</figref> chooses a the cryptographic processing units <figref>26</figref> to <figref>29</figref> in accordance with an instruction from the encryption method selection controller <figref>25</figref> out, and transferred via the application interface section <figref>23</figref> received data chosen cryptographic processing unit. The encryption method selection controller<figref>25</figref> generated an instruction signal and outputs it to the selection one among the cryptographic processing units <figref>26</figref> to <figref>29</figref> in accordance with a specified algorithm. The method by which this instruction signal is generated, will be described later. The application interface section <figref>23</figref> is basically the same as in the <figref idrefs="S52">3A</figref> and <figref idrefs="S52">3B</figref> interface-section application shown <figref>11-1</figref>,
Of the trustworthy agent <figref>32</figref> was from the workstation <figref>20</figref> transferred. The application interface unit <figref>33</figref>, The encryption method selection unit <figref>34</figref> and the cryptographic processing units <figref>35</figref> to <figref>38</figref> are in principle each the same as the application interface unit <figref>23</figref>. the encryption method selection unit <figref>24</figref> and the cryptographic processing units <figref>26</figref> to <figref>29</figref>. the Trusted agents <figref>22</figref> form. The trusted agent<figref>32</figref> Has no unit of Ver<?page 7?>encryption method selection controller <figref>25</figref> corresponds; the encryption method selection unit <figref>34</figref> chooses a the cryptographic processing units <figref>35</figref> to <figref>38</figref> in accordance with an instruction signal, which of the encryption method selection control unit <figref>25</figref> generated becomes.
The Action of in <figref idrefs="S54">5</figref> shown Encryption communication system is as follows. First, the trusted agent is<figref>32</figref>, of the described mobile code, encrypted and from the workstation <figref>20</figref> to workstation <figref>30</figref> transferred.
As next is the encryption method, that for encrypted Communication is necessary in the encryption method selection controller <figref>25</figref> certainly. The encryption method selection controller <figref>25</figref> transferred Information that instruct to use that encryption methods is the encryption method selection unit <figref>24</figref> and the encryption method selection unit <figref>34</figref> of the workstation <figref>30</figref>, This ensures that the encrypted Communication.
If the encryption method selection controller <figref>25</figref> for example the first encryption method selects Then, as in <figref idrefs="S54">5</figref> shown, beitsstation Ar <figref>20</figref> Data using the first cryptographic processing unit <figref>26</figref> encrypted, and in the workstation <figref>30</figref> be the ciphertext or encrypted Data using the first cryptographic processing unit <figref>35</figref> decrypted.
communication data from the application program <figref>21</figref> be in the cryptographic Processing unit encrypts, of the encryption method selection unit <figref>24</figref> about the Application interface unit <figref>23</figref> is selected. This in <figref idrefs="S54">5</figref> example shown shows the case in which the first cryptographic processing unit <figref>26</figref> was selected.
The encrypted Data is the Internet <figref>19</figref> to the workstation <figref>30</figref> Posted. Data (ciphertext or encrypted data) of the workstation <figref>30</figref> be received, in the cryptographic Processing unit decrypts, of the encryption method selection unit <figref>34</figref> is selected (In this example, the first cryptographic processing unit <figref>35</figref>) and to the application program <figref>31</figref> in the workstation <figref>30</figref> about the Application interface unit <figref>33</figref> transferred.
The Data transmission from the application program <figref>31</figref> in the workstation <figref>30</figref> to the application program <figref>21</figref> in the workstation <figref>20</figref> is a similar encryption process performed.
The Encryption method selection controller <figref>25</figref> elects new encryption method in regular or irregular intervals , and received the Verschlüsselungsve rfahrensauswahl unit<figref>24</figref> of the workstation <figref>20</figref> and the encryption method selection unit <figref>34</figref> of the workstation <figref>30</figref> the selection results. In this type of configuration changes the encryption method with time, thereby making it difficult, the encrypted to decrypt data.
In the embodiment described above is the encryption method selection controller <figref>25</figref> in the workstation <figref>20</figref> provided, however, it is, for example, also possible, an encryption method instruction server on network to install, and to cause the trusted agent their encryption methods on the basis of instructions from the instruction encryption process server switch.
Also in the embodiment described above, the cryptographic Processing units within the trusted agent, but it is also possible, a distribution server for To install the cryptographic processing units, the Programs for the purpose of cryptographic processing in mobile Code are described, distributed at the net, and programs for the purpose to have the cryptographic processing of the distribution server for the cryptographic processing units to the trusted agent be distributed.
<figref idrefs="S55">6</figref> is a configuration diagram the encrypted Communication system of another embodiment of this invention. In <figref idrefs="S55">6</figref> apply the preceding Remarks without change for components with the same symbols, which in <figref idrefs="S54">5</figref> used were.
In the in <figref idrefs="S55">6</figref> shown system is the encryption method selection controller <figref>39</figref> in the trusted agents <figref>32</figref> provided. The encryption method selection controller<figref>39</figref> is the same as the encryption method selection controller <figref>25</figref> within of trusted <?page 8?>agents <figref>22</figref>, Accordingly, the trustworthy agent <figref>32</figref> Select the same encryption method itself as the from trusted agents <figref>22</figref> selected Encryption method without an instruction for the purpose of encryption method of choice the trustworthy agents <figref>22</figref> to recieve.
Now is the action of in <figref idrefs="S55">6</figref> shown encrypted Communication system explained. First, the trusted agent <figref>32</figref> from the workstation <figref>20</figref> for workstation <figref>30</figref> transferred. This processing is as with reference to <figref idrefs="S54">5</figref> explained.
The Encryption method selection controller <figref>25</figref> in the workstation <figref>20</figref> and the encryption method selection controller <figref>39</figref> in the workstation <figref>30</figref> determine their respective encryption methods independently from each other, and transmit the encryption method selection unit <figref>24</figref> of the workstation <figref>20</figref> or the encryption method selection unit <figref>34</figref> of the workstation <figref>30</figref> these respective encryption methods, which were determined. Here, the encryption method selection control units<figref>25</figref> and <figref>39</figref> synchronization function in the encryption method selection, so that the same encryption method of the encryption method selection control units <figref>25</figref> and <figref>34</figref> is selected.
Now is easily explained, what with "synchronization functions is meant in the encryption method selection ". The Encryption method selection control units <figref>25</figref> and <figref>39</figref> give each results from that in accordance were obtained with given initial conditions. The encryption method selection controller<figref>39</figref> given Initial conditions are in the workstation <figref>20</figref> set. These initial conditions are the same as those of the encryption method selection controller <figref>25</figref> given will. In<figref idrefs="S53">4</figref>, The above was discussed, the same initial starting parameters were in trusted agent 2 set as initial conditions. Here the Verschlüsselungsverfahrensauswahl- have control units<figref>25</figref> and <figref>39</figref> each other same functions, so that if the encryption method selection control units <figref>25</figref> and <figref>39</figref> the same Initial conditions are given, they generate the same results. Accordingly work the encryption method selection control units <figref>25</figref> and <figref>39</figref> independently, however, give the same values as signals to be used in the encryption method Show. This is referred to as synchronization with the selection of the encryption method.
by means of the synchronization function is always the same encryption method in the workstation <figref>20</figref> and the workstation <figref>30</figref> selected without that information is sent and received between them. This ensures an encrypted Communication.
The Action, encrypted by the data and between the application programs <figref>21</figref> and <figref>31</figref> Posted and received, as in <figref idrefs="S54">5</figref> explained. The called, Communication data from the application program <figref>21</figref> will encrypted in the cryptographic processing unit, which of the encryption method selection unit <figref>24</figref> is selected. The encrypted Data is the Internet <figref>19</figref> for workstation <figref>30</figref> Posted. The data (or ciphertext encrypted data) of the workstation <figref>30</figref> be received, in the cryptographic Processing unit decrypts, of the encryption method selection unit <figref>34</figref> is selected, and to the application program <figref>31</figref> in the workstation <figref>30</figref> transferred.
Thus the difference in <figref idrefs="S55">6</figref> shown System of the in <figref idrefs="S54">5</figref> shown System characterized in that the encryption method selection control units <figref>25</figref> and <figref>39</figref> from one another independently are, and the encryption method sequentially selected will. The encryption method selection control units<figref>25</figref> and <figref>39</figref> choose in regular moderate or irregular intervals new regulatory procedure closures from, and send this selection results in the encryption method selection unit <figref>24</figref> or. the encryption method selection unit <figref>34</figref>, changes in this configuration the encryption method with time, thereby making it difficult, the encrypted to decrypt data.
<figref idrefs="S56">7</figref> shows a configuration example a cryptographic processing unit. The following discussion assumes that the pseudo-random numbers in the encryption process be used.
Theoretically, such as in <figref idrefs="S56">7A</figref> shown, is the cryptographic processing unit from an exclusive-OR generator <figref>40</figref> and a pseudorandom number generator <figref>41</figref>, The pseudorandom number generator<figref>41</figref> can be a variable period category. The encrypted data (encrypted Text) by inputting the data to be encrypted (plain text) and Pseudo-random numbers from said pseudo-random<?page 9?>number generator <figref>41</figref> generated are, in the exclusive-OR generator <figref>40</figref> receive. The Configuration is basically the same if the ciphertext is decrypted into plaintext.
<figref idrefs="S56">7B</figref> shows another example of a cryptographic processing unit. In this example, the cryptographic processing unit, in addition to the exclusive-OR generator <figref>40</figref> and the pseudo random number generator <figref>41</figref>, A startup parameter section <figref>42</figref>. the startup parameters for the purpose of generating pseudo-random numbers generated, and a Start parameter change section <figref>43</figref>. the instructions outputs to the starting parameters, the parameters in the Start section <figref>42</figref> generated be, at irregular intervals to change.
In the in <figref idrefs="S56">7B</figref> shown can processing unit cryptographic proces the period of pseudo-random numbers changed are, by the start parameter section <figref>42</figref> and the Start parameter change section <figref>43</figref> scheduled , whereby it becomes difficult to decrypt the encrypted data. The Action, by the plaintext using the exclusive-OR generator <figref>40</figref> and the pseudo random number generator <figref>41</figref> is encrypted, is the same as in the in <figref idrefs="S56">7A</figref> shown Case.
Now the process is amending the period of the pseudorandom numbers explained. In a case where the pseudo-random number generator implemented by a hardware circuit is the period of the pseudo random number generator, for example, by changing the number of stages and the wiring in the linear feedback Shift register system determines that generates the pseudo-random numbers.
On Example of this is in <figref idrefs="S57">8</figref> shown. <figref idrefs="S57">8</figref> shows a case in which an embodiment a pseudo-random number generator by a hardware circuit is realized. In<figref idrefs="S57">8</figref> is <figref>44</figref> on Shift register, <figref>45</figref> is a path control section, s0 to s12 and sa to sl are switches for connecting path, x1 to x12 are exclusive OR circuits, and r1 to r13 are bit elements of the shift register <figref>44</figref>, In that in <figref idrefs="S57">8</figref> shown Circuit is that of the path control section <figref>45</figref> generated Signal is used, and the period of the pseudo-random numbers is the control of the feedback from r1 to r13 in the shift register <figref>44</figref> changed by the connection and disconnection of the paths through the switch s0 to s12 and the switch are controlled sa to sl.
Now the realization of a pseudo random number generator is treated of a 3-stage M series generated. A primitive polynomial, which a 3-stage M-series ured genes, x<sup>3</sup> + x + 1; the hardware configuration as shown in<figref idrefs="S58">9</figref> shown. In<figref idrefs="S58">9</figref> is <figref>44</figref> a shift register, and <figref>46</figref> is an exclusive OR circuit. Accordingly where in <figref idrefs="S57">8</figref> shown Pseudorandom number generator to the in <figref idrefs="S58">9</figref> Configuration shown realize, The switch S2 and the switch SB is turned ON, and the other Switches are switched OFF.
<?page 10?>
primitive Polynomials which generate an n-stage M-series, and their periods are given below <img img-content="tb" img-format="tif" he="91" wi="132" file="00200001.tif" />
Around For example, a 6-stage pseudo-random number generator to implement, it is sufficient, in the <figref idrefs="S57">8</figref> Total shown by r6 and r1 to r6 due, thus it is sufficient the switch S5 and the switch SE is a switch.
In <figref idrefs="S59">10</figref> Some examples shown by pseudo-random number generators of the combinations Pseudorandom number generators are obtained.
In the in <figref idrefs="S59">10A</figref> shown Configuration is the output of the in <figref idrefs="S57">8</figref> shown Pseudorandom number generator as it is as pseudo-random numbers used. In that in<figref idrefs="S59">10B</figref> shown Configuration, the 2 outputs the pseudo random number generator <figref>41a</figref> and the pseudo random number generator <figref>41b</figref> in the exclusive-OR circuit <figref>47</figref> input and output this exclusive OR circuit <figref>47</figref> is a pseudo-random numbers used. In this case, for example, is assumed, that in the pseudo random number generator <figref>41a</figref> and the Pseudorandom number generator <figref>41b</figref> set Initial startup parameters are different from each other. In that in<figref idrefs="S59">10C</figref> configuration shown, the 3 pseudorandom number generators <figref>41c</figref>. <figref>41d</figref> and <figref>41e</figref> and the desk <figref>48</figref> used; the outputs from the 2 pseudorandom number generators<figref>41c</figref> and <figref>41d</figref> will in the switch <figref>48</figref> entered. The output of the pseudo random number generator<figref>41e</figref> becomes used to switch the <figref>48</figref> to control and output either the pseudo random number generator <figref>41c</figref> or Pseudorandom number generator <figref>41d</figref> select. Then is the output of the switch <figref>48</figref> as pseudo-random numbers used.
In the trustworthy Agents of this embodiment there is a software program to the action described above to implement, and pseudo-random numbers are this by running Program generates.
The in <figref idrefs="S54">5</figref> and <figref idrefs="S55">6</figref> trusted agent shown have a variety of cryptographic processing units; it is possible, for example, in the <figref idrefs="S59">10A</figref> to <figref idrefs="S59">10C</figref> shown random number Generiersysteme as a pseudo random number Generierquellen in the first, second and third cryptographic processing unit to use.
<figref idrefs="S60">11</figref> is a flow diagram, showing the action of an encryption method selection controller. Here is the action of the encryption method selection controller <figref>25</figref> in <figref idrefs="S54">5</figref> explained.
In Step S1, an initial start-up parameters on the basis of the time, the date, day of week, etc., provided that the internal PM in the workstation <figref>20</figref> are displayed. This initial startup parameter within the encryption method selection controller <figref>25</figref> set. In step S2, a <?page 11?>Pseudo-random number generator used to Pseudorandom numbers from the created in step S1 Initial startup parameters to generate. In step S3, the encryption method is based on the generated in step S2 pseudorandom numbers selected. In Step S4, information that you selected in step S3 encryption method identify, to the encryption method selection control units <figref>24</figref> and <figref>34</figref> transferred.
In Step S5, the timing is determined, to which the encryption method is switched. This switching timing is hereinafter explained in more detail; it is in terms of a parameter such as the number of packets or the time expressed. In step S6, is monitored, whether the cryptographic processing sequence, the time to change the encryption method has reached or not. When the cryptographic processing sequence the time for switching the encryption method achieved the pseudo-random number that is generated immediately before this time was set as a start parameter in step S7, and then returns the procedure returns to step S2. Thereafter, steps S2 through S7 are repeated.
by means of the processing described above, the encryption method according to the pseudo-random number selected; the encryption method is then repeated in accordance with the by the pseudo-random numbers particular timing switched.
The A method for selecting the encryption method in step S3 and the method of determining the switching time setting in Step S5 are for example as follows. If pseudo-random numbers use the 64-bit type, is the range of values, which are obtained by scanning the pseudo-random numbers, -9.223372035 × 10<sup>18</sup> to +9.223372035 × 10<sup>18</sup>, Accordingly For example, in a case where there are 10 encryption methods, get values from 1 to 10 made of the pseudo random numbers by used is: selected Number = random / 10<sup>18</sup> + 1
Here is "random" one by the pseudo random number generator generated pseudorandom number. If there are 5 encryption methods, then Values from 1 to 5 are obtained from the pseudo-random numbers by is used: selected Number = (random / 10<sup>18</sup>) / 2 + 1
If For example, the number of packets to determine the switching time adjustment is used, then, similarly in a procedure for the selection of the Number of the encryption method used, used: number of packets = random / 10<sup>17</sup> + 1
This yields a value of 1 to 92 on the basis of the pseudo-random number.
For example it is assumed that "3" as the selected number the encryption process obtained in step S3, and that "13" as Number of packets obtained in step S5. If this Case, on the transmission side 13 packets have been sent, in which data is stored, the cryptographic using the third encrypted processing unit were, a different cryptographic processing unit number is selected. If then "2" as the selected number in step <figref>3</figref> is obtained, by using the second cryptographic processing unit encrypted data until next Switching time output. If similar on the receiving side 13 packets in which encrypted data is stored, using the third cryptographic decrypt processing unit were, is another cryptographic processing unit number (Here "2") is selected. Then be received packets using the second cryptographic Processing unit until the next Switching time decrypted.
In the case of pseudo-random numbers, as opposed to true random numbers, , once the initial start-up parameters and the Generieralgorithmus are determined, the pseudo-random numbers that made this Generieralgorithmus be obtained definitely unique. In that in<figref idrefs="S55">6</figref> shown configuration this property uses of pseudorandom numbers. That is, since the trusted agent<figref>22</figref> and <figref>32</figref> Pseudo Random Number Generators have the same algorithm, as described above, when the same values be set as the initial start-up parameters, after which the encryption method with the same time setting in the trusted agent <figref>22</figref> and <figref>32</figref> switched.
As Procedures for setting Initialstartparame ters after the same Value in the confidence<?page 12?>appreciate agents <figref>22</figref> and <figref>32</figref> in the workstation <figref>20</figref> adjusted is, is the trusted agent <figref>32</figref> for workstation <figref>30</figref> transferred. Or, alternatively, the configuration may be such that a command to generate the initial startup parameter in the trusted agent <figref>22</figref> and <figref>32</figref> is introduced, and trusted agents <figref>22</figref> and <figref>32</figref> then their initial start-up parameters independently to generate. In this case, the command, for example, a is that generates the initial start parameter in accordance with "today's date" and "current time", then as long as the clocks in the workstations <figref>20</figref> and <figref>30</figref> correctly function, identical random numbers in the trusted agent <figref>22</figref> and <figref>32</figref> generated and the same encryption method be selected.
As next is on with reference <figref idrefs="S61">12</figref> and <figref idrefs="S62">13</figref> the sequence explained when Data is sent and received between application programs. Here, the case is dealt with, in the data from the application program <figref>21</figref> in the workstation <figref>20</figref> to the application program <figref>31</figref> in the workstation <figref>30</figref> be sent.
The Data from the application program <figref>21</figref> , as in <figref idrefs="S61">12A</figref> shown for the purpose of Storing in packages segmented. It is assumed here as an example, that UDP (User Datagram Protocol) is used as a data transfer protocol becomes. Next are data by the method specified encrypted, a Segment at a time. A sequence number is each data segment assigned. The sequence numbers are used so that a cryptographic prepared synchronization between the transmitting side and the receiving side can be, even if a packet gets lost. That is, the UDP protocol is appropriate when a real-time processing requiring Data such as audio data and video data is transmitted, but since it no function for retransmitting has when a packet in transmission is lost, it becomes impossible to reproduce the data on the receiving side. For this reason is a sequence number assigned to each data segment, so that the detect receiving side the loss of packets and the data can reproduce correctly.
After that is added to a head and workstation <figref>30</figref> Posted. An example of a Package configuration is in <figref idrefs="S61">12B</figref> shown. The sequence numbers and the head are not encrypted.
In the processing described above results in the trusted agent <figref>22</figref> the encryption processing and the processing for assigning sequence numbers by. It is possible, the functions of the trusted agents <figref>22</figref> to expand, so that the entire in <figref idrefs="S61">12A</figref> Processing shown the trustworthy agents <figref>22</figref> accomplished becomes.
If the workstation <figref>30</figref> receives a packet that is out of its sequence number judges whether a packet is lost in transmission or not. If no loss is detected, the encrypted data section extracted, and the data is decrypted. Then, the decrypted data is assembled and to the application program <figref>31</figref> transferred.
In the processing described above assumes the trusted agent <figref>32</figref> the Check processing the sequence numbers and the decryption processing before. It is possible, the functions of the trusted agents <figref>32</figref> to expand so that the trusted agent <figref>32</figref> the all in <figref idrefs="S62">13</figref> shown performs processing.
<figref idrefs="S63">14A</figref> is an illustration of In order to explain the method of producing a cryptographic synchronization. When the encrypted at Communication using pseudorandom numbers packets Use of pseudo-random numbers on the transmitting side (the encryption side) encoded are, it is necessary, the same pseudo-random numbers as the to use pseudo-random numbers used at the transmitting side be when these packets on the receiving side (decoding side) decrypts will. The trusted agents <figref>22</figref> and <figref>32</figref> generate the same pseudo-random numbers in the same frequency at the same time setting Se, and lead a encryption and decryption processing in their respective sequences. This provides a cryptographic Synchronization ago.
If a packet is lost in transmission, then, as in <figref idrefs="S63">14A</figref> shown, on the decoding side detects which package is lost, and the decryption processing using the pseudo-random number corresponding to the package, has been lost, will be skipped. In which, in <figref idrefs="S63">14A</figref> shown Example is the package <figref>3</figref> lost; on the decoding side is random (3) is not used, but instead is a decryption processing using random (4) with respect to the package <figref>4</figref> made.
<?page 13?>
If the sequence of packets during the transmission is reversed, then, as shown in <figref idrefs="S63">14B</figref> shown after the package <figref>1</figref> is decrypted, if the packet <figref>3</figref> is received when the package <figref>2</figref> receive should be, the decryption processing skipped using random (2). Next the packet <figref>2</figref> received when normally the package <figref>3</figref> receive would have been, thus the decryption processing skipped using random (3). Thereafter, when the package <figref>4</figref> is received when the package <figref>4</figref> receive should be, the decryption processing is from this period under Use of random (4) being carried out normally.
Thus the order of received packets is monitored on the decoding side; when a loss or exchanging the order occurs, the synchronization of the encryption processing and decryption processing by skipping the decryption processing maintained. This synchronization processing is also in the case carried out, when the first packet is lost.
Around it in the in <figref idrefs="S54">5</figref> or <figref idrefs="S55">6</figref> shown system difficult to make the encrypted to decrypt data, was the encryption method in regular or irregular intervals changed. In an encryption method, wherein the use of pseudo-random numbers is used, Is it possible to cause the encrypted Data difficult to decipher are, by the used to generate these pseudorandom numbers Start parameters in regular or irregular intervals changed becomes.
<figref idrefs="S64">15</figref> shows an example of Configuration of an encrypted Communication system with the ability the starting parameters used to generate pseudo-random numbers to change. In <figref idrefs="S64">15</figref> meet the workstations <figref>50</figref> and <figref>54</figref> the server <figref>10</figref> or. the client <figref>15</figref> in <figref idrefs="S50">1</figref>, The application programs <figref>51</figref> and <figref>55</figref> match the application programs <figref>13</figref> or. <figref>16</figref> in <figref idrefs="S50">1</figref>, The trusted agent<figref>52</figref> and <figref>56</figref> match Trusted agents <figref>14</figref> or. <figref>17</figref> in <figref idrefs="S50">1</figref>,
Of the trustworthy agent <figref>52</figref> has an application interface unit <figref>53</figref>. and, as with reference to <figref idrefs="S56">7B</figref> has been described, an exclusive-OR generator <figref>40</figref>, A pseudo-random number generator <figref>41</figref>. Start a parameter section <figref>42</figref> and a Startparametergeneriersektion (Start parameter change section) <figref>43</figref>, The trusted agent <figref>56</figref> has an application interface unit <figref>57</figref>. and an exclusive-OR generator <figref>40 '</figref>, A pseudo-random number generator <figref>41 '</figref> and a Start parameter section <figref>42 '</figref>, The exclusive-OR generator<figref>40</figref>. the pseudo random number generator <figref>41</figref> and the startup parameters section <figref>42</figref>. and the exclusive-OR generator <figref>40 '</figref> and the startup parameters section <figref>42 '</figref> each the same type of units.
The Action of in <figref idrefs="S64">15</figref> shown encrypted Communication system is as follows. First, the trusted agent is<figref>56</figref>. described mobile code, from the workstation <figref>50</figref> to workstation <figref>54</figref> transferred. Next, create the Startparametergeneriersektion<figref>43</figref> 1 Start parameters and transferred these startup parameters to the startup parameter sections <figref>42</figref> or. <figref>42 '</figref>, To this Time an encrypted Communication between the trusted agents <figref>52</figref> and <figref>56</figref> produced.
The Start parameters sections <figref>42</figref> and <figref>42 '</figref> enter the start parameters they have received, in the pseudo-random number generators <figref>41</figref> or. <figref>41 '</figref> on. That is, the in the pseudo-random number generators <figref>41</figref> and <figref>41 '</figref> entered Start parameters are alike. The pseudo-random number generators<figref>41</figref> and <figref>41 '</figref> to generate Pseudo-random numbers in accordance with the respective received start parameters and deliver them into the exclusive-OR generators <figref>40</figref> and <figref>40 '</figref> on. In the the two units generated at this time pseudorandom numbers same today. Then generate the Startparametergeneriersektion<figref>43</figref> new Start parameters in regular or irregular intervals in accordance with the specified algorithm and transfers it to the start parameter sections <figref>42</figref> and <figref>42 '</figref>, Accordingly the same pseudo-random numbers in the trusted agent <figref>52</figref> and <figref>56</figref> generated.
data from the application program <figref>51</figref> become the exclusive-OR generator <figref>40</figref> about the Application interface unit <figref>53</figref> Posted. There will be the data using the pseudo random number generator <figref>41</figref> generated Pseudorandom numbers encrypted. The encrypted Data about the Internet <figref>58</figref> for workstation <figref>54</figref> Posted. The from the workstation <figref>54</figref> received data in Convention humor with the pseudo random number generator <figref>41 '</figref> generated pseudo-random numbers the exclusive-OR generator <figref>40 '</figref> decrypted. Then these are decrypted Data about the application interface unit <figref>57</figref> to the application program <figref>55</figref> transferred.
In the encryption / decryption processing described above is the action of genes<?page 14?>rierens of pseudo-random numbers each in the trusted agents <figref>52</figref> and <figref>56</figref> synchronized so that in the trusted agents <figref>52</figref> encrypted Data in the trusted agents <figref>56</figref> decrypts will.
<figref idrefs="S65">16</figref> shows a configuration example a further embodiment this invention. In which, in<figref idrefs="S65">16</figref> shown System has the trusted agent <figref>52</figref> no Startparametergeneriersektion <figref>43</figref>; Start parameters are in a seed server <figref>59</figref> generated of the Internet <figref>58</figref> connected is. The start parameter server<figref>59</figref> Has Functions to those of the Startparametergeneriersektion <figref>43</figref> in <figref idrefs="S64">15</figref> are equivalent; new start parameter be in regular or irregular intervals generated and the start parameter sections <figref>42</figref> and <figref>42 '</figref> transferred.
The Action of this system is as follows. First, the trusted agent is<figref>56</figref>. described mobile code, from the workstation <figref>50</figref> to workstation <figref>54</figref> transferred. Next calls the startup parameters section<figref>42</figref> of the workstation <figref>50</figref> the start parameter server <figref>59</figref> a Start parameter that for an encrypted Communication is necessary. At that time, notified the trusted agent<figref>52</figref> the Start parameter server <figref>59</figref> over the corresponding terminal encrypted Communication (here the workstation <figref>54</figref>). The start parameter server<figref>59</figref> generated a seed in accordance with this request, and transfers the generated start parameters the start parameter sections <figref>42</figref> and <figref>42 '</figref>, This ensures an encrypted Communication. The start parameter server<figref>59</figref> then generates new Start parameters in regular or irregular intervals and transferred to the start parameter sections <figref>42</figref> and <figref>42 '</figref>, The rest of the action is the same as in <figref idrefs="S64">15</figref> described.
<figref idrefs="S66">17</figref> shows an example of Configuration of another embodiment of this invention. In which, in <figref idrefs="S66">17</figref> shown System have trusted agents <figref>52</figref> and <figref>56</figref> the Startparametergeneriersektionen <figref>43</figref> or. <figref>43 '</figref>,
The Startparametergeneriersektionen <figref>43</figref> and <figref>43 '</figref> have today same functions. additionally are the actions of Startparametergeneriersektionen <figref>43</figref> and <figref>43 '</figref> together synchronized. This means, same initial values are in the Startparametergeneriersektionen <figref>43</figref> and <figref>43 '</figref> adjusted and then give them the same start parameters sequentially. synchronization between Startparametergeneriersektionen <figref>43</figref> and <figref>43 '</figref> is basically the same as the synchronization between the in <figref idrefs="S55">6</figref> shown encryption method selection control units <figref>25</figref> and <figref>39</figref>,
The Action of in <figref idrefs="S66">17</figref> shown System is as follows. First, the trusted agent is<figref>56</figref>, of the described mobile code, from the workstation <figref>50</figref> to workstation <figref>54</figref> transferred. Next, of the Startparametergeneriersektionen<figref>43</figref> and <figref>43 '</figref> generated Start parameters to the startup parameter sections <figref>42</figref> or. <figref>42 '</figref> transferred, whereby an encrypted Communication is secured. At this time, enter the Startparametergeneriersektionen<figref>43</figref> and <figref>43 '</figref> same start parameters in the same order. Other actions are the same as with with reference to <figref idrefs="S64">15</figref> explained.
<figref idrefs="S67">18</figref> is a flow diagram, the action a Startparametergeneriersektion or a startup parameter-Ser vers explained. This processing is basically the same as those in the flowchart in <figref idrefs="S60">11</figref>Where the encryption method is selected.
Of the Initial startup parameter is set in step S11. The method for setting the initial start parameter is like with reference on <figref idrefs="S60">11</figref> has been explained. In step S12, the pseudo random numbers using the pseudo random number generator generated on the basis of this initial start parameter. In step S13 and S14 are the random numbers generated for starting parameter section sent as suitable starting parameters. In step S15, the timing determines to which the start parameter is changed. This change timing for example, by a parameter such as the number of packets or the time shown. In step S16, it is monitored whether the time the Start parameter change timing has reached or not. If the timing for changing of the start parameter is reached, in step S17, the immediately previous generated pseudo-random number as a new start-up parameters set, and the procedure returns to step S12. After that the steps S12 to S17 are repeated. The start parameter is according to the above described processing at irregular intervals changed.
In the in <figref idrefs="S64">15</figref> shown system performs the Startparametergeneriersektion <figref>43</figref> the processing described above by. In which, in<figref idrefs="S65">16</figref> shown system performs Startup Parameter Server <figref>59</figref> the processing described above by. In which, in<figref idrefs="S66">17</figref> shown lead system the Startparametergeneriersektionen <figref>43</figref> or. <figref>43 '</figref> the above-described Processing. In which, in<figref idrefs="S66">17</figref> shown System have the EXCLUSIVE<?page 15?>sive-OR generator <figref>40</figref>, The pseudo random number generator <figref>41</figref>. the Start parameter section <figref>42</figref> and Startparametergeneriersektion <figref>43</figref>; and the exclusive-OR generator <figref>40 '</figref>, The pseudo random number generator <figref>41 '</figref>, The startup parameters section <figref>42 '</figref> and Startparametergeneriersektion <figref>43 '</figref> each side same functions, so that the same by setting Initial startup parameter in the Startparametergeneriersektionen <figref>43</figref> and <figref>43 '</figref> the same pseudo-random numbers subsequently are generated in the same order.
<figref idrefs="S68">19</figref> is a configuration diagram for the Case in which the encrypted Communication system of this embodiment is adapted to the WWW (World Wide Web).
The Software on the server side consists of the WWW server <figref>60</figref>, The permanent resident trusted agents <figref>61</figref> and the applet <figref>62</figref>, In the cryptographic Processing units were installed. The applet<figref>62</figref> is an agent with cryptographic processing. is contrast the software on the client side of the Web browser <figref>63</figref>, Of the trustworthy agent <figref>61</figref> corresponds to the trusted agent <figref>14</figref> in <figref idrefs="S50">1</figref>, The applet<figref>62</figref> is described mobile code and corresponds to the trusted agent <figref>11</figref> in <figref idrefs="S50">1</figref>,
The Action of this system is as follows. First, in the WWW browser<figref>63</figref> on the client side, access to the WWW server <figref>60</figref> made; then the applet <figref>62</figref>In which the cryptographic processing units are incorporated, is transferred from the server side to the client side, and this applet <figref>62</figref> is in the WWW browser <figref>63</figref> built-in. The process by which an encrypted communication path between the trustworthy agents <figref>61</figref> and the applet <figref>62</figref> will be produced, For example, as in <figref idrefs="S53">4</figref> shown.
If the WWW browser <figref>63</figref> the desired data from the WWW server <figref>60</figref> requesting, be of the WWW server <figref>60</figref> In response to this Request data sent from the trusted agent <figref>61</figref> encrypted, and sent to the client side. On the client side, the cipher Text that encrypted communication <figref>64</figref> was transferred, by the applet <figref>62</figref> receive. The applet <figref>62</figref> knows a method for decrypting the data provided by the trusted agent <figref>61</figref> encrypted. The applet <figref>62</figref> decrypts to the WWW server <figref>60</figref> received ciphertext, and transferred decrypted this Data browser software of the WWW browser <figref>63</figref>,
Thus are from the WWW server <figref>60</figref> the WWW browser <figref>63</figref> sent Data from the trusted agents <figref>61</figref> encrypted before they are sent, and then by the applet <figref>62</figref> decrypts and reproduced.
<figref idrefs="S69">20</figref> shows an example of Configuration in the case where the encrypted communication of this Invention a Video Transmission System or Audio Transmission System equivalent. In this example, a trusted agent, in which the cryptographic processing units are installed (A trusted Agent with cryptographic processing), in combination with applications for a Video transmission and audio transmission used.
The workstation <figref>70</figref>Sent from the audio data and video data be composed of the camera <figref>71</figref>, The analog / digital (A / D) converter <figref>72</figref>. the frame buffer <figref>73</figref>, A microphone <figref>74</figref>, The analog / digital (A / D) converter <figref>75</figref>. the buffer <figref>76</figref> and the trusted agent <figref>77</figref> of permanently resident type, a video data / audio data encryption function having. additionally it has the trusted agents <figref>78</figref>In which the decryption function of the encryption processing in the trusted agents <figref>77</figref> is equivalent, described mobile code.
The workstation <figref>80</figref>Receiving the video data / audio data, there is from the trusted agents <figref>78</figref>, In the cryptographic processing units are installed, and the transmission side of the workstation <figref>70</figref> Posted becomes; the frame buffer<figref>82</figref>; the digital / analog (D / A) converter<figref>83</figref>; advert <figref>84</figref>; the audio data receiving buffer<figref>85</figref>; the digital / analog (D / A) converter <figref>86</figref> and the Speaker <figref>87</figref>,
The Action in this system, when video data sent and received are as follows. First, a request, the trusted agent<figref>78</figref> to Send, from the workstation <figref>80</figref>Which the video data wants to receive, at the transmitting end workstation <figref>70</figref> Posted. If the transmitting end workstation <figref>70</figref> this transmission request receives, sends it to trusted agents <figref>78</figref>That is required, when image data decrypted be on the receiving end workstation <figref>80</figref>, This completes the preparation for a data transfer.
<?page 16?>
The transmission-end workstation <figref>70</figref> converted by the camera <figref>71</figref> image data recorded by the analog / digital (A / D) converter <figref>72</figref> in a digital signal and sends it to the frame buffer <figref>73</figref>, The frame buffer <figref>73</figref> stores the data from the analog / digital (A / D) converter <figref>72</figref>. to the differences between the rate at which data from the camera <figref>71</figref> entered be, and the encryption processing rate in the trusted agents <figref>77</figref> to absorb.
As next the output data from the frame buffer <figref>73</figref> by the trusted agents <figref>77</figref> encoded and emitted into the grid. In the receiving side workstation<figref>80</figref> will encrypted Image data sent received, and by the trusted agent <figref>78</figref> decrypted. The decrypted Image data by the digital / analog (D / A) converter <figref>83</figref> on the receiving-side frame buffer <figref>82</figref> reconverted into an analog signal and on the display <figref>84</figref> displayed.
In the in <figref idrefs="S69">20</figref> shown System is the action in the case of transmission of audio data almost the same as that described above. That is, the real time data be transferred audio data instead of video data, microphone <figref>74</figref> replaced the camera <figref>71</figref> as an input section for the data to be transferred, and the speaker <figref>87</figref> replaced the display <figref>84</figref> as an output section. Otherwise, the action in principle equal.
<figref idrefs="S70">21</figref> is a configuration diagram for the Case in which the encrypted Communication of this invention in an electronic conference system is used. In the electronic conference system of this embodiment are an agent distribution station <figref>90</figref> and a plurality hosts <figref>91</figref> to <figref>94</figref> via a network <figref>95</figref> together connected. The agent distribution station<figref>90</figref> has a user identification function and distributed agents in response to requirements of official user. The network <figref>95</figref> For example, a LAN. The multicast communication path<figref>96</figref> is a transmission path for transmitting and receiving of data among the hosts <figref>91</figref> to <figref>94</figref> while an electronic Conference. The multicast communication path<figref>96</figref> may within the network <figref>95</figref> be prepared, or it may on the other physical cables unplugged <figref>95</figref> getting produced.
On Host that participates in an electronic conference, calls of the agent distribution station <figref>90</figref> on to send an agent, the for an encrypted communication needs is to create an encrypted establish communication. That is, if for example, the hosts <figref>91</figref> to <figref>94</figref> An electronic conference participate, transmitted one among these hosts one member to the electronic conference participates to the agent distribution station <figref>90</figref>, The agent distribution station<figref>90</figref> sends then a trusted Installed agents in the cryptographic processing units are, to the host, who made the request. The trusted agent<figref>97</figref>. the to the respective hosts <figref>91</figref> to <figref>94</figref> distributed are secure encrypted Channels of communication among these hosts using the multicast communication path <figref>96</figref>, subsequently be data that relate to the electronic conference, encrypted Sending the form and received.
The Agent distribution station <figref>90</figref> may be configured to they also perform the function (s) of the encryption instruction server and / or the encryption processing unit distribution server met, on with reference <figref idrefs="S58">9</figref> described are, for example, or the start parameter server <figref>59</figref>. the in <figref idrefs="S65">16</figref> is shown.
As next explains the interface between the trusted agents and the application. Here , as in <figref idrefs="S71">22A</figref> shown, deals with a case in which data between the information processing unit <figref>10</figref> (the server in <figref idrefs="S50">1</figref>) and the Information processing unit <figref>15</figref> (The client in <figref idrefs="S50">1</figref>) Sent and received will. In this case, with the settings of the application program<figref>13</figref> in the information processing unit <figref>10</figref>, The information processing unit <figref>15</figref> as specifies the communication partner, and a port through which the application program <figref>16</figref> Receiving data is as the communication port specified. Similar is, in the settings of the application program <figref>16</figref> of the Information processing unit <figref>15</figref>, The information processing unit <figref>10</figref> as specifies the communication partner, and a port through which the application program <figref>13</figref> Receiving data is as the communication port specified.
Around an encrypted perform communication, such as in <figref idrefs="S71">22B</figref> shown, if the trusted agents <figref>14</figref> and <figref>17</figref> are used, in the Settings of appli cation program <figref>13</figref> same unit (The information processing unit <figref>10</figref>) As a communication partner specified, and a port through which the trusted agent <figref>14</figref> data receives, is specified as the communication port. Similarly, in the settings the application program <figref>17</figref>, The same unit (information processing unit <figref>15</figref>) specified as the communication partner, and a port through which the trustworthy agent <?page 17?><figref>17</figref> Receiving data is specified as the communication port.
Thus are changing the settings, for example, the communication port data between the application programs <figref>13</figref> and <figref>16</figref> Posted and be received, the trustworthy agents <figref>14</figref> and <figref>17</figref> Posted. That is, the by the application programs <figref>13</figref> and <figref>14</figref> transmitted and received data can encoded be by only settings such as the communication port to be changed, without the application programs <figref>13</figref> and <figref>16</figref> even to change.
The Proxy (Kommunikationsleitwegport) setting is always on changed the same way as the communication partner and communication port described above. This means, if there is a function for adjusting the proxy in an application program there, the information processing unit in which the application program is installed and a port through which the information processing unit in this installed trustworthy Agent receives data set as a proxy.
The from trusted Agents provided API (Application Interface - Application Interface) is used instead of the provided by the system API. In this Case, it is usually necessary to recompile after the modified source program becomes. If there is, for example, no trusted agent, the section is changed in the "open ();" occurs, whereas, if there is a trusted are agents that section "open trusted ( be "modified;) should, and then the source program is recompiled.
It is possible, too, a trusted Agents of this embodiment as a core module of the operating system (OS) to realize, and in the OS, as necessary to install. In<figref idrefs="S71">22B</figref> is it also possible for example, the trusted agent <figref>14</figref> is built on the core level of the OS, which in the Information processing unit <figref>10</figref> is installed.
On trustworthy Agent, as in <figref idrefs="S52">3</figref> shown, has an application interface section and a cryptographic Processing section. The cryptographic processing section consists, as shown in <figref idrefs="S53">4</figref> shown, from a transmitting section and a receiving section. The transmit section has a data encryption feature, whereas the receiving section has a function for decrypting a having ciphertext. When a trusted agent in this embodiment, which is described in mobile code from the server to the client is sent, it is possible only the application interface section and the transmission section to send, or only the application interface section and the receiving section.
A Application for encrypting and transmitting data, the television communications, such as VOD (Video on Demand - video on demand). When television communications, the receiving side unit no function must encryption have data as code processing function; they just need a Function to decrypt have the ciphertext that is sent. If this Case, a trusted agent is sent to television communication reception unit, are Accordingly, only the Anwendungsschnittstellensek tion and the receiving section sent.
On Example of a program of a trusted agent who in mobile Code is described, is in <figref idrefs="S72">23</figref> to <figref idrefs="S78">29</figref> shown. This program corresponds to the trusted agents <figref>11</figref> in <figref idrefs="S50">1</figref>. and is transferred to the client. This program includes a Function for execution the cryptographic processing of image data.
This Program is for the purpose of reading files from a WWW (World Wide Web) server and displaying animated images. It is described in Java (an object oriented language for use in the Internet, developed by Sun Microsystems). This program has also has a function for reading image information in bitmap format (T0 to T9.ppm), from a server, 2,048 bytes (b []) at a time and adjusts applet displays. This program shows 10 image files one by one and then repeats the action. An overview of the A display method is as follows. First, a communication to and produced by the server, and the necessary image files be requested. Next is this communication path used to receive image files, and images are displayed.
Now carried out a more detailed explanation of the program with reference to the drawings. <ul><li>(A) First, the Klassenweg is defined.</li><li>(B) The variables to be used are determined.</li><li>(C) The init function is a function, the initial settings for the Purpose of initiation of communication<?page 18?>tion makes to the server. The name of the server to which a connection is made, the server port number and necessary file names are specified. In addition, the pseudo-random number Generierspezifikationen determined.</li><li>(D) The socket make function is used to make a connection request to send to the server and to provide a communication path.</li><li>(E) The communication path was created is used to information regarding the image width and height to receive from the server. This information is necessary, when images are reproduced on the client side.</li><li>(F) When make socket function processing is a connection request sent to the server, and the processing of producing a Communication path is described.</li><li>(G) The send image file function is a function that the communication path used to send the necessary image file name to the server.</li><li>(H) The GetImage function is a function that the communication used to receive image files from the server and Images create.</li><li>(I) If there is no more data in the image files, ends the processing.</li><li>(J) image data is decrypted, One byte at a time.</li><li>(K) A pixel is provided every 4th byte. A pixel has 4 : Luminance, red, green and blue.</li><li>(L) images are composed of pixels.</li><li>(M) The encryption is prescribed.</li><li>(N) When the program starts up, This program runs as a thread. By running as a thread it becomes possible to a variety of processing in parallel within a program perform.</li><li>(O) The thread-action is required. Once a communication path created by the init function, the following substantive is processing actually executed.</li><li>(P) The processing for displaying 10 image files is made; this is repeated.</li><li>(Q) The communication path is used to provide the necessary Image file name to send to the server. The transmitted image file function is for this processing.</li><li>(R) The communication is used to image files from Server to receive and create images. The getImage function is used.</li><li>(S) The created images are displayed.</li></ul>
These Invention provides an encrypted Communication possible as explained above, by containing an agent, the cryptographic processing units to the Communication partner is sent with the encrypted communication perform is, or by an agent, the cryptographic processing units contains, received from this partner. For this reason, it is possible to release a the encryption method to avoid; and by the use of agents, the encryption method in regular or irregular intervals changed are, and when encrypting necessary parameters changed be to difficult to make it to decode the encrypted data. Accordingly, a strong encryption methods obtained with a low total cost, which for real-time communication suitable is.
These Invention is not limited to a cryptosystem, but may spread be used to encode systems / decoding (modulation / demodulation). In this case, an agent that a described in mobile code Programme a coding / decoding (modulation / demodulation) processing includes, before the data transmission is sent.
29 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29
7 members in 4 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 31750596 | Japan | A | |
| 31750596 | Japan | – | |
| 31750596 | – | – | – |
| JP19960317505 | – | – | – |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| JPH10215243A | Japan | A | |
| EP0862301A2 | European Patent Office (EPO) | A2 | |
| EP0862301A3 | European Patent Office (EPO) | A3 | |
| US6125186A | United States of America | A | |
| EP0862301B1 | European Patent Office (EPO) | B1 | |
| DE69731069D1 | Germany | D1 | |
| DE69731069T2This record | Germany | T2 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Change in the person/name/address of the agent8328 | 8328 | |
| No opposition during term of oppositionOpposition8364 | 8364 |
Numbers
- Publication
- 69731069
- Publication, DOCDB
- 69731069
- Publication, EPODOC
- DE69731069T
- Application
- 69731069
- Application, DOCDB
- 69731069
- Application, EPODOC
- DE19976031069T
Titles2
- German
- Verschlüsselungskommunikationsystem mit einem Agent und einem Speichermedium zur Speicherung dieses Agents
- English
- Encryption communication system having an agent and a memory medium for storing this Agents
Classification
- CPC, 3
- H04L63/0428
- H04L63/068
- H04L9/40
- IPC, 1
- H04L29 06
