WO2018109897A1 - アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム - Google Patents

アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
WO2018109897A1
WO2018109897A1 PCT/JP2016/087381 JP2016087381W WO2018109897A1 WO 2018109897 A1 WO2018109897 A1 WO 2018109897A1 JP 2016087381 W JP2016087381 W JP 2016087381W WO 2018109897 A1 WO2018109897 A1 WO 2018109897A1
Authority
WO
WIPO (PCT)
Prior art keywords
access token
recipient
value
secret information
unit
Prior art date
Application number
PCT/JP2016/087381
Other languages
English (en)
French (fr)
Inventor
光 土田
健吾 森
寿幸 一色
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2018556117A priority Critical patent/JP6635323B2/ja
Priority to US16/468,336 priority patent/US11895240B2/en
Priority to PCT/JP2016/087381 priority patent/WO2018109897A1/ja
Publication of WO2018109897A1 publication Critical patent/WO2018109897A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Definitions

  • the present invention relates to an access token system, an information processing apparatus, an information processing method, and an information processing program.
  • Patent Document 1 discloses a technology related to an access token system as a prerequisite technology.
  • Patent Document 2 discloses a technique related to key generation in RSA encryption.
  • Patent Document 3 discloses a technique for giving a user authentication key to a hash function.
  • Patent Document 4 discloses a technique for authenticating a client using client authentication information registered in advance in a server.
  • Patent Document 5 discloses a technique for preventing unauthorized access to an IC chip.
  • Non-Patent Documents 1 to 4 disclose an access token system as a prerequisite technology.
  • Non-Patent Document 5 discloses a technique related to HMAC (Hash-based Message Authentication Code) as a digital signature.
  • HMAC Hash-based Message Authentication Code
  • Non-Patent Document 6 discloses an access token obtained by Base64 encoding a file in a JSON (JavaScript (registered trademark) Object Notation) format.
  • Non-Patent Document 7 discloses a technology related to a URL (Uniform Resource Locator) as an access token.
  • Non-Patent Document 8 discloses a technique related to Cookie as an access token.
  • An object of the present invention is to provide a technique for solving the above-described problems.
  • an access token system provides: Generating means for generating a recipient-specified access token designated by the recipient using the confidential information of the recipient and providing the generated token to the user; Verification means for verifying that the user accessing with the recipient-specified access token is a designated recipient; Equipped with.
  • an information processing apparatus provides: Using the recipient's confidential information, a recipient-designated access token designated by the recipient is generated and provided to the user.
  • an information processing method includes: And generating a recipient-specified access token specified by the recipient using the secret information of the recipient and providing the generated token to the user.
  • an information processing program provides: Using the recipient's confidential information, the recipient generates a recipient-specified access token specified by the recipient, and causes the computer to execute a generation step that is provided to the user.
  • the recipient of the access token since the recipient of the access token is specified, unauthorized distribution of the access token can be prevented.
  • the access token system 100 is an access token system that can prevent unauthorized distribution of access tokens.
  • the access token system 100 includes a generation unit 101 and a verification unit 102.
  • the generation unit 101 generates a recipient-designated access token designated by the recipient using the recipient's confidential information and provides it to the user.
  • the verification unit 102 verifies that the user who accesses using the recipient designated access token is the designated recipient.
  • the recipient-specified access token in which the recipient is specified in the access token is generated, unauthorized distribution of the access token can be prevented.
  • the access token system 900 includes a generation device 901 that generates an access token and a verification device 902 that verifies the validity of the access token.
  • the generation apparatus 901 stores in advance a means for acquiring a signature key and time information in a digital signature.
  • the verification device 902 stores in advance means for acquiring a verification key and time information in a digital signature.
  • An example of a conventional access token system is described in Patent Document 1, Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3, and Non-Patent Document 4.
  • the generation device in the access token system described in Non-Patent Document 1 operates as shown in FIG.
  • the generation apparatus receives an access token to a resource to which authority is delegated and a valid period input (step S1001).
  • the generation device 901 sets an expiration date by using an input of a valid period and means for acquiring time information (step S1003).
  • the generating device generates a policy by using the access token to the resource to which authority is delegated and the expiration date generated in step 2 (step S1005).
  • the generation device generates a digital signature from the pre-stored signature key and Policy (step S1007).
  • the generating apparatus generates an access token by linking the digital signature generated from Policy and Policy (step S1009).
  • the verification device in the access token system described in Non-Patent Document 1 operates as shown in FIG.
  • the verification device receives an input of an access token (step S1101).
  • the verification device determines whether the access token received as input is valid within the expiration date from the means for acquiring the expiration date included in the access token received as input and the time information stored in advance (step S1103). ).
  • the verification device verifies whether the digital signature is valid from the digital signature included in the access token received as input and the verification key stored in advance (step S1105).
  • the verification device permits access to the target resource (step S1107).
  • Non-Patent Document 1 There are two main types of access token systems. One is that the signature key stored in the generation apparatus is different from the verification key stored in the verification apparatus, and is described in Non-Patent Document 1 and Non-Patent Document 2. The other is that the signature key stored in the generation device and the verification key stored in the verification device are the same, and are described in Non-Patent Document 3 and Non-Patent Document 4.
  • This problem is pointed out in Non-Patent Document 3.
  • a countermeasure is provided by setting the expiration date of the access token to be short, but it has not been possible to prevent the occurrence of the cross-flow itself.
  • Non-Patent Document 1 In the access token system described in Patent Document 1, Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3, and Non-Patent Document 4 described above, the access token issuer's intention is obtained by illegally distributing the access token. There was a problem that authority delegation did not occur. This is because no recipient is specified for the access token.
  • Non-Patent Document 1 In the access token systems described in Patent Document 1, Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3, and Non-Patent Document 4 described above, the expiration date is shortened to prevent unauthorized distribution of access tokens. There was a problem that it was unavoidable.
  • FIG. 2 is a block diagram showing a configuration of the access token system 200 according to the present embodiment.
  • the access token system 200 includes a generation device 201, a verification device 202, a request device 203, and an authentication response device 204.
  • the generation device 201, the verification device 202, and the request device 203 are connected via an external network. It is connected so that communication is possible.
  • the request device 203 and the authentication response device 204 are connected so as to be communicable.
  • FIG. 3 is a block diagram illustrating the configuration of the generation device 201 of the access token system 200 according to the present embodiment.
  • the generation device 201 includes a generation unit 311, an access token storage unit 312, and a secret information storage unit 313.
  • the generation unit 311 is connected to the access token storage unit 312 and the secret information storage unit 313, respectively.
  • the generation unit 311 receives the value output from the access token storage unit 312 as an input, and generates a character string (Policy).
  • the generation unit 311 receives the value output from the secret information storage unit 313 as an input.
  • the generation unit 311 embeds the inverse element of the value obtained by processing the input secret information in the hash value of Policy. For the calculation of the hash value, a hash function shared by the generation device 201 and the verification device 202 is used.
  • Processing secret information is, for example, secret information b and secret information processing function ⁇ .
  • is a function that can efficiently calculate the inverse function.
  • r 1 is a random number for padding, Means a bit string concatenation operator.
  • b is processed by ⁇ so that it has a sufficient length, that is, a bit length equivalent to the portion corresponding to the hash value in which the inverse element of the value obtained by processing the secret information in the access token is embedded. In this case, it is possible to prevent b from leaking to the server by brute force.
  • the generation unit 311 further processes the value obtained by processing the input secret information so that only the generation unit 311 can calculate the inverse element and embeds the value in the hash value of Policy.
  • the inverse element is calculated by processing in the form of, and for the hash value H (Policy) of Policy, Embed as
  • N is assumed to be open to the public. At this time, only the generation unit 311 that knows p and q can calculate the inverse element, and the difficulty of the inverse element calculation is guaranteed by the difficulty of the prime factorization. The selection of p, q, and N is only performed during the initial setup, and there is no need to reselect each time an access token is generated.
  • the function used for processing the secret information and the second argument thereof for example, ⁇ and r 1 are stored in the authentication response device 204.
  • Policy is, for example, a Base64 encoded version of a JSON format file described in Non-Patent Document 6 for an access token to a resource.
  • the hash function is, for example, a full domain hash function.
  • the access token storage unit 312 receives and stores an access token input to a target resource from an input device (not shown). When generating an access token for the input access token, the access token storage unit 312 outputs the input access token to the generation unit 311. Examples of the access token include a URL described in Non-Patent Document 7 and a Cookie described in Non-Patent Document 8.
  • the secret information storage unit 313 receives and stores secret information output by the request device 203 from an input device (not shown). When generating an access token for the input secret information, the secret information storage unit 313 outputs the input secret information to the generation unit 311.
  • the secret information includes, for example, a credit card number and a license number.
  • FIG. 4 is a block diagram illustrating the configuration of the verification device 202 of the access token system 200 according to the present embodiment.
  • the verification device 202 includes a verification unit 421, a challenge generation unit 422, a challenge storage unit 423, and a response determination unit 424.
  • the challenge generation 423 is connected to the verification unit 421 and the challenge storage unit 423.
  • the challenge storage unit 423 is connected to the response determination unit 424.
  • the verification unit 421 receives as input a recipient-specified access token output from an input device (not shown).
  • the recipient-specified access token here does not include the secret information processing function and its second argument.
  • the verification unit 421 extracts Policy from the recipient-specified access token and a hash value in which the inverse element of the value obtained by processing the secret information is embedded. A hash value is calculated for the extracted Policy, and if the hash value in which the inverse element of the value obtained by processing the secret information matches, access is denied. If they do not match, the verification unit 421 outputs the input value to the challenge generation unit 422.
  • the challenge generation unit 422 generates and embeds a challenge for the value output by the verification unit 421. For example, if the challenge is c, Whereas Perform the process.
  • the challenge generation unit 422 transmits, to the authentication response device 204, a value in which the challenge is embedded in the hash value portion in which the inverse element of the value obtained by processing the secret information in the recipient-specified access token is embedded. Further, the challenge generation unit 422 calculates a hash value for the Policy portion of the value output by the verification unit 421 using a shared hash function, and embeds the challenge c in the hash value. For example, Perform the process.
  • the challenge generation unit 422 outputs a value in which the challenge c is embedded in the hash value to the challenge storage unit 423.
  • the challenge storage unit 423 receives the value output from the challenge generation unit 422 as an input.
  • the challenge storage unit 423 stores and holds the input value for a certain period of time.
  • the challenge storage unit 423 outputs the stored value to the response determination unit 424 in order to determine whether the response is correct.
  • the response determination unit 424 receives the value output / transmitted by the authentication response device 204 as an input. When the input value matches the value stored in the challenge storage unit 423, the response determination unit 424 permits the access of the user who has transmitted the value using the authentication response device 204. If they do not match, access is denied.
  • FIG. 5 is a block diagram illustrating the configuration of the request device 203 of the access token system 200 according to the present embodiment. As shown in FIG. 5, the request device 203 includes secret information storage means 531 and secret information transmission means 532.
  • the secret information storage unit 531 receives as input the secret information of the recipient who requests the access token from an input device (not shown).
  • the secret information storage unit 531 holds the input value.
  • the secret information storage unit 531 wants to generate a response to the challenge transmitted from the verification device 202
  • the secret information storage unit 531 outputs the held value to the authentication response device 204.
  • the secret information storage unit 531 outputs the held value to the secret information transmission unit 532.
  • the secret information is a value such as a credit card number or a license number that avoids being known to others.
  • the secret information transmission unit 532 receives the value output from the secret information storage unit 531 as an input.
  • the secret information transmission unit 532 transmits the input value to the generation device 201.
  • the secret information transmission unit 532 is required to secretly transmit the value output by the secret information storage unit 531 so that the value is not intercepted.
  • FIG. 6 is a block diagram illustrating the configuration of the authentication response device 204 of the access token system 200 according to the present embodiment.
  • the authentication response device 204 includes a response generation unit 641 as shown in FIG.
  • the response generation unit 641 is connected to the secret information storage unit 531 illustrated in FIG.
  • the response generation unit 641 receives the value output from the secret information storage unit 531 as an input. Using the input value and the secret information processing function stored in the authentication response device 204, the response generation unit 641 generates a value obtained by processing the secret information. For example, when the secret information b, the secret information processing function ⁇ , and the second argument r 1 are used, ⁇ (b, r 1 ) is a value obtained by processing the secret information. Next, the response generation unit 241 generates a response to the value transmitted by the challenge generation unit 422 using the value obtained by processing the secret information.
  • the response generation unit 641 transmits the response to the response determination unit 424.
  • FIG. 7 is a flowchart for explaining the processing procedure of the generation apparatus 201 of the access token system 200 according to this embodiment.
  • the access token storage unit 312 receives an access token input to a target resource from an input device (not shown). Then, the access token storage unit 312 outputs the input to the generation unit 311 (step S701). The generation unit 311 generates Policy using the input obtained from the access token storage unit 312 (step S703).
  • the secret information storage unit 313 outputs the stored secret information to the generation unit 311. And the output of the production
  • the generation unit 311 embeds the inverse element of the value obtained by processing the input secret information in the Policy hash value (step S705).
  • the generation unit 311 combines the value obtained by concatenating the Policy part with the inverse of the value obtained by processing the secret information embedded in the hash value of the Policy, the value used for the secret information processing function and its second argument, and receives Is output as a user-specified access token (step S707).
  • FIG. 8 is a flowchart for explaining the processing procedure of the verification device 202 of the access token system 200 according to this embodiment.
  • the verification unit 421 receives the recipient-specified access token as input. Note that the recipient-specified access token here does not include the secret information processing function and its second argument.
  • a hash value is obtained for the Policy included in the input, and the obtained value is compared with a value in which the inverse element of the value obtained by processing the secret information included in the input is embedded (step S801). If they match, access is denied (step S809). If they do not match, the verification unit stage 421 obtains a value in which the inverse element of the value obtained by processing the secret information is embedded in the Policy hash value included in the input recipient-specified access token, and the challenge generation unit 422 To pass. The challenge generation unit 422 generates a challenge using the input value.
  • the value in which the generated challenge is embedded is passed to the user who has attempted access using the recipient-specified access token, and the challenge itself is passed to the challenge storage unit 423 (step S803).
  • the response determination unit 424 receives the response generated by the user who attempted to access using the recipient-specified access token and the challenge output from the challenge storage unit 423 as input. Using the input value, the response determination unit 424 determines whether the response is correct (step S805). If the result of determination is an incorrect response, access is denied (step S809). If the response is correct, access is permitted (step S807).
  • the generation unit 311 embeds the inverse element of the value obtained by processing the recipient's secret information output from the secret information storage unit 313 in the Policy hash value.
  • the recipient can be designated for the access token. Since only the secret information storage unit 313 can calculate the inverse element of the value obtained by processing the recipient's secret information, the designation of the recipient cannot be canceled.
  • a challenge response is executed.
  • the response generation unit 641 uses the value output from the secret information storage unit 531 when generating the response, only the recipient having the secret information (the value obtained by processing the secret information) A response can be generated.
  • the inverse function of the secret information processing function can be easily calculated, if the value obtained by processing the secret information and the recipient-specified access token are distributed to an unspecified number, the person who knows the secret information processing function must The original secret information can be known from the processed value. As a result, unauthorized distribution of access tokens by malicious recipients can be suppressed.
  • the secret information processing function is known, anyone can obtain the original secret information from the value obtained by processing the secret information, and the deterrence effect is enhanced.
  • FIG. 12 is a block diagram showing the configuration of the access token system according to this embodiment.
  • the access token system according to the present embodiment differs from the second embodiment in that the generation device has a mask function storage unit and a mask unit, and the verification device has an unmask function storage unit and an unmasking unit. . Since other configurations and operations are the same as those of the second embodiment, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the access token system 1200 includes a generation device 1201, a verification device 1202, a request device 203, and an authentication response device 204.
  • the generation device 1201, the verification device 1202, the request device 203, and the like. are communicably connected via an external network.
  • the request device 203 and the authentication response device 204 are connected so as to be communicable.
  • FIG. 13 is a block diagram showing the configuration of the generation device 1201 of the access token system 1200 according to this embodiment.
  • the generation device 1201 further includes a mask function storage unit 1311 and a mask unit 1312.
  • the generation unit 311 is connected to the mask unit 1312, the access token storage unit 1311, and the secret information storage unit 313.
  • the mask unit 1312 is connected to the mask function storage unit 1311.
  • the values output by the generation unit 3121 and the access token storage unit 312 are received as input, and a character string (Policy) is generated.
  • the generation unit 311 receives the value output from the secret information storage unit 313 as an input.
  • the generation unit 311 embeds the inverse element of the value obtained by processing the input secret information in the hash value of Policy.
  • a hash function shared between the generation device 1201 and the verification device 1202 is used.
  • Processing secret information is, for example, secret information b and secret information processing function ⁇ .
  • is a function that can efficiently calculate the inverse function.
  • r 1 is a random number for padding, Means a bit string concatenation operator.
  • b is processed by ⁇ so that it has a sufficient length, that is, the same bit length as the portion corresponding to the hash value in which the inverse element of the value obtained by processing the secret information in the access token is embedded. In this case, it is possible to prevent b from leaking to the server by brute force.
  • the generation unit 311 embeds the inverse element of the value obtained by processing the input secret information in the Policy hash value.
  • q is a sufficiently large prime number and is disclosed. q is selected only at the time of initial setup, and does not need to be selected every time an access token is generated.
  • the generation unit 311 passes to the mask unit 1312 a value in which the inverse element of the value obtained by processing the secret information is embedded in the Policy hash value.
  • the mask unit 1312 receives the value in which the value obtained by processing the secret information is embedded in the Policy hash value output from the generation unit 311 and the mask function stored in the mask function storage unit 1311.
  • the mask unit 1312 passes the value obtained by embedding the inverse of the value obtained by processing the secret information to the Policy hash value received as input to the mask function received as input, and obtains the value. For example, a value obtained by once Base64 decoding a value obtained by embedding an inverse element of a value obtained by processing secret information with respect to a Policy hash value received as input is passed to a mask function, and the output is Base64 encoded again.
  • the value output from the mask function connected to Policy, the function used for processing the secret information, and its second argument are used as the recipient-specified access token.
  • the mask unit 1312 outputs a recipient-specified access token.
  • the function used for processing the secret information and the second argument thereof for example, ⁇ and r 1 are stored in the authentication response device 204.
  • Policy is obtained by Base64 encoding an access token to a resource in a JSON format file.
  • the hash function is, for example, a full domain hash function.
  • the mask function storage unit 1311 masks a portion corresponding to a value in which an inverse element of a value obtained by processing secret information with respect to a Policy hash value is embedded in an access token output from the generation unit 311 from an input device (not shown). Receives and stores a function to do
  • the mask function is a function that cannot remove or alter the inverse element of the value obtained by processing the secret information, that is, a function that cannot cancel or tamper with the designation of the recipient.
  • the secret value r 2 shared between the access token issuer having the generation device 1201 and the server having the verification device 1202 and the inverse element of the value obtained by processing the secret information with respect to the Policy hash value are embedded.
  • Power and XOR (exclusive OR) processing is performed on the portion corresponding to the value. For example, Is the portion corresponding to the value in which the inverse element of the value obtained by processing the secret information with respect to the Policy hash value is embedded, the masked value is It becomes.
  • the access token storage means 312 receives and stores an access token input to the target resource from an input device (not shown). When generating an access token for the input access token, the access token storage unit 312 outputs the input access token to the generation unit 311. Examples of the access token include a URL and a cookie.
  • the secret information storage unit 313 receives and stores secret information output by the request device 203 from an input device (not shown). When generating an access token for the input secret information, the secret information storage unit 313 outputs the input secret information to the generation unit 311.
  • the secret information includes, for example, a credit card number and a license number.
  • FIG. 14 is a block diagram showing the configuration of the verification device 1202 of the access token system 1200 according to this embodiment.
  • the verification device 1202 further includes an unmask function storage unit 1421 and an unmask unit 1422.
  • the unmask unit 1422 is connected to the unmask function storage unit 1421 and the verification unit 421.
  • the unmask function storage unit 1421 receives an input inverse function of the mask function stored in the mask function storage unit 1311 and stores it. When unmasking the recipient-specified access token, the stored inverse function is output to the unmask unit 1422.
  • the unmask unit 1422 receives the masked value output from the verification unit 421 and the unmask function input from the unmask function storage unit 1421 as inputs.
  • the masked value is passed to the unmask function, and the Policy hash value in which the inverse element of the value obtained by processing the secret information is embedded is extracted. For example, Is the part corresponding to the masked value and ⁇ , And the part corresponding to the retrieved value is It becomes.
  • the extracted value is output to the verification unit 421.
  • the verification unit 421 receives as input a recipient-specified access token output from an input device (not shown).
  • the recipient-specified access token here does not include the secret information processing function and its second argument.
  • the verification unit 421 extracts the masked value from the recipient-specified access token.
  • the verification unit 421 outputs the extracted masked value to the unmask unit 1422.
  • the verification unit 421 outputs the Policy included in the input recipient-specified access token and the value output from the unmask unit 1422 to the challenge generation unit 422.
  • the challenge generation unit 422 generates and embeds a challenge for the value output by the verification unit 421. For example, if the challenge is c, Whereas Perform the process.
  • the challenge generation unit 421 transmits to the authentication response device 204 a value in which the challenge is embedded in the hash value part in which the inverse element of the value obtained by processing the secret information in the recipient-specified access token is embedded. Further, the challenge generation unit 422 calculates a hash value for the Policy portion of the value output by the verification unit 421 using a shared hash function, and embeds the challenge c in the hash value. For example, Perform the process.
  • the challenge generation unit 421 outputs a value in which the challenge c is embedded in the hash value to the challenge storage unit 423.
  • the challenge storage unit 423 receives the value output from the challenge generation unit 422 as an input.
  • the challenge storage unit 4223 stores and holds the input value for a certain period of time.
  • the challenge storage unit 423 outputs the stored value to the response determination unit 424 in order to determine whether the response is correct.
  • the response determination unit 423 receives the value output / transmitted by the authentication response device 204 as an input.
  • the response determination unit 424 permits the access of the user who has transmitted the value using the authentication response device 204. If they do not match, access is denied.
  • FIG. 15 is a flowchart for explaining the processing procedure of the generation device 1201 of the access token system 1200 according to this embodiment.
  • the access token storage unit 312 receives an input of an access token to the target resource from an input device (not shown). Then, the access token storage unit 312 outputs the input to the generation unit 311 (step S701). The generation unit 311 generates Policy using the input obtained from the access token storage unit 312 (step S703).
  • the secret information storage unit 313 outputs the stored secret information to the generation unit 311. Then, the generation unit 311 receives the output of the secret information storage unit 313 as an input. The generation unit 311 embeds the inverse element of the value obtained by processing the input secret information in the Policy hash value (step S705).
  • the mask unit 1312 receives the input of the mask function passed from the mask function storage unit 1312 and the one obtained by embedding the inverse element of the value obtained by processing the secret information output by the generation unit 311 in the Policy hash value.
  • the mask unit 1312 passes a value obtained by embedding the inverse element of the value obtained by processing the input secret information into the Policy hash value to the input mask function, and calculates the masked value (step S1501).
  • the mask unit 1312 outputs the masked value to the generation unit 311.
  • the generation unit 311 outputs the connection between Policy and input, the function used for processing the secret information, and its second argument as a recipient-specified access token (step S707).
  • FIG. 16 is a flowchart for explaining the processing procedure of the verification device 1202 of the access token system 1200 according to this embodiment.
  • the verification unit 421 receives the recipient-specified access token as input. Note that the recipient-specified access token here does not include the secret information processing function and its second argument (step S1601).
  • the unmask unit 1422 receives the masked value included in the input recipient-specified access token and the unmask function input from the unmask function storage unit 1421 as input. Then, the masked value included in the input recipient-specified access token is passed to the input unmask function and unmasked. The unmask unit 1422 outputs the unmasked value to the verification unit 421 (step S1603).
  • the verification unit 421 outputs the Policy included in the recipient-specified access token input in step S1601 and the unmasked value input in step S1603 to the challenge generation unit 422.
  • the challenge generation unit 422 generates a challenge using the input value.
  • the value in which the generated challenge is embedded is passed to the user who has attempted access using the recipient-specified access token, and the Policy and the challenge itself are passed to the challenge storage unit 423 (step S803).
  • the response determination unit 424 receives, as inputs, a response generated by a user who has attempted access using the recipient-specified access token, the Policy output from the challenge storage unit 423, and the challenge itself. Using the input value, the response determination unit 424 determines whether the response is correct (step S805). If the result of determination is an incorrect response, access is denied (step S809). If the response is correct, access is permitted (step S807).
  • the access token system 1200 in the present embodiment can prevent unauthorized distribution of access tokens.
  • the expiration date of the access token can be unlimited.
  • the access token system 1200 in this embodiment solves the above problem.
  • the restriction that “only the generation unit 311 can calculate the inverse element of the value obtained by processing the confidential information of the recipient” essentially realizes that “the designation of the recipient cannot be canceled / tampered”. In the access token system 2, this is realized using a mask function.
  • a value obtained by embedding an inverse element of a value obtained by processing secret information in a hash value of Policy becomes a value on prime number q, and the size is reduced.
  • the reverse element of the value obtained by processing the secret information is embedded in the hash value of Policy, the attack is not established. As a result, no branching occurs in step S1601.
  • FIG. 17 is a diagram for explaining the configuration of the access token system according to the present embodiment.
  • the access token system according to the present embodiment is different from the second embodiment and the third embodiment in that the generation device and the verification device have a time acquisition unit.
  • Other configurations and operations are the same as those in the second embodiment and the third embodiment. Therefore, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the access token system 1700 includes a generation device 1701, a verification device 1702, a request device 203, and an authentication response device 204.
  • the generation device 1701, the verification device 1702, the request device 203, and the like. are communicably connected via an external network.
  • the request device 203 and the authentication response device 204 are connected so as to be communicable.
  • FIG. 18 is a block diagram showing the configuration of the generation device 1701 of the access token system 1700 according to this embodiment.
  • FIG. 19 is a block diagram showing the configuration of the verification device 1702 of the access token system 1700 according to the fourth embodiment.
  • the generation device 1701 further includes a time information acquisition unit 1811.
  • the time information acquisition unit 1811 is connected to the generation unit 311.
  • the verification device 1702 further includes a time information acquisition unit 1921.
  • the time information acquisition unit 1921 is connected to the verification unit 421.
  • the time information acquisition unit 1811 acquires time information and outputs it to the generation unit 311.
  • the generation unit 311 is the same as that in the access token system 200 or the access token system 1200. However, when creating a policy, the policy is created so as to connect the expiration dates using the time information input from the time information acquisition unit 1811. That is, the generation unit 311 also operates as an expiration date designation unit. For example, Is Policy. TTL (Time to live) means an expiration date.
  • the verification unit 421 is the same as that in the access token system 200 or the access token system 1200. However, when receiving the recipient-specified access token as input, it is determined whether or not the expiration date included in the input Policy is valid using the time information input from the time information acquisition unit 1921. That is, the verification unit 421 also operates as an expiration date determination unit. If it is not valid, access is denied. If it is valid, it continues to operate in the same manner as the verification unit 421 in the access token system 200 or the access token system 1200.
  • FIG. 20 is a flowchart for explaining the processing procedure of the generation device 1701 of the access token system 1700 according to this embodiment.
  • the same step number is provided and description is abbreviate
  • the generation unit 311 sets an expiration date for Policy (step S2001).
  • FIG. 21 is a flowchart for explaining the processing procedure of the verification apparatus 1702 of the access token system 1700 according to this embodiment. Note that the same steps as those in FIG. 8 are given the same step numbers and description thereof is omitted.
  • the verification unit 421 performs expiration date determination as to whether or not the expiration date is valid (step S2101). If it is determined in step S2101 that the time limit is not valid, access is permitted (step S809).
  • FIG. 22 is a diagram for explaining the configuration of the access token system according to the present embodiment.
  • the generation device has a signature key storage unit and a signature unit
  • the verification device has a signature verification key storage unit and a signature verification unit, as compared with the second to fourth embodiments. It is different in having. Since other configurations and operations are the same as those of the second to fourth embodiments, the same configurations and operations are denoted by the same reference numerals, and detailed description thereof is omitted.
  • an access token system 1700 includes a generation device 1701, a verification device 1702, a request device 203, and an authentication response device 204.
  • the generation device 1701, the verification device 1702, the request device 203, and the like. are communicably connected via an external network.
  • the request device 203 and the authentication response device 204 are connected so as to be communicable.
  • FIG. 23 is a block diagram showing a configuration of the generation device 2201 of the access token system 2200 according to the present embodiment.
  • the verification apparatus 2201 further includes a signature key storage unit 2311 and a digital signature unit 2312.
  • the digital signature unit 2312 is connected to the signature key storage unit 2311 and the generation unit 311.
  • the signature key storage unit 2311 stores and holds a signature key in the digital signature method.
  • Examples of the digital signature method here include RSA signature and HMAC described in Non-Patent Document 5.
  • the signature key is output to the digital signature unit 2312.
  • the recipient-specified access token here does not include the function used to process the secret information and its second argument.
  • the digital signature unit 2312 receives the recipient-specified access token output from the generation unit 311 and the signature key output from the signature key storage unit 2311 as inputs.
  • the recipient-specified access token here does not include the function used to process the secret information and its second argument.
  • the digital signature unit 2312 generates a signature for the input recipient-specified access token using the input signature key.
  • each signature function is Sig.
  • Each of the recipient-specified access tokens input by the generation unit 311 is , , Then each signature is , , You can.
  • the digital signature unit 2312 outputs the generated signature to the generation unit 311.
  • the generation unit 311 is the same as that in the access token system 200 and the access token system 1200. However, when the recipient-specified access token is finally output, the signature output by the digital signature unit 2312 is also added and output.
  • FIG. 24 is a block diagram showing a configuration of the verification device 2202 of the access token system 2200 according to the fifth embodiment.
  • the verification device 2202 further includes a signature verification key storage unit 2421 and a digital signature determination unit 2422.
  • the digital signature determination unit 2422 is connected to the signature verification key storage unit 2421 and the verification unit 421.
  • the signature verification key storage unit 2421 stores and holds a verification key in the digital signature method.
  • Examples of the digital signature method here include RSA signature and HMAC.
  • signature verification is performed on a recipient-specified access token including a signature, a verification key is output to the digital signature determination unit 2422.
  • the recipient-specified access token here does not include the function used to process the secret information and its second argument.
  • the digital signature determination unit 2422 receives the recipient designated access token with the signature output from the verification unit 421 and the verification key output from the signature verification key storage unit 2421 as inputs.
  • the recipient-specified access token here does not include the function used to process the secret information and its second argument.
  • Signature verification is performed with the input verification key for the signature assigned to the input recipient-specified access token. If the signature is invalid as a result of verification, access is denied. If it is a valid signature, a determination result indicating that the signature is valid is output to the verification unit 321.
  • FIG. 25 is a flowchart for explaining the processing procedure of the generation apparatus 2201 of the access token system 2200 according to this embodiment.
  • the same step number is provided and description is abbreviate
  • the generation unit 311 generates a signature for the recipient-specified access token (step S2501).
  • FIG. 26 is a flowchart for explaining the processing procedure of the verification apparatus 2202 of the access token system 2200 according to this embodiment. Note that the same steps as those in FIG. 21 are given the same step numbers and description thereof is omitted.
  • the verification unit 421 performs signature verification to determine whether the signature is invalid (step S2601). If it is determined in step S2601 that the signature is invalid, access is denied. (Step S809). If it is determined that the signature is valid, the operation proceeds to step S803.
  • unauthorized distribution of access tokens can be prevented as in the second to fourth embodiments.
  • an unauthorized user transmits a random value and a value that means within the expiration date, in the second to fourth embodiments, until the result of the challenge response is known, that is, step S805 ends. Until then, it cannot be determined whether the attack is an unauthorized user or the recipient-designated access token that is legitimately created.
  • step S803 it is possible to make a determination by signature verification before the operations in step S803 and subsequent steps are executed. This is because the signature can be generated only for the user who has the signature key, that is, the user who has the generation device 2201 in which the signature key storage unit 2311 that holds the signature key is stored.
  • the present invention may be applied to a system composed of a plurality of devices, or may be applied to a single device. Furthermore, the present invention can also be applied to a case where an information processing program that implements the functions of the embodiments is supplied directly or remotely to a system or apparatus. Therefore, in order to realize the functions of the present invention on a computer, a program installed on the computer, a medium storing the program, and a WWW (World Wide Web) server that downloads the program are also included in the scope of the present invention. . In particular, at least a non-transitory computer readable medium storing a program for causing a computer to execute the processing steps included in the above-described embodiments is included in the scope of the present invention.
  • the generation means generates the recipient-specified access token by embedding a reverse value of a processed value, which is a value obtained by processing the secret information, in a hash value of a character string generated from the access token,
  • the access token system according to any one of appendices 1 to 3, further comprising a mask unit that masks the hash value in which the inverse element is embedded.
  • the mask means performs masking by performing an XOR (exclusive OR) operation using an inverse element part in which an inverse element of the processed value is embedded and a random number having the same bit length as the inverse element part.
  • the access token system according to appendix 4.
  • Appendix 6 The access according to any one of appendices 1 to 5, wherein the generation unit generates a recipient-specified access token using a total difficulty value obtained by processing the recipient's confidential information into a value that is difficult to brute force. Token system.
  • (Appendix 7) An expiration date specifying means for specifying an expiration date in the recipient-specified access token; An expiration date determining means for determining whether an expiration date of the recipient-specified access token for which an expiration date is specified is within the expiration date;
  • Appendix 10 An information processing method including a generating step of generating a recipient-designated access token designated by the recipient using secret information of the recipient and providing the generated token to a user.
  • Appendix 11 An information processing program for causing a computer to execute a generation step of generating a recipient-designated access token designated by the recipient using the confidential information of the recipient and providing it to a user.

