Skip to content

Security el GR

ArchiBot edited this page Jul 8, 2025 · 22 revisions

Ασφάλεια

Κρυπτογράφηση

ASF currently supports the following encryption methods as a definition of ECryptoMethod:

Τιμή Όνομα
0 ΑπλόΚείμενο
1 AES
2 ProtectedDataForCurrentUser
3 EnvironmentVariable
4 Αρχείο

Η ακριβής περιγραφή και σύγκριση αυτών είναι διαθέσιμη παρακάτω.

Για τη δημιουργία κρυπτογραφημένου κωδικού πρόσβασης, π.χ. για χρήση SteamPassword , θα πρέπει να εκτελέσετε κρυπτογράφηση εντολή με την κατάλληλη κρυπτογράφηση που επιλέξατε και τον αρχικό κωδικό απλού κειμένου. Κατόπιν, βάλτε την κρυπτογραφημένη συμβολοσειρά που έχετε ως SteamPassword bot config property, και τελικά άλλαξε το PasswordFormat σε αυτό που ταιριάζει με την επιλεγμένη μέθοδο κρυπτογράφησης. Μερικές μορφές δεν απαιτούν εντολή κρυπτογράφησης , για παράδειγμα EnvironmentVariable ή File, απλά βάλτε την κατάλληλη διαδρομή γι 'αυτούς.


ΑπλόΚείμενο

Αυτός είναι ο πιο απλός και ανασφαλής τρόπος αποθήκευσης ενός κωδικού πρόσβασης, που ορίζεται ως ECryptoMethod του 0. Το ASF αναμένει ότι η συμβολοσειρά θα είναι ένα απλό κείμενο - ένας κωδικός πρόσβασης στην άμεση μορφή του. Είναι το πιο εύκολο στη χρήση, και 100% συμβατό με όλες τις ρυθμίσεις, ως εκ τούτου είναι ένας προεπιλεγμένος τρόπος αποθήκευσης μυστικών, εντελώς ανασφαλής για ασφαλή αποθήκευση.


AES

Θεωρείται ασφαλής από τα σημερινά πρότυπα, AES τρόπος αποθήκευσης του κωδικού πρόσβασης ορίζεται ως ECryptoMethod του 1. Το ASF αναμένει ότι η συμβολοσειρά θα είναι μια βάση με βάση το 64-κωδικοποιημένο ακολουθία χαρακτήρων που θα οδηγήσει σε συστοιχία byte με κρυπτογράφηση AES μετά τη μετάφραση, που τότε θα πρέπει να αποκρυπτογραφηθεί χρησιμοποιώντας το διάνυσμα αρχικοποίησης και το κλειδί κρυπτογράφησης ASF.

Η παραπάνω μέθοδος εγγυάται την ασφάλεια εφόσον ο εισβολέας δεν γνωρίζει το κλειδί κρυπτογράφησης ASF το οποίο χρησιμοποιείται για αποκρυπτογράφηση, καθώς και κρυπτογράφηση των κωδικών πρόσβασης. ASF σας επιτρέπει να καθορίσετε το κλειδί μέσω --cryptkey παράμετρο γραμμής εντολών, το οποίο θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, που σημαίνει ότι οποιοσδήποτε μπορεί να αντιστρέψει την κρυπτογράφηση ASF και να πάρει αποκρυπτογραφημένο κωδικό πρόσβασης. Εξακολουθεί να απαιτεί κάποια προσπάθεια και δεν είναι τόσο εύκολο να γίνει, αλλά εφικτό, Αυτός είναι ο λόγος για τον οποίο θα πρέπει σχεδόν πάντα να χρησιμοποιείτε κρυπτογράφηση AES με το δικό σας --cryptkey το οποίο διατηρείται μυστικό. Η μέθοδος AES που χρησιμοποιείται στο ASF παρέχει ασφάλεια που θα πρέπει να ικανοποιεί και είναι μια ισορροπία μεταξύ της απλότητας του PlainText και της πολυπλοκότητας του ProtectedDataForCurrentUser, αλλά συνιστάται ιδιαίτερα να το χρησιμοποιήσετε με προσαρμοσμένο --cryptkey. Εάν χρησιμοποιηθεί σωστά, εγγυάται αξιοπρεπή ασφάλεια για ασφαλή αποθήκευση.


