Ανοικτός κώδικας, κρυπτογράφηση κλπ

Ξεκίνησε από rafoc, 23 Μαρ 2020, 02:32:49 ΜΜ

« προηγούμενο - επόμενο »

pgrontas

Για να σε βοηθήσω να καταλάβεις τι εννοώ, ψάξε λίγο την έννοια του software independence. Εϊναι απόλυτα σχετική με το θέμα μας και έχει προταθεί από έναν κύριο Rivest. Δεν ξέρω αν τον γνωρίζεις.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

rafoc

Παράθεση από: pgrontas στις 23 Μαρ 2020, 05:48:43 ΜΜ
Η κρυπτογραφία υλοποιείται συνήθως με ανοικτό λογισμικό, αλλά και παλι το ανοικτό λογισμικό από μόνο του δεν είναι ικανή συνθήκη για να μας πείσει ότι έχει υλοποιήσει σωστά έναν κρυπτογραφικό αλγόριθμο.

Φυσικά και είναι! Αφού τον διαβάζεις τον κώδικα!  Διάβασε τον κώδικα και κρίνε αν τον έχει υλοποιήσει σωστά...

Αν είσαι εκπαιδευμένος και έχεις πληροφορική παιδεία, μπορείς να διαβάσεις κώδικα με την ίδια ευκολία που διαβάζεις αυτά που σου γράφω τώρα.

rafoc

Παράθεση από: pgrontas στις 23 Μαρ 2020, 05:51:49 ΜΜ
Για να σε βοηθήσω να καταλάβεις τι εννοώ, ψάξε λίγο την έννοια του software independence. Εϊναι απόλυτα σχετική με το θέμα μας και έχει προταθεί από έναν κύριο Rivest. Δεν ξέρω αν τον γνωρίζεις.

https://en.wikipedia.org/wiki/Software_independence
Άσχετο με το θέμα μας!

Δεν μιλάμε για καταμέτρηση ψήφων!
Μιλάμε για προστασία δεδομένων από το μάτι του big brother.

pgrontas

Διάβασε και λίγο παραπάνω.
Γιατί δεν λύνεται αυτό το πρόβλημα μόνο με ανοικτό λογισμικό (κρυπτογραφίας ή άλλου τύπου) που ισχυρίστηκες ότι είναι ικανή συνθήκη;
Εγώ πρόσεξε τι είπα: αναγκαία αλλά όχι ικανή.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

rafoc

Παράθεση από: pgrontas στις 23 Μαρ 2020, 06:05:29 ΜΜ
Διάβασε και λίγο παραπάνω.
Γιατί δεν λύνεται αυτό το πρόβλημα μόνο με ανοικτό λογισμικό (κρυπτογραφίας ή άλλου τύπου) που ισχυρίστηκες ότι είναι ικανή συνθήκη;

Το πρόβλημα καταμέτρησης ψήφων δεν λύνεται με ανοικτό λογισμικό, αν υπάρχει κεντρικός σερβερ που κάνει την καταμέτρηση.
Μάλλον όμως λύνεται με την τεχνολογία blockchain.

Όμως το πρόβλημα καταμέτρησης ψήφων δεν έχει καμιά σχέση με αυτό που ξεκινήσαμε να συζητάμε.
Δηλαδή με το πως μπορεί ένας απλός client να προστατευτεί από τον big brother.

Τέλος πάντων, μετά από διαμαρτυρίες που έλαβα στο Pm ότι είμαι εκτός θέματος, σταματάω εδώ.
Αν θες να συνεχίσουμε να μιλάμε για κρυπτογραφία, άνοιξε ένα νέο νήμα.

pgrontas

#20
Ούτε με blockchain λύνεται. Λύνεται αν το λογισμικό για ό,τι κάνει παράγει στοιχεία τα οποία επαληθεύουν τη λειτουργία και όχι τον κώδικα. Φυσικά η καταμέτρηση είναι μια 'απλή' περίπτωση που θές και μυστικότητα και ακεραιότητα, αλλά θεωρητικά μπορεί να γενικευθεί για όλες τις λειτουργίες. Στόχος είναι να μπορείς να το ελέγξεις και ως black box.

Η συζήτηση πάντως δεν ήταν περί κρυπτογραφίας ήταν περί ανοικτού λογισμικού.

Με την ευκαιρία το blockchain είναι ένα από τα καλύτερα παραδείγματα που αναδεικνύουν τα προβλήματα του open source.
Όποιος δεν του αρέσει κάτι κάνει ένα fork (και του κώδικα και των συναλλαγών) και ακολουθεί τους δικούς του κανόνες.
Και έτσι σε 10 χρόνια έχουμε γεμίσει με εκατοντάδες κρυπτονομίσματα.

Είναι ίσως το τίμημα της ελευθερίας.
Να τονίσω ότι είμαι υπέρ του ανοικτού λογισμικού. Διαφωνώ όμως ότι είναι η πανάκεια που παρουσίασες και εκεί ήταν το σχολιό μου.
Ζητώ συγγνώμη και γω αν καταχράστηκα το θέμα. Είναι ίσως η κλεισούρα των ημερών.

