Και τι εμποδίζει κάποιον να ανοίξει τη βάση και να γράψει αυτά που θέλει; Αφού έχει το πρόγραμμα μπορεί να ψάξει να βρει το user/pass της βάσης!
Κάθε μέτρο έχει και αντίμετρο. Το θέμα είναι σε τι χρήστη απευθύνεσαι και ποιον προσπαθείς να σταματήσεις. Αν έχει γνώσει να καταλάβει το checksum και να το αναπαράγει, έχει αρκετές γνώσεις να ψάξει να βρει πρόγραμμα σύνδεσης με τη βάση και τα αντίστοιχα credentials.
Εμφάνιση 16-19 από 19
-
29-05-23, 10:11 Απάντηση: Windows forms write an encrypted file #16
-
29-05-23, 17:53 Απάντηση: Windows forms write an encrypted file #17
-
30-05-23, 09:44 Απάντηση: Windows forms write an encrypted file #18
Πώς θα συνδέσεις το πρόγραμμά σου με τη βάση; Κάπου πρέπει να υπάρχει ο κωδικός... Hardcoded, configuration file, κάπου πρέπει να υπάρχει γιατί το πρόγραμμά σου χρειάζεται πρόσβαση. Οπότε αφού τον έχει το πρόγραμμά σου και κάποιος έχει πρόσβαση και δικαιώματα να το τρέξει, μπορεί να το βρει!
- - - Updated - - -
Για να μην παρεξηγηθώ, δεν διαφωνώ ότι η μέθοδός σου παρέχει μεγαλύτερη ασφάλεια, καθώς απαιτεί περισσότερες γνώσεις από τον "κακόβουλο χρήστη" πέρα από το να ανοίξει ένα αρχείο και να το πειράξει.
Αλλά απαιτεί περισσότερες γνώσεις και από τους διαχειριστές του συστήματος (γνώσεις Β.Δ. κτλ) και τους προγραμματιστές της εφαρμογής. Κάτι το οποίο αυξάνει δραματικά την πολυπλοκότητα της υλοποίησης.
Μία εφαρμογή που τρέχει τοπικά και γράφει σε ένα αρχείο κάποια πράγματα, συνήθως, είναι φτιαγμένη από κάποιο στο γραφείο που ενδιαφέρεται και του αρέσει, οπότε δύσκολα θα μπει στη λογική του να φτιάξει ολόκληρη βάση, σε δικό του server με δικαιώματα κτλ. Το πολύ πολύ να πάει σε καμιά SQLite, τοπικά.
Το Hash έχει τη μικρότερη τριβή για αυτόν που φτιάχνει/συντηρεί το πρόγραμμα και σταματάει τους περισσότερους που ψάχνουν να πειράξουν κάτι. Αν κάποιος θέλει τόσο πολύ να το πειράξει, θα περάσει και το hash και τη βάση!
-
30-05-23, 19:03 Απάντηση: Windows forms write an encrypted file #19
Από τη στιγμή που όλα είναι locally, όλα μπορούν να πειραχτούν, και εγώ συμφωνώ μαζί σου. Το ιδανικό θα ήταν να έχει remotely την βάση και ένα μικρό REST API να μιλάει με την βάση, με το πρόγραμμα που έγραψε ως client/frontend/whatever.
Το ιδανικό σε local environment, για εμένα, είναι να κάνει encrypt τα περιεχόμενα του αρχείου με κλειδί που έχει γραμμένο σε χαρτί και να δίνει αυτό το κλειδί ως password σε όποιον θέλει να επιτρέψει να κάνει αλλαγές. Προφανώς μιλάω για συμμετρικό encryption, για να μπορεί να κάνει decrypt με το ίδιο κλειδί και να γλυτώσει και το implementation/computation cost.
Bookmarks