O colaborador Paulo Henrique dos Santos participou do Android DevCon, um dos principais eventos da área mobile, reunindo cerca de 800 desenvolvedores de todo o Brasil. Paulo destaca e compartilha nesse post o que viu na palestra “Segurança de aplicações Android” ministrada pelo Bruno Oliveira – Engenheiro de Segurança da RedHat.
Um dos pontos abordados na palestra foi o armazenamento externo de dados. Caso seja necessário armazenar dados externos e sua aplicação use criptografia nos dados, o palestrante aconselhou a utilização de bibliotecas de criptografia como : javax.crypto, BouncyCastle, keyczar.
Exemplo de algoritmo de chave simétrica:
SecureRandom.getInstance(“SHA1PRNG”).nextBytes(ivBytes);
KeyGenerator kGen = KeyGenerator.getInstance(“AES”);
kGen.init(128);
byte[] secretKey = kGen.generateKey().getEncoded();
byte[] text = “plain text”.getBytes();
AlgorithmParameterSpec ivSpec = new IvParameterSpec(ivBytes);
SecretKeySpec newKey = new SecretKeySpec(secretKey, “AES”);
Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding”);
cipher.init(Cipher.ENCRYPT_MODE, newKey, ivSpec);
byte[] cipherText = cipher.doFinal(text);
Outra possibilidade é a validação por password, neste caso o palestrante aconselhou o uso da biblioteca pbkdf2 , que pode ser usada da seguinte maneira:
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(“PBKDF2WithHmacSHA1”);
KeySpec spec = new PBEKeySpec(“123”.toCharArray(), salt, 10000, 256);
byte[] derivedKey = keyFactory.generateSecret(spec).getEncoded();
Além disso, o palestrante chamou a atenção a um ponto importante: o lado do servidor. É comum hoje em dia, ainda mais em redes móveis, a utilização de redes sem fio compartilhadas. Os dados trocados dessa forma podem ser interceptados na rede e decodificados se não forem bem tratados. Nesses casos para ter uma conexão realmente segura com o servidor, é necessário utilizar um endereço certificado (HTTPS).
Aqui na KingHost disponibilizamos diretamente em seu painel de controle uma ferramenta para contratação de certificados SSL. Para acessá-la basta você ir ao seu painel de controle, selecionar o seu domínio e clicar no ícone ‘Certificados SSL’.
Conheça mais sobre como funcionam os certificados SSL através deste link.
O que você achou deste conteúdo?