Devo scegliere un argomento per il mio progetto scolastico di fine anno e ho bisogno di un consiglio. Stavo pensando di implementare un progetto online di materiali didattici (file digitali). Ho svolto ricerche sulla crittografia e ho letto algoritmi simmetrici / asimmetrici. Ecco cosa ho finora:
- L'idea è di creare un sistema in cui i materiali del corso sono crittografato e può essere decifrato solo dagli studenti della scuola corso.
- I materiali del corso saranno crittografati dall'algoritmo AES e la chiave AES verrebbe archiviata nel database.
- Il database conterrà una tabella con la colonna "Corso" e il suo corrispondente "AESKey". Poiché non è sicuro memorizzare la chiave AES in chiaro, lo ero allora pensando di crittografarlo usando una chiave derivata da password PBKDF2 (il la cui password sarebbe stata data agli studenti dall'insegnante di il corso).
- Quindi, quando lo studente richiede i materiali, lui fornirebbe semplicemente la password per quel corso e quindi sarà in grado per recuperare il tasto AES.
Cosa ne pensi di questa idea? E come posso renderlo più sicuro? Perché volevo ottenere una sorta di autenticazione a più fattori, ma sarebbe stato impossibile dare smart card a tutti gli studenti! Stavo pensando di crittografare la chiave AES usando il metodo della chiave pubblica / privata RSA, ma poi ci saranno molti studenti (creo una coppia di chiavi pubblica / privata per ogni studente? Suoni non fattibili ...) O forse c'è qualche in altro modo posso implementare lo schema di crittografia RSA lì? Userò C # come linguaggio di implementazione.
Il tuo consiglio è il benvenuto! Grazie