StormRider wrote:Το keysigning γιατί γίνεται? Για να πιστοποιηθεί κάποιος ως μέλος του ΕΛΑΚ? Γίνεται με σκοπό την επέκταση του web of trust, ώστε η κοινότητα του oss να αποκτήσει πιο εμπιστευτική/ανθρώπινη μορφή? Και γιατί γίνονται δύο τέτοια events? Σόρρυ για τις ερωτήσεις, αλλά δν το 'χω το θέμα...
Ότι δεν έχει να κάνει με το ΕΛΑΚ. Οι ανοιχτές κοινότητες δεν έχουν ανάγκη να πιστοποιήσουν κανέναν και επίσης είναι
social απο την φύση τους οπότε δεν έχει να κάνει με τπτ τέτοιο.
~~Wind~~ wrote:Βασικα τι ειναι το Keysigning
Θα προσπαθήσω να απαντήσω και στους δύο σας όσο πιο καλά γίνεται για το θέμα του key-signing. Λοιπόν το επειδή το Internet είναι δομημένο απο
autonomous systems (AS) τα οποία διασυνδέονται μεταξύ τους με διάφορους τρόπους και για πικοίλους λόγους (υπάρχουν links που υπηρετούν οικονομικούς -- αλλά και όχι -- σκοπούς) δεν μπορείς να γνωρίζεις κάθε στιγμή
ποιός είναι αυτός που προωθεί τα πακέτα δεδομένων σου. Ακόμη και εάν γνώριζες βέβαια θα ήταν δύσκολο να τον εμπιστευτείς, αλλά ένα παραπάνω τώρα. Συνεπώς υπάρχουν θέματα που έχουν να κάνουν με το
confidentiality των data σου (δεν θέλεις τα email που μου στέλνεις να τα παίρνει ο ISP σου ή δεν θέλεις ο ISP του ISP σου να βλέπει με τι user/pass μπαίνεις στο x,y,z site) αλλά και με το integrity αυτών (πχ να μην μπορεί κάποιος που κάνει forward τα data σου να τα αλλοιώσει -- πχ εγώ σου λέω: "τι κάνεις" και αυτός να το αλλάξει σε: "θα σε σπάσω στο ξύλω εάν σε πετύχω").
Για να το λύσεις αυτό υπάρχουν διάφοροι τρόποι, για λόγους που έχουν να κάνουν με τις βασικές αρχές δόμησης ενός Inter-net (
neutrality,
end-to-end argument κλπ) το λύνεις στα
άκρα το θέμα αυτό. Δηλαδή
υποθέτεις ότι στο ενδιάμεσο μπορούν να γίνουν τα πάντα (i
n-flight changes στα πακέτα σου, man-in-the-middle attacks, sniffing κλπ κλπ) και προθέτεις κάποιο functionality στα άκρα της επικοινωνίας για να λύσεις το πρόβλημα αυτό. Έτσι μιλάμε για
end-to-end authentication και
encryption.
Πως μπορείς τώρα να το κάνεις αυτό; Πχ μιλάω εγώ με εσένα...πως σε πείθω ότι είμαι ο HdkiLLeR και όχι κάποιος άλλος; Προφανώς με κάποιο
μυστικό - secret. Το οποίο στο κρυπτογραφώ και στο δίνω. Εσύ το παίρνεις το κάνεις decrypt και κοιτάς εάν είναι το σωστό. Εάν είναι με πιστεύεις ότι είμαι αυτός που λέω*. Είναι ιδιαίτερα απλοϊκός αυτός ο τρόπος και έχει αρκετά προβλήματα -- δηλαδή τα σύγχρονα protocols για authentication έχουν πολύ καλύτερες ιδιότητες/χαρακτηριστικά αλλά δεν χρειάζεται να το περιπλέξουμε. Τώρα ο λόγος που το κάνω encrypt και στο στέλνω και δεν το στο λέω χύμα είναι επειδή εάν κάποιος άλλος το αποκτήσει (sniffing, conversation recording) μετά μπορεί να κάνει και αυτός το ίδιο και να αυθεντικοποιηθεί σαν HdkiLLeR.
Οπότε φτάνουμε στο βασικό πρόβλημα πως κάνουμε encrypt πράγματα που θέλουμε να στείλουμε στον καθένα; Το παραπάνω υποθέτει κάτι -- δεν ξέρω εάν το πιάσατε με τον τρόπο που τα περιγράφω αλλά that it

δεν έχω κάτι καλύτερο

. Υποθέτει ότι απο πρίν έχουμε αλλάξει-συμφωνήσει σε κάποιο shared secret και μάλιστα
με κάποιο άλλο secure κανάλι (πχ βρεθήκαμε και στο είπα στο αφτί...). Για να το κάνουμε κάπως πιο δύσκολο τι γίνεται στην περίπτωση που κάποιος θέλει να κάνει το ίδιο χωρίς να γνωρίζει τον άλλον απο πρίν (πχ εγώ θέλω να στείλω κάτι σε εσένα -- securely -- χωρίς να σε εχω ξαναδεί στην ζωή μου) και χωρίς να έχουμε κάποιο secure κανάλι επινοινωνίας (έχουμε μόνο το Internet και με αυτό θα δουλέψουμε

).
Ομοίως και εδώ υπάρχουν πολλά πράγματα που το research έχει να μας δώσει (different key creation schemes -- πχ Diffie-Hellman, distributed authentication schemes) αλλά και πιο
χαλαρές προσεγγίσεις (reputation schemes -- βλ. ebay). Επειδή τα reputation stuff δεν μας αρέσουν και ευτυχώς υπάρχουν τα public-private keys** αλλά και τα digital certificates*** τα οποία μας βοηθάνε να κάνουμε όλα αυτά που προσπαθώ να σας περιγράψω παραπάνω

(για το πως γίνεται και πως δουλεύει το καθένα έχω postάρει links παρακάτω αλλά το συζητάμε και περεταίρω εάν θέλετε).
Τώρα για το
key-signing party: ουσιαστικά εάν βρεθούμε πολλά άτομα που χρησιμοποιούμε το PGP/GPG μπορούμε να ανταλάξουμε τα keys μας, να τα κάνουμε ο ένας στον άλλον sign και έτσι να μπορούμε να έχουμε authenticity/confidentiality σε αυτά που λέμε.
Όχι μόνο μεταξύ μας μιας! και όλα αυτά τα καλούδια έχουν transitive ιδιότητες. Δηλαδή εάν εγώ υπογράψω να δικά σας και θα μιλάτε και με αυτούς που έκαναν sign το δικό μου

.
Περισσότερα:
http://cryptnet.net/fdp/crypto/keysigni ... party.html
http://www.cacert.org/
*: Το ίδιο μπορείς να το δεις ανάλογα και για αυτά που ανταλάζουμε -- στα data μας δηλαδή.
**:
http://en.wikipedia.org/wiki/Public-key_cryptography
***:
http://en.wikipedia.org/wiki/Public_key_certificate