Οι διαχειριστές είναι ελεύθεροι να σβήσουν τα μηνυματά μου.

Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

alkisg

Μερικές σκόρπιες σκέψεις σχετικά με τα παραπάνω:

Προσωπικά απεχθάνομαι το blockchain γιατί χαλάνε ενέργεια για να παράγουν χρήμα, βλάπτοντας έτσι το περιβάλλον. Δεν μου φαίνεται καθόλου καλή ιδέα που συνδύασαν την έκδοση χρήματος με επίλυση εξισώσεων κλπ.

Το ανοικτό λογισμικό έχει τα καλά του, όπως τα έχει και το κλειστό λογισμικό. Δεν έχει νόημα να ζητάμε όλα να είναι με ανοικτό λογισμικό.

Για παράδειγμα, αν το ελληνικό κράτος είχε φτιάξει τα Windows, και απασχολούσε χιλιάδες προγραμματιστές και τα πουλούσε σε όλο τον κόσμο, και προφανώς μας τα έδινε και δωρεάν σε καθηγητές και μαθητές, θα προτιμούσα να μείνει κλειστού κώδικα ώστε να μπορεί να συντηρηθεί αυτό το μοντέλο. Με το που θα γινόταν open source, θα το έπαιρνε μια μεγαλύτερη χώρα κλπ και θα μας το έκλεινε το μαγαζί. Βλέπε από πού ξεκίνησε η ανάπτυξη του google chrome και πού είναι τώρα.

Επίσης, το να διαβάσει κάποιος εκατομμύρια γραμμές ανοικτού κώδικα για να δει αν κάτι είναι ασφαλές ή όχι, δεν είναι εύκολη υπόθεση. Αν π.χ. χρειαστείς 5 χρόνια για να τελειώσεις την ανάγνωση των εκατομμυρίων γραμμών του πυρήνα, σε αυτό το διάστημα θα έχουν μπει εκατομμύρια νέες γραμμές και θα πρέπει να ξανααρχίσεις την ανάγνωση από την αρχή.

Στο κλειστό λογισμικό πρέπει να εμπιστευτούμε εταιρίες, ενώ στο ανοικτό λογισμικό πρέπει να εμπιστευτούμε τους εκάστοτε maintainers.

Δύο μεγάλα οφέλη του ανοικτού λογισμικού είναι το "δωρεάν γι' αυτούς που θέλουν τα βασικά, χωρίς συμβόλαια υποστήριξης κλπ", και η δυνατότητα προσαρμογής, "με ένα κλικ προσαρμόζω το λειτουργικό και όλα τα προγράμματα όπως τα θέλω".

rafoc

Παράθεση από: alkisg στις 23 Μαρ 2020, 07:23:25 ΜΜ
Προσωπικά απεχθάνομαι το blockchain γιατί χαλάνε ενέργεια για να παράγουν χρήμα, βλάπτοντας έτσι το περιβάλλον. Δεν μου φαίνεται καθόλου καλή ιδέα που συνδύασαν την έκδοση χρήματος με επίλυση εξισώσεων κλπ.
Λάθος κάνεις. Μπερδεύεις το blockchain με το mining, και αυτά τα δύο τα συγχέεις με τα κρυπτονομίσματα.  Η τεχνολογία του blockchain δεν αφορά μόνο κρυπτονομίσματα, και φυσικά υπάρχουν blockchain κρυπτονομίσματα που δεν χρησιμοποιούν mining π.x. https://duniter.org/en/introduction/ , https://tezos.com/ κλπ κλπ


rafoc

Παράθεση από: alkisg στις 23 Μαρ 2020, 07:23:25 ΜΜ
Επίσης, το να διαβάσει κάποιος εκατομμύρια γραμμές ανοικτού κώδικα για να δει αν κάτι είναι ασφαλές ή όχι, δεν είναι εύκολη υπόθεση. Αν π.χ. χρειαστείς 5 χρόνια για να τελειώσεις την ανάγνωση των εκατομμυρίων γραμμών του πυρήνα, σε αυτό το διάστημα θα έχουν μπει εκατομμύρια νέες γραμμές και θα πρέπει να ξανααρχίσεις την ανάγνωση από την αρχή.

Opensource δεν είναι 2 μάτια που διαβάζουν 5 εκατομμύρια γραμμές κώδικα.  Opensource  είναι 10 εκατομμύρια ζευγάρια μάτια που το καθένα τους διαβάζει μερικές γραμμές κώδικα.

"given enough eyeballs, all bugs are shallow"

bugman

