6.3 Vis˜ ao de Requisitos e Vis˜ ao de An´ alise
6.3.2 Vis˜ ao de An´ alise
Esta se¸c˜ao mostra como os elementos de modelagem das estruturas conceituais inter- agem para realizar as fun¸c˜oes representadas pelos casos de uso. Foram apresentados os seguintes casos de uso: Configurar perfil, Selecionar algoritmo de criptografia, Gerenciar autentica¸c˜ao e Distribuir t´ıquete. O modelo conceitual apresentado nessa vis˜ao de an´alise ´e composto de diagrama de atividades, de sequˆencia e de classes, como mostram as figuras:
Figura 6.3,Figura 6.4, Figura 6.5, Figura 6.6 e Figura 6.7.
Figura 6.4: Diagrama de Atividades (DA) do caso de uso Configurar perfil.
O diagrama de atividades ´e usado para representar o comportamento do caso de uso. A Figura 6.4 mostra o fluxo principal do caso de uso Configurar perfil, onde foram representados os pap´eis dos usu´arios (propriet´ario do dispositivo e sistema). Do lado propriet´ario do dispositivo os pap´eis s˜ao: Selecionar o agente, definir chave, permitir acesso ao espa¸co compartilhado, definir comportamentos. Do lado sistema, os pap´eis s˜ao: exibir tela, carregar a¸c˜oes e gravar no reposit´orio de perfis. O Configurar perfil proporciona o servi¸co de controle de acesso e a garantia da privacidade do usu´ario.
6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 102
Figura 6.5: Diagrama de Atividades (DA) do caso de uso Selecionar Algoritmo.
O caso de uso Selecionar Algoritmo de Criptografia proporciona o servi¸co de confi- dencialidade: o usu´ario pode selecionar junto com o motor de criptografia (implementado pelas classes Blowfish e CriptoDes) um algoritmo para criptografar a migra¸c˜ao l´ogica de um objeto do seu dispositivo para um dispositivo remoto, ou criptografar a comunica¸c˜ao entre dispositivos. Foram implementados dois algoritmos de criptografia com chave var- iando de 32 a 448 bits (Blowfish e DES), considerados bom para ambientes m´oveis. A Figura 6.4 ilustra o fluxo do caso de uso Selecionar Algoritmo de Criptografia. Os pa- p´eis do sistema s˜ao: Exibir tela, Habilitar campos e Carregar na mem´oria. Os pap´eis do usu´ario s˜ao: Selecionar modo de prote¸c˜ao, selecionar algoritmo e fornecer a chave de criptografia.
Os casos de uso Gerenciar autentica¸c˜ao e Distribuir t´ıquete s˜ao ilustrados na Figura 6.6. Os diferentes pap´eis s˜ao: Exibir tela, solicitar conex˜ao, salvar no buffer uma c´opia da solicita¸c˜ao, autenticar ID, gerar t´ıquete, salvar uma copia do t´ıquete, criptografar tiquete e entregar t´ıquete criptografado ao usu´ario. Caso, o ID do usu´ario n˜ao for autenticado, uma mensagem de erro ´e emitida. O t´ıquete gerado ´e formado do ID, uma chave e um prazo de validade. O Gerenciar autentica¸c˜ao garante a autenticidade da comunica¸c˜ao, assegurando que as partes emissoras e receptoras s˜ao autˆenticas e que um intruso n˜ao est´a se passando por uma das partes leg´ıtimas. O Distribuir t´ıquete permite uma gest˜ao de identidades virtuais, ocultando a identidade do usu´ario. Quando o usu´ario acessa v´arios servi¸cos sob a mesma identidade, ´e poss´ıvel estabelecer uma rela¸c˜ao com seus acessos, expondo assim a sua privacidade. Nesse caso, ´e recomend´avel ter m´ultiplas identidades virtuais para acessar os servi¸cos. Na nossa abordagem, os tiques ocultam a identidade do usu´ario. Um usu´ario pode ter mais de um t´ıquete, ou seja, m´ultiplas identidades, o que permite ao usu´ario deixar o m´ınimo poss´ıvel de rastro.A Figura 6.7 apresenta o diagrama de atividade do caso de Gest˜ao de identidades.
6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 104
Figura 6.6: Diagrama de Atividades (DA) dos casos de uso Gerenciar autentica¸c˜ao e Distribuir t´ıquete.
Figura 6.7: Diagrama de Atividades (DA) dos casos de uso Gerenciar Identidades.
Nesta vis˜ao de an´alise, foram apresentados os diagramas de atividades e de sequˆencia dos principais casos de uso. A an´alise completa pode ser encontrada na documenta¸c˜ao a
6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 106
ser anexada.
Figura 6.8: Diagrama de Seq¨uˆencia (DS) do caso de uso Configur perfil.
A Figura 6.7 mostra com clareza a sequˆencia (ordem temporal) das mensagens tro- cadas entre os objetos do Configurar perfil, um caso de uso importante que permite ao usu´ario configurar e controlar o acesso ao seu dispositivo m´ovel. A figura pode ser lida da seguinte forma:
1 O usu´ario envia uma mensagem para uma instˆancia da classe SecMobileAgent.
1.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instˆancia da classe LocalAgent.
1.1.1 O objeto LocalAgent envia a mensagem getAcoes para um objeto da PerfilTable. Os objetos destinat´arios retornam, respectivamente, os resultados das mensagens a seus respectivos remetentes.
O usu´ario fornece a chave de identifica¸c˜ao, permite ou n˜ao o acesso ao espa¸co de tuple do seu dispositivo (HTS) e define o comportamento desejado do agente.
2 O usu´ario envia uma mensagem para uma instˆancia do SecMobileAgent.
2.1 O objeto SecMobileAgent envia a mensagem getPerfil para uma instˆancia da classe LocalAgent.
2.1.1 O objeto LocalAgent envia a mensagem addProfile para uma instˆancia da Per- filTable. Os objetos destinat´arios retornam, respectivamente, os resultados das mensagens a seus respectivos remetentes, finalizando a configura¸c˜ao do perfil.
O Diagrama de Classes (DC) da Figura 6.8 ´e composto da classe MobileAgentSec que fornece uma interface gr´afica (UI) e de duas classes PerfilTable e LocalAgentSec que re- spectivamente criam e configuram o perfil do agente m´ovel. O DC Criptografia apresenta duas classes Blowfish e CriptoDes que definem os algoritmos de criptografia com chave de criptografia sim´etrica de 32 a 448 bits a serem utilizados conforme a necessidade do usu´ario. Essas classes modelam e implementam um conjunto de objetos de seguran¸ca que apresentam caracter´ısticas em comum, representadas por um conjunto de estados e com- portamentos. Os estados s˜ao os atributos ou vari´aveis de seguran¸ca, e os comportamentos s˜ao os m´etodos ou fun¸c˜oes de seguran¸ca. Por exemplos, na classe CryptoDes temos os atributos: texto e chave com tipo de valor Object, temos tamb´em os m´etodos getChave() e setChave(); eles permitem configurar a chave de criptografia. Os m´etodos encrypt() e decrypt() permitem, respectivamente, criptografar e decriptografar uma mensagem do tipo String. Os diagramas de classes apresentadas nessa vis˜ao de an´alise mostram algumas das fun¸c˜oes implementadas nesse framework de gerˆencia de seguran¸ca.
Os diagramas de classes da Figura 6.8 e Figura 6.9 mostram com detalhe, as fun¸c˜oes usadas para implementar a funcionalidade dos casos de uso: Configurar Perfil e Selecionar Algoritmo de Criptografia. Esses m´etodos, definem o comportamento dos agentes de segu- ran¸ca do LocalSecAgent. Nesta se¸c˜ao foram especificados o escopo, definindo a miss˜ao, os limites e benef´ıcios esperados do modelo de seguran¸ca proposto. Foram tamb´em descritos os elementos de modelagem, as estruturas conceituais, mostrando como esses elementos interagem para realizar as fun¸c˜oes do modelo, obedecendo assim os requisitos estipulados
6.3 Vis˜ao de Requisitos e Vis˜ao de An´alisedo SecMobileAgent 108
Figura 6.9: Diagrama de classe do LocalMobileAgent.