ProtectedDataForCurrentUser

Επί του παρόντος, ο πιο ασφαλής τρόπος κρυπτογράφησης του κωδικού πρόσβασης που προσφέρει το ASF, και πολύ ασφαλέστερο από τη μέθοδο AES που εξηγείται παραπάνω, ορίζεται ως ECryptoΜέθοδος του 2. Το μεγαλύτερο πλεονέκτημα αυτής της μεθόδου είναι ταυτόχρονα το μεγαλύτερο μειονέκτημα - αντί να χρησιμοποιείτε κλειδί κρυπτογράφησης (όπως στο AES), τα δεδομένα είναι κρυπτογραφημένα χρησιμοποιώντας τα διαπιστευτήρια σύνδεσης του παρόντος συνδεδεμένου χρήστη, που σημαίνει ότι είναι δυνατή η αποκρυπτογράφηση των δεδομένων μόνο στο μηχάνημα στο οποίο κρυπτογραφήθηκε, και εκτός από αυτό, μόνο από τον χρήστη που εξέδωσε την κρυπτογράφηση. This ensures that even if you send your entire Bot.json with encrypted SteamPassword using this method to somebody else, he will not be able to decrypt the password without direct access to your PC. Αυτό είναι ένα εξαιρετικό μέτρο ασφαλείας, αλλά ταυτόχρονα έχει ένα μεγάλο μειονέκτημα ότι είναι λιγότερο συμβατό, καθώς ο κωδικός πρόσβασης που κρυπτογραφείται με αυτή τη μέθοδο θα είναι ασύμβατος με οποιονδήποτε άλλο χρήστη καθώς και με το μηχάνημα - συμπεριλαμβανομένου του δικού σας αν αποφασίσετε να ε. . επανεγκαταστήστε το λειτουργικό σας σύστημα. Ακόμα, είναι μια από τις καλύτερες μεθόδους αποθήκευσης κωδικών πρόσβασης και αν ανησυχείτε για την ασφάλεια του PlainText, και δεν θέλουν να βάλουν κωδικό κάθε φορά, τότε αυτό είναι το καλύτερο στοίχημά σας αρκεί να μην χρειάζεται να έχετε πρόσβαση στις ρυθμίσεις σας από οποιοδήποτε άλλο μηχάνημα από το δικό σας.

Παρακαλείστε να σημειώσετε ότι αυτή η επιλογή είναι διαθέσιμη μόνο για μηχανές που χρησιμοποιούν λειτουργικό σύστημα Windows από τώρα.


EnvironmentVariable

Αποθήκευση βασισμένη σε μνήμη, ορίζεται ως ECryptoMethod του 3. Το ASF θα διαβάσει τον κωδικό πρόσβασης από τη μεταβλητή περιβάλλοντος με το συγκεκριμένο όνομα που καθορίζεται στο πεδίο του κωδικού πρόσβασης (π.χ. SteamPassword). Για παράδειγμα, ρύθμιση SteamPassword σε ASF_PASSWORD_MYACCOUNT και PasswordFormat σε 3 θα προκαλέσει το ASF να αξιολογήσει τη μεταβλητή περιβάλλοντος ${ASF_PASSWORD_MYACCOUNT} και να χρησιμοποιήσει ό, τι έχει οριστεί ως κωδικός πρόσβασης λογαριασμού.


Αρχείο

Η αποθήκευση με βάση το αρχείο (πιθανώς εκτός του καταλόγου ρυθμίσεων ASF) ορίζεται ως ECryptoMethod του 4. Το ASF θα διαβάσει τον κωδικό πρόσβασης από τη διαδρομή αρχείου που καθορίζεται στο πεδίο κωδικού πρόσβασης (π.χ. SteamPassword). Η καθορισμένη διαδρομή μπορεί να είναι είτε απόλυτη, είτε σε σχέση με την τοποθεσία "σπίτι" του ASF (ο φάκελος με τον κατάλογο config μέσα, λαμβάνοντας υπόψη το --path όρισμα γραμμής εντολών). Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για παράδειγμα με μυστικά Docker, που δημιουργούν τέτοια αρχεία για τη χρήση, αλλά μπορούν επίσης να χρησιμοποιηθούν έξω από το Docker αν δημιουργήσετε το κατάλληλο αρχείο μόνοι σας. Για παράδειγμα, ρύθμιση SteamPassword σε /etc/secrets/MyAccount. ass και PasswordFormat to 4 θα προκαλέσει το ASF να διαβάσει /etc/secrets/MyAccount. ass και να χρησιμοποιήσετε ό, τι είναι γραμμένο σε αυτό το αρχείο ως τον κωδικό πρόσβασης λογαριασμού.

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


