Περί Πληροφορικής ο λόγος . . . .
Posted by Χάρης Μιλητός Mon, 13 Sep 2004 21:44:29 EEST
Πιστεύω ότι η Πληροφορική, αν και μια νέα επιστήμη έχει φτάσει σε ένα αξιόλογο σημείο ωριμότητας. Η επιστήμη λοιπόν του υπολογίζειν και της πληροφορίας υφίσταται για λιγότερο από ένα αιώνα. Φυσικά οι καταβολές της αρχίζουν από πολλά χρόνια πριν. Η Αριστοτέλεια λογική, ο προκάτοχος της Άλγεβρας Boole, οι μετέπειτα μαθηματικές εξελίξεις και ανακαλύψεις αποτέλεσαν τα βασικά θεμέλια και ερείσματα για την γένεση της Πληροφορικής ως μιας αυτοφυούς επιστήμης.
Ως μια ώριμη (σχετικά) επιστήμη, η Πληροφορική έχει να παρουσιάσει μια σημαντική φιλολογία και κάποιες κλασσικές έννοιες. Κλασσικές εννοώ έννοιες που πρέπει να ξέρει οποιοσδήποτε άνθρωπος ο οποίος θέλει να ονομάζεται πληροφορικάριος, έννοιες καθιερωμένες και ευρύτατα γνωστές. Επί παραδείγματι, στα Μαθηματικά, μια κλασσική έννοια (θεώρημα στην περίπτωση μας) αποτελεί το θεώρημα του Πυθαγόρα ή το θεώρημα του Θαλή.
Κλασσικές έννοιες στην Πληροφορική θα μπορούσαν να ήταν οι διάφοροι αλγόριθμοι ταξινόμησης όπως o αλγόριθμος ταξινόμησης φυσαλίδα (bubble sort) και οι υπόλοιποι (γνωστοί στην βιβλιογραφία) αλγόριθμοι ταξινόμησης. Οι βασικές έννοιες και όροι της κρυπτογραφίας (αλγόριθμοι κρυπτογράφησης, δημόσια και ιδιωτικά κλειδιά, κρυπτογράφημα(cipher)), θα μπορούσαν να ενταχθούν πλέον στην φιλολογία της Πληροφορικής. Τα διάφορα μοντέλα ανάπτυξης λογισμικού (μοντέλο καταρράκτη, σπιράλ κτλ) καλό θα ήταν να θεωρηθούν ως μέρος της "κλασσικής" πληροφορικό-λογοτεχνίας. Και πολλά άλλα . . .
Κανείς δεν μπορεί να τα ξέρει όλα. Αλλά κατ'εμένα οι σωστές βάσεις αποτελούν την προϋπόθεση για την δημιουργία γερών οικοδομημάτων.
Αυτά μου ήρθαν στο μυαλό την ώρα που διάβαζα ένα βιβλίο για ασφάλεια δικτύων. Νόμιζα ότι ήξερα αρκετά πράγματα, αλλά στο τέλος κατάλαβα ότι ήξερα πολύ λίγα. Μερικές φορές μας διαφεύγουν τα θεμελιώδη. Αλλά χωρίς αυτά δεν κάνουμε τίποτα.
Αναμένω τα σχόλια σας . . .
Reader's Comments
Συμφωνώ ότι κάθε επιστήμονας της πληροφορικής θα πρέπει να γνωρίζει κάποια πράγματα από συγκεκριμένους τομείς. Για αυτό και στα περισσότερα πανεπιστήμια, ένας μεταπτυχιακός φοιτητής είναι αναγκασμένος να επιλέξει ένα αριθμό μαθήματα κοινού κορμού, από συγκεκριμένες κατηγορίες της πληροφορικής. Για παράδειγμα, στο τμήμα μου (http://www.cs.uiuc.edu) είμαι αναγκασμένος να επιλέξω τουλάχιστον ένα μάθημα από κάθε μια από τις ακόλουθες κατηγορίες:
Είναι ενδιαφέρον να παρατηρήσουμε ότι η ανάγκη για συγκεκριμένη γνώση γεννάται. Για παράδειγμα, πριν 20 χρόνια το κρυπτοσύστημα δημόσιου κλειδιού (http://www.google.com) ίσως να μην εθεωρείτο και τόσο θεμελιώδη γνώση στον τομέα της ασφάλειας. Σήμερα, είναι απαραίτητη γνώση για όλους όσοι λαμβάνουν μέρος σε ασφαλείς συναλλαγές μέσω του Διαδικτύου, μιας και οι πλειοψηφία των διαδικτυακών χώρων (αλλά και άλλων εφαρμογών) βασίζεται στο κρυπτοσύστημα δημόσιου κλειδιού για ασφαλή επικοινωνία.
ΑΥΤΟΕΛΕΓΧΟΣ: Γνωρίζετε τους παρακάτω όρους;
Αν όχι, εισηγούμαι να επιδιώξετε να μάθετε για αυτούς, μιας και αποτελούν μέρος της καθημερινής μας πλοήγησης στον ιστό (και όχι μόνο). Ορίστε ορισμένοι σύνδεσμοι:
1. http://developer.netscape.com/docs/manuals/security/pkin/ (Ωραίο κείμενο. Σχετικά ευκολοδιάβαστο. Ωραία σχεδιαγράμματα)
2. http://www.rsasecurity.com (κοιτάξτε το FAQ τους)
3. Η διπλωματική εργασία που έκανα για να πάρω το πτυχίο μου: http://www.cs.ucy.ac.cy/networksgroup/pubs/thesis/undergrad/2003/Evaggelou_PKI.pdf (βλ. Κεφάλαιο 2)
Για όσους θέλουν να πειραματιστούν, εισηγούμαι το πρόγραμμα ανοικτού-κώδικα OpenSSL: http://www.openssl.org (αυτό χρησιμοποίησα και στη διπλωματική μου).
Θα προσπαθήσω να αναρτήσω μια δημοσίευση με λεπτομέρειες για το κρυπτοσύστημα δημόσιου κλειδιού, όταν βρω χρόνο.
[ Έχει ελεγχθεί με τον ορθογράφο του Phigita ]
Ου Παναία μου. Το "οι πλειοψηφία" κάμετε το "η πλειοψηφία". Κανένα γραμματικό έλεγχο θα βάλουμε στο Phigita; :)
Μήπως ο πληροφορικάριος που ασχολείται με ασφάλεια δικτύων πρέπει να λάβει υπ' όψιν του και τους περιορισμούς που θέτει το ίδιο το μέσο επικοινωνίας (physical layer, ειδικά στην περίπτωση των ασύρματων ζεύξεων), με άλλα λόγια να γνωρίζει βασικές αρχές τακτικής διαβιβάσεων και ηλεκτρονικών αντι-μέτρων και αντι-αντι-μέτρων;(μπρρρρ)
Σε ένα βαθμό, θα έλεγα ΝΑΙ.
Αν, για παράδειγμα, φτιάχνεις μια ιστοσελίδα η οποία έχει login, και αγνοείς παντελώς το γεγονός ότι κάποιος μπορεί να παρακολουθεί τη φυσική σύνδεση, είναι πιθανόν να διαπράξεις το τραγικό λάθος να χρησιμοποιήσεις ανασφαλές HTTP για τους κωδικούς. Το τραγικό αυτό λάθος διέπραξα εγώ προ τριετίας περίπου, όταν έφτιαχνα ένα διαδικτυακό χώρο.
Συνήθως όμως, ως υπεύθυνοι ανάπτυξης λογισμικού, δεν ασχολούμαστε με τη φυσική ασφάλεια εγκαταστάσεων. Είναι ήδη αρκετά πολύπλοκη η ασφάλεια λογισμικού. Αν μας έβαζαν να ανησυχούμε και για φυσική ασφάλεια, σημαίνει ότι θα έπρεπε να εκπαιδευτούμε καταλλήλως στυλ FBI/CIA κλπ.
Πάντως, για να επανέλθω στο κρυπτοσύστημα δημόσιου κλειδιού, ο μάλλον πιο διαδεδομένος τρόπος για την ασφάλιση επικοινωνίας στον Παγκόσμιο Ιστό είναι χρησιμοπoιώντας HTTPS με SSL. Αυτό, με τη σειρά του, κατά κανόνα (όχι όμως κατ'ανάγκην) χρησιμοποιεί το Κρυπτοσύστημα Δημόσιου Κλειδιού. Τώρα, αν θέλεις να ξέρεις ακριβώς τι ρίσκα παίρνεις και τι κινδύνους αντιμετωπίζεις χρησιμοποιώντας την παραπάνω μέθοδο, πρέπει να μάθεις για το Κρυπτοσύστημα Δημόσιου Κλειδιού (βλέπε συνδέσμους που δημοσίευσα πριν).
Δυστυχώς, οι παραπάνω χρήστες την σήμερον ημέρα αγνοούν αυτά τα σημαντικά, κατά την άποψή μου, ρίσκα. Για παράδειγμα, γνωρίζετε ότι όταν είστε σε ένα διαδικτυακό χώρο ο οποίος υποτίθεται ότι είναι ασφαλισμένος, στην ουσία δέχεστε τυφλά τον λόγο κάποιου μεσάζοντα (Αρχή Πιστοποίησης) ο οποίος "εγγυάται" ότι η επικοινωνία με το χώρο αυτό είναι "ασφαλισμένη"; Εντομεταξύ, δεν εγγυάται κανένας την αξιοπιστία του μεσάζοντα αυτού (παρά μόνον ο ίδιος ο μεσάζοντας). Για να κάνουμε τα πράματα ακόμα πιο πολύπλοκα, μερικές φορές δέχεστε τον λόγο κάποιου μεσάζοντα Α, για του οποίου την αξιοπιστία δέχεστε τον λόγο κάποιου μεσάζοντα Β, για του οποίου την αξιοπιστία μπορεί να δέχεστε τον λόγο άλλου μεσάζοντα κ.ο.κ. Όταν όμως φτάσεις στον τελευταίο μεσάζοντα της αλυσίδας, ο μόνος που εγγυάται την αξιοπιστία του είναι ο ίδιος.
Τέλοσπαντον, την ιδέα νομίζω την πήρατε.