FIELD

The present disclosure relates to enhancing the security of login credentials, specifically the use of a blockchain for storage of login credentials where distribution thereof is highly controlled such that only authorized entities may receive account tokens eligible for login of a user to receive account information and at times authorized by the user.

BACKGROUND

A goal of many websites on the Internet is to make things as easy as possible from a user standpoint, to encourage user registration and increase user retention. Many websites offer personalized experiences to users, which require the users to register with the website or otherwise provided personal information that can be used to tailor the experience to the user or otherwise provided personalized services to the user. However, in many instances, a complicated or time-consuming registration process may discourage the user from participating and result in the user leaving the website. Thus, websites are often seeking ways to make the registration process as quick and easy as possible for users.

One method that has become prevalent is the use of third-party services to log in to a website. In such a method, the website provides a link to the third-party service, which will ask permission from the user to share their information with the website in a single prompt, and then provide such information to the website upon acceptance by the user. The result is that the user is registered with the new website, and the new website has received their personal information, in as little as two clicks. These services, such as those offered by Facebook® or Google®, enable websites to offer personalized experiences to users while minimizing user impact, and also providing peace of mind to users that trust these third party services but may be wary of providing an e-mail address and password to the website.

However, while these services make it easier for a user to register or log in to a website, they often require the user to give up a level of control over their information. Traditionally, third party services operate by providing an account token, a digital data file that includes unique identification of the user and any other information necessary for the third party to identify the user's account information, to the website, which the website can present to the third party any time account information is desired. There arises a technical problem in that these account tokens are typically shareable and do not expire except as subject to any agreement between the website and the third party service. This enables websites that use the account tokens to identify common users via their tokens and share the tokens with other websites that have not been explicitly authorized. In addition, current processes make it difficult and time consuming for a user to control authorization of their account tokens, requiring the user to navigate to the third party service, log in, identify settings that enable the user to change permissions, identify the website for which the user would like to change permissions, and then actually change the permissions. This is a problem with the technology being employed, and it is a time consuming, and often confusing, process for users, which ends up discouraging the user from controlling access to their own personal information. Thus, there is a need for a technical solution to provide better user access and control over their account tokens and the usage thereof at websites.

SUMMARY

The present disclosure provides a description of systems and methods for secure storage and distribution of account tokens. A blockchain is used to store account tokens, preventing any single entity, including the third party service, from having complete control over and access to the user's account tokens. In addition, smart contracts or other suitable forms of data are used to control the access to and usage of each account token, such that only an authorized entity may obtain and use an account token and where expirations are built in to prevent sharing and misuse of the account token. The result is that websites must obtain a new account token each time personal information is desired, but where the account token can only be obtained if the website is authorized and where such authorization is explicitly allowed by the user on an ongoing basis. Thus, users have greater control over usage of account tokens for third party services, which provides greater control over their account information and who may obtain the information, as well as when. The processing server and blockchain network discussed below therefore provides a technological solution to the technical problem in existing third party login schemes for websites.

A method for secure storage and distribution of account tokens includes: storing, in a memory of a processing server, blockchain data, wherein the blockchain data is comprised of a plurality of blocks, each block including at least a block header and one or more data values, where each data value includes at least an identification value, an account token, and one or more usage rules; receiving, by a receiver of the processing server, a login request, wherein the login request includes at least a specific identification value and a set of credentials; identifying, by the processing server, a specific data value included in the blockchain data where the included identification value corresponds to the received specific identification value; validating, by the processing server, the set of credentials based on the identified specific data value and access to the account token included in the specific data value based on the included one or more usage rules; and electronically transmitting, by a transmitter of the processing server, the account token included in the identified specific data value in response to the login request upon successful validation.

A system for secure storage and distribution of account tokens includes: a memory of a processing server configured to store blockchain data, wherein the blockchain data is comprised of a plurality of blocks, each block including at least a block header and one or more data values, where each data value includes at least an identification value, an account token, and one or more usage rules; a receiver of the processing server configured to receive a login request, wherein the login request includes at least a specific identification value and a set of credentials; the processing server configured to identify a specific data value included in the blockchain data where the included identification value corresponds to the received specific identification value, and validate the set of credentials based on the identified specific data value and access to the account token included in the specific data value based on the included one or more usage rules; and a transmitter of the processing server configured to electronically transmit the account token included in the identified specific data value in response to the login request upon successful validation.

