What is going on?
You submitted your journey details to the LPS database anonymously. How can you then fetch this journey data back again in order to construct an itemised bill in the privacy of your own home?
The answer is in the psuedo-random journey ID that went with each journey. The journey ID was created by the OBU based on a secret key that is possessed only by the OBU and by you - the driver. Software on your PC can use that key to reconstruct the journey IDs and so retrieve the journey data from the LPS database.
This page shows this process. Select a car and click "Generate Journey ID" to start.
Recall that users have three options:
-
Generate their own itemised bills at home on their own PC - that way no one else can reconstruct the journeys or view the itemised bill. The PC can format and display the data flexibly.
-
For maximum security the user foregoes the option of receiving itemised bills. In this case the journey IDs are truely random and can never be reconstructed.
-
Users who are unconcerned about the authorities seeing their journeys can release the cryptographic key to the road pricing authority, which can then generate the journey IDs and so generate the itemised bill, then post it to the driver.
Note that this page is designed to show how the technology works, rather than representing the actual user experience.
The car has changed
All that happens, in this demo, is that a different cryptographic key is invoked. You can see this in the text box. In this demo, the key must be a 32 character hex number.
In practise the key will be hidden from the user: perhaps contained on a memory stick or kept on the PC with password protection.
Generating the Journey ID
The journey ID is a cryptographic hash of a secret key (possessed only by the OBU and the driver), and some parameter that represents the time and date of the journey.
In the example shown in this demonstration, the time and journey parameter is simply a number, which starts at 0 and increments. In the real system this will be related to the date.
Without a valid cryptographic key it will be impossible to generate journey IDs that appear in the LPS database, and if you have one valid journey ID it will be impossible to generate further valid journey IDs, or to determine whether valid journey IDs were generated by the same OBU.
When you click on the "Generate Journey ID" button the hash operation is performed, and the journey ID appears on the screen, ready to be sent to the Location processing Service (LPS).
Requesting the journey details from the LPS
When you click the "Request Journey from LPS" button, the journey ID is sent to the Location Processing Service (LPS), which searches its database for an entry with that journey ID.
The results are then returned to the user: if there is a match then the journey is shown on the map, and the other details are displayed below the buttons. Note that the journey number is then incremented and the new journey ID is calculated, ready for you to submit the next journey ID.
(Try manually changing the journey ID or the cryptographic key to demonstrate that the database will not return a journey unless the values are correct).
In practise, you can imagine the web page on the PC generating a combination of maps and line-by-line text outputs, with options to print the results.