CPC H04L 63/101 (2013.01) [H04L 45/04 (2013.01); H04L 63/0876 (2013.01)] | 20 Claims |
1. A computing device comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the computing device to:
receive, from a first user device, a first request to access a resource;
determine, based on the first request and in response to receiving the first request from the first user device, a first identifier that uniquely identifies the first user device;
upon authenticating the first user device, generate a pre-signed Uniform Resource Locator (URL) indicating a location of the resource, wherein the pre-signed URL comprises an indication that is only usable by the first user device to access the resource;
generate a signed URL by prefixing the pre-signed URL with the first identifier of the first user device, wherein the signed URL is encrypted with a signing key associated with the first user device;
receive a second request to access the resource, wherein the second request comprises the signed URL;
determine a second identifier corresponding to the second request, wherein the second identifier uniquely identifies a second user device, and the first user device and the second user device are associated with a same organization, and wherein the first identifier and the second identifier comprise Internet Protocol (IP) addresses falling within an IP range whitelist associated with the same organization; and
based on comparing the second identifier with the first identifier in the signed URL, deny the second request access to the resource.
|