DYNAMIC CRYPTOGRAPHIC POLYMORPHISM (DCP) SYSTEM AND METHOD
Described herein is a method of enhancing the security of an internet transaction which includes the transmission of structurally formatted information, the method including the steps of: transmitting a request for the structurally formatted information across a network environment; receiving the request and sending a formulated response requiring calculation and decoding to determine the nature and content of the structurally formatted information; and receiving the structurally formatted information.
1 . A method of enhancing the security of an internet server, the method including:
receiving a request at the internet server for data from a client device via a network;
determining a hash based on a number and a seed at the internet server, wherein the complexity of the hash is altered in accordance with a calculated level of risk of insecurity of the network;
sending, from the internet server to the client device, a response to the request, the response including the hash and the seed;
receiving, at the internet server, a browser determined answer that is based on the hash and the seed; and
sending the data, from the internet server to the client device, if the browser determined answer matches the number.
2 . The method of claim 1 , wherein altering the complexity of the hash includes increasing an expected level of computational resources required by the client device to determine the browser determined answer.
3 . The method of claim 1 , wherein altering the complexity of the hash is in response to a load on the internet server.
4 . The method of claim 1 , wherein the seed includes a series of missing elements that are determined by the client device.
5 . The method of claim 1 , further comprising rate limiting submission of valid data over the network based on a plurality of requests at the internet server for data from the client device.
6 . The method of claim 1 , further comprising flagging the client device as a suspect client device for receipt of future requests if the browser determined answer does not match the number.
7 . The method of claim 1 , wherein the browser determined answer is based on a one-way hash function.
8 . The method of claim 7 , wherein the browser determined answer is based on attempting successive integers in a solution of the one-way hash function.
9 . The method of claim 1 , wherein the number is a randomly generated number.
10 . The method of claim 1 , wherein the data is web data.
11 . The method of claim 1 , wherein the data is form data.
12 . The method of claim 1 , wherein the data is structurally formatted information.
13 . An apparatus for enhancing the security of an internet server, the apparatus including:
at least one processor;
a computer system operatively coupled to the at least one processor; and
a network environment operatively coupled to the at least one processor, wherein the at least one processor includes instructions structured to carry out,
receiving a request at the internet server for data from a client device via a network;
determining a hash based on a number and a seed at the internet server, wherein the complexity of the hash is altered in accordance with a calculated level of risk of insecurity of the network;
sending, from the internet server to the client device, a response to the request, the response including the hash and the seed;
receiving, at the internet server, a browser determined answer that is based on the hash and the seed; and
sending the data, from the internet server to the client device, if the browser determined answer matches the number.
14 . The apparatus of claim 13 , wherein altering the complexity of the hash includes increasing an expected level of computational resources required by the client device to determine the browser determined answer.
15 . The apparatus of claim 13 , wherein altering the complexity of the hash is in response to a load on the internet server.
16 . The apparatus of claim 13 , further comprising rate limiting submission of valid data over the network based on a plurality of requests at the internet server for data from the client device.
17 . The apparatus of claim 13 , further comprising flagging the client device as a suspect client device for receipt of future requests if the browser determined answer does not match the number.
18 . A computer readable medium storing instructions structured to carry out,
receiving a request at the internet server for data from a client device via a network;
determining a hash based on a number and a seed at the internet server, wherein the complexity of the hash is altered in accordance with a calculated level of risk of insecurity of the network;
sending, from the internet server to the client device, a response to the request, the response including the hash and the seed;
receiving, at the internet server, a browser determined answer that is based on the hash and the seed; and
sending the data, from the internet server to the client device, if the browser determined answer matches the number.
19 . The computer readable medium of claim 18 , wherein altering the complexity of the hash includes increasing an expected level of computational resources required by the client device to determine the browser determined answer.
20 . The computer readable medium of claim 18 , wherein altering the complexity of the hash is in response to a load on the internet server.
21 . The computer readable medium of claim 18 , further comprising rate limiting submission of valid data over the network based on a plurality of requests at the internet server for data from the client device.
22 . The computer readable medium of claim 18 , further comprising flagging the client device as a suspect client device for receipt of future requests if the browser determined answer does not match the number.