Persistir com arquivos

Pessoal,eu já havia aberto um tópico parecido mas não obtive a resposta correta, e também pesquisei na internet e tambem nao encontrei. A questão é o seguinte: Tenho um coleção de objetos que após o usuário inputar dados, eles são serializados e salvados em arquivos. Esta coleção de objetos é utilizada na minha aplicação. Porém o arquivo que guarda esta coleção fica vulnerável e correndo o risco do usuário editá-lo e alterá-lo causando erros na aplicação. Como faço para evitar que o arquivo seja alterado. Se eu criptografar este arquivo eu consigo evitar isto? Na verdade o meu programa esta utilizando persistencia de dados correto? Qual é a maneira correta de fazer persistencia com arquivos em vez de utilizar um banco de dados.