Προτάσεις κρυπτογράφησης

Εάν η συμβατότητα δεν είναι πρόβλημα για εσάς, και είστε εντάξει με τον τρόπο που λειτουργεί η μέθοδος ProtectedDataForCurrentUser , είναι η επιλογή που προτείνεται για την αποθήκευση του κωδικού πρόσβασης στο ASF, καθώς παρέχει την καλύτερη ασφάλεια. AES μέθοδος είναι μια καλή επιλογή για τους ανθρώπους που εξακολουθούν να θέλουν να κάνουν χρήση των ρυθμίσεων τους σε οποιαδήποτε μηχανή θέλουν, ενώ το PlainText είναι ο πιο απλός τρόπος αποθήκευσης του κωδικού πρόσβασης, αν δεν σας πειράζει ότι κάποιος μπορεί να αναζητήσει σε JSON αρχείο ρύθμισης παραμέτρων γι 'αυτό.

Please keep in mind that all of those 3 methods are considered insecure if attacker has access to your PC. Το ASF πρέπει να είναι σε θέση να αποκρυπτογραφήσει τους κρυπτογραφημένους κωδικούς πρόσβασης, και αν το πρόγραμμα που εκτελείται στο μηχάνημά σας είναι σε θέση να το κάνει, τότε οποιοδήποτε άλλο πρόγραμμα που τρέχει στην ίδια μηχανή θα είναι σε θέση να το κάνει, πάρα πολύ. ProtectedDataForCurrentUser είναι η πιο ασφαλής παραλλαγή όπως το ακόμη και άλλοι χρήστες που χρησιμοποιούν τον ίδιο υπολογιστή δεν θα είναι σε θέση να το αποκρυπτογραφήσουν, αλλά είναι ακόμα δυνατό να αποκρυπτογραφήσετε τα δεδομένα αν κάποιος είναι σε θέση να κλέψει τα διαπιστευτήρια σύνδεσης και τις πληροφορίες του μηχανήματος, εκτός από το αρχείο ρύθμισης ASF.

Για προηγμένες ρυθμίσεις, μπορείτε να χρησιμοποιήσετε EnvironmentVariable και File. Έχουν περιορισμένη χρηστικότητα, το EnvironmentVariable θα είναι μια καλή ιδέα αν προτιμάτε να αποκτήσετε κωδικό πρόσβασης μέσω κάποιου είδους προσαρμοσμένης λύσης και να το αποθηκεύσετε στη μνήμη αποκλειστικά, ενώ το File είναι καλό για παράδειγμα με το μυστικά Docker. Και οι δύο είναι χωρίς κρυπτογράφηση, ωστόσο, έτσι ώστε να μετακινήσετε βασικά τον κίνδυνο από το αρχείο ρύθμισης ASF σε ό, τι επιλέγετε από αυτά τα δύο.

Εκτός από τις μεθόδους κρυπτογράφησης που καθορίζονται παραπάνω, είναι επίσης δυνατό να αποφευχθεί ο πλήρης καθορισμός κωδικών, για παράδειγμα ως SteamPassword χρησιμοποιώντας μια κενή συμβολοσειρά ή null τιμή. Το ASF θα σας ζητήσει τον κωδικό σας όταν απαιτείται, και δεν θα το αποθηκεύσετε οπουδήποτε, αλλά θα κρατήσετε στη μνήμη της τρέχουσας εκτελούμενης διαδικασίας, μέχρι να το κλείσετε. Ενώ είναι η πιο ασφαλής μέθοδος αντιμετώπισης των κωδικών πρόσβασης (δεν έχουν αποθηκευτεί πουθενά), είναι επίσης το πιο ενοχλητικό καθώς πρέπει να εισάγετε τον κωδικό πρόσβασής σας χειροκίνητα σε κάθε εκτέλεση ASF (όταν απαιτείται). Αν αυτό δεν είναι ένα πρόβλημα για σας, αυτό είναι καλύτερο στοίχημα ασφάλεια-σοφά σας.


