Criptografia

Criptografia e a pratica de proteger informacoes transformando-as em um formato ilegivel, conhecido como texto cifrado, de forma que apenas pessoas com a chave de descriptografia possam le-las. Esta tecnica e utilizada para garantir a confidencialidade e seguranca de dados sensiveis, como senhas, informacoes financeiras e comunicacoes eletrônicas

.

As mais utilizadas no mercado:

AES (Advanced Encryption Standard)


Muito usada para proteger dados em repouso, como arquivos armazenados em dispositivos ou bancos de dados.


RSA (Rivest-Shamir-Adleman)


Utilizada na troca segura de chaves, assinaturas digitais e comunicacao segura (como em HTTPS).


Criptografia SHA (Secure Hash Algorithm)


Transformacoes unidirecionais que tornam praticamente impossivel reverter ao valor original, uteis para validar conteudo sem expor o dado.


Criptografia de Curvas Elipticas (ECC - Elliptic Curve Cryptography)


Proporciona o mesmo nivel de seguranca do RSA, mas com chaves menores e mais eficientes.


Como e aplicado na programacao segura?

A criptografia e uma das bases da programacao segura, sendo aplicada de diversas formas em sistemas, APIs, bancos de dados e aplicacoes web. Aqui estao algumas das formas mais comuns de aplicar criptografia na pratica da programacao segura, divididas por uso:

Protecao de Senhas de Usuarios (com Hash)


  • Senhas nunca devem ser armazenadas diretamente no banco de dados.
  • Sao aplicadas funcoes hash criptograficas (como SHA-256 ou bcrypt) para transformar a senha em uma representacao irreversivel.

  • Transmissao Segura de Dados (com HTTPS + TLS)


  • Em APIs ou aplicacoes web, os dados trafegam criptografados por meio do protocolo HTTPS, que usa TLS (Transport Layer Security).
  • Esse processo envolve criptografia assimetrica (RSA/ECC) para troca de chaves, e simetrica (AES) para transmissao.

  • Criptografia de Dados Sensiveis em Banco de Dados


  • Informacoes como CPF, cartoes de credito, e enderecos podem ser criptografadas com AES antes de serem salvas no banco.
  • A chave e armazenada separadamente (idealmente em um gerenciador de segredos, como AWS KMS ou Vault).

  • Assinaturas Digitais e Tokens de Acesso


  • Tokens como JWT (JSON Web Token) sao assinados com uma chave secreta (HMAC) ou par de chaves (RSA).
  • Garante que o token nao foi alterado.
  • Web hosting by Somee.com