Abstract

IaaS(Infrastructure as a Service)において、システム外のユーザに対し権限を委譲したい場合に、アクセストークンの受領者を指定して、アクセストークンの不正配布を防止する。アクセストークンシステムであって、生成部と、検証部と、を備える。生成部は、受領者の秘密情報を用いて、受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する。検証部は、受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証する。

Description

アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
 本発明は、アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラムに関する。
 上記技術分野において、特許文献1には、前提技術としてのアクセストークンシステムに関するする技術が開示されている。特許文献2には、RSA暗号における鍵生成に関する技術が開示されている。特許文献3には、ユーザ認証鍵をハッシュ関数に与える技術が開示されている。特許文献4には、サーバにあらかじめ登録されたクライアントの本人認証情報を用いて、クライアントの認証を行う技術が開示されている。特許文献5には、ICチップへの不正アクセスを防止する技術が開示されている。非特許文献1乃至非特許文献4には、前提技術としてのアクセストークンシステムが開示されている。非特許文献5には、デジタル署名としてのHMAC(Hash-based Message Authentication Code)に関する技術が開示されている。非特許文献6には、JSON(JavaScript(登録商標) Object Notation)形式のファイルをBase64エンコードしたアクセストークンが開示されている。非特許文献7には、アクセストークンとしてのURL(Uniform Resource Locator)に関する技術が開示されている。非特許文献8には、アクセストークンとしてのCookieに関する技術が開示されている。
