Issuing digitally signed QR codes for vehicles
Systems and methods for applying a digitally signed QR code to a vehicle are provided. In one implementation, a method includes the step of receiving, from a requesting entity, a Certificate Signing Request (CSR) and object-related information associated with an object. The method further includes the step of issuing a digital certificate to authenticate the object and/or the requesting entity. Also, the method includes the step of digitally signing a machine-detectable code configured to reference a database associated with the digital certificate and the object-related information. The method also includes the step of sending the digitally signed machine-detectable code to the requesting entity.
1 . A certificate management system comprising:
a processing device; and
a memory device configured to store a computer program having logic that, when executed causes the processing device to
receive, from a requesting entity, a Certificate Signing Request (CSR) and object-related information associated with an object,
issue a digital certificate to authenticate one or more of the object or the requesting entity, wherein the digital certificate comprises an X.509 digital certificate and includes at least a portion of the object-related information in a Subject Alternative Name (SAN) field or an extension field,
digitally sign a machine-detectable code configured to reference a database associated with the digital certificate and the object-related information, wherein the logic, when executed, further causes the processing device to store, in the database, an association between (i) a certificate identifier of the X.509 digital certificate and (ii) the object-related information, and generate the machine-detectable code to encode (i) a Uniform Resource Locator (URL) that references a verification endpoint associated with the database and (ii) the certificate identifier, and wherein digitally signing the machine-detectable code comprises computing a digital signature over at least the URL and the certificate identifier using a private key associated with the X.509 digital certificate or a certificate authority that issued the X.509 digital certificate, and
send the digitally signed machine-detectable code to the requesting entity.
2 . The certificate management system of claim 1 , wherein the object is a vehicle, and wherein the requesting entity is one or more of a Department of Motor Vehicles (DMV) system, a vehicle registration system, a license plate issuing system, and a vehicle manufacturer.
3 . The certificate management system of claim 2 , wherein the object-related information includes observable characteristics and registration data, wherein the observable characteristics include one or more of a) a make and model of the vehicle, b) a manufactured year of the vehicle, c) a type of the vehicle, and d) a color of the vehicle, and wherein the registration data includes one or more of a) a Vehicle Identification Number (VIN), b) vehicle registration information, c) vehicle title information, d) vehicle insurance information, and e) driver information.
4 . The certificate management system of claim 1 , wherein the machine-detectable code includes a first layer that is visible to human eyes and a second layer that is concealed from human eyes.
5 . The certificate management system of claim 4 , wherein the first layer includes a QR code configured to reference the database via a Uniform Resource Locator (URL) and the second layer includes a steganographic image that encodes a cryptographic digest of at least the URL and the certificate identifier encoded by the first layer, such that tampering with the first layer is detectable by a mismatch between (i) the cryptographic digest decoded from the steganographic image and (ii) a recomputed cryptographic digest of the first layer.
6 . The certificate management system of claim 1 , wherein, in response to an inquiry from a detection device upon scanning the machine-detectable code, the logic, when executed further causes the processing device to verify legitimacy of the digital certificate and the object-related information.
7 . The certificate management system of claim 6 , wherein the logic, when executed, further causes the processing device to receive the inquiry via the requesting entity or receive the inquiry directly from the detection device.
8 . The certificate management system of claim 1 , wherein the logic, when executed, further causes the processing device to generate the machine-detectable code.
9 . An object registration system comprising:
a processing device; and
a memory device configured to store a computer program having logic that, when executed, cause the processing device to
send, to a Certificate Authority (CA), a Certificate Signing Request (CSR) and object-related information associated with an object being registered, wherein the CSR is configured for issuance of an X.509 digital certificate for the object and includes at least a portion of the object-related information in a Subject Alternative Name (SAN) field or an extension field,
receive, from the CA, a machine-detectable code that has been digitally signed, wherein the machine-detectable code encodes (i) a Uniform Resource Locator (URL) that references a verification endpoint associated with a database that stores an association between a certificate identifier of the X.509 digital certificate and the object-related information and (ii) the certificate identifier, and wherein the machine-detectable code is digitally signed over at least the URL and the certificate identifier, and
initiate a placement procedure for applying the digitally signed machine-detectable code to the object.
10 . The object registration system of claim 9 , wherein the object is a vehicle, and wherein the object registration system is part of a Department of Motor Vehicles (DMV) system, a vehicle registration system, a vehicle title system, a license plate issuing system, and a vehicle manufacturer.
11 . The object registration system of claim 10 , further comprising a database configured to store the object-related information, wherein the object-related information includes observable characteristics and registration data, wherein the observable characteristics include one or more of a) a make and model of the vehicle, b) a manufactured year of the vehicle, c) a type of the vehicle, and d) a color of the vehicle, and wherein the registration data includes one or more of a) a Vehicle Identification Number (VIN), b) vehicle registration information, c) vehicle title information, d) vehicle insurance information, and e) driver information.
12 . The object registration system of claim 10 , wherein the placement procedure includes applying the machine-detectable code on one or more of the vehicle itself, on a license plate associated with the vehicle, or on a tag attached to a license plate associated with the vehicle.
13 . The object registration system of claim 9 , wherein the logic, when executed, further causes the processing device to receive, from a camera, one or more images of the object and the machine-detectable code applied to the object.
14 . The object registration system of claim 13 , wherein, in response to receiving the one or more images, the logic, when executed, further causes the processing device to verify authenticity of the machine-detectable code with the CA.
15 . The object registration system of claim 13 , wherein the object is a vehicle, and wherein, in response to receiving the one or more images, the logic, when executed, further causes the processing device to monitor one or more aspects of the vehicle, an owner of the vehicle, a driver of the vehicle, traffic law violations, vehicle registration issues, child abduction issues, vehicle location information, access control, and license plate fraud.
16 . The object registration system of claim 9 , wherein the machine-detectable code includes a first layer that is visible to human eyes and a second layer that is concealed from human eyes.
17 . The object registration system of claim 16 , wherein the first layer includes a QR code configured to reference a database via a Uniform Resource Locator (URL), and wherein the second layer includes a steganographic image.
18 . The object registration system of claim 17 , wherein the logic, when executed, further causes the processing device to decode the machine-detectable code and use the URL to access the database for retrieving pre-stored object information.
19 . The object registration system of claim 18 , wherein the pre-stored object information includes observable characteristics, and wherein the logic, when executed, further causes the processing device to compare characteristics observed from one or more images captured of the object and the observable characteristics retrieved from the database.