DedSec Project

Κρυπτογραφία — DedSec Project

Κρυπτογραφία Η κρυπτογραφία παρέχει μηχανισμούς για confidentiality, integrity, authenticity, key establishment και επαληθεύσιμη προέλευση δεδομένων. Η πραγματική ασφάλεια δεν εξαρτάται…

Η κρυπτογραφία παρέχει μηχανισμούς για confidentiality, integrity, authenticity, key establishment και επαληθεύσιμη προέλευση δεδομένων. Η πραγματική ασφάλεια δεν εξαρτάται μόνο από έναν ισχυρό algorithm αλλά και από protocol design, key lifecycle, randomness, implementation, identity binding, error handling και recovery.

Όριο εξουσιοδότησης: Χρησιμοποίησε δικά σου keys και synthetic data. Μην επιχειρείς ανάκτηση ξένων credentials, αποκρυπτογράφηση δεδομένων χωρίς άδεια ή αποδυνάμωση πραγματικών συστημάτων για πείραμα.

Μαθησιακοί στόχοι

Security goals

Confidentiality περιορίζει ποιος διαβάζει δεδομένα. Integrity ανιχνεύει μη εξουσιοδοτημένη αλλαγή. Authenticity δίνει evidence για identity/key που παρήγαγε ή αυθεντικοποίησε μήνυμα. Το non-repudiation είναι ευρύτερος νομικός/λειτουργικός ισχυρισμός και δεν προκύπτει αυτόματα από μια signature.

Η κρυπτογραφία δεν αποφασίζει authorization. Μια έγκυρη signature μπορεί να συνδέεται με λάθος tenant, resource, audience ή workflow και επομένως να οδηγεί σε λάθος απόφαση.

Symmetric encryption

Τα symmetric algorithms χρησιμοποιούν shared secret και είναι αποδοτικά για bulk data. Σύγχρονα συστήματα συνήθως χρειάζονται authenticated encryption ώστε confidentiality και integrity να προστατεύονται μαζί. Key reuse, nonce/IV misuse ή μη authenticated metadata μπορούν να ακυρώσουν την ασφάλεια ισχυρού primitive.

Hash functions και passwords

Τα cryptographic hashes δίνουν fixed-size digest και χρησιμοποιούνται σε integrity και protocol constructions. Password storage είναι διαφορετικό πρόβλημα: τα ανθρώπινα passwords έχουν μικρή entropy και χρειάζονται κατάλληλο password-hashing/KDF με unique salt και σωστές work parameters. Ένα γρήγορο απλό hash δεν είναι επαρκές.

Message Authentication Codes

MAC αποδεικνύει ότι ο κάτοχος του shared key αυθεντικοποίησε ένα μήνυμα, αλλά δεν παρέχει public verifiability όπως digital signature. Το protocol πρέπει να ορίζει ακριβώς ποια fields και ποια canonical representation μπαίνουν στο MAC.

Public-key cryptography και signatures

Public/private key pairs χρησιμοποιούνται για key establishment, signatures ή encryption ανάλογα με το scheme. Private keys χρειάζονται αυστηρό access control και lifecycle. Η verification πρέπει να ελέγχει algorithm, key, context και message representation—not απλώς ένα boolean result.

Randomness, nonces, IVs και salts

Random keys απαιτούν cryptographically secure source. Nonce συνήθως χρειάζεται uniqueness σύμφωνα με το protocol, IV έχει algorithm-specific requirements και salt διαφοροποιεί ίδιες password/hash εισόδους. Οι όροι δεν είναι εναλλάξιμοι.

Key lifecycle

Χαρτογράφησε generation, storage, distribution, activation, use, rotation, revocation, backup, recovery, archival και destruction. Long-lived encrypted data παραμένουν ασφαλή μόνο αν το organization μπορεί να προστατεύει και να ανακτά τα keys χωρίς υπερβολικό access.

PKI και certificates

Certificates συνδέουν public keys με identities/names μέσα σε trust model. Validation μπορεί να απαιτεί chain building, hostname/identity checks, validity period, key usage, policy, revocation strategy και trust-store management. TLS προστατεύει connection μόνο όταν identity και authorization ερμηνεύονται σωστά.

Συνηθισμένες αστοχίες

Crypto agility και post-quantum planning

Long-lived systems πρέπει να γνωρίζουν ποια algorithms/keys χρησιμοποιούν και να μπορούν να αλλάξουν χωρίς redesign. Η post-quantum migration είναι κυρίως inventory, dependency, interoperability, testing και lifecycle πρόβλημα: βρες πού χρησιμοποιούνται ευάλωτα public-key algorithms, προτεραιοποίησε long-lived sensitive data και δοκίμασε standardized replacements σε controlled environment.

Καθοδηγούμενο εργαστήριο

Με synthetic text, γράψε μικρό local πρόγραμμα που υπολογίζει file hash, MAC με προσωρινό lab key και authenticated encryption μέσω αξιόπιστης library. Άλλαξε ένα byte του ciphertext ή authenticated data και παρατήρησε verification failure. Κατέγραψε ποια ιδιότητα παρέχει κάθε primitive και ποιο state/key πρέπει να προστατεύεται.

Έλεγχος γνώσεων

  1. Γιατί encryption μόνο του δεν ισοδυναμεί με authenticated encryption;
  2. Γιατί salt, nonce και IV είναι διαφορετικά;
  3. Γιατί fast hash είναι ακατάλληλο για password storage;
  4. Τι χρειάζεται certificate validation πέρα από signature check;
  5. Γιατί cryptographic agility είναι architectural property;

Καθοδηγούμενη μελέτη

Χρησιμοποίησε τη Μεθοδολογία Μελέτης. Για κάθε primitive κατέγραψε security property, απαιτούμενο secret/public state, misuse conditions, lifecycle και evidence σωστής χρήσης.

Συνέχισε με

Προτεινόμενα modules: 39, 49, 78, 100, 101, 102, 103, 131, 132. Από το menu χρησιμοποίησε Αναζήτηση μαθημάτων για συγκεκριμένο primitive ή protocol.