#24
1. Το closed source σε εφαρμογές συνήθως είναι λόγω της χρήσης αδειών τεχνολογιών που δεν επιτρέπουν να χρησιμοποιούνται σε open source, απ' όπου και αν προέρχονται.
2. Οι άδειες τελικού χρήστη γράφουν ότι το πρόγραμμα δίδεται AS-IS δηλαδή ως έχουν, και δεν αναγνωρίζουν καμία προσθετική αξίωση καλής λειτουργίας που μπορεί να σκεφτεί ή αντιληφθεί ο χρήστης.
3. Το θέμα των προσωπικών δεδομένων και το πώς φυλάσσονται δεν σχετίζεται με τις τεχνολογίες αλλά με την ανάληψη της ευθύνης. Οπότε η επιλογή τεχνολογίας είναι θέμα του υπεύθυνου διαχείρισης της βάσης δεδομένων. Αυτός βγάζει έντυπα που υπογράφουν οι υφιστάμενοι, βλέπε κσθηγητές, για την εχεμύθεια και το επίπεδο ασφάλειας που τους δίνεται.
4. Αυτό περί open source ότι διαβάζουν το κώδικα εκατομμύρια μάτια δεν ισχύει. Εν δυνάμει θα μπορούσε να συμβεί. Αυτό που συμβαίνει είναι ότι περίεργοι φοιτητές με πάθος για μάθηση θα το διαβάσουν σχεδόν όλο. Και αν υπάρχει θέμα θα το δηλώσουν. Αυτό θα έκανε ο καθένας μας. Αυτό δεν σημαίνει ότι με υποθέσεις καταλήγουμε να καταξιώνουμε κάτι. Θα πρέπει να το έχουμε δουλέψει και αυτό θα μας δείξει την αξία του εργαλείου.
5. Σκέφτομαι: σε ένα σπίτι πως γίνεται να μοιραστεί η πρόσβαση στο διαδίκτυο μεταξύ του γονέα που δουλεύει από το σπίτι και των παιδιών - μαθητών που θέλουν και αυτά πρόσβαση στα διαδικτυακά μαθήματα; Πόσοι υπάρχουν υπολογιστές και υπάρχει ξεχωριστός χώρος για τον καθένα;

rafoc

Παράθεση από: bugman στις 23 Μαρ 2020, 08:06:29 ΜΜ
3. Το θέμα των προσωπικών δεδομένων και το πώς φυλάσσονται δεν σχετίζεται με τις τεχνολογίες αλλά με την ανάληψη της ευθύνης. Οπότε η επιλογή τεχνολογίας είναι θέμα του υπεύθυνου διαχείρισης της βάσης δεδομένων. Αυτός βγάζει έντυπα που υπογράφουν οι υφιστάμενοι, βλέπε κσθηγητές, για την εχεμύθεια και το επίπεδο ασφάλειας που τους δίνεται.

Δεν έχεις δίκιο. Είναι καθαρά τεχνικό θέμα, και δεν χρειάζεται ανάληψη ευθύνης και έντυπα.
Όσο και να προσπαθεί ο διαχειριστής της βάσης δεδομένων στον server, αν αυτό που στέλνει ο client είναι σωστά κρυπτογραφημένο , δεν θα καταφέρει να το διαβάσει. Αλλά θα το διαβάσει ο αποδέκτης του μηνύματος (ο άλλος client).

Σε αυτή την αρχή βασίζεται και η πλατφόρμα riot.

bugman

Κοιτάς την τεχνική πλευρά. Όμως αν γίνει παραβίαση προσωπικών δεδομένων, το κράτος θα κοιτάξει το ποιος είχε πρόσβαση και θα αποδώσει ευθύνες.

Σε όλες τις συμβάσεις στα κάτω μέρος λέει και για τα προσωπικά δεδομένα, ότι συναινείς ως προς τη διαχείριση. Αλλά δεν ρωτάς πώς εξασφαλίζεται αυτό.

Δεν είναι το μέσο υπεύθυνο για την φύλαξη αλλά αυτός που το εφαρμόζει. Οπότε η υπευθυνότητα μετράει. Έτσι αν έχεις θέμα με τα προσωπικά δεδομένα, φοβάσαι δηλαδή μην τα υποκλέψουν τότε έχεις θέμα με τον υπεύθυνο όχι με το μέσα που χρησιμοποιεί. Εκτός και αν είσαι γνώστης των μέσων, όχι γενικά αλλά για αυτό που σε φοβίζει, σαν να ήσουν υπεύθυνος πάνω από τον υπεύθυνο. Ο άλλος λόγος είναι να θες να κλέψεις τα στοιχεία!

dpa2006

Μερικές παρατηρήσεις αν επιτρέπεται,
1)Open source και όχι closed,όσο μπορούμε...
2)καλό θα ήταν το σύστημα να έχει backup ώστε να μην παρατηρούνται φαινόμενα "πεσίματος" και να είναι κατανεμημένο αν είναι δυνατόν.
3)θα δουλέψουμε αναγκαστικά με ότι διαθέτουμε,λόγω καταστάσεων.γεροί να είμαστε όλοι και όταν με το καλό περάσει η Πανδημία (1)να δούμε εναλλακτικές λύσεις, και στην εκπαίδευση, μαθαίνοντας από τα γεγονότα που βιώνουμε και εύχομαι να τελειώσουν σύντομα,αλλά φοβάμαι πως θα αργήσει ακόμη.
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science