Ένας browser μπορεί να εκτελεί ισχυρή κρυπτογραφία· ο κώδικας που του παραδίδεται εξακολουθεί να χρειάζεται εμπιστοσύνη.
Ένας browser μπορεί να εκτελεί τοπικά κρυπτογράφηση από άκρο σε άκρο, συμπεριλαμβανομένης της μετακβαντικής δημιουργίας κοινών κλειδιών, χωρίς εγκατάσταση εγγενούς εφαρμογής μηνυμάτων. Το δύσκολο ερώτημα δεν είναι αν τα μαθηματικά μπορούν να εκτελεστούν σε μια καρτέλα. Είναι αν η παραδιδόμενη εφαρμογή, ο χειρισμός κλειδιών και η διαδρομή ενημερώσεων αξίζουν την εμπιστοσύνη που απαιτεί η συνομιλία.
Η πρόσβαση μέσω web μπορεί να είναι βολική όταν δεν είναι δυνατή η εγκατάσταση. Δεν κάνει την εφαρμογή απρόσβλητη από λογοκρισία, παραβιασμένη φιλοξενία, κακόβουλες επεκτάσεις ή παραβιασμένη συσκευή.
Τα κρυπτογραφικά δομικά στοιχεία του browser
Το WebCrypto παρέχει λειτουργίες χαμηλού επιπέδου για κρυπτογράφηση, παραγωγή κλειδιών, υπογραφή και διαχείριση κλειδιών. Συνήθεις υλοποιήσεις προσφέρουν βασικά δομικά στοιχεία όπως AES-GCM και ECDH. Αυτές οι λειτουργίες είναι δομικά στοιχεία, όχι πλήρες αυθεντικοποιημένο πρωτόκολλο μηνυμάτων.
Μια εφαρμογή web μπορεί να προσθέσει μια ελεγμένη υλοποίηση ML-KEM με JavaScript ή WebAssembly όπου δεν υπάρχει το απαιτούμενο εγγενές API. Η υποστήριξη των browser αλλάζει, οπότε οι προγραμματιστές πρέπει να ελέγχουν τη διαθεσιμότητα λειτουργιών στις συγκεκριμένες εκδόσεις-στόχους αντί να υποθέτουν ότι κάθε browser προσφέρει τους ίδιους αλγορίθμους.
Μια εννοιολογική υβριδική ροή είναι:
- Δημιουργία κατάλληλων κλειδιών με κρυπτογραφικά ασφαλή τυχαιότητα.
- Αυθεντικοποίηση του υλικού κλειδιών του συνομιλητή μέσω του μηχανισμού ταυτότητας του πρωτοκόλλου.
- Απόκτηση κλασικών και μετακβαντικών συνεισφορών κοινού μυστικού.
- Συνδυασμός τους με την καθορισμένη διαδικασία παραγωγής κλειδιών και το πλαίσιο της συνομιλίας.
- Χρήση των παραγόμενων κλειδιών για αυθεντικοποιημένη κρυπτογράφηση, με σωστό χειρισμό nonce και κατάστασης.
Αυτό είναι επεξηγηματικό περίγραμμα, όχι συνταγή υλοποίησης. Το FIPS 203 τυποποιεί το ML-KEM· δεν πιστοποιεί συγκεκριμένη εφαρμογή browser ούτε καθορίζει κάθε βήμα ενός πρωτοκόλλου συνομιλίας.
Η διανομή μέσω HTTPS είναι μέρος του μοντέλου εμπιστοσύνης
Ο διακομιστής συνήθως παρέχει τη JavaScript και το WebAssembly που θα επεξεργαστούν το απλό κείμενο. Μια κακόβουλα τροποποιημένη εφαρμογή μπορεί να διαβάσει ένα μήνυμα πριν από την κρυπτογράφηση ή μετά την αποκρυπτογράφηση, ακόμη κι αν η κρυπτογραφική βιβλιοθήκη της χρησιμοποιεί αξιόπιστους αλγορίθμους.
Το HTTPS βοηθά στην αυθεντικοποίηση και προστασία της παράδοσης από παρεμβολές στο δίκτυο. Δεν αποδεικνύει ότι ο διαχειριστής της προέλευσης, το σύστημα ανάπτυξής του ή οι εξαρτήσεις του δεν έχουν παραβιαστεί. Μια συνηθισμένη σελίδα HTTPS δεν είναι αυτομάτως ανεξάρτητα υπογεγραμμένο πακέτο εφαρμογής.
Οι παρατηρήσεις ασφάλειας του W3C για το WebCrypto εξετάζουν την έγχυση script και την ανάγκη προστασίας της ακεραιότητας της εφαρμογής. Η Πολιτική Ασφάλειας Περιεχομένου, η προσεκτική διαχείριση εξαρτήσεων και άλλοι έλεγχοι ασφάλειας web μειώνουν τους κινδύνους, αλλά κανένας δεν μετατρέπει αυθαίρετο script ίδιας προέλευσης σε μη έμπιστο παρατηρητή που αδυνατεί να αγγίξει τα δεδομένα της εφαρμογής.
Το WebAssembly μοιράζεται επίσης το όριο ασφάλειας της εφαρμογής. Το sandbox του περιορίζει την πρόσβαση στον υπολογιστή υποδοχής μέσω καθορισμένων διεπαφών· δεν κάνει αξιόπιστη τη σελίδα που το καλεί. Η μεταγλώττιση C σε Wasm δεν καθιστά τη γλώσσα πηγής ασφαλή ως προς τη μνήμη.
Τα κλειδιά δεν υπάρχουν αναγκαστικά μόνο στη RAM
Μια εφαρμογή μηνυμάτων στον browser μπορεί να αποθηκεύει μόνιμα κλειδιά ή κρυπτογραφημένη κατάσταση ώστε ο χρήστης να επιστρέφει στην ίδια ταυτότητα. Μπορεί επίσης να προσφέρει σύνδεση συσκευών ή κρυπτογραφημένη ανάκτηση. Αυτές οι συμπεριφορές πρέπει να τεκμηριώνονται, όχι να θεωρείται ότι δεν υπάρχουν.
Ερωτήματα που αξίζει να τεθούν:
- Ποια κλειδιά αποθηκεύονται μόνιμα και σε ποιον χώρο αποθήκευσης του browser;
- Τι συμβαίνει όταν διαγράφονται τα δεδομένα του ιστοτόπου ή τελειώνει μια συνεδρία ιδιωτικής περιήγησης;
- Μπορεί κακόβουλος κώδικας που εκτελείται στο πλαίσιο της εφαρμογής να χρησιμοποιεί ακόμη ένα μη εξαγώγιμο κλειδί;
- Μπορεί μια νέα ενημέρωση που παραδίδεται να αποκτήσει πρόσβαση σε παλιά τοπική κατάσταση;
- Η ανάκτηση επαναφέρει την ταυτότητα, το ιστορικό μηνυμάτων ή και τα δύο;
Ένα μη εξαγώγιμο κλειδί WebCrypto περιορίζει την εξαγωγή μέσω του API. Από μόνο του δεν εμποδίζει εχθρικό κώδικα της εφαρμογής να ζητά επιτρεπόμενες λειτουργίες ή να συλλέγει απλό κείμενο.
Οι web και εγγενείς πελάτες έχουν διαφορετικούς συμβιβασμούς
| Ζήτημα | Πελάτης browser | Εγγενής πελάτης |
|---|---|---|
| Διανομή | Προέλευση, φιλοξενία και αλυσίδα ενημερώσεων web | Κατάστημα εφαρμογών ή διανομή πακέτων και αλυσίδα υπογραφής |
| Τοπική διατήρηση | Αποθήκευση browser και συμπεριφορά προφίλ | Αποθήκευση εφαρμογής στο λειτουργικό σύστημα και κύκλος ζωής εφαρμογής |
| Έκθεση | Script ίδιας προέλευσης, επεκτάσεις και ευπάθειες browser | Εξαρτήσεις εφαρμογής και ευπάθειες λειτουργικού συστήματος/εφαρμογής |
| Διαθεσιμότητα | Προσβάσιμο domain και απαιτούμενες υπηρεσίες δικτύου | Η εγκατεστημένη εφαρμογή εξακολουθεί να χρειάζεται τις απαιτούμενες υπηρεσίες δικτύου |
Καμία στήλη δεν αναδεικνύει νικητή χωρίς εξέταση της υλοποίησης. Μια εφαρμογή web μπορεί να παραμένει προσβάσιμη μετά την αφαίρεση από κατάστημα εφαρμογών, αλλά ένα αποκλεισμένο domain ή η έλλειψη διαδρομής δικτύου μπορούν ακόμη να εμποδίσουν την πρόσβαση.
Μετρήστε την απόδοση αντί να την υπόσχεστε
Το ML-KEM-768 χρησιμοποιεί κλειδί ενθυλάκωσης 1.184 byte και κρυπτοκείμενο 1.088 byte σύμφωνα με το FIPS 203. Αυτά τα μεγέθη βοηθούν να εξηγηθεί γιατί τα πρωτόκολλα μπορεί να προγραμματίζουν ενημερώσεις KEM αντί να επισυνάπτουν νέο υλικό σε κάθε σύντομο μήνυμα. Δεν είναι μετρήσεις του εύρους ζώνης ή της ταχύτητας μιας ολόκληρης εφαρμογής.
Μια χρήσιμη δοκιμή επιδόσεων αναφέρει browser, συσκευή, έκδοση κατασκευής, μέθοδο προθέρμανσης, μετρούμενη λειτουργία και κατανομή χρόνων. Συμπεριλάβετε εκκίνηση σελίδας, φόρτωση μονάδων, χρήση μνήμης, συσκευές χαμηλών δυνατοτήτων και επιβάρυνση δικτύου. Ισχυρισμοί όπως «κάτω από δύο χιλιοστά του δευτερολέπτου σε όλα τα σύγχρονα τηλέφωνα» απαιτούν δημοσιευμένες μετρήσεις· αυτό το άρθρο δεν τις παρέχει.
Εφαρμογή αυτών στη Livara
Η επισκόπηση ασφάλειας της Livara τεκμηριώνει το LVR1 και τα όρια ανάκτησής του. Το Proof Lab επιδεικνύει επιλεγμένες τοπικές λειτουργίες P-256, HKDF και AES-GCM· η σελίδα τοποθετεί ρητά την πλήρη σύνθεση LVR1/LGS1 εκτός αυτής της δοκιμής. Επομένως μια επιτυχής επίδειξη δεν αποδεικνύει την ασφάλεια όλου του διανεμόμενου κώδικα web.
Πριν από μια ευαίσθητη συνομιλία στον browser, χρησιμοποιήστε αυθεντικό πελάτη που συντηρείται, εξετάστε το τρέχον μοντέλο απειλών, προστατέψτε το προφίλ του browser και επαληθεύστε τον συνομιλητή μέσω της υποστηριζόμενης διαδικασίας ελέγχου κλειδιών. Η ευκολία και η χρήσιμη κρυπτογραφία μπορούν να συνυπάρχουν, εφόσον το όριο διανομής μέσω web παραμένει μέρος της αξιολόγησης.



