2021-10-13 – Knowledge Tester já com encriptação Rijndael 256, e outras novidades…
Encriptação já adicionada ao Knowledge Tester, além de outras coisas (clicar acima para ver a imagem).
Adicionei encriptação, com base no algoritmo Rijndael 256 (AES256), com um pequeno add-on que adicionei (que era até escusado dado que ninguém iria crackar o AES256 à força, mas mesmo assim adicionei algo mais).
E uso um sistema de duas passwords, o criador do exame gera uma password, tipo “exame 1”, mas para evitar que os alunos/formandos testem o “exame 2” no próximo exame, o que lhes é dado é uma hash criptográfica gerada com o algoritmo SHA2 (representada acima na forma de caracteres legíveis, mais longa que a de 32 caracteres), que é a que os alunos usarão para abrir o exame.
Essa hash tem obviamente um salt para evitar ataques por rainbow tables (até parece que estamos a falar de alunos de Mestrado em Cyber-Security e/ou hashes quebradas como MD5 e afins, sei que parece exagerado mas pronto, meti).
Assim o aluno tem uma password que lhe permite abrir o exame, mas não permitirá que leia o relatório do exame, nem tentar achar a password original (neste caso “testes”), através de rainbow tables ou outras coisas do género.
AES256 + algo para encriptar, e depois uma SHA2 para criar uma password extra para o aluno abrir o exame.
Quem conhecer o algoritmo Rijndael saberá porque o “.txt.kt” (encriptado) tem aqueles bytes a mais de tamanho no ficheiro…
Pode-se literalmente dar o exame ao aluno 1 ano antes e dizer “tens aqui um ano para crackar isto e teres as perguntas do exame”, que ele não vai conseguir. 😛
O formador pode desencriptar com a chave original o exame, e encriptar novamente, e também os relatórios, etc.
Já foram criadas pequenas máquinas virtuais de Linuxs com 64MB de memória e 500 (as com interface gráfica), para ser fácil praticar com o software em qualquer lado através de por exemplo Virtual Box.
Já foram criadas configurações (uma secção do ficheiro) que terá protecções, que permitirão ao aluno correr apenas uma única vez o ficheiro, e outras protecções.
Futuras melhorias:
- Geração de passwords que só funcionam em determinadas horas, para evitar que o aluno corra noutra hora (repita depois) com a mesma password;
- Protecção para o ficheiro ser iniciado uma única vez a ser melhorada;
- Laboratórios de comandos para aceitar comandos com linhas a mais e a menos;
- Gerar um relatório extra só com as perguntas falhadas para o formador analisar bem quais poderiam estar certas se não fossem typing errors;
- Talvez memorizar as perguntas falhadas dentro do próprio ficheiro, um top das mais falhadas, para ser invocado facilmente (apesar de ele já repetir as falhadas em modo de teste).
- Entre várias outras coisas.
Mas de momento, está pronto a ser usado para exames com toda a segurança.
Mais novidades depois, mas mais uma ou duas semanas, e dou-o como terminado (versão 1) e só o retomarei para 2022, para ver se desenvolvo jogos este ano ainda. 🙂
2021-10-13.
Partilhado no LinkedIn em 2021-10-13, em:
https://www.linkedin.com/feed/update/urn:li:activity:6854115182436777985/