Περίληψη : | Verifiable Credentials (VCs) provide a way for entities (users, applications, devices etc.) to prove claims, like a user’s name and occupation, a device's manufacturer, an applications security level etc. Although VCs have been met with great enthusiasm, there are still some open problems that need to be addressed. The biggest of those issues is the disclosure of the user’s private information to anyone they send their VC. Credentials are likely to contain information that the Holders will want to keep private, like their place of residence, medical records etc. Most of the current implementations however, use traditional digital signatures that require the disclosure of the entire VC to the Verifier, limiting this way the usability of Verifiable Credentials. To solve that problem, the use of BBS+ signatures has been proposed. BBS+ signatures provide the means to selectively disclose only part of a VC. This way, the Holder can provide the Verifier with the information they need, while at the same time keeping their private information hidden. The use of BBS+ signatures with Verifiable Credentials has drawn a lot of attention lately, with many implementations adopting the BBS+ linked data proof spec, a proposed specification by the W3C Verifiable Credential's working group. In this work we will present two new security vulnerabilities of that specification, along with some proposed solutions. Next, we will propose an alternative, more secure and efficient way, of using BBS+ with Verifiable Credentials. In addition, we evaluated the efficiency of our proposal. As we will see, our algorithm is 5 to 25 times faster than the one currently used. Τα Επαληθεύσιμα Διαπιστευτήρια παρέχουν έναν τρόπο σε οντότητες όπως χρήστες, εφαρμογές, συσκευές κ.λπ., να αποδεικνύουν την εγκυρότητα διάφορων ισχυρισμών, όπως το όνομα ενός χρήστη, το επάγγελμα του, τον κατασκευαστή μιας συσκευής, το επίπεδο εξουσιοδότησης ενός υπαλλήλου κ.λπ. Παρόλο που τα Επαληθεύσιμα Διαπιστευτήρια έχουν γίνει αποδεχτά με μεγάλο ενθουσιασμό, εξακολουθούν να υπάρχουν ορισμένα προβλήματα τα οποία απαιτούν περαιτέρω εξερεύνηση. Το μεγαλύτερο από αυτά είναι η αποκάλυψη των ιδιωτικών πληροφοριών του χρήστη. Για πολλές εφαρμογές, τα εν λόγω διαπιστευτήρια είναι πιθανό να περιέχουν πληροφορίες που οι κάτοχοι τους θα θέλουν να κρατήσουν μυστικές, όπως ο τόπος διαμονής τους, στοιχεία επικοινωνίας, νομικά στοιχεία, το ιατρικό ιστορικό τους κ.λπ. Οι περισσότερες από τις υπάρχουσες εφαρμογές όμως χρησιμοποιούν παραδοσιακές κρυπτογραφικές μεθόδους (ψηφιακές υπογραφές), οι οποίες απαιτούν από τον κάτοχο να στείλει ολόκληρο το διαπιστευτήριο στον ελεγκτή του διαπιστευτηρίου. Προκειμένου να αντιμετωπιστεί το παραπάνω πρόβλημα, έχει προταθεί η χρήση κρυπτογραφικών υπογραφών BBS+. Οι υπογραφές BBS+ παρέχουν τα μέσα για επιλεκτική αποκάλυψη μόνο ενός μέρους του διαπιστευτηρίου. Με αυτόν τον τρόπο, ο κάτοχος μπορεί να παρέχει στον ελεγκτή τις πληροφορίες που χρειάζεται, διατηρώντας ταυτόχρονα κρυφά τα προσωπικά του στοιχεία. Τελευταία, η χρήση των υπογραφών BBS+ έχει τραβήξει μεγάλο μέρος της προσοχής, με πολλές εφαρμογές να υιοθετούν τα αντίστοιχα πρωτόκολλα που ορίζονται από την υπεύθυνη ομάδα της W3C. Σε αυτήν την εργασία θα παρουσιάσουμε δύο νέα κενά ασφάλειας αυτών των πρωτοκόλλων, μαζί με μερικές προτεινόμενες λύσεις. Στη συνέχεια, θα προτείνουμε έναν εναλλακτικό, πιο αποτελεσματικό αλγόριθμο, για τη χρήση των BBS+ υπογραφών με σκοπό την ασφάλιση των διαπιστευτηρίων, που αποφεύγει αυτά τα προβλήματα και μας επιτρέπει να αποδείξουμε την ασφάλεια των ανάλογων πρωτοκόλλων. Επιπλέων, όπως θα δούμε, ο αλγόριθμός που προτείνουμε είναι από 5 έως και 25 φορές ταχύτερος από αυτόν που χρησιμοποιείται στην πράξη.
|
---|