US20030028639A1 - Access control system - Google Patents
Access control system Download PDFInfo
- Publication number
- US20030028639A1 US20030028639A1 US10/208,751 US20875102A US2003028639A1 US 20030028639 A1 US20030028639 A1 US 20030028639A1 US 20875102 A US20875102 A US 20875102A US 2003028639 A1 US2003028639 A1 US 2003028639A1
- Authority
- US
- United States
- Prior art keywords
- data
- access
- client device
- accessed
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 34
- 230000009365 direct transmission Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 abstract description 108
- 238000013500 data storage Methods 0.000 abstract description 29
- 238000010276 construction Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P13/00—Drugs for disorders of the urinary system
- A61P13/12—Drugs for disorders of the urinary system of the kidneys
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P43/00—Drugs for specific purposes, not provided for in groups A61P1/00-A61P41/00
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
Definitions
- the present invention relates to an access control system for peer-to-peer data exchange over a network.
- Peer-to-peer computing is a technique enabling devices connected to each other through a network to directly exchange data, thereby sharing computer resources (CPU power, hard disc space, etc.) and various services (message exchange system, file exchange system, etc.), and even enabling collaboration between the devices.
- Peer-to-peer file exchange system devices of the end-users (client devices) can directly communicate with each other to exchange files managed by the devices.
- Access control carried out by a client device to be accessed is exemplarily carried out as follows:
- the data-provider device requests an accessing client device (data-destination device) for a password, and only when the password transmitted from the data-destination device is valid, the data-provider device allows the file managed by itself to be accessed.
- the data-provider device can further carry out even complex access control by using an access date and/or identifier of the data-destination device, or by setting control information unique to each file managed by the data-provider device.
- Such complex access control can be easily achieved if the data-provider device is implemented by a personal computer having a high processing capability, but is very difficult if it is implemented by a consumer-electronics product having a limited processing capability. Moreover, unlike the personal computer, it is extremely difficult to replace software installed in the consumer-electronics product after purchase. Therefore, it is hardly possible to add or change the scheme of access control as described above.
- a server communicably connected to the above-described file exchange system is provided to manage files stored in the client devices of the system as a list.
- the list managed by this server contains names of files and client devices that manages these files.
- the client device in the system refers to the list to know whether a desired file exists in the system and, if it exists, which client manages the file.
- This server cannot carry out access control as described above. In this case, access control is carried out by the data-provider device that manages the desired file.
- an object of the present invention is to provide an access control system capable of carrying out desired access control in a client device of a peer-to-peer file exchange system.
- the present invention has the following features to attain the object mentioned above.
- a first aspect of the present invention is directed to an access control system in which, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, it is determined whether the data can be accessed.
- the access control system includes the client devices and a server.
- the server is communicably connected to the client device, and manages an access management list containing which data can be accessed.
- the server includes an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and sending a determination result.
- the client device includes an access enable/disable inquiring unit and a data transmitting unit.
- the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry of whether the data can be accessed when the other device requests the client device to directly transmit the data.
- the data transmitting unit directly transmits the requested data to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
- the data-provider client device gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control is achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- the access management list managed by the server may contain which device can access which data managed by the client device.
- the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested to be transmitted.
- the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result.
- the access management list managed by the server further contains, as a first condition, a time condition indicating an accessible time for each data.
- the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit.
- the access management list managed by the server further contains, as a second condition, a number-of-times condition indicating the number of times of allowable access for each data.
- the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed.
- the access management list managed by the server further contains, as a third condition, a duplicate condition indicating a duplication limitation provided for each data.
- the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplicate condition. Then, the data transmitting unit directly transmits the requested data with the duplicate condition to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
- the server may be communicably connected to the client device through a proxy device.
- a proxy device Even if the data-provider client device and the server cannot directly communicate with each other, it is possible to inquire about whether the data can be accessed through the proxy device. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- the access enable/disable inquiring unit may give the access enable/disable determining unit the data access inquiry together with a first certificate that certifies the client device and a second certificate that certifies the other device.
- the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the first and second certificates, then determines whether the data can be accessed and sends the determination result.
- the server can confirm that communications has been made from the authorized client device.
- the certificates may be X.509 certificates.
- the server can easily and reliably confirm that communications has been made from the authorized client device.
- a second aspect of the present invention is directed to an access control system in which, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, it is determined whether the data can be accessed.
- the access control system includes the first and second client devices and a server.
- the server is communicably connected to at least the second client device, and manages an access management list containing which data can be accessed.
- the server includes an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and send a determination result.
- the second client device includes an access enable/disable inquiring unit, a data requesting unit, and a data receiving unit.
- the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry about whether the data can be accessed when the second client device requests the first client device to directly transmit the data.
- the data requesting unit gives a request to the first client device for directly transmitting the data together with the determination result received from the access enable/disable determining unit when the determination result indicates that the data can be accessed.
- the first client device includes a data transmitting unit for directly transmitting the data requested by the data requesting unit to the second client device when the determination result received from the data requesting unit indicates that the data can be accessed.
- the data receiving unit directly receives the data transmitted from the data transmitting unit in response to the request given by the data requesting unit.
- the second client device which is the data-destination client device, gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- the access management list managed by the server may contain which client device can access which data.
- the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested for transmission.
- the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result.
- the access management list managed by the server further contains, as a first condition, a time condition indicating an accessible time for each data.
- the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit.
- the access management list managed by the server further contains, as a second condition, a number-of-times condition indicating the number of times of allowable access for each data.
- the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed.
- the access management list managed by the server further contains, as a third condition, a duplicate condition indicating a duplication limitation provided for each data.
- the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplicate condition. Then, the data requesting unit gives the request to the first client device for directly transmitting the data, together with the determination result and the duplicate condition when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
- the data transmitting unit When the determination result received from the data requesting unit indicates that the data can be accessed, the data transmitting unit directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition. Then, the data receiving unit directly receives the data transmitted from the data transmitting unit, the data restricted in further duplication by the duplication condition.
- the second client device which is the data-destination client device, inquires the server about whether the data can be accessed, it is possible to provide each data managed by the client device with the duplicate limitation after accessed.
- the server may be communicably connected to the second client device through a proxy device.
- a proxy device Even if the server and the second client device that inquires the server cannot directly communicate with each other, it is possible to inquire about whether the data can be accessed through the proxy device. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- the access enable/disable inquiring unit may give the access enable/disable determining unit the data access inquiry to request the first client device for directly transmitting the data, together with a certificate that certifies the second client device.
- the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the certificate, then determines whether the data can be accessed and then sends the determination result.
- the server can confirm that communications has been made from the authorized second client device.
- the access enable/disable determining unit may send the determination result affixed with a signature for certifying that the determination result is from the server.
- the data requesting unit gives the first client device a request for directly transmitting the data together with the determination result affixed with the signature and the certificate, when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
- the data transmitting unit first authenticates the determination result received from the data requesting unit by using the signature affixed thereto, and then directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition, when the determination result indicates that the data can be accessed.
- the first client device can determine that the determination result surely comes from the server.
- the certificates may be X.509 certificates.
- a third aspect of the present invention is directed to a server for determining whether data managed by a plurality of client devices of end-users can be accessed when the data is directly transmitted and received among the client devices.
- the server includes an access managing unit and an access enable/disable determining unit.
- the access managing unit manages an access management list containing which data can be accessed by which client device.
- the access enable/disable determining unit determines, in response to a data access inquiry given by one client device, whether the data can be accessed with reference to the access management list managed by the access managing unit, and sends a determination result to the client device that has given the data access inquiry.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device to carry out data exchange. Therefore, it is possible to appropriately carry out even complex access control.
- a fourth aspect of the present invention is directed to a client device of an end-user, the client device causing a communicable server to determine whether data stored in the client device can be accessed when another device gives the client device a request for directly transmitting the data, the server managing an access management list that contains which data can be accessed.
- the client device includes an access enable/disable inquiring unit and a data transmitting unit.
- the access enable/disable inquiring unit gives the server an inquiry about whether the data can be accessed when the other device gives the client device the request for directly transmitting the data.
- the data transmitting unit directly transmits the data as requested by the other device when the server determines, in response to the inquiry given by the access enable/disable inquiring unit, that the data can be accessed.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device that is requested to transmit the data. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- a fifth aspect is directed to a client device of an end-user, the client device causing a communicable server to determine whether data stored in another device can be accessed when the client device gives the other device a request for direct transmitting the data, the server managing an access management list that contains which data can be accessed.
- the client device includes an access enable/disable inquiring unit and a data requesting unit.
- the access enable/disable inquiring unit gives the server an inquiry about whether the data can be accessed when the client device gives the other device the request for directly transmitting the data.
- the data requesting unit gives the other device the request for directly transmitting the data, and also gives the determination result.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device that gives a request for transmitting the data. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device and the data-destination client device are implemented by consumer-electronics products having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- a sixth aspect is directed to a client device of an end-user for directly transmitting data upon request from another device.
- the client device includes a receiving unit and a data transmitting unit.
- the receiving unit receives a request from the other device for directly transmitting the data, and a determination result indicating whether the data can be accessed.
- the data transmitting unit directly transmits the data requested by the other device when the determination result received by the receiving unit indicates that the data can be accessed.
- the determination result in peer-to-peer data exchange is transmitted together with a request for transmitting the data.
- the client device that is requested to transmit the data can determine whether the data can be accessed based on the determination result. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device is implemented by a consumer-electronics product having a limited processing capability, the data-provider client device does not have to carry out access control. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- the determination result may be provided with a signature certifying the authenticity of the determination result.
- the data transmitting unit evaluates authenticity of the determination result by authenticating the signature provided on the determination result and, when the determination result is valid and indicates that the data can be accessed, directly transmits the data requested by the other device.
- this signature provided on the determination result transmitted together with a request for transmitting data in peer-to-peer data exchange, it is possible to prevent tampering during communications of the determination result.
- the data-provider client device can surely evaluate authenticity of the determination result.
- a seventh aspect is directed to an access control method for causing, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, a server communicably connected to the client device to determine whether the data can be accessed.
- the access control method includes an access managing step, an access enable/disable inquiring step, an access enable/disable determining step, and a data transmitting step.
- an access management list containing which data can be accessed is managed by the server.
- the server is given by the client device an inquiry about whether the data requested from the other device for direct transmission can be accessed.
- the access enable/disable determining step it is determined by the server whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and a determination result is sent to the client device.
- the requested data is directly transmitted from the client device to the other device when the determination result obtained in the determining step indicates that the data can be accessed.
- the data-provider client device gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control is achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- An eighth aspect is directed to an access control method for causing, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, a server communicably connected to a second client device to determine whether the data can be accessed.
- the access control method includes an access managing step, an access enable/disable inquiring step, an access enable/disable determining step, a request giving step, a data transmitting step, and a data receiving step.
- an access management list containing which data can be accessed is managed by the server.
- the server is given by the second client device an inquiry about whether the data requested from the second client device to the first client device for direct transmission can be accessed.
- the access enable/disable determining step it is determined by the server whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and sending a determination result to the second client device.
- the request giving step to the first client device, a request is given for directly transmitting the data and the determination result when the determination result sent in the determining step indicates that the data can be accessed.
- the data requested in the request giving step is directly transmitted from the first client device to the second client device when the determination result given in the request giving step indicates that the data can be accessed.
- the data transmitted from the first client device in the data transmitting step is directly received by the second client device.
- the second client device which is the data-destination client device, gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- a ninth aspect is directed to a recording medium recording an access control program for causing, when data managed by client devices of end-users is directly transmitted and received among the client devices, a server communicably connected to the client devices to determine whether the data can be accessed.
- the program readable by the server includes an access managing step and an access enable/disable determining step.
- the access managing step an access management list containing which data can be accessed by the respective client devices is managed.
- the access enable/disable determining step it is determined whether the data can be accessed with reference to the access management list managed in the access managing step in response to a data access inquiry from the client device to the server as to direct transmission and reception of the data, and sending a determination result to the client device.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- the server By giving the server an access inquiry from the client device for data exchange, it is possible to appropriately carry out even complex access control.
- a tenth aspect is directed to a recording medium recording an access control program for causing, when a client device of an end-user is request from another device to directly transmit data stored in the client device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed.
- the recording medium readable by the client device includes an access enable/disable inquiring step and a data transmitting step.
- the access enable/disable inquiring step the server is given an inquiry about whether the data can be accessed when the client device is requested from the other device to directly transmit the data.
- the data transmitting step the requested data is directly transmitted from the client device to the other device when a determination result received from the server indicates that the data can be accessed in response to the inquiry given in the inquiry giving step.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- the server By giving the server an access inquiry from the client device that is requested to transmit the data, it is possible to appropriately carry out even complex access control.
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- An eleventh aspect is directed to a recording medium recording an access control program for causing, when a client device of an end-user requests another device to directly transmit data stored in the other device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed.
- the recording medium readable by the client device includes an access enable/disable inquiring step and a request giving step.
- the access enable/disable inquiring step the server is given an inquiry about whether the data can be accessed when the client device requests the other device to directly transmit the data.
- the request giving step the other device is directly given a request for directly transmitting the data together with a determination result received from the server, when the determination result indicates that the data can be accessed in response to the inquiry given in the access enable/disable inquiring step.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- the server By giving the server an access inquiry from the client device that requests for data transmission, it is possible to appropriately carry out even complex access control.
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- FIG. 1 is an illustration for demonstrating the entire construction of an access control system according to a first embodiment of the present invention
- FIG. 2 is a functional block diagram showing the internal construction of a server 11 illustrated in FIG. 1;
- FIG. 3 is a functional block diagram showing the internal construction of a first client device 13 illustrated in FIG. 1;
- FIG. 4 is a functional block diagram showing the internal construction of a second client device 15 illustrated in FIG. 1;
- FIG. 5 is a flowchart showing the entire operation by the server 11 and the first and second client devices 13 and 15 illustrated in FIG. 1;
- FIG. 7 is a subroutine illustrating one example of the detailed operation of an access determining process carried out by an access enable/disable determining unit 111 in step S 11 of FIG. 5;
- FIG. 8 is a subroutine illustrating another example of the detailed operation of an access determining process carried out by an access enable/disable determining unit 111 in step S 11 of FIG. 5;
- FIG. 9 is an illustration for demonstrating the entire construction of an access control system according to a second embodiment of the present invention.
- FIG. 10 is a functional block diagram showing the internal construction of a server 21 illustrated in FIG. 9;
- FIG. 11 is a functional block diagram showing the internal construction of a first client device 23 illustrated in FIG. 9;
- FIG. 12 is a functional block diagram showing the internal construction of a second client device 25 illustrated in FIG. 9.
- the access control system includes a server 11 , an access management database storage device 12 , a first client device 13 , a data storage device 14 , a second client device 15 , and a data storage device 16 .
- the first and second client devices 13 and 15 are end-users' devices each having a CPU and achieving peer-to-peer computing by direct communications with each other, thereby achieving a peer-to-peer file exchange system.
- the server 11 is communicably connected to the client device placed in the peer-to-peer file exchange system, and can be accessed by at least the first client device 13 .
- the second client device 15 accesses the first client device 13 to receive a desired file stored in the data storage device 14 managed by the first client device 13 . Therefore, the first client device 13 is a data-provider client device, while the second client device 15 is a data-destination device. Also, in the access control system, two or more client devices can be placed, but only the client devices engaging the above-described file access are described.
- FIG. 2 is a functional block diagram illustrating the internal construction of the server 11 .
- the server 11 includes an access enable/disable determining unit 111 , a database control unit 112 , and a client communications unit 113 .
- the client communications unit 113 uses a protocol such as TCP/IP to carry out communications between the first client device 13 and the server 11 .
- the database control unit 112 controls the data stored in the access management database storage device 12 . For example, the database control unit 112 searches the access management database storage device 12 for specific data requested by the access enable/disable determining unit 111 , and updates the data after search.
- the database control unit 112 adds new data to or deletes the existing data from the data stored in the access management database storage device 12 upon request from the client device via the client communications unit 113 .
- the access enable/disable determining unit 111 Upon request from the first client device 13 via the client communications unit 113 , the access enable/disable determining unit 111 refers to the access management list stored in the access management database storage device 12 to return the determination result to the client communications unit 113 .
- the access enable/disable determining unit 111 instructs the database control unit 112 to update the list.
- FIG. 3 is a functional block diagram illustrating the internal construction of the first client device 13 .
- the first client device 13 includes a server communications unit 131 , an access enable/disable inquiring unit 132 , a data transmitting unit 133 , a client communications unit 134 , and a storage device control unit 135 .
- the server communications unit 131 uses a protocol such as TCP/IP to carry out communications between the first client device 13 and the server 11 .
- the client communications unit 134 uses a protocol such as TCP/IP to carry out communications between the first client device 13 and the second client device 15 .
- the data transmitting unit 133 When a request for a list of data stored in the data storage device 14 comes from the second client device 15 via the client communications unit 134 , the data transmitting unit 133 generates, under the control of the storage device control unit 135 , a list of the data stored in the data storage device 14 , and supplies the data list to the second client device 15 . When reported from the server 11 that access is enabled, the data transmitting unit 133 retrieves the requested data from the data storage device 14 through the control of the storage device control unit 135 , and transmits the data to the second client device 15 under the control of the client communications unit 134 .
- the access enable/disable inquiring unit 132 inquires, when receiving a data request from the second client device 15 , the server 11 via the server communications unit 131 to determine whether the data can be provided.
- the first client device 13 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in the first client device 13 , or may be an IP address.
- FIG. 4 is a functional block diagram illustrating the internal construction of the second client device 15 .
- the second client device 15 includes a client communications unit 151 , a data requesting unit 152 , a data receiving unit 153 , a storage device control unit 154 , a display device 155 , and an input device 156 .
- the client communications unit 151 uses a protocol such as TCP/IP to carry out communications between the first and second client devices 13 and 15 .
- the display device 155 displays, for example, the data list received through the client communications unit 151 from the first client device 13 to prompt a user of the second client device 15 to select desired data.
- the input device 156 is operated by the user to select the desired data from the data list.
- the data requesting unit 152 carries out communications through the client communications unit 151 with the first client device 13 for requesting the data.
- the data receiving unit 153 receives the data from the first client device 13 through the client communications unit 151 .
- the storage device control unit 154 controls the data storage device 16 to store the data therein.
- the second client device 15 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in the second client device 15 , or may be an IP address.
- step S 1 the data requesting unit 152 of the second client device 15 requests the first client device 13 for the data list.
- step S 1 the user of the second client device 15 operates the input device 156 to transmit a request for the data list to the data requesting unit 152 .
- the data requesting unit 152 requests the first client device 13 through the client communications unit 151 for the data list.
- the client communications unit 134 of the first client device 13 receives the request for the data list from the second client device 15 , and reports the request for the data list to the data transmitting unit 133 (step S 2 ).
- the data transmitting unit 133 searches the data managed by the data storage device 14 by controlling the storage device control unit 135 , and generates a list of the data managed by the data storage device 14 (step S 3 ).
- the data transmitting unit 133 transmits the data list generated in step S 3 to the second client device 15 through the client communications unit 134 (step S 4 ).
- the client communications unit 151 of the second client device 15 receives the data list transmitted in step S 4 from the first client device 13 , and the display device 155 of the second client device 15 displays the received data list (step S 5 ). Then, the user of the second client device 15 operates the input device 156 to select the desired data from the data list displayed on the display device 155 , and reports the selection result to the data requesting unit 152 (step S 6 ). The data requesting unit 152 then transmits the file name of the data selected in step S 6 and a data-destination identifier for identifying itself (that is, the identifier of the second client device 15 ) to the first client device 13 through the client communications unit 151 for requesting the data (step S 7 ).
- the client communications unit 134 of the first client device 13 receives the file name of the data requested by the second client device 15 and the data-destination identifier, and forwards them to the access enable/disable inquiring unit 132 (step S 8 ). Then, to determine whether access to the data requested by the second client device 15 is enabled, the access enable/disable inquiring unit 132 sends the file name, the data-destination identifier, and a data-provider identifier (that is, the identifier of the first client device 13 ) to the server 11 through the server communications unit 131 for giving an inquiry about the request (step S 9 ).
- the client communications unit 113 of the server 11 then sends the file name, the data-destination identifier, and the data-provider identifier, which have been sent by the first client device 13 as the inquiry about the request, to the access enable/disable determining unit 111 (step S 10 ).
- the access enable/disable determining unit 111 then refers to the access management list stored in the access management database storage device 12 by controlling the database control unit 112 to determine whether the requested data can be accessed (step S 11 ). The operation of the access determining process in step S 11 will be described in detail later.
- the access enable/disable determining unit 111 then sends the determination result with respect to the data requested in step S 11 to the first client device 13 through the client communications unit 113 (step S 12 ). Also, when the registered data referred to in step S 11 from the access management list contains a limitation of “duplicate condition”, which will be described later, information indicating the duplicate condition (hereinafter, duplicate condition information) is also transmitted in step S 12 to the first client device 13 .
- the server communications unit 131 of the first client device 13 then receives the access determination result transmitted from the server 11 , and then forwards it to the data transmitting unit 133 (step S 13 ).
- the data transmitting unit 133 determines whether the data requested in step S 8 from the second client device 15 can be accessed based on the access determination result (step S 14 ). If the access determination result indicates that the data can be accessed, the data transmitting unit 133 controls the storage device control unit 135 to search the data storage device 14 for the data requested in step S 8 from the second client device 15 , and transmits the found data to the second client device 15 through the client communications unit 134 (step S 15 ).
- step S 12 When the duplicate condition information is simultaneously transmitted in step S 12 , the requested data is transmitted to the second client device 15 together with the duplicate condition information. If the access determination result indicates that the data can not be accessed, on the other hand, the data transmitting unit 133 rejected data transmission to the second client device 15 .
- the client communications unit 151 of the second client device 15 then receives the data transmitted in step S 15 , and forwards it to the data receiving unit 153 (step S 16 ).
- the data receiving unit 153 then controls the storage device control unit 154 to store the data received in step S 16 in the data storage device 16 or make the data displayed on the display device 155 .
- the data is limited under the duplicate condition information as to future duplication. This limitation of duplication will be described later.
- FIG. 6 is an example of the access management list stored in the access management database storage device 12 .
- the access management list stored in the access management database storage device 12 contains data composed of seven items, that is, “number”, “data-provider identifier”, “file name”, “data-destination identifier”, “time condition”, “number-of-times condition”, and “duplicate condition”.
- “number” indicates a natural number uniquely provided for managing each registered data in the access management database storage device 12 .
- data-provider identifier indicates an identifier uniquely provided to each client device for specifying a data-provider client device.
- file name indicates a file name of the data to be accessed.
- the file name may be a content ID, which is identification information unique to a content to be accessed.
- “data-destination identifier” indicates an identifier unique to each client device for specifying a data-destination client device. Note that “data-destination identifier” can specify not only a specific client device but also can contain “unlimited” if the data can be accessed by any client device. Also, if the data cannot be accessed by any client device, “data-destination identifier” contains “unlimited” or no description.
- time condition indicates a time limitation for specifying a date when the data can be allowed to be provided, or a duration during which the data can be provided. If no time limitation is provided for data access, “time condition” contains “unlimited”.
- “number-of-times condition” indicates a limitation as to the number of times the data can be provided by the data-provider device. For the data whose “number-of-times condition” has any number of times set therein, when the server 11 allows access to the data, the set number of times is decremented for update. When the number of times becomes 0, further access is not allowed. If the data in the access management list can be accessed at any number of times, “number-of-times condition” contains “unlimited”.
- “duplicate condition” indicates a limitation of whether the data-destination device is allowed to duplicate the data. If no duplication is allowed in the data-destination device, “duplicate condition” contains “not allowed”. If duplication is allowed without any specific limitations, “duplicate condition” contains “unlimited”. If the number of generations of duplications is limited, “duplicate condition” contains the number of generations (for example, “allowed only one generation” for “number” 4).
- Each registered data is contained by each of the items described above in the access management list.
- registered data having “1” contained in “number” is the one for managing access to an audio file whose “file name” is “babyfirstcry.wav” stored in the client device whose “data-provider identifier” is “1111”.
- This audio file can be accessed only by the device whose “data-destination identifier” is “2222”.
- the data-destination device with the identifier “2222” is not allowed to further duplicate the provided file “babyfirstcry.wav”.
- registered data having “4” contained in “number” is the one for managing access to an image file whose “file name” is “children.jpg” stored in the client device whose “data-provider identifier” is “1111”.
- This image file can be accessed only the devices whose “data-destination identifier” are “2222” and “3333”, respectively.
- the devices with the identifiers “2222” and “3333” can access the image file until Jul. 31, 2002, as limited in “time condition”, and cannot access the image file thereafter.
- the number of times of access by the devices with the identifiers “2222” and “3333” is unlimited.
- the devices with the identifiers “2222” and “3333” are allowed to further duplicate the provided file “children.jpg” for only one generation.
- registered data having “9” contained in “number” is the one for managing special access.
- This registered data is for managing access of a device whose “data-provider identifier” is “4444” to a device whose “data-destination identifier” is “1111”, but “file name” contains “unlimited”. That is, all files stored in the device with “4444” can be accessed by the device with “1111”.
- Such usage maybe used when the devices with “1111” and “4444” are both owned by the same person and therefore unconditional access to the files are allowed, for example.
- the registered data is contained in the access management list stored in the access management database storage device 12 under either one of the following conditions:
- Condition 1 Of all data managed by all client devices whose accesses are managed by the server 11 , data unconditionally providable or providable under a certain condition to other client devices is contained in the access management list (that is, data not contained in the access management list cannot be accessed).
- Condition 2 Of all data managed by all client devices whose accesses are managed by the server 11 , data unprovidable or providable under a certain condition is contained in the access management list (that is, data not contained in the access management list can be accessed).
- FIG. 7 is a subroutine of step S 11 showing one example of the detailed access determining process carried out by the access enable/disable determining unit 111 .
- the registered data is contained in the access management list stored in the access management database storage device 12 under the above Condition 1 (that is, data not contained in the access management list cannot be accessed).
- the access enable/disable determining unit 111 receives an access inquiry including the data-provider identifier for identifying the data-provider client device, the data-destination identifier for identifying the data-destination client device, and the file name for identifying the data to be provided (step S 111 ). Then, the access enable/disable determining unit 111 sets a temporary variable n for use in this subroutine to 1 for initialization (step S 112 ).
- the access enable/disable determining unit 111 determines whether the data-provider identifier received in step S 111 coincides with that of the registered data having “n” contained in “number” in the access management list stored in the access management database storage device 12 (step S 113 ). If the received data-provider identifier coincides with that, the procedure goes to step S 114 . Otherwise, the procedure goes to step S 119 .
- step S 114 the access enable/disable determining unit 111 determines whether the file name received in step S 111 coincides with the file name of the registered data whose “number” is n.
- “file name” in the access management list may contain “unlimited”.
- the access enable/disable determining unit 111 determines that the file name received in step S 111 coincides with the one contained in “file name” in the access management list. Then, if the received file name coincides with the one contained in “file name”, the procedure goes to step S 115 . Otherwise, the procedure goes to step S 119 .
- step S 115 the access enable/disable determining unit 111 determines whether the data-provider identifier received in step S 111 coincides with the one contained “data-provider identifier” of the registered data whose “number” is “n” in the access management list.
- “data-provider identifier” in the access management list may contain “unlimited”.
- the access enable/disable determining unit 111 determines that the data-provider identifier coincides with the one contained in “data-provider identifier” in the access management list. Then, if the received data-provider identifier coincides with the one contained in “data-provider identifier”, the procedure goes to step S 116 . Otherwise, the procedure goes to step S 119 .
- step S 116 the access enable/disable determining unit 111 compares the current time with the one contained in “time condition” of the registered data whose “number” is “n” in the access management list to determine whether access is enabled or disabled. In this comparison carried out by the access enable/disable determining unit 111 , it is determined that access is enabled if “time condition” contains “unlimited”. If “time condition” contains a temporal limitation, whether access is enabled or disabled is determined based on whether the current time satisfies the temporal limitation. Then, if it is determined that access is enabled, the procedure goes to step S 117 . Otherwise, the procedure goes to step S 119 .
- step S 117 the access enable/disable determining unit 111 refers to “number-of-times condition” of the registered data whose “number” is “n” in the access management list to determine whether access is enabled or disabled. In this determination carried out by the access enable/disable determining unit 111 , it is determined that access is enabled if “number-of-times condition” contains “unlimited” or “once or more”. If “number-of-times condition” contains “0”, it is determined that access is disabled.
- the access enable/disable determining unit 111 After determining that access is enabled based on “number of times condition” containing “once or more”, the access enable/disable determining unit 111 updates the access management list by decrementing the number of times contained in “number-of-times condition” by 1. Then, if the access enable/disable determining unit 111 determines in step S 117 that access is enabled, the procedure goes to step S 118 . If the access enable/disable determining unit 111 determines in step S 117 that access is disabled, the procedure goes to step S 119 .
- step S 117 an example scheme of how to update “number-of-times condition” in the access management list has been described, wherein the number of times for access by any client device is always decremented by 1 if it is determined that access is enabled.
- “data-destination identifier” contains a plurality of identifiers (that is, there are a plurality of data-destination client devices)
- “number-of-times condition” may not be shared among the data-destination client devices, but may be set for each data-destination client device.
- step S 118 the access enable/disable determining unit 111 determines that access is enabled in response to the access inquiry received in step S 111 , and ends the subroutine.
- the procedure can go to this step S 118 only when it is determined through steps S 113 to S 117 that every item of the access inquiry received in step S 111 by the access enable/disable determining unit 111 coincides with the corresponding one in the access management list through the steps S 113 to S 117 and also when every access condition is satisfied. Therefore, the access enable/disable determining unit 111 determines only for the client device having items that coincide with those of the registered data in the access management list and satisfying every condition.
- step S 111 if any item of the access inquiry received in step S 111 does not satisfy conditions in steps S 113 through S 117 , the procedure goes to step S 119 .
- step S 119 the access enable/disable determining unit 111 increments the temporary variable n by 1 to n+1 for further proceeding to step S 120 .
- step S 120 the access enable/disable determining unit 111 determines whether the current temporary variable n is larger than the number of registered data items N in the access management list. If n>N, the access enable/disable determining unit 111 determines that all registered data items in the access management list have been processed, and then the procedure goes to step S 121 . If n ⁇ N. on the other hand, the access enable/disable determining unit 111 determines that any registered data item in the access management list is left unprocessed, and the procedure returns to step S 113 for carrying out the process on the data having “number” newly set in step S 119 .
- the access determining process carried out by the access enable/disable determining unit 111 as described with reference to FIG. 7 has been described in a case where the registered data is contained in the access management list stored in the access management database storage device 12 based on the above Condition 1.
- the registered data may be contained based on the above Condition 2 (that is, the data not contained in the access management list can be accessed).
- the access determining process is changed only in the following step. That is, with reference to FIG.
- step S 121 wherein the access enable/disable determining unit 111 determines that access is disabled in response to the access inquiry received in step S 111 , and ends the subroutine. If n>N in step S 120 , the procedure goes to step S 118 , wherein the access enable/disable determining unit 111 determines that access is enabled in response to the access inquiry received in step S 111 , and ends the subroutine.
- the access enable/disable determining unit 111 uses an appropriate procedure depending on the condition used for generating the access management list to appropriately determine whether access is enabled or disabled.
- any scheme for certifying the first and second client devices 13 and 15 has not been mentioned.
- authentication may be made between the server 11 and the first and second client devices 13 and 15 for certifying that communications is made by an authorized client device. That is, for communications from the second client device 15 to the first client device 13 , a certificate that certifies the second client device 15 (hereinafter, second certificate) is transmitted from the second client device 15 to the server 11 .
- the second certificate that certifies the second client device 15 and a certificate that certifies the first client device 13 (hereinafter, first certificate) are transmitted to the server 11 .
- the server 11 can confirm that communications is made by authorized client devices.
- An example certificate may be an X.509 certificate, which provides a standard way is a public-key certificate and a certificate revocation list.
- the server 11 transmits the access determination result together with duplicate condition information to the first client device 13 , the server 11 carries out predetermined encryption on the duplicate condition information. For example, the server 11 uses its secret key to place a signature on the duplicate condition information, thereby ensuring for the second client device 15 the data to which the duplicate condition is applied.
- the data to which this duplicate condition is applied is encrypted by a DRM (Digital Rights Management) scheme.
- the first client device 13 which is a data-provider device, receives the access determination result together with the duplicate condition information from the server 11 , the first client device 13 encrypts the data to which the duplicate condition information is applied with a public key of the second client device 15 , and transmits the encrypted data and the duplicate condition information to the second client device 15 .
- the second client device 15 stores a secret key in a tamper-resistant area for keeping it secret to even the user of the device. Thus, even if the data is duplicated by unauthorized device (other than the second client device 15 ), the data cannot be decoded, and therefore duplication is restricted.
- duplication can be restricted by once decoding the encrypted data with the secret key of the second client device 15 , and then again encrypting the decrypted data with the public key of the duplication-destination device.
- the data is directly encrypted with the public key
- the data may be encrypted with an encryption key of a common-key scheme
- the used encryption key may be further encrypted by the first client device 13 with a public key of the second client device 15 , and then the encrypted encryption key may be transmitted together with the encrypted data. If the signature placed on the duplicate condition information is tampered one (that is, the information does not come from the server 11 ), the data to which the duplicate condition information is applied cannot be duplicated.
- any specific scheme for achieving security and tamper-resistance of a route for communications carried out between the server 11 and the first and second client devices 13 and 15 has not been described.
- encrypted communications may be carried out with an encryption scheme in combination of a secret-key scheme and a session-key scheme.
- Example encrypted communications can use SSL (Secure Socket Layer).
- the first client device 13 generates, in step S 3 , a list of the data stored in the data storage device 14 managed by itself.
- the data list may contain only data that can be accessed by the second client device 15 .
- the first client device 13 receives, in step S 2 , a request for the data list from the second client device 15 , and gives an access inquiry to the server 11 for receiving information about which data can be accessed by the second client device 15 .
- the first client device 13 Based on the received information, the first client device 13 generates the data list containing only the data that can be accessed by the second client device 15 . Note that, with such data list, the first client device 13 may again give an access inquiry to the server 11 even after the second client device 15 gives a data request.
- the data-provider client device gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control is achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- the data-provider client device that is, the first client device 13 to be accessed
- the data-destination client device that is, the accessing client device
- the access control system includes a server 21 , an access management database storage device 22 , a first client device 23 , a data storage device 24 , a second client device 25 , and a data storage device 26 .
- the first and second client devices 23 and 25 are end-users' devices each having a CPU and achieving peer-to-peer computing by direct communications with each other, thereby forming a peer-to-peer file exchange system.
- the server 21 is communicably connected to the client device placed in the peer-to-peer file exchange system and can be accessed by at least the first client device 25 .
- the data storage devices 24 and 26 are storage devices each storing files or others managed by the first and second client devices 23 and 25 , respectively.
- the access management database storage device 22 is a storage device that stores an access management list (will be described later) managed by the server 21 , and others.
- the second client device 25 access the first client device 23 to receive a desired filed stored in the data storage device 24 managed by the first client device 23 . Therefore, the first client device 23 is a data-provider client device, while the second client device 25 is a data-destination client device. Also, in the access control system, three or more client devices can be placed, but only the client devices engaging the above-described file access are described.
- FIG. 10 is a functional block diagram illustrating the internal construction of the server 21 .
- the server 21 includes an access enable/disable determining unit 211 , a database control unit 212 , and a client communications unit 213 .
- the client communications unit 213 uses a protocol such as TCP/IP to carry out communications between the second client device 25 and the server 21 .
- the database control unit 212 controls the data stored in the access management database storage device 22 . For example, the database control unit 212 searches the access management database storage device 22 for specific data requested by the access enable/disable determining unit 211 , and updates the data after search.
- the database control unit 212 adds new data to or delete the existing data from the data stored in the access management database storage device 22 upon request from the client device via the client communications unit 213 .
- the access enable/disable determining unit 211 Upon request from the second client device 25 via the client communications unit 213 , the access enable/disable determining unit 211 refers to the access management list stored in the access management database storage device 22 to return the determination result to the client communications unit 213 .
- the access enable/disable determining unit 211 instructs the database control unit 212 to update the list.
- FIG. 11 is a functional block diagram illustrating the internal construction of the first client device 23 .
- the first client device 23 includes a client communications unit 231 , a data transmitting unit 232 , and a storage device control unit 233 .
- the client communications unit 231 uses a protocol such as TCP/IP to carry out communications between the first client device 23 and the second client device 25 .
- the data transmitting unit 232 When a request for a list of data stored in the data storage device 24 comes from the second client device 25 via the client communications unit 231 , the data transmitting unit 232 generates, through the storage device control unit 233 , a list of the data stored in the data storage device 24 , and supplies the data list to the second client device 25 .
- the data transmitting unit 232 retrieves the requested data from the data storage device 24 through the storage device control unit 233 , and transmits the data to the second client device 25 under the control by the client communications unit 231 .
- the first client device 23 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in the first client device 23 , or may be an IP address.
- FIG. 12 is a functional block diagram illustrating the internal construction of the second client device 25 .
- the second client device 25 includes a server communications unit 251 , an access enable/disable inquiring unit 252 , a data requesting unit 253 , a data requesting unit 253 , a client communications unit 254 , a storage device control unit 255 , a data receiving unit 256 , a display device 257 , and an input device 258 .
- the server communications unit 251 uses a protocol such as TCP/IP to carry out communications between the second client device 25 and the server 21 .
- the display device 257 displays, for example, the data list received through the client communications unit 254 from the first client device 23 to prompt a user of the second client device 25 to select desired data.
- the input device 258 is operated by the user to select the desired data from the data list.
- the data requesting unit 253 instructs the access enable/disable inquiring unit 252 to inquire about whether access to the data selected by the user is enabled or disabled. Based on the determination result, the data requesting unit 253 then carries communications with the first client device 23 through the client communications unit 254 for requesting the data.
- the access enable/disable inquiring unit 252 gives an inquiry to the server 21 through the server communications unit 251 to determine whether the data can be accessed.
- the data receiving unit 256 receives the data from the first client device 23 through the client communications unit 254 . Then, the storage device control unit 255 controls the data storage device 26 to store the data therein.
- the second client device 25 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in the second client device 25 , or may be an IP address.
- the first and second client devices 23 and 25 are different in construction. Such difference comes from the above-described assumption that the first client device 23 is a data-provider device and the second client device 25 is a data-destination device. Therefore, when it is convenient for both of the first and second client devices 23 and 25 to be able to provide and receive data, both devices , both devices are provided with the functions of both.
- FIG. 13 is a flowchart showing the operations carried out by the server 21 and the first and second client devices 23 and 15 configuring the access control system.
- the first client device 23 is a data-provider device and the second client device 25 is a data-destination device.
- the second client device 25 retrieves desired data stored in the data storage device 24 managed by the first client device 23 .
- the operations in the access control system are carried out by access control programs respectively corresponding to the server 21 and the first and second client devices 23 and 25 being stored in a storage area included in the respective devices. These access control programs, however, may be stored in another storage medium as long as they can be read and executed by the server 21 and the first and second client devices 23 and 25 .
- step S 21 the data requesting unit 253 of the second client device 25 requests the first client device 23 for the data list.
- the user of the second client device 25 operates the input device 258 to transmit a request for the data list to the data requesting unit 253 .
- the data requesting unit 253 requests the first client device 23 through the client communications unit 254 for the data list.
- the client communications unit 231 of the first client device 23 receives the request for the data list from the second client device 25 , and reports the request for the data list to the data transmitting unit 232 (step S 22 ).
- the data transmitting unit 232 searches the data managed by the data storage device 24 by controlling the storage device control unit 233 , and generates a list of the data managed by the data storage device 24 (step S 23 ).
- the data transmitting unit 232 transmits the data list generated in step S 23 to the second client device 25 through the client communications unit 231 (step S 24 ).
- the client communications unit 254 of the second client device 25 receives the data list transmitted in step S 24 from the first client device 23 , and the display device 257 of the second client device 25 displays the received data list (step S 25 ). Then, the user of the second client device 25 operates the input device 258 to select the desired data from the data list displayed on the display device 257 , and reports the selection result to the data requesting unit 253 (step S 26 ). The data requesting unit 253 then transmits the file name of the data selected in step S 26 and a data-provider identifier for identification (that is, the identifier of the first client device 23 ) to the access enable/disable inquiring unit 252 .
- the access enable/disable inquiring unit 252 transmits, to the server 21 through the server communications unit 251 , the file name of the requested data, a data-provider identifier, and a data-destination identifier for identifying itself (that is, the identifier of the second client device 25 ), as an access inquiry for the request (step S 27 ).
- the client communications unit 213 of the server 21 forwards, to the access enable/disable determining unit 211 , the file name of the data, the data-provider identifier, and the data-destination identifier received as the access inquiry transmitted from the second client device 25 (step S 28 ).
- the access enable/disable determining unit 211 then refers to the access management list stored in the access management database storage device 22 by controlling the database control unit 212 to determine whether the requested data can be accessed (step S 29 ). The operation of the access determining process in step S 29 will be described in detail later.
- the access enable/disable determining unit 211 uses a predetermined encryption scheme to encrypt the access determination result as to the data requested in step S 29 , and then transmits the encrypted result to the second client device 25 through the client communications unit 213 (step S 30 ). Also, when the registered data referred to in step S 29 from the access management list contains a limitation of “duplicate condition”, which will be described later, the duplication is also transmitted in step S 30 to the second client device 25 .
- Encryption of the access determination result carried out in step S 30 is to ensure authenticity of the access determination result obtained in the server 21 .
- the authenticity can be ensured by, for example, encrypting the access determination result with a public key of the first client device 23 or by transmitting the access determination result together with data signed with a secret key of the server 21 . That is, with encryption, tampering on the communications can be prevented. Also, when the authenticity of the first client device 23 is evaluated, which will be described later, it is possible to ensure that it is the server 21 that provided the access determination result.
- the server communications unit 251 of the second client device 25 then receives the access determination result transmitted from the server 21 , and then forwards it to the data requesting unit 253 (step S 31 ).
- the data requesting unit 253 determines whether the data requested in step S 26 can be accessed based on the access determination result (step S 32 ). If the access determination result indicates that the data can be accessed, the data requesting unit 253 transmits, to the first client device 23 through the client communications unit 254 , the file name together with the access determination result transmitted from the server 21 , thereby requesting the first client device 23 for the data (step S 33 ).
- the duplicate condition information is simultaneously transmitted in step S 30 , the requested data is transmitted to the first client device 23 together with the duplicate condition information. If the access determination result indicates that the data can not be accessed, on the other hand, the second client device 25 terminates requesting the first client device 23 for the data.
- the client communications unit 231 of the first client device 23 then receives the file name of the data requested by the second client device 25 and the access determination result, and forwards them to the data transmitting unit 232 (step S 34 ).
- the data transmitting unit 232 then evaluates the authenticity of the access determination result by determining, for example, whether the access determination result was obtained in the server 21 (step S 35 ). In step S 35 . the data transmitting unit 232 decodes the access determination result encrypted by the server 21 to confirm its authenticity.
- the data transmitting unit 232 searches the data storage device 24 for the data requested by the second client device 25 by controlling the storage device control unit 233 , and transmits the found data to the second client device 25 through the client communications unit 231 (step S 36 ).
- the data transmitting unit 232 rejects data transmission to the second client device 25 .
- the client communications unit 254 of the second client device 25 receives the data transmitted in step S 36 , and forwards it to the data receiving unit 256 (step S 37 ).
- the data receiving unit 256 controls the storage device control unit 255 to store the data received in step S 37 in the data storage device 26 or gives the data displayed on the display device 257 .
- the data is limited under the duplicate condition information as to future duplication. This limitation of duplication will be described later.
- the data structure of the access management list stored in the access management database storage device 22 is similar to the one according to the first embodiment described with reference to FIG. 6. Also, the detailed operation of the access determining process carried out in step S 29 (refer to FIG. 13) by the access enable/disable determining unit 211 is similar to the subroutine according to the first embodiment described with reference to FIG. 7 or FIG. 8. That is, also in the second embodiment, the access enable/disable determining unit 211 can appropriately determine whether access is enabled or disabled, by using the procedure selected depending on which condition has been used for generating the access management list. Therefore, in the second embodiment, the data structure of the access management list and the detailed operation of the access determining process carried out by the access enable/disable determining unit 211 are not described.
- the first client device 23 generates the data stored in the data storage device 24 managed by itself as the data list.
- the data list may be obtained from the server 21 by the second client device 25 inquiring about only the data that can be accessed through the first client device 23 .
- the second client device 25 gives an access inquiry to the server 21 by transmitting a request for the data list in step S 21 so that the server 21 returns the data list that can be accessed.
- the server 21 searches the access management list for the data that can be accessed by the second client device 25 to generate the data list.
- any scheme for certifying the second client devices 25 has not been mentioned.
- authentication may be made between the server 21 and the first and second client devices 23 and 25 for certifying that communications is made by an authorized client device. That is, for communications from the second client device 25 to the first client device 23 or the server 21 , a certificate that certifies the second client device 25 (hereinafter, second certificate) is transmitted to the first client device 23 or the server 21 .
- second certificate a certificate that certifies the second client device 25
- the first client device 23 and the server 21 can check that communications is made by the authorized client device.
- An example certificate may be an X.509 certificate, which provides a standard way is a public-key certificate and a certificate revocation list.
- the server 21 transmits the access determination result together with duplicate condition information to the second client device 25 , the server 21 carries out predetermined encryption on the duplicate condition information.
- the server 21 uses its secret key to place a signature on the duplicate condition information, thereby ensuring for the second client device 25 the data to which the duplicate condition is applied.
- the data to which this duplicate condition is applied is encrypted by a DRM (Digital Rights Management) scheme.
- the first client device 23 which is a data-provider device, receives the access determination result together with the duplicate condition information from the server 21 , the first client device 23 encrypts the data to which the duplicate condition information is applied with a public key of the second client device 25 , and transmits the encrypted data and the duplicate condition information to the second client device 25 .
- the second client device 25 stores a secret key in a tamper-resistant area for keeping it secret to even the user of the device. Thus, even if the data is duplicated by unauthorized device (other than the second client device 25 ), the data cannot be decoded, and therefore duplication is restricted.
- duplication can be restricted by once decoding the encrypted data with the secret key of the second client device 25 , and then again encrypting the decrypted data with the public key of the duplication-destination device.
- the data is directly encrypted with the public key
- the data may be encrypted with an encryption key of a common-key scheme
- the used encryption key may be further encrypted by the first client device 23 with a public key of the second client device 25 , and then the encrypted encryption key may be transmitted together with the encrypted data. If the signature placed on the duplicate condition information is tampered one (that is, the information does not come from the server 21 ), the data to which the duplicate condition information is applied cannot be duplicated.
- any specific scheme for achieving security and tamper-resistance of a route for communications carried out between the server 21 and the first and second client devices 23 and 25 has not been described.
- encrypted communications may be carried out with an encryption scheme in combination of a secret-key scheme and a session-key scheme.
- Example encrypted communications can use SSL (Secure Socket Layer).
- the data-destination client device gives an access inquiry to the server.
- access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control.
- complex access control is achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network.
- the client device is implemented by a consumer-electronics product having a limited processing capability
- the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- the client device directly connected to the server requests the server to determine whether access is enabled or disabled, and the server transmits the determination result to the client device.
- the client device that gives the above request may not be directly connected to the server.
- the present invention can be achieved as long as the server communicably connected to the client device placed in the peer-to-peer file exchange system and the client device that gives the above request can communicate with each other through a proxy client device capable of directly communicating with the server (hereinafter, third client device).
- third client device capable of directly communicating with the server
- the second client device 25 if the second client device 25 cannot directly communicate with the server 21 , they communicate with each other through the third client device, thereby constructing an access control system similar to that in the second embodiment.
- a certificate that certifies the third client device (hereinafter, third certificate) can be used for authenticating the client devices and the server, thereby confirming that communications is made by authorized client devices.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Theoretical Computer Science (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pharmacology & Pharmacy (AREA)
- Organic Chemistry (AREA)
- Medicinal Chemistry (AREA)
- General Chemical & Material Sciences (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Chemical & Material Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Urology & Nephrology (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
An access control system includes a server 11, an access management database storage device 12, first and second client devices 13 and 15, and data storage devices 14 and 16. The first and second client devices 13 and 15 forms a peer-to-peer file exchange system, and can access the server 11. The access management database storage device 12 stores an access management list. When receiving a request for data from the second client device 15, the first client device 13 inquires the server 11 about whether the requested data can be accessed. The server 11 determines whether the data can be accessed by using the access management list.
Description
- 1. Field of the Invention
- The present invention relates to an access control system for peer-to-peer data exchange over a network.
- 2. Description of the Background Art
- In recent years, peer-to-peer computing has been drawing attention. Peer-to-peer computing is a technique enabling devices connected to each other through a network to directly exchange data, thereby sharing computer resources (CPU power, hard disc space, etc.) and various services (message exchange system, file exchange system, etc.), and even enabling collaboration between the devices. In such peer-to-peer file exchange system, devices of the end-users (client devices) can directly communicate with each other to exchange files managed by the devices.
- In the peer-to-peer file exchange system, whether a file managed by a client device can be accessed by another client device is determined by the client device itself. Access control carried out by a client device to be accessed (data-provider device) is exemplarily carried out as follows: The data-provider device requests an accessing client device (data-destination device) for a password, and only when the password transmitted from the data-destination device is valid, the data-provider device allows the file managed by itself to be accessed. The data-provider device can further carry out even complex access control by using an access date and/or identifier of the data-destination device, or by setting control information unique to each file managed by the data-provider device.
- Such complex access control can be easily achieved if the data-provider device is implemented by a personal computer having a high processing capability, but is very difficult if it is implemented by a consumer-electronics product having a limited processing capability. Moreover, unlike the personal computer, it is extremely difficult to replace software installed in the consumer-electronics product after purchase. Therefore, it is hardly possible to add or change the scheme of access control as described above.
- For another access control, a server communicably connected to the above-described file exchange system is provided to manage files stored in the client devices of the system as a list. The list managed by this server contains names of files and client devices that manages these files. The client device in the system refers to the list to know whether a desired file exists in the system and, if it exists, which client manages the file. This server, however, cannot carry out access control as described above. In this case, access control is carried out by the data-provider device that manages the desired file.
- Therefore, an object of the present invention is to provide an access control system capable of carrying out desired access control in a client device of a peer-to-peer file exchange system.
- The present invention has the following features to attain the object mentioned above.
- A first aspect of the present invention is directed to an access control system in which, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, it is determined whether the data can be accessed. The access control system includes the client devices and a server. The server is communicably connected to the client device, and manages an access management list containing which data can be accessed. The server includes an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and sending a determination result. The client device includes an access enable/disable inquiring unit and a data transmitting unit. The access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry of whether the data can be accessed when the other device requests the client device to directly transmit the data. The data transmitting unit directly transmits the requested data to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
- According to the first aspect, the data-provider client device gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- Also, the access management list managed by the server may contain which device can access which data managed by the client device. In this case, the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested to be transmitted. In response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result. Thus, it is possible to set each data managed by the client device as to whether the data can be accessed or not.
- The access management list managed by the server further contains, as a first condition, a time condition indicating an accessible time for each data. In this case, the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit. Thus, it is possible to set each data managed by the client device as to whether the data can be accessed or not under the condition indicating the accessible time.
- The access management list managed by the server further contains, as a second condition, a number-of-times condition indicating the number of times of allowable access for each data. In this case, the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed. Thus, it is possible to set each data managed by the client device as to whether the data can be accessed or not under the condition indicating the number of times of allowable access.
- The access management list managed by the server further contains, as a third condition, a duplicate condition indicating a duplication limitation provided for each data. In this case, in response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplicate condition. Then, the data transmitting unit directly transmits the requested data with the duplicate condition to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed. Thus, it is possible to provide each data managed by the client device with the duplicate limitation after accessed.
- Alternatively, the server may be communicably connected to the client device through a proxy device. Thus, even if the data-provider client device and the server cannot directly communicate with each other, it is possible to inquire about whether the data can be accessed through the proxy device. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- Alternatively, the access enable/disable inquiring unit may give the access enable/disable determining unit the data access inquiry together with a first certificate that certifies the client device and a second certificate that certifies the other device. In this case, the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the first and second certificates, then determines whether the data can be accessed and sends the determination result. By authenticating the first and second certificates, the server can confirm that communications has been made from the authorized client device.
- The certificates may be X.509 certificates. In this case, by using such X.509 certificates, the server can easily and reliably confirm that communications has been made from the authorized client device.
- A second aspect of the present invention is directed to an access control system in which, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, it is determined whether the data can be accessed. The access control system includes the first and second client devices and a server. The server is communicably connected to at least the second client device, and manages an access management list containing which data can be accessed. The server includes an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and send a determination result. The second client device includes an access enable/disable inquiring unit, a data requesting unit, and a data receiving unit. The access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry about whether the data can be accessed when the second client device requests the first client device to directly transmit the data. The data requesting unit gives a request to the first client device for directly transmitting the data together with the determination result received from the access enable/disable determining unit when the determination result indicates that the data can be accessed. The first client device includes a data transmitting unit for directly transmitting the data requested by the data requesting unit to the second client device when the determination result received from the data requesting unit indicates that the data can be accessed. The data receiving unit directly receives the data transmitted from the data transmitting unit in response to the request given by the data requesting unit.
- According to the second aspect, the second client device, which is the data-destination client device, gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- Also, the access management list managed by the server may contain which client device can access which data. In this case, the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested for transmission. In response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result.
- The access management list managed by the server further contains, as a first condition, a time condition indicating an accessible time for each data. In this case, the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit.
- The access management list managed by the server further contains, as a second condition, a number-of-times condition indicating the number of times of allowable access for each data. In this case, the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed.
- The access management list managed by the server further contains, as a third condition, a duplicate condition indicating a duplication limitation provided for each data. In this case, in response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplicate condition. Then, the data requesting unit gives the request to the first client device for directly transmitting the data, together with the determination result and the duplicate condition when the determination result received from the access enable/disable determining unit indicates that the data can be accessed. When the determination result received from the data requesting unit indicates that the data can be accessed, the data transmitting unit directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition. Then, the data receiving unit directly receives the data transmitted from the data transmitting unit, the data restricted in further duplication by the duplication condition. Thus, even if the second client device, which is the data-destination client device, inquires the server about whether the data can be accessed, it is possible to provide each data managed by the client device with the duplicate limitation after accessed.
- Alternatively, the server may be communicably connected to the second client device through a proxy device. Thus, even if the server and the second client device that inquires the server cannot directly communicate with each other, it is possible to inquire about whether the data can be accessed through the proxy device. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability.
- Alternatively, the access enable/disable inquiring unit may give the access enable/disable determining unit the data access inquiry to request the first client device for directly transmitting the data, together with a certificate that certifies the second client device. In this case, the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the certificate, then determines whether the data can be accessed and then sends the determination result. By authenticating the certificate, the server can confirm that communications has been made from the authorized second client device. Alternatively, the access enable/disable determining unit may send the determination result affixed with a signature for certifying that the determination result is from the server. In this case, the data requesting unit gives the first client device a request for directly transmitting the data together with the determination result affixed with the signature and the certificate, when the determination result received from the access enable/disable determining unit indicates that the data can be accessed. Then, the data transmitting unit first authenticates the determination result received from the data requesting unit by using the signature affixed thereto, and then directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition, when the determination result indicates that the data can be accessed. With this signature, it is possible to prevent tampering during communications of the determination result. Also, the first client device can determine that the determination result surely comes from the server. Furthermore, the certificates may be X.509 certificates.
- A third aspect of the present invention is directed to a server for determining whether data managed by a plurality of client devices of end-users can be accessed when the data is directly transmitted and received among the client devices. The server includes an access managing unit and an access enable/disable determining unit. The access managing unit manages an access management list containing which data can be accessed by which client device. The access enable/disable determining unit determines, in response to a data access inquiry given by one client device, whether the data can be accessed with reference to the access management list managed by the access managing unit, and sends a determination result to the client device that has given the data access inquiry.
- According to the third aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device to carry out data exchange. Therefore, it is possible to appropriately carry out even complex access control.
- A fourth aspect of the present invention is directed to a client device of an end-user, the client device causing a communicable server to determine whether data stored in the client device can be accessed when another device gives the client device a request for directly transmitting the data, the server managing an access management list that contains which data can be accessed. The client device includes an access enable/disable inquiring unit and a data transmitting unit. The access enable/disable inquiring unit gives the server an inquiry about whether the data can be accessed when the other device gives the client device the request for directly transmitting the data. The data transmitting unit directly transmits the data as requested by the other device when the server determines, in response to the inquiry given by the access enable/disable inquiring unit, that the data can be accessed.
- According to the fourth aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device that is requested to transmit the data. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- A fifth aspect is directed to a client device of an end-user, the client device causing a communicable server to determine whether data stored in another device can be accessed when the client device gives the other device a request for direct transmitting the data, the server managing an access management list that contains which data can be accessed. The client device includes an access enable/disable inquiring unit and a data requesting unit. The access enable/disable inquiring unit gives the server an inquiry about whether the data can be accessed when the client device gives the other device the request for directly transmitting the data. When a determination result received from the server indicates that the data can be accessed in response to the inquiry given by the access enable/disable inquiring unit, the data requesting unit gives the other device the request for directly transmitting the data, and also gives the determination result.
- According to the fifth aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability, when inquired by the client device that gives a request for transmitting the data. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device and the data-destination client device are implemented by consumer-electronics products having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- A sixth aspect is directed to a client device of an end-user for directly transmitting data upon request from another device. The client device includes a receiving unit and a data transmitting unit. The receiving unit receives a request from the other device for directly transmitting the data, and a determination result indicating whether the data can be accessed. The data transmitting unit directly transmits the data requested by the other device when the determination result received by the receiving unit indicates that the data can be accessed.
- According to the sixth aspect, the determination result in peer-to-peer data exchange is transmitted together with a request for transmitting the data. Thus, the client device that is requested to transmit the data can determine whether the data can be accessed based on the determination result. Therefore, it is possible to construct a client device capable of appropriately carrying out complex access control. Furthermore, even if the data-provider client device is implemented by a consumer-electronics product having a limited processing capability, the data-provider client device does not have to carry out access control. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- Also, the determination result may be provided with a signature certifying the authenticity of the determination result. In this case, the data transmitting unit evaluates authenticity of the determination result by authenticating the signature provided on the determination result and, when the determination result is valid and indicates that the data can be accessed, directly transmits the data requested by the other device. With this signature provided on the determination result transmitted together with a request for transmitting data in peer-to-peer data exchange, it is possible to prevent tampering during communications of the determination result. Also, the data-provider client device can surely evaluate authenticity of the determination result.
- A seventh aspect is directed to an access control method for causing, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, a server communicably connected to the client device to determine whether the data can be accessed. The access control method includes an access managing step, an access enable/disable inquiring step, an access enable/disable determining step, and a data transmitting step. In the access managing step, an access management list containing which data can be accessed is managed by the server. In the access enable/disable inquiring step, the server is given by the client device an inquiry about whether the data requested from the other device for direct transmission can be accessed. In the access enable/disable determining step, it is determined by the server whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and a determination result is sent to the client device. In the data transmitting step, the requested data is directly transmitted from the client device to the other device when the determination result obtained in the determining step indicates that the data can be accessed.
- According to the seventh aspect, the data-provider client device gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- An eighth aspect is directed to an access control method for causing, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, a server communicably connected to a second client device to determine whether the data can be accessed. The access control method includes an access managing step, an access enable/disable inquiring step, an access enable/disable determining step, a request giving step, a data transmitting step, and a data receiving step. In the access managing step, an access management list containing which data can be accessed is managed by the server. In the access enable/disable inquiring step, the server is given by the second client device an inquiry about whether the data requested from the second client device to the first client device for direct transmission can be accessed. In the access enable/disable determining step, it is determined by the server whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and sending a determination result to the second client device. In the request giving step, to the first client device, a request is given for directly transmitting the data and the determination result when the determination result sent in the determining step indicates that the data can be accessed. In the data transmitting step, the data requested in the request giving step is directly transmitted from the first client device to the second client device when the determination result given in the request giving step indicates that the data can be accessed. In the data receiving step, the data transmitted from the first client device in the data transmitting step is directly received by the second client device.
- According to the eighth aspect, the second client device, which is the data-destination client device, gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- A ninth aspect is directed to a recording medium recording an access control program for causing, when data managed by client devices of end-users is directly transmitted and received among the client devices, a server communicably connected to the client devices to determine whether the data can be accessed. The program readable by the server includes an access managing step and an access enable/disable determining step. In the access managing step, an access management list containing which data can be accessed by the respective client devices is managed. In the access enable/disable determining step, it is determined whether the data can be accessed with reference to the access management list managed in the access managing step in response to a data access inquiry from the client device to the server as to direct transmission and reception of the data, and sending a determination result to the client device.
- According to the ninth aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. By giving the server an access inquiry from the client device for data exchange, it is possible to appropriately carry out even complex access control.
- A tenth aspect is directed to a recording medium recording an access control program for causing, when a client device of an end-user is request from another device to directly transmit data stored in the client device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed. The recording medium readable by the client device includes an access enable/disable inquiring step and a data transmitting step. In the access enable/disable inquiring step, the server is given an inquiry about whether the data can be accessed when the client device is requested from the other device to directly transmit the data. In the data transmitting step, the requested data is directly transmitted from the client device to the other device when a determination result received from the server indicates that the data can be accessed in response to the inquiry given in the inquiry giving step.
- According to the tenth aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. By giving the server an access inquiry from the client device that is requested to transmit the data, it is possible to appropriately carry out even complex access control. Furthermore, even if the data-provider client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- An eleventh aspect is directed to a recording medium recording an access control program for causing, when a client device of an end-user requests another device to directly transmit data stored in the other device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed. The recording medium readable by the client device includes an access enable/disable inquiring step and a request giving step. In the access enable/disable inquiring step, the server is given an inquiry about whether the data can be accessed when the client device requests the other device to directly transmit the data. In the request giving step, the other device is directly given a request for directly transmitting the data together with a determination result received from the server, when the determination result indicates that the data can be accessed in response to the inquiry given in the access enable/disable inquiring step.
- According to the eleventh aspect, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. By giving the server an access inquiry from the client device that requests for data transmission, it is possible to appropriately carry out even complex access control. Furthermore, even if the data-provider client device and the data-destination client device are implemented by consumer-electronics products having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
- FIG. 1 is an illustration for demonstrating the entire construction of an access control system according to a first embodiment of the present invention;
- FIG. 2 is a functional block diagram showing the internal construction of a
server 11 illustrated in FIG. 1; - FIG. 3 is a functional block diagram showing the internal construction of a
first client device 13 illustrated in FIG. 1; - FIG. 4 is a functional block diagram showing the internal construction of a
second client device 15 illustrated in FIG. 1; - FIG. 5 is a flowchart showing the entire operation by the
server 11 and the first andsecond client devices - FIG. 6 is an illustration for demonstrating the data structure of an access management list stored in an access management
database storage device 12 illustrated in FIG. 1; - FIG. 7 is a subroutine illustrating one example of the detailed operation of an access determining process carried out by an access enable/disable determining
unit 111 in step S11 of FIG. 5; - FIG. 8 is a subroutine illustrating another example of the detailed operation of an access determining process carried out by an access enable/disable determining
unit 111 in step S11 of FIG. 5; - FIG. 9 is an illustration for demonstrating the entire construction of an access control system according to a second embodiment of the present invention;
- FIG. 10 is a functional block diagram showing the internal construction of a
server 21 illustrated in FIG. 9; - FIG. 11 is a functional block diagram showing the internal construction of a
first client device 23 illustrated in FIG. 9; - FIG. 12 is a functional block diagram showing the internal construction of a
second client device 25 illustrated in FIG. 9; and - FIG. 13 is a flowchart showing the entire operation carried out by the
server 21 and the first andsecond client devices - (First Embodiment)
- With reference to FIG. 1, described is the entire configuration of an access control system according to a first embodiment of the present invention. In FIG. 1, the access control system includes a
server 11, an access managementdatabase storage device 12, afirst client device 13, adata storage device 14, asecond client device 15, and adata storage device 16. The first andsecond client devices server 11 is communicably connected to the client device placed in the peer-to-peer file exchange system, and can be accessed by at least thefirst client device 13. Thedata storage devices second client devices database storage device 12 is a storage device that stores an access management list (will be described later) managed by theserver 11, and other data. - In the present embodiment, for the sake of simplification, it is assumed that the
second client device 15 accesses thefirst client device 13 to receive a desired file stored in thedata storage device 14 managed by thefirst client device 13. Therefore, thefirst client device 13 is a data-provider client device, while thesecond client device 15 is a data-destination device. Also, in the access control system, two or more client devices can be placed, but only the client devices engaging the above-described file access are described. - Next, with reference to FIG. 2, the internal construction of the
server 11 is described. FIG. 2 is a functional block diagram illustrating the internal construction of theserver 11. In FIG. 2, theserver 11 includes an access enable/disable determiningunit 111, adatabase control unit 112, and aclient communications unit 113. Theclient communications unit 113 uses a protocol such as TCP/IP to carry out communications between thefirst client device 13 and theserver 11. Thedatabase control unit 112 controls the data stored in the access managementdatabase storage device 12. For example, thedatabase control unit 112 searches the access managementdatabase storage device 12 for specific data requested by the access enable/disable determiningunit 111, and updates the data after search. Also, thedatabase control unit 112 adds new data to or deletes the existing data from the data stored in the access managementdatabase storage device 12 upon request from the client device via theclient communications unit 113. Upon request from thefirst client device 13 via theclient communications unit 113, the access enable/disable determiningunit 111 refers to the access management list stored in the access managementdatabase storage device 12 to return the determination result to theclient communications unit 113. Depending on the determination result, when the access management list has to be updated, the access enable/disable determiningunit 111 instructs thedatabase control unit 112 to update the list. - Next, with reference to FIG. 3, the internal construction of the
first client device 13 is described. FIG. 3 is a functional block diagram illustrating the internal construction of thefirst client device 13. In FIG. 3, thefirst client device 13 includes aserver communications unit 131, an access enable/disable inquiringunit 132, adata transmitting unit 133, aclient communications unit 134, and a storagedevice control unit 135. Theserver communications unit 131 uses a protocol such as TCP/IP to carry out communications between thefirst client device 13 and theserver 11. Theclient communications unit 134 uses a protocol such as TCP/IP to carry out communications between thefirst client device 13 and thesecond client device 15. When a request for a list of data stored in thedata storage device 14 comes from thesecond client device 15 via theclient communications unit 134, thedata transmitting unit 133 generates, under the control of the storagedevice control unit 135, a list of the data stored in thedata storage device 14, and supplies the data list to thesecond client device 15. When reported from theserver 11 that access is enabled, thedata transmitting unit 133 retrieves the requested data from thedata storage device 14 through the control of the storagedevice control unit 135, and transmits the data to thesecond client device 15 under the control of theclient communications unit 134. The access enable/disable inquiringunit 132 inquires, when receiving a data request from thesecond client device 15, theserver 11 via theserver communications unit 131 to determine whether the data can be provided. Note that thefirst client device 13 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in thefirst client device 13, or may be an IP address. - Next, with reference to FIG. 4, the internal construction of the
second client device 15 is described. FIG. 4 is a functional block diagram illustrating the internal construction of thesecond client device 15. In FIG. 4, thesecond client device 15 includes aclient communications unit 151, adata requesting unit 152, adata receiving unit 153, a storagedevice control unit 154, adisplay device 155, and aninput device 156. Theclient communications unit 151 uses a protocol such as TCP/IP to carry out communications between the first andsecond client devices display device 155 displays, for example, the data list received through theclient communications unit 151 from thefirst client device 13 to prompt a user of thesecond client device 15 to select desired data. Theinput device 156 is operated by the user to select the desired data from the data list. Thedata requesting unit 152 carries out communications through theclient communications unit 151 with thefirst client device 13 for requesting the data. When the data request is allowed, thedata receiving unit 153 receives the data from thefirst client device 13 through theclient communications unit 151. Then, the storagedevice control unit 154 controls thedata storage device 16 to store the data therein. Note that thesecond client device 15 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in thesecond client device 15, or may be an IP address. - In the present embodiment, the first and
second client devices first client device 13 is a data-provider device and thesecond client device 15 is a data-destination device. Therefore, when it is convenient for both of the first andsecond client devices - Next, with reference to FIG. 5, the entire processing of the access control system is described. FIG. 5 is a flowchart showing the operations carried out by the
server 11 and the first andsecond client devices first client device 13 is a data-provider device and thesecond client device 15 is a data-destination device. Also, described is a case where thesecond client device 15 retrieves desired data stored in thedata storage device 14 managed by thefirst client device 13. The operations in the access control system are carried out by access control programs respectively corresponding to theserver 11 and the first andsecond client devices server 11 and the first andsecond client devices - In FIG. 5, to request a list of the data managed by the
first client device 13, thedata requesting unit 152 of thesecond client device 15 requests thefirst client device 13 for the data list (step S1). In step S1, the user of thesecond client device 15 operates theinput device 156 to transmit a request for the data list to thedata requesting unit 152. Then, thedata requesting unit 152 requests thefirst client device 13 through theclient communications unit 151 for the data list. - Next, the
client communications unit 134 of thefirst client device 13 receives the request for the data list from thesecond client device 15, and reports the request for the data list to the data transmitting unit 133 (step S2). Thedata transmitting unit 133 then searches the data managed by thedata storage device 14 by controlling the storagedevice control unit 135, and generates a list of the data managed by the data storage device 14 (step S3). Thedata transmitting unit 133 transmits the data list generated in step S3 to thesecond client device 15 through the client communications unit 134 (step S4). - Next, the
client communications unit 151 of thesecond client device 15 receives the data list transmitted in step S4 from thefirst client device 13, and thedisplay device 155 of thesecond client device 15 displays the received data list (step S5). Then, the user of thesecond client device 15 operates theinput device 156 to select the desired data from the data list displayed on thedisplay device 155, and reports the selection result to the data requesting unit 152 (step S6). Thedata requesting unit 152 then transmits the file name of the data selected in step S6 and a data-destination identifier for identifying itself (that is, the identifier of the second client device 15) to thefirst client device 13 through theclient communications unit 151 for requesting the data (step S7). - The
client communications unit 134 of thefirst client device 13 receives the file name of the data requested by thesecond client device 15 and the data-destination identifier, and forwards them to the access enable/disable inquiring unit 132 (step S8). Then, to determine whether access to the data requested by thesecond client device 15 is enabled, the access enable/disable inquiringunit 132 sends the file name, the data-destination identifier, and a data-provider identifier (that is, the identifier of the first client device 13) to theserver 11 through theserver communications unit 131 for giving an inquiry about the request (step S9). - The
client communications unit 113 of theserver 11 then sends the file name, the data-destination identifier, and the data-provider identifier, which have been sent by thefirst client device 13 as the inquiry about the request, to the access enable/disable determining unit 111 (step S10). The access enable/disable determiningunit 111 then refers to the access management list stored in the access managementdatabase storage device 12 by controlling thedatabase control unit 112 to determine whether the requested data can be accessed (step S11). The operation of the access determining process in step S11 will be described in detail later. The access enable/disable determiningunit 111 then sends the determination result with respect to the data requested in step S11 to thefirst client device 13 through the client communications unit 113 (step S12). Also, when the registered data referred to in step S11 from the access management list contains a limitation of “duplicate condition”, which will be described later, information indicating the duplicate condition (hereinafter, duplicate condition information) is also transmitted in step S12 to thefirst client device 13. - The
server communications unit 131 of thefirst client device 13 then receives the access determination result transmitted from theserver 11, and then forwards it to the data transmitting unit 133 (step S13). Thedata transmitting unit 133 then determines whether the data requested in step S8 from thesecond client device 15 can be accessed based on the access determination result (step S14). If the access determination result indicates that the data can be accessed, thedata transmitting unit 133 controls the storagedevice control unit 135 to search thedata storage device 14 for the data requested in step S8 from thesecond client device 15, and transmits the found data to thesecond client device 15 through the client communications unit 134 (step S15). When the duplicate condition information is simultaneously transmitted in step S12, the requested data is transmitted to thesecond client device 15 together with the duplicate condition information. If the access determination result indicates that the data can not be accessed, on the other hand, thedata transmitting unit 133 rejected data transmission to thesecond client device 15. - The
client communications unit 151 of thesecond client device 15 then receives the data transmitted in step S15, and forwards it to the data receiving unit 153 (step S16). Thedata receiving unit 153 then controls the storagedevice control unit 154 to store the data received in step S16 in thedata storage device 16 or make the data displayed on thedisplay device 155. When the data is received in step S16 together with the duplicate condition information, the data is limited under the duplicate condition information as to future duplication. This limitation of duplication will be described later. - Next, with reference to FIG. 6, described is the data structure of the access management list stored in the access management
database storage device 12. FIG. 6 is an example of the access management list stored in the access managementdatabase storage device 12. In FIG. 6, the access management list stored in the access managementdatabase storage device 12 contains data composed of seven items, that is, “number”, “data-provider identifier”, “file name”, “data-destination identifier”, “time condition”, “number-of-times condition”, and “duplicate condition”. - In the access management list, “number” indicates a natural number uniquely provided for managing each registered data in the access management
database storage device 12. - In the access management list, “data-provider identifier” indicates an identifier uniquely provided to each client device for specifying a data-provider client device.
- In the access management list, “file name” indicates a file name of the data to be accessed. Note that the file name may be a content ID, which is identification information unique to a content to be accessed.
- In the access management list, “data-destination identifier” indicates an identifier unique to each client device for specifying a data-destination client device. Note that “data-destination identifier” can specify not only a specific client device but also can contain “unlimited” if the data can be accessed by any client device. Also, if the data cannot be accessed by any client device, “data-destination identifier” contains “unlimited” or no description.
- In the access management list, “time condition” indicates a time limitation for specifying a date when the data can be allowed to be provided, or a duration during which the data can be provided. If no time limitation is provided for data access, “time condition” contains “unlimited”.
- In the access management list, “number-of-times condition” indicates a limitation as to the number of times the data can be provided by the data-provider device. For the data whose “number-of-times condition” has any number of times set therein, when the
server 11 allows access to the data, the set number of times is decremented for update. When the number of times becomes 0, further access is not allowed. If the data in the access management list can be accessed at any number of times, “number-of-times condition” contains “unlimited”. - In the access management list, “duplicate condition” indicates a limitation of whether the data-destination device is allowed to duplicate the data. If no duplication is allowed in the data-destination device, “duplicate condition” contains “not allowed”. If duplication is allowed without any specific limitations, “duplicate condition” contains “unlimited”. If the number of generations of duplications is limited, “duplicate condition” contains the number of generations (for example, “allowed only one generation” for “number” 4).
- Each registered data is contained by each of the items described above in the access management list. For example, registered data having “1” contained in “number” is the one for managing access to an audio file whose “file name” is “babyfirstcry.wav” stored in the client device whose “data-provider identifier” is “1111”. This audio file can be accessed only by the device whose “data-destination identifier” is “2222”. There are no limitations as to the date and the number of times of allowable access by the device with the identifier “2222”. The data-destination device with the identifier “2222” is not allowed to further duplicate the provided file “babyfirstcry.wav”.
- Also, for example, registered data having “4” contained in “number” is the one for managing access to an image file whose “file name” is “children.jpg” stored in the client device whose “data-provider identifier” is “1111”. This image file can be accessed only the devices whose “data-destination identifier” are “2222” and “3333”, respectively. The devices with the identifiers “2222” and “3333” can access the image file until Jul. 31, 2002, as limited in “time condition”, and cannot access the image file thereafter. The number of times of access by the devices with the identifiers “2222” and “3333” is unlimited. Also, the devices with the identifiers “2222” and “3333” are allowed to further duplicate the provided file “children.jpg” for only one generation.
- Furthermore, registered data having “9” contained in “number” is the one for managing special access. This registered data is for managing access of a device whose “data-provider identifier” is “4444” to a device whose “data-destination identifier” is “1111”, but “file name” contains “unlimited”. That is, all files stored in the device with “4444” can be accessed by the device with “1111”. Such usage maybe used when the devices with “1111” and “4444” are both owned by the same person and therefore unconditional access to the files are allowed, for example.
- The registered data is contained in the access management list stored in the access management
database storage device 12 under either one of the following conditions: - Condition 1: Of all data managed by all client devices whose accesses are managed by the
server 11, data unconditionally providable or providable under a certain condition to other client devices is contained in the access management list (that is, data not contained in the access management list cannot be accessed). - Condition 2: Of all data managed by all client devices whose accesses are managed by the
server 11, data unprovidable or providable under a certain condition is contained in the access management list (that is, data not contained in the access management list can be accessed). - Described next in detail is an access determining process carried out by the access enable/disable determining
unit 111 in step S11 (refer to FIG. 5). FIG. 7 is a subroutine of step S11 showing one example of the detailed access determining process carried out by the access enable/disable determiningunit 111. Assume herein that the registered data is contained in the access management list stored in the access managementdatabase storage device 12 under the above Condition 1 (that is, data not contained in the access management list cannot be accessed). - In FIG. 7, the access enable/disable determining
unit 111 receives an access inquiry including the data-provider identifier for identifying the data-provider client device, the data-destination identifier for identifying the data-destination client device, and the file name for identifying the data to be provided (step S111). Then, the access enable/disable determiningunit 111 sets a temporary variable n for use in this subroutine to 1 for initialization (step S112). - The access enable/disable determining
unit 111 determines whether the data-provider identifier received in step S111 coincides with that of the registered data having “n” contained in “number” in the access management list stored in the access management database storage device 12 (step S113). If the received data-provider identifier coincides with that, the procedure goes to step S114. Otherwise, the procedure goes to step S119. - In step S114, the access enable/disable determining
unit 111 determines whether the file name received in step S111 coincides with the file name of the registered data whose “number” is n. As described above, “file name” in the access management list may contain “unlimited”. In this case, the access enable/disable determiningunit 111 determines that the file name received in step S111 coincides with the one contained in “file name” in the access management list. Then, if the received file name coincides with the one contained in “file name”, the procedure goes to step S115. Otherwise, the procedure goes to step S119. - In step S115, the access enable/disable determining
unit 111 determines whether the data-provider identifier received in step S111 coincides with the one contained “data-provider identifier” of the registered data whose “number” is “n” in the access management list. As described above, “data-provider identifier” in the access management list may contain “unlimited”. In this case, the access enable/disable determiningunit 111 determines that the data-provider identifier coincides with the one contained in “data-provider identifier” in the access management list. Then, if the received data-provider identifier coincides with the one contained in “data-provider identifier”, the procedure goes to step S116. Otherwise, the procedure goes to step S119. - In step S116, the access enable/disable determining
unit 111 compares the current time with the one contained in “time condition” of the registered data whose “number” is “n” in the access management list to determine whether access is enabled or disabled. In this comparison carried out by the access enable/disable determiningunit 111, it is determined that access is enabled if “time condition” contains “unlimited”. If “time condition” contains a temporal limitation, whether access is enabled or disabled is determined based on whether the current time satisfies the temporal limitation. Then, if it is determined that access is enabled, the procedure goes to step S117. Otherwise, the procedure goes to step S119. - In step S117, the access enable/disable determining
unit 111 refers to “number-of-times condition” of the registered data whose “number” is “n” in the access management list to determine whether access is enabled or disabled. In this determination carried out by the access enable/disable determiningunit 111, it is determined that access is enabled if “number-of-times condition” contains “unlimited” or “once or more”. If “number-of-times condition” contains “0”, it is determined that access is disabled. After determining that access is enabled based on “number of times condition” containing “once or more”, the access enable/disable determiningunit 111 updates the access management list by decrementing the number of times contained in “number-of-times condition” by 1. Then, if the access enable/disable determiningunit 111 determines in step S117 that access is enabled, the procedure goes to step S118. If the access enable/disable determiningunit 111 determines in step S117 that access is disabled, the procedure goes to step S119. - In step S117, an example scheme of how to update “number-of-times condition” in the access management list has been described, wherein the number of times for access by any client device is always decremented by 1 if it is determined that access is enabled. When “data-destination identifier” contains a plurality of identifiers (that is, there are a plurality of data-destination client devices), however, “number-of-times condition” may not be shared among the data-destination client devices, but may be set for each data-destination client device.
- In step S118, the access enable/disable determining
unit 111 determines that access is enabled in response to the access inquiry received in step S111, and ends the subroutine. The procedure can go to this step S118 only when it is determined through steps S113 to S117 that every item of the access inquiry received in step S111 by the access enable/disable determiningunit 111 coincides with the corresponding one in the access management list through the steps S113 to S117 and also when every access condition is satisfied. Therefore, the access enable/disable determiningunit 111 determines only for the client device having items that coincide with those of the registered data in the access management list and satisfying every condition. - As described above, on the other hand, if any item of the access inquiry received in step S111 does not satisfy conditions in steps S113 through S117, the procedure goes to step S119. In step S119, the access enable/disable determining
unit 111 increments the temporary variable n by 1 to n+1 for further proceeding to step S120. - In step S120, the access enable/disable determining
unit 111 determines whether the current temporary variable n is larger than the number of registered data items N in the access management list. If n>N, the access enable/disable determiningunit 111 determines that all registered data items in the access management list have been processed, and then the procedure goes to step S121. If n≦N. on the other hand, the access enable/disable determiningunit 111 determines that any registered data item in the access management list is left unprocessed, and the procedure returns to step S113 for carrying out the process on the data having “number” newly set in step S119. - In step S121, the access enable/disable determining
unit 111 determines that access is disabled in response to the access inquiry received instep S111, and then ends the subroutine. Note that this step S121 is carried out when any item of the access inquiry received in step S111 by the access enable/disable determiningunit 111 does not coincide with the corresponding one in the access management list through the steps S113 to S117 and also when any access condition is not satisfied. Therefore, the access enable/disable determiningunit 111 determines for the client device that does not coincide with any item of the registered data in the access management list or does not satisfy with any condition. - The access determining process carried out by the access enable/disable determining
unit 111 as described with reference to FIG. 7 has been described in a case where the registered data is contained in the access management list stored in the access managementdatabase storage device 12 based on theabove Condition 1. Alternatively, the registered data may be contained based on the above Condition 2 (that is, the data not contained in the access management list can be accessed). In this case, the access determining process is changed only in the following step. That is, with reference to FIG. 8, if the access enable/disable determiningunit 111 determines “no” in steps S115 to S117, the procedure goes to step S121, wherein the access enable/disable determiningunit 111 determines that access is disabled in response to the access inquiry received in step S111, and ends the subroutine. If n>N in step S120, the procedure goes to step S118, wherein the access enable/disable determiningunit 111 determines that access is enabled in response to the access inquiry received in step S111, and ends the subroutine. As such, the access enable/disable determiningunit 111 uses an appropriate procedure depending on the condition used for generating the access management list to appropriately determine whether access is enabled or disabled. - Note that, in the first embodiment, any scheme for certifying the first and
second client devices server 11 and the first andsecond client devices second client device 15 to thefirst client device 13, a certificate that certifies the second client device 15 (hereinafter, second certificate) is transmitted from thesecond client device 15 to theserver 11. For communications from thefirst client device 13 to theserver 11, the second certificate that certifies thesecond client device 15 and a certificate that certifies the first client device 13 (hereinafter, first certificate) are transmitted to theserver 11. Thus, by receiving these certificates, theserver 11 can confirm that communications is made by authorized client devices. An example certificate may be an X.509 certificate, which provides a standard way is a public-key certificate and a certificate revocation list. - Also, when the
server 11 transmits the access determination result together with duplicate condition information to thefirst client device 13, theserver 11 carries out predetermined encryption on the duplicate condition information. For example, theserver 11 uses its secret key to place a signature on the duplicate condition information, thereby ensuring for thesecond client device 15 the data to which the duplicate condition is applied. The data to which this duplicate condition is applied is encrypted by a DRM (Digital Rights Management) scheme. For example, when thefirst client device 13, which is a data-provider device, receives the access determination result together with the duplicate condition information from theserver 11, thefirst client device 13 encrypts the data to which the duplicate condition information is applied with a public key of thesecond client device 15, and transmits the encrypted data and the duplicate condition information to thesecond client device 15. Thesecond client device 15 stores a secret key in a tamper-resistant area for keeping it secret to even the user of the device. Thus, even if the data is duplicated by unauthorized device (other than the second client device 15), the data cannot be decoded, and therefore duplication is restricted. Furthermore, when the data is duplicated under the duplicate condition, duplication can be restricted by once decoding the encrypted data with the secret key of thesecond client device 15, and then again encrypting the decrypted data with the public key of the duplication-destination device. Here, although the data is directly encrypted with the public key, the data may be encrypted with an encryption key of a common-key scheme, the used encryption key may be further encrypted by thefirst client device 13 with a public key of thesecond client device 15, and then the encrypted encryption key may be transmitted together with the encrypted data. If the signature placed on the duplicate condition information is tampered one (that is, the information does not come from the server 11), the data to which the duplicate condition information is applied cannot be duplicated. - In the first embodiment, any specific scheme for achieving security and tamper-resistance of a route for communications carried out between the
server 11 and the first andsecond client devices - Also, in the first embodiment, the
first client device 13 generates, in step S3, a list of the data stored in thedata storage device 14 managed by itself. Alternatively, the data list may contain only data that can be accessed by thesecond client device 15. In this case, thefirst client device 13 receives, in step S2, a request for the data list from thesecond client device 15, and gives an access inquiry to theserver 11 for receiving information about which data can be accessed by thesecond client device 15. Based on the received information, thefirst client device 13 generates the data list containing only the data that can be accessed by thesecond client device 15. Note that, with such data list, thefirst client device 13 may again give an access inquiry to theserver 11 even after thesecond client device 15 gives a data request. - As such, according to the access control system of the first embodiment, the data-provider client device gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- (Second Embodiment)
- With reference to FIG. 9, described is the entire configuration of the access control system according to a second embodiment of the present invention. Note that, in the first embodiment, the data-provider client device (that is, the
first client device 13 to be accessed) gives an access inquiry to theserver 11. In the second embodiment, on the other hand, the data-destination client device (that is, the accessing client device) gives an access inquiry to the server. - In FIG. 9, the access control system includes a
server 21, an access managementdatabase storage device 22, afirst client device 23, adata storage device 24, asecond client device 25, and adata storage device 26. The first andsecond client devices server 21 is communicably connected to the client device placed in the peer-to-peer file exchange system and can be accessed by at least thefirst client device 25. Thedata storage devices second client devices database storage device 22 is a storage device that stores an access management list (will be described later) managed by theserver 21, and others. - In the present embodiment, for the sake of simplification, it is assumed that the
second client device 25 access thefirst client device 23 to receive a desired filed stored in thedata storage device 24 managed by thefirst client device 23. Therefore, thefirst client device 23 is a data-provider client device, while thesecond client device 25 is a data-destination client device. Also, in the access control system, three or more client devices can be placed, but only the client devices engaging the above-described file access are described. - Next, with reference to FIG. 10, the internal construction of the
server 21 is described. FIG. 10 is a functional block diagram illustrating the internal construction of theserver 21. In FIG. 10, theserver 21 includes an access enable/disable determiningunit 211, adatabase control unit 212, and aclient communications unit 213. Theclient communications unit 213 uses a protocol such as TCP/IP to carry out communications between thesecond client device 25 and theserver 21. Thedatabase control unit 212 controls the data stored in the access managementdatabase storage device 22. For example, thedatabase control unit 212 searches the access managementdatabase storage device 22 for specific data requested by the access enable/disable determiningunit 211, and updates the data after search. Also, thedatabase control unit 212 adds new data to or delete the existing data from the data stored in the access managementdatabase storage device 22 upon request from the client device via theclient communications unit 213. Upon request from thesecond client device 25 via theclient communications unit 213, the access enable/disable determiningunit 211 refers to the access management list stored in the access managementdatabase storage device 22 to return the determination result to theclient communications unit 213. Depending on the determination result, when the access management list has to be updated, the access enable/disable determiningunit 211 instructs thedatabase control unit 212 to update the list. - Next, with reference to FIG. 11, the internal construction of the
first client device 23 is described. FIG. 11 is a functional block diagram illustrating the internal construction of thefirst client device 23. In FIG. 11, thefirst client device 23 includes aclient communications unit 231, adata transmitting unit 232, and a storagedevice control unit 233. Theclient communications unit 231 uses a protocol such as TCP/IP to carry out communications between thefirst client device 23 and thesecond client device 25. When a request for a list of data stored in thedata storage device 24 comes from thesecond client device 25 via theclient communications unit 231, thedata transmitting unit 232 generates, through the storagedevice control unit 233, a list of the data stored in thedata storage device 24, and supplies the data list to thesecond client device 25. When reported from thesecond client device 25 that theserver 21 has determined that access is enable, thedata transmitting unit 232 retrieves the requested data from thedata storage device 24 through the storagedevice control unit 233, and transmits the data to thesecond client device 25 under the control by theclient communications unit 231. Note that thefirst client device 23 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in thefirst client device 23, or may be an IP address. - Next, with reference to FIG. 12, the internal construction of the
second client device 25 is described. FIG. 12 is a functional block diagram illustrating the internal construction of thesecond client device 25. In FIG. 12, thesecond client device 25 includes aserver communications unit 251, an access enable/disable inquiringunit 252, adata requesting unit 253, adata requesting unit 253, aclient communications unit 254, a storagedevice control unit 255, adata receiving unit 256, adisplay device 257, and aninput device 258. Theserver communications unit 251 uses a protocol such as TCP/IP to carry out communications between thesecond client device 25 and theserver 21. Thedisplay device 257 displays, for example, the data list received through theclient communications unit 254 from thefirst client device 23 to prompt a user of thesecond client device 25 to select desired data. Theinput device 258 is operated by the user to select the desired data from the data list. Thedata requesting unit 253 instructs the access enable/disable inquiringunit 252 to inquire about whether access to the data selected by the user is enabled or disabled. Based on the determination result, thedata requesting unit 253 then carries communications with thefirst client device 23 through theclient communications unit 254 for requesting the data. When receiving the data request from thedata requesting unit 253, the access enable/disable inquiringunit 252 gives an inquiry to theserver 21 through theserver communications unit 251 to determine whether the data can be accessed. When the data request is allowed, thedata receiving unit 256 receives the data from thefirst client device 23 through theclient communications unit 254. Then, the storagedevice control unit 255 controls thedata storage device 26 to store the data therein. Note that thesecond client device 25 has a unique identifier, which is stored in an identifier storage unit (not shown). This identifier may be information uniquely provided to the CPU incorporated in thesecond client device 25, or may be an IP address. - In the present embodiment, the first and
second client devices first client device 23 is a data-provider device and thesecond client device 25 is a data-destination device. Therefore, when it is convenient for both of the first andsecond client devices - Next, with reference to FIG. 13, the entire processing of the access control system according to the second embodiment is described. FIG. 13 is a flowchart showing the operations carried out by the
server 21 and the first andsecond client devices first client device 23 is a data-provider device and thesecond client device 25 is a data-destination device. Also, described is a case where thesecond client device 25 retrieves desired data stored in thedata storage device 24 managed by thefirst client device 23. The operations in the access control system are carried out by access control programs respectively corresponding to theserver 21 and the first andsecond client devices server 21 and the first andsecond client devices - In FIG. 13, to request a list of the data managed by the
first client device 23, thedata requesting unit 253 of thesecond client device 25 requests thefirst client device 23 for the data list (step S21). In step S21, the user of thesecond client device 25 operates theinput device 258 to transmit a request for the data list to thedata requesting unit 253. Then, thedata requesting unit 253 requests thefirst client device 23 through theclient communications unit 254 for the data list. - Next, the
client communications unit 231 of thefirst client device 23 receives the request for the data list from thesecond client device 25, and reports the request for the data list to the data transmitting unit 232 (step S22). Thedata transmitting unit 232 then searches the data managed by thedata storage device 24 by controlling the storagedevice control unit 233, and generates a list of the data managed by the data storage device 24 (step S23). Thedata transmitting unit 232 transmits the data list generated in step S23 to thesecond client device 25 through the client communications unit 231 (step S24). - Next, the
client communications unit 254 of thesecond client device 25 receives the data list transmitted in step S24 from thefirst client device 23, and thedisplay device 257 of thesecond client device 25 displays the received data list (step S25). Then, the user of thesecond client device 25 operates theinput device 258 to select the desired data from the data list displayed on thedisplay device 257, and reports the selection result to the data requesting unit 253 (step S26). Thedata requesting unit 253 then transmits the file name of the data selected in step S26 and a data-provider identifier for identification (that is, the identifier of the first client device 23) to the access enable/disable inquiringunit 252. To determine whether the data requested by thedata requesting unit 253 can be accessed, the access enable/disable inquiringunit 252 then transmits, to theserver 21 through theserver communications unit 251, the file name of the requested data, a data-provider identifier, and a data-destination identifier for identifying itself (that is, the identifier of the second client device 25), as an access inquiry for the request (step S27). - The
client communications unit 213 of theserver 21 forwards, to the access enable/disable determiningunit 211, the file name of the data, the data-provider identifier, and the data-destination identifier received as the access inquiry transmitted from the second client device 25 (step S28). The access enable/disable determiningunit 211 then refers to the access management list stored in the access managementdatabase storage device 22 by controlling thedatabase control unit 212 to determine whether the requested data can be accessed (step S29). The operation of the access determining process in step S29 will be described in detail later. The access enable/disable determiningunit 211 then uses a predetermined encryption scheme to encrypt the access determination result as to the data requested in step S29, and then transmits the encrypted result to thesecond client device 25 through the client communications unit 213 (step S30). Also, when the registered data referred to in step S29 from the access management list contains a limitation of “duplicate condition”, which will be described later, the duplication is also transmitted in step S30 to thesecond client device 25. - Encryption of the access determination result carried out in step S30 is to ensure authenticity of the access determination result obtained in the
server 21. The authenticity can be ensured by, for example, encrypting the access determination result with a public key of thefirst client device 23 or by transmitting the access determination result together with data signed with a secret key of theserver 21. That is, with encryption, tampering on the communications can be prevented. Also, when the authenticity of thefirst client device 23 is evaluated, which will be described later, it is possible to ensure that it is theserver 21 that provided the access determination result. - The
server communications unit 251 of thesecond client device 25 then receives the access determination result transmitted from theserver 21, and then forwards it to the data requesting unit 253 (step S31). Thedata requesting unit 253 then determines whether the data requested in step S26 can be accessed based on the access determination result (step S32). If the access determination result indicates that the data can be accessed, thedata requesting unit 253 transmits, to thefirst client device 23 through theclient communications unit 254, the file name together with the access determination result transmitted from theserver 21, thereby requesting thefirst client device 23 for the data (step S33). When the duplicate condition information is simultaneously transmitted in step S30, the requested data is transmitted to thefirst client device 23 together with the duplicate condition information. If the access determination result indicates that the data can not be accessed, on the other hand, thesecond client device 25 terminates requesting thefirst client device 23 for the data. - The
client communications unit 231 of thefirst client device 23 then receives the file name of the data requested by thesecond client device 25 and the access determination result, and forwards them to the data transmitting unit 232 (step S34). Thedata transmitting unit 232 then evaluates the authenticity of the access determination result by determining, for example, whether the access determination result was obtained in the server 21 (step S35). In step S35. thedata transmitting unit 232 decodes the access determination result encrypted by theserver 21 to confirm its authenticity. If the access determination result can be authenticated, thedata transmitting unit 232 searches thedata storage device 24 for the data requested by thesecond client device 25 by controlling the storagedevice control unit 233, and transmits the found data to thesecond client device 25 through the client communications unit 231 (step S36). When the data is received in step S33 together with the duplicate condition information, the requested data is transmitted to thesecond client device 25 together with the duplicate condition information. If the access determination result cannot be authenticated, on the other hand, thedata transmitting unit 232 rejects data transmission to thesecond client device 25. - The
client communications unit 254 of thesecond client device 25 receives the data transmitted in step S36, and forwards it to the data receiving unit 256 (step S37). Thedata receiving unit 256 then controls the storagedevice control unit 255 to store the data received in step S37 in thedata storage device 26 or gives the data displayed on thedisplay device 257. When the data is received in step S37 together with the duplicate condition information, the data is limited under the duplicate condition information as to future duplication. This limitation of duplication will be described later. - The data structure of the access management list stored in the access management
database storage device 22 is similar to the one according to the first embodiment described with reference to FIG. 6. Also, the detailed operation of the access determining process carried out in step S29 (refer to FIG. 13) by the access enable/disable determiningunit 211 is similar to the subroutine according to the first embodiment described with reference to FIG. 7 or FIG. 8. That is, also in the second embodiment, the access enable/disable determiningunit 211 can appropriately determine whether access is enabled or disabled, by using the procedure selected depending on which condition has been used for generating the access management list. Therefore, in the second embodiment, the data structure of the access management list and the detailed operation of the access determining process carried out by the access enable/disable determiningunit 211 are not described. - Note that, in the second embodiment, the
first client device 23 generates the data stored in thedata storage device 24 managed by itself as the data list. Alternatively, the data list may be obtained from theserver 21 by thesecond client device 25 inquiring about only the data that can be accessed through thefirst client device 23. Specifically, thesecond client device 25 gives an access inquiry to theserver 21 by transmitting a request for the data list in step S21 so that theserver 21 returns the data list that can be accessed. Theserver 21 then searches the access management list for the data that can be accessed by thesecond client device 25 to generate the data list. Thus, it is possible to generate the data list containing only the accessible data and transmits the data list to thesecond client device 25. - Furthermore, in the second embodiment, any scheme for certifying the
second client devices 25 has not been mentioned. However, authentication may be made between theserver 21 and the first andsecond client devices second client device 25 to thefirst client device 23 or theserver 21, a certificate that certifies the second client device 25 (hereinafter, second certificate) is transmitted to thefirst client device 23 or theserver 21. Thus, by receiving these certificates, thefirst client device 23 and theserver 21 can check that communications is made by the authorized client device. An example certificate may be an X.509 certificate, which provides a standard way is a public-key certificate and a certificate revocation list. - Still further, when the
server 21 transmits the access determination result together with duplicate condition information to thesecond client device 25, theserver 21 carries out predetermined encryption on the duplicate condition information. For example, theserver 21 uses its secret key to place a signature on the duplicate condition information, thereby ensuring for thesecond client device 25 the data to which the duplicate condition is applied. The data to which this duplicate condition is applied is encrypted by a DRM (Digital Rights Management) scheme. For example, when thefirst client device 23, which is a data-provider device, receives the access determination result together with the duplicate condition information from theserver 21, thefirst client device 23 encrypts the data to which the duplicate condition information is applied with a public key of thesecond client device 25, and transmits the encrypted data and the duplicate condition information to thesecond client device 25. Thesecond client device 25 stores a secret key in a tamper-resistant area for keeping it secret to even the user of the device. Thus, even if the data is duplicated by unauthorized device (other than the second client device 25), the data cannot be decoded, and therefore duplication is restricted. Furthermore, when the data is duplicated under the duplicate condition, duplication can be restricted by once decoding the encrypted data with the secret key of thesecond client device 25, and then again encrypting the decrypted data with the public key of the duplication-destination device. Here, although the data is directly encrypted with the public key, the data may be encrypted with an encryption key of a common-key scheme, the used encryption key may be further encrypted by thefirst client device 23 with a public key of thesecond client device 25, and then the encrypted encryption key may be transmitted together with the encrypted data. If the signature placed on the duplicate condition information is tampered one (that is, the information does not come from the server 21), the data to which the duplicate condition information is applied cannot be duplicated. - In the second embodiment, any specific scheme for achieving security and tamper-resistance of a route for communications carried out between the
server 21 and the first andsecond client devices - As such, according to the access control system of the second embodiment, the data-destination client device gives an access inquiry to the server. With this, access control for peer-to-peer data exchange is carried out by the server, which is high in processing capability. Therefore, it is possible to appropriately carry out even complex access control. With complex access control being achieved, data itself is directly exchanged between the client devices, thereby enabling data exchange without imposing a large load on the band of the network. Furthermore, even if the client device is implemented by a consumer-electronics product having a limited processing capability, the above complex access control is carried out by the server. Therefore, peer-to-peer data exchange between consumer-electronics products having a limited processing capability can be easily carried out by adding the above complex access control thereto.
- In the access control system according to the above first and second embodiments, the client device directly connected to the server requests the server to determine whether access is enabled or disabled, and the server transmits the determination result to the client device. Alternatively, the client device that gives the above request may not be directly connected to the server. The present invention can be achieved as long as the server communicably connected to the client device placed in the peer-to-peer file exchange system and the client device that gives the above request can communicate with each other through a proxy client device capable of directly communicating with the server (hereinafter, third client device). For example, in the first embodiment, if the
first client device 13 cannot directly communicate with theserver 11, they communicate with each other through the third client device, thereby constructing an access control system similar to that in the first embodiment. Also, in the second embodiment, if thesecond client device 25 cannot directly communicate with theserver 21, they communicate with each other through the third client device, thereby constructing an access control system similar to that in the second embodiment. Needless to say, when the third client device is used for constructing an access control system in the above-described manner, a certificate that certifies the third client device (hereinafter, third certificate) can be used for authenticating the client devices and the server, thereby confirming that communications is made by authorized client devices. - While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.
Claims (27)
1. An access control system in which, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, it is determined whether the data can be accessed, the access control system comprising:
a server communicably connected to the client device and managing an access management list containing which data can be accessed,
the server including an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and send a determination result, and
the client device including
an access enable/disable inquiring unit operable to give the access enable/disable determining unit the data access inquiry of whether the data can be accessed when the other device requests the client device to directly transmit the data; and
a data transmitting unit operable to directly transmit the requested data to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
2. The access control system according to claim 1 , wherein
the access management list managed by the server contains which device can access which data managed by the client device,
the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested to be transmitted, and
in response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result.
3. The access control system according to claim 2 , wherein
the access management list further contains a time condition indicating an accessible time for each data, and
the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit.
4. The access control system according to claim 2 , wherein
the access management list further contains a number-of-times condition indicating the number of times of allowable access for each data, and
the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed.
5. The access control system according to claim 2 , wherein
the access management list further contains a duplicate condition indicating a duplication limitation provided for each data,
in response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplicate condition, and
the data transmitting unit directly transmits the requested data with the duplicate condition to the other device when the determination result received from the access enable/disable determining unit indicates that the data can be accessed.
6. The access control system according to claim 1 , wherein
the server is communicably connected to the client device through a proxy device.
7. The access control system according to claim 1 , wherein
the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry together with a first certificate that certifies the client device and a second certificate that certifies the other device, and
the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the first and second certificates, then determines whether the data can be accessed and sends the determination result.
8. The access control system according to claim 7 , wherein
the first and second certificates are X.509 certificates.
9. An access control system in which, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, it is determined whether the data can be accessed, the access control system comprising:
a server communicably connected to at least the second client device and managing an access management list containing which data can be accessed,
the server including an access enable/disable determining unit operable to determine, in response to a data access inquiry, whether the data can be accessed with reference to the access management list and sending a determination result, and
the second client device including
an access enable/disable inquiring unit operable to give the access enable/disable determining unit the data access inquiry about whether the data can be accessed when the second client device requests the first client device to directly transmit the data; and
a data requesting unit operable to give a request to the first client device for directly transmitting the data together with the determination result received from the access enable/disable determining unit when the determination result indicates that the data can be accessed,
the first client device including
a data transmitting unit operable to directly transmit the data requested by the data requesting unit to the second client device when the determination result received from the data requesting unit indicates that the data can be accessed, and
the second client device further including
a data receiving unit operable to directly receive the data transmitted from the data transmitting unit in response to the request given by the data requesting unit.
10. The access control system according to claim 9 , wherein
the access management list managed by the server contains which client device can access which data,
the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry for each data requested for transmission, and
in response to the data access inquiry given by the access enable/disable inquiring unit, the access enable/disable determining unit determines whether the data can be accessed, and sends the determination result.
11. The access control system according to claim 10 , wherein
the access management list further contains a time condition indicating an accessible time for each data, and
the access enable/disable determining unit determines whether the data can be accessed by referring to the time condition based on a time when the data access inquiry is received from the access enable/disable inquiring unit.
12. The access control system according to claim 10 , wherein
the access management list further contains a number-of-times condition indicating the number of times of allowable access for each data, and
the access enable/disable determining unit determines whether the data can be accessed by referring to the number-of-times condition based on how many times the data has been accessed.
13. The access control system according to claim 10 , wherein
the access management list further contains a duplicate condition indicating a duplication limitation provided for each data,
in response to the data access inquiry given by the access enable/disable inquiring unit, the data access enable/disable determining unit determines whether the data can be accessed, and sends the determination result and the duplication condition,
the data requesting unit gives the request to the first client device for directly transmitting the data, together with the determination result and the duplicate condition when the determination result received from the access enable/disable determining unit indicates that the data can be accessed,
the data transmitting unit directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition when the determination result received from the data requesting unit indicates that the data can be accessed, and
the data receiving unit directly receives the data transmitted from the data transmitting unit, the data restricted in further duplication by the duplication condition.
14. The access control system according to claim 9 , wherein
the server is communicably connected to the second client device through a proxy device.
15. The access control system according to claim 9 , wherein
the access enable/disable inquiring unit gives the access enable/disable determining unit the data access inquiry to request the first client device for directly transmitting the data, together with a certificate that certifies the second client device, and
the access enable/disable determining unit authenticates the data access inquiry given by the access enable/disable inquiring unit by using the certificate, then determines whether the data can be accessed and then sends the determination result.
16. The access control system according to claim 15 , wherein
the access enable/disable determining unit sends the determination result affixed with a signature for certifying that the determination result is from the server, and
the data requesting unit gives the first client device a request for directly transmitting the data together with the determination result affixed with the signature and the certificate, when the determination result received from the access enable/disable determining unit indicates that the data can be accessed, and
the data transmitting unit first authenticates the determination result received from the data requesting unit by using the signature affixed thereto, and then directly transmits, to the data receiving unit, the data requested from the data requesting unit and the duplicate condition, when the determination result indicates that the data can be accessed.
17. The access control system according to claim 15 , wherein
the certificate is an X.509 certificate.
18. A server for determining whether data managed by a plurality of client devices of end-users can be accessed when the data is directly transmitted and received among the client devices, the server comprising:
an access managing unit operable to manage an access management list containing which data can be accessed by which client device; and
an access enable/disable determining unit operable to determine, in response to a data access inquiry given by one client device, whether the data can be accessed with reference to the access management list managed by the access managing unit, and send a determination result to the client device that has given the data access inquiry.
19. A client device of an end-user, the client device causing a communicable server to determine whether data stored in the client device can be accessed when another device gives the client device a request for directly transmitting the data, the server managing an access management list that contains which data can be accessed, the client device comprising:
an access enable/disable inquiring unit operable to give the server an inquiry about whether the data can be accessed when the other device gives the client device the request for directly transmitting the data; and
a data transmitting unit operable to directly transmit the data as requested by the other device when the server determines, in response to the inquiry given by the access enable/disable inquiring unit, that the data can be accessed.
20. A client device of an end-user, the client device causing a communicable server to determine whether data stored in another device can be accessed when the client device gives the other device a request for direct transmitting the data, the server managing an access management list that contains which data can be accessed, the client device comprising:
an access enable/disable inquiring unit operable to give the server an inquiry about whether the data can be accessed when the client device gives the other device the request for directly transmitting the data; and
a data requesting unit operable to give the other device the request for directly transmitting the data, and also give a determination result received from the server when the determination result indicates that the data can be accessed in response to the inquiry given by the access enable/disable inquiring unit.
21. A client device of an end-user for directly transmitting data upon request from another device, the client device comprising:
a receiving unit operable to receive a request from the other device for directly transmitting the data, and a determination result indicating whether the data can be accessed, and
a data transmitting unit operable to directly transmit the data requested by the other device when the determination result received by the receiving unit indicates that the data can be accessed.
22. The client device according to claim 21 , wherein
the determination result is provided with a signature certifying the authenticity of the determination result, and
the data transmitting unit evaluates authenticity of the determination result by authenticating the signature provided on the determination result and, when the determination result is valid and indicates that the data can be accessed, directly transmits the data requested by the other device.
23. An access control method for causing, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, a server communicably connected to the client device to determine whether the data can be accessed, the access control method comprising the steps of:
managing, by the server, an access management list containing which data can be accessed; and
giving, by the client device, the server an inquiry about whether the data requested from the other device for direct transmission can be accessed;
determining, by the server, whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and sending a determination result to the client device; and
directly transmitting the requested data from the client device to the other device when the determination result obtained in the determining step indicates that the data can be accessed.
24. An access control method for causing, when a first client device of an end-user is requested from a second client device to directly transmit data stored in the first client device, a server communicably connected to a second client device to determine whether the data can be accessed, the access control method comprising the steps of:
managing, by the server, an access management list containing which data can be accessed;
giving, by the second client device, the server an inquiry about whether the data requested from the second client device to the first client device for direct transmission can be accessed;
determining, by the server, whether the data can be accessed with reference to the access management list managed in the access managing step in response to the inquiry in the inquiring step, and sending a determination result to the second client device;
giving, to the first client device, a request for directly transmitting the data and the determination result when the determination result sent in the determining step indicates that the data can be accessed;
directly transmitting the data requested in the request giving step from the first client device to the second client device when the determination result given in the request giving step indicates that the data can be accessed; and
directly receiving, by the second client device, the data transmitted from the first client device in the data transmitting step.
25. A recording medium recording an access control program for causing, when data managed by client devices of end-users is directly transmitted and received among the client devices, a server communicably connected to the client devices to determine whether the data can be accessed, the program readable by the server and comprising the steps of:
managing an access management list containing which data can be accessed by the respective client devices; and
determining whether the data can be accessed with reference to the access management list managed in the access managing step in response to a data access inquiry from the client device to the server as to direct transmission and reception of the data, and sending a determination result to the client device.
26. A recording medium recording an access control program for causing, when a client device of an end-user is requested from another device to directly transmit data stored in the client device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed, the recording medium readable by the client device and comprising the steps of:
giving the server an inquiry about whether the data can be accessed when the client device is requested from the other device to directly transmit the data; and
directly transmitting the requested data from the client device to the other device when a determination result received from the server indicates that the data can be accessed in response to the inquiry given in the inquiry giving step.
27. A recording medium recording an access control program for causing, when a client device of an end-user requests another device to directly transmit data stored in the other device, a communicable server to determine whether the data can be accessed, by using an access management list containing which data can be accessed, the recording medium readable by the client device and comprising the steps of:
giving the server an inquiry about whether the data can be accessed when the client device requests the other device to directly transmit the data; and
directly giving the other device a request for directly transmitting the data together with a determination result received from the server, when the determination result indicates that the data can be accessed in response to the inquiry given in the inquiry giving step.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-236030 | 2001-08-03 | ||
JP2001236030 | 2001-08-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030028639A1 true US20030028639A1 (en) | 2003-02-06 |
Family
ID=19067373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/208,751 Abandoned US20030028639A1 (en) | 2001-08-03 | 2002-08-01 | Access control system |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030028639A1 (en) |
EP (1) | EP1413116A1 (en) |
KR (1) | KR20040019328A (en) |
CN (1) | CN1284088C (en) |
WO (1) | WO2003013586A1 (en) |
Cited By (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040039781A1 (en) * | 2002-08-16 | 2004-02-26 | Lavallee David Anthony | Peer-to-peer content sharing method and system |
US20050071338A1 (en) * | 2003-09-30 | 2005-03-31 | Fujitsu Limited | Data file system, data access node, brain node, data access program storage medium and brain program storage medium |
WO2005081493A1 (en) * | 2004-02-19 | 2005-09-01 | Matsushita Electric Industrial Co., Ltd. | Connected communication terminal, connecting communication terminal, session management server and trigger server |
US20050289229A1 (en) * | 2004-06-11 | 2005-12-29 | Lg Electronics Inc. | Device management method for device management system |
WO2006000802A2 (en) * | 2004-06-28 | 2006-01-05 | Amteus Secure Communications Limited | Improvements relating to secure telecommunications |
US20060048228A1 (en) * | 2004-08-30 | 2006-03-02 | Kddi Corporation; Keio University | Communication system and security assurance device |
US20060179304A1 (en) * | 2002-03-30 | 2006-08-10 | Min-Gyu Han | Instant log-in method for authentificating a user and settling bills by using two different communication channels and a system thereof |
US20070083914A1 (en) * | 2004-04-28 | 2007-04-12 | Jonathan Griffin | Propagation of malicious code through an information technology network |
GB2431321A (en) * | 2005-10-12 | 2007-04-18 | Hewlett Packard Development Co | Restricting the propagation of malicious code through an information technology network |
US20070266155A1 (en) * | 2006-05-09 | 2007-11-15 | Fuji Xerox Co., Ltd. | Content Use Management System, Content-Providing System, Content-Using Device and Computer Readable Medium |
US20070265977A1 (en) * | 2006-05-12 | 2007-11-15 | Chris Read | Method and system for improved digital rights management |
US20070289024A1 (en) * | 2006-06-09 | 2007-12-13 | Microsoft Corporation Microsoft Patent Group | Controlling access to computer resources using conditions specified for user accounts |
US20070300310A1 (en) * | 2003-03-18 | 2007-12-27 | Sony Corporation Of Japan | Method and system for implementing digital rights management |
US20080059992A1 (en) * | 2006-09-06 | 2008-03-06 | Qurio Holdings, Inc. | System and method for controlled viral distribution of digital content in a social network |
US20080098105A1 (en) * | 2005-03-17 | 2008-04-24 | Fujitsu Limited | Method, apparatus, and system for communication-information management, wireless-communication device, and relay device |
US20080235140A1 (en) * | 2007-03-22 | 2008-09-25 | Sony Corporation | Digital Rights Management Dongle |
US20090265432A1 (en) * | 2005-09-01 | 2009-10-22 | Noriyuki Suehiro | Communication system and communication terminal |
US7698380B1 (en) | 2006-12-14 | 2010-04-13 | Qurio Holdings, Inc. | System and method of optimizing social networks and user levels based on prior network interactions |
CN1703001B (en) * | 2004-05-26 | 2010-05-26 | 索尼株式会社 | Program, communication device, data processing method, and communication system |
US7730216B1 (en) | 2006-12-14 | 2010-06-01 | Qurio Holdings, Inc. | System and method of sharing content among multiple social network nodes using an aggregation node |
US7764701B1 (en) | 2006-02-22 | 2010-07-27 | Qurio Holdings, Inc. | Methods, systems, and products for classifying peer systems |
US7779004B1 (en) | 2006-02-22 | 2010-08-17 | Qurio Holdings, Inc. | Methods, systems, and products for characterizing target systems |
US7782866B1 (en) | 2006-09-29 | 2010-08-24 | Qurio Holdings, Inc. | Virtual peer in a peer-to-peer network |
US7801971B1 (en) | 2006-09-26 | 2010-09-21 | Qurio Holdings, Inc. | Systems and methods for discovering, creating, using, and managing social network circuits |
US7873988B1 (en) | 2006-09-06 | 2011-01-18 | Qurio Holdings, Inc. | System and method for rights propagation and license management in conjunction with distribution of digital content in a social network |
US7925592B1 (en) | 2006-09-27 | 2011-04-12 | Qurio Holdings, Inc. | System and method of using a proxy server to manage lazy content distribution in a social network |
US20110113098A1 (en) * | 2006-12-11 | 2011-05-12 | Qurio Holdings, Inc. | System and method for social network trust assessment |
US20110138290A1 (en) * | 2009-12-04 | 2011-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for providing remote user interface list |
US20110321134A1 (en) * | 2010-06-28 | 2011-12-29 | Seigo Kotani | Consigning Authentication Method |
EP2424193A1 (en) * | 2010-08-26 | 2012-02-29 | Walton Advanced Engineering Inc. | Storage device for data sharing |
US20130208657A1 (en) * | 2008-02-25 | 2013-08-15 | Yoav Broshi | Method and system for facilitating communication |
US8548918B1 (en) | 2006-12-18 | 2013-10-01 | Qurio Holdings, Inc. | Methods and systems for automated content distribution |
US8554827B2 (en) | 2006-09-29 | 2013-10-08 | Qurio Holdings, Inc. | Virtual peer for a content sharing system |
CN103731830A (en) * | 2012-10-12 | 2014-04-16 | 中兴通讯股份有限公司 | Device-to-device communication management and check method, device and system |
CN103853986A (en) * | 2014-01-03 | 2014-06-11 | 李凤华 | Access control method and device |
US20140282886A1 (en) * | 2013-03-14 | 2014-09-18 | TollShare, Inc. | Content list sharing |
US9177163B1 (en) * | 2013-03-15 | 2015-11-03 | Google Inc. | Data access lockdown |
US20160226950A1 (en) * | 2015-01-30 | 2016-08-04 | Dropbox, Inc. | System and method for proactively sending hosted content items to user computing devices |
US20170054731A1 (en) * | 2011-09-29 | 2017-02-23 | Apple Inc | Indirect authentication |
US10142835B2 (en) | 2011-09-29 | 2018-11-27 | Apple Inc. | Authentication with secondary approver |
US10178234B2 (en) | 2014-05-30 | 2019-01-08 | Apple, Inc. | User interface for phone call routing among devices |
US20190087277A1 (en) * | 2017-09-20 | 2019-03-21 | Microsoft Technology Licensing, Llc | File exchange by maintaining copy of file system data |
US10262182B2 (en) | 2013-09-09 | 2019-04-16 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs |
US10334054B2 (en) | 2016-05-19 | 2019-06-25 | Apple Inc. | User interface for a device requesting remote authorization |
US20190196778A1 (en) * | 2015-05-19 | 2019-06-27 | Spotify Ab | Accessibility Management System for Media Content Items |
US10395128B2 (en) | 2017-09-09 | 2019-08-27 | Apple Inc. | Implementation of biometric authentication |
US10438205B2 (en) | 2014-05-29 | 2019-10-08 | Apple Inc. | User interface for payments |
US10496808B2 (en) | 2016-10-25 | 2019-12-03 | Apple Inc. | User interface for managing access to credentials for use in an operation |
US10521579B2 (en) | 2017-09-09 | 2019-12-31 | Apple Inc. | Implementation of biometric authentication |
CN110765444A (en) * | 2019-09-23 | 2020-02-07 | 云深互联(北京)科技有限公司 | Enterprise browser access permission configuration method and device |
US10860096B2 (en) | 2018-09-28 | 2020-12-08 | Apple Inc. | Device control using gaze information |
US10956550B2 (en) | 2007-09-24 | 2021-03-23 | Apple Inc. | Embedded authentication systems in an electronic device |
US10992795B2 (en) | 2017-05-16 | 2021-04-27 | Apple Inc. | Methods and interfaces for home media control |
US10996917B2 (en) | 2019-05-31 | 2021-05-04 | Apple Inc. | User interfaces for audio media control |
US11037150B2 (en) | 2016-06-12 | 2021-06-15 | Apple Inc. | User interfaces for transactions |
US11074572B2 (en) | 2016-09-06 | 2021-07-27 | Apple Inc. | User interfaces for stored-value accounts |
US11100349B2 (en) | 2018-09-28 | 2021-08-24 | Apple Inc. | Audio assisted enrollment |
US11126704B2 (en) | 2014-08-15 | 2021-09-21 | Apple Inc. | Authenticated device used to unlock another device |
US11170085B2 (en) | 2018-06-03 | 2021-11-09 | Apple Inc. | Implementation of biometric authentication |
US11283916B2 (en) | 2017-05-16 | 2022-03-22 | Apple Inc. | Methods and interfaces for configuring a device in accordance with an audio tone signal |
US11392291B2 (en) | 2020-09-25 | 2022-07-19 | Apple Inc. | Methods and interfaces for media control with dynamic feedback |
US11431836B2 (en) | 2017-05-02 | 2022-08-30 | Apple Inc. | Methods and interfaces for initiating media playback |
US11481769B2 (en) | 2016-06-11 | 2022-10-25 | Apple Inc. | User interface for transactions |
US11539831B2 (en) | 2013-03-15 | 2022-12-27 | Apple Inc. | Providing remote interactions with host device using a wireless device |
US11620103B2 (en) | 2019-05-31 | 2023-04-04 | Apple Inc. | User interfaces for audio media control |
US11676373B2 (en) | 2008-01-03 | 2023-06-13 | Apple Inc. | Personal computing device control using face detection and recognition |
US11683408B2 (en) | 2017-05-16 | 2023-06-20 | Apple Inc. | Methods and interfaces for home media control |
US11784956B2 (en) | 2021-09-20 | 2023-10-10 | Apple Inc. | Requests to add assets to an asset account |
US11816194B2 (en) | 2020-06-21 | 2023-11-14 | Apple Inc. | User interfaces for managing secure operations |
US11847378B2 (en) | 2021-06-06 | 2023-12-19 | Apple Inc. | User interfaces for audio routing |
US11907013B2 (en) | 2014-05-30 | 2024-02-20 | Apple Inc. | Continuity of applications across devices |
US12002042B2 (en) | 2016-06-11 | 2024-06-04 | Apple, Inc | User interface for transactions |
US12079458B2 (en) | 2016-09-23 | 2024-09-03 | Apple Inc. | Image data for enhanced user interactions |
US12099586B2 (en) | 2021-01-25 | 2024-09-24 | Apple Inc. | Implementation of biometric authentication |
US12210603B2 (en) | 2021-03-04 | 2025-01-28 | Apple Inc. | User interface for enrolling a biometric feature |
US12216754B2 (en) | 2021-05-10 | 2025-02-04 | Apple Inc. | User interfaces for authenticating to perform secure operations |
US12262111B2 (en) | 2011-06-05 | 2025-03-25 | Apple Inc. | Device, method, and graphical user interface for accessing an application in a locked device |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005050286A (en) | 2003-07-31 | 2005-02-24 | Fujitsu Ltd | Network node machine and information network system |
WO2005098730A2 (en) * | 2004-03-26 | 2005-10-20 | Siemens Medical Solutions Health Services Corporation | A system supporting exchange of medical data and images between different executable applications |
CN102385904A (en) * | 2010-09-06 | 2012-03-21 | 华东科技股份有限公司 | Storage device with data sharing function |
CN105337931B (en) * | 2014-06-30 | 2019-08-20 | 北京新媒传信科技有限公司 | A kind of limit control method and distributed limit control system |
CN104636275B (en) * | 2014-12-30 | 2018-02-23 | 北京兆易创新科技股份有限公司 | The information protecting method and device of a kind of MCU chip |
JP6985608B2 (en) * | 2018-03-29 | 2021-12-22 | 株式会社バッファロー | Communication equipment, operation method of communication equipment, operation program of communication equipment |
CN110135174A (en) * | 2019-04-22 | 2019-08-16 | 佛山职业技术学院 | A kind of file encrypting method, electronic equipment and external equipment |
CN110519306B (en) * | 2019-10-09 | 2022-02-08 | 三星电子(中国)研发中心 | Equipment access control method and device of Internet of things |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061796A (en) * | 1997-08-26 | 2000-05-09 | V-One Corporation | Multi-access virtual private network |
US6145084A (en) * | 1998-10-08 | 2000-11-07 | Net I Trust | Adaptive communication system enabling dissimilar devices to exchange information over a network |
US20020124053A1 (en) * | 2000-12-28 | 2002-09-05 | Robert Adams | Control of access control lists based on social networks |
US6510464B1 (en) * | 1999-12-14 | 2003-01-21 | Verizon Corporate Services Group Inc. | Secure gateway having routing feature |
-
2002
- 2002-07-31 KR KR10-2004-7000494A patent/KR20040019328A/en not_active Application Discontinuation
- 2002-07-31 CN CNB028151208A patent/CN1284088C/en not_active Expired - Fee Related
- 2002-07-31 EP EP02746152A patent/EP1413116A1/en not_active Withdrawn
- 2002-07-31 WO PCT/JP2002/007795 patent/WO2003013586A1/en active Application Filing
- 2002-08-01 US US10/208,751 patent/US20030028639A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061796A (en) * | 1997-08-26 | 2000-05-09 | V-One Corporation | Multi-access virtual private network |
US6145084A (en) * | 1998-10-08 | 2000-11-07 | Net I Trust | Adaptive communication system enabling dissimilar devices to exchange information over a network |
US6510464B1 (en) * | 1999-12-14 | 2003-01-21 | Verizon Corporate Services Group Inc. | Secure gateway having routing feature |
US20020124053A1 (en) * | 2000-12-28 | 2002-09-05 | Robert Adams | Control of access control lists based on social networks |
Cited By (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179304A1 (en) * | 2002-03-30 | 2006-08-10 | Min-Gyu Han | Instant log-in method for authentificating a user and settling bills by using two different communication channels and a system thereof |
US8024567B2 (en) * | 2002-03-30 | 2011-09-20 | Momocash Inc. | Instant log-in method for authentificating a user and settling bills by using two different communication channels and a system thereof |
US20040039781A1 (en) * | 2002-08-16 | 2004-02-26 | Lavallee David Anthony | Peer-to-peer content sharing method and system |
US20070300310A1 (en) * | 2003-03-18 | 2007-12-27 | Sony Corporation Of Japan | Method and system for implementing digital rights management |
US7284001B2 (en) * | 2003-09-30 | 2007-10-16 | Fujitsu Limited | Data file system, data access node, brain node, data access program storage medium and brain program storage medium |
US20050071338A1 (en) * | 2003-09-30 | 2005-03-31 | Fujitsu Limited | Data file system, data access node, brain node, data access program storage medium and brain program storage medium |
US7680120B2 (en) * | 2004-02-19 | 2010-03-16 | Panasonic Corporation | Connected communication terminal, connecting communication terminal, session management server and trigger server |
US20070104180A1 (en) * | 2004-02-19 | 2007-05-10 | Kazuhiro Aizu | Connected communication terminal, connecting communication terminal, session management server and trigger server |
WO2005081493A1 (en) * | 2004-02-19 | 2005-09-01 | Matsushita Electric Industrial Co., Ltd. | Connected communication terminal, connecting communication terminal, session management server and trigger server |
US20070083914A1 (en) * | 2004-04-28 | 2007-04-12 | Jonathan Griffin | Propagation of malicious code through an information technology network |
US20110173675A9 (en) * | 2004-04-28 | 2011-07-14 | Jonathan Griffin | Propagation of malicious code through an information technology network |
US9143524B2 (en) | 2004-04-28 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Propagation of malicious code through an information technology network |
CN1703001B (en) * | 2004-05-26 | 2010-05-26 | 索尼株式会社 | Program, communication device, data processing method, and communication system |
US7747722B2 (en) * | 2004-06-11 | 2010-06-29 | Lg Electronics Inc. | Device management method for device management system |
US20050289229A1 (en) * | 2004-06-11 | 2005-12-29 | Lg Electronics Inc. | Device management method for device management system |
WO2006000802A3 (en) * | 2004-06-28 | 2006-06-15 | Amteus Secure Comm Ltd | Improvements relating to secure telecommunications |
WO2006000802A2 (en) * | 2004-06-28 | 2006-01-05 | Amteus Secure Communications Limited | Improvements relating to secure telecommunications |
US20060048228A1 (en) * | 2004-08-30 | 2006-03-02 | Kddi Corporation; Keio University | Communication system and security assurance device |
US7673334B2 (en) * | 2004-08-30 | 2010-03-02 | Kddi Corporation | Communication system and security assurance device |
US20080098105A1 (en) * | 2005-03-17 | 2008-04-24 | Fujitsu Limited | Method, apparatus, and system for communication-information management, wireless-communication device, and relay device |
US20090265432A1 (en) * | 2005-09-01 | 2009-10-22 | Noriyuki Suehiro | Communication system and communication terminal |
GB2431321B (en) * | 2005-10-12 | 2010-06-09 | Hewlett Packard Development Co | Propagation of malicious code through an information technology network |
GB2431321A (en) * | 2005-10-12 | 2007-04-18 | Hewlett Packard Development Co | Restricting the propagation of malicious code through an information technology network |
US7779004B1 (en) | 2006-02-22 | 2010-08-17 | Qurio Holdings, Inc. | Methods, systems, and products for characterizing target systems |
US7764701B1 (en) | 2006-02-22 | 2010-07-27 | Qurio Holdings, Inc. | Methods, systems, and products for classifying peer systems |
US8065743B2 (en) * | 2006-05-09 | 2011-11-22 | Fuji Xerox Co., Ltd. | Content use management system, content-providing system, content-using device and computer readable medium |
US20070266155A1 (en) * | 2006-05-09 | 2007-11-15 | Fuji Xerox Co., Ltd. | Content Use Management System, Content-Providing System, Content-Using Device and Computer Readable Medium |
US20070265977A1 (en) * | 2006-05-12 | 2007-11-15 | Chris Read | Method and system for improved digital rights management |
US20070289024A1 (en) * | 2006-06-09 | 2007-12-13 | Microsoft Corporation Microsoft Patent Group | Controlling access to computer resources using conditions specified for user accounts |
US20080059992A1 (en) * | 2006-09-06 | 2008-03-06 | Qurio Holdings, Inc. | System and method for controlled viral distribution of digital content in a social network |
US7873988B1 (en) | 2006-09-06 | 2011-01-18 | Qurio Holdings, Inc. | System and method for rights propagation and license management in conjunction with distribution of digital content in a social network |
US7992171B2 (en) | 2006-09-06 | 2011-08-02 | Qurio Holdings, Inc. | System and method for controlled viral distribution of digital content in a social network |
US7801971B1 (en) | 2006-09-26 | 2010-09-21 | Qurio Holdings, Inc. | Systems and methods for discovering, creating, using, and managing social network circuits |
US7925592B1 (en) | 2006-09-27 | 2011-04-12 | Qurio Holdings, Inc. | System and method of using a proxy server to manage lazy content distribution in a social network |
US8554827B2 (en) | 2006-09-29 | 2013-10-08 | Qurio Holdings, Inc. | Virtual peer for a content sharing system |
US7782866B1 (en) | 2006-09-29 | 2010-08-24 | Qurio Holdings, Inc. | Virtual peer in a peer-to-peer network |
US8739296B2 (en) | 2006-12-11 | 2014-05-27 | Qurio Holdings, Inc. | System and method for social network trust assessment |
US20110113098A1 (en) * | 2006-12-11 | 2011-05-12 | Qurio Holdings, Inc. | System and method for social network trust assessment |
US8276207B2 (en) | 2006-12-11 | 2012-09-25 | Qurio Holdings, Inc. | System and method for social network trust assessment |
US7730216B1 (en) | 2006-12-14 | 2010-06-01 | Qurio Holdings, Inc. | System and method of sharing content among multiple social network nodes using an aggregation node |
US7698380B1 (en) | 2006-12-14 | 2010-04-13 | Qurio Holdings, Inc. | System and method of optimizing social networks and user levels based on prior network interactions |
US8548918B1 (en) | 2006-12-18 | 2013-10-01 | Qurio Holdings, Inc. | Methods and systems for automated content distribution |
US8296240B2 (en) | 2007-03-22 | 2012-10-23 | Sony Corporation | Digital rights management dongle |
US20080235140A1 (en) * | 2007-03-22 | 2008-09-25 | Sony Corporation | Digital Rights Management Dongle |
US11468155B2 (en) | 2007-09-24 | 2022-10-11 | Apple Inc. | Embedded authentication systems in an electronic device |
US10956550B2 (en) | 2007-09-24 | 2021-03-23 | Apple Inc. | Embedded authentication systems in an electronic device |
US11676373B2 (en) | 2008-01-03 | 2023-06-13 | Apple Inc. | Personal computing device control using face detection and recognition |
US20130208657A1 (en) * | 2008-02-25 | 2013-08-15 | Yoav Broshi | Method and system for facilitating communication |
US20110138290A1 (en) * | 2009-12-04 | 2011-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for providing remote user interface list |
US8914727B2 (en) * | 2009-12-04 | 2014-12-16 | Samsung Electronics Co., Ltd | Method and apparatus for providing remote user interface list |
US20110321134A1 (en) * | 2010-06-28 | 2011-12-29 | Seigo Kotani | Consigning Authentication Method |
US9467448B2 (en) * | 2010-06-28 | 2016-10-11 | Fujitsu Limited | Consigning authentication method |
KR101294202B1 (en) * | 2010-08-26 | 2013-08-07 | 왈톤 어드밴스드 엔지니어링 인크. | Storage device for data sharing |
EP2424193A1 (en) * | 2010-08-26 | 2012-02-29 | Walton Advanced Engineering Inc. | Storage device for data sharing |
US12262111B2 (en) | 2011-06-05 | 2025-03-25 | Apple Inc. | Device, method, and graphical user interface for accessing an application in a locked device |
US20170054731A1 (en) * | 2011-09-29 | 2017-02-23 | Apple Inc | Indirect authentication |
US11755712B2 (en) | 2011-09-29 | 2023-09-12 | Apple Inc. | Authentication with secondary approver |
US10516997B2 (en) | 2011-09-29 | 2019-12-24 | Apple Inc. | Authentication with secondary approver |
US10142835B2 (en) | 2011-09-29 | 2018-11-27 | Apple Inc. | Authentication with secondary approver |
US10484384B2 (en) * | 2011-09-29 | 2019-11-19 | Apple Inc. | Indirect authentication |
US10419933B2 (en) | 2011-09-29 | 2019-09-17 | Apple Inc. | Authentication with secondary approver |
US11200309B2 (en) | 2011-09-29 | 2021-12-14 | Apple Inc. | Authentication with secondary approver |
CN103731830A (en) * | 2012-10-12 | 2014-04-16 | 中兴通讯股份有限公司 | Device-to-device communication management and check method, device and system |
US20140282886A1 (en) * | 2013-03-14 | 2014-09-18 | TollShare, Inc. | Content list sharing |
US11539831B2 (en) | 2013-03-15 | 2022-12-27 | Apple Inc. | Providing remote interactions with host device using a wireless device |
US9177163B1 (en) * | 2013-03-15 | 2015-11-03 | Google Inc. | Data access lockdown |
US11494046B2 (en) | 2013-09-09 | 2022-11-08 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs |
US11768575B2 (en) | 2013-09-09 | 2023-09-26 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs |
US10410035B2 (en) | 2013-09-09 | 2019-09-10 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs |
US10803281B2 (en) | 2013-09-09 | 2020-10-13 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs |
US10372963B2 (en) | 2013-09-09 | 2019-08-06 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on fingerprint sensor inputs |
US11287942B2 (en) | 2013-09-09 | 2022-03-29 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces |
US10262182B2 (en) | 2013-09-09 | 2019-04-16 | Apple Inc. | Device, method, and graphical user interface for manipulating user interfaces based on unlock inputs |
CN103853986A (en) * | 2014-01-03 | 2014-06-11 | 李凤华 | Access control method and device |
US10438205B2 (en) | 2014-05-29 | 2019-10-08 | Apple Inc. | User interface for payments |
US11836725B2 (en) | 2014-05-29 | 2023-12-05 | Apple Inc. | User interface for payments |
US10977651B2 (en) | 2014-05-29 | 2021-04-13 | Apple Inc. | User interface for payments |
US10902424B2 (en) | 2014-05-29 | 2021-01-26 | Apple Inc. | User interface for payments |
US10748153B2 (en) | 2014-05-29 | 2020-08-18 | Apple Inc. | User interface for payments |
US10796309B2 (en) | 2014-05-29 | 2020-10-06 | Apple Inc. | User interface for payments |
US10616416B2 (en) | 2014-05-30 | 2020-04-07 | Apple Inc. | User interface for phone call routing among devices |
US11907013B2 (en) | 2014-05-30 | 2024-02-20 | Apple Inc. | Continuity of applications across devices |
US10178234B2 (en) | 2014-05-30 | 2019-01-08 | Apple, Inc. | User interface for phone call routing among devices |
US11126704B2 (en) | 2014-08-15 | 2021-09-21 | Apple Inc. | Authenticated device used to unlock another device |
US20160226950A1 (en) * | 2015-01-30 | 2016-08-04 | Dropbox, Inc. | System and method for proactively sending hosted content items to user computing devices |
US10887373B2 (en) * | 2015-01-30 | 2021-01-05 | Dropbox, Inc. | Proactively sending hosted content items to user computing devices |
US20180084031A1 (en) * | 2015-01-30 | 2018-03-22 | Dropbox, Inc. | Proactively sending hosted content items to user computing devices |
US9848033B2 (en) * | 2015-01-30 | 2017-12-19 | Dropbox, Inc. | System and method for proactively sending hosted content items to user computing devices |
US11262973B2 (en) * | 2015-05-19 | 2022-03-01 | Spotify Ab | Accessibility management system for media content items |
US20190196778A1 (en) * | 2015-05-19 | 2019-06-27 | Spotify Ab | Accessibility Management System for Media Content Items |
US10334054B2 (en) | 2016-05-19 | 2019-06-25 | Apple Inc. | User interface for a device requesting remote authorization |
US10749967B2 (en) | 2016-05-19 | 2020-08-18 | Apple Inc. | User interface for remote authorization |
US11206309B2 (en) | 2016-05-19 | 2021-12-21 | Apple Inc. | User interface for remote authorization |
US11481769B2 (en) | 2016-06-11 | 2022-10-25 | Apple Inc. | User interface for transactions |
US12002042B2 (en) | 2016-06-11 | 2024-06-04 | Apple, Inc | User interface for transactions |
US11037150B2 (en) | 2016-06-12 | 2021-06-15 | Apple Inc. | User interfaces for transactions |
US11900372B2 (en) | 2016-06-12 | 2024-02-13 | Apple Inc. | User interfaces for transactions |
US11074572B2 (en) | 2016-09-06 | 2021-07-27 | Apple Inc. | User interfaces for stored-value accounts |
US12165127B2 (en) | 2016-09-06 | 2024-12-10 | Apple Inc. | User interfaces for stored-value accounts |
US12079458B2 (en) | 2016-09-23 | 2024-09-03 | Apple Inc. | Image data for enhanced user interactions |
US11995171B2 (en) | 2016-10-25 | 2024-05-28 | Apple Inc. | User interface for managing access to credentials for use in an operation |
US11574041B2 (en) | 2016-10-25 | 2023-02-07 | Apple Inc. | User interface for managing access to credentials for use in an operation |
US10496808B2 (en) | 2016-10-25 | 2019-12-03 | Apple Inc. | User interface for managing access to credentials for use in an operation |
US11431836B2 (en) | 2017-05-02 | 2022-08-30 | Apple Inc. | Methods and interfaces for initiating media playback |
US11412081B2 (en) | 2017-05-16 | 2022-08-09 | Apple Inc. | Methods and interfaces for configuring an electronic device to initiate playback of media |
US11683408B2 (en) | 2017-05-16 | 2023-06-20 | Apple Inc. | Methods and interfaces for home media control |
US10992795B2 (en) | 2017-05-16 | 2021-04-27 | Apple Inc. | Methods and interfaces for home media control |
US12107985B2 (en) | 2017-05-16 | 2024-10-01 | Apple Inc. | Methods and interfaces for home media control |
US12244755B2 (en) | 2017-05-16 | 2025-03-04 | Apple Inc. | Methods and interfaces for configuring a device in accordance with an audio tone signal |
US11750734B2 (en) | 2017-05-16 | 2023-09-05 | Apple Inc. | Methods for initiating output of at least a component of a signal representative of media currently being played back by another device |
US11283916B2 (en) | 2017-05-16 | 2022-03-22 | Apple Inc. | Methods and interfaces for configuring a device in accordance with an audio tone signal |
US11201961B2 (en) | 2017-05-16 | 2021-12-14 | Apple Inc. | Methods and interfaces for adjusting the volume of media |
US11095766B2 (en) | 2017-05-16 | 2021-08-17 | Apple Inc. | Methods and interfaces for adjusting an audible signal based on a spatial position of a voice command source |
US10521579B2 (en) | 2017-09-09 | 2019-12-31 | Apple Inc. | Implementation of biometric authentication |
US10872256B2 (en) | 2017-09-09 | 2020-12-22 | Apple Inc. | Implementation of biometric authentication |
US11393258B2 (en) | 2017-09-09 | 2022-07-19 | Apple Inc. | Implementation of biometric authentication |
US10395128B2 (en) | 2017-09-09 | 2019-08-27 | Apple Inc. | Implementation of biometric authentication |
US10783227B2 (en) | 2017-09-09 | 2020-09-22 | Apple Inc. | Implementation of biometric authentication |
US11386189B2 (en) | 2017-09-09 | 2022-07-12 | Apple Inc. | Implementation of biometric authentication |
US11765163B2 (en) | 2017-09-09 | 2023-09-19 | Apple Inc. | Implementation of biometric authentication |
US10410076B2 (en) | 2017-09-09 | 2019-09-10 | Apple Inc. | Implementation of biometric authentication |
US20190087277A1 (en) * | 2017-09-20 | 2019-03-21 | Microsoft Technology Licensing, Llc | File exchange by maintaining copy of file system data |
US11074137B2 (en) * | 2017-09-20 | 2021-07-27 | Microsoft Technology Licensing, Llc | File exchange by maintaining copy of file system data |
US11928200B2 (en) | 2018-06-03 | 2024-03-12 | Apple Inc. | Implementation of biometric authentication |
US12189748B2 (en) | 2018-06-03 | 2025-01-07 | Apple Inc. | Implementation of biometric authentication |
US11170085B2 (en) | 2018-06-03 | 2021-11-09 | Apple Inc. | Implementation of biometric authentication |
US12124770B2 (en) | 2018-09-28 | 2024-10-22 | Apple Inc. | Audio assisted enrollment |
US11809784B2 (en) | 2018-09-28 | 2023-11-07 | Apple Inc. | Audio assisted enrollment |
US12105874B2 (en) | 2018-09-28 | 2024-10-01 | Apple Inc. | Device control using gaze information |
US11100349B2 (en) | 2018-09-28 | 2021-08-24 | Apple Inc. | Audio assisted enrollment |
US10860096B2 (en) | 2018-09-28 | 2020-12-08 | Apple Inc. | Device control using gaze information |
US11619991B2 (en) | 2018-09-28 | 2023-04-04 | Apple Inc. | Device control using gaze information |
US11620103B2 (en) | 2019-05-31 | 2023-04-04 | Apple Inc. | User interfaces for audio media control |
US11010121B2 (en) | 2019-05-31 | 2021-05-18 | Apple Inc. | User interfaces for audio media control |
US11755273B2 (en) | 2019-05-31 | 2023-09-12 | Apple Inc. | User interfaces for audio media control |
US12223228B2 (en) | 2019-05-31 | 2025-02-11 | Apple Inc. | User interfaces for audio media control |
US10996917B2 (en) | 2019-05-31 | 2021-05-04 | Apple Inc. | User interfaces for audio media control |
US11853646B2 (en) | 2019-05-31 | 2023-12-26 | Apple Inc. | User interfaces for audio media control |
CN110765444A (en) * | 2019-09-23 | 2020-02-07 | 云深互联(北京)科技有限公司 | Enterprise browser access permission configuration method and device |
US11816194B2 (en) | 2020-06-21 | 2023-11-14 | Apple Inc. | User interfaces for managing secure operations |
US12112037B2 (en) | 2020-09-25 | 2024-10-08 | Apple Inc. | Methods and interfaces for media control with dynamic feedback |
US11782598B2 (en) | 2020-09-25 | 2023-10-10 | Apple Inc. | Methods and interfaces for media control with dynamic feedback |
US11392291B2 (en) | 2020-09-25 | 2022-07-19 | Apple Inc. | Methods and interfaces for media control with dynamic feedback |
US12099586B2 (en) | 2021-01-25 | 2024-09-24 | Apple Inc. | Implementation of biometric authentication |
US12210603B2 (en) | 2021-03-04 | 2025-01-28 | Apple Inc. | User interface for enrolling a biometric feature |
US12216754B2 (en) | 2021-05-10 | 2025-02-04 | Apple Inc. | User interfaces for authenticating to perform secure operations |
US11847378B2 (en) | 2021-06-06 | 2023-12-19 | Apple Inc. | User interfaces for audio routing |
US11784956B2 (en) | 2021-09-20 | 2023-10-10 | Apple Inc. | Requests to add assets to an asset account |
Also Published As
Publication number | Publication date |
---|---|
WO2003013586B1 (en) | 2004-02-19 |
CN1284088C (en) | 2006-11-08 |
EP1413116A1 (en) | 2004-04-28 |
WO2003013586A8 (en) | 2003-11-13 |
CN1604791A (en) | 2005-04-06 |
WO2003013586A1 (en) | 2003-02-20 |
KR20040019328A (en) | 2004-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030028639A1 (en) | Access control system | |
JP5100286B2 (en) | Cryptographic module selection device and program | |
US8848923B2 (en) | Key distribution scheme for networks of information | |
EP1676281B1 (en) | Efficient management of cryptographic key generations | |
US8181266B2 (en) | Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device | |
CN101872399B (en) | Dynamic digital copyright protection method based on dual identity authentication | |
JP4280036B2 (en) | Access right control system | |
US7823187B2 (en) | Communication processing method and system relating to authentication information | |
Shi et al. | BacS: a blockchain-based access control scheme in distributed internet of things | |
US20100098248A1 (en) | Device and method of generating and distributing access permission to digital object | |
KR20050057416A (en) | Dynamic negotiation of security arrangements between web services | |
JP2009086802A (en) | Mediation method and system for authentication | |
KR20210064675A (en) | Security system for data trading and data storage based on block chain and method therefor | |
CN111193755B (en) | Data access method, data encryption method and data encryption and access system | |
JP5012574B2 (en) | Common key automatic sharing system and common key automatic sharing method | |
US20050021469A1 (en) | System and method for securing content copyright | |
JP2004302835A (en) | Digital contents managing system, user terminal device and rights management method | |
JPH11331145A (en) | Information sharing system, information preserving device, information processing method and recording medium therefor | |
Yeh et al. | Applying lightweight directory access protocol service on session certification authority | |
Charanya et al. | Attribute based encryption for secure sharing of E-health data | |
CN114567426B (en) | Data sharing method and system | |
JP2004537764A (en) | A method for generating a dedicated virtual network using a public network | |
CN113239376A (en) | Data sharing method, request method and device based on block chain | |
KR20120136956A (en) | Method of providing a contents service in p2p network through selection of a sender | |
EP1833216B1 (en) | Method and system for mediation of authentication within a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YAMAMOTO, MASAYA;OKAMOTO, RYUICHI;OHO, MASAHIRO;REEL/FRAME:013164/0069 Effective date: 20020726 |
|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |