Κάθε PDF αποδείξεων ParkProof φέρει ένα παράρτημα κρυπτογραφικής υπογραφής. Αυτή η σελίδα είναι ο δημόσιος, εκτός σύνδεσης οδηγός για οποιονδήποτε — δημοτικό υπάλληλο, ασφαλιστή, γραμματέα δικαστηρίου, ή τον ίδιο τον οδηγό — για να επιβεβαιώσει ότι η εγγραφή δεν έχει αλλοιωθεί από τη στιγμή που αποθηκεύτηκε.
Κάθε συνεδρία ParkProof έχει ένα payload (ένα μικρό αρχείο κειμένου που περιέχει τα κανονικά μεταδεδομένα της συνεδρίας συν τα hashes SHA-256 των φωτογραφιών πινακίδας + αυτοκινήτου) και μία υπογραφή (το payload υπογεγραμμένο με ιδιωτικό κλειδί ECDSA P-256 διαχειριζόμενο από το AWS KMS που δεν φεύγει ποτέ από το AWS). Και τα δύο εκτυπώνονται στο παράρτημα υπογραφής κάθε εξαγόμενου PDF αποδείξεων.
Το δημόσιο κλειδί που χρειάζεται για την επαλήθευση της υπογραφής δημοσιεύεται στο /parkproof-public-key.pem — άνοιξέ το σε browser για επιβεβαίωση φόρτωσης, μετά αποθήκευσέ το τοπικά.
openssl — συμπεριλαμβάνεται στο macOS και στις περισσότερες διανομές Linux· σε Windows, διαθέσιμο μέσω Git Bash, WSL, ή τη standalone OpenSSL build.Άνοιξε το PDF αποδείξεων, κάνε scroll στη σελίδα "Παράρτημα υπογραφής" στο πίσω μέρος. Θα δεις τρία μπλοκ κειμένου: payload, sig.base64, και μία αναφορά στο URL του δημόσιου κλειδιού. Αποθήκευσε τα δύο πρώτα σε αρχεία στον υπολογιστή σου, μετά τρέξε την επαλήθευση:
# 1. Αποθήκευσε το payload block από το παράρτημα του PDF στο payload.txt # (copy-paste ακριβώς· διατήρησε τα τέλη γραμμών). # 2. Αποθήκευσε το base64 signature block στο sig.base64. # 3. Κατέβασε το δημόσιο κλειδί. curl -O https://www.parkproof.com.au/parkproof-public-key.pem # 4. Αποκωδικοποίησε την base64 υπογραφή σε raw bytes. base64 -d sig.base64 > sig.bin # 5. Τρέξε την επαλήθευση. openssl dgst -sha256 -verify parkproof-public-key.pem \ -signature sig.bin payload.txt
Το Verified OK από το βήμα 5 αποδεικνύει ότι το payload δεν έχει αλλοιωθεί — αλλά το payload περιέχει μόνο τα hashes SHA-256 των φωτογραφιών, όχι τις ίδιες τις φωτογραφίες. Για να επιβεβαιώσεις ότι οι φωτογραφίες που εμφανίζονται στο PDF είναι όντως εκείνες που υπογράφηκαν, πρέπει να ξαναϋπολογίσεις τα hashes τους και να τα συγκρίνεις με το payload. Χωρίς αυτό το βήμα, μια φωτογραφία θα μπορούσε να έχει αντικατασταθεί και η επαλήθευση να εξακολουθεί να δείχνει Verified OK.
# 6. Για κάθε φωτογραφία στο PDF, εξήγαγε/αποθήκευσε το αρχείο εικόνας, μετά # ξαναϋπολόγισε το hash SHA-256 της και σύγκρινέ το με την αντίστοιχη τιμή # μέσα στο payload.txt (sign_photo_sha256 / car_photo_sha256 / # ambient_photo_sha256). sha256sum sign-photo.jpg sha256sum car-photo.jpg sha256sum ambient-photo.jpg # Ή, αν δεν έχεις το sha256sum (π.χ. macOS), χρησιμοποίησε το openssl: openssl dgst -sha256 sign-photo.jpg # Σύγκρινε κάθε αποτέλεσμα, χαρακτήρα-προς-χαρακτήρα, με την αντίστοιχη # τιμή μέσα στο payload.txt: # sign_photo_sha256 ← hash της φωτογραφίας πινακίδας # car_photo_sha256 ← hash της φωτογραφίας αυτοκινήτου # ambient_photo_sha256 ← hash της φωτογραφίας περιβάλλοντος
Verified OK από το βήμα 5 δεν επαληθεύει τις εικόνες· μόνο αυτό το βήμα σύγκρισης hash το κάνει.
Verified OK — το payload στο PDF σου είναι byte-πανομοιότυπο με αυτό που υπέγραψε το ParkProof τη στιγμή της σάρωσης. Οι κανόνες της πινακίδας, GPS, timestamp, διεύθυνση και οι τιμές των hashes φωτογραφιών μέσα στο payload είναι ακέραιες. Αυτό από μόνο του δεν επαληθεύει τις ίδιες τις φωτογραφίες — για να επιβεβαιώσεις ότι οι εικόνες στο PDF ταιριάζουν με εκείνες τις υπογεγραμμένες τιμές hash, ολοκλήρωσε το βήμα 6 (ξαναϋπολογισμός hash) παραπάνω.
Verification failure — το payload, η υπογραφή, ή και τα δύο έχουν τροποποιηθεί από τότε που αποθηκεύτηκε η εγγραφή. Το PDF μπορεί να έχει επεξεργαστεί, το παράρτημα παραποιηθεί, ή το copy-paste εισήγαγε διαφορές κενών χαρακτήρων. Επανάλαβε προσεκτικά την αντιγραφή πριν βγάλεις συμπεράσματα.
Μια επιτυχημένη επαλήθευση επιβεβαιώνει την ακεραιότητα. Δεν επιβεβαιώνει:
Οι περισσότερες εφαρμογές στάθμευσης που παράγουν "αποδείξεις" παράγουν ένα screenshot. Τα screenshots δεν έχουν ιστορία ακεραιότητας — θα μπορούσαν να έχουν επεξεργαστεί σε οποιοδήποτε σημείο μεταξύ της λήψης και της αποστολής. Η κρυπτογραφική υπογραφή είναι η διαφορά μεταξύ "να τι είδα" και "να τι είδα, και να η μαθηματική απόδειξη ότι δεν το άλλαξα από τότε."
Το δημόσιο κλειδί δημοσιεύεται έτσι ώστε η επαλήθευση να είναι πλήρως εκτός σύνδεσης — δεν χρειάζεται να εμπιστευτείς το ParkProof, να επικοινωνήσεις με τους διακομιστές μας, ή να τρέξεις την εφαρμογή μας για να επιβεβαιώσεις τον ισχυρισμό ακεραιότητας. Η επαλήθευση μπορεί να γίνει χρόνια από τώρα ακόμη και αν το ParkProof δεν συντηρείται πια, εφόσον το openssl εξακολουθεί να υπάρχει.
Email στο hello@parkproof.com.au. Απαντάμε.