Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.
Στις 1/7/2020 στις 3:00 ΜΜ, L34x88iT είπε

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

Αυτό εξαρτάται από την εφαρμογή σου. Κάποια δεδομένα (πχ passwords, payment details etc) δεν θες να τα βλέπει κανένας και τα κρυπτογραφείς είτε με encryption ή με hashing algorithms. Υπάρχουν πολλά level στα οποία μπορείς να θες να κρύψεις την πληροφορία σου.

Για παράδειγμα, σε μια σελίδα με αγγελίες μπορεί να θες τα παρακάτω:

- Ο admin μπορεί να δει τα πάντα, όλες τις αγγελίες και τους χρήστες με τα email και username τους
- Ο εγγεγραμένος χρήστης με συνδρομή μπορεί να δει όλες τις αγγελίες και όλους τους χρήστες με τα username τους αλλά χωρίς τα email τους
- Ο εγγεγραμένος απλός χρήστης μπορεί να δει όλες τις αγγελίες μέχρι 2 μέρες πριν και δεν μπορεί να δεις τους χρήστες καθόλου
- Ο ανώνυμος χρήστης δεν μπορεί να δει τίποτα

Στη ΒΔ σου δεν έχει νόημα να κρυπτογραφήσεις κάτι, από τη στιγμή που υπάρχει τουλάχιστον 1 ρόλος που θα μπορεί να δει τα δεδομένα σαν plaintext και δεν πρόκειται για ευαίσθητα δεδομένα (πάντα εκτός από κωδικούς πρόσβασης).

Ας πούμε τώρα ότι για κάποιο λόγο αρχίζεις και ζητάς να αποθηκεύσεις τώρα payment methods ώστε να μπορούν οι χρήστες να αγοράζουν κατευθείαν μέσω της σελίδας σου (ας υποθέσουμε χάριν απλότητας ότι θες/μπορείς να αποθηκεύσεις payment details στη ΒΔ σου χωρίς implications και δεν πας σε κάποιo 3rd party integration γι αυτό το σκοπό). Επειδή μιλάμε για ευαίσθητες πληροφορίες που ένα ενδεχόμενο breach μπορεί να σε φέρει σε πολύ δύσκολη (νομικά) θέση, θα ήταν σοφή επιλογή να κρυπτογραφήσεις αυτά τα δεδομένα.

Πάντως για να σου δώσω μια εικόνα, σε καμία από τις δουλειές που εργάστηκα στο παρελθόν (15+ χρόνια), όπως και στην τωρινή δουλειά μου, δεν κρυπτογραφήσαμε δεδομένα στη ΒΔ πέραν των κωδικών πρόσβασης, εκτός από μια περίπτωση που γράφαμε software για μια υπηρεσία ΠΟΛΥ ευαίσθητων δεδομένων (είχε να κάνει με το υπουργείο δικαιοσύνης κάποιας ευρωπαϊκής χώρας) και άλλη μια που είχε να κάνει με ευαίσθητα ιατρικά δεδομένα. Σε όλα τα άλλα project που δούλεψα, από πολύ μεγάλα ως πολύ μικρά, τα πάντα ήταν plaintext. Αυτό πάντως δε σημαίνει ότι δεν πρέπει ή δε χρειάζεται να κρυπτογραφήσεις εσύ τα δικά σου δεδομένα, απλά πρέπει να αναρρωτηθείς γιατί χρειάζεται η κρυπτογράφηση; Πρόκειται για δεδομένα που αν κάποιος τα αποκτήσει θα μπορέσει να κάνει μεγαλύτερη ζημιά από το να τα σβήσει για παράδειγμα; Αν ναι, τότε ίσως να είναι καλή ιδέα η κρυπτογράφηση.

Όσον αφορά στους όρους χρήσης, καλό είναι να γράφονται από κάποιον νομικό που εξειδικεύεται στο software, αλλά και πάλι σε αρκετά project απλά ήταν ένα συνονθύλευμα από copy/paste άλλων παρεμφερών εφαρμογών. Δεν λέω ότι είναι καλή ιδέα, ούτε καν το προτείνω, αλλά είναι ένα φαινόμενο που δεν είναι σπάνιο. Είναι πάντως από τα πράγματα που δεν είναι ιδιαίτερα ακριβό να κάνεις σωστή δουλειά και μπορεί να φανεί σωτήριο στην περίπτωση που θα βρεθείς στην θέση να το χρειαστείς.

  • Thanks 1
Δημοσ.
Στις 5/7/2020 στις 2:25 ΜΜ, t(o.ot) είπε

Αυτό εξαρτάται από την εφαρμογή σου. Κάποια δεδομένα (πχ passwords, payment details etc) δεν θες να τα βλέπει κανένας και τα κρυπτογραφείς είτε με encryption ή με hashing algorithms. Υπάρχουν πολλά level στα οποία μπορείς να θες να κρύψεις την πληροφορία σου.

Για παράδειγμα, σε μια σελίδα με αγγελίες μπορεί να θες τα παρακάτω:

- Ο admin μπορεί να δει τα πάντα, όλες τις αγγελίες και τους χρήστες με τα email και username τους
- Ο εγγεγραμένος χρήστης με συνδρομή μπορεί να δει όλες τις αγγελίες και όλους τους χρήστες με τα username τους αλλά χωρίς τα email τους
- Ο εγγεγραμένος απλός χρήστης μπορεί να δει όλες τις αγγελίες μέχρι 2 μέρες πριν και δεν μπορεί να δεις τους χρήστες καθόλου
- Ο ανώνυμος χρήστης δεν μπορεί να δει τίποτα

Στη ΒΔ σου δεν έχει νόημα να κρυπτογραφήσεις κάτι, από τη στιγμή που υπάρχει τουλάχιστον 1 ρόλος που θα μπορεί να δει τα δεδομένα σαν plaintext και δεν πρόκειται για ευαίσθητα δεδομένα (πάντα εκτός από κωδικούς πρόσβασης).

Ας πούμε τώρα ότι για κάποιο λόγο αρχίζεις και ζητάς να αποθηκεύσεις τώρα payment methods ώστε να μπορούν οι χρήστες να αγοράζουν κατευθείαν μέσω της σελίδας σου (ας υποθέσουμε χάριν απλότητας ότι θες/μπορείς να αποθηκεύσεις payment details στη ΒΔ σου χωρίς implications και δεν πας σε κάποιo 3rd party integration γι αυτό το σκοπό). Επειδή μιλάμε για ευαίσθητες πληροφορίες που ένα ενδεχόμενο breach μπορεί να σε φέρει σε πολύ δύσκολη (νομικά) θέση, θα ήταν σοφή επιλογή να κρυπτογραφήσεις αυτά τα δεδομένα.

Πάντως για να σου δώσω μια εικόνα, σε καμία από τις δουλειές που εργάστηκα στο παρελθόν (15+ χρόνια), όπως και στην τωρινή δουλειά μου, δεν κρυπτογραφήσαμε δεδομένα στη ΒΔ πέραν των κωδικών πρόσβασης, εκτός από μια περίπτωση που γράφαμε software για μια υπηρεσία ΠΟΛΥ ευαίσθητων δεδομένων (είχε να κάνει με το υπουργείο δικαιοσύνης κάποιας ευρωπαϊκής χώρας) και άλλη μια που είχε να κάνει με ευαίσθητα ιατρικά δεδομένα. Σε όλα τα άλλα project που δούλεψα, από πολύ μεγάλα ως πολύ μικρά, τα πάντα ήταν plaintext. Αυτό πάντως δε σημαίνει ότι δεν πρέπει ή δε χρειάζεται να κρυπτογραφήσεις εσύ τα δικά σου δεδομένα, απλά πρέπει να αναρρωτηθείς γιατί χρειάζεται η κρυπτογράφηση; Πρόκειται για δεδομένα που αν κάποιος τα αποκτήσει θα μπορέσει να κάνει μεγαλύτερη ζημιά από το να τα σβήσει για παράδειγμα; Αν ναι, τότε ίσως να είναι καλή ιδέα η κρυπτογράφηση.

Όσον αφορά στους όρους χρήσης, καλό είναι να γράφονται από κάποιον νομικό που εξειδικεύεται στο software, αλλά και πάλι σε αρκετά project απλά ήταν ένα συνονθύλευμα από copy/paste άλλων παρεμφερών εφαρμογών. Δεν λέω ότι είναι καλή ιδέα, ούτε καν το προτείνω, αλλά είναι ένα φαινόμενο που δεν είναι σπάνιο. Είναι πάντως από τα πράγματα που δεν είναι ιδιαίτερα ακριβό να κάνεις σωστή δουλειά και μπορεί να φανεί σωτήριο στην περίπτωση που θα βρεθείς στην θέση να το χρειαστείς.

Σε ευχαριστώ πάρα πολύ φίλε μου για την απάντησή σου. Με κάλυψες 100% στο ερώτημά μου!!!

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...