米国特許出願公開第2016/0127330号明細書 米国特許第4405829号明細書 特開平10-222567号公報 特開2005-301577号公報 特開2009-212731号公報
Create a URL Signature Using PHP - Amazon CloudFront. Amazon CloudFront.  http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CreateURL_PHP.html Creating Signed URLs with a Program    Cloud Storage Documentation    Google Cloud Platform. Google Cloud Platform.https://cloud.google.com/storage/docs/access-control/create-signed-urls-program Shared Access Signatures (SAS) の使用  Microsoft Azure. Microsoft Azure.  https://azure.microsoft.com/ja-jp/documentation/articles/storage-dotnet-shared-access-signature-part-1/ Pre-Signed URLs-zaqar-specs 0.0.1.dev63 documentation. OpenStack Open Source Cloud Computing Software.  https://specs.openstack.org/openstack/zaqar-specs/specs/liberty/pre-signed-url.html#pre-signed-url Bellare, Mihir, Ran Canetti, and Hugo Krawczyk. "Keying hash functions for message authentication." Annual International Cryptology Conference. Springer Berlin Heidelberg, 1996. T. Bray, Ed. The JavaScript(登録商標) Object Notation (JSON) Data Interchange Format. RFC 7159, 3, 2014. T. Berners-Lee. Uniform Resource Identifier (URI): Generic Syntax. RFC 3986, 1, 2005. A. Barth. HTTP State Management Mechanism. RFC 6265, 4, 2011.
 しかしながら、上記文献に記載の技術では、アクセストークンの受領者が指定されていないため、アクセストークンの不正配布を防止することができなかった。
 本発明の目的は、上述の課題を解決する技術を提供することにある。
 上記目的を達成するため、本発明に係るアクセストークンシステムは、
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段と、
 前記受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証する検証手段と、
 を備えた。
 上記目的を達成するため、本発明に係る情報処理装置は、
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段を備えた。
 上記目的を達成するため、本発明に係る情報処理方法は、
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップを含む。
 上記目的を達成するため、本発明に係る情報処理プログラムは、
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップをコンピュータに実行させる。
 本発明によれば、アクセストークンの受領者を指定するので、アクセストークンの不正配布を防止できる。
本発明の第1実施形態に係るアクセストークンシステムの構成を示すブロック図である。 本発明の第2実施形態に係るアクセストークンシステムの構成を示すブロック図である。 本発明の第2実施形態に係るアクセストークンシステムの生成装置の構成を説明するブロック図である。 本発明の第2実施形態に係るアクセストークンシステムの検証装置の構成を説明するブロック図である。 本発明の第2実施形態に係るアクセストークンシステムのリクエスト装置の構成を説明するブロック図である。 本発明の第2実施形態に係るアクセストークンシステムの認証応答装置の構成を説明するブロック図である。 本発明の第2実施形態に係るアクセストークンシステムの生成装置の処理手順を説明するフローチャートである。 本発明の第2実施形態に係るアクセストークンシステムの検証装置の処理手順を説明するフローチャートである。 前提技術に係るアクセストークンシステムの構成を示す図である。 前提技術に係るアクセストークンシステムの処理手順を説明するフローチャートである。 前提技術に係るアクセストークンシステムの処理手順を説明するフローチャートである。 本発明の第3実施形態に係るアクセストークンシステムの構成を示すブロック図である。 本発明の第3実施形態に係るアクセストークンシステムの生成装置の構成を示すブロック図である。 本発明の第3実施形態に係るアクセストークンシステムの検証装置の構成を示すブロック図である。 本発明の第3実施形態に係るアクセストークンシステムの生成装置の処理手順を説明するフローチャートである。 本発明の第3実施形態に係るアクセストークンシステムの検証装置の処理手順を説明するフローチャートである。 本発明の第4実施形態に係るアクセストークンシステムの構成を示すブロック図である。 本発明の第4実施形態に係るアクセストークンシステムの生成装置の構成を示すブロック図である。 本発明の第4実施形態に係るアクセストークンシステムの検証装置の構成を示すブロック図である。 本発明の第4実施形態に係るアクセストークンシステムの生成装置の処理手順を説明するフローチャートである。 本発明の第4実施形態に係るアクセストークンシステムの検証装置の処理手順を説明するフローチャートである。 本発明の第5実施形態に係るアクセストークンシステムの構成を示すブロック図である。 本発明の第5実施形態に係るアクセストークンシステムの生成装置の構成を示すブロック図である。 本発明の第5実施形態に係るアクセストークンシステムの検証装置の構成を示すブロック図である。 本発明の第5実施形態に係るアクセストークンシステムの生成装置の処理手順を説明するフローチャートである。 本発明の第5実施形態に係るアクセストークンシステムの検証装置の処理手順を説明するフローチャートである。
 以下に、本発明を実施するための形態について、図面を参照して、例示的に詳しく説明記載する。ただし、以下の実施の形態に記載されている、構成、数値、処理の流れ、機能要素などは一例に過ぎず、その変形や変更は自由であって、本発明の技術範囲を以下の記載に限定する趣旨のものではない。
 [第1実施形態]
 本発明の第1実施形態としてのアクセストークンシステム100について、図1を用いて説明する。アクセストークンシステム100は、アクセストークンの不正配布を防止できるアクセストークンシステムである。
 図1に示すように、アクセストークンシステム100は、生成部101と、検証部102と、を備える。生成部101は、受領者の秘密情報を用いて、受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する。検証部102は、受領者指定アクセストークンを用いてアクセスするユーザが、指定された受領者であることを検証する。
 本実施形態によれば、アクセストークンに受領者が指定された受領者指定アクセストークンを生成するので、アクセストークンの不正配布を防止できる。
 [第2実施形態]
 次に本発明の第2実施形態に係るアクセストークンシステムについて、図2乃至図11を用いて説明する。
 [構成の説明]
 IaaS(Infrastructure as a Service)において、システム外のユーザに対し権限を委譲したい場合がある。このような場合、対象となる資源へのアクセストークンに対して有効期限を設定し、さらにアクセストークンと有効期限を連結した文字列(Policy)に対しデジタル署名を生成し、Policyとデジタル署名を連結したものをシステム外のユーザへ渡すことで権限の委譲を実現するアクセストークンシステムが一般に知られている。例えば図9に示すように、アクセストークンシステム900は、アクセストークンを生成する生成装置901と、アクセストークンの正当性を検証する検証装置902とを備える。生成装置901には、デジタル署名における署名鍵と時刻情報を取得する手段をあらかじめ格納しておく。検証装置902には、デジタル署名における検証鍵と時刻情報を取得する手段をあらかじめ格納しておく。従来のアクセストークンシステムの一例が、特許文献1、非特許文献1、非特許文献2、非特許文献3および非特許文献4に記載されている。
 非特許文献1に記載されたアクセストークンシステムにおける生成装置は、例えば図10に示すように動作する。生成装置は、権限を委譲する対象となる資源へのアクセストークンおよび有効とする期間の入力を受ける(ステップS1001)。次に生成装置901は、有効とする期間の入力と時刻情報を取得する手段を用いて、有効期限を設定する(ステップS1003)。さらに生成装置は、権限を委譲する対象となる資源へのアクセストークンとステップ2で生成された有効期限とを用いてPolicyを生成する(ステップS1005)。そして生成装置は、あらかじめ格納された署名鍵とPolicyからデジタル署名を生成する(ステップS1007)。最後に生成装置は、PolicyとPolicyから生成されたデジタル署名を連結してアクセストークンを生成する(ステップS1009)。
 一方、非特許文献1に記載されたアクセストークンシステムにおける検証装置は、例えば図11に示すように動作する。検証装置は、アクセストークンの入力を受ける(ステップS1101)。次に検証装置は、入力で受けたアクセストークンに含まれる有効期限とあらかじめ格納された時刻情報を取得する手段から、入力として受けたアクセストークンが有効期限内で有効であるか判定する(ステップS1103)。このとき、有効でないと判定された場合、対象となる資源へのアクセスを拒否する(ステップS1109)。さらに検証装置は、入力で受けたアクセストークンに含まれるデジタル署名とあらかじめ格納された検証鍵から、デジタル署名が有効か検証する(ステップS1105)。検証の結果、有効でないと判定された場合、対象となる資源へのアクセスを拒否する(ステップS1109)。最後に検証装置は、対象となる資源へのアクセスを許可する(ステップS1107)。
 アクセストークンシステムの形態としては大きく2つある。1つは、生成装置に格納される署名鍵と検証装置に格納される検証鍵が異なるもので、非特許文献1および非特許文献2に記載されている。もう1つは、生成装置に格納される署名鍵と検証装置に格納される検証鍵が同一のもので、非特許文献3および非特許文献4に記載されている。
 特許文献1、非特許文献1、非特許文献2、非特許文献3および非特許文献4に記載されたアクセストークンシステムでは、生成装置によって出力されたアクセストークンを悪意のある受領者が不特定多数に不正に配信(=横流し)した場合、アクセストークン発行者の意図しない権限委譲が生じる懸念がある。つまり、不正アクセスが発生する恐れが存在する。この問題点は非特許文献3で指摘されている。現状、非特許文献3にも記載があるように、アクセストークンの有効期限を短く設定することで対策としているが、横流しそのものの発生を防止できてはいない。
 上述した特許文献1、非特許文献1、非特許文献2、非特許文献3、非特許文献4に記載されたアクセストークンシステムでは、アクセストークンを不正に配布することで、アクセストークン発行者の意図しない権限委譲が発生するという課題があった。これは、アクセストークンに対し受領者が指定されていないためである。
 また上述した特許文献1、非特許文献1、非特許文献2、非特許文献3、非特許文献4に記載されたアクセストークンシステムでは、アクセストークンの不正配布を防止するために有効期限を短くせざるを得ないという課題があった。
 図2は、本実施形態に係るアクセストークンシステム200の構成を示すブロック図である。図2に示されるように、アクセストークンシステム200は、生成装置201と検証装置202とリクエスト装置203と認証応答装置204とを備え、生成装置201と検証装置202とリクエスト装置203とは外部ネットワーク経由で通信可能に接続されている。また、リクエスト装置203と認証応答装置204とは通信可能に接続されている。
 図3は、本実施形態に係るアクセストークンシステム200の生成装置201の構成を説明するブロック図である。生成装置201は、図3に示されるように、生成手段311とアクセストークン格納部312と秘密情報格納部313とを備える。生成部311は、アクセストークン格納部312と秘密情報格納部313とそれぞれ接続されている。
 生成部311は、アクセストークン格納部312が出力した値を入力に受け、文字列(Policy)を生成する。また、生成部311は、秘密情報格納部313が出力した値を入力に受ける。生成部311は、入力された秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込む。ハッシュ値の計算には生成装置201と検証装置202とで共有されたハッシュ関数を用いる。
 秘密情報を加工するとは、例えば、秘密情報b、秘密情報の加工関数φとする。このとき、φは逆関数を効率的に計算可能な関数であるとする。φの具体例としては、
Figure JPOXMLDOC01-appb-M000001
となる。rはパディング用の乱数であり、
Figure JPOXMLDOC01-appb-M000002
は、bit列の連結演算子を意味する。このように、φによってbを十分な長さ、つまり、アクセストークンにおける秘密情報が加工された値の逆元が埋め込まれたハッシュ値に相当する部分と同程度のbit長となるように加工した場合、総当たりによってbがサーバに漏えいすることを防ぐことができる。生成部311は、前記入力された秘密情報を加工した値に対し、さらに生成部311のみが逆元を計算できるように加工し、Policyのハッシュ値に埋め込む。
 例えば、特許文献2に記載されるRSA暗号における鍵生成のように、
Figure JPOXMLDOC01-appb-M000003
という形で加工して逆元を計算し、Policyのハッシュ値H(Policy)に対し、
Figure JPOXMLDOC01-appb-M000004
として埋め込む。
 このとき、p,qは互いに異なる十分に大きい素数である。また、Nは公開されているものとする。このとき、逆元を計算できるのはp,qを知る生成部311のみであり、素因数分解の困難性により逆元計算の困難性が保証される。p,q,Nを選ぶのは最初のセットアップ時のみであり、アクセストークン生成の度に選び直す必要はない。
 生成部311は、Policyと生成部311のみが逆元を計算できるように加工し、Policyのハッシュ値に埋め込んだ値とを連結したもの、例えば、
Figure JPOXMLDOC01-appb-M000005
と、秘密情報の加工に用いた関数とその第2引数とを、受領者指定アクセストークンとして、リクエストしてきた受領者、つまり、リクエスト装置203の所有者であり、秘密情報格納部313が出力した値の所有者(=指定された受領者)に渡す。特に、秘密情報の加工に用いた関数とその第2引数、例えば前記φとrは、認証応答装置204に格納される。
 ここでPolicyは、例えば、資源へのアクセストークンを非特許文献6に記載のJSON形式のファイルをBase64エンコードしたものとなる。ハッシュ関数は、例えば、フルドメインハッシュ関数となる。
 アクセストークン格納部312は、図示しない入力装置から対象となる資源へのアクセストークンの入力を受け、格納する。入力されたアクセストークンに対し、アクセストークンを生成する場合、アクセストークン格納部312は入力されたアクセストークンを生成部311に出力する。アクセストークンとは、例えば、非特許文献7に記載のURLや非特許文献8に記載のCookieなどが挙げられる。
 秘密情報格納部313は、図示しない入力装置からリクエスト装置203によって出力された秘密情報の入力を受け、格納する。入力された秘密情報に対し、アクセストークンを生成する場合、秘密情報格納部313は入力された秘密情報を生成部311に出力する。秘密情報とは、例えば、クレジットカード番号や免許証番号などが挙げられる。
 図4は、本実施形態に係るアクセストークンシステム200の検証装置202の構成を説明するブロック図である。検証装置202は、図4に示されるように、検証部421とチャレンジ生成部422とチャレンジ格納部423とレスポンス判定部424とを備える。チャレンジ生成423は、検証部421とチャレンジ格納部423と接続されている。チャレンジ格納部423は、レスポンス判定部424と接続されている。
 検証部421は、図示されない入力装置から出力された受領者指定アクセストークンを入力に受ける。ここでの受領者指定アクセストークンは、秘密情報加工関数とその第2引数を含まない。検証部421は、受領者指定アクセストークンからPolicyと、秘密情報が加工された値の逆元が埋め込まれたハッシュ値とを取出す。取り出したPolicyに対し、ハッシュ値を計算し、秘密情報が加工された値の逆元が埋め込まれたハッシュ値が一致した場合、アクセスを拒否する。一致しなかった場合、検証部421は、入力された値をチャレンジ生成部422に出力する。
 チャレンジ生成部422は、検証部421によって出力された値に対して、チャレンジを生成し、埋め込む。例えば、チャレンジをcとしたとき、
Figure JPOXMLDOC01-appb-M000006
に対し、
Figure JPOXMLDOC01-appb-M000007
という処理を行う。チャレンジ生成部422は、受領者指定アクセストークン内の秘密情報が加工された値の逆元が埋め込まれたハッシュ値の部分に対しチャレンジを埋め込んだ値を、認証応答装置204に対して送信する。また、チャレンジ生成部422は、検証部421によって出力された値のPolicy部分に対し、共有されたハッシュ関数を用いてハッシュ値を計算し、ハッシュ値に対してチャレンジcを埋め込む。例えば、
Figure JPOXMLDOC01-appb-M000008
という処理を行う。チャレンジ生成部422は、前記ハッシュ値に対してチャレンジcを埋め込んだ値を、チャレンジ格納部423に出力する。
 チャレンジ格納部423は、チャレンジ生成部422から出力された値を入力に受ける。入力された値を、チャレンジ格納部423は、格納・一定時間保持する。受領者指定アクセストークンを用いてアクセスしてきたユーザからレスポンスが返ってきたとき、そのレスポンスが正しいものか判定するために、チャレンジ格納部423は、格納した値をレスポンス判定部424に出力する。
 レスポンス判定部424は、認証応答装置204により出力・送信された値を入力に受ける。入力された値が、チャレンジ格納部423に格納された値と一致するとき、レスポンス判定部424は認証応答装置204を用いて値を送信してきたユーザのアクセスを許可する。一致しないとき、アクセスを拒否する。
 図5は、本実施形態に係るアクセストークンシステム200のリクエスト装置203の構成を説明するブロック図である。リクエスト装置203は、図5に示されるように、秘密情報格納手段531と秘密情報送信手段532とを備える。
 秘密情報格納部531は、図示されない入力装置からアクセストークンをリクエストする受領者の秘密情報を入力として受ける。入力された値を、秘密情報格納部531は保持する。秘密情報格納部531は、検証装置202から送信されてきたチャレンジに対しレスポンスを生成したいとき、保持する値を認証応答装置204に出力する。また、アクセストークンの発行をリクエストするとき、秘密情報格納部531は、保持している値を秘密情報送信部532に出力する。ここで、秘密情報とは、クレジットカード番号や免許証番号など、他者に知られることを忌避するような値とする。
 秘密情報送信部532は、秘密情報格納部531により出力された値を入力に受ける。入力された値を、秘密情報送信部532は、生成装置201に送信する。このとき、秘密情報格納部531により出力された値が盗聴されないように、秘密に送信することが秘密情報送信部532には求められることに留意する。
 図6は、本実施形態に係るアクセストークンシステム200の認証応答装置204の構成を説明するブロック図である。認証応答装置204は、図6に示されるように、レスポンス生成部641を備える。なお、レスポンス生成部641は、図5に示した秘密情報格納部531と接続されている。
 レスポンス生成部641は、秘密情報格納部531から出力された値を入力に受ける。入力された値と、認証応答装置204に格納された秘密情報加工関数とを用いて、レスポンス生成部641は秘密情報を加工した値を生成する。例えば、前記秘密情報bおよび前記秘密情報加工関数φ、第2引数rを用いた場合、φ(b,r)が秘密情報を加工した値となる。次に、レスポンス生成部241は秘密情報を加工した値を用いて、チャレンジ生成部422によって送信された値に対し、レスポンスを生成する。例えば、前記秘密情報を加工した値φ(b,r)と、前記受領者指定アクセストークン内の秘密情報が加工された値の逆元が埋め込まれたハッシュ値の部分
Figure JPOXMLDOC01-appb-M000009
とを用いて、以下のような処理を行う:
Figure JPOXMLDOC01-appb-M000010
 つまり、
Figure JPOXMLDOC01-appb-M000011
がレスポンスとなる。レスポンス生成部641は、レスポンスをレスポンス判定部424に送信する。
 [動作の説明]
 図7は、本実施形態に係るアクセストークンシステム200の生成装置201の処理手順を説明するフローチャートである。アクセストークン格納部312は、図示しない入力装置から対象となる資源へのアクセストークンの入力を受ける。そして、アクセストークン格納部312は、入力を生成部311に出力する(ステップS701)。生成部311は、アクセストークン格納部312から得られた入力を用いて、Policyを生成する(ステップS703)。
 秘密情報格納部313は、格納している秘密情報を生成部311に出力する。そして、生成部311、秘密情報格納部313の出力を入力に受ける。生成部311は、入力された秘密情報を加工した値の逆元を、Policyのハッシュ値に埋め込む(ステップS705)。生成部311は、Policy部分と秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものとを連結した値と、秘密情報加工関数およびその第2引数に用いる値とを合わせ、受領者指定アクセストークンとして、出力する(ステップS707)。
 図8は、本実施形態に係るアクセストークンシステム200の検証装置202の処理手順を説明するフローチャートである。
 検証部421は、受領者指定アクセストークンを入力に受ける。なお、ここでの受領者指定アクセストークンは、秘密情報加工関数およびその第2引数を含まないことに注意する。入力に含まれるPolicyに対しハッシュ値を求め、得られた値と、入力に含まれる秘密情報を加工した値の逆元が埋め込まれている値とを比較する(ステップS801)。一致したならば、アクセスを拒否する(ステップS809)。一致しなければ、検証部段421は、入力された受領者指定アクセストークンに含まれる、Policyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれている値を、チャレンジ生成部422に渡す。チャレンジ生成部422は、入力された値を用いて、チャレンジを生成する。生成したチャレンジが埋め込まれた値は、受領者指定アクセストークンを用いてアクセスを試みたユーザに、チャレンジ自体はチャレンジ格納部423にそれぞれ渡す(ステップS803)。レスポンス判定部424は、受領者指定アクセストークンを用いてアクセスを試みたユーザが生成したレスポンスと、チャレンジ格納部423から出力されたチャレンジとを、入力に受ける。入力された値を用いて、レスポンス判定部424は、レスポンスが正しいか判定する(ステップS805)。判定の結果、誤ったレスポンスであれば、アクセスを拒否する(ステップS809)。正しいレスポンスであれば、アクセスを許可する(ステップS807)。
 [効果の説明]
 本実施形態におけるアクセストークンシステム200は、生成部311において、秘密情報格納部313から出力された、受領者の秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んでいる。これにより、アクセストークンに対し、受領者を指定することができる。受領者の秘密情報を加工した値の逆元を計算できるのは、秘密情報格納部313のみであるために、受領者の指定は解除できない。この受領者が指定されたアクセストークンでアクセスを試みる際に、チャレンジ・レスポンスが実行される。
 ここでレスポンスを生成する際に、レスポンス生成部641は、秘密情報格納部531から出力された値を用いているため、秘密情報(正確には秘密情報を加工した値)を有する受領者のみがレスポンスを生成できる。また、秘密情報加工関数は逆関数が容易に計算可能なため、秘密情報を加工した値と受領者指定アクセストークンとを不特定多数に配信した場合、秘密情報加工関数を知る者は、秘密情報を加工した値から元の秘密情報を知ることができる。これにより、悪意ある受領者によるアクセストークンの不正配信を抑止することができる。特に、秘密情報加工関数が公知な場合、誰であっても秘密情報を加工した値から元の秘密情報を得ることができ、抑止効果が高まる。
 また、悪意ある受領者によるアクセストークンの不正配信を防止することができるということは、有効期限を短くするという不正配信対策が不要となり、有効期限を無制限にすることができる。
 [第3実施形態]
 次に本発明の第3実施形態に係るアクセストークンシステムについて、図12乃至図16を用いて説明する。図12は、本実施形態に係るアクセストークンシステムの構成を示すブロック図である。本実施形態に係るアクセストークンシステムは、上記第2実施形態と比べると、生成装置が、マスク関数格納部およびマスク部を有し、検証装置が、アンマスク関数格納部およびアンマスク部を有する点で異なる。その他の構成および動作は、第2実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 [構成の説明]
 図12に示されるように、本実施形態に係るアクセストークンシステム1200は生成装置1201と検証装置1202とリクエスト装置203と認証応答装置204とを備え、生成装置1201と検証装置1202とリクエスト装置203とは外部ネットワーク経由で通信可能に接続されている。また、リクエスト装置203と認証応答装置204とは通信可能に接続されている。
 図13は、本実施形態に係るアクセストークンシステム1200の生成装置1201の構成を示すブロック図である。生成装置1201は、図13に示されるように、マスク関数格納部1311とマスク部1312とをさらに備える。生成部311は、マスク部1312とアクセストークン格納部1311と秘密情報格納部313とそれぞれ接続されている。マスク部1312は、マスク関数格納部1311と接続されている。
 生成部3121、アクセストークン格納部312が出力した値を入力に受け、文字列(Policy)を生成する。また、生成部311は、秘密情報格納部313が出力した値を入力に受ける。生成部311は、入力された秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込む。ハッシュ値の計算には生成装置1201と検証装置1202とで共有されたハッシュ関数を用いる。
 秘密情報を加工するとは、例えば、秘密情報b、秘密情報の加工関数φとする。このとき、φは逆関数を効率的に計算可能な関数であるとする。φの具体例としては、
Figure JPOXMLDOC01-appb-M000012
となる。rはパディング用の乱数であり、
Figure JPOXMLDOC01-appb-M000013
はbit列の連結演算子を意味する。このように、φによってbを十分な長さ、つまり、アクセストークンにおける秘密情報が加工された値の逆元が埋め込まれたハッシュ値に相当する部分と同程度のbit長となるように加工した場合、総当たりによってbがサーバに漏えいすることを防ぐことができる。生成部311は、前記入力された秘密情報を加工した値の逆元を、Policyのハッシュ値に埋め込む。秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込むとは、例えば、Policyのハッシュ値H(Policy)に対し、
Figure JPOXMLDOC01-appb-M000014
として埋め込む。このとき、qは十分に大きい素数で、公開されているものとする。qを選ぶのは最初のセットアップ時のみであり、アクセストークン生成の度に選び直す必要はない。生成部311は、Policyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値を、マスク部1312に渡す。
 マスク部1312は、生成部311から出力された、Policyのハッシュ値に対し秘密情報を加工した値が埋め込まれた値と、マスク関数格納部1311に格納されたマスク関数とを入力に受ける。マスク部1312は、入力に受けたPolicyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値を、入力に受けたマスク関数に対して渡し、その値を得る。例えば、入力に受けたPolicyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値を一度Base64デコードした値を、マスク関数に渡し、その出力を再びBase64エンコードする。このようにマスク関数から出力された値をPolicyに連結したものと、秘密情報の加工に用いた関数とその第2引数を、受領者指定アクセストークンとする。マスク部1312は、受領者指定アクセストークンを出力する。出力された受領者指定アクセストークンは権限の委譲先、つまり、秘密情報格納部313が出力した値の所有者(=指定された受領者)に渡される。特に、秘密情報の加工に用いた関数とその第2引数、例えば前記φとrは、認証応答装置204に格納される。
 ここでPolicyは、例えば、資源へのアクセストークンをJSON形式のファイルをBase64エンコードしたものとなる。ハッシュ関数は、例えば、フルドメインハッシュ関数となる。
 マスク関数格納部1311は、図示しない入力装置から、生成部311が出力したアクセストークンのうち、Policyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値に相当する部分をマスクするための関数を入力に受け、格納する。マスク関数は、秘密情報を加工した値の逆元の取り外しや改ざんが行えないような関数、つまり、受領者の指定を解除・改ざんできないような関数とする。例えば、生成装置1201を有するアクセストークン発行者と検証装置1202を有するサーバとの間で共有された秘密の値rと、Policyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値に相当する部分とに対しべき乗とXOR(排他的論理和)処理を行う。例えば、
Figure JPOXMLDOC01-appb-M000015
を、Policyのハッシュ値に対し秘密情報を加工した値の逆元が埋め込まれた値に相当する部分としたとき、マスクされた値というのは
Figure JPOXMLDOC01-appb-M000016
となる。
 アクセストークン格納手段312は、図示しない入力装置から対象となる資源へのアクセストークンの入力を受け、格納する。入力されたアクセストークンに対し、アクセストークンを生成する場合、アクセストークン格納部312は入力されたアクセストークンを生成部311に出力する。アクセストークンとは、例えば、URLやCookieなどが挙げられる。
 秘密情報格納部313は、図示しない入力装置からリクエスト装置203によって出力された秘密情報の入力を受け、格納する。入力された秘密情報に対し、アクセストークンを生成する場合、秘密情報格納部313は入力された秘密情報を生成部311に出力する。秘密情報とは、例えば、クレジットカード番号や免許証番号などが挙げられる。
 図14は、本実施形態に係るアクセストークンシステム1200の検証装置1202の構成を示すブロック図である。
 検証装置1202は、図14に示されるように、アンマスク関数格納部1421とアンマスク部1422とをさらに備える。アンマスク部1422は、アンマスク関数格納部1421と検証部421と接続されている。
 アンマスク関数格納部1421は、マスク関数格納部1311に格納されたマスク関数の逆関数を入力に受け、格納する。受領者指定アクセストークンに対し、アンマスクを行う際には、格納された逆関数をアンマスク部1422に出力する。
 アンマスク部1422は、検証部421から出力されたマスクされた値と、アンマスク関数格納部1421から入力されたアンマスク関数を入力に受ける。マスクされた値をアンマスク関数に渡し、Policyハッシュ値に秘密情報が加工された値の逆元が埋め込まれたものを取り出す。例えば、
Figure JPOXMLDOC01-appb-M000017
をマスクされた値に相当する部分としδとしたとき、アンマスク処理とは
Figure JPOXMLDOC01-appb-M000018
となり、取り出される値に相当する部分は、
Figure JPOXMLDOC01-appb-M000019
となる。取り出した値を検証部421に対して出力する。
 検証部421は、図示されない入力装置から出力された受領者指定アクセストークンを入力に受ける。ここでの受領者指定アクセストークンは、秘密情報加工関数とその第2引数を含まない。検証部421は、受領者指定アクセストークンから、マスクされた値を取出す。検証部421は、取り出したマスクされた値を、アンマスク部1422に出力する。アンマスク部1422から出力された値を受けて、検証部421は、入力された受領者指定アクセストークンに含まれるPolicyと、アンマスク部1422から出力された値とを、チャレンジ生成部422に出力する。
 チャレンジ生成部422は、検証部421によって出力された値に対して、チャレンジを生成し、埋め込む。例えば、チャレンジをcとしたとき、
Figure JPOXMLDOC01-appb-M000020
に対し、
Figure JPOXMLDOC01-appb-M000021
という処理を行う。チャレンジ生成部421は、受領者指定アクセストークン内の秘密情報が加工された値の逆元が埋め込まれたハッシュ値の部分に対しチャレンジを埋め込んだ値を、認証応答装置204に対して送信する。また、チャレンジ生成部422は、検証部421によって出力された値のPolicy部分に対し、共有されたハッシュ関数を用いてハッシュ値を計算し、ハッシュ値に対してチャレンジcを埋め込む。例えば、
Figure JPOXMLDOC01-appb-M000022
という処理を行う。チャレンジ生成部421は、前記ハッシュ値に対してチャレンジcを埋め込んだ値を、チャレンジ格納部423に出力する。
 チャレンジ格納部423は、チャレンジ生成部422から出力された値を入力に受ける。入力された値を、チャレンジ格納部4223は、格納・一定時間保持する。受領者指定アクセストークンを用いてアクセスしてきたユーザからレスポンスが返ってきたとき、そのレスポンスが正しいものか判定するために、チャレンジ格納部423は、格納した値をレスポンス判定部424に出力する。
 レスポンス判定部423は、認証応答装置204により出力・送信された値を入力に受ける。入力された値が、チャレンジ格納部423に格納された値と一致するとき、レスポンス判定部424は認証応答装置204を用いて値を送信してきたユーザのアクセスを許可する。一致しないとき、アクセスを拒否する。
 [動作の説明]
 図15は、本実施形態に係るアクセストークンシステム1200の生成装置1201の処理手順を説明するフローチャートである。
 アクセストークン格納部312は、図示しない入力装置から対象となる資源へのアクセストークンの入力を受ける。そして、アクセストークン格納部312は、入力を生成部311に出力する(ステップS701)。生成部311は、アクセストークン格納部312から得られた入力を用いて、Policyを生成する(ステップS703)。
 秘密情報格納部313は、格納している秘密情報を生成部311に出力する。そして、生成部311は、秘密情報格納部313の出力を入力に受ける。生成部311は、入力された秘密情報を加工した値の逆元を、Policyのハッシュ値に埋め込む(ステップS705)。マスク部1312は、生成部311が出力した秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものと、マスク関数格納部1312から渡されたマスク関数とを、入力に受ける。マスク部1312は、入力された秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものを、入力されたマスク関数に渡し、マスクされた値を計算する(ステップS1501)。マスク部1312は、マスクされた値を生成部311に出力する。生成部311は、Policyと入力とを連結したものと、秘密情報の加工に用いた関数とその第2引数を、受領者指定アクセストークンとして、出力する(ステップS707)。
 図16は、本実施形態に係るアクセストークンシステム1200の検証装置1202の処理手順を説明するフローチャートである。
 検証部421は、受領者指定アクセストークンを入力に受ける。なお、ここでの受領者指定アクセストークンは、秘密情報加工関数およびその第2引数を含まないことに注意する(ステップS1601)。アンマスク部1422は、入力された受領者指定アクセストークンに含まれるマスクされた値と、アンマスク関数格納部1421から入力されたアンマスク関数とを、入力に受ける。そして、入力された受領者指定アクセストークンに含まれるマスクされた値を、入力されたアンマスク関数に渡し、アンマスクする。アンマスク部1422は、アンマスクした値を、検証部421に出力する(ステップS1603)。
 検証部421は、ステップS1601で入力された受領者指定アクセストークンに含まれるPolicyと、ステップS1603で入力されたアンマスクした値を、チャレンジ生成部422に出力する。チャレンジ生成部422は、入力された値を用いて、チャレンジを生成する。生成したチャレンジが埋め込まれた値は、受領者指定アクセストークンを用いてアクセスを試みたユーザに、Policyとチャレンジ自体はチャレンジ格納部423にそれぞれ渡す(ステップS803)。レスポンス判定部424は、受領者指定アクセストークンを用いてアクセスを試みたユーザが生成したレスポンスと、チャレンジ格納部423から出力されたPolicyとチャレンジ自体とを、入力に受ける。入力された値を用いて、レスポンス判定部424は、レスポンスが正しいか判定する(ステップS805)。判定の結果、誤ったレスポンスであれば、アクセスを拒否する(ステップS809)。正しいレスポンスであれば、アクセスを許可する(ステップS807)。
 [効果の説明]
 本実施形態におけるアクセストークンシステム1200は、第2実施形態におけるアクセストークンシステム200と同様に、アクセストークンの不正配布を防止できる。また、アクセストークンの有効期限を無制限にできる。
 一方で、第2実施形態では「受領者の秘密情報が加工された値の逆元を生成部311のみが計算できる」という制限があった。この制限のために、RSA暗号における鍵生成のような処理を扱う必要があり、秘密情報加工関数が限定されるという問題があった。また、例えば、RSA暗号における鍵生成のような処理を行うと、秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものが合成位数N上の値となり、サイズが大きくなってしまう問題があった。また、アクセストークンシステム200では、悪意のあるユーザが
Figure JPOXMLDOC01-appb-M000023
という値を検証部421に送りつけてくる可能性がある。このような値が検証部421に送られた場合、チャレンジ・レスポンスが成功してしまうので、ステップS801にて、Policyに対してハッシュ値を計算する必要があり、分岐が発生してしまう問題があった。
 本実施形態におけるアクセストークンシステム1200は、前記の問題を解決している。アクセストークンシステム1200の場合、「受領者の秘密情報が加工された値の逆元を生成部311のみが計算できる」という制限はない。これは、マスク関数の性質として、「受領者の指定を解除・改ざんできないもの」を挙げているためである。つまり、「受領者の秘密情報が加工された値の逆元を生成部311のみが計算できる」という制限は、本質的には「受領者の指定を解除・改ざんできない」ということを実現するためであり、アクセストークンシステム2においてはマスク関数を用いてこれを実現しているということになる。さらに、例えば、秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものが素数q上の値となり、サイズが小さくなる。また、秘密情報を加工した値の逆元をPolicyのハッシュ値に埋め込んだものがマスクされているために、前記攻撃は成立しない。これにより、ステップS1601では分岐が発生しない。
 [第4実施形態]
 次に本発明の第4実施形態に係るアクセストークンシステムについて、図17乃至図21を用いて説明する。図17は、本実施形態に係るアクセストークンシステムの構成を説明するための図である。本実施形態に係るアクセストークンシステムは、上記第2実施形態および第3実施形態と比べると、生成装置および検証装置が、時刻取得部を有する点で異なる。その他の構成および動作は、第2実施形態および第3実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 [構成の説明]
 図17に示されるように、本実施形態に係るアクセストークンシステム1700は生成装置1701と検証装置1702とリクエスト装置203と認証応答装置204とを備え、生成装置1701と検証装置1702とリクエスト装置203とは外部ネットワーク経由で通信可能に接続されている。また、リクエスト装置203と認証応答装置204とは通信可能に接続されている。
 図18は、本実施形態に係るアクセストークンシステム1700の生成装置1701の構成を示すブロック図である。また、図19は、本4実施形態に係るアクセストークンシステム1700の検証装置1702の構成を示すブロック図である。
 生成装置1701は、時刻情報取得部1811をさらに備える。時刻情報取得部1811は、生成部311と接続されている。検証装置1702は、時刻情報取得部1921をさらに備える。時刻情報取得部1921は、検証部421と接続されている。
 時刻情報取得部1811は、時刻情報を取得し、生成部311に出力する。
 生成部311は、アクセストークンシステム200またはアクセストークンシステム1200におけるものと同じ。ただし、Policyを作成する際に、時刻情報取得部1811から入力された時刻情報を用いて、有効期限を連結するようにPolicyを作成する。つまり、生成部311は、有効期限指定部としても動作する。例えば、
Figure JPOXMLDOC01-appb-M000024
をPolicyとする。TTL(Time to live)は有効期限を意味する。
 検証部421は、アクセストークンシステム200またはアクセストークンシステム1200におけるものと同じ。ただし、受領者指定アクセストークンを入力に受ける際に、入力されたPolicyに含まれる有効期限を、時刻情報取得部1921から入力された時刻情報を用いて、有効か否かを判定する。つまり、検証部421は、有効期限判定部としても動作する。有効でない場合は、アクセスを拒否する。有効な場合は、引き続きアクセストークンシステム200またはアクセストークンシステム1200における検証部421と同様に動作する。
 [動作の説明]
 図20は、本実施形態に係るアクセストークンシステム1700の生成装置1701の処理手順を説明するフローチャートである。なお、図7と同様のステップについては、同じステップ番号を付与して説明を省略する。生成部311は、Policyに対して有効期限を設定する(ステップS2001)。
 図21は、本実施形態に係るアクセストークンシステム1700の検証装置1702の処理手順を説明するフローチャートである。なお、図8と同様のステップについては、同じステップ番号を付与して説明を省略する。検証部421は、期限が有効か否かについての有効期限判定を行う(ステップS2101)。なお、ステップS2101で期限が有効ではないと判定された場合、アクセスを許否する(ステップS809)。
 [効果の説明]
 第2実施形態におけるアクセストークンシステム2または第3実施形態におけるアクセストークンシステム1200と同様にアクセストークンの不正配布を防止できる。ただし、アクセストークンに有効期限が設定される。つまり、本実施形態の利点は、第2実施形態または第3実施形態に対し、従来のアクセストークンシステムと同様に、有効期限を設定できる、ということを意味する。
 [第5実施形態]
 次に本発明の第5実施形態に係るアクセストークンシステムについて、図22乃至図26を用いて説明する。図22は、本実施形態に係るアクセストークンシステムの構成を説明するための図である。本実施形態に係るアクセストークンシステムは、上記第2実施形態乃至第4実施形態と比べると、生成装置が署名鍵格納部および署名部を有し、検証装置が署名検証鍵格納部および署名検証部を有する点で異なる。その他の構成および動作は、第2実施形態乃至第4実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
 [構成の説明]
 図22に示されるように、本実施形態に係るアクセストークンシステム1700は生成装置1701と検証装置1702とリクエスト装置203と認証応答装置204とを備え、生成装置1701と検証装置1702とリクエスト装置203とは外部ネットワーク経由で通信可能に接続されている。また、リクエスト装置203と認証応答装置204とは通信可能に接続されている。
 図23は、本実施形態に係るアクセストークンシステム2200の生成装置2201の構成を示すブロック図である。検証装置2201は、署名鍵格納部2311およびデジタル署名部2312をさらに備える。デジタル署名部2312は、署名鍵格納部2311と生成部311と接続されている。
 署名鍵格納部2311は、デジタル署名方式における署名鍵を格納・保持する。ここでのデジタル署名方式とは、例えば、RSA署名や非特許文献5に記載のHMACが挙げられる。受領者指定アクセストークンに対して、デジタル署名を生成する場合、署名鍵を、デジタル署名部2312に出力する。なお、ここでの受領者指定アクセストークンとは、秘密情報の加工に用いた関数とその第2引数を含まないものとする。
 デジタル署名部2312は、生成部311が出力した受領者指定アクセストークンと、署名鍵格納部2311が出力した署名鍵とを、入力に受ける。なお、ここでの受領者指定アクセストークンとは、秘密情報の加工に用いた関数とその第2引数を含まないものとする。デジタル署名部2312は、入力された受領者指定アクセストークンに対し、入力された署名鍵を用いて署名を生成する。
 例えば、署名関数をSig.としたとき、生成部311によって、入力された受領者指定アクセストークンをそれぞれ、
Figure JPOXMLDOC01-appb-M000025

Figure JPOXMLDOC01-appb-M000026
、とすると、それぞれの署名は、
Figure JPOXMLDOC01-appb-M000027

Figure JPOXMLDOC01-appb-M000028
、とおける。デジタル署名部2312は、生成した署名を生成部311に出力する。
 生成部311は、アクセストークンシステム200およびアクセストークンシステム1200におけるものと同じ。ただし、最終的に受領者指定アクセストークンを出力する際に、デジタル署名部2312が出力した署名も付与して出力する。
 図24は、本第5実施形態に係るアクセストークンシステム2200の検証装置2202の構成を示すブロック図である。検証装置2202は、署名検証鍵格納部2421およびデジタル署名判定部2422をさらに備える。デジタル署名判定部2422は、署名検証鍵格納部2421と検証部421と接続されている。
 署名検証鍵格納部2421は、デジタル署名方式における検証鍵を格納・保持する。ここでのデジタル署名方式とは、例えば、RSA署名やHMACが挙げられる。署名を含む受領者指定アクセストークンに対して、署名検証を行う場合、検証鍵を、デジタル署名判定部2422に出力する。なお、ここでの受領者指定アクセストークンとは、秘密情報の加工に用いた関数とその第2引数を含まないものとする。
 デジタル署名判定部2422は、検証部421から出力された署名が付与された受領者指定アクセストークンと、署名検証鍵格納部2421から出力された検証鍵とを、入力に受ける。なお、ここでの受領者指定アクセストークンとは、秘密情報の加工に用いた関数とその第2引数を含まないものとする。入力された受領者指定アクセストークンに付与された署名に対し、入力された検証鍵で、署名検証を行う。検証の結果、不正な署名であればアクセスを拒否する。正当な署名であれば、正当であったとする判定結果を検証部321に出力する。
 [動作の説明]
 図25は、本実施形態に係るアクセストークンシステム2200の生成装置2201の処理手順を説明するフローチャートである。なお、図20と同様のステップについては、同じステップ番号を付与して説明を省略する。生成部311は、受領者指定アクセストークンに対して署名生成を行う(ステップS2501)。
 図26は、本実施形態に係るアクセストークンシステム2200の検証装置2202の処理手順を説明するフローチャートである。なお、図21と同様のステップについては、同じステップ番号を付与して説明を省略する。検証部421は、署名が不正か否かを判定する署名検証を行う(ステップS2601)。ステップS2601において、検証の結果、不正な署名であると判定された場合、アクセスを拒否する。(ステップS809)。有効な署名であると判定された場合は、ステップS803へと動作が進行する。
 [効果の説明]
 本実施形態によれば、第2実施形態乃至第4実施形態と同様にアクセストークンの不正配布を防止できる。ここで、もしも不正なユーザがランダムな値かつ有効期限内を意味する値を送信してきた場合、上記第2実施形態乃至第4実施形態では、チャレンジ・レスポンスの結果が分かるまで、つまりステップS805終了まで、不正なユーザによる攻撃なのか、正当に作成された受領者指定アクセストークンなのか、判断ができない。
 一方、本実施形態におけるアクセストークンシステム2200であれば、ステップS803以降の動作が実行される前に、署名検証により判断を行うことができる。これは、署名を生成できるのが署名鍵を持つユーザ、つまり署名鍵を保持する署名鍵格納部2311が格納された生成装置2201を有するユーザのみのためである。
 [他の実施形態]
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
 また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体(non-transitory computer readable medium)は本発明の範疇に含まれる。
 [実施形態の他の表現]
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段と、
 前記受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証する検証手段と、
 を備えたアクセストークンシステム。
(付記2)
 前記検証手段は、
 前記ユーザのアクセスに応じて、チャレンジを生成して送信するチャレンジ生成手段と、
 前記チャレンジに対して生成され送信されたレスポンスを判定して、前記受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証するレスポンス判定手段と、
 を有する付記1に記載のアクセストークンシステム。
(付記3)
 前記アクセストークンシステムは、送信された前記チャレンジ対するレスポンスを生成して送信するレスポンス生成手段をさらに備えた付記1または2に記載のアクセストークンシステム。
(付記4)
 前記生成手段は、前記秘密情報を加工して得られる値である加工値の逆元を前記アクセストークンから生成した文字列のハッシュ値に埋め込んで前記受領者指定アクセストークンを生成し、
 前記逆元が埋め込まれた前記ハッシュ値をマスクするマスク手段をさらに備えた付記1乃至3のいずれか1項に記載のアクセストークンシステム。
(付記5)
 前記マスク手段は、前記加工値の逆元が埋め込まれた逆元部と、前記逆元部とbit長が等しい乱数と、を用いてXOR(排他的論理和)演算を行うことによりマスクをする付記4に記載のアクセストークンシステム。
(付記6)
 前記生成手段は、前記受領者の秘密情報を総当たりが困難な値に加工した総当困難値を用いて、受領者指定アクセストークンを生成する付記1乃至5のいずれか1項に記載のアクセストークンシステム。
(付記7)
 前記受領者指定アクセストークンに有効期限を指定する有効期限指定手段と、
 有効期限が指定された前記受領者指定アクセストークンの有効期限が、有効期限内であるか否かを判定する有効期限判定手段と、
 をさらに備えた付記1乃至6のいずれか1項に記載のアクセストークンシステム。
(付記8)
 前記受領者指定アクセストークンに対してデジタル署名を生成して付与するデジタル署名生成手段と、
 前記デジタル署名が有効か否かを判定するデジタル署名判定手段と、
 をさらに備えた付記1乃至7のいずれか1項に記載のアクセストークンシステム。
(付記9)
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段を備えた情報処理装置。
(付記10)
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップを含む情報処理方法。
(付記11)
 受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップをコンピュータに実行させる情報処理プログラム。

Claims (11)

  1.  受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段と、
     前記受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証する検証手段と、
     を備えたアクセストークンシステム。
  2.  前記検証手段は、
     前記ユーザのアクセスに応じて、チャレンジを生成して送信するチャレンジ生成手段と、
     前記チャレンジに対して生成され送信されたレスポンスを判定して、前記受領者指定アクセストークンを用いてアクセスする前記ユーザが、指定された受領者であることを検証するレスポンス判定手段と、
     を有する請求項1に記載のアクセストークンシステム。
  3.  前記アクセストークンシステムは、送信された前記チャレンジ対するレスポンスを生成して送信するレスポンス生成手段をさらに備えた請求項1または2に記載のアクセストークンシステム。
  4.  前記生成手段は、前記秘密情報を加工して得られる値である加工値の逆元を前記アクセストークンから生成した文字列のハッシュ値に埋め込んで前記受領者指定アクセストークンを生成し、
     前記逆元が埋め込まれた前記ハッシュ値をマスクするマスク手段をさらに備えた請求項1乃至3のいずれか1項に記載のアクセストークンシステム。
  5.  前記マスク手段は、前記加工値の逆元が埋め込まれた逆元部と、前記逆元部とbit長が等しい乱数と、を用いてXOR(排他的論理和)演算を行うことによりマスクをする請求項4に記載のアクセストークンシステム。
  6.  前記生成手段は、前記受領者の秘密情報を総当たりが困難な値に加工した総当たり困難値を用いて、受領者指定アクセストークンを生成する請求項1乃至5のいずれか1項に記載のアクセストークンシステム。
  7.  前記受領者指定アクセストークンに有効期限を指定する有効期限指定手段と、
     有効期限が指定された前記受領者指定アクセストークンの有効期限が、有効期限内であるか否かを判定する有効期限判定手段と、
     をさらに備えた請求項1乃至6のいずれか1項に記載のアクセストークンシステム。
  8.  前記受領者指定アクセストークンに対してデジタル署名を生成して付与するデジタル署名生成手段と、
     前記デジタル署名が有効か否かを判定するデジタル署名判定手段と、
     をさらに備えた請求項1乃至7のいずれか1項に記載のアクセストークンシステム。
  9.  受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成手段を備えた情報処理装置。
  10.  受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップを含む情報処理方法。
  11.  受領者の秘密情報を用いて、前記受領者が指定された受領者指定アクセストークンを生成して、ユーザに提供する生成ステップをコンピュータに実行させる情報処理プログラム。
PCT/JP2016/087381 2016-12-15 2016-12-15 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム WO2018109897A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018556117A JP6635323B2 (ja) 2016-12-15 2016-12-15 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
US16/468,336 US11895240B2 (en) 2016-12-15 2016-12-15 System, apparatus, method and program for preventing illegal distribution of an access token
PCT/JP2016/087381 WO2018109897A1 (ja) 2016-12-15 2016-12-15 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/087381 WO2018109897A1 (ja) 2016-12-15 2016-12-15 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
WO2018109897A1 true WO2018109897A1 (ja) 2018-06-21

Family

ID=62558173

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/087381 WO2018109897A1 (ja) 2016-12-15 2016-12-15 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム

Country Status (3)

Country Link
US (1) US11895240B2 (ja)
JP (1) JP6635323B2 (ja)
WO (1) WO2018109897A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6740545B2 (ja) * 2017-05-30 2020-08-19 日本電気株式会社 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、プログラム
US11575521B2 (en) 2019-06-28 2023-02-07 Intel Corporation Fast XMSS signature verification and nonce sampling process without signature expansion
US11218320B2 (en) * 2019-06-28 2022-01-04 Intel Corporation Accelerators for post-quantum cryptography secure hash-based signing and verification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015008018A (ja) * 2009-03-04 2015-01-15 グローバル ブルー エス.エー. 還付システム及び方法
JP2016024475A (ja) * 2014-07-16 2016-02-08 富士ゼロックス株式会社 情報処理装置、管理装置、プログラム及びシステム

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US5491752A (en) * 1993-03-18 1996-02-13 Digital Equipment Corporation, Patent Law Group System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
JP3690035B2 (ja) 1997-02-06 2005-08-31 富士ゼロックス株式会社 情報アクセス制御装置および方法
JP3667988B2 (ja) * 1997-06-06 2005-07-06 株式会社日立製作所 鍵回復方法および装置
KR100274389B1 (ko) * 1997-12-24 2000-12-15 윤종용 일회용 패스워드 생성 및 이를 이용한 인증 시스템
US8056131B2 (en) * 2001-06-21 2011-11-08 Cybersoft, Inc. Apparatus, methods and articles of manufacture for intercepting, examining and controlling code, data and files and their transfer
US7861082B2 (en) * 2002-05-24 2010-12-28 Pinder Howard G Validating client-receivers
US20050044385A1 (en) * 2002-09-09 2005-02-24 John Holdsworth Systems and methods for secure authentication of electronic transactions
JP2004171258A (ja) * 2002-11-20 2004-06-17 Nec Corp パーミッショントークン管理システム及びプログラム
JP2004213265A (ja) 2002-12-27 2004-07-29 Hitachi Ltd 電子文書管理装置、文書作成者装置、文書閲覧者装置、電子文書管理方法及び電子文書管理システム
JP4487490B2 (ja) * 2003-03-10 2010-06-23 ソニー株式会社 情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラム
JP2005038411A (ja) * 2003-06-30 2005-02-10 Sony Corp 機器認証情報組込システム、端末機器、機器認証情報処理方法、機器認証情報処理プログラム、提供サーバ、機器認証情報提供方法、機器認証情報提供プログラム、及び記憶媒体
JP4608929B2 (ja) 2004-04-09 2011-01-12 富士ゼロックス株式会社 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム
JP2006099724A (ja) * 2004-09-01 2006-04-13 Matsushita Electric Ind Co Ltd ネットワーク印刷システム、印刷装置、ファクシミリ通信システム、及びファクシミリ装置
WO2006049520A1 (en) * 2004-11-02 2006-05-11 Oracle International Corporation Systems and methods of user authentication
US8224754B2 (en) * 2004-12-15 2012-07-17 Microsoft Corporation Generation, distribution and verification of tokens using a secure hash algorithm
CA2542556C (en) * 2005-06-03 2014-09-16 Tata Consultancy Services Limited An authentication system executing an elliptic curve digital signature cryptographic process
WO2006132597A1 (en) * 2005-06-07 2006-12-14 Matsushita Electric Industrial Co., Ltd. Systems, methods and computer program products for authorising ad-hoc access
CA2641418C (en) * 2006-02-03 2014-02-25 Mideye Ab A system, an arrangement and a method for end user authentication
KR100722363B1 (ko) * 2006-03-13 2007-05-28 강민섭 강력한 인증 프로토콜을 갖는 rfid 시스템, 태그 및인증 방법
US7693053B2 (en) * 2006-11-15 2010-04-06 Sony Computer Entertainment Inc. Methods and apparatus for dynamic redistribution of tokens in a multi-processor system
CN101589400B (zh) * 2007-01-26 2012-06-20 日本电气株式会社 权限管理方法及系统、该系统中使用的服务器和信息设备终端
JP5079024B2 (ja) * 2008-02-20 2012-11-21 三菱電機株式会社 検証装置及び暗号文復号装置及び署名検証装置及び認証装置及び暗号システム及びコンピュータプログラム
JP4470071B2 (ja) 2008-03-03 2010-06-02 フェリカネットワークス株式会社 カード発行システム、カード発行サーバ、カード発行方法およびプログラム
KR101496347B1 (ko) * 2008-04-14 2015-02-27 삼성전자주식회사 파일 저장/검색 장치 및 방법
CN101610273B (zh) * 2009-08-03 2011-12-28 西安西电捷通无线网络通信股份有限公司 一种安全的远程证明方法
US9774678B2 (en) * 2009-10-29 2017-09-26 International Business Machines Corporation Temporarily storing data in a dispersed storage network
JP5450199B2 (ja) * 2010-03-26 2014-03-26 パナソニック株式会社 通信システム及びこの通信システムに用いられる通信装置
US8412928B1 (en) * 2010-03-31 2013-04-02 Emc Corporation One-time password authentication employing local testing of candidate passwords from one-time password server
JP2011243093A (ja) * 2010-05-20 2011-12-01 Canon Inc 情報処理装置、ユーザ認証方法、及びコンピュータプログラム
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算系统、类似度计算装置以及类似度计算方法
US8555079B2 (en) * 2011-12-06 2013-10-08 Wwpass Corporation Token management
JP5380566B2 (ja) * 2012-03-21 2014-01-08 株式会社東芝 言語処理装置、プログラムおよび方法
WO2014068734A1 (ja) * 2012-10-31 2014-05-08 株式会社日立製作所 データ保持検証システム及び方法
JP6044299B2 (ja) 2012-11-26 2016-12-14 富士通株式会社 データ参照システムおよびアプリケーション認証方法
US20160127365A1 (en) * 2013-04-02 2016-05-05 Verayo, Inc. Authentication token
US9430624B1 (en) * 2013-04-30 2016-08-30 United Services Automobile Association (Usaa) Efficient logon
US9098687B2 (en) 2013-05-03 2015-08-04 Citrix Systems, Inc. User and device authentication in enterprise systems
US9313024B1 (en) * 2013-06-13 2016-04-12 Masergy Communications, Inc. Keyed communication token
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
KR101683251B1 (ko) * 2014-03-27 2016-12-06 한국전자통신연구원 센서 네트워크에서 센서 노드 설정 방법, 보안 설정 방법 및 이를 포함하는 센서 네트워크 시스템
US10180882B2 (en) * 2014-05-16 2019-01-15 Nec Corporation Information-processing device, processing method, and recording medium in which program is recorded
FR3027177B1 (fr) * 2014-10-13 2016-11-04 Morpho Procede d'authentification d'un dispositif client aupres d'un serveur a l'aide d'un element secret
US9509825B2 (en) * 2014-12-07 2016-11-29 Chon Hock LEOW System and method of secure personal identification
US11120436B2 (en) * 2015-07-17 2021-09-14 Mastercard International Incorporated Authentication system and method for server-based payments
CN108292992A (zh) * 2015-09-04 2018-07-17 慧与发展有限责任合伙企业 利用密钥和推导参数进行密码生成
US11290277B2 (en) * 2016-02-18 2022-03-29 Hitachi, Ltd. Data processing system
US20180063095A1 (en) * 2016-09-01 2018-03-01 AtCipher.com Limited Data encipherment prior to recipient selection
US10496638B2 (en) * 2016-12-07 2019-12-03 City University Of Hong Kong Systems and methods for privacy-assured similarity joins over encrypted datasets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015008018A (ja) * 2009-03-04 2015-01-15 グローバル ブルー エス.エー. 還付システム及び方法
JP2016024475A (ja) * 2014-07-16 2016-02-08 富士ゼロックス株式会社 情報処理装置、管理装置、プログラム及びシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
vol. 5, no. 9, 15 September 2014 (2014-09-15), pages 2072 - 2080 *

Also Published As

Publication number Publication date
JPWO2018109897A1 (ja) 2019-07-25
JP6635323B2 (ja) 2020-01-22
US20200177389A1 (en) 2020-06-04
US11895240B2 (en) 2024-02-06

Similar Documents

Publication Publication Date Title
JP7181539B2 (ja) 利用者識別認証データを管理する方法および装置
JP4622811B2 (ja) 電子文書の真正性保証システム
US20200112430A1 (en) Systems and Methods for Deployment, Management and Use of Dynamic Cipher Key Systems
US8775794B2 (en) System and method for end to end encryption
CN101834853B (zh) 匿名资源共享方法和系统
KR102177794B1 (ko) 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
JP2007511810A (ja) 乱数関数を利用した実行証明
JP6740545B2 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、プログラム
CN114008968A (zh) 用于计算环境中的许可授权的系统、方法和存储介质
US11411731B2 (en) Secure API flow
KR20120007509A (ko) 일종의 신분 인증 및 공유키 생성방법
JP7376727B2 (ja) 暗号学的に安全な要求の検証
JP5452192B2 (ja) アクセス制御システム、アクセス制御方法およびプログラム
Kubovy et al. A secure token-based communication for authentication and authorization servers
WO2018109897A1 (ja) アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
CN108777673B (zh) 一种在区块链中进行双向身份认证方法
CN111563734A (zh) 一种数字资产转移方法、装置及电子设备和存储介质
EP3635609B1 (en) Apparatus and method for verificability /auditability of correct process execution on electronic platforms
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN111314059B (zh) 账户权限代理的处理方法、装置、设备及可读存储介质
JP2019102959A (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
CN106411826A (zh) 一种数据访问的方法及设备
CN108289100A (zh) 一种安全访问方法、终端设备及系统
JP2014081887A (ja) セキュアシングルサインオン方式およびプログラム

Legal Events

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

Ref document number: 16924072

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018556117

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16924072

Country of ref document: EP

Kind code of ref document: A1