Σκάρτο από flashing στο πεδίο
Οι ομάδες που κατεβάζουν firmware αφού η μονάδα φύγει από τη συναρμολόγηση PCBA συχνά υποεκτιμούν το σκάρτο. Μια μονάδα που αποτυγχάνει να δεχτεί το firmware στον πάγκο του integrator πηγαίνει για rework, επιστρέφεται ή πετιέται, και το κόστος καταχωρείται σε διαφορετικό λογαριασμό από το κόστος PCBA.
Όταν το σκάρτο μετράται end-to-end, το σκάρτο από flashing μετά την παραγωγή κυμαίνεται συνήθως από 1 έως 4 τοις εκατό. Σε παρτίδα 1000 μονάδων, αυτό μεταφράζεται σε 10 έως 40 μονάδες περιττού rework ή απώλειας. Το flashing από την πλευρά της παραγωγής ρίχνει το ποσοστό κάτω από το 0,5 τοις εκατό στις περισσότερες γραμμές, επειδή η αστοχία εντοπίζεται στον σταθμό ελέγχου και όχι στον integrator.
Configuration drift
Οι μονάδες που γίνονται flash σε διαφορετικές συνεδρίες, με διαφορετικές εκδόσεις firmware, από διαφορετικούς χειριστές, παρουσιάζουν drift στη διαμόρφωση. Τιμές βαθμονόμησης, ρυθμίσεις δικτύου, debug flags. Το drift δεν φαίνεται κατά την παράδοση και κοστίζει ακριβά στο integration, όταν μια μονάδα συμπεριφέρεται διαφορετικά από την επόμενη.
Το flashing από την πλευρά της παραγωγής περνά κάθε μονάδα από την ίδια ακολουθία flashing, με το ίδιο hash firmware, το ίδιο πρότυπο provisioning, τον ίδιο υπογεγραμμένο bootloader. Το configuration drift μηδενίζεται.
Επιβολή υπογεγραμμένου firmware
Η μεταγενέστερη ενσωμάτωση επιβολής υπογεγραμμένου bootloader αφού το προϊόν βρίσκεται ήδη σε παραγωγή είναι επώδυνη υπόθεση. Το fuse burn, η μεταβίβαση κλειδιών, ο κύκλος επαλήθευσης, όλα πρέπει να μπολιαστούν σε μια ροή που δεν είχε σχεδιαστεί γι' αυτά.
Αν σχεδιαστεί η γραμμή παραγωγής με υπογεγραμμένο firmware από την αρχή, η ίδια εργασία γίνεται απλή. Πρώτα γράφεται ο bootloader με αναφορά στο signing key, μετά η εφαρμογή με επαλήθευση hash, και τέλος το eFuse καίγεται για να κλειδώσει την αλυσίδα.
Ετοιμότητα CRA
Η Cyber Resilience Act απαιτεί ιχνηλασιμότητα firmware ανά μονάδα. Μια μονάδα που αποστέλλεται σήμερα μπορεί να χρειαστεί ενημέρωση ασφαλείας σε τρία χρόνια, και ο κατασκευαστής πρέπει να γνωρίζει με ποια έκδοση firmware έφυγε.
Το flashing από την πλευρά της παραγωγής καταγράφει το hash του firmware έναντι του σειριακού αριθμού σε βάση δεδομένων. Το flashing στο πεδίο δεν παράγει τέτοιο αρχείο, εκτός αν ο integrator δημιουργήσει ξεχωριστό, πράγμα που συνήθως δεν κάνει.
Πότε αποδίδει το flashing από την παραγωγή
Συνοπτικά: σε κάθε προϊόν όπου οι εκδόσεις firmware είναι αρκετά σταθερές ώστε να δεσμευτούν σε μια παρτίδα παραγωγής, και όπου το κόστος ανά μονάδα του flashing στο πεδίο ή του configuration drift είναι μετρήσιμο. Για τα περισσότερα προϊόντα συνδεδεμένης βιομηχανίας, building automation, ενέργειας και access control, αυτό το όριο περνά νωρίς στο NPI.
Για προϊόντα όπου το firmware αλλάζει εβδομαδιαία κατά το NPI, καλό είναι να αναβληθεί το flashing από την παραγωγή μέχρι να σταθεροποιηθούν ο bootloader και τα signing keys, και μετά να ενσωματωθεί inline.
Πηγές
- Κλαδικές αναφορές IPC για production test και ποσοστά flashing
- Espressif, τεκμηρίωση παραγωγής "Secure Boot v2"
- NXP, οδηγοί παραγωγής "Secure boot and trust provisioning"