Truecrypt requer drivers porque opera no nível de bloco.
O "nível de bloco" é necessário porque os dispositivos de armazenamento em massa não entendem nada sobre arquivos, eles só entendem a leitura e a escrita de blocos de 512 ou 4096 bytes. (A maioria dos discos rígidos modernos tem um número "LBA" no adesivo. Esse é o número de bloco mais alto para esse disco.)
Consequentemente, há uma pequena pilha de software em relação aos sistemas de arquivos na maioria dos sistemas operacionais, se não em todos. Os programas aplicativos lidam com arquivos em termos de abertura, leitura, gravação e fechamento de arquivos específicos. Então, você terá um "driver do sistema de arquivos" que entende o sistema de arquivos específico que está sendo usado, seja NTFS, FAT, ext4 ou qualquer outra coisa. Esse driver do sistema de arquivos converte essas operações de alto nível em solicitações de leitura / gravação para números de bloco específicos, invocando um "driver controlador" de nível inferior que realmente envia / recebe comandos para o controlador desse dispositivo específico.Este é um Good Thing (tm) porque um sistema operacional pode usar o mesmo software de sistema de arquivos em qualquer dispositivo de armazenamento.
O Truecrypt cola-se entre o driver do sistema de arquivos e o driver do controlador, interceptando blocos de dados e criptografando-os / descriptografando-os antes de serem passados para a camada inferior / superior.
Os drivers operam no modo kernel com acesso total à máquina. Por causa disso, alguns softwares usam drivers para realizar tarefas diferentes de falar com dispositivos, como o driver BANTEXT da Belarc Advisor.
Assim, os projetistas do Windows fizeram com sabedoria que os drivers não pudessem ser instalados sem direitos administrativos. O Vista / 7 leva isso mais além e exige que eles sejam assinados com uma chave da Microsoft.