DedSec Project

Cryptographic Protocol Engineering, Key Agreement και State Machines — DedSec Project

Cryptographic Protocol Engineering, Key Agreement και State Machines Ελληνική έκδοση — Μάθημα 100. Διατηρούνται οι διεθνείς τεχνικοί όροι όπου είναι ακριβέστεροι και ευκολότεροι στην…

Ελληνική έκδοση — Μάθημα 100. Διατηρούνται οι διεθνείς τεχνικοί όροι όπου είναι ακριβέστεροι και ευκολότεροι στην αναζήτηση.

Στόχος του μαθήματος

Να κατανοήσεις σε βάθος το Cryptographic Protocol Engineering, Key Agreement και State Machines, να αναγνωρίζεις trust boundaries και failure states και να μπορείς να αποδείξεις ένα συμπέρασμα με ασφαλές, επαναλήψιμο evidence.

Βαθιές τεχνικές έννοιες

1. Security goals

Πριν σχεδιάσεις protocol γράψε confidentiality, authenticity, forward secrecy, replay resistance και identity goals. Ασαφής goal οδηγεί σε σωστά primitives συνδεδεμένα με λάθος τρόπο.

2. Key agreement

Key agreement δημιουργεί shared secret αλλά πρέπει να authenticate τα σωστά peers και parameters. Unauthenticated agreement προστατεύει από passive observer αλλά όχι από active intermediary.

3. Transcript binding

Bind identities, roles, algorithms και exchanged messages στο authenticated transcript ώστε messages από άλλο context/session να μην επαναχρησιμοποιούνται.

4. Nonces and sequence numbers

Nonces/challenges δίνουν freshness και sequence numbers ordering/replay state. Ορίσε uniqueness, lifetime, wrap/restart και persistence behavior.

5. Key derivation

KDF πρέπει να χωρίζει keys ανά purpose/direction/context και να χρησιμοποιεί κατάλληλο salt/info. Μην επαναχρησιμοποιείς ίδιο key material για unrelated cryptographic operations.

6. Algorithm agility

Agility σημαίνει ασφαλές negotiation/migration χωρίς downgrade. Version/algorithm επιλογή πρέπει να authenticated και legacy support να έχει explicit sunset.

7. Error handling

Crypto errors μπορούν να διαρρεύσουν state μέσω timing/detail ή να προκαλέσουν unsafe fallback. Uniform failure, bounded retry και clear state reset είναι μέρος του protocol.

8. Formal and empirical validation

Formal models βοηθούν state-machine/protocol properties, ενώ test vectors, fuzzing και interoperability βρίσκουν implementation bugs. Χρειάζονται και τα δύο για high-assurance design.

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

  1. Design a toy authenticated message protocol on paper and identify where identities, roles, nonces, sequence numbers, and transcript data are bound — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.
  2. Create negative test cases for replay, reordered messages, algorithm downgrade, expired credentials, and duplicate session identifiers — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.
  3. Compare “encrypted transport” with “end-to-end authenticated message” and list which intermediaries can still read or modify data in each model — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.

Πλήρες αγγλικό μάθημα

English Module 100