Αποκρυπτογράφηση

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


Κατακερματισμός

Το ASF υποστηρίζει επί του παρόντος τις ακόλουθες μεθόδους κατακερματισμού ως ορισμό της μεθόδου EHashingMethod:

Τιμή Όνομα
0 ΑπλόΚείμενο
1 Κρυπτογράφηση
2 Pbkdf2

Η ακριβής περιγραφή και σύγκριση αυτών είναι διαθέσιμη παρακάτω.

Για να δημιουργηθεί μια έκταση, π.χ. για χρήση IPCPassword , θα πρέπει να εκτελέσετε hash εντολή με την κατάλληλη μέθοδο κατακερματισμού που επιλέξατε και τον αρχικό κωδικό απλού κειμένου. Κατόπιν, βάλτε το hashed string που έχετε ως IPCPassword ASF config property, και τελικά αλλάξτε το IPCPasswordFormat σε αυτό που ταιριάζει με την επιλεγμένη μέθοδο κατακερματισμού σας.


ΑπλόΚείμενο

Αυτός είναι ο πιο απλός και ανασφαλής τρόπος κατακερματισμού ενός κωδικού πρόσβασης, που ορίζεται ως EHashingMethod του 0. Το ASF θα δημιουργήσει hash που ταιριάζει με την αρχική είσοδο. Είναι το πιο εύκολο στη χρήση, και 100% συμβατό με όλες τις ρυθμίσεις, ως εκ τούτου είναι ένας προεπιλεγμένος τρόπος αποθήκευσης μυστικών, εντελώς ανασφαλής για ασφαλή αποθήκευση.


Κρυπτογράφηση

Θεωρείται ασφαλής από τα σημερινά πρότυπα, SCrypt τρόπος κατακερματισμού του κωδικού πρόσβασης ορίζεται ως EHashingMethod του 1. Το ASF θα χρησιμοποιήσει την εφαρμογή SCrypt χρησιμοποιώντας μπλοκ 8 , 8192 επαναλήψεις, 32 μήκος κατακερματισμού και κλειδί κρυπτογράφησης ως άλας για τη δημιουργία της σειράς bytes. The resulting bytes will then be encoded as base64 string.

Το ASF σας επιτρέπει να καθορίσετε το αλάτι για αυτή τη μέθοδο μέσω της παράστασης --cryptkey γραμμής εντολών, που θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, σημαίνει ότι το hashing θα είναι λιγότερο ασφαλές. Εάν χρησιμοποιηθεί σωστά, εγγυάται αξιοπρεπή ασφάλεια για ασφαλή αποθήκευση.


Pbkdf2

Θεωρείται αδύναμος από τα σημερινά πρότυπα, Pbkdf2 ο τρόπος κατακερματισμού του κωδικού πρόσβασης ορίζεται ως EHashingMethod του 2. Το ASF θα χρησιμοποιήσει την εφαρμογή Pbkdf2 χρησιμοποιώντας επαναλήψεις 10000 , 32 μήκος κατακερματισμού και κλειδί κρυπτογράφησης ως αλάτι, με SHA-256 ως αλγόριθμο hmac για τη δημιουργία του πίνακα bytes. The resulting bytes will then be encoded as base64 string.

Το ASF σας επιτρέπει να καθορίσετε το αλάτι για αυτή τη μέθοδο μέσω της παράστασης --cryptkey γραμμής εντολών, που θα πρέπει να χρησιμοποιήσετε για μέγιστη ασφάλεια. Αν αποφασίσετε να το παραλείψετε, το ASF θα χρησιμοποιήσει το δικό του κλειδί που είναι γνωστό και κωδικοποιημένο στην εφαρμογή, σημαίνει ότι το hashing θα είναι λιγότερο ασφαλές.


Προτάσεις κατακερματισμού

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

Clone this wiki locally