Clock-synced transient encryption
AssigneeSalesforce, Inc.
InventorsPrashanth KANNAN, Prabhjot SINGH
Life of this patent
Estimating the term…
Abstract
A request for a transaction between a client system and a server system may be processed. The transaction may be associated with transmission of data between the client system and the server system. The data may be encrypted using a transient encryption key to form encrypted data. The transient encryption key may be a synced-clock random number configured to automatically change when a designated time interval elapses. The encrypted data may be transmitted between the client system and the server system.
Claims20
A method comprising:
- after establishing a first channel between a client system and a server system as a trusted channel, receiving, via the first channel from the server system, a seed value in a cache of a web browser operating on the client system;
- transmitting a request for a transaction associated with transmission of data, via the web browser, between the client system and the server system;
- using a transient encryption key generated based on the seed value, using one or more processors, encrypting, via the web browser by accessing the seed value, the data to form encrypted data, the transient encryption key being a synced-clock random number configured to automatically change when a designated time interval elapses, the synced-clock random number being accessible to the server system and the client system, the synced-clock random number being based on a designated clock accessible to the server and the client system;
- and
- transmitting the encrypted data from the client system to the server system.
A security system implemented by one or more processors, the security system being configurable to cause:
- after establishing a first channel between a client system and a server system as a trusted channel, causing storage of, via the first channel from the server system, a seed value in a cache of a web browser operating on the client system;
- processing a request for a transaction associated with transmission of data, via the web browser, between the client system and the server system;
- using a transient encryption key generated based on the seed value, using one or more processors, causing encryption of, via the web browser by accessing the seed value, the data to form encrypted data, the transient encryption key being a synced-clock random number configured to automatically change when a designated time interval elapses, the synced-clock random number being accessible to the server system and the client system, the synced-clock random number being based on a designated clock accessible to the server and the client system;
- and
- causing transmission of the encrypted data from the client system to the server system.
The security system of claim9, wherein encryption of the data occurs at an application layer associated with a web application being interacted with by a user of the client system, the web application being hosted by the server system.
A computer program product comprising a non-transitory computer-readable medium storing computer-readable program code capable of being executed by one or more processors when retrieved from the non-transitory computer-readable medium, the program code comprising instructions configurable to cause:
- after establishing a first channel between a client system and a server system as a trusted channel, causing storage of, via the first channel from the server system, a seed value in a cache of a web browser operating on the client system;
- processing a request for a transaction associated with transmission of data, via the web browser, between the client system and the server system;
- using a transient encryption key generated based on the seed value, using one or more processors, causing encryption of, via the web browser by accessing the seed value, the data to form encrypted data, the transient encryption key being a synced-clock random number configured to automatically change when a designated time interval elapses, the synced-clock random number being accessible to the server system and the client system, the synced-clock random number being based on a designated clock accessible to the server and the client system;
- and
- causing transmission of the encrypted data from the client system to the server system.
Dependencies are inferred from the claim text.