Segurança no Android

A evolução de novas tecnologias para dispositivos móveis, principalmente para celulares, vem se propagando pelo mundo e em grande escala o sistema operacional que vem predominando é o Android. Este artigo trata de um assunto de suma importância: características do sistema citado e técnicas de segurança para maior proteção dos dados pessoais do usuário e aplicativos para essa plataforma, devido seu crescente uso.

[ Hits: 5.938 ]

Por: Janine Gomes Coelho em 21/12/2016


Instalação de aplicativos



Trataremos sobre cada um de forma mais completa nas próximas subseções.

Instalação

Para instalar aplicativos no sistema Android, se faz necessário a assinatura deste aplicativo, através do certificado digital.

"Uma aplicação não assinada é rejeitada pelo próprio sistema Android ou pelo Android Market. Este certificado não é usado para controlar que aplicações pode o utilizador instalar, o seu propósito final é identificar o autor de uma aplicação e estabelecer relações de confiança entre as aplicações. (CIBRÃO, GONÇALVES, 2011/2012) "
Esta assinatura vai gerar uma chave privada para o desenvolvedor da aplicação, sendo o próprio que vai realizar a assinatura. O Android usa a ferramenta JDK e para o procedimento da assinatura precisa de duas ferramentas que são: Keytool e Jarsigner.

Assinatura da instalação

Para utilizar um aplicativo, a assinatura digital deve ocorrer, e também é necessário a instalação da ferramenta JDK (Java Development Kit) para que possa realizar a programação e testes dos aplicativos desenvolvidos, incluindo Keytool e Jarsigner, segundo (CIBRÃO, GONÇALVES, pág. 13) o Keytool é um administrador de certificados e chaves privadas. O Jarsigner é responsável por gerar assinaturas para pacotes Java (JAR) e verificar a integridade das assinaturas nesses mesmos ficheiros.

Quando o aplicativo está pronto para tornar-se público aos usuários, onde estes obtêm diferentes dispositivos móveis a ferramenta Keytool gera a chave privada e jarsigner faz a assinatura.

A Keytool é responsável pela parte dos certificados e chaves privadas, onde guarda em seu repositório chamado de keystore, este pode guardar as chaves assimétricas, onde é denominado chave pública e privada, a chave pública é para a cadeia de certificados que gera no keystore. O programador pode escolher o algoritmo para gerar as chaves, mas tem por padrão Digital Signature Algoritmo (DSA).

"Quando as chaves são geradas por DSA devem ter um domínio compreendido entre 512 e 1024 bits, sendo sempre múltiplo de 64; o tamanho por defeito é 1024 bits. O RSA é outro algoritmo que pode ser usado para gerar pares de chaves. Após geradas as chaves, o algoritmo de assinatura é escolhido consoante o algoritmo usado anteriormente. Na presença de chaves DAS, o certificado é gerado usando DSA e SHA-1 como função de hash se as chaves forem RSA, também o certificado usa RSA e a função de hash utilizada é MD5. (CIBRÃO, GONÇALVES, 2011/2012)"
O programador pode decidir usar outro algoritmo e sua chave privada e certificado.

A ferramenta Jarsigner serve para assinar os arquivos JAR que se encontram no repositório keystore, conforme (CIBRÃO, GONÇALVES, pág. 14) este processo, entre outras operações, adiciona aos ficheiros JAR uma cópia do certificado autenticando a chave pública, que corresponde à chave privada usada para a assinatura. Os algoritmos de assinaturas correspondem ao utilizado para gerar as chaves na ferramenta Keytoll. Após concluir está etapa o aplicativo pode ser disponibilizado no Android Market.

Tipos de assinaturas

Ao assinar o aplicativo obtêm-se duas opções: obter o mesmo certificado caso tenha mais de uma aplicação ou um certificado para cada aplicação. Em ambos os casos será necessário, ao decorrer do tempo, fazer a atualização do software, do modulo e do Código e dados partilhados por permissão, onde o Android disponibiliza um nível de permissões ao nível da assinatura, conforme Cibrão, Gonçalves (2012, pág. 15).

É imprescindível que o programador tenha visão de quanto tempo seus aplicativos deverão ser atualizados em ração do certificado, pois o certificado pode ser expirado depois de um determinado tempo.

Página anterior     Próxima página

Páginas do artigo
   1. Segurança no Android
   2. Segurança de sistemas
   3. Arquitetura de segurança Android
   4. Instalação de aplicativos
   5. Comunicação de processos
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Processing - Programando para Android e iOS

Hello Android! Meu Primeiro APP

Ubuntu/Debian/Kali Linux e outros no Android

Python com SL4A - A camada de script do Android

adb - Como capturar em vídeo a tela de seu Android

  
Comentários
[1] Comentário enviado por matsumiya em 02/01/2017 - 13:53h

Ótimo artigo, parabéns!

[2] Comentário enviado por Hiboµ em 22/01/2017 - 12:31h

Parabéns pelas pesquisas, muito bem organizada nas referências. O Elgio é um Mestre inspirador, deve estar sendo ótimo as aulas dele. Meu, pardon o off-topic mas, tu já se esbarrou aí em Gravataí com o Thiago Miranda?

[3] Comentário enviado por janinegomes em 23/01/2017 - 13:41h


[2] Comentário enviado por Hiboµ em 22/01/2017 - 12:31h

Parabéns pelas pesquisas, muito bem organizada nas referências. O Elgio é um Mestre inspirador, deve estar sendo ótimo as aulas dele. Meu, pardon o off-topic mas, tu já se esbarrou aí em Gravataí com o Thiago Miranda?


Muito obrigada :D
E sim com certeza o Elgio é um grande professor que me inspira muito. As aulas de seguranças foram muito boas.
Talvez eu tenha me esbarrado com ele, mas por nome, não lembro quem é...
Grata!

[4] Comentário enviado por janinegomes em 23/01/2017 - 13:42h


[1] Comentário enviado por matsumiya em 02/01/2017 - 13:53h

Ótimo artigo, parabéns!


Enzo, muito obrigada ;)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts