IP Library Granted Patent US 12683940
Granted Patent B2
US 12683940 · App. 19/319,685 · Granted Jul 14, 2026

Information processing system, one or more non-transitory computer-readable storage media having program stored therein, and authentication method

Inventors: Tatsuhiro Shirai (Kyoto, JP); Takayuki Ohnishi (Kyoto, JP); Norihiro Kozawa (Kyoto, JP); Yohei Fushii (Kyoto, JP); Shoya Ota (Kyoto, JP); Hitoshi Sakai (Kyoto, JP); Yusuke Ido (Kyoto, JP); Yasunari Umano (Kyoto, JP); Eugene Borisov (Redmond, WA); Vijay Ganesan (Redmond, WA); Theowen Le Maitre (Paris, FR); Sylvain Gaeremynck (Paris, FR)
Assignee: Nintendo Co., Ltd.
H04L63/0428H04L9/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12683940
App. No.
19/319,685
Granted
Jul 14, 2026
Kind
B2
Abstract

A server issues challenge data and transmits the challenge data to a client. The client stores encrypted group data including a plurality of encrypted data encrypted with a server key, and parameter data A, in a memory, receives the challenge data, generates response data using a response key on the client side, and transmits the response data, the encrypted group data, and the parameter data A to the server. The server selects encrypted data to be used from the received encrypted group data, based on the received parameter data A, sets a response key on the server side, based on the selected encrypted data and data decrypted with the server key, verifies the received response data, based on the challenge data and the response key on the server side, and notifies a result of the verification to the client. The client receives the notification.

Claims (81)

1 . An information processing system comprising a client and a server connected to a network, the information processing system to perform an authentication process on the client according to a challenge & response method, between the client and the server,

the server comprising

one or more processors, and

one or more memories storing instructions that, when executed, cause the one or more processors to perform a first set of operations comprising issuing challenge data and transmitting the challenge data to the client,

the client comprising

one or more processors, and

one or more memories storing parameter data to which a signature is attached, unsigned parameter data, and a plurality of encrypted data encrypted with a server key and instructions that, when executed, cause the one or more processors to perform a second set of operations comprising

receiving the challenge data,

generating response data from the received challenge data, using a response key on the client side, and

transmitting the generated response data, the plurality of encrypted data, the parameter data, and the unsigned parameter data to the server,

the first set of operations further comprising

receiving the response data, the plurality of encrypted data, the parameter data, and the unsigned parameter data,

selecting encrypted data to be used from the received plurality of encrypted data, based on at least the received parameter data and the received unsigned parameter data,

decrypting the selected encrypted data with the server key,

setting a response key on the server side, based on at least the decrypted data,

verifying the received response data, based on at least the challenge data and the set response key on the server side, and

notifying the client of a result of the verification, and

the second set of operations further comprising receiving the result of the verification.

2 . The information processing system according to claim 1 , wherein

the plurality of encrypted data and the parameter data are signed together,

the first set of operations further comprises verifying the signature,

the selecting is performed based on at least the parameter data on which the verification of the signature has been performed, and

the setting of the response key on the server side is performed based on at least the encrypted data on which the signature has been verified.

3 . The information processing system according to claim 1 , wherein

the plurality of encrypted data is signed,

the first set of operations further comprises verifying the signature, and

the setting of the response key on the server side is performed based on at least the encrypted data on which the signature has been verified.

4 . The information processing system according to claim 1 , wherein the plurality of encrypted data comprise a plurality of derived key data generated from the same master key.

5 . The information processing system according to claim 4 , wherein the plurality of encrypted data comprise a plurality of derived key data generated such that each derived key data is different, by a variable parameter.

6 . The information processing system according to claim 1 , wherein

correspondence relationship data indicating a correspondence relationship at least between the parameter data and the encrypted data in the plurality of encrypted data is stored in the one or more memories of the server, and

the selecting is performed based on at least the parameter data, by referring to the correspondence relationship data.

7 . The information processing system according to claim 1 , wherein

each of the encrypted data included in the plurality of encrypted data is encrypted with a different respective server key,

the first set of operations further comprises specifying a server key, based on at least the received parameter data, and

the decrypting performed based on at least the specified server key.

8 . The information processing system according to claim 1 , wherein

each of the encrypted data included in the plurality of encrypted data is generated by a first calculation for setting the response key on the server side, and

the setting of the response key on the server side further comprises performing a second calculation to set the response key on the server side, the second calculation being based on at least the decrypted data and the parameter data and different from the first calculation.

9 . The information processing system according to claim 1 , wherein

each of the plurality of encrypted data comprises is encrypted with a different respective server key,

the first set of operations further comprises specifying a server key, based on at least the signed parameter data and the unsigned parameter data, and

the decrypting is performed based on at least the specified server key.

10 . The information processing system according to claim 1 , wherein

correspondence relationship data indicating a correspondence relationship between at least the singed parameter data, the unsigned parameter data, and the encrypted data is stored in the one or more memories of the server, and

the selecting is performed, based on at least the signed parameter data and the unsigned parameter data on which the signature has been verified, by referring to the correspondence relationship data.

11 . The information processing system according to claim 1 , wherein

each of the plurality encrypted data is generated by a first calculation for setting the response key on the server side, and

the setting of the response key on the server side further comprises performing a second calculation, different from the first calculation, based on at least the decrypted data, the signed parameter data, and the unsigned parameter data.

12 . One or more non-transitory computer-readable storage media storing instructions that, when executed, cause a client computer in a server and client system to perform operations comprising:

receiving challenge data from the server;

generating response data from the received challenge data, using a response key on the client side;

reading, from a memory of the client, parameter data to which a signature is attached, unsigned parameter data, and a plurality of encrypted data encrypted with a server key and used for setting a response key on the server side;

transmitting the generated response data, the plurality of encrypted data, the parameter data, and the unsigned parameter data to the server for selecting one of the plurality of encrypted data; and

receiving, from the server, a result of verification of the generated response data transmitted from the client, the verification being based on at least the challenge data and a response key set on the server side, the response key being set on the server side based on at least decrypted data, the decrypted data being decrypted with the server key from encrypted data selected from the transmitted plurality of encrypted data based on at least the transmitted parameter data and the transmitted unsigned parameter data.

13 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein the plurality of encrypted data and the parameter data are signed together.

14 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein the plurality of encrypted group data is signed.

15 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein each of the plurality of encrypted data comprises derived key data generated from the same master key.

16 . The one or more non-transitory computer-readable storage media according to claim 15 , wherein each of the plurality of encrypted data comprises derived key data generated such that each derived key data is different, by a variable parameter.

17 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein

each of the plurality of encrypted data is encrypted with a different respective server key, and

the parameter data is used for specifying the server key.

18 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein each of the plurality of encrypted data is generated by a calculation for setting the response key on the server side.

19 . The one or more non-transitory computer-readable storage media according to claim 12 , wherein

each of the plurality of encrypted data is encrypted with a different respective server key, and

the signed parameter data and the unsigned parameter data are used for specifying the server key.

20 . The one or more non-transitory computer-readable storage media according to claim 19 , wherein each of the plurality of encrypted data is generated by a calculation for setting the response key on the server side.

21 . A computer-implemented method for, between a client and a server connected to a network, performing authentication on the client according to a challenge & response method, the computer-implemented method comprising:

performing, at the server, operations comprising issuing challenge data and transmitting the challenge data to the client,

performing, at the client, operations comprising

receiving the challenge data,

generating response data from the received challenge data, using a response key on the client side, and

transmitting the generated response data, a plurality of encrypted data encrypted with a server key, parameter data to which a signature is attached, and unsigned parameter data to the server,

further performing, at the server, operations comprising

receiving the response data, the plurality of encrypted data, the parameter data, and the unsigned parameter data,

selecting the encrypted data to be used from the received plurality of encrypted data, based on at least the received parameter data and the received unsigned parameter data,

decrypting the selected encrypted data with the server key,

setting a response key on the server side, based on at least the decrypted data,

verifying the received response data, based on at least the challenge data and the set response key on the server side, and

notifying the client of a result of the verification, and

further performing, at the client, operations comprising receiving the result of the verification.