Patent ID: 11943370
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
Field: Digital communication (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 16:
17. A computer system comprising one or more processors, one or more computer readable memories, and one or more computer readable non-transitory storage mediums, and program instructions stored on at least one of the one or more computer readable non-transitory storage mediums for execution by at least one of the one or more processors via at least one of the one or more computer readable memories, the stored program instructions executed to perform a method comprising:
receiving, from a native application on a device, an initial authorization grant, a public key of a private/public key pair generated on the device, and an attestation of authenticity of the native application;
receiving, from the native application on the device, a refresh token and a digital signature of the refresh token that is created with the private key, wherein the authorization server recognizes the refresh token only if the refresh token is verified with the public key that has been previously registered;
validating the digital signature of the refresh token; and
in response to validating the refresh token from the native application on the device, transmitting a new access token and a new refresh token from the authorization server to the native application on the device, wherein the new access token allows the native application on the device to access the computer resource;, wherein:
the new access token is a first new access token and the new refresh token is a first new refresh token; and
the method further comprises:
storing, in a blockchain architecture, a stored blockchain that comprises the initial authorization grant, the public key, the attestation of authenticity of the native application, the refresh token, and the digital signature of the refresh token that are utilized by the authentication server to generate the first new access token and the first new refresh token;
retrieving, from the blockchain architecture, the stored blockchain;
generating, by the authentication server, a second new access token and a second new refresh token by using the initial authorization grant, the public key, the attestation of authenticity of the native application, the refresh token, and the digital signature of the refresh token from the stored blockchain;
comparing, by one or more processors, the first new access token and the first new refresh token to the second new access token and the second new refresh token in order to determine that the first new access token and the first new refresh token do not match the second new access token and the second new refresh token; and
in response to determining that the first new access token and the first new refresh token do not match the second new access token and the second new refresh token, blocking, by one or more processors, transmission of the first new access token and the first new refresh token generated by the authorization server from the authorization server to the native application.