Segurança Mobile no Android DevCon


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.

Leonéia Evangelista

é bacharel em Comunicação Digital pela Unisinos e mestre em Bibliotecas Digitais pelo programa Digital Library Learning (Erasmus Mundus). Trabalha com web há mais de 8 anos e atualmente cursa MBA em Marketing Estratégico.
Leonéia Evangelista

Comentários

comentário(s)