Olá Mateus,
Existem diversas estratégias para proteger o seu software, seja contra uso não autorizado, quanto para proteger a propriedade intelectual do seu projeto.
Em alguns projetos eu implementei soluções caseiras, pois não era uma aplicação para ser distribuída para o grande público. Uma aplicação empresarial pode admitir soluções mais simplificadas para liberação de acesso.
Em todo caso, eu recomendo dar uma olhada nesta duas soluções:
http://www.safenet-inc.pt/software-monetization-solutions/
Na época em que utilizei, a empresa era outra (HASP), mas ela se uniu a SafeNet.
Outra alternativa á a InishTech (http://www.inishtech.com/). Eu também já utilizei a solução deles e foi muito interessante.
Ajudei um pouco?
.NET Software developer for industrial internet and automation system.