Electric vehicle charging station system
An electric vehicle charging station system having, at least: an EV charging station that includes a supply part configured to supply electric energy to at least one vehicle battery, a computing device configured to manage supplying of electric energy to electric vehicles, and a transactions module of a station application stored in and executable by the computing device of the EV charging station. The transactions module and other modules of or associated with the EV charging station or an electric vehicle can leverage asymmetric cryptography and peer-to-peer networks and systems to provide secure supplying of electric energy from the EV charging station to an electric vehicle and recording of information on the station supplying electric energy to the vehicles.
1 . A computing device, comprising:
a processor; and
a memory storing a vehicle charging application and a blockchain management module and executable by the processor;
wherein the vehicle charging application is configured to cause the computing device to:
receive a vehicle communication to initiate supplying electric energy, the vehicle communication comprising vehicle identification information, a vehicle public key, a vehicle certificate associating the vehicle public key to the vehicle identification information, a respective freshness factor, and a vehicle digital signature signed using a vehicle private key corresponding to the vehicle public key;
verify the vehicle certificate and a vehicle digital signature in the vehicle communication and verify the vehicle digital signature using the vehicle public key in the vehicle communication; and
in response to a successful verification of the vehicle digital signature:
send a station communication, the station communication comprising station identification information, a station public key, a station certificate associating the station public key to the station identification information, and a station digital signature signed using a station private key corresponding to the station public key; and
initiate supplying electric energy to an electric vehicle; and
wherein during supplying of the electric energy, the vehicle charging application is configured to cause the computing device to:
receive additional vehicle communications, each respective communication of the plurality of additional vehicle communications comprising the vehicle identification information, the vehicle public key, a respective vehicle digital signature of the respective communication, and a respective freshness factor configured to differentiate the respective communication and prevent the respective communication to be reused; and
in response to receiving a given communication of the additional vehicle communications:
determine whether a session with the vehicle application has expired;
continue supplying the electric energy in response to a determination that the session has not expired; and
terminate the supplying of the electric energy in response to at least a determination that the session has expired.
2 . The computing device of claim 1 , wherein the blockchain management module is further configured to record digital signatures from both a vehicle and a charging station to the new block.
3 . The computing device of claim 2 , wherein the blockchain management module is further configured to:
generate and record, to the new block, a hash of all data recorded to the blockchain that comprises a hash of the recorded data of the new block and a hash of all data recorded to blocks of the blockchain prior to generation of the new block; and
record, to the new block, the hash of all data recorded to blocks of the blockchain prior to generation of the new block.
4 . The computing device of claim 3 , wherein the hash of the recorded data of the new block is included in at least one of the digital signatures from the vehicle and the charging station.
5 . The computing device of claim 3 , wherein the blockchain management module is further configured to broadcast the recorded data of the new block into a peer-to-peer network.
6 . The computing device of claim 5 , wherein the computing device is a peer node in the peer-to-peer network, and
wherein the computing device comprises a storage system configured to store a copy of the recorded data of the new block.
7 . The computing device of claim 1 , wherein in response to the successful verification of the vehicle digital signature, the vehicle charging application is configured to send a station communication, wherein the station communication includes a message, and wherein the message is selected from the group consisting of a request for payment information, a charging status, an acknowledgment, and an instruction.
8 . The computing device of claim 1 , wherein the freshness factor is selected from the group consisting of a timestamp, a message sequence number, a current total message count, a pseudorandom number, a random number, a percentage-based charging status of the vehicle, and a temporal-based charging status of the vehicle.
9 . The computing device of claim 1 , further comprising a blockchain management module of the station application stored in and executable by the computing device, the blockchain management module configured to:
generate a new block of a blockchain; and
record, to the new block of the blockchain, information associated with an instance of supplying electric energy.
10 . The computing device of claim 9 , wherein the blockchain management module is further configured to record a time of charging, an amount of electric energy supplied, and an amount paid to the new block.
11 . A method, comprising:
receiving, by a transactions module stored in and executable by a computing device of a charging station, a vehicle communication to initiate supplying of electric energy by the charging station, the vehicle communication comprising vehicle identification information, a vehicle public key, a vehicle certificate associating the vehicle public key to the vehicle identification information, a respective freshness factor, and a vehicle digital signature signed using a vehicle private key corresponding to the vehicle public key;
verifying, by the transactions module, a vehicle certificate and a vehicle digital signature in the vehicle communication and then verifying the vehicle digital signature using the vehicle public key in the vehicle digital signature; and
in response to a successful verification of the vehicle digital signature:
sending, by the transactions module, a station communication to the vehicle charging application, the station communication comprising station identification information, a station public key, a station certificate associating the station public key to the station identification information, and a station digital signature signed using a station private key corresponding to the station public key; and
initiating, by the transactions module, supplying electric energy;
during supplying of the electric energy:
receiving, by the transactions module, a plurality of additional vehicle communications from the vehicle application, each respective communication of the plurality of additional vehicle communications comprising the vehicle identification information, the vehicle public key, a respective vehicle digital signature of the respective communication, and a respective freshness factor configured to differentiate the respective communication and prevent the respective communication to be reused;
determining, by the transactions module, whether a session between a station application and a vehicle application has expired;
continuing, by the transactions module, supplying of the electric energy in response to a determination that the session has not expired; and
terminating, by the transactions module, supplying of the electric energy in response to at least a determination that the session has expired.
12 . The method of claim 11 , further comprising:
generating and recording, by a blockchain management module, to the new block, a hash of all data recorded to the blockchain that comprises a hash of the recorded data of the new block and a hash of all data recorded to blocks of the blockchain prior to generation of the new block; and
record, to the new block, the hash of all data recorded to blocks of the blockchain prior to generation of the new block.
13 . The method of claim 12 , wherein the hash of the recorded data of the new block is included in at least one of the digital signatures from the vehicle and the charging station.
14 . The method of claim 12 , further comprising broadcasting, by the blockchain management module, the recorded data of the new block into a peer-to-peer network.
15 . The method of claim 14 , wherein the computing device of the charging station is a peer node in the peer-to-peer network, and wherein the method further comprises storing, by a storage system of the computing device of the charging station, a copy of the recorded data of the new block.
16 . The method of claim 11 , further comprising, sending a station communication, wherein the station communication includes a message, wherein the message of the station communication is selected from the group consisting of a request for payment information, a charging status, an acknowledgment, and an instruction, and wherein the freshness factor of the vehicle communication is selected from the group consisting of a timestamp, a message sequence number, a current total message count, a pseudorandom number, a random number, a percentage-based charging status of the vehicle, and a temporal-based charging status of the vehicle.
17 . The method of claim 11 , further comprising:
generating, by a blockchain management module of the station application stored in the computing device of the charging station, a new block of a blockchain; and
recording, to the new block of the blockchain, information associated with an instance of supplying of electric energy to an electric vehicle by the charging station.
18 . The method of claim 17 , further comprising recording, by the blockchain management module, a time of charging, an amount of electric energy supplied, and an amount paid to the new block.
19 . The method of claim 18 , further comprising recording, by the blockchain management module, digital signatures from both the vehicle and the charging station to the new block.
20 . A computing device, comprising:
a vehicle charging application comprising a transactions module and a blockchain management module stored in and executable by the computing device;
wherein the transactions module is configured to:
receive a station communication from a station application, the station communication comprising station identification information, a station public key, a station certificate associating the station public key to the station identification information, a charging response to a charging request, and a station digital signature of the response signed using a station private key corresponding to the station public key;
verify the station digital signature and then verify the station digital signature using the station public key; and
in response to a successful verification of the station digital signature:
send a vehicle communication to the station application, the vehicle communication comprising vehicle identification information, a vehicle public key, a vehicle certificate associating the vehicle public key to the vehicle identification information, and a vehicle digital signature of the response signed using a vehicle private key corresponding to the vehicle public key;
initiate receiving electric energy from a charging station; and
during receiving of the electric energy:
receive additional station communications from the station application, each respective communication of the plurality of additional station communications comprising the station identification information, the station public key, a respective station digital signature of the respective communication; and a respective freshness factor configured to differentiate the respective communication and prevent the respective communication to be reused;
verify the station digital signature;
determine whether a session with a vehicle application has expired;
continue receiving the electric energy in response to a determination that the session has not expired; and
terminate the receiving of the electric energy in response to at least a determination that the session has expired.