WO2007055054A1 - データ通信方法、コンピュータ及び情報記憶媒体 - Google Patents

データ通信方法、コンピュータ及び情報記憶媒体 Download PDF

Info

Publication number
WO2007055054A1
WO2007055054A1 PCT/JP2006/315336 JP2006315336W WO2007055054A1 WO 2007055054 A1 WO2007055054 A1 WO 2007055054A1 JP 2006315336 W JP2006315336 W JP 2006315336W WO 2007055054 A1 WO2007055054 A1 WO 2007055054A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
computer
processor
public key
processors
Prior art date
Application number
PCT/JP2006/315336
Other languages
English (en)
French (fr)
Inventor
Chisato Numaoka
Original Assignee
Sony Computer Entertainment Inc.
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 Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to JP2007544067A priority Critical patent/JP4698678B2/ja
Priority to EP06782205.6A priority patent/EP1947799A4/en
Priority to US12/092,491 priority patent/US8732471B2/en
Publication of WO2007055054A1 publication Critical patent/WO2007055054A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the present invention relates to a data communication method, a computer, and an information storage medium, and particularly relates to data communication by a computer including two or more processors.
  • a public key certificate (electronic certificate) is usually exchanged between a user of a computer and a user of another computer.
  • the client computer obtains the public key with the public key certificate from the server computer using SSL (Secure Socket Layer) (or TLS (Transport Layer Security)), Later, on the other hand, secure data communication between the client and the server was realized by secretly sharing the generated common key.
  • SSL Secure Socket Layer
  • TLS Transport Layer Security
  • SSL or TLS
  • data is exchanged by providing an SSL layer between the transport layer and the application layer of the Internet protocol. This method is sufficient when there is only one processor that can represent the computer. Power of each of two or more processors built into a one-chip processor. Mutual authentication is required with an external computer. It was insufficient to perform such communication.
  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a data communication method, a computer, and an information storage capable of suitably performing secure data communication with a computer including two or more processors. To provide a medium. Means for solving the problem
  • a data communication method is a data communication method between a first computer and a second computer each having two or more processors, and the first computer.
  • the processing step for processing the data received in the receiving step, and the data received in the receiving step in the first converter, according to what is identified by the processor ID acquired in the step And an authentication step for restricting processing by the processing step according to the content of the public key certificate to be included.
  • the data including the processor ID is also transmitted to the second computer by the first computer, and the second computer returns the data including the processor ID.
  • the received data is processed by the processor identified by the processor ID included in the received data.
  • the received data includes a public key certificate related to the second computer, and the first computer restricts data processing according to the contents of the public key certificate.
  • secure data communication can be suitably performed by a computer having two or more processors. It can be carried out.
  • the transmission step may include a processor ID that identifies one of the two or more processors included in the first computer. Transmitting data further including a public key certificate associated with the processor identified by the ID, wherein the replying step is performed according to the contents of the public key certificate included in the data transmitted in the transmitting step.
  • the data including the processor ID included in the data transmitted in step S3 and the public key certificate related to the second computer is returned. In this way, when the second computer determines that the second computer cannot establish a trust relationship with the first computer based on the contents of the public key certificate, the second computer can also limit the return of data to the first computer.
  • the transmission step includes data including communication content as a payload with a processor ID identifying one of the two or more processors provided in the first computer as at least a part of the header. It may be transmitted to the second computer.
  • a processor ID included in the data transmitted in the transmission step and a public key certificate related to the second computer are used as at least a part of a header, and communication content is used as a payload.
  • the contained data may be returned to the first computer.
  • the computer includes two or more processors, data transmission means for transmitting data including a processor ID for identifying one of the two or more processors to another computer, and the other
  • a computer receiving power includes: a data receiving means for receiving data including a processor ID for identifying one of the two or more processors and a public key certificate; and data received from the data receiving means.
  • Data for processing the data received by the data receiving means by a processor ID obtaining means for obtaining a processor ID and one of the two or more processors identified by the processor ID obtained by the processor ID obtaining means Processing means and the contents of the public key certificate included in the data received by the data receiving means.
  • authentication means for restricting processing by the data processing means.
  • the information storage medium is a program executed by a computer including two or more processors, and includes data including a processor ID for identifying one of the two or more processors. Means for transmitting data to other computers, the processor ID for identifying one of the two or more processors, and the disclosure.
  • the information storage medium stores a program for causing a computer to function as authentication means for restricting processing by the data processing means in accordance with the contents of the above.
  • This program may be stored in a computer-readable information storage medium such as a CD-ROM or DVD-ROM.
  • the computer is a home game machine, a business game machine, a portable game machine, a mobile phone, a portable information terminal, a personal computer, a server computer, or the like.
  • FIG. 1 is a diagram showing an example of a protocol stack used for data communication.
  • FIG. 2 is a hardware configuration diagram of a computer according to an embodiment of the present invention.
  • FIG. 3 is a diagram showing a configuration example of a sub-processor provided in the computer shown in FIG.
  • FIG. 4 is a diagram showing an example of a data communication system.
  • FIG. 5 is a flowchart of peer node selection / authentication 'registration processing.
  • FIG. 6 is a diagram showing a configuration example of a peer node.
  • FIG. 7 is a diagram showing an example of a trust relationship between peer nodes included in the data communication system according to the present embodiment.
  • FIG. 8 is a flowchart of peer node selection / authentication / registration processing when one sub-processor performs authentication with a plurality of peer nodes.
  • FIG. 9 is a diagram showing a configuration example of a peer node access table when one sub-processor performs authentication with a plurality of peer nodes.
  • FIG. 10 is a diagram showing another example of the trust relationship between peer nodes included in the data communication system according to the present embodiment.
  • FIG. 12 is a diagram showing a configuration example of a peer node access table when one sub-processor authenticates with a plurality of peer nodes and also makes a search request to a peer node having no trust relationship.
  • FIG. 13 is a diagram showing the positioning of secure protocol frames according to the present embodiment in the entire communication protocol.
  • FIG. 14 is a configuration diagram of a secure protocol frame according to the present embodiment.
  • FIG. 15 is a configuration example of a secure protocol header according to the present embodiment.
  • FIG. 16 is a flowchart showing a process of making a process request to a designated peer node when a peer node is designated.
  • FIG. 17 is a flowchart showing a process of making a processing request to a peer node V, which is V, when a peer node is specified.
  • FIG. 18 is a flowchart showing processing when a secure protocol frame that also returns the peer node power is received.
  • FIG. 19 is a sequence diagram showing a flow of processing of task request / result reception between a sub processor (SPE) and a peer node.
  • SPE sub processor
  • FIG. 20 is a diagram showing a device configuration example of a computer according to the present embodiment.
  • FIG. 1 is a diagram showing a stack of communication protocols. As shown in FIG. 1, data communication is performed according to protocols belonging to the physical layer, data link layer, network layer, transport layer, and application layer. It is running. The protocols in each layer are arranged in a hierarchy, and examples are as shown in the figure. In this embodiment, in order to realize secure data communication by a computer having a one-chip multi-core processor.
  • FIG. 2 is a system configuration example of a computer used in the data communication method according to the present embodiment.
  • One of the features of the computer 31 is that it includes a one-chip multi-core processor 32.
  • This one-chip multi-core processor 32 is a processor core A total of 11 processing element (information processing means) forces, a main processor 39 having 40, a sub processor 33a to 33h having a processor core 34, an I / O interface 48, and a memory controller 46, are coupled to the S ring bus 45. These are configured to operate in parallel.
  • each processing element is uniquely identified (identified) on the ring bus 45 by an ID such as “SPE1”, for example, which element sends a request to which element via the ring bus 45 by this ID. Can be identified.
  • the memory controller 46 is coupled to the main memory 47 and mediates each processing element accessing the main memory 47.
  • the main memory 47 is drawn outside the one-chip multi-core processor 32, but the main memory 47 may be included inside the one-chip multi-core processor 32.
  • the main processor 39 and sub-processors can be connected by connecting a graphics card 55 with a bridge 49 and frame memory 56 and controlling the display output to the monitor 57, or an RF processor 59 that enables wireless communication using the antenna 61. 33 can control external devices and exchange data through communication with external devices.
  • This system is connected to a data communication network via a network interface 50, and the main processor 42 and the sub processor 33 can communicate with various devices on the network independently of each other.
  • the received signal acquired by the RF processing unit 59 is frequency-converted by the down converter 60, converted into digital data by the AD converter 58, and then supplied to the interface 48.
  • Each of the sub processors 33 includes a core 34, a local storage (LS) 35, a memory flow controller (MFC) 36 including a DMAC (Dict Memory Access Controller) 37, and a secure memory 38 including a secret key. It is included as a component.
  • the secure memory 38 is storage means such as a RAM that is accessed exclusively by the core 34 (that is, only from the core 34 provided in the same subprocessor 33 as the secure memory 38).
  • the secure memory may be part of the local storage (LS) 35, As shown in Fig. 3 (b), it may be independent as dedicated hardware (storage means such as RAM accessed exclusively by the core 34).
  • the dedicated hardware may be a non-volatile memory or a volatile memory.
  • the local storage (LS) 35 has a public key 63 and a public key certificate 64 indicating that the public key 63 has been certified by a third party.
  • a peer node access table 65 holding information (address, etc.) related to access to external peer nodes is held.
  • each sub-processor 33 has its own local storage 35, once the program is loaded into the local storage 35, the subsequent processing is performed without accessing the main memory 47 unless necessary. Can continue.
  • the main processor 39 includes a core 40, an L1 cache, an L2 cache, and an MFC 43 incorporating a DMAC 44 as constituent elements.
  • the operating system operates on the main processor 39, and a program that operates on each sub-processor 33 is determined based on the basic processing of the operating system.
  • the program power that operates in the sub-processor 33 may be a program that forms part of the operating system in the normal concept (for example, a device driver or a part of the system program).
  • the main processor 39 and the sub-processor 33 are instruction set architectures (ISAs) each having a different instruction set.
  • each sub-processor 33 executes a process of performing mutual authentication with a peer node on the network.
  • the piano keyboard may function as either a server or a client.
  • each sub-processor 33 uniquely establishes a trust relationship with one peer node on the network will be described with reference to FIG. 4 and FIG.
  • the distributed processing of data retrieval by multiple computers is taken as an example.
  • each of the sub processor 33 and the peer nodes 84a to 84h stores at least one secret key.
  • the sub-processor 33 and each peer node 84 are based on the public key 63 of the public key certificate authority.
  • Public key certificate (electronic certificate) is provided. That is, based on the public key 63 of the sub processor 33, the public key certificate authority issues a public key certificate (such as the public key 63 encrypted with the private key of the certificate authority), and the public key certificate To the sub processor 33, and each sub processor 33 holds the public key certificate.
  • the public key certificate authority issues a public key certificate and returns the public key certificate to the peer node 84, and each peer node 84 receives the public key certificate. Holding a book.
  • X.509 recommended by ITU-T can be adopted as the public key authentication infrastructure.
  • each sub processor 33 when each sub processor 33 establishes a trust relationship with the peer node 84, the sub processor 33 first performs the selection process of the external peer node 84 in S61. As shown, there is a peer node selection server on network 85! /. The peer node selection server uniquely selects one peer node 84 based on the request of each sub processor 33, and the sub processor 33 uses the SSL handshake protocol or the like in S62 with the selected peer node 84. To perform mutual authentication. For example, the sub-processor 33 receives a public key certificate from the selected peer node 84, decrypts the public key certificate using the public key of the public key certificate authority, and receives information (pipi) on the peer node 84.
  • pipi information
  • the peer node 84 Acquire the anode 84's public key and its administrator's name). This information power also authenticates the peer node 84. Similarly, the peer node 84 also receives the public key certificate from the sub processor 33, decrypts the public key certificate using the public key of the public key certificate authority, and receives information (sub processor 33) from the sub processor 33. Get 33 public keys and their names). Then, the sub processor 33 is authenticated from this information. Thus, if it is confirmed in step S63 that the mutual authentication has succeeded, the sub-processor 33 will thereafter make the peer node 84 a trusted peer node unless a failure such as inaccessibility occurs. to decide.
  • step S64 the sub processor 33 registers information related to the peer node 84 in the peer node access table 65 shown in FIG.
  • the process returns to S61 again, and the sub processor 33 requests the peer node selection server to select the peer node again. If mutual authentication is not successful until the end (for example, until a predetermined time elapses), The processor 33 determines that there is no reliable peer node. In this case, in the present embodiment, the sub-processor 33 does not participate (participate) in the distributed processing of the search processing.
  • the above processing may be executed when a search request is made from a client, or may be executed at other appropriate timing such as when the computer 31 is started.
  • the peer node 84 shown in FIG. 4 may have the same configuration as the computer 31 in FIG. 2, and is accessed from the main processor 86 as shown in FIGS. 6 (a) and 6 (b). It may be a general-purpose or special-purpose computer having a main memory 87 with a secure memory 88 or a secure memory 88 independent of the main memory 87.
  • the peer node 84 adopts the configuration shown in FIG. 6 the private key 62 is stored in the secure memory 88, the public key 63 is stored in the main memory 86, the public key certificate 64 issued by a third party, And a peer node access table 65.
  • the main processor 42 is the main processor 86 in FIG.
  • the main memory 47 in FIG. 4 is the main memory 87 in FIG. Can be configured. That is, the main memory 47 has a storage area corresponding to the secure memory 88 as shown in FIG. 6 (a), the private key 62 is stored therein, and the public key 63 and the public key certificate are stored in another storage area.
  • the computer 31 is a single-processor peer node, the computer 31 does not need to store the peer node access table 65 if the main processor 42 is not involved in the search process.
  • one sub-processor establishes a trust relationship with only one peer node.
  • one sub-processor may have a trust relationship with multiple piano keys and make a search request.
  • a tree network of peer nodes may be configured with the peer node 120 receiving a search request as a vertex.
  • the peer node 120 that first receives a search request has established a trust relationship with the two piano nodes 121a and 121b, and the peer node 121a has established a trust relationship with the peer nodes 122a and 122b.
  • each peer node is a computer system that uses a one-chip multicore processor as shown in FIG. There may be other computer systems! /.
  • the peer node 120 when the peer node 120 receives a search request from the client, the search request propagates downward (toward the end of the tree) and is positioned at the end of the trust relationship.
  • the peer nodes 124a, 124b, 125, 126a, 126b, and 127 in the array return the search results upward (in the root direction of the tree).
  • the search results of all peer nodes will be collected at the peer node 120 that received the search request from the client first.
  • a client (not shown) that has made a search request to the peer node 120 receives the search result and displays it to the user. If the peer node 120 itself is a search server having a user interface, the search result is displayed to the user via the user interface on the spot.
  • step S71 the number of peer nodes to be selected (the number of peer nodes that attempt mutual authentication) is determined.
  • the process of FIG. 8 is essentially the same as the process of FIG. N can also be infinite.
  • the peer node access table 65 in FIG. 3 or FIG. 6 is generally finite.
  • step S72 it is verified whether N is 0 or not, that is, whether or not authentication has been performed for N scheduled peer nodes. While N is not 0, the process proceeds to step S73 to check whether there is a peer node that can be selected. As a result, if there is a peer node that can be selected, N is decremented by 1 in step S74, and then the process proceeds to step S75 to select the peer node. If the peer node to be selected does not already exist, the registration process is terminated. In step S76, mutual authentication is performed with the peer node selected in step S75. For example, an SSL handshake protocol can be used. Finally, in step S77, it is confirmed whether or not the peer node authentication is successful.
  • step S78 the public key certificate is obtained from the peer node that succeeded in the authentication, and the peer node is set as a trusted peer node. Register in the note access table. If peer node authentication fails, the process returns to step S72 where the peer node access table is not registered.
  • FIG. 9 shows an example of the peer node access table 65 of FIG. 3 or FIG.
  • the peer node ID here, the local ID seen from the computer that holds the table that is not the global ID
  • the public key certificate storage location that is the address in the local memory
  • the registered are registered.
  • the IP address of the existing peer node and a response indicating whether or not the registered peer node is currently accessible exist as items.
  • the location on the other party's network is in some form, such as a power MAC address using an IP address.
  • “OK” is displayed !! indicates that the peer node is accessible, and “NO” indicates that access is not possible for some reason (eg network disconnection or computer power off). Show the peer node!
  • the peer node that processes each part of the search request includes an untrusted peer node.
  • the figure differs from Figure 7 in that the nodes of the tree network contain untrusted peer nodes.
  • the peer nodes 142b, 144b, 145, and 146b are peer nodes that cannot establish a trust relationship.
  • peer nodes that do not hold public key certificates issued by third parties. Therefore, for example, for the peer node 141a, the peer node 142b is an unreliable peer node, and therefore the search result from the peer node 142b is recognized by the peer node 141a as unreliable. The same is true between peer node 142a and peer node 144b and between peer node 143a and peer node 146b. It should be noted that if a node is unreliable, search results from all nodes connected to it (below it) are recognized as unreliable search results.
  • peer node 145 is a public key certificate issued by a third party Even if the certificate is held, if the information power of the peer node 145 comes via the unreliable peer node 142a, the peer node 141a recognizes it as an unreliable search result. This is because there is a possibility that information may be tampered with on an untrusted node due to an untrusted node in between.
  • FIG. 11 is a flow diagram showing a registration process of a peer node when one sub-processor authenticates with a plurality of peer nodes, establishes a trust relationship with a part of the sub-processor, and can include anything. is there.
  • the processing in this figure is based on the tree-structured network in Fig. 10, with some changes made to the flowchart in Fig. 8. Specifically, what differs from FIG. 8 is the processing after step S77.
  • FIG. 11 adds step S79 as a process after peer node authentication fails. Yes. In other words, when mutual authentication with a certain peer node is successful, the peer node is registered in the piano access table as a peer node having no trust relationship.
  • FIG. 12 shows an example of a peer node access table generated by the process of FIG. Compared with the peer node access table shown in FIG. 9, the item “high reliability” is added to the peer node access table shown in FIG.
  • the reliability of the peer node ID 0004 is “none”. This indicates that the peer node that is determined to have failed in the peer node authentication in step S77, that is, is recognized as an unreliable peer node.
  • the public key certificate storage location of this peer node ID 0004 is indicated as “NONE”. This is because untrusted peer nodes do not have public key certificates and cannot be stored in local memory.
  • the communication protocol of this embodiment is positioned on the transport layer (for example, TCP) in the Internet protocol, for example.
  • FIG. 13 shows an example in which the communication layer of this embodiment is constructed using TCP / IP. That is, the data structure used in the communication protocol of this embodiment is shown as a secure protocol frame in FIG. In TCP / IP, A TCP header and an IP header are added to this secure protocol frame. The Ethernet® frame transmitted to the network 85 is obtained by adding a header and a trailer before and after this data.
  • FIG. 14 shows the secure protocol frame structure of the present embodiment.
  • the secure protocol frame is composed of a secure protocol header 91 and a payload (that is, communication contents) 92.
  • the FIG. 15 describes an example of the secure protocol header 91 in more detail.
  • SPE ID 101 which is the ID of sub-processor 33 that sends payload 92
  • own public key certificate 102 that each sub-processor 33 holds uniquely
  • message ID 103 for uniquely identifying each message
  • Payload 92 indicating the type of content of payload 92
  • payload length 106 payload length 106
  • other information this may vary depending on the embodiment
  • the payload descriptor may indicate that 0x01 contains a task request and 0x02 contains a result for the task request in payload 92.
  • Figs. 16 and 17 respectively show the case where the peer node that receives data is specified in the data transmission process (Fig. 16) and any peer node that is not specified and can respond. Show the two cases of Yo! And! /, (Fig. 17)! /
  • step S 41 a secure application execution request is issued to the sub-processor 33.
  • This secure application is, for example, a search application start-up or an object (application, data) relocation request application between peer nodes.
  • step S42 processing request codes for other computers (peer nodes) are generated.
  • the processing request code is data indicating a search request with a keyword for a search-related application, and for an object relocation application, a specific node force also indicates a request for conditional relocation of an object to another node. It is data.
  • step S43 it is checked whether or not the public key certificate strength of the destination peer node is registered in the peer node access table 65 of FIG. If it is registered, it is determined that the node is a trusted node, and in step S44, the SPEID for identifying the sub processor 33 by the sub processor 33 is, for example, a local storage of the sub processor 33. Read from page 35.
  • step S45 the public key certificate 64 in FIG. 3 is read from the local storage 35 and the like, and a message ID is generated in step S46.
  • the message ID may be generated serially, for example, or may be generated based on a random number.
  • the message ID is stored in, for example, the local storage 35 until the peer node power secure protocol frame as a communication partner is returned in response to the transmission of the secure protocol frame.
  • step S47 data for payload 92 including the processing request code generated in S42 is generated, and in step S48, a secure protocol frame is created, and in step S49, this secure protocol frame is specified in advance.
  • the secure protocol frame includes the SPE ID read in step S44, the public key certificate read in step S45, and the message ID generated in step S46 in the secure protocol header 91, and the processing request generated in S42.
  • This data contains the code in payload 92.
  • step S43 If it is determined in step S43 that the public key certificate of the destination peer node (another computer) is not registered in the peer access table 65, the conditions for secure application are satisfied. If it is determined that it is not, the process is terminated.
  • Step S53 and Step S54 are inserted between Step S42 and Step S43 in Figure 16, and it is determined in Step S53 that there is at least one computer that can be selected as a communication partner. If so, one computer (peer node) is selected in step S54. Computers that can be selected as communication partners may be stored in advance, for example.
  • the second difference is that in FIG. 16, if the other party's public key certificate does not exist in step S43, the process is immediately terminated. Even if the document does not exist, the process is continued in step S53 as long as there is a computer that can be selected as the communication partner. Since the other processes are the same, the description thereof is omitted here.
  • a secure protocol frame (received secure protocol frame) transmitted as described above.
  • the peer node (computer) that received the frame generates a secure protocol frame (reply secure protocol frame) including data indicating the processing result, and returns this to the original computer 31.
  • the return secure protocol frame includes data indicating various processing results such as search results in the payload 92.
  • the SPE ID field 101 of the secure protocol header 91 stores the value of the SPE ID included in the secure protocol header 91 of the received secure protocol frame.
  • the field of the individual public key certificate 102 of the SPE stores the public key certificate of the peer node that has accepted the processing request.
  • the message ID field 103 stores the value of the message ID included in the secure protocol header 91 of the received secure protocol frame.
  • the payload descriptor column 104 for example, data indicating that a processing result is returned is stored.
  • FIG. 18 is a flowchart showing the processing when the computer 31 that has transmitted the secure protocol frame by the processing of FIG. 16 or FIG. 17 receives the above-mentioned return secure protocol frame from the destination computer (peer node) power. It is.
  • step S71 when a secure protocol frame is received in step S71, for example, the main processor 39 reads the secure protocol header 91 in step S72. Subsequently, in step S73, for example, a communication processor such as the main processor 39 reads the SPEID included in the secure protocol header 91 read in step S72, and connects the bus 45 to the sub processor 33 having this ID. Forwards the secure protocol frame.
  • Step S74 and subsequent steps are processing by the sub-processor 33 that has received this secure protocol frame.
  • the secure protocol header 91 is read, and in step S75, the message ID is read from the secure protocol header.
  • step S76 it is checked whether the message ID matches the message ID generated in step S46 of FIG. 16 and stored in the low power storage 35 or the like.
  • step S77 the public key certificate is extracted from the secure protocol header 91.
  • step S78 it is verified whether the public key certificate authority of the computer returned in step S77 is correct. This may be simply a process of verifying whether or not it matches the public key certificate stored in advance in the local storage 35 or the like, or a process of newly confirming the signature of the public key certificate. Also good. If the other party's public key certificate is confirmed to be correct as a result of step S78, subsequent processing (for example, display of processing results such as search results and relocation results, request for reprocessing, etc.) is performed in step S79. Do. If it is determined in step S78 that the other party's public key certificate is invalid, the process proceeds to step S80, and the process is terminated as a process failure. In this case, the process of step S79 is not performed (restricted).
  • step S76 If it is determined in step S76 that the two message IDs do not match, the processing ends. After the processing is completed, for example, the next secure protocol frame may be waited without time limit, or if the next secure protocol frame does not come within a certain time, the processing is ended. Otherwise ...
  • FIG. 19 shows a process from when one of the sub processors 33 selects a partner computer (peer node), requests a task to the peer node according to FIG. 16 or FIG. 17, and receives a result report.
  • the flow is shown.
  • step S91 and step S92 it is sent to the partner node via the communication processor that processes the secure protocol frame strength protocol stack transmitted by the sub processor 33.
  • the peer node Upon receiving this secure protocol frame, the peer node extracts the other party's public key certificate from the secure protocol frame and authenticates it (step S93).
  • step S94 executes the requested task according to payload 92.
  • the peer node creates a secure protocol frame in which its public key certificate is embedded, and embeds the processing result of the requested task in payload 92.
  • the SPE ID 101 and the message ID 103 are the secure protocol received in step S92. Write the Colframe data as it is.
  • step S96 the secure protocol frame created as a result is transmitted to the computer having the source IP address. This secure protocol frame is transferred to the requesting sub processor 33 through the communication processor of the requesting computer according to FIG. 18 (step S 97).
  • secure data communication can be performed for each sub-processor 33 by the computer 31 including the one-chip multi-core processor 32.
  • FIG. 20 shows a system configuration example of a computer that uses the data communication method according to the present embodiment.
  • a monitor 160 such as a television receiver
  • the computer 151 itself displays a search result or accepts a search request by the monitor 160.
  • the computer 151 has inputs such as a switch 154 for starting and stopping the device, an operation / non-operation confirmation lamp (indicator) 155, an IR light receiving unit 152 for receiving an infrared signal from the remote control, and a keyboard 159.
  • a connection interface 153 such as a USB that connects the interfaces is provided.
  • the keyboard 159 is depicted as being wired and connected to the connection interface 153.
  • the connection interface 153 is a wireless communication interface
  • the keyboard 159 may be a wireless keyboard, and IEEE802. Communicate with the connection interface 153 according to communication standards such as llaZbZg!
  • the remote controller 156 includes an infrared light emitting unit 157 and a keypad unit 158 including a plurality of numbers, characters, direction instruction keys, and the like.
  • Each key may be configured so that a single key (input type selection key) can be used to select an input type such as numeric input, character input, or direction indication input.
  • one of the keys is an input type selection key
  • the keypad unit is provided with a display unit that displays the input character, and the display unit includes the input type currently selected ( Numbers, letters, or direction instructions) are displayed.
  • the input character string is further displayed on the display section.
  • multiple colors can be displayed with a single lamp or multiple lamps indicating the input type instead of the display. Can be provided.
  • the keypad unit 158 has keys for character conversion and character selection.
  • the inside of the computer 151 is configured, for example, as shown in FIG. 1, and is connected to a monitor 160 (corresponding to the monitor 57 in FIG. 1) via a graphic card 55, and the processor of the search mediating device 151 The output generated by is being displayed. Specifically, as shown in FIG. 19, for example, a search interface 141 as shown in FIG. 18 is displayed. The search interface is operated using a user interface such as the remote control 156 or the keyboard 159.
  • the input type is “Hiragana” from the remote controller 156 and the key strength of the keypad 158 is also input in order of hiragana, and converted to kanji or katakana as appropriate, characters such as ⁇ parallel ⁇ or “computer” Can be typed.
  • the input type may be set to “direction indication” by the remote controller 156, and the key force of the keypad unit 158 may also indicate the direction so that the cursor moves between the buttons on the search interface 141. For example, by pressing the right arrow key provided on the keypad unit 158, the cursor position can be changed in order, such as a search start button, a search stop button, a search condition input unit, a search expression input unit, and so on. wear.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 2以上のプロセッサを備えるコンピュータにより好適にセキュアなデータ通信を行う。  第1コンピュータ(コンピュータ31)から第2コンピュータ(相手ノード)に対して、第1コンピュータに備えられる2以上のプロセッサのうち1つを識別するプロセッサIDを含むデータを送信する(S91,S92)。第2コンピュータは、S91,S92で送信されるデータに含まれるプロセッサID及び第2コンピュータに関連する公開鍵証明書を含むデータを返信する(S96)。第1コンピュータでは、第2コンピュータから返信されるデータを受信するとともに、受信データから該データに含まれるプロセッサIDを取得して、そのプロセッサIDにより識別されるプロセッサ(SPE1)により受信されるデータを処理する。この際、受信データに含まれる公開鍵証明書の内容に応じて、該データ処理を制限する。

Description

明 細 書
データ通信方法、コンピュータ及び情報記憶媒体
技術分野
[0001] 本発明はデータ通信方法、コンピュータ及び情報記憶媒体に関し、特に 2以上の プロセッサを備えるコンピュータによるデータ通信に関する。 背景技術
[0002] 従来のデータ通信プロトコルは、 1つのコンピュータが 1つのプロセッサのみ含む場 合にはそのプロセッサ力 または 1つのコンピュータが複数のプロセッサを含む場合 にはそのうちの 1つのプロセッサが代表となって、他のコンピュータと通信を行うことを 前提としたものであった。
[0003] 2つのコンピュータ間でセキュアな通信を行う場合には、通常は、コンピュータのュ 一ザと、別のコンピュータのユーザとの間で公開鍵証明書 (電子証明書)を交換する 等して、セキュアな通信を行うか、または SSL (Secure Socket Layer) (または TLS (Tr ansport Layer Security) )を利用して、クライアントコンピュータがサーバコンピュータ カゝら公開鍵証明書付の公開鍵を取得し、その後、一方で生成された共通鍵を秘密裡 に共有することによってクライアントとサーバ間のセキユアなデータ通信を実現するよ うなことがなされていた。
発明の開示
発明が解決しょうとする課題
[0004] SSL (または TLS)においては、インターネットプロトコルのトランスポートレイヤとァ プリケーシヨンレイヤの中間に SSLレイヤを設けることによってデータを交換する。こ の方式は、コンピュータを代表するプロセッサが 1つに限られる場合には十分である 力 ワンチッププロセッサに内蔵される 2つ以上のプロセッサの各々力 外部のコンビ ユータとの間で相互認証を必要とするような通信を行うためには不十分であった。
[0005] 本発明は上記課題に鑑みてなされたものであって、その目的は、 2以上のプロセッ サを備えるコンピュータにより好適にセキュアなデータ通信を行うことができるデータ 通信方法、コンピュータ及び情報記憶媒体を提供することにある。 課題を解決するための手段
[0006] 上記課題を解決するために、本発明に係るデータ通信方法は、 2以上のプロセッサ をそれぞれ備える第 1コンピュータと、第 2コンピュータとの間のデータ通信方法であ つて、前記第 1コンピュータ力も前記第 2コンピュータに対して、前記第 1コンピュータ に備えられる前記 2以上のプロセッサのうち 1つを識別するプロセッサ IDを含むデー タを送信する送信ステップと、前記第 2コンピュータ力 前記第 1コンピュータに対して 、前記送信ステップで送信されるデータに含まれるプロセッサ ID及び前記第 2コンビ ユータに関連する公開鍵証明書を含むデータを返信する返信ステップと、前記第 1コ ンピュータが前記第 2コンピュータから、前記返信ステップにより返信されるデータを 受信する受信ステップと、前記第 1コンピュータにおいて、前記受信ステップで受信さ れるデータから、該データに含まれるプロセッサ IDを取得する取得ステップと、前記 第 1コンピュータにおいて、前記第 1コンピュータに備えられる前記 2以上のプロセッ サのうち、前記取得ステップで取得されるプロセッサ IDにより識別されるものにより、 前記受信ステップで受信されるデータを処理する処理ステップと、前記第 1コンビュ ータにお 、て、前記受信ステップで受信されるデータに含まれる公開鍵証明書の内 容に応じて、前記処理ステップによる処理を制限する認証ステップと、を含むことを特 徴とする。
[0007] 本発明では、プロセッサ IDを含むデータを第 1コンピュータ力も第 2コンピュータに 送信し、第 2コンピュータは該プロセッサ IDを含むデータを返信する。そして、第 1コ ンピュータでは、受信したデータに含まれるプロセッサ IDにより識別されるプロセッサ にて、受信したデータの処理を行う。この際、受信したデータには、第 2コンピュータ に関連する公開鍵証明書が含まれており、第 1コンピュータでは、この公開鍵証明書 の内容に応じて、データ処理を制限する。本発明によれば、このようにプロセッサを 特定した通信を行い、またデータ処理を公開鍵証明書の内容に応じて制限できるの で、 2以上のプロセッサを備えるコンピュータにより好適にセキュアなデータ通信を行 うことができる。
[0008] また、本発明の一態様では、前記送信ステップは、前記第 1コンピュータに備えられ る前記 2以上のプロセッサのうち 1つを識別するプロセッサ IDにカ卩えて、該プロセッサ IDにより識別されるプロセッサに関連する公開鍵証明書をさらに含むデータを送信し 、前記返信ステップは、前記送信ステップで送信されるデータに含まれる公開鍵証明 書の内容に応じて、前記送信ステップで送信されるデータに含まれるプロセッサ ID 及び前記第 2コンピュータに関連する公開鍵証明書を含むデータを返信する。こうす れば、公開鍵証明書の内容により、第 2コンピュータが第 1コンピュータと信頼関係を 構築できないと判断する場合に、第 2コンピュータ力も第 1コンピュータへのデータの 返信を制限できる。
[0009] なお、前記送信ステップは、前記第 1コンピュータに備えられる前記 2以上のプロセ ッサのうち 1つを識別するプロセッサ IDをヘッダの少なくとも一部として、通信内容を ペイロードとして含むデータを前記第 2コンピュータに送信するようにしてもよい。
[0010] また、前記返信ステップは、前記送信ステップで送信されるデータに含まれるプロセ ッサ ID及び前記第 2コンピュータに関連する公開鍵証明書をヘッダの少なくとも一部 として、通信内容をペイロードとして含むデータを前記第 1コンピュータに返信するよ うにしてもよい。
[0011] また、本発明に係るコンピュータは、 2以上のプロセッサと、前記 2以上のプロセッサ のうち 1つを識別するプロセッサ IDを含むデータを他のコンピュータに送信するデー タ送信手段と、前記他のコンピュータ力 前記 2以上のプロセッサのうち 1つを識別す るプロセッサ ID及び公開鍵証明書を含むデータを受信するデータ受信手段と、前記 データ受信手段により受信されるデータから、該データに含まれるプロセッサ IDを取 得するプロセッサ ID取得手段と、前記 2以上のプロセッサのうち、前記プロセッサ ID 取得手段により取得されるプロセッサ IDにより識別されるものにより、前記データ受信 手段により受信されるデータを処理するデータ処理手段と、前記データ受信手段に より受信されるデータに含まれる公開鍵証明書の内容に応じて、前記データ処理手 段による処理を制限する認証手段と、を含むことを特徴とする。
[0012] また、本発明に係る情報記憶媒体は、 2以上のプロセッサを備えるコンピュータによ り実行されるプログラムであって、前記 2以上のプロセッサのうち 1つを識別するプロ セッサ IDを含むデータを他のコンピュータに送信するデータ送信手段、前記他のコ ンピュータカも前記 2以上のプロセッサのうち 1つを識別するプロセッサ ID及び公開 鍵証明書を含むデータを受信するデータ受信手段、前記データ受信手段により受信 されるデータから、該データに含まれるプロセッサ IDを取得するプロセッサ ID取得手 段、前記 2以上のプロセッサのうち、前記プロセッサ ID取得手段により取得されるプロ セッサ IDにより識別されるものにより、前記データ受信手段により受信されるデータを 処理するデータ処理手段、及び前記データ受信手段により受信されるデータに含ま れる公開鍵証明書の内容に応じて、前記データ処理手段による処理を制限する認 証手段としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体で ある。このプログラムは、 CD— ROMや DVD— ROM等のコンピュータ読み取り可能 な情報記憶媒体に格納されてもよい。また、コンピュータは、家庭用ゲーム機、業務 用ゲーム機、携帯ゲーム機、携帯電話機、携帯情報端末、パーソナルコンピュータ、 サーバコンピュータ等である。 図面の簡単な説明
[図 1]データ通信に使用されるプロトコルスタックの一例を示す図である。
圆 2]本発明の一実施形態に係るコンピュータのハードウェア構成図である。
[図 3]図 1に示すコンピュータに備えられたサブプロセッサの構成例を示す図である。
[図 4]データ通信システムの一例を示す図である。
[図 5]ピアノード選択 ·認証'登録処理のフローチャートである。
[図 6]ピアノードの構成例を示す図である。
[図 7]本実施形態に係るデータ通信システムに含まれるピアノード間の信頼関係の一 例を示す図である。
[図 8] 1つのサブプロセッサが複数のピアノードと認証を行う場合における、ピアノード 選択 ·認証 ·登録処理のフローチャートである。
[図 9] 1つのサブプロセッサが複数のピアノードと認証を行う場合における、ピアノード アクセステーブルの一構成例を示す図である。
[図 10]本実施形態に係るデータ通信システムに含まれるピアノード間の信頼関係の 他の例を示す図である。
[図 11] 1つのサブプロセッサが複数のピアノードと認証を行 、、かつ信頼関係のな!/ヽ ピアノードに対しても検索依頼を行う場合における、ピアノード選択 ·認証 ·登録処理 のフローチャートである。
[図 12]1つのサブプロセッサが複数のピアノードと認証を行い、かつ信頼関係のない ピアノードに対しても検索依頼を行う場合における、ピアノードアクセステーブルの一 構成例を示す図である。
[図 13]本実施形態に係るセキュアプロトコルフレームの通信プロトコル全体における 位置づけを示す図である。
[図 14]本実施形態に係るセキュアプロトコルフレームの構成図である。
[図 15]本実施形態に係るセキュアプロトコルヘッダの構成例である。
[図 16]ピアノードが指定されている場合に、指定されたピアノードに処理要求を行う処 理を示すフローチャートである。
[図 17]ピアノードが指定されて ヽな 、場合に、 V、ずれかのピアノードに処理要求を行 う処理を示すフローチャートである。
[図 18]ピアノードに処理要求を行ったコンピュータ力 該ピアノード力も返信されるセ キュアプロトコルフレームを受信した場合の処理を示すフローチャートである。
[図 19]サブプロセッサ(SPE)とピアノード間のタスク依頼 ·結果受信の処理の流れを 示すシーケンス図である。
[図 20]本実施形態に係るコンピュータの機器構成例を示す図である。
発明を実施するための最良の形態
[0014] 以下、本発明の一実施形態について図面に基づき詳細に説明する。
[0015] 図 1は、通信プロトコルのスタックを示す図であり、同図に示すように、データ通信は 、物理層、データリンク層、ネットワーク層、トランスポート層及び応用層のそれぞれに 属するプロトコルに従って実行されている。各層のプロトコルは階層的に配置されて おり、それらの例は同図に示されている通りである。本実施形態では、ワンチップマル チコアプロセッサを備えるコンピュータによるセキュアなデータ通信を実現するために
、トランスポート層と応用層の間に位置する通信プロトコルを規定している。
[0016] 図 2は、本実施形態に係るデータ通信方法で使用されるコンピュータのシステム構 成例である。このコンピュータ 31の特徴の一つは、ワンチップマルチコアプロセッサ 3 2を備えていることである。このワンチップマルチコアプロセッサ 32は、プロセッサコア 40を有するメインプロセッサ 39、プロセッサコア 34を有するサブプロセッサ 33a〜33 h、 I/Oインタフェース 48、並びにメモリコントローラ 46という、合計 11のプロセッシン グエレメント(情報処理手段)力 Sリングバス 45に結合され、それぞれ並列動作するよう に構成されている。さらに、各プロセッシングエレメントは、例えば「SPE1」といった ID によってリングバス 45上でユニークに認識(特定)され、この IDによって、どのエレメン トがどのエレメントにリングバス 45を経由してリクエストを出しているか特定できる。
[0017] メモリコントローラ 46は、メインメモリ 47と結合され、各プロセッシングエレメントがメイ ンメモリ 47にアクセスする仲介を行う。なお、図 2では、メインメモリ 47はワンチップマ ルチコアプロセッサ 32の外部に描かれているが、メインメモリ 47がワンチップマルチ コアプロセッサ 32内部に含まれる構成でもよい。 I/Oインタフェース 48に対して、様 々な IZOデバイス(ネットワークインタフェース 50、不揮発性メモリ 51、 DVDドライバ 52、 USBポート 53に接続されるキーボード等の入力インタフェース 54等)と接続す るためのサウスブリッジ 49、フレームメモリ 56を備えると共にモニタ 57に対する表示 出力を制御するグラフィックスカード 55、あるいはアンテナ 61を用いたワイヤレス通信 を可能にする RF処理部 59等を接続させることによって、メインプロセッサ 39やサブ プロセッサ 33が、外部装置を制御したり、外部装置とのコミュニケーションを通じてデ ータをやり取りすることが可能になる。このシステムはネットワークインタフェース 50を 介してデータ通信ネットワークに接続されており、メインプロセッサ 42及びサブプロセ ッサ 33は、それぞれ独立してネットワーク上の各種機器と通信できるようになつている 。また、 RF処理部 59で取得される受信信号はダウンコンバータ 60により周波数変換 され、 ADコンバータ 58によりデジタルデータに変換された後、 ΙΟインタフェース 48 に供給される。
[0018] サブプロセッサ 33は、それぞれコア 34、ローカルストレージ(LS) 35、 DMAC (Dire ct Memory Access Controller) 37を内蔵するメモリフローコントローラ(MFC) 36、並 びに秘密鍵を内蔵するセキュアメモリ 38を構成要素として含んでいる。セキュアメモリ 38は、コア 34により排他的に(つまり当該セキュアメモリ 38と同じサブプロセッサ 33 に設けられたコア 34からのみ)アクセスされる RAM等の記憶手段である。図 3 (a)に 示すように、セキュアメモリは、ローカルストレージ(LS) 35の一部であってもよいし、 図 3 (b)に示すように、専用のハードウェア(コア 34力 排他的にアクセスされる RAM 等の記憶手段)として独立していてもよい。この場合、専用のハードウェアは、不揮発 性メモリであってもよいし、揮発性メモリであっても構わない。さらに、図 3 (a)及び (b) に示されるように、ローカルストレージ (LS) 35は、公開鍵 63、公開鍵 63を第三者機 関によって証明したことを示す公開鍵証明書 64、並びに外部のピアノードに対する アクセスに関する情報 (アドレス等)を保持したピアノードアクセステーブル 65を保持 する。
[0019] 各サブプロセッサ 33は、それぞれ固有のローカルストレージ 35を有するため、一度 プログラムが、ローカルストレージ 35にロードされれば、それ以降は、必要のない限り メインメモリ 47にアクセスしなくとも処理を継続することができる。
[0020] メインプロセッサ 39は、コア 40、 L1キャッシュ、 L2キャッシュ、並びに DMAC44を 内蔵する MFC43を構成要素として含んでいる。一般に、オペレーティングシステム は、メインプロセッサ 39において動作し、オペレーティングシステムの基本処理に基 づいて、各サブプロセッサ 33で動作するプログラムが決定される。言うまでもないが、 サブプロセッサ 33で動作するプログラム力 通常の概念においてオペレーティングシ ステムの一部をなすようなプログラム(例えば、デバイスドライバやシステムプログラム の一部)であっても構わない。また、メインプロセッサ 39とサブプロセッサ 33は、それ ぞれ異なる命令セットを有する命令セットアーキテクチャ (ISA)である。
[0021] 本実施形態に係るデータ通信方法の特徴の一つは、各サブプロセッサ 33が、ネッ トワーク上のピアノードと相互認証を行うプロセスを実行する点である。なお、ピアノ一 ドはサーバ又はクライアントのどちらの機能を果たすものであってもよい。ここではま ず、最も簡単な例として、各サブプロセッサ 33がユニークにネットワーク上の 1つのピ アノードと信頼関係を確立する場合について、図 4と図 5を参照して説明する。ここで は、複数のコンピュータによるデータ検索の分散処理を例に取り上げる。
[0022] 図 4にあるように、検索システムとして用いられるデータ通信システム 70では、サブ プロセッサ 33とピアノード 84a〜84hは、それぞれ秘密鍵を少なくとも 1つ記憶してい る。図 4では示されないが、ネットワーク 85上に公開鍵認証局が存在する。サブプロ セッサ 33と各ピアノード 84は、それぞれの公開鍵 63に基づいて、公開鍵認証局から 公開鍵証明書 (電子証明書)を提供される。すなわち、サブプロセッサ 33の公開鍵 6 3に基づいて、公開鍵認証局は、公開鍵証明書 (認証局の秘密鍵で暗号化された公 開鍵 63等)を発行し、当該公開鍵証明書をサブプロセッサ 33に返信し、各サブプロ セッサ 33は、当該公開鍵証明書を保持している。同様に、各ピアノード 84の公開鍵 に基づいて、公開鍵認証局は、公開鍵証明書を発行し、当該公開鍵証明書を該ピ アノード 84に返信し、各ピアノード 84は、当該公開鍵証明書を保持している。なお、 公開鍵認証基盤としては、例えば ITU—Tによって勧告された X.509を採用すること ができる。
図 5に示すように、各サブプロセッサ 33がピアノード 84と信頼関係を確立する場合 、サブプロセッサ 33は、まず S61において外部ピアノード 84の選択処理を行う。図示 されて ヽな 、が、ここではピアノード選択サーバがネットワーク 85上に存在して!/、る。 ピアノード選択サーバは、各サブプロセッサ 33の要求に基づいて、ユニークに 1つの ピアノード 84を選択し、当該サブプロセッサ 33は、選択されたピアノード 84との間で 、 S62において SSLハンドシェークプロトコル等を利用して相互認証を行う。例えば、 サブプロセッサ 33は、選択されたピアノード 84から公開鍵証明書を受信し、当該公 開鍵証明書を公開鍵認証局の公開鍵を使用して復号ィ匕し、ピアノード 84の情報 (ピ アノード 84の公開鍵やその管理者の名称等)を取得する。そして、この情報力もピア ノード 84を認証する。同様に、ピアノード 84も、サブプロセッサ 33から公開鍵証明書 を受信し、当該公開鍵証明書を公開鍵認証局の公開鍵を使用して復号ィ匕し、サブプ 口セッサ 33の情報(サブプロセッサ 33の公開鍵やそのユーザの名前等)を取得する 。そして、この情報からサブプロセッサ 33を認証する。こうして、ステップ S63におい て相互に認証が成功していることが確認されれば、これ以降、当該サブプロセッサ 33 は、アクセスできなくなる等の障害が生じない限り、当該ピアノード 84を信頼のおける ピアノードと判断する。そのために、ステップ S64において、サブプロセッサ 33は、図 3に示すピアノードアクセステーブル 65に当該ピアノード 84に関する情報を登録する 。一方、もし S63において相互認証が失敗した場合には、再び S61に戻り、サブプロ セッサ 33は、ピアノード選択サーバに対して、再度、ピアノードの選択を依頼する。最 後まで (例えば所定時間が経過するまで)相互認証が成功しなかった場合には、サ ブプロセッサ 33は、信頼のおけるピアノードが存在しないと判断する。この場合、本 実施形態においては、当該サブプロセッサ 33は、検索処理の分散処理に関与 (参加 )しないこととなる。以上の処理は、クライアントから検索要求があった場合に実行され てもよいし、コンピュータ 31の起動時等、その他の適宜のタイミングで実行されてもよ い。
[0024] 図 4に示されるピアノード 84は、図 2のコンピュータ 31と同様の構成であってもよい し、図 6 (a)及び (b)に示されるように、メインプロセッサ 86からアクセスされるメインメ モリ 87中〖こセキュアメモリ 88を持つ力、又はメインメモリ 87と独立にセキュアメモリ 88 を持つような、汎用又は専用コンピュータであってもよい。ピアノード 84が、図 6の構 成を採用した場合には、セキュアメモリ 88には秘密鍵 62が記憶され、メインメモリ 86 には公開鍵 63、第三者から発行された公開鍵証明書 64、並びにピアノードアクセス テーブル 65を有している。なお、図 4におけるコンピュータ 31がシングルプロセッサ のピアノードとなる場合には、メインプロセッサ 42が、図 6におけるメインプロセッサ 86 であり、図 4におけるメインメモリ 47が、図 6におけるメインメモリ 87であるように構成す ることができる。すなわち、メインメモリ 47が、図 6 (a)にあるようにセキュアメモリ 88に 相当する記憶領域を有し、そこに秘密鍵 62を格納し、さらに他の記憶領域に公開鍵 63及び公開鍵証明書 64を記憶する。ただし、コンピュータ 31がシングルプロセッサ のピアノードとなる場合において、メインプロセッサ 42が検索処理に関わらないので あれば、コンピュータ 31は、ピアノードアクセステーブル 65を記憶しておく必要がな い。
[0025] さて、上記実施形態では、 1つのサブプロセッサが唯 1つのピアノードと信頼関係を 確立することを前提としている。しかしながら、 1つのサブプロセッサが複数のピアノ一 ドと信頼関係を持ち、検索依頼を行うようにしてもよい。また、図 7に示すように、検索 依頼を受けるピアノード 120を頂点とする、ピアノードの木構造ネットワークを構成す るようにしてもよい。例えば、最初に検索依頼を受けるピアノード 120は、 2つのピアノ ード 121aと 121bと信頼関係を確立しており、さらにピアノード 121aは、ピアノード 12 2aと 122bと信頼関係を確立している。なお、繰り返しになるが、各ピアノードは、図 2 に示すようにしてワンチップマルチコアプロセッサを利用したコンピュータシステムで あってもょ ヽし、それ以外のコンピュータシステムであってもよ!/、。
[0026] 図 7のような信頼関係ネットワークにおいて、ピアノード 120がクライアントから検索 依頼を受け取ると、検索依頼は、それぞれ下方 (ツリーの末端方向)に向力つて伝播 し、信頼関係の最後に位置するピアノード 124a、 124b, 125、 126a, 126b,並び に 127が、折り返し上方 (ツリーのルート方向)に検索結果を返していくことになる。最 終的に、全てのピアノードの検索結果は、最初にクライアントから検索依頼を受けた ピアノード 120に集められることになる。ピアノード 120に検索依頼を行ったクライアン ト(図示されていない)は、この検索結果を受け取り、ユーザに対して表示を行うことに なる。もし、ピアノード 120自身がユーザインタフェースを備えた検索サーバであれば 、その場でユーザインタフェースを介して、ユーザに対して検索結果の表示を行う。
[0027] さて、図 7のような実施形態とするためには、図 5のフロー図により既に示した、各サ ブプロセッサが実施する信頼関係を確立したピアノードの登録処理を、より一般的に 拡張する必要がある。これを図 8に示す。同図では、まずステップ S71において、いく つのピアノードを選択するか (いくつのピアノードに対して相互認証を試みる力 )を決 定する。もちろん、選択するピアノード数 Nが 1であれば、図 8の処理は、本質的に、 図 5の処理と同じになる。また、 Nは無限大とすることもできる。しかしながら現実的に は、図 3又は図 6のピアノードアクセステーブル 65は有限であることの方が一般的で ある。
[0028] まず、ステップ S72で Nが 0かどう力 すなわち予定された N個のピアノードについ て認証を行ったかどうか検証している。 Nが 0でない間は、ステップ S73に進み、選択 できるピアノードがあるかどうかチェックしている。この結果、選択的できるピアノードが 存在するならば、ステップ S74で Nを 1減じた後、ステップ S75に進み、ピアノードを 選択する。選択対象となるピアノードがすでに存在しなければ、登録処理を終了する 。ステップ S75で選択されたピアノードとの間で、ステップ S76において相互認証を 行う。これには、例えば SSLハンドシェークプロトコル等を利用することができる。最後 にステップ S77において、ピアノード認証が成功したかどうか確認し、成功していれば ステップ S78に進み、公開鍵証明書を当該認証が成功したピアノードから取得して、 そのピアノードを信頼できるピアノードとしてピアノートアクセステーブルに登録する。 ピアノード認証が失敗すれば、ピアノードアクセステーブルに登録することなぐステツ プ S72に戻る。
[0029] 図 9は、図 3又は図 6のピアノードアクセステーブル 65の一例を示したものである。こ のテーブルには、ピアノード ID (ここではグローバル IDではなぐテーブルを保有す るコンピュータからみたローカル IDが示されている)、ローカルメモリ上のアドレスであ る公開鍵証明書格納位置、登録されているピアノードの IPアドレス、及び登録されて いるピアノードが現在アクセス可能な状態にあるかどうかを示すレスポンスが項目とし て存在している。なお、本実施形態では、 IPアドレスを利用した力 MACアドレスの ように相手のネットワーク上での位置が何らかの形でわ力るものであればょ 、。レスポ ンスの欄で〃 OK"と示されて!/、るのはアクセス可能なピアノードを示し、 "NO"はなん らかの理由(例えばネットワークの切断やコンピュータ電源オフ等)によってアクセス 不可となって!/、るピアノードを示して 、る。
[0030] 以上の説明では、全て、検索を依頼するサブプロセッサと検索を依頼されるピアノ ードの間に信頼関係が成立している場合のみを想定していた。し力しながら、実際に は、そこまで厳格に制限しなくとも、信頼できるピアノードからの検索結果なのか、信 頼できないピアノードからの検索結果なのかが明確に区別できれば、あとは検索結 果を利用するユーザの責任に基づいて検索結果を利用するという方法も考えられる 。例えば、図 10では、検索依頼の各一部を処理するピアノードに、信頼できないピア ノードが含まれている。同図は図 7と、木構造ネットワークのノードに信頼できないピア ノードが含まれている点で異なる。ピアノード 142b、 144b, 145、並びに 146bは信 頼関係を確立できないピアノードである。これらは、例えば第三者の発行する公開鍵 証明書を保持しないピアノードである。このため、例えばピアノード 141aにとつて、ピ アノード 142bは信頼できないピアノードであり、よって、このピアノード 142bからの検 索結果は信頼できないものであるとして、ピアノード 141aにより認識される。同様のこ とは、ピアノード 142aとピアノード 144bの間、及びピアノード 143aとピアノード 146b の間にも成り立つ。特筆すべきなのは、あるノードが信頼できない場合、そこに接続 する(そこよりも下方の)全てのノードからの検索結果は、信頼できない検索結果とし て認識されることである。例えば、もしピアノード 145が第三者の発行する公開鍵証明 書を保持していたとしても、このピアノード 145の情報力 信頼できないピアノード 14 2aを経由して来た場合には、ピアノード 141aは、それを信頼できない検索結果と認 識する。これは、信頼できないノードが間に入ることにより、信頼できないノード上で情 報の改竄等が行われる可能性もあるためである。
[0031] 図 11は、 1つのサブプロセッサが複数のピアノードと認証を行い、その一部に信頼 関係を確立して 、な 、ものが含まれうる場合における、ピアノードの登録処理を示す フロー図である。同図の処理は、図 10の木構造ネットワークを前提としており、図 8の フローチャートに一部変更を加えたものとなっている。具体的には、図 8と異なるのは 、ステップ S77以降の処理である。図 8では、ピアノード認証が失敗した場合には、何 の処理もしな力つた。し力しながら、図 10にあるように信頼できないピアノードに対し ても検索依頼を出せるようにするために、図 11は、ピアノード認証が失敗した後の処 理として、ステップ S79を追カロしている。すなわち、あるピアノードとの相互認証が成 功しな力つた場合には、信頼関係がないピアノードとして、そのピアノードを、ピアノ一 ドアクセステーブルに登録して 、る。
[0032] 図 12は、図 11の処理により生成されるピアノードアクセステーブルの一例を示して いる。同図に示すピアノードアクセステーブルは、図 9に示すピアノードアクセステー ブルに比し、〃信頼度〃の項目が加えられている。ここで、ピアノード ID0004の信頼度 は"無"となっている。これは、ステップ S77においてピアノード認証が失敗したと判断 されたピアノード、すなわち信頼できな 、ピアノードとして認識されたことを示すもので ある。さらに、このピアノード ID0004の公開鍵証明書格納位置には" NONE"と示さ れている。信頼できないピアノードは公開鍵証明書がないので、ローカルメモリには 格納できないためである。
[0033] ここで、図 13から図 19を参照しながら、本実施形態に係るデータ通信方法に関し て、さらに詳細な説明を行う。図 1でも示したように、本実施形態の通信プロトコルは、 例えばインターネットプロトコルにおいては、トランスポート層(例えば TCP)の上に位 置する。図 13では、 TCP/IPを活用して本実施形態の通信レイヤを構築した例が 示されている。すなわち、本実施形態の通信プロトコルで使われるデータ構造は、図 13において、セキュアプロトコルフレームとして示されている。 TCP/IPにおいては、 このセキュアプロトコルフレームに、 TCPヘッダと IPヘッダが追加される。ネットワーク 85に送出されるイーサネット (登録商標)フレームは、このデータの前後に、さらにへ ッダとトレイラが付加されたものである。
[0034] 図 14は、本実施形態のセキュアプロトコルフレーム構造を示しており、同図に示す ように、セキュアプロトコルフレームは、セキュアプロトコルヘッダ 91とペイロード(すな わち通信内容) 92から構成される。図 15は、セキュアプロトコルヘッダ 91の一例をよ り詳細に記述している。この例では、ペイロード 92を送出するサブプロセッサ 33の ID である SPE ID101、サブプロセッサ 33がそれぞれ固有に保持する自分自身の公 開鍵証明書 102、各メッセージがユニークに特定されるためのメッセージ ID103,ぺ ィロード 92の内容の種類を示すペイロードディスクリプタ 104、ペイロードの長さ 106 、及びその他の情報 (これは実施形態に応じて様々である) 105を含む。ペイロード ディスクリプタは、一例において、 0x01がタスク依頼を、 0x02がタスク依頼に対する 結果を、ペイロード 92が含むことを示すようにできる。
[0035] 図 16と図 17は、それぞれ、データ送信処理において、データを受信するピアノード が特に指定されている場合(図 16)と、特に指定されておらず応答可能なピアノード であればどれでもよ 、と!/、う場合(図 17)の 2つを示して!/、る。
[0036] 図 16においては、まず、ステップ S41において、サブプロセッサ 33に対するセキュ ァアプリケーションの実行リクエストを出す。このセキュアアプリケーションは例えば、 検索アプリケーションの起動や、オブジェクト(アプリケーション、データ)のピアノード 間再配置依頼アプリケーション等である。次にステップ S42において、他のコンビユー タ(ピアノード)に対する処理リクエストコードが生成される。処理リクエストコードは、検 索関連アプリケーションについてはキーワードを付けた検索依頼を示すデータである し、オブジェクト再配置アプリケーションについては、特定のノード力も別のノードへの オブジェクトの条件付き再配置の依頼を示すデータである。
[0037] 続いてステップ S43では、送り先のピアノードの公開鍵証明書力 図 3のピアノード アクセステーブル 65に登録されているかどうかがチェックされる。もし登録されていれ ば、信頼できるノードと判断し、ステップ S44において、サブプロセッサ 33が当該サブ プロセッサ 33を識別する SPEIDを、例えば当該サブプロセッサ 33のローカルストレ ージ 35から読み出す。さらに、ステップ S45において、図 3における公開鍵証明書 6 4を同ローカルストレージ 35等から読み出すとともに、ステップ S46においてメッセ一 ジ IDを生成する。メッセージ IDは、例えばシリアルに生成されてもよいし、乱数に基 づいて生成されてもよい。メッセージ IDは、セキュアプロトコルフレームの送信に対し て、通信相手であるピアノード力 セキュアプロトコルフレームの返信があるまで、例 えばローカルストレージ 35に保存される。
[0038] ステップ S47では、 S42で生成された処理リクエストコードを含むペイロード 92用の データを生成し、ステップ S48でセキュアプロトコルフレームを作成するとともに、ステ ップ S49で、このセキュアプロトコルフレームを予め特定されている他のコンピュータ に送信する。セキュアプロトコルフレームは、ステップ S44で読み出された SPE ID、 ステップ S45で読み出された公開鍵証明書、ステップ S46で生成されたメッセージ ID をセキュアプロトコルヘッダ 91に含み、 S42で生成された処理リクエストコードをペイ ロード 92に含むデータである。
[0039] なお、ステップ S43で、送り先のピアノード (他のコンピュータ)の公開鍵証明書がピ アノードアクセステーブル 65に登録されていないと判断される場合には、セキュアァ プリケーシヨンの実施条件が満たされな 、と判断して、処理を終了する。
[0040] 一方、通信先である他のコンピュータが特定されていない場合の処理は、図 17に 示される。図 17と図 16の違いの 1つは、図 16におけるステップ S42とステップ S43の 間に、ステップ S53とステップ S54が挿入され、ステップ S53で、通信相手として選択 できるコンピュータが 1つでも存在すると判断される場合には、ステップ S54でコンビ ユータ (ピアノード)を 1つ選択することである。通信相手として選択できるコンピュータ は、例えば予めリストイ匕して記憶しておけばよい。 2つ目の違いは、図 16では、ステツ プ S43において、相手の公開鍵証明書が存在しなければすぐに処理を終了してしま つたが、図 17では、ステップ S55において相手の公開鍵証明書が存在しな力つた場 合でも、ステップ S53で、通信相手として選択できるコンピュータが存在する限り処理 を継続するようにした、という点である。それ以外の処理については、同じであるので 、ここでは説明を省略する。
[0041] 以上のようにして送信されるセキュアプロトコルフレーム(受信セキュアプロトコルフ レーム)を受信したピアノード (コンピュータ)では、処理結果を示すデータを含むセキ ユアプロトコルフレーム(返信セキュアプロトコルフレーム)を生成して、これを元のコン ピュータ 31に返信する。このとき、受信セキュアプロトコルフレームのセキュアプロトコ ルヘッダ 91に含まれる公開鍵証明書により、送信元のコンピュータ 31が正当なもの であることが確認できない場合には、セキュアプロトコルフレームの返信を行わない。 また、返信セキュアプロトコルフレームは、検索結果等の各種処理結果を示すデータ をペイロード 92に含むものである。また、そのセキュアプロトコルヘッダ 91の SPE ID の欄 101には、受信セキュアプロトコルフレームのセキュアプロトコルヘッダ 91に含ま れている SPE IDの値が格納される。さらに、 SPEの個別公開鍵証明書 102の欄に は、処理要求を受け付けた当該ピアノードの公開鍵証明書が格納される。また、メッ セージ IDの欄 103には、受信セキュアプロトコルフレームのセキュアプロトコルヘッダ 91に含まれているメッセージ IDの値が格納される。また、ペイロードディスクリプタの 欄 104には、例えば処理結果の返信の旨を示すデータが格納される。
[0042] 図 18は、図 16又は図 17の処理によりセキュアプロトコルフレームを送信したコンビ ユータ 31が、送信先のコンピュータ(ピアノード)力 上記返信セキュアプロトコルフレ ームを受信した場合の処理を示すフローチャートである。
[0043] まず、ステップ S71においてセキュアプロトコルフレームを受信すると、ステップ S72 において例えばメインプロセッサ 39がセキュアプロトコルヘッダ 91を読み出す。続い て、ステップ S73において、例えばメインプロセッサ 39等のコミュニケーションプロセッ サが上記ステップ S72において読み出されたセキュアプロトコルヘッダ 91に含まれて いる SPEIDを読み出し、この IDを持つサブプロセッサ 33に、バス 45を介して、セキ ユアプロトコルフレームを転送する。
[0044] ステップ S74以下は、このセキュアプロトコルフレームを受信したサブプロセッサ 33 による処理となる。まずステップ S 74において、セキュアプロトコルヘッダ 91を読み出 し、ステップ S75において、上記セキュアプロトコルヘッダからメッセージ IDを読み出 す。ステップ S76では、このメッセージ ID力 図 16のステップ S46で生成され、ロー力 ルストレージ 35等に記憶されているメッセージ IDと一致するかどうかチェックする。
[0045] ステップ S46のチェックの結果、 2つのメッセージ IDがー致すれば、続いてステップ S77でセキュアプロトコルヘッダ 91から公開鍵証明書を取り出す。ステップ S78では 、ステップ S77で取り出した返信したコンピュータの公開鍵証明書力 正しいかどうか 検証を行う。これは単に、予めローカルストレージ 35等に記憶されている公開鍵証明 書と一致するかどうか検証するだけの処理であってもよいし、新たに公開鍵証明書の 署名を確認する処理を行ってもよい。ステップ S78の結果、相手の公開鍵証明書の 正しさが確認された場合、ステップ S79で続きの処理 (例えば検索結果や再配置結 果等の処理結果の表示や、再処理の要求等)を行う。もしステップ S78において、相 手の公開鍵証明書が不正なものであると判断した場合には、ステップ S80に進み、 処理失敗として処理を中止する。この場合、ステップ S79の処理は行われない(制限 される)。
[0046] また、ステップ S76において、 2つのメッセージ IDがー致しないと判断した場合には 、そのまま処理を終了する。処理を終了した後は、例えば次のセキュアプロトコルフレ ームが来るのを時間制限なく待つようにしてもよいし、一定時間以内に、次のセキュ ァプロトコルフレームがこなければ処理を終了するようにしてもよ 、。
[0047] 図 19は、サブプロセッサ 33の 1つが、相手コンピュータ(ピアノード)を選択し、図 16 または図 17にしたがって、当該ピアノードに対してタスク依頼を行ってから、結果報 告を受けるまでの流れを示している。ステップ S91及びステップ S92で、サブプロセッ サ 33が送信したセキュアプロトコルフレーム力 プロトコルスタックを処理するコミュ- ケーシヨンプロセッサを介して相手ノードに送られる。このセキュアプロトコルフレーム を受信したピアノードは、相手の公開鍵証明書をセキュアプロトコルフレーム力 取り 出し、認証を行う(ステップ S93)。
[0048] この結果、認証が失敗した場合には処理を終了する。認証が成功した場合には、ス テツプ S94に進み、ペイロード 92にしたがって、依頼されたタスクを実行する。例えば 検索であれば検索処理を行う。タスクが正常に終了した場合には、当該ピアノードは 、 自分の公開鍵証明書を埋め込んだセキュアプロトコルフレームを作成し、ペイロー ド 92には要求されたタスクの処理結果を埋め込む。この際、ペイロードディスクリプタ には、結果を示す、例えば 0x02を書き込む。図 15のセキュアプロトコルフレームのう ち、 101の SPE IDと 103のメッセージ IDは、ステップ S92で受信したセキュアプロト コルフレームのデータをそのまま書き込む。そして、この結果作成されたセキュアプロ トコルフレームをステップ S96で送信元の IPアドレスを持つコンピュータに送信する。 このセキュアプロトコルフレームは、当該依頼元コンピュータのコミュニケーションプロ セッサを介して、図 18にしたがって、依頼元のサブプロセッサ 33に対して転送される (ステップ S 97)。
[0049] 以上の処理によれば、ワンチップマルチコアプロセッサ 32を備えるコンピュータ 31 により、サブプロセッサ 33毎にセキュアなデータ通信を行うことができる。
[0050] なお、上記実施形態に係るデータ通信方法は汎用のコンピュータのみならず、例え ばゲーム機等の特定用途のコンピュータでも使用可能である。図 20には、本実施形 態に係るデータ通信方法を用いるコンピュータのシステム構成例が示されて 、る。こ の構成例では、テレビ受像器等のモニタ 160が利用されており、コンピュータ 151本 体は、このモニタ 160により検索結果を表示したり、検索要求を受け付けたりするよう になっている。コンピュータ 151は、装置の起動'停止を行うためのスィッチ 154、動 作 ·非動作を示す確認ランプ (インディケータ) 155、リモコンからの赤外線信号を受 け付ける IR受光部 152、並びにキーボード 159等の入力インタフェースを接続する U SB等の接続インタフェース 153を備えている。ここで、キーボード 159は有線で接続 インタフェース 153に接続されているように描かれている力 当然ながら接続インタフ エース 153が無線通信インタフェースであれば、キーボード 159はワイヤレスキーボ ードであってよく、 IEEE802. llaZbZgのような通信規格に則って、当該接続イン タフエース 153と通信するようにされて!、てもよ!/、。
[0051] リモコン 156は、赤外線発光部 157と、複数の数字、文字、或いは方向指示キー等 を備えたキーパッド部 158と、を備えている。各キーは、数字入力、文字入力、或い は方向指示入力等の入力タイプを、 1つのキー (入力タイプ選択キー)で選択できる ようにされていてもよい。この場合、キーの 1つが入力タイプ選択キーであり、さらに、 キーパッド部に、入力した文字が表示されるような表示部を備えて、当該表示部には 、現在選択されている入力タイプ (数字、文字、或いは方向指示)が表示される。そし て、当該表示部にはさらに、入力した文字列が表示される。また別の例では、表示部 の代わりに、入力タイプを示す複数のランプ或いは 1つのランプで複数の色を表示で きるものが備えられる。そして、これによつて入力タイプを表示する。キーパッド部 158 には、文字変換や文字選択をするためのキーが備わっているとより好適である。 コンピュータ 151の内部は、例えば図 1のように構成されており、グラフィックカード 5 5を介してモニタ 160 (図 1のモニタ 57に相当する。)と接続されており、検索仲介装 置 151のプロセッサによって生成された出力を表示するようにされている。具体的に は、図 19に示されるように、例えば図 18で示したような検索インタフェース 141が表 示される。また、この検索インタフェースの操作はリモコン 156やキーボード 159等の ユーザインタフェースを利用して行うことになる。例えば、リモコン 156から入力タイプ を「ひらがな」として、キーパッド部 158のキー力もひらがなを順に入力するとともに、 適宜、それを漢字やカタカナに変換することによって、〃並列〃又は"コンピュータ"等 の文字を打ち込むことができる。また、リモコン 156により入力タイプを「方向指示」に 設定し、キーバッド部 158のキー力も方向を指示することにより、検索インタフェース 1 41上でボタンの間をカーソルが移動するようにしてもよい。例えば、キーパッド部 158 に設けられた右矢印のキーを押すことにより、検索開始ボタン、検索中止ボタン,検 索条件入力部、検索式入力部、…といったように順にカーソル位置を変えることがで きる。

Claims

請求の範囲
[1] 2以上のプロセッサをそれぞれ備える第 1コンピュータと、第 2コンピュータとの間の データ通信方法であって、
前記第 1コンピュータ力も前記第 2コンピュータに対して、前記第 1コンピュータに備 えられる前記 2以上のプロセッサのうち 1つを識別するプロセッサ IDを含むデータを 送信する送信ステップと、
前記第 2コンピュータ力 前記第 1コンピュータに対して、前記送信ステップで送信 されるデータに含まれるプロセッサ ID及び前記第 2コンピュータに関連する公開鍵証 明書を含むデータを返信する返信ステップと、
前記第 1コンピュータが前記第 2コンピュータから、前記返信ステップにより返信され るデータを受信する受信ステップと、
前記第 1コンピュータにおいて、前記受信ステップで受信されるデータから、該デー タに含まれるプロセッサ IDを取得する取得ステップと、
前記第 1コンピュータにおいて、前記第 1コンピュータに備えられる前記 2以上のプ 口セッサのうち、前記取得ステップで取得されるプロセッサ IDにより識別されるものに より、前記受信ステップで受信されるデータを処理する処理ステップと、
前記第 1コンピュータにぉ ヽて、前記受信ステップで受信されるデータに含まれる 公開鍵証明書の内容に応じて、前記処理ステップによる処理を制限する認証ステツ プと、
を含むことを特徴とするデータ通信方法。
[2] 請求の範囲第 1項に記載のデータ通信方法において、
前記送信ステップは、前記第 1コンピュータに備えられる前記 2以上のプロセッサの うち 1つを識別するプロセッサ IDに加えて、該プロセッサ IDにより識別されるプロセッ サに関連する公開鍵証明書をさらに含むデータを送信し、
前記返信ステップは、前記送信ステップで送信されるデータに含まれる公開鍵証明 書の内容に応じて、前記送信ステップで送信されるデータに含まれるプロセッサ ID 及び前記第 2コンピュータに関連する公開鍵証明書を含むデータを返信する、 ことを特徴とするデータ通信方法。
[3] 請求の範囲第 1項又は第 2項に記載のデータ通信方法において、
前記送信ステップは、前記第 1コンピュータに備えられる前記 2以上のプロセッサの うち 1つを識別するプロセッサ IDをヘッダの少なくとも一部として、通信内容をペイ口 ードとして含むデータを前記第 2コンピュータに送信する、
ことを特徴とするデータ通信方法。
[4] 請求の範囲第 1項に記載のデータ通信方法において、
前記返信ステップは、前記送信ステップで送信されるデータに含まれるプロセッサ I D及び前記第 2コンピュータに関連する公開鍵証明書をヘッダの少なくとも一部とし て、通信内容をペイロードとして含むデータを前記第 1コンピュータに返信する、 ことを特徴とするデータ通信方法。
[5] 2以上のプロセッサと、
前記 2以上のプロセッサのうち 1つを識別するプロセッサ IDを含むデータを他のコン ピュータに送信するデータ送信手段と、
前記他のコンピュータ力 前記 2以上のプロセッサのうち 1つを識別するプロセッサ I D及び公開鍵証明書を含むデータを受信するデータ受信手段と、
前記データ受信手段により受信されるデータから、該データに含まれるプロセッサ I Dを取得するプロセッサ ID取得手段と、
前記 2以上のプロセッサのうち、前記プロセッサ ID取得手段により取得されるプロセ ッサ IDにより識別されるものにより、前記データ受信手段により受信されるデータを処 理するデータ処理手段と、
前記データ受信手段により受信されるデータに含まれる公開鍵証明書の内容に応 じて、前記データ処理手段による処理を制限する認証手段と、
を含むことを特徴とするコンピュータ。
[6] 2以上のプロセッサを備えるコンピュータにより実行されるプログラムを記憶した情報 記憶媒体であって、
前記 2以上のプロセッサのうち 1つを識別するプロセッサ IDを含むデータを他のコン ピュータに送信するデータ送信手段、
前記他のコンピュータ力 前記 2以上のプロセッサのうち 1つを識別するプロセッサ I D及び公開鍵証明書を含むデータを受信するデータ受信手段、
前記データ受信手段により受信されるデータから、該データに含まれるプロセッサ I Dを取得するプロセッサ ID取得手段、
前記 2以上のプロセッサのうち、前記プロセッサ ID取得手段により取得されるプロセ ッサ IDにより識別されるものにより、前記データ受信手段により受信されるデータを処 理するデータ処理手段、及び
前記データ受信手段により受信されるデータに含まれる公開鍵証明書の内容に応 じて、前記データ処理手段による処理を制限する認証手段
としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体。
PCT/JP2006/315336 2005-11-08 2006-08-02 データ通信方法、コンピュータ及び情報記憶媒体 WO2007055054A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007544067A JP4698678B2 (ja) 2005-11-08 2006-08-02 データ通信方法、コンピュータ及び情報記憶媒体
EP06782205.6A EP1947799A4 (en) 2005-11-08 2006-08-02 DATA COMMUNICATION METHOD, COMPUTER AND INFORMATION STORAGE MEDIUM
US12/092,491 US8732471B2 (en) 2005-11-08 2006-08-02 Data communication method, computer and information storing medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005323322 2005-11-08
JP2005-323322 2005-11-08

Publications (1)

Publication Number Publication Date
WO2007055054A1 true WO2007055054A1 (ja) 2007-05-18

Family

ID=38023062

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/315336 WO2007055054A1 (ja) 2005-11-08 2006-08-02 データ通信方法、コンピュータ及び情報記憶媒体

Country Status (4)

Country Link
US (1) US8732471B2 (ja)
EP (1) EP1947799A4 (ja)
JP (1) JP4698678B2 (ja)
WO (1) WO2007055054A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8646039B2 (en) * 2007-08-01 2014-02-04 Avaya Inc. Automated peer authentication
US8950001B2 (en) * 2007-08-01 2015-02-03 Avaya Inc. Continual peer authentication
US10102063B2 (en) * 2011-03-02 2018-10-16 International Business Machines Corporation Transferring data utilizing a transfer token module
US8874769B2 (en) * 2011-06-30 2014-10-28 Qualcomm Incorporated Facilitating group access control to data objects in peer-to-peer overlay networks
US9922200B2 (en) 2014-06-30 2018-03-20 Microsoft Technology Licensing, Llc Securely storing content within public clouds

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148705A (ja) * 1998-09-25 2000-05-30 Ncr Internatl Inc 共用資源を動的に結合するための方法及びその装置
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1467300A1 (en) * 1997-08-13 2004-10-13 Matsushita Electric Industrial Co., Ltd Mobile electronic commerce system
US6496945B2 (en) * 1998-06-04 2002-12-17 Compaq Information Technologies Group, L.P. Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US20030159043A1 (en) * 1999-05-27 2003-08-21 Michael A. Epstein Method and apparatus for use of a watermark and a receiver dependent reference for the purpose of copy pretection
US20020062451A1 (en) * 1998-09-01 2002-05-23 Scheidt Edward M. System and method of providing communication security
JP3708394B2 (ja) * 2000-02-25 2005-10-19 日本電信電話株式会社 マルチプロセッサシステム
US20010037435A1 (en) * 2000-05-31 2001-11-01 Van Doren Stephen R. Distributed address mapping and routing table mechanism that supports flexible configuration and partitioning in a modular switch-based, shared-memory multiprocessor computer system
US20020165912A1 (en) * 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7231044B2 (en) * 2000-10-11 2007-06-12 Digital Authentication Technologies, Inc. Method and apparatus for real-time digital certification of electronic files and transactions using entropy factors
US7305492B2 (en) * 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
JP2003051838A (ja) * 2001-08-07 2003-02-21 Sony Corp アドレス管理システム、インタフェースid設定処理装置、通信端末装置、およびアドレス管理方法、並びにコンピュータ・プログラム
US7185363B1 (en) * 2002-10-04 2007-02-27 Microsoft Corporation Using a first device to engage in a digital rights management transaction on behalf of a second device
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
JP4649850B2 (ja) * 2004-03-04 2011-03-16 ソニー株式会社 コンテンツ再生装置、コンテンツ記録装置、ネットワークシステム、およびコンテンツ記録・再生方法
JP2005301607A (ja) * 2004-04-09 2005-10-27 Sony Corp 情報処理装置、情報処理システムおよび情報処理方法
US7376975B2 (en) * 2004-05-10 2008-05-20 Microsoft Corporation Enhancing digital rights management system security through policy enforcement
US20060075254A1 (en) * 2004-09-27 2006-04-06 Cisco Technology, Inc. (A California Corporation) Smart card functionality from a security co-processor and symmetric key in ROM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148705A (ja) * 1998-09-25 2000-05-30 Ncr Internatl Inc 共用資源を動的に結合するための方法及びその装置
JP2002342299A (ja) * 2001-05-18 2002-11-29 Nec Corp クラスタシステム、コンピュータ及びプログラム

Also Published As

Publication number Publication date
JPWO2007055054A1 (ja) 2009-04-30
EP1947799A4 (en) 2014-03-19
US8732471B2 (en) 2014-05-20
JP4698678B2 (ja) 2011-06-08
US20090125721A1 (en) 2009-05-14
EP1947799A1 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
US8010681B2 (en) Communicating between an application process and a server process to manage peer-to-peer identities
US20160366221A1 (en) Message synchronization in networked data communications services callable by applications
US7949996B2 (en) Peer-to-peer identity management managed interfaces and methods
JP5309496B2 (ja) 認証システムおよび認証方法
JP5462021B2 (ja) 認証システム、認証方法および認証プログラム
JP2007134996A (ja) 通信システム、通信プログラム、および通信端末
JP2007306365A (ja) 情報処理システム
JP6600369B2 (ja) 端末登録システムおよび端末登録方法
JP2009032070A (ja) 認証システム及び認証方法
JP4698678B2 (ja) データ通信方法、コンピュータ及び情報記憶媒体
JP2007156800A (ja) 業務支援システムおよびこれを用いた図面の修正方法
JP2008146363A (ja) コンピュータネットワークにおける認証方法
JP4983596B2 (ja) データ提供システムとデータ提供装置
JP2002288139A (ja) 携帯電話機用シングルサインオンシステムおよび方法
JP2010033562A (ja) 通信端末、認証情報生成装置、認証システム、認証情報生成プログラム、認証情報生成方法および認証方法
JP2011164837A (ja) 認証システムおよび認証方法
JP5014373B2 (ja) Webページへの入力方法、Webサーバ及びWebシステム
JP5227106B2 (ja) 候補出力プログラム及び候補出力サーバ
WO2007049388A1 (ja) 検索仲介装置、検索仲介方法、分散検索システム、分散処理装置及び分散処理装置の制御方法
JP6378727B2 (ja) メッセージ送信方法、メッセージ送信用プログラム、及びメッセージ送信装置
KR20080011359A (ko) 그래픽 오티피를 이용한 사용자 인증 방법
JP2002278929A (ja) ワンタイムパスワード生成モジュール,その配布システム及び配布方法,携帯端末,ワンタイムパスワード管理サーバ,ウェブサーバ,プログラム,プログラムを記録した記録媒体
JP2004171056A (ja) ワンタイムパスワード生成プログラムの配布サーバ、配布方法および配布プログラム、コンピュータ読み取り可能な記録媒体ならびにワンタイムパスワード生成プログラムの配布システム
JP2010108301A (ja) 回線性能データ収集システム、回線性能データ収集方法、シンクライアント端末、およびプログラム
JP2010098343A (ja) 表示機能を備えたルータ及びこのルータを利用したシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2007544067

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2006782205

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12092491

Country of ref document: US