Home

Mecanismos de autenticação em serviços baseados

image

Contents

1. public IEnumerable lt File gt Contents get internal set 3 JsonProperty PropertyName modified public DateTime Modified get internal set skydrive params JsonProperty PropertyName data public IEnumerable lt File gt Data get internal set 3 JsonProperty PropertyName id public string Id get internal set JsonProperty PropertyName from public From From_data get internal set JsonProperty PropertyName name public string Name get internal set JsonProperty PropertyName description public string Description get internal set JsonProperty PropertyName parent id public string Parentld get internal set JsonProperty PropertyName upload_location public string Upload_location get internal set JsonProperty PropertyName comments_count public long Comments_count get internal set JsonProperty PropertyName comments enabled public bool Comments enabled f get internal set 3 JsonProperty PropertyName is embeddable public bool Is embeddable get internal set 3 JsonProperty PropertyName source public string Source f get internal set 3 JsonProperty PropertyName link public string Link f get internal set 3 JsonProperty PropertyName type public string Type get internal set 3 JsonProperty PropertyName shared with public Shared with Shared with get internal set
2. Est nia o projeto para a cria o de um cart o de identifica o eletr nica foi iniciado em 1997 com o objetivo de fomentar o uso da identidade eletr nica a n vel nacional Este documento digital tem como funcionalidade a autentica o e assinatura digital Este projeto foi ambicioso e a prova disso que em 2007 a Est nia torna se o primeiro pa s a n vel mundial a implementar o voto eletr nico ao n vel institucional A partir do ano de 2004 este documento substitui o documento de viagem at ent o utilizado devido entrada da Est nia na Uni o Europeia Os principais avan os apontados por parte deste programa indicam a interoperabilidade entre este e outros projetos hom logos de outros pa ses a introdu o de dados biom tricos para identifica o eletr nica e a implementa o de WPKI Wireless Public 12 Mecanismos de autentica o em servi os baseados em Cloud Key Infrastructure arquitetura que adota os m todos PK existentes para o uso em ambientes wireless assegurando com rcio m vel seguro A Finl ndia criou o seu cart o de cidad o nacional com os objetivos de substituir o cart o de identidade nacional o documento de viagem no espa o Schengen e servir como cart o de acesso a servi os eletr nicos p blicos e privados que necessitem de autentica o forte Deste modo este conceito tem sido desde o seu in cio implementado como objeto de autentica o numa entidade banc ria finlandesa OKO B
3. Podemos assim dizer que a PKI do estado funciona ent o como intermedi ria entre os portadores do CC e as entidades confi veis de raiz A entidade de raiz que se encontra no topo da cadeia de certifica o dos certificados do Cart o de Cidad o a GTE Cyber Trust Global Root uma enti dade confi vel a n vel mundial que emitiu o certificado ECRaizEstado que consequentemente herdou o n vel de fiabilidade da primeira Posto isto a PKI do estado possuidora do seu pr prio certificado emitido por uma entidade confi vel por si s capaz de criar gerir e revogar os seus pr prios certificados Ao olhar para a Figura 2 5 podemos analisar esta situa o e como est estruturada toda a cadeia de certificados do Cart o de Cidad o GTE CyberTrust Global Root ry EC de Autentica o do Cart o de Cidad o 0001 EC de Assinatura Digital Qualificada do Cart o de Cidad o 0001 Ls lt NOME DO TITULAR DO CART O gt Figura 2 5 Cadeia dos certificados de chave p blica de autentica o eletr nica e assinatura digital do Cart o de Cidad o Portugu s Para al m do certificado de autentica o identificado na Figura 2 5 EC de Autentica o do Cart o de Cidad o 0001 existem ainda mais sete certificados criados para o mesmo fim A raz o pela qual a SCEE estabeleceu este tipo de arquitetura de certificados que caso por al gum motivo exista uma falha no sistema ou um poss vel ataque contra este certificado a
4. o formato JSON Este formato nativo da linguagem Javascript e baseado na nota o atributo valor onde o atributo representa o nome com o qual iden tificamos uma propriedade e o valor o atual valor dessa propriedade Apesar de nascer dentro e para esta linguagem este formato de resposta ganhou muita for a principalmente devido ao fato do JSON poder representar confortavelmente estruturas diferentes Devido a esta conjetura alguns dos servi os de armazenamento na nuvem possuem j as suas pr prias REST APIs como o caso do Dropbox Skydrive Google Drive MEO Cloud que foram objeto de estudo detalhado no mbito desta disserta o Todos estes fornecedores de arma zenamento implementaram as suas APIs propriet rias os seus pr prios objetos e tamb m o formatos JSON mais convenientes para cada objeto criado Este aspeto vem dificultar a tarefa de construir uma API uniforme para intera o com todos eles 2 5 Trabalhos relacionados Conforme os objetivos da disserta o n o s importante a an lise de sistemas que imple mentam REST para se perceber como funcionam estas arquiteturas como necess rio avaliar as capacidades dos protocolos de autentica o e autoriza o aliadas com Eid smartcards que possuam mecanismos de autentica o forte Muitos trabalhos j foram desenvolvidos na rea e t m por base a utiliza o de muitas destas componentes Pascal Urien o exemplo claro disso mesmo e em Uri10 des
5. o o fornecedor redireciona o utilizador de novo para a entidade confiante que pretende aceder A entidade confiante recebe os dados do utilizador e estabelece um novo pedido ao fornecedor OpenID para validar a autentica o O ltimo passo deste processo passa pelo envio da resposta de valida o de autentica o e em caso do pedido ser validado o utilizador tem finalmente acesso ao servi o que pretende usar Assim caminhamos rapidamente para uma era em que uma nica identidade digital servir para que um utilizador se registe em qualquer servi o que suporte este ou outro protocolo que siga as mesmas filosofias e mecanismos do OpenID 2 3 Cart es de identifica o digital 2 3 1 Pr ticas internacionais Nos ltimos anos escala global tem se verificado uma acentuada e progressiva cria o de cart es de acesso a servi os eletr nicos com frequentes associa es a tecnologias de certi ficados digitais A procura de uma maior efici ncia e efic cia na presta o dos servi os e a ado o de tecnologias potenciadoras de cria o de caminhos alternativos via presencial e manual principalmente no mbito do acesso ao Governo Eletr nico tem resultado numa cons tante preocupa o de assegurar o n vel de seguran a adequado prossecu o das transa es pretendendo se adequar s diferentes amea as desenvolvidas atrav s da cria o das tecnologias 11 Mecanismos de autentica o em servi os baseados em Cl
6. root public string Root get internal set 3 JsonProperty PropertyName is_deleted public bool IsDeleted get internal set skydrive params JsonProperty PropertyName id public string Id get internal set JsonProperty PropertyName from public From From_data get internal set JsonProperty PropertyName name public string Name get internal set 3 JsonProperty PropertyName description public string Description get internal set JsonProperty PropertyName parent_id public string Parentld get internal set JsonProperty PropertyName upload_location public string Upload_location get internal set JsonProperty PropertyName comments Count public long Comments_count get internal set JsonProperty PropertyName comments enabled public bool Comments enabled f get internal set 3 JsonProperty PropertyName is embeddable public bool Is embeddable get internal set 3 JsonProperty PropertyName source public string Source get internal set 3 JsonProperty PropertyName link public string Link f get internal set 3 JsonProperty PropertyName type public string Type get internal set 3 JsonProperty PropertyName shared with 70 Mecanismos de autentica o em servi os baseados em Cloud public Shared with Shared with get internal set 3 JsonProperty PropertyName creat
7. UNIVERSIDADE DA BEIRA INTERIOR Engenharia Mecanismos de autentica o em servi os baseados em Cloud Jo o Jos Teles Gouveia Disserta o para obten o do Grau de Mestre em Engenharia Inform tica 2 ciclo de estudos Orientador Professor Doutor Paul Crocker Co orientador Professor Doutor Sim o Melo de Sousa Covilh outubro de 2013 Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Agradecimentos Em primeiro lugar gostaria de agradecer aos meus pais pelo apoio que me deram durante a con cretiza o de mais esta etapa acad mica pelo enorme esfor o carinho incentivo e confian a que depositaram nas minhas capacidades Sem a vossa dedica o e o vosso amor incondicional seria imposs vel atingir este objetivo Da mesma forma quero agradecer ao meu irm o por tudo isso e pelos momentos de descontra o proporcionados Ter um irm o um presente admiro te muito e quero te sempre ter ao meu lado Deixo um agradecimento muito especial a todos os meus restantes familiares que de uma forma ou de outra me apoiaram e ajudaram na conclus o desta caminhada Sei que est o felizes por mim e feliz eu serei gra as a voc s Quero tamb m agradecer minha namorada e melhor amiga Maria Manuel Casteleiro porque apesar da dist ncia que nos separava foi sempre capaz de ter uma palavra um sorriso a for a que eu precisava para continua
8. ViewBag Error Certificate is invalid or revoked E 7 store Close A 1 2 Fun o que executa o pedido de autoriza o OAuth a API public ActionResult AuthorizeDropbox eee var action Url Action Authorized Secure null Request Ur Scheme var callbackUri new Uri action MvcApplication OAuthProvider new OAuthDropbox DropboxConsumerKey DropboxConsumerSecret gt action var requestToken MvcApplication OAuthProvider GetRequestToken var authorizeUri MvcApplication OAuthProvider GetAuthorizeUri requestToken return Redirect authorizeUri ToString 61 Mecanismos de autentica o em servi os baseados em Cloud ESS 3 public ActionResult AuthorizeCloudPT ESS var action Url Action Authorized Secure null Request Url Scheme MvcApplication OAuthProvider new OAuthCloudpt CloudPTConsumerKey CloudPTConsumerSecret action lt var requestToken MvcApplication OAuthProvider GetRequestToken var authorizeUri MvcApplication OAuthProvider GetAuthorizeUri requestToken return Redirect authorizeUri ToString 3 public ActionResult AuthorizeSkydrive Eee var action Url Action Authorized Secure null Request Url Scheme action Url Encode action MvcApplication OAuthProvider new OAuthSkydrive SkydriveConsumerKey SkydriveConsumerSecret gt action var uri MvcApplication OAuthProvider GetAuthorizeUri null ret
9. e Suporta mecanismos de bloqueio em caso de erro na introdu o do PIN ap s N tentativas e respetivo desbloqueio por meio da introdu o de PUK e chave administrativa de acesso ao cart o e Suporta mecanismos de gera o de novo PIN mediante a introdu o do PUK do cidad o Possui um motor criptogr fico interno que suporta Assinatura e verifica o RSA de 1024 bits Assinatura digital qualificada DES e TDES Data Encryption Standard e Triple Data Encryption Standard respetiva mente MD5 SHA 1 e SHA 256 no m nimo MAC Message Authentication Code PKCS 1 RSA Cryptography Standard e PKCS 15 Cryptographic Token Information Format Standard compat vel com leitores de cart es na norma EMV CAP para funcionamento de autentica o multi canal baseada em One Time Password Resistente a ataques conhecidos como Hardware attack Timing attack Simple power analysis e Differential power analysis Mecanismos de autentica o em servi os baseados em Cloud A n vel f sico o cart o de cidad o tem um aspeto id ntico ao apresentado na Figura 2 4 cont m diversas informa es acerca do cidad o como o nome data de nascimento nacionalidade fotografia e os diversos n meros de identifica o representativos dos diferentes servi os p blicos do estado cujo cart o vem substituir Frente pee 5 F Ra Apelido s Nome s Chip eletr nico Sexo altura i R 18 03 1990 Tr
10. null String Empty callbackUrl string requestToken token null String Empty token Token string tokenSecret token null String Empty token Secret string verify verification null String Empty verification var signature _oAuthBase GenerateSignature uri consumerKey consumerSecret requestToken tokenSecret httpMethod timestamp nonce SignatureTypes HMACSHA1 out normalizedUrl out parameters callback verification var requestUri String Format 0 1 amp oauth_signature 2 normalizedUrl parameters _oAuthBase UrlEncode signature return new Uri requestUri 7 public Uri SignRequest Uri uri string consumerKey string consumerSecret string callbackUrl lt gt null OAuthToken token null string verification null return SignRequest uri consumerKey consumerSecret token GET callbackUrl verification lt A 3 3 Classe DropboxCloudProvider cs i gt public class DropboxCloudProvider ICloudProvider 65 Mecanismos de autentica o em servi os baseados em Cloud private const string DropboxApiVersion 1 private const string DropboxBaseUri https api dropbox com DropboxApiVersion private const string DropboxAuthorizeBaseUri https ww dropbox com DropboxApiVersion lt gt mys private const string DropboxApiContentServer https api content dropbox com lt DropboxApiVersion private readonly OAuthToken _accessT
11. public string Id get internal set 3 JsonProperty PropertyName referral_link public string ReferralLink get internal set 3 JsonProperty PropertyName name public string Name get internal set JsonProperty PropertyName display name public string DisplayName get internal set JsonProperty PropertyName email public string Email get internal set JsonProperty PropertyName country public string Country get internal set JsonProperty PropertyName quota_info public Quota Quota f get internal set 3 JsonObject MemberSerialization Optin public class Folder L JsonProperty PropertyName size public string Size get internal set JsonProperty PropertyName rev public string Revision get internal set JsonProperty PropertyName thumb exists public bool ThumbnailExists get internal set JsonProperty PropertyName bytes public long Bytes get internal set JsonProperty PropertyName is dir public bool IsDirectory get internal set JsonProperty PropertyName root public string Root get internal set JsonProperty PropertyName icon public string Icon get internal set JsonProperty PropertyName mime_type public string MimeType get internal set JsonProperty PropertyName path public string Path get internal set JsonProperty PropertyName contents
12. seguido sem altera es 21 Mecanismos de autentica o em servi os baseados em Cloud Mais recentemente Urien implementa um novo sistema Uri11 muito id ntico ao apresentado anteriormente onde a principal diferen a incide na introdu o do mundo m vel e da possibi lidade de utiliza o de smartcards das operadoras telef nicas desde que estes possuam as funcionalidades de seguran a necess rias Outro trabalho que envolveu o protocolo OpenID foi a cria o de um padr o publicado em RFC LTHM12 onde a principal contribui o deste foi a especifica o de um mecanismo para as frameworks SASL e GSS API que permite a integra o dos provedores de autentica o OpenID em aplica es que usem estas frameworks Os sistemas de Urien incidem dentro do segundo cen rio proposto para esta disserta o pois os objetivos do sistema proposto s o fundamentalmente iguais com a diferen a de que esta imple menta o funciona para cart es de identifica o eletr nica nacionais como o caso do Cart o de Cidad o Portugu s Apesar desta semelhan a entre os sistemas de Urien e o nosso explicado mais detalhadamente frente a primeira solu o proposta neste trabalho est relativamente dispersa dos fundamentos destas Enquanto que Urien utiliza um servidor OpenID baseado em autentica o atrav s de certificados com sess o SSL a primeira arquitetura implementada neste trabalho utiliza o protocolo OAuth para autoriza o d
13. todas as ferramentas criadas e todas as componentes necess rias para a execu o dos objetivos propostos Este cap tulo dividido em dois cen rios o primeiro representa a ferramenta de acesso a dados protegidos em fornecedores externos como a Dropbox e o segundo cen rio trata o servidor propriet rio OpenID e Cap tulo 4 Resultados O cap tulo dos resultados pretende demonstrar de uma forma mais visual e n o conceptual as duas implementa es desenvolvidas durante este projeto Este cap tulo apresenta ainda alguns testes efetuados s duas implementa es e Cap tulo 5 Conclus o e Trabalho Futuro O ltimo cap tulo refere as conclus es do tra balho desenvolvido e descreve as tecnologias e funcionalidades que podem ser integradas de forma a complementar os sistemas apresentados nesta disserta o http 2013 cloudcom org Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Cap tulo 2 Estado da arte A expans o da Web como a conhecemos no presente obriga a que exista uma evolu o noutros dom nios da ci ncia de computadores e inform tica Aspetos como seguran a integridade confidencialidade autenticidade e n o rep dio s o testados corrompidos e debatidos com o decorrer do tempo Os desafios impostos s o imensos e cada vez mais assistimos a ataques que obrigam cria o de novas arquiteturas ou protocolos ou ainda altera
14. contenha pol ticas implementadas neste trabalho O n o cumprimentos deste passo faz com que o ficheiro cifrado com essas pol ticas n o volte a poder ser decifrado Figura 4 5 Popups para envio de ficheiros sem serem cifrados esquerda e recorrendo a cifra direita Ao selecionar todas as op es pretendidas basta ao utilizador clicar em Confirm para que o ficheiro seja cifrado e guardado com a extens o ibc ou ibz no caso de conter pol ticas 4 2 Servidor OpenID propriet rio A cria o de um servidor OpenID foi essencial para a disponibiliza o de um servi o que permita autenticar um utilizador titular de um cart o de identifica o eletr nica em diferentes enti dades que suportem este mecanismo Neste sentido foram desenvolvidas duas aplica es que implementam toda a estrutura OpenID desde o processo de autentica o no provedor OpenID at ao acesso a dados privados de entidades que confiam nestes servidores de autentica o Para o sistema em causa primeiro que tudo necess rio referir que foi utilizada a biblioteca DotNetOpenAuth e dois dos seus projetos exemplo que implementam as duas entidades base no qual o protocolo est assente o projeto OpenidProviderMvc que implementa um provedor de autentica o OpenID e OpenidRelyingPartyMvc que se refere entidade que confia a delega o de acesso O mecanismo OpenID pode ser iniciado em ambas as aplica es existindo a possibilidade do utilizado
15. o dos j existentes De seguida ser o expostos os principais avan os na ltima d cada no campo da seguran a e as principais ideias que est o a surgir para o futuro da computa o e principalmente da Web nomeadamente ao n vel do aparecimento recente da infraestrutura Cloud 2 1 Sistemas de gest o de identidades Com a exponencial evolu o da internet e semelhante aumento do n mero de servi os disponi veis para os utilizadores deparamo nos com a propaga o de identidades digitais de tal forma que no per odo mais recente da hist ria da internet se tem feito um esfor o enorme para arran jar solu es que ajudem a resolver os problemas relativos explos o de identidades digitais O igual avan o nos ltimos anos do tema Cloud tem alastrado este problema e imperativo que a seguran a dos dados dos utilizadores se mantenha intata apesar do aumento exponencial das suas identidades digitais A gest o de m ltiplas identidades normalmente associadas ao par nome de utilizador e palavra passe n o apenas um inc modo tamb m uma das principais fraquezas a n vel de seguran a da internet Muitos dos servi os dispon veis possuem o seu pr prio formul rio de registo e obriga o cliente a registar se para obter acesso aos seus servi os Pior que isto o facto adquirido de que sempre que um utilizador se regista num destes servi os vai faz lo usando um nome de utilizador e palavra passe iguais ou id nticos aos j exis
16. o seria por exemplo a leitura de dados biom tricos Atualmente a grande maioria dos cart es existentes possuem dados biom tricos guardados no interior do seu chip Sabendo que estes dados s o nicos para cada indiv duo seria correto implementar num servidor OpenID esta metodologia Na pr tica em vez da apresenta o de um certificado de cliente o utilizador teria em sua posse um leitor tico para leitura de dados biom tricos e caso houvesse correspond ncia dos dados guardados no cart o este seria autenticado As sess es SSL poderiam ser mantidas visto que mesmo nas duas implementa es desta disserta o este tipo de sess o criado com recurso aos certificados de servidor Se aliarmos estas duas componentes dos cart es Eid e criarmos um mecanismo de autentica o multi fator na pr tica s se estaria a aumentar o n vel de seguran a deste tipo de sistemas Se olharmos para a conjetura atual conseguimos detetar um crescente n mero de dispositivos m veis no mercado e de certa forma podemos olhar para estes aparelhos como o futuro mais pr ximo da computa o e do nosso quotidiano Desta forma e ao analisar o trabalho desenvol vido percebe se que imposs vel englobar estes dispositivos nestes mecanismos pois ainda n o existe uma maneira para que estes consigam ler cart es Eid direta ou indiretamente para ob ten o dos certificados digitais para autentica o Desta forma seria igualmente interessante criar uma
17. out string error 6255 var accessToken MvcApplication OAuthProvider GetAccessToken requestToken verification Love return accessToken 62 Mecanismos de autentica o em servi os baseados em Cloud 7 public static string refreshToken UrlHelper url int provider eal dbo executeNonQuery DELETE FROM Register WHERE IssuerName cert IssuerName AND lt SerialNumber cert SerialNumber AND Cloud_ID provider uri url Action AuthorizeDropbox Secure return uri 7 A 3 Classes pertencentes a API desenvolvida A 3 1 Classe OAuthBaseCloudpt cs i gt ginternal class OAuthBaseCloudpt IOAuthBase protected class QueryParameter L 7 protected class QueryParameterComparer IComparer lt QueryParameter gt L eel 7 List of know and used oauth parameters names protected const string OAuthVerifier oauth_verifier private string ComputeHash HashAlgorithm hashAlgorithm string data L 7 private List lt QueryParameter gt GetQueryParameters string parameters L 7 public string UrlEncode string value L IAS 7 protected string NormalizeRequestParameters IList lt QueryParameter gt parameters L public string GenerateSignatureBase Uri url string consumerKey string token string gt tokenSecret string httpMethod string timeStamp string nonce string signatureType out gt string normalizedUrl out string normalizedRequestParam
18. representation of cloud apis In Proceedings of the 2012 Third International Conference on Emerging Intelligent Data and Web Technologies EIDWT 12 pa ges 31 37 Washington DC USA 2012 IEEE Computer Society Available from http dx doi org 10 1109 EIDWT 2012 61 23 D Cooper S Santesson S Farrell S Boeyen R Housley and W Polk Internet X 509 Public Key Infrastructure Certificate and Certificate Revocation List CRL Profile RFC 5280 Proposed Standard May 2008 Available from http www ietf org rfc rfc5280 txt 19 Ed E Hammer Lahav The oauth 1 0 protocol online 2010 Available from http tools ietf org html rfc5849 cited April 2010 8 Ed D Hardt The oauth 2 0 authorization framework online 2012 Available from http tools ietf org html rfc6749 cited October 2012 9 et al Eran Hammer Lahav Oauth core 1 0 revision a online 2009 Available from http oauth net core 1 0a cited June 2009 9 et al Eran Hammer Lahav Oauth security advisory 2009 1 online 2009 Available from http oauth net advisories 2009 1 cited April 2009 9 Roy Thomas Fielding Architectural styles and the design of network based software architectures PhD thesis University of California Irvine 2000 AAI9980887 20 J Gouveia P Crocker S de Sousa and R Azevedo E id authentication and uniform access to cloud storage service providers In Proceedings of the 2013 IEEE 5th International Conference on Clo
19. 3 3 1 Arquitetura do sistema 0 ee eee eee ee eens Resultados 4 1 Aplica o Web Simploud 2 2 ee 4 2 Servidor OpenID propriet rio 2 2 ee 4 3 Testes e tempos de execu o 2 ee Conclus o e Trabalho Futuro Bibliografia A Anexos A 1 Classe SecureControllercs sooo ee ee A 1 1 C digo para autentica o e valida o de certificado do Cart o de Cidad o A 1 2 Fun o que executa o pedido de autoriza o OAuth ABI A 2 Classe AuxiliarFunctions cs osoa a 45 45 49 51 55 57 A 3 Mecanismos de autentica o em servi os baseados em Cloud A 2 1 Fun o para verificar se o certificado apresentado pertence aos certifica dos do Cart o de Cidad o a 62 A 2 2 Fun o que executa o pedido API para obten o de Token de acesso 62 Classes pertencentes a API desenvolvida 202 eee 63 A 3 1 Classe OAuthBaseCloudpt cs 6 1 ee 63 A 3 2 Classe OAuthDropbox cs 2 64 A 3 3 Classe DropboxCloudProvider cs 1 ee ee 65 A 3 4 Modelos criados para desserializar as respostas SON 68 Mecanismos de autentica o em servi os baseados em Cloud Lista de Figuras 2 1 Mecanismo do protocolo de autoriza o OAuth saoasaoa aaa 2 2 Exemplo de formul rio OpenID na p gina de autentica o do Yahoo 2 3 Mecanismo do protocolo de autentica o OpenID s o sosa 2 4 Identifica o dos dados vis veis no Cart o de Cidaddo
20. 4 5 demonstra ainda o processo de envio de ficheiros sem recorrer cifra a es querda cifrado direita Se o utilizador pretende simplesmente enviar um ficheiro sem utilizar qualquer mecanismo de cifra ent o basta selecionar o cone sem cadeado que abre automaticamente a popup apresentada do lado esquerdo da Figura 4 5 Nesta janela basta indicar a localiza o do ficheiro em causa e clicar em OK para que o processo de envio inicie J no caso do ficheiro em causa ser motivo para a utiliza o dos mecanismos de cifra implemen tados no Simploud o utilizador tem que clicar no cone de envio que cont m um cadeado e imediatamente aberta a janela exemplificada direita na Figura 4 5 Neste caso s o dadas algumas op es ao utilizador e Indicar a localiza o do ficheiro que pretende enviar cifrado e Ativar ou n o a introdu o de mecanismos de pol ticas de acesso A n o ativa o deste mecanismo indica que o ficheiro ser apenas cifrado com base na identidade do utilizador enquanto que a op o inversa permite para al m disto introduzir algumas pol ticas que controlem o processo de decifra deste Essas pol ticas incluem o intervalo de tempo em que o ficheiro estar dispon vel para cifrar e o intervalo de IPs que poder o decifrar o respetivo ficheiro e Carregar um ficheiro de pol ticas existente no computador desde que para isso cumpra e 48 Mecanismos de autentica o em servi os baseados em Cloud
21. 6 Janela inicial do provedor OpenID 1 2 ee ee ee 4 7 Autentica o do utilizador perante o provedor OpenID 4 8 Registo do utilizador na base de dados do provedor OpenID 4 9 Janela principal da aplica o que delega a autentica o 4 10 Janela restrita a membros autenticados na aplica o que delega a autentica o 4 11 Janela do provedor OpenID que permite autenticar o utilizador na aplica o que confia a autentica o x SR R K RRR RR RR R eee 4 12 Janela restrita a membros autenticados na aplica o que delega a autentica o com este processo conclu do ca 4 13 Gr fico que demonstra a rela o dos tempos de execu o da aplica o Simploud e os tempos m dios de execu o do formul rio de Login dos fornecedores de armazenamento na Nuvem 2 ee ee a xi Mecanismos de autentica o em servi os baseados em Cloud xii Mecanismos de autentica o em servi os baseados em Cloud Lista de Acr nimos API CA Cc CRL DI ECC EEPROM Eid GSS API HTML HTTP IBE ICAO IdM IEC ISO IT JSON LID OAuth OCSP OpenID PIN PKG PKI PUK RA REST SASL SCEE UBI VA Web XML XRDS XRI Yadis Application Programming Interface Certification Authority Cart o de Cidad o Certificate Revocation List Departamento de Inform tica European Citizen Card Electrically Erasable Programmable Read Only Memory Electronic Identity Generic Security Service Appli
22. Fitzpatrick que rapidamente ganhou a aten o da comunidade de identidades digitais Mais tarde neste mesmo ano iniciaram se algumas discuss es entre os utilizadores deste protocolo e progra madores da empresa de software NetMesh que usava o protocolo LID Light Weight Identity de sua autoria Os resultados diretos desta colabora o resultam na descoberta do protocolo Yadis posteriormente intitulado OpenID A entrada de programadores de XRI para este projeto 04506 contribuindo com o formato XRDS Extensible Resource Descriptor Sequence 0AS10 resultam na introdu o deste formato no protocolo YAHOO Password Keep me signed in delegate authentication can t access my account elp Create New Account Figura 2 2 Exemplo de formul rio OpenID na p gina de autentica o do Yahoo O OpenID RR06 Ope07 um protocolo aberto que permite aos utilizadores autenticarem se atrav s de outras aplica es Web cooperantes com a aplica o que est o a aceder Estas entida des cooperantes s o conhecidas no protocolo como Relying Party e usam um servi o considerado como uma terceira entidade para fornecer autentica o Com isto elimina se a necessidade de cada servi o ou aplica o Web ter o seu pr prio formul rio de autentica o e consegue se consolidar a identidade digital do utilizador Na pr tica o que este mecanismo vem potenciar a possibilidade de um utilizador que esteja registado numa aplica o We
23. January 2013 9 M Myers R Ankney A Malpani S Galperin and C Adams Internet X 509 Public Key Infrastructure Online Certificate Status Protocol OCSP RFC 2560 Proposed Standard June 1999 Available from http www ietf org rfc rfc2560 txt 19 OASIS Technical overview of the oasis security assertion markup language saml v1 1 online 2004 Committee Draft Available from https www oasis open org committees download php 6837 sstc saml tech overview 1 1 cd pdf ci ted May 2004 8 OASIS Saml v2 0 executive overview online 2005 Committee Draft 01 Available from https www oasis open org committees download php 13525 sstc saml exec overview 2 0 cd 01 2col pdf cited April 2005 7 8 OASIS Extensible resource identifier xri resolution v2 0 online 2006 Working Draft 10 Available from https www oasis open org committees download php 17293 cited March 2006 10 OASIS Extensible resource descriptor xrd online 2010 Version 1 0 Available from http docs oasis open org xri xrd v1 0 xrd 1 0 pdf cited November 2010 10 OpenID Foundation Openid authentication 2 0 final online 2007 Availa ble from http openid net specs openid authentication 2_0 html cited De cember 2007 10 Frank Pimenta Claudio Teixeira and Joaquim Sousa Pinto Globalid privacy con cerns on a federated identity provider associated with the users national citizen s card In Proceedings of the 2010 Thir
24. Mecanismos de autentica o em servi os baseados em Cloud Access to protected resources Owning another user s eid card Access to the compiled code at runtime Access to the Simploud s DB Access to the provider s DB Get user login Know Get App s s authentication s Get Access Token PP data PIN Consumer Key Make requests to the provider Generate an Access Token through OAuth Make requests to the provider Figura 3 5 Attack Tree para a arquitetura proposta e O atacante aceder a base de dados do Simploud e obter os tokens de acesso aliado ao conhecimento da chave de consumidor que s consegue obter atrav s da an lise do c digo compilado em tempo de execu o Se estas duas condi es forem satisfeitas o atacante passa a ter acesso aos dados protegidos correspondentes aos tokens anteriormente obtidos Ao identificarmos os poss veis caminhos que dariam a um atacante a possibilidade de obter acesso a dados que n o lhe pertenciam falha ao n vel da Confidencialidade e Disponibilidade dos dados foram tomadas medidas que de certa forma permitem refor ar a seguran a com a finalidade de evitar que este cen rio seja poss vel Podemos dizer que embora existam quatro caminhos poss veis apenas dois s o da nossa respon sabilidade e que representando um perigo para a seguran a do utilizador foram tidas em conta as seguintes altera es e os dados referentes
25. Nuvem normal que se encontrem em pedidos semelhantes obter um ficheiro por exemplo diferen as not rias pois cada fornecedor tem as suas pr prias implementa es dos mecanismos de acesso e autoriza o Desta forma foi desenvolvida uma API para fazer a agrega o dos diferentes fornecedores e interagir de forma uniforme com as suas APIs baseadas em REST Como explicado anteriormente cada fornecedor implementa as suas pr prias vers es do protocolo OAuth define os seus objetos e formatos JSON devolvidos nas respostas De facto a escolha dos fornecedores n o incidiu apenas no facto de que s o os fornecedores mais conhecidos e utilizados pelos utilizadores mas tamb m porque cada um deles implementa uma vers o diferente do protocolo OAuth Assim sendo podemos afirmar que para al m de termos uma API que suporta v rios fornecedores de armazenamento existe ainda um suporte extensivo ao protocolo OAuth Todos estes par metros que diferenciam as diferentes APIs significam em pequenas diferen as que tornam a tarefa de criar uma API cuidadosa e trabalhosa mas necess ria O desenvolvimento da API separada em dois m dulos distintos um m dulo destinado para as transa es do mecanismo OAuth e outro que executa todos os pedidos relacionados com a gest o dos ficheiros e pastas do utilizador O primeiro m dulo foi constru do com o objetivo de implementar todos os m todos e passos para a obten o de um Token de autoriza o re
26. Write data O data Length 3 var response request GetResponse var reader new StreamReader response GetResponseStream return reader ReadToEnd 1 7 public Account GetAccountInfo Uri uri new Uri new Uri DropboxBaseUri account info var json GetRequest uri json UidFix json return ParseJson lt Account gt json 7 public Simploud Api Models Folder GetFiles string path if path amp amp path 0 path Uri uri var json 66 path Remove 0 1 new Uri new Uri DropboxBaseUri String Format metadata 0 1 _root path GetRequest uri Mecanismos de autentica o em servi os baseados em Cloud return ParseJson lt Simploud Api Models Folder gt json public Simploud Api Models File CreateFolder string path string name null L if path path 0 path path if path amp amp path path Length 1 path path Uri uri new Uri new Uri DropboxBaseUri String Format fileops create_folder root 0 amp path 1 root UpperCaseUrlEncode gt path name var json GetRequest uri return ParseJson lt Simploud Api Models File gt json public Simploud Api Models File Rename string old_name string new_name L if old name amp amp old name 0 old_name old_name new_name newNamePath old_name new_name Uri uri new Uri new Uri DropboxBaseuUri St
27. a utilizar o Simploud passa a ter a possibilidade de enviar um ficheiro de tr s maneiras diferentes Se o utilizador necessitar apenas de guardar os dados sem 41 Mecanismos de autentica o em servi os baseados em Cloud a necessidade de serem cifrados ent o dever proceder utiliza o da op o A indicada no esquema Caso contr rio o utilizador poder recorrer ao esquema BE implementado e guardar o ficheiro de duas formas recorrendo apenas cifra baseada em identidade B utilizar a cifra baseada em identidade e acrescentar algumas pol ticas de acesso ao ficheiro C O processo da transfer ncia de ficheiros neste caso inverso ao envio tem implementado igualmente estas tr s situa es tendo sempre a salvaguarda de que se o utilizador fizer a transfer ncia de um ficheiro cifrado em texto limpo sem o decifrar o conte do deste nunca ser percet vel ao utilizador A utiliza o de pol ticas de acesso a ficheiros aliada ao esquema IBE implementado nesta apli ca o Web tem como principal objetivo aumentar os padr es de seguran a nomeadamente ao n vel da privacidade dos dados O esquema montado foi pensado para ambientes empresariais onde esta solu o poderia ser uma solu o realmente capaz assente em fortes medidas de seguran a e privacidade onde esta ltima a principal causa do afastamento das empresas deste tipo de sistemas de armazenamento na Nuvem Por ltimo referir que o PKG e todo o sistema
28. ao token de acesso guardado na base de dados passaram a ser guar dados e cifrados com recurso ao esquema de chave sim trica implementado pelo pr prio servidor de base de dados no nosso caso o SQL SERVER 2012 e utiliza o de t cnicas de ofusca o de c digo para proteger o acesso s chaves de con sumidor e o seu respetivos segredos um par para cada fornecedor implementado nesta solu o 3 2 3 Integra o da API desenvolvida numa aplica o propriet ria A aplica o desenvolvida para estabelecer liga o entre o Cart o de Cidad o e os fornecedores de armazenamento foi criada como referido anteriormente na linguagem ASP Net MVC e faz uso de todos os mecanismos dos navegadores Web mais recentes para estabelecer uma sess o SSL com o cliente e de seguida iniciar todas as transfer ncias protocolares at obten o de acesso aos recursos protegidos A API desenvolvida permite implementar f cil e uniformemente todos os pedidos executados s arquiteturas REST dos fornecedores de armazenamento considerados seja durante o processo 39 Mecanismos de autentica o em servi os baseados em Cloud de autoriza o seja atrav s dos pedidos para gest o de ficheiros Como se pode analisar atrav s do Anexo A 1 2 apesar dos m todos AuthorizeDropbox Autho rizeCloudPT e AuthorizeSkydrive corresponderem autoriza o nos diferentes fornecedores considerados os m todos da API chamados s o iguais mudando apenas o nome
29. cart o de contribuinte cart o de seguran a social e cart o de utente do servi o nacional de sa de Como documento f sico permite ao cidad o identificar se presencialmente de forma segura Como documento tecnol gico permite a identifica o ou autentica o perante servi os informatizados e assi natura de documentos eletr nicos Na sua dimens o agregadora junta num s documento as chaves indispens veis ao relaciona mento r pido e eficaz dos cidad os com diferentes servi os p blicos O Cart o de Cidad o representa um projeto de desenvolvimento tecnol gico e na sua vertente digital promove o desenvolvimento das transa es eletr nicas dando lhes a seguran a da au tentica o forte e da assinatura eletr nica Os principais objetivos que lhe est o associados passam por e Garantia de maior seguran a na identifica o dos cidad os e Harmoniza o do sistema de identifica o civil dos cidad os nacionais com os requisitos da Uni o Europeia e Facilita o da vida dos cidad os atrav s da agrega o f sica de v rios cart es e Promo o do uso de servi os eletr nicos com recurso a meios de autentica o e assinatura digital e Melhoria da presta o dos servi os p blicos alinhando a moderniza o organizacional e tecnol gica 14 Mecanismos de autentica o em servi os baseados em Cloud e Racionaliza o de recursos meios e custos para o Estado para os cidad os e para as e
30. caso podemos definir uma diretoria como sendo uma base de dados que armazena as informa es dos utilizadores O Fornecimento de Contas de Utilizador refere se cria o manuten o e desativa o de objetos e atributos pertencentes a um dado utilizador guardados em diversos sistemas de informa o de uma empresa Este tipo de sistemas tem como objetivo tornar mais r pido eficiente e seguro os diferentes processos de cria o manuten o ou desativa o de dados e registos de utilizador As principais funcionalidade pelas quais se deve reger um sistema deste tipo s o a sincroniza o de identidade quando um utilizador altera os seus dados num dado sistema de base de dados todas as base de dados que possuam estes dados replicados devem ser atualizadas tamb m o auto fornecimento e auto desativa o quando um utilizador se regista numa base de dados esse utilizador deve ser automaticamente inserido em todos os outros sis temas de informa o da empresa O mesmo processo de atualiza o de base de dados acontece com a auto desativa o processo em que um utilizador eliminado do sistema possibilidade de altera o de informa o de perfil por vontade pr pria permitir que utilizadores executem pedidos para aceder a determinados sistemas e aplica es e permitir pedidos de delega o de acesso A Sincroniza o de Palavra passe tem como principal objetivo a sincroniza o de uma palavra passe entre diferentes
31. de pol ticas est integrado no c digo da aplica o Desta forma tanto a cifra e decifra de ficheiros como o cumprimento das pol ticas da responsabilidade da pr pria aplica o 3 3 Servidor OpenID propriet rio A segunda implementa o desenvolvida no mbito desta disserta o teve como principal obje tivo a cria o de um servi o que permite que utilizadores titulares do Cart o de Cidad o possam usar este Token como mecanismo de autentica o em qualquer aplica o ou servi o Web desde que este suporte o protocolo OpenID O mecanismo deste protocolo j foi explicado anteriormente sec o 2 2 3 e para a sua imple menta o foi utilizada a biblioteca DotNetOpenAuth disponibilizada publicamente e adaptada conforme as necessidades para permitir a autentica o atrav s do Cart o de Cidad o em vez do utilizador se autenticar no fornecedor OpenID com o par nome de utilizador palavra passe Para melhor compreender o protocolo OpenID e as aplica es utilizadas da biblioteca referida em cima foi utilizado como guia de apoio o livro Openid The Definitive Guide RRM12 3 3 1 Arquitetura do sistema A biblioteca DotNetOpenAuth possui diversas funcionalidades e uma delas o suporte do protocolo OpenID para a linguagem ASP Net A arquitetura deste sistema utiliza dois exemplos implementados para esta linguagem e OpenidProviderMvc Este projeto implementa um provedor de OpenID que possibilita o registo
32. de utilizadores associando uma conta OpenID a cada registo O principal objetivo desta aplica o Web autenticar um utilizador em terceiras entidades de confian a utilizando para isso o perfil utilizado http dotnetopenauth net 42 Mecanismos de autentica o em servi os baseados em Cloud e OpenidRelyingPartyMvc Este projeto simula uma aplica o Web que implementa a parte da delega o de autentica o do protocolo OpenID O processo de autentica o nesta aplica o delegado ao provedor OpenID e cabe a este geri lo Citizen Card Authenticate Delegate G Validate A Card Holder uthentication Certificate Relying Party OpenID Provider Authentication Successful Access to services and protected resources Figura 3 7 Esquema geral da arquitetura do sistema OpenID implementado As principais altera es efetuadas na estrutura dos projetos j fornecidos centram se na intro du o do Cart o de Cidad o como Token de autentica o Para implementar este mecanismo de autentica o foi necess rio alterar ambos os projetos No caso do provedor de autentica o foi obrigat rio estabelecer uma sess o SSL para este comunicar com o CC Visto que todo o c digo existente no processo de registo de um utilizador baseava se no esquema nome de utilizador e palavra passe foi necess rio alterar todo este c digo para substituir este mecanismo pela au tentica o via Cart o de Cidad o Para validar o ce
33. e os fornecedores de armazenamento como gestores dos recursos desse mesmo utilizador A Figura 3 4 representa o Modelo da base de dados proposta na integra 35 Mecanismos de autentica o em servi os baseados em Cloud G Save Certificate Serial Number l 6 Bind CC to Access Token Save Access Token 5 a Cloud Environment Figura 3 3 Esquema geral da arquitetura do sistema Simploud Esta base de dados esta dividida em tr s tabelas distintas e A tabela Certificate representa e guarda os dados necessarios correspondentes ao certifi cado de autentica o do Cart o de Cidad o Cont m os atributos IssuerName cont m o nome do certificado e o nome do emissor SerialNumber representa o n mero de s rie do certificado Juntamente com o IssuerName formam a chave prim ria da tabela servindo de identificador nico do certificado PublicKey ainda guardada a chave p blica do certificado embora n o seja aplicada em nenhum contexto espec fico e Atabela Cloud guarda os dados referentes aos diferentes fornecedores de armazenamento considerados para este sistema Fazem parte dela os seguintes atributos CloudlD identificador nico e tamb m chave prim ria da tabela que guarda um valor para entrada na tabela Name representa o nome dos fornecedores de armazenamento na Nuvem conside rados e A tabela Register estabelece a liga o entre as duas tabelas anteriores sendo que a ch
34. evitassem ataques de sess o ou mesmo tentativas de obten o dos tokens guardados pois a cria o deste novo conceito alterou a estrutura dos tokens at aqui utilizados A principal altera o a estrutura foi a introdu o de um campo de tempo de sess o sendo que quando este campo expira o consumidor necessita iniciar o mecanismo de Refresh Token para obter um novo token v lido O mecanismo de refresh token bastante mais simples Enquanto que para se obter um token de acesso um consumidor apenas envia o token anteriormente concedido token de autoriza o no Refresh Token necess rio para al m disso o client id e client secret par metros que fazem parte da estrutura dos pedidos OAuth Assim este problema foi resolvido 9 Mecanismos de autentica o em servi os baseados em Cloud e sempre que um token expira o utilizador apenas tem que usar um pedido de refrescamento para obter um novo token e continuar com o acesso anteriormente concedido 2 2 3 Protocolo de autentica o OpenID O protocolo de autentica o OpenID original foi desenvolvido em Maio de 2005 Bra05 por Brad Fitzpatrick enquanto trabalhava para a empresa Six Apart Foi inicialmente intitulado de projeto Yadis Yet another distributed identity system e s passou a ser chamado de OpenID quando a empresa Six Apart registou o dom nio openid net para seu uso O OpenID foi rapida mente implementado no LiveJournal um popular website comunit rio criado por
35. n com_content amp task view amp id 1 13 amp ltemid 100 amp lang pt html 29 Mecanismos de autentica o em servi os baseados em Cloud Spocs pertencente ao Instituto de Telecomunica es da Universidade da Beira Interior seja criada a cadeia de certificados referida em 3 1 1 1 e que a aplica o tenha como certificado para cria o de sess o SSL o certificado de servidor dessa cadeia No IIS este processo requere a cria o de um novo website e ligar o suporte para sess o SSL ao selecionar a op o Bindings depois adicionar uma nova liga o com o tipo definido como HTTPS e colocar o certificado de servidor SSL criado para o efeito 3 1 2 3 Configurar o servidor para aceitar certificados digitais de clientes A configura o do servidor para aceitar certificados digitais de clientes pode ser efetuada atra v s da altera o do ficheiro de configura o da aplica o Web config servindo para isso colocar as linhas de c digo apresentadas em 3 1 Outra possibilidade para alterar esta configura o selecionar a aplica o no gestor do IIS clicar de seguida em SSL Settings e marcar a op o para requerer SSL e n o esquecer que necess rio colocar o estado da vari vel Client Certificates como Required lt security gt lt access sslFlags Ssl SslNegotiateCert gt lt security gt C digo 3 1 Altera o da configura o para permitir a aceita o de certificados de cliente 3 1 2 4 Configurar o servidor
36. plataforma que permitisse interagir com estes dispositivos e que lhes fosse permitido executar implementa es como as descritas neste trabalho Como se pode ver existe muito trabalho feito mas h ainda muitos problemas no que toca ao tema da gest o de identidades seguran a de utilizadores partilha de recursos ou at mesmo na privacidade dos dados protegidos O mundo est em constante mudan a a evolu o bvia e existir o sempre falhas e problemas que necessitem ser reparados No t rmino deste trabalho cr se que houve uma contribui o not ria para a atualidade do mundo inform tico onde foram criadas novas solu es para autenticar utilizadores em diferentes servi os nomeadamente em fornecedores de armazenamento na Nuvem 56 Mecanismos de autentica o em servi os baseados em Cloud Bibliografia AS11a AS11b Bra05 CDM12 CSF 08 Ed 10 Ed 12 et 09a et 09b Fie00 GCdSA13 GCZO7 Haitham S Al Sinani Browser Extension based Interoperation Between OAuth and Information Card based Systems Technical Report Series Mathematics Department Royal Holloway sep 2011 22 Haitham S Al Sinani Integrating oauth with information card systems In JAS pages 198 203 2011 22 Brad Fitzpatrick Distributed identity Yadis online 2005 Available from http 1j dev livejournal com 683939 html 10 Giuseppina Cretella and Beniamino Di Martino Semantic web annotation and
37. primeiros e a autoriza o para aceder a recursos protegidos no caso do OAuth Na se o 2 2 s o descritos estes protocolos em pormenor 2 2 Protocolos de autentica o e autoriza o Como referido anteriormente no tema dos sistemas gestores de identidades existem diversos sub ramos em que estes sistemas se dividem incluindo alguns standards abertos disponibiliza dos para a comunidade e que v m fornecer novas formas de autentica o e de autoriza o Os exemplos bvios e que sobressaem na rea nestes ltimos anos s o os dos protocolos de auto riza o OAuth e de autentica o OpenID e ainda o protocolo SAML assente nas propriedades de SSO Atualmente estes protocolos s o necess rios visto que permitem que um utilizador possa partilhar recursos ou mesmo efetuar autentica o num servi o sem que para isso tenha que possuir uma conta associada ao mesmo Deste modo oferecido aos programadores e utilizadores um leque muito maior de op es que podem ser inseridas e usadas nos processos de autentica o e autoriza o de acesso das suas aplica es 2 2 1 Protocolo de autentica o SAML O protocolo SAML Security Assertion Markup Language foi criado em 2001 pelo comit de seguran a OASIS e teve a sua ltima revis o em 2005 com a sua vers o 2 0 0AS05 O SAML consiste numa framework baseada em XML para troca de dados de autentica o e autoriza o entre entidades em particular entre um provedor de ident
38. que se encontrem nessa lista inicial com a qual o ficheiro foi cifrado poder o decifr lo Aliado a isto foi ainda implementado um esquema de pol ticas de acesso a ficheiros que permite para al m de restringir a cifra e decifra a um grupo de identidades atrav s do esquema IBE limitar o acesso a estes dados cifrados atrav s de diferentes par metros e intervalo de endere os IP limitar o acesso ao ficheiro apenas para um certo intervalo de IPs Se pensarmos em ambientes empresariais onde normalmente s o utilizadas redes pri vadas caso estejamos fora dessa rede seria imposs vel decifrar um ficheiro anteriormente cifrado com essa condi o intervalo de tempo limitar o acesso ao ficheiro a um dado intervalo de tempo Se pen sarmos no exemplo do intervalo de tempo estabelecido durante a cifra entre 1 1 2020 e 1 1 2025 ter amos a certeza que o ficheiro nunca seria decifrado antes da data 1 1 2020 ou ap s 1 1 2025 n vel de seguran a limitar o acesso ao ficheiro a um determinado n vel de seguran a Se considerarmos que um ficheiro cifrado com n vel de seguran a 1 nenhum outro utilizador fora deste valor poder decifrar o ficheiro Application file ibc JU9SLUUOJAUI PNOJS O XML O a E file ibc policy xml file ibz Figura 3 6 Esquema geral do processo de Upload de um ficheiro A Figura 3 6 demonstra o processo de Upload de um ficheiro para o fornecedor de armazena mento onde o utilizador que est
39. rio devido ao facto do potencial acesso base de dados e consequente roubo do token de acesso levar a nenhuma consequ ncia a n o ser que o atacante consiga tamb m saber qual a chave que o consumidor a nossa aplica o guarda A consequ ncia de n o guardar estes dados implicava que a cada sess o iniciada com a aplica o fosse necess rio dar nova autoriza o para se aceder aos recursos protegidos na Nuvem De qualquer das formas sempre assegurada a comunica o SSL entre cliente e servidor Focando de novo a arquitetura da aplica o Ao guardar os dados referentes autentica o da identidade do utilizador a API desenvolvida tem como objetivo interagir com o protocolo OAuth afim de obter todos os tokens necess rios at obten o do token de acesso o simbolo final deste protocolo que garante acesso aos dados protegidos com autoriza o do propriet rio dos recursos 4 Ao obter este token final que lhe permite aceder aos recursos protegidos importante guard lo na base de dados 5 pois caso contr rio sempre que o utilizador criar uma nova sess o necess rio iniciar de novo o mecanismo OAuth Com o token guardado na base de dados e tamb m os dados referentes autentica o procede se de seguida liga o entre estas duas entidades envolvendo ainda uma vari vel que indica qual o fornecedor escolhido e assim ligar o utilizador ao token respetivo a um dado fornecedor 6 Com o token guardado na base
40. 2 5 Cadeia dos certificados de chave p blica de autentica o eletr nica e assinatura digital do Cart o de Cidad o Portugu s 2 2 2 2 eee ee eee 3 1 Cadeia dos certificados de chave p blica constru da para as arquiteturas Simploud e OpenID Provider a a 3 2 Esquema de utiliza o do Certificado de Autentica o saasaa aea 3 3 Esquema geral da arquitetura do sistema Simploud 3 4 Modelo da base de dados que suporta a arquitetura Simploud 3 5 Attack Tree para a arquitetura proposta 000 0 eee 3 6 Esquema geral do processo de Upload de um ficheiro 3 7 Esquema geral da arquitetura do sistema OpenID implementado 43 3 8 Modelo de base de dados que guarda todos os dados relativos ao registo de entidades 44 4 1 Em cima janela de autentica o do utilizador na aplica o Simploud Na parte inferior erros de autentica o obtidos ooo e 4 2 Janela para escolha do fornecedor de armazenamento pretendido 4 3 Janela que permite a visualiza o sobre os recursos protegidos ap s autoriza o completada E siete seed a et he AG Pd ee CEPE S 4 4 Popups que cont m as fun es de gest o de pastas a esquerda e de ficheiros a direita ses cs soci oe oe A oe Bee D Bh Bo oe ce NC 4 5 Popups para envio de ficheiros sem serem cifrados a esquerda e recorrendo a citea a direita su bras fe Se pa Lo Britis Mp ESEE ae CT ag da e DR Sa 4
41. 3 JsonProperty PropertyName created time RE oc DR 69 Mecanismos de autentica o em servi os baseados em Cloud public string Created time JsonProperty PropertyName public string Updated time get internal set 3 updated time get internal set 3 m H ra JsonObject MemberSerialization OptIn public class From JsonProperty PropertyName name public string Name get internal set JsonProperty PropertyName id public string Id get internal set 3 JsonObject MemberSerialization OptIn public class Shared with JsonProperty PropertyName access 11 public string Access get internal set JsonObject MemberSerialization OptIn public class File JsonProperty PropertyName size public string Size get internal set JsonProperty PropertyName rev public string Revision get internal set JsonProperty PropertyName thumb exists public bool ThumbnailExists get internal set JsonProperty PropertyName bytes public long Bytes get internal set JsonProperty PropertyName modified public DateTime Modified get internal set JsonProperty PropertyName path public string Path get internal set JsonProperty PropertyName is dir public bool IsDirectory get internal set JsonProperty PropertyName icon public string Icon get internal set JsonProperty PropertyName
42. Auth 1 0a and OAuth 2 0 Using the proposed architecture it was developed an implementation of this ar chitecture that provides a uniform Web based access to popular Cloud Storage Service Providers such as Dropbox Skydrive Meo Cloud and Google Drive using the authentication mechanism of the Eid card as a unique access token In order to provide a uniform access to these services the differences in the various REST APIs for the targeted providers will be described Finally the Web application that allows users that hold Eid cards a single point of access to their various cloud storage services will be presented The second one takes advantage of the OpenID authentication mechanism It will be presented an architecture that includes OpenID and the strong authentication mechanism of the CC The main objective of this system is to give the user the capability to use your Eid card CC to log into any application or Web service that allows the delegation of the authentication process through the OpenID protocol Finally two Web applications were created as a proof of concept of the system Keywords Cloud Storage Smartcards Security Confidentiality Privacy Authentication Authorization Certificate OAuth OpenID REST JSON vii Mecanismos de autentica o em servi os baseados em Cloud viii Mecanismos de autentica o em servi os baseados em Cloud ndice 5 Introdu o Nal ODJLIVO a nani Fa ane Sys ens ead E a eae
43. DownloadFile e UploadFile para transfer ncia e carregamento de ficheiros 3 2 2 Arquitetura do sistema Simploud A arquitetura do sistema tem em considera o os objetivos principais deste projeto e desta forma podemos considerar quatro principais entidades a considerar para a realiza o dos ob jetivos propostos e Cart o de Cidad o talvez a entidade central dentro da arquitetura proposta No Simploud o CC tem como principal fun o o uso do certificado de autentica o para que o titular do cart o se possa autenticar no sistema e Aplica o A aplica o Web constru da tem como principal fun o fazer a liga o entre o Cart o de Cidad o e o ambiente Cloud fun o desta entidade garantir a valida o da autentica o e posto isto gerar os tokens de acesso aos recursos protegidos e tamb m executar todos os pedidos s APIs dos fornecedores de armazenamento na Nuvem e API Foi necess rio para esta implementa o criar uma API que possibilitasse o acesso uniforme a todos os fornecedores implementados normal que apesar de existirem nor mas e defini es protocolares obrigat rias a seguir cada fornecedor implemente pr prias defini es de objetos atributos e haja diferen as na utiliza o dos protocolos implemen tados Para normalizar estas disparidades aos olhos de um programador adicionou se esta camada adicional que estabelece a liga o entre a aplica o propriet ria e os fornecedores de armaze
44. O atacante podia interromper o protocolo e mais tarde fornecer o seu url de obten o do token de autoriza o a outro utilizador para de seguida receber esse mesmo token e poder continuar o mecanismo neste caso com permiss es de acesso aos dados do utilizador atacado Este erro afetava de forma grave todo o mecanismo do OAuth comprometendo o mas foi detetado sem que existissem ainda casos de uso deste potencial erro grave Esta especifica o veio corrigir este problema de forma muito simples introduzindo um c digo de verifica o entre o pedido de autoriza o e o pedido de obten o do token de acesso para que o servidor que autoriza o consumidor final saiba se o mesmo consumidor que faz todos os pedidos A vers o mais recente do OAuth 2 0 veio introduzir novas considera es de seguran a para a gera o de tokens As principais altera es efetuadas ao protocolo permitem agora a introdu o de diferentes escopos e ainda o conceito de Refresh Token M 13 A introdu o de escopos neste protocolo foi importante pois veio possibilitar que um utilizador possa fornecer acesso a uma terceira entidade apenas a algumas partes dos seus dados Um exemplo pr tico desta situa o a Live API da Microsoft onde o utilizador pode apenas querer partilhar os seus dados de utilizador da conta de e mail ou ent o apenas os seus dados guardados no Skydrive O conceito de Refresh Token foi igualmente importante pois isto permitiu que se
45. OpenID at autentica o do utilizador na aplica o que delega este processo Para ambos os casos ser o ainda apresentados alguns testes que provam essencialmente que a autentica o atrav s de cart es Eid n o despropositada e que o tempo de execu o deste mecanismo inferior comparado com o tempo de execu o do mecanismo de autentica o baseado em nome de utilizador palavra passe 4 1 Aplica o Web Simploud Como referido anteriormente esta aplica o teve como principal fundamento a necessidade de aliar o mecanismo de autentica o forte do Cart o de Cidad o gest o de recursos armazena dos em fornecedores Cloud Assim sendo existe a necessidade do utilizador se autenticar perante a aplica o Simploud sendo para isso necess rio que o utilizador selecione o certificado de cliente que pretende utilizar para autentica o Figura 4 1 com a garantia pr via de que apenas os certificados de cliente do Cart o de Cidad o ser o aceites e consequentemente validados A sele o e correta introdu o do PIN que protege o acesso ao certificado de autentica o do Cart o do Cidad o faz com que a aplica o aceite este certificado e consequentemente o valide As janelas na parte inferior da Figura 4 1 demonstram os resultados visuais dos diferentes erros obtidos caso o processo de autentica o falhe esquerda a janela qual o utilizador tem acesso caso selecione o certificado errado direita o er
46. Relying Party e daqui em diante tem acesso rea de acesso restrito a membros da aplica o Figura 4 12 o que significa que o utilizador se encontra autenticado nesta DotNetOpenAuth ASP NET MVC Login sample Members Only Area DotNetOpenAuth Congratulations localhost 444 openidprovider user joaogouveia You have completed the OpenID login process About OpentD Logout Figura 4 12 Janela restrita a membros autenticados na aplica o que delega a autentica o com este processo conclu do 4 3 Testes e tempos de execu o Na Figura 4 13 poss vel observar os tempos relativos aos processos de autentica o e autori za o na aplica o Simploud e os tempos de autentica o nos Websites dos pr prios fornece dores Para efetuar este estudo considerou se suficiente uma amostra de vinte cinco unidades sendo que em cada teste foi pedido e que o utilizador se autenticasse perante a aplica o Simploud e de seguida que comple tasse o processo de autoriza o O intervalo de tempo considerado para esta situa o vai 51 Mecanismos de autentica o em servi os baseados em Cloud desde que o utilizador inicia o processo de autentica o at ao momento exatamente anterior da visualiza o da p gina com os conte dos e a repeti o do processo anterior mas agora sem a necessidade de proceder autoriza o e que fizesse a sua autentica o em cada um dos tr s fornecedores considerados para e
47. Web envia um pedido de verifica o para a CA do certificado e esta verifica a sua validade bem como suspens o ou revoga o atrav s do recurso sua CRL O esquema 3 2 representativo de como se processa a troca de informa es entre cliente aplica o e PKI do estado ao longo do processo de autentica o do cliente que tenta aceder aplica o 30 Mecanismos de autentica o em servi os baseados em Cloud 2 opediyiqao ap og5ep jea ap opipad vo ep oesepljen ap eysodsa Canal seguro entre cliente e aplica o E Envio do certificado de cliente para aplica o Figura 3 2 Esquema de utiliza o do Certificado de Autentica o 3 2 Autentica o com CC em fornecedores de armazenamento na Nuvem A arquitetura deste sistema tem como objetivo principal aumentar os padr es de seguran a atualmente utilizados pelos principais fornecedores de armazenamento na Nuvem existentes como o caso do Dropbox MEO Cloud e Skydrive Em todos estes servi os e seguindo a principal tend ncia da Web nos dias de hoje todos estes servi os t m como m todo de autentica o o par nome de utilizador e palavra passe Com a evolu o da internet essencial que a seguran a dos sistemas aplica es e servi os que est o assentes nela evolua lado a lado com esta tend ncia de exponencia o de servi os existentes Seguindo esta ideia e olhando para a atual conjetura da Web percebemos que o foco principal desta disser
48. a aplica o Simploud e os tempos m dios de execu o do formul rio de Login dos fornecedores de armazenamento na Nuvem Em rela o segunda arquitetura proposta nesta disserta o os testes efetuados em cima servem em parte para justificar a utiliza o de cart es de identifica o eletr nica como mecanismos de autentica o N o houve a necessidade de criar mais nenhum teste para a arquitetura OpenID propriet ria pois a nica componente aglomerada aos servi os OpenID exis tentes foi mesmo a possibilidade de se efetuar autentica o com cart es Eid Os resultados de tempos de execu o obtidos para o primeiro teste efetuado aplica o Simploud aplicam se igualmente a este mecanismo pois ambas as aplica es encontram se instaladas no mesmo servidor e partilham os mesmos mecanismos de autentica o e valida o do certificado apre sentado Olhando para os testes anteriores percebe se que com a exist ncia de uma base de dados que guarda os tokens de acesso do mecanismo de autoriza o se conseguem obter tempos de execu o inferiores em m dia na aplica o Simploud Como se pode analisar atrav s da Figura 4 13 apenas em um caso o tempo de execu o no Website dos pr prios fornecedores inferior aos tempos obtidos com o uso de cart es de identifica o eletr nica na aplica o Simploud 53 54 Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os bas
49. am certificados digitais Uma CA a entidade certificadora da infra estrutura de chaves p blicas e o seu principal objetivo gerir a liga o de chaves p blicas a outras entidades sendo que cada entidade deve ser considerada nica no dom nio da CA para que se possa estabelecer a liga o entre esta e uma chave p blica gerada pela CA Numa infraestrutura PKI podem se ainda con siderar as entidades VA e RA Validation Authority e Registration Authority respetivamente Enquanto que a VA exerce o papel de registo de um utilizador na infraestrutura a segunda atribui lhe uma chave p blica concluindo o processo de liga o entre os dois O estado portugu s a par de v rios exemplos descritos em na Sec o 2 3 1 criou ent o a sua pr pria estrutura de gest o de certificados X 509 conhecida por SCEE ou Sistema de Certifi ca o Eletr nica do Estado A arquitetura da SCEE constitui assim uma hierarquia de confian a 17 Mecanismos de autentica o em servi os baseados em Cloud que garante a seguran a eletr nica do Estado Para o efeito a SCEE compreende uma Entidade Gestora de Pol ticas de Certifica o que aprova a integra o de entidades certificadoras na SCEE pronunciando se igualmente sobre pr ticas e pol ticas de certifica o uma Entidade Certifica dora Eletr nica Raiz que constitui o primeiro n vel da cadeia hier rquica de certifica o e as v rias Entidades Certificadoras do Estado a esta subordinadas
50. ank A Finl ndia um pa s pioneiro na implementa o do conceito de identifica o eletr nica visto que o primeiro projeto por parte das entidades governamentais surgiu em 1999 embora este n o tenha sido bem sucedido Dado que a emiss o deste cart o trazia elevados custos aos cidad os e associando isto ao facto da licen a de con du o neste pa s permitir identificar o cidad o em praticamente todos os casos este projeto foi dado como dispens vel por parte dos cidad os e mais tarde pelo estado O caso da Su cia difere de todos os outros anteriormente apresentados pois este projeto ini ciado em 2005 oficialmente introduz um cart o de identifica o eletr nica que cont m um chip com r dio frequ ncia RFID destinado para leitura de dados biom tricos Para al m desta carater stica este cont m os dados do portador e ainda um chip utilizado para aceder a servi os de eGovernment de forma segura ustria B lgica Est nia Finl ndia Su cia Chip Sim Sim Sim Sim Sim Certificados Digitais Sim Sim Sim Sim Sim Autentica o Eletr nica Sim Sim Sim Sim Sim Assinatura Digital Sim Sim Sim Sim Sim RFID N o N o N o N o Sim Dados biom tricos N o N o N o N o Sim Tabela 2 1 Quadro resumo com carater sticas de cart es internacionais Os casos anteriormente enumerados s o os casos pioneiros da Europa sendo que nos ltimos anos t m surgido mais projetos que segu
51. ar a validade de um certificado gerado pela CA possa descarregar esta lista e proceder a essa verifica o Um dos problemas das CRLs est associado a esta troca de informa o pela rede inclusive o processamento dos dados no lado do cliente O mecanismo OCSP vem corrigir esse problema pois a CA que processa o pedido do cliente e fornece uma resposta booleana relativa ao estado do certificado apresentado Para al m disto as CRLs sofriam de outro problema o tempos de atualiza o das listas Como exemplo caso uma lista seja apenas atualizada de hora a hora e no espa o de uma hora um certificado tenha sido revogado qualquer pedido de certifica o desse certificado ser dado como v lido quando na realidade n o o O uso do mecanismo CRL pode se considerar como uma vantagem principalmente para ambi entes que n o tenham uma liga o de rede flu da e est vel pois este n o exige uma liga o constante rede para obter o estado dos certificados No nosso caso optou se pela utiliza o deste mecanismo dado que se verifica esta situa o No caso espec fico do Cart o de Cidad o a CA tem permiss es para emitir validar suspender e revogar um certificado Noutros casos uma CA poderia renovar certificados mas essa pr tica n o suportada pela SCEE 2 3 2 3 Autentica o eletr nica Como visto anteriormente a autentica o de um utilizador dentro de um servi o eletr nico pode ser efetuada de diversas formas A uti
52. atrav s do nosso consentimento aos nossos dados protegidos num dado servi o sem que seja necess rio o utilizador fornecer as suas credenciais de acesso que normalmente se designam pelo par nome de utilizador e palavra passe Um caso de uso simples onde percet vel a aplica o deste protocolo o exemplo de autoriza o de um servi o de impress o consumidor aceder a fotos privadas que se encontram noutro servi o o fornecedor de servi o sem que o consumidor exija ao utilizador as suas credenciais de acesso ao fornecedor de servi o A vantagem deste mecanismo centra se na capacidade de permitir que uma terceira entidade aceda aos dados protegidos do utilizador sem que esta saiba quais s o os dados de autentica o do utilizador no servi o que possui os dados Service Provider Resource Authorization Resource Owner Server Server Authorization Grant Request Authorization Grant Response Consumer send Authorization Grant to obtain Access Token Access Token Response Consumer send Access Token to obtain Protected Resources Protected Resources Figura 2 1 Mecanismo do protocolo de autoriza o OAuth A Figura 2 1 ilustrativa de como se processa todo o mecanismo deste protocolo sendo que este pode ser dividido em tr s processos principais O consumidor faz um pedido de autoriza 8 Mecanismos de autentica o em servi os baseados em Cloud o para o propriet rio dos recursos A respos
53. autoriza o para obten o de acesso visto que com o primeiro teste efetuado automaticamente guardado o token de acesso obtido para futuras utiliza es Esta situa o reduz drasticamente o tempo de execu o da aplica o at visualiza o dos recursos protegidos sendo que a m dia de tempos obtidas foi de 15 55 segundos reduzindo o tempo de execu o total praticamente para metade A linha laranja tra ada ao longo do gr fico Figura 4 13 demonstra exatamente os tempos obtidos nesta segunda autentica o para cada teste efetuado Para uma an lise comparativa com os fornecedores de armazenamento na Nuvem considerados foi pedido ao utilizador que realizasse um ltimo teste aceder aos seus dados protegidos atrav s do pr prio Website do fornecedor Para isto foi necess rio utilizar uma ferramenta intitulada Fiddler que permite a monitoriza o de tr fego seja pelo protocolo HTTP ou HTTPs Para conseguir ler o tr fego em sess es SSL necess rio que este programa instale o seu pr prio certificado na m quina local e estabele a algo reconhecido na rea da seguran a como ataque Man in the Middle Conclu da esta breve explica o sobre a ferramenta vamos explicar qual a necessidade do uso desta O facto de se pretender retirar informa o acerca dos tempos de execu o do processo de autentica o nos fornecedores considerados n o assim t o simples Enquanto que nos primeiros dois testes a aplica o prop
54. ave prim ria desta tabela uma chave conjunta das chaves prim rias das tabelas ante riores Podemos identificar como chave prim ria os atributos IssuerName SerialNumber e CloudlD Para al m destes atributos esta tabela reserva ainda espa o para armazenar a informa o relativa aos Tokens obtidos AccessToken representa o identificador do Token obtido AccessTokenSecret guarda a informa o referente ao segredo do Token obtido Para efeitos de seguran a s o apenas guardados na base de dados os valores do hash dos dados referentes ao Cart o de Cidad o O mesmo procedimento n o pode ser efetuado para os dados 36 Mecanismos de autentica o em servi os baseados em Cloud E IssuerName NVARCHAR CloudiD INTEGER SerialNumber NVARCHAR Name NVARCHAR PublicKey NVARCHAR 1 1 E IssuerName NVARCHAR E SerialNumber NVARCHAR n E CloudiD INTEGER n AccessToken NVARCHAR AccessTokenSecret NVARCHAR Figura 3 4 Modelo da base de dados que suporta a arquitetura Simploud referentes aos tokens de acesso dos fornecedores de armazenamento visto serem definitivos exceto no caso do Skydrive e ser necess rio saber o seu valor real para efeitos de autoriza o de pedidos em pr ximas sess es que n o a primeira A cifra destes dados poderia ser efetuada atrav s de mecanismos de cifra sim tricos ou assim tricos gerados pelo pr prio servidor de base de dados onde esta se encontra guardada mas este processo n o necess
55. b que suporte OpenID a capacidade de se registar com essa mesma identidade digital em outros servi os que permi tam a delega o do processo de autentica o a um provedor OpenID Ao olhar para a Figura 2 2 percebe se as potencialidades deste mecanismo pois para um utilizador se autenticar em toda a plataforma Yahoo pode delegar o processo de autentica o a outros servi os como 0 Facebook ou a Google http www livejournal com https login yahoo com 10 Mecanismos de autentica o em servi os baseados em Cloud Relying OpenID Party Provider Claimed ID User redirection Authentication Request OpenID Login Page User authenticates himself with an OpenID Identifier Authemtication Response Response Redirection Authentication verification Authentication Verification Request Authentication Verification Response Figura 2 3 Mecanismo do protocolo de autentica o OpenID A Figura 2 3 demonstra todo o mecanismo deste protocolo em pormenor Existem cinco passos essenciais que suportam este protocolo Primeiro o utilizador apresenta um identificador Ope HID que pretende provar ser seu De seguida a entidade qual o utilizador pretende aceder descobre qual o fornecedor OpenID correspondente ao identificador do utilizador e redireciona o para este fornecedor para que se proceda autentica o O utilizador autentica se perante o seu fornecedor OpenID e ap s o sucesso da opera
56. cation Program Interface HyperText Markup Language HyperText Transfer Protocol Identity Based Encryption International Civil Aviation Organization Identity Management System International Electrotechnical Commission International Organization for Standardization Instituto de Telecomunica es Javascript Object Notation Light Weight Identity Open Source Authorization Protocol Online Certificate State Protocol Open Identification Protocol Person Identification Number Private Key Generator Public Key Infrastructure PIN Unlock Key Registration Authority Representational State Transfer Simple Authentication and Security Layer Sistema de Certifica o Eletr nica do Estado Universidade da Beira Interior Validation Authority World Wide Web eXtensible Markup Language Extensible Resource Descriptor Sequence eXtensible Resource Identifier Yet another distributed identity system xiii Mecanismos de autentica o em servi os baseados em Cloud xiv Mecanismos de autentica o em servi os baseados em Cloud Cap tulo 1 Introdu o Ao longo de toda a hist ria da Humanidade as reas do conhecimento t m sido alvo de cons tante evolu o e em nenhuma destas reas se assistiu at hoje estagna o do conhecimento e sabedoria por ser imposs vel encontrar avan os necess rios ao acompanhamento da evolu o da hist ria A Inform tica e a Ci ncia de Computadores inserem se perfeitamente neste con texto poi
57. considerados introdu o do par metro oauth verifier para a implementa o da API do fornecedor MEO Cloud devido utiliza o da vers o 1 0a do protocolo OAuth enquanto que as vers es implementadas para a Dropbox e Skydrive s o respetivamente as vers es 1 0 e 2 0 ainda de referir que em Julho de 2013 a Dropbox implementou a vers o 2 0 do OAuth continuando a suportar a vers o anterior o modo de redirecionamento para a aplica o diferente nos tr s fornecedores na Drop box e Skydrive o redirecionamento efetuado junto com o pedido de autoriza o logo n o requer assinatura enquanto que na MEO Cloud o par metro de redirecionamento feito junto do pedido de Request Token sendo assim necess rio adaptar a classe OAuthBase cs para permitir assinar pedidos que contenham mais este par metro no Skydrive o m todo Request Token n o implementado pois o mecanismo de autoriza o envia este objeto junto com a resposta ao pedido de autoriza o no Skydrive a obten o do Access Token processa se atrav s do m todo HTTP POST e o conte do deve estar especificamente formatado sob a forma application x www form urlencoded e a resposta obtida em formato JSON desserializada para o objeto Acces sToken A 3 4 enquanto que na Dropbox e MEO Cloud o m todo HTTP utilizado GET e usa se o objeto OAuthToken para guardar a resposta obtida Conclu do o processo de autoriza o ent o permitido ao utilizador at
58. correndo ao protocolo OAuth Para apoiar esta implementa o usou se uma adapta o da classe OAuthBase cs Anexo A 3 1 disponibilizada pelos criadores deste mecanismo e que gere a cria o de uma assinatura correspondente ao pedido efetuado um Timestamp e um Nonce Estes par metros t m como fun o definir um intervalo de tempo aceit vel para a aceita o de um determinado pedido e atribuir a esse pe dido um c digo nico respetivamente Esta adapta o da classe de base fornecida pelo OAuth foi necess ria para implementar o par metro de verifica o oauth verifier respeitante ao for necedor MEO Cloud e tamb m a necessidade de gerar assinaturas de pedidos que contivessem o par metro de redirecionamento junto com os par metros desses pedidos Para a Dropbox que implementa a vers o 1 0 do OAuth o pedido de redirecionamento feito durante o envio do pedido de autoriza o Anexo A 3 2 m todo GetAuthorizeUri com o redirecionamento a ser inclu do num dos par metros do pedido J no caso do MEO Cloud o pedido de redirecionamento entra como par metro no primeiro passo do protocolo no pedido de obten o do Request Token e este par metro adicional entra no processo da gera o de assinatura para esse pedido Da a necessidade de adapta o desta classe previamente fornecida para este caso espec fico O m dulo de OAuth foi totalmente implementado contendo as diversas fases de autoriza o deste protocolo como de resto s
59. cos RSA DSA ou Curva El ptica e Clicar de seguida no separador de extens es e definir o par metro de Time Range Um valor aceit vel para este intervalo de validade dever ser de dez anos e Por fim importante definir um URL para a CRL da CA algo do g nero http spocs it ubi pt crl crl der Para a cria o do certificado de servidor necess rio que se sigam os mesmos passos com pequenas altera es e O formato a utilizar default HTTPS server Na sec o Signing necess rio escolher o certificado que vai assinar o novo certificado a ser criado e O par metro Common Name dever conter o caminho especificado para o site pois considera se uma boa pr tica Assim sendo dever ser algo como spocs it ubi pt 444 simpl oud Caso exista uma CRL criada no primeiro certificado o campo da CRL dever ser preen chido com o mesmo endere o colocado em cima Posto estes dois processos executados dever estar criada a estrutura considerada para esta implementa o com um certificado de raiz da CA com o nome de Spocs Certificate Authority e um certificado de servidor intitulado de spocs it ubi pt 444 simploud assinado com a chave privada da CA referida acima 28 Mecanismos de autentica o em servi os baseados em Cloud 3 1 2 Certificados de cliente Em muitos casos de implementa es necess ria a autentica o atrav s de certificados de cliente para que o cliente prove a sua identidade ao se
60. creve um esquema baseado no protocolo de autentica o OpenID e um sistema de autentica o baseado em smartcards O esquema especificado neste artigo relativamente simples A autentica o do utilizador feita atrav s de sess o SSL aberta automaticamente pelo smartcard aproveitando a autentica o forte oferecida por este dispositivo isto ambos os lados lidam com certificados X 509 e chave privada RSA O primeiro passo do mecanismo do sistema passa por ligar um smartcard a um dispositivo USB com mem ria flash Consequentemente este dispositivo conectado ao computador e esta belecida automaticamente a liga o entre o smartcard e o computador do utilizador Ao iniciar uma sess o HTTP com o consumidor mostrado um pequeno formul rio para que o utilizador introduza o seu OPID OP indentifier Mais tarde e conforme o utilizador necessite de se autenticar ser iniciado o processo apelidado de Discovery que representa o passo em que a Entidade Confiante vai procura do fornecedor OpenID correspondente ao OPID do utilizador Posto este passo procede se valida o da autentica o do utilizador Enquanto que nas imple menta es cl ssicas de provedores a autentica o do utilizador feita atrav s da introdu o da palavra passe no sistema de Urien a autentica o do utilizador feita atrav s de uma sess o SSL com autentica o m tua Todo o restante processo de autentica o atrav s do protocolo OpenID
61. d trata uma aplica o que gere acesso uniforme a diferentes fornecedores de armazenamento na Nuvem e est assente em fortes medidas de seguran a e cria o de uma sess o SSL entre a aplica o e cliente atrav s do certificado de servidor O protocolo de autoriza o OAuth e a entidade emissora do CC assim o exigem Sec o 3 1 e cria o de uma cadeia de certifica o para gest o de todos os futuros servidores associados a estes servi os Sec o 3 1 1 1 e implementa o de autentica o atrav s do Cart o de Cidad o Sec o 3 1 2 e implementa o do protocolo OAuth para comunica o com os fornecedores de armazena mento e implementa o de mecanismos que garantam maior seguran a a n vel da Confidencialidade Sec o 3 2 2 2 Para al m das medidas de seguran a criadas para esta primeira arquitetura foi ainda desenvol vida uma API que integra todo o mecanismo do protocolo OAuth e implementa as fun es para gest o de conte dos guardados em fornecedores Cloud Esta API como referido anteriormente tem a particularidade de ser aberta open source e encontra se j publicada na comunidade Github 55 Mecanismos de autentica o em servi os baseados em Cloud Da mesma forma o segundo sistema proposto neste trabalho alia a autentica o forte do Cart o de Cidad o ao protocolo de autentica o OpenID Na pr tica esta situa o refor a o conceito anterior tornando a igualmente inovadora
62. d International Conference on Advances in Human Oriented and Personalized Mechanisms Technologies and Services CENTRIC 0 pages 16 21 Washington DC USA 2010 IEEE Computer Society Available from http dx doi org 10 1109 CENTRIC 2010 26 22 David Recordon and Drummond Reed Openid 2 0 a platform for user centric iden tity management In Proceedings of the second ACM workshop on Digital identity management DIM 06 pages 11 16 New York NY USA 2006 ACM Available from http doi acm org 10 1145 1179529 1179532 10 Mecanismos de autentica o em servi os baseados em Cloud RRM12 Sch99 Uri10 Uri11 VDF 02 VVE10 Laurie Rae David Recordon and Chris Messina OpenID the Definitive Guide Oreilly amp Associates Inc 1st edition 2012 42 Bruce Schneier Attack Trees Modeling Security Threats Dr Dobb s Journal De cember 1999 38 Pascal Urien An openid provider based on ssl smart cards In Proceedings of the 7th IEEE conference on Consumer communications and networking conference CCNC 10 pages 444 445 Piscataway NJ USA 2010 IEEE Press Available from http dl acm org citation cfm id 1834217 1834318 21 Pascal Urien Convergent identity Seamless OPENID services for 3G dongles using SSL enabled USIM smart cards In CCNC IEEE Consumer Communications and Networking Conference 2011 22 W Vesely J Dugan J Fragola Minarick and J Railsback Fault Tree Handbook with Aer
63. de dados e autentica o efetuada o utilizador est em condi es de gerir e manipular 7 os dados protegidos na Nuvem referentes a um fornecedor de armazenamento espec fico 3 2 2 1 Modelo de seguran a Os requisitos b sicos de seguran a que um sistema criptogr fico deve fornecer s o Confidenci alidade Integridade Autentica o e N o Rep dio A seguran a deste sistema como um todo ir depender de cada um dos elementos que o constitui Assim o sistema depende do Cart o de Cidad o como objeto de autentica o de identidade eletr nica atrav s do certificado de autentica o que este possui nos canais de comunica o utilizados entre o cliente e a aplica o 37 Mecanismos de autentica o em servi os baseados em Cloud Web e entre a aplica o e a base de dados sendo que esta guarda dados sens veis na resis t ncia a ataques que possam ocorrer durante o processo de autoriza o atrav s do protocolo OAuth e ainda a seguran a do esquema IBE Identity Based Encryption implementado para o carregamento e transfer ncia de ficheiros cifrados para o fornecedor de armazenamento na Nuvem Neste tipo de sistema em que a autentica o se processa atrav s da troca de certificados de cliente importante que seja imposs vel para um atacante fazer se passar por um utilizador v lido neste caso um titular do Cart o de Cidad o Pressup em se que os canais de comunica o entre a aplica o e o cliente sejam seguro
64. de tutora do certificado e da CA que o emitiu As transa es executadas entre servidor e cliente s o cifradas com base neste par de chaves Todos os dados que forem cifrados com a chave privada do certificado do servidor apenas poder o ser decifrados com a chave p blica do mesmo e vice versa O processo de autentica o baseada em certificados facilmente compreendido podendo ser dividido em quatro fases e Primeira Fase Caso a data atual n o esteja em conformidade com o intervalo de tempo admitido pelo certificado ent o quer dizer que o certificado se encontra fora do per odo de validade o que faz com que o processo de autentica o termine imediatamente Caso contr rio o utilizador prossegue para o passo seguinte e Segunda Fase Cada cliente SSL habilitado mant m uma lista de certificados de autoridade de certifica o confi veis Esta lista determina quais os certificados de servidor que o cliente aceitar Se o nome distinto DN da autoridade de certifica o emissora coincide com o nome distinto da autoridade de certifica o na lista de autoridades de certifica o confi veis do cliente ent o a CA uma autoridade de certifica o confi vel e o cliente procede para a pr xima fase Se a CA n o estiver na lista o servidor n o autenticado a menos que o cliente encontre e possa verificar uma cadeia de certificados terminando com uma autoridade de certifica o que est na lista e Terceira Fase O client
65. do for comprometido ou simplesmente revogado a aplica o continuar a correr atrav s de outros servidores assentes em certificados id nticos Spocs Certificate Authority Simploud Server Certificate OpenID Provider Certificate Simploud Server 2 Certificate Figura 3 1 Cadeia dos certificados de chave p blica constru da para as arquiteturas Simploud e OpeniD Provider 27 Mecanismos de autentica o em servi os baseados em Cloud Para a cria o dos certificados necess rio criar uma base de dados local acedida pela pr pria aplica o para guardar todo o trabalho desenvolvido Como esta base de dados guarda infor ma es importantes e necess rio que ningu m para al m do criador da mesma aceda a ela guardada localmente completamente cifrada Posto isto para a cria o do certificado de raiz da CA basta configurar o software XCA da seguinte forma e Clicar no bot o New Certificate e Definir o formato do certificado a ser criado como default CA e Selecionar o separador Subject Escolher um Internal Name nome com a fun o de identificar o certificado na ferra menta Preencher os dados referentes ao Distinguished Name onde o Common Name no nosso caso foi Spocs Certificate Authority Caso se pretenda podem ser adicionados par metros adicionais a este campo Selecionar a chave privada desejada podendo se optar pelos tamanhos de 1024 2048 4096 bits e pelos algoritmos criptogr fi
66. do fornecedor que estamos a considerar O mesmo acontece com o pedido para obter o token de acesso e todos os outros pedidos referentes a gest o dos recursos Anexo A 3 3 Deste modo podemos concluir que a API desenvolvida satisfaz os prop sitos para que foi inici almente criada tornando os m todos de autoriza o e de gest o de recursos completamente uniformes apesar de se estar a trabalhar com diferentes fornecedores de armazenamento na Nuvem 3 2 4 Implementa o de um esquema de IBE e pol ticas de acesso a ficheiros No mbito do projeto PRICE surgiram v rios trabalhos paralelos a este entre eles a implemen ta o de v rios servi os de IBE baseados nas propriedades criptogr ficas do Cart o de Cidad o O objetivo deste trabalho consistia na cria o de v rios sistemas que permitissem atrav s de um sistema de BE aliado ao processo de autentica o forte do Cart o de Cidad o cifrar e decifrar ficheiros Para implementar este sistema de BE nesta aplica o Web foi utilizada uma biblioteca desen volvida em C que utiliza o esquema Emribe e permite implementa lo num sistema para a cifra e decifra de ficheiros Esta biblioteca tem como funcionalidades principais a gera o de para metros p blicos e privados a gera o de chaves privadas correspondentes a uma identidade e a cifra para m ltiplas identidades e respetiva decifra de ficheiros A fun o do PKG gerar os par metros de sistema necess rios par me
67. dos Para isso foi utilizada a autentica o forte do cart o de cidad o portugu s A vantagem da uti liza o do cart o de cidad o clara sendo um sistema que necessita o uso de um objeto f sico cart o aliado a um Pin de autentica o A utiliza o do cart o de cidad o em detrimento do sistema de autentica o mais utilizado nome de utilizador e palavra passe eleva o grau de seguran a ao n vel da autentica o numa aplica o ou servi o Os objetivos principais previstos no plano de trabalhos s o os seguintes e Revis o da literatura sobre servi os de autentica o de identidade em plataformas de computa o Cloud e Estudo an lise e familiariza o com as APIs dos fornecedores comuns como o exemplo da Dropbox Skydrive e ou Google Drive e Estudo e an lise dos protocolos de autentica o e autoriza o existentes e Especifica o de um sistema de autentica o baseado no CC e proposta de altera o de um servi o de identidade para a Cloud e Instala o e configura o de um sistema de autentica o que aproveita o cart o de cidad o permitindo que um utilizador se identifique em qualquer aplica o Web 1 2 Motiva o O presente trabalho o resultado de uma parceria entre o grupo de investiga o RELiable and SEcure Computation RELEASE da Universidade da Beira Interior e a empresa Portugal Telecom PT Inova o no mbito do projeto PRICE Privacy Reliability and Integrity in Clo
68. e o protocolo SSL onde imposs vel para um atacante obter a chave privada do servidor estando assim impossibilitado de decifrar os dados que v o passando pelo canal Em rela o ao CC pressuposto que um atacante n o consegue alterar informa o sens vel guardada no chip do mesmo como por exemplo o par de chaves que suportam o certificado de autentica o igualmente pressuposto que durante o processo de autentica o seja estabelecida uma rela o de confian a entre a CA emissora do certificado do CC e a aplica o O sistema pressup em ainda que n o existam qualquer tipo de falhas no mecanismo do protocolo OpenID 44 Mecanismos de autentica o em servi os baseados em Cloud Cap tulo 4 Resultados Neste cap tulo s o apresentados os principais passos que envolvem o utilizador desde o ato de autentica o at ao acesso a recursos protegidos com a exemplifica o de janelas de visuali za o das aplica es criadas Na primeira sec o demonstra se todos os passos em ambiente gr fico que envolvem o uti lizador desde o processo de autentica o at ao exemplo do envio de ficheiros para um dos fornecedores de armazenamento Na segunda parte deste cap tulo abordado a implementa o da aplica o que delega a au tentica o a um servidor OpenID propriet rio com exemplos de imagens retiradas da interface destas duas aplica es acompanhado todo o processo desde a autentica o no provedor
69. e faz uso da chave p blica do certificado da autoridade de certi fica o que dever encontrar na lista de CAs confi veis para validar a assinatura digital da autoridade de certifica o no certificado do servidor Se as informa es no certificado do servidor foram alteradas desde que este foi assinado pela autoridade de certifica o ou caso a chave p blica do certificado de autoridade de certifica o n o corresponda chave particular que foi usada pela CA para assinar o certificado de servidor o cliente n o autentica a identidade do servidor Se a assinatura digital da autoridade de certifica o pode ser validada o cliente prossegue Neste ponto o cliente determinou como v lido o certificado do servidor e Quarta Fase Apesar deste passo n o ser obrigat rio nem constar nas especifica es do protocolo SSL serve para evitar um conhecido problema criptogr fico dado pelo nome 26 Mecanismos de autentica o em servi os baseados em Cloud de Man In the Middle ou Homem no Meio Para evitar este ataque o cliente apenas necessita verificar se o nome de dom nio no certificado do servidor corresponde ao nome de dominio do pr prio servidor Caso estes nomes n o coincidam o cliente dever recusar a liga o pois poder estar sob este tipo de ataque No final deste processo o cliente e servidor est o aptos a comunicarem entre si de forma segura tendo o cliente a certeza da identidade do servidor atrav s do seu ce
70. e mecanismo o pedido de autoriza o efetuado na aplica o Web do pr prio fornecedor com a necessidade de autentica o do propriet rio dos recursos que em teoria dever ser a mesma entidade que o utilizador autenticado Deste modo o utilizador da aplica o redirecionado para o Website do fornecedor para o propriet rio dos recursos dar permiss o ao utilizador e este aceder aos dados protegidos A conclus o deste processo com ou sem sucesso envia o utilizador de volta para aplica o Sim ploud sendo que o resultado da autoriza o influencia o resultado final mostrado ao utilizador A autoriza o bem sucedida resulta na Figura 4 3 com toda a informa o acerca dos recursos protegidos no fornecedor anteriormente selecionado enquanto que o contr rio redireciona o utilizador para a p gina exemplificada na Figura 4 2 Esta janela pode ser dividida em cinco diferentes zonas e A informa o dos dados da conta onde mostrado ao utilizador o nome da conta qual estamos a aceder assim como o espa o de armazenamento dispon vel e utilizado e O Menu principal que cont m diversos cones para melhorar a experi ncia do utilizador na aplica o e permitir a f cil gest o dos seus recursos Este menu encontra se dividido em quatro cones que efetuam opera es diferentes 46 Mecanismos de autentica o em servi os baseados em Cloud L cartaodocidadao gostaria de ter acesso a todos os arquivos e pastas no se
71. e pode verificar no Anexo A 3 2 Primeiro s o definidas as vari veis dos endere os finais vari veis essas que complementam todos os URLs de pedidos feitos API do fornecedor Os m todos GetRequest Token GetAuthorizeUri e GetAccessToken s o implementados de seguida e implementam todo o mecanismo OAuth para obten o de autoriza o O primeiro destes tr s envia um pedido para a obten o de um Request Token e a resposta guardada no objeto Token C digo 3 2 criado para o efeito De seguida enviado um 32 Mecanismos de autentica o em servi os baseados em Cloud pedido para obter autoriza o por parte do propriet rio dos recursos sendo para isso necess rio que este se autentique com as suas credenciais no Website do fornecedor e autorize o acesso ao consumidor de recursos neste caso a aplica o Simploud O passo final diz respeito ao envio do pedido de Access Token onde o utilizador ir receber um Token O m todo referente ao pedido de assinatura foi criado exatamente para assinar os diferentes pedidos especificados anteriormente public class OAuthToken public OAuthToken string token string secret L Token token Secret secret public string Token get private set 3 public string Secret get private set 3 C digo 3 2 Classe OAuthToken criada para guardar todos os Tokens obtidos Existem algumas diferen as a enunciar durante todo este processo em rela o aos diferentes fornecedores
72. e resposta JSON A API desenvolvida no mbito desta disserta o possui v rias vantagens que se destacam das demais existentes come ando com o facto de ser livre open source e estar dispon vel para revis es e altera es Para a partilha da biblioteca foi criado um reposit rio no Github que cont m toda a biblioteca desenvolvida Nos casos de aplica es como o Otixo ou o Jolidrive o principal problema encontra se neste fator o n o conhecimento p blico da API desenvolvida para integrar de forma uniforme todos os fornecedores implementados por eles Ambas as apli ca es implementam o protocolo de autoriza o OAuth tal como no caso da API desenvolvida Existem ainda outras bibliotecas p blicas e que lidam com sistemas de Cloud como a Delta Cloud que implementa diversos fornecedores de servi os na Nuvem Contudo esta biblioteca est desenvolvida e focada para a computa o na Nuvem e n o tanto para aceder aos servi os de armazenamento S o poucos os fornecedores de armazenamento suportados por esta biblioteca e todos eles encontram se fora do pretendido para esta disserta o pois n o existe suporte para OAuth quer da parte desta biblioteca quer dos fornecedores que ela implementa exce o do Google Storage Tendo todos estes par metros em considera o optou se por de senvolver uma API propriet ria que correspondesse diretamente s exig ncias e necessidades da arquitetura proposta mais frente inti
73. e uma terceira entidade no nosso caso o CC a aceder a recursos protegidos Existem igualmente diversos trabalhos na rea da autoriza o utilizando o protocolo OAuth como AS11a AS11b onde Al Sinani descreve uma arquitetura que integra sistemas de cart es de informa o como o CardSpace projeto atualmente descontinuado ou o Higgins e protoco los de autentica o e autoriza o como o OpenID e o OAuth Como j foi referido v rias vezes nesta disserta o foi considerada a utiliza o do Cart o de Cidad o que permite autentica o forte em servi os p blicos e privados Os cart es nacionais de Eid como o CC nasceram tamb m como token de autentica o para servi os governamentais como o caso em Portugal onde o Cart o de Cidad o atualmente utilizado para efetuar o pro cesso de autentica o no Portal das Finan as Nacional Mas outras implementa es e estudos j surgiram para o CC estando entre elas um sistema de autentica o e Health para profissionais de sa de GCZ07 e ainda um sistema de gest o de identidades federado PTP10 O REST uma arquitetura cheia de potencialidade e que trouxe grandes vantagens aos servi os Web e a todas as aplica es na internet Como visto na sec o 2 4 esta uma arquitetura perfeitamente escal vel que possibilita a atribui o de um identificador nico a cada objeto e torna o acesso a estes relativamente simples Apesar desta arquitetura estar implementada em g
74. eados em Cloud Cap tulo 5 Conclus o e Trabalho Futuro A resposta dos sistemas de gest o de identidade ao problema da propaga o de m ltiplas iden tidades para o mesmo utilizador veio tornar poss vel a autentica o em servi os de terceiros sem que para isso seja necess ria a cria o de uma nova identidade para esse mesmo servi o Tamb m os mecanismos de autoriza o existentes permitem a partilha de dados entre diferen tes servi os sem a necessidade de existir troca dos dados de autentica o como o nome de utilizador e palavra passe Desta forma caminhamos rapidamente para que no futuro tenha mos um sistema gestor de identidades eletr nicas globalizado e que seja suportado pela maior parte dos servi os Web existentes O que adv m desta potencial conjetura a exist ncia de identidades digitais centralizadas que sirvam de m todo de autentica o em qualquer servi o existente na Web Com a evolu o da internet para a computa o na Nuvem o mecanismo de autoriza o OAuth encontra se numa posi o privilegiada e tem todos os argumentos e funcionalidades para se tornar um pilar desse tipo de sistema nomeadamente na autoriza o da partilha de recursos protegidos O trabalho elaborado e descrito nesta disserta o mostra como poss vel combinar a autentica o forte de smartcards com a autentica o em servi os que sejam suportados pelo protocolo OAuth e ou OpenID O inovador sistema proposto Simplou
75. ecess rios os escopos wl basic e wl skydrive update o primeiro serve para retirar informa es do perfil de utilizador sendo que no caso desta aplica o apenas serve para retirar informa o acerca do espa o de armazenamento ocupado e dispon vel o segundo permite acesso leitura e escrita em ficheiros guardados no Skydrive Ap s este procedimento a aplica o est apenas autorizada pelo utilizador a aceder aos escopos designados Com esta vers o do OAuth e olhando particularmente para este fornecedor os tokens de acesso obtidos cont m uma data de expira o de uma hora e no final deste per odo necess rio refrescar o acesso do consumidor ao servi o Utilizando o mecanismo de refrescamento do protocolo OAuth poss vel obter um novo token sem que o utilizador se aperceba deste processo Sobre as respostas JSON o Microsoft Live Connect API REST do Skydrive possui objetos para Activity Album Application Audio Calendar Comment Contact Error Event File Directory Friend Permission Photo Quota Tag User and Video Apesar da exis t ncia de todos estes objetos apenas alguns deles s o necess rios para o Skydrive A API desenvolvida apenas implementa os objetos File Directory Quota e User pois estes s o os necess rios para o funcionamento m nimo da aplica o Os ltimos dois s o necess rios para extrair o email do utilizador autenticado e tamb m informa o acerca do espa o de armazenamento ocupado e d
76. ed time public string Created time get internal set 3 JsonProperty PropertyName updated time public string Updated time get internal set public byte Data get internal set 3 public void Save string path L using var fileStream new FileStream path FileMode Create FileAccess ReadWrite fileStream Write Data O Data Length 7 71 72 Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Gloss rio CA Cart es Eid CRL IBE Idm OAuth OCSP OpenID PKI VA A Certification Authority uma entidade que dentro de uma estrutura PKI emite certificados digitais para diferentes fins Os cart es de identifica o eletr nica entre outras fun es e tal como o nome indica permite ao seu titular identificar se digitalmente perante outras entidades As Certification Revocation List s o listas criadas numa estrutura PKI e que guardam os certificados inv lidos suspensos revogados ou expirados O mecanismo de Identity Based Encryption permite a cifra de informa o baseando se na identidade do utilizador que pretende utilizar este processo Um Identity Management System um sistema que tem como principal fun o gerir a identidade dos utilizadores Esta gest o pode ser efetuada sobre diversas formas gest o de identidades controlo de acesso servi os de controlo de diretoria ou protocolos e pad
77. ega o servi o de autentica o para o provedor OpenID 2 Caso o certificado apresentado seja v lido 3 o processo de autentica o encontra se completado e o utilizador redirecionado de volta para a entidade onde se quis 43 Mecanismos de autentica o em servi os baseados em Cloud Username NVARCHAR IssuerName NVARCHAR SerialNumber NVARCHAR Email NVARCHAR Figura 3 8 Modelo de base de dados que guarda todos os dados relativos ao registo de entidades autenticar 4 A partir daqui o utilizador tem acesso a todos os recursos e todos os servicos desta entidade 5 3 3 1 1 Modelo de seguran a Tal como no modelo de seguran a da primeira implementa o a seguran a deste sistema como um todo ir depender de cada um dos elementos que o constitui Desta forma o sistema depende do Cart o de Cidad o como objeto de autentica o de identidade eletr nica atrav s do certificado de autentica o que este possui nos canais de comunica o utilizados entre o cliente e o provedor OpenID e na resist ncia a ataques por parte do protocolo OpenID Neste tipo de sistema em que a autentica o se processa atrav s da troca de certificados de cliente importante que seja imposs vel para um atacante fazer se passar por um utilizador v lido neste caso um titular do Cart o de Cidad o Pressup em se que os canais de comunica o entre a aplica o e o cliente sejam seguros e para isso todas as comunica es decorrem sobr
78. em as mesmas normas os mesmos standards e im plementam a grande maioria dos desafios propostos anteriormente Os casos mais flagrantes disto s o os da Fran a Alemanha Holanda Espanha e Italia todos eles com suporte para autentica o e assinatura digital O quadro 2 1 acima especificado resume a grande maioria das carater sticas especificadas para os projetos pioneiros europeus na rea dos cart es inteligentes de identifica o Este estudo foi feito pois havia a necessidade de perceber quais as compatibilidades entre estes cart es e o principal objeto de estudo de trabalho desta disserta o o Cart o de Cidad o Portugu s Todos os projetos apresentados dos diferentes pa ses t m muitas carater sticas em comum seguem as mesmas normas como documentos de identifica o e em alguns casos como documento de viagem Podemos identificar as carater sticas comuns atrav s da seguinte lista e Todos os cart es apresentados seguem as normas estipuladas pela da ECC European Citizen Card e Nos casos aplic veis todos aplicam as normas definidas pela ICAO International Civil Aviation Organization para documentos de viagem internacionais Int08 13 Mecanismos de autentica o em servi os baseados em Cloud e Aplica o dos padr es 7501 7810 e 7816 definidos pela ISO International Organization for Standardization sendo que o primeiro refere se cria o de uma zona de leitura tica para documentos de viagem o segu
79. em linguagens Web mais precisamente ASP Net MVC A principal raz o de escolha de uma aplica o Web em vez de uma aplica o desktop centra se no suporte dos navegadores Web existentes para sess es SSL atrav s da troca de certificados digitais Outra raz o bvia refere se ao facto de ser necess rio que a troca dos par metros do certificado de autentica o do CC se processe dentro de uma sess o SSL bem como todos pedidos e respostas obtidas do protocolo OAuth Por estas raz es optou se por uma aplica o assente no navegador Web do cliente 3 1 1 Certificados de servidor Primeiro que tudo importante entender qual a diferen a existente entre este tipo de certifi cados e os certificados de cliente Um certificado de servidor um certificado digital emitido para qualquer aplica o ou servi o Web por uma entidade certificadora confiante conhecidas e abordadas nesta disserta o por CA Um certificado de servidor verifica a identidade de uma dada organiza o ao cliente para que o cliente possa navegar com seguran a atrav s das apli ca es e servi os Web dessa organiza o Estabelece se ent o uma rela o de confian a em que o cliente sabe partida que e as aplica es e servi os aos quais acede pertencem de facto a essa organiza o e n o a um impostor e as transa es entre servidor e cliente s o cifradas Neste caso os certificados funcionam como a identidade das aplica es e servi os Web pera
80. eters string callback string gt verification L IG if verification null L verification string Empty 3 eee if url AbsolutePath Contains request token url AbsolutePath Contains authorize if string IsNullOrEmpty callback parameters Add new QueryParameter OAuthCallbackKey callback 63 Mecanismos de autentica o em servi os baseados em Cloud else parameters Add new QueryParameter OAuthCallbackKey oob if Istring IsNuLLOrEmpty token parameters Add new QueryParameter OAuthTokenkey token if string IsNullOrEmpty verification parameters Add new QueryParameter OAuthVerifier verification public string GenerateSignatureUsingHash string signatureBase HashAlgorithm hash L public string GenerateSignature Uri url string consumerKey string consumerSecret string token string tokenSecret string httpMethod string timeStamp string nonce out string gt normalizedUrl out string normalizedRequestParameters string callback string verification lt public string GenerateSignature Uri url string consumerKey string consumerSecret string token string tokenSecret string httpMethod string timeStamp string nonce Simploud Api OAuth SignatureTypes signatureType out string normalizedUrl out string gt normalizedRequestParameters string callback string verification Eel 7 public virtual string GenerateTimeStamp 3 public virtual s
81. fetue o pedido do certificado existente no Cart o de Cidad o s o necess rios diversos passos apresentados de seguida 3 1 2 1 Instala o de certificados de raiz do CC De modo a ser validada a totalidade da cadeia de certifica o do certificado presente no Cart o de Cidad o necess rio adicionar os respetivos certificados loja de certificados do Windows sistema operativo que se encontra instalado no servidor onde foi instalada a aplica o Web Para se proceder instala o de todos os certificados do Cart o de Cidad o basta fazer a trans fer ncia dos certificados e coloc los dentro da pasta Trusted Root Certification Authorities Uma das formas poss veis de validar que os certificados ficaram corretamente instalados abrindo o certificado cliente na m quina onde est a ser efetuada a instala o O certificado n o dever apresentar nenhum erro ou aviso sendo que a cadeia de certifica o dever aparecer com a indica o de que o estado de cada certificado OK 3 1 2 2 Configurar o servidor para liga es SSL Configurar o servidor para liga es SSL acima de necess rio obrigat rio n o s por causa do uso de certificados digitais mas tamb m porque todo o protocolo OAuth assim o obriga Este processo simples e apenas requere que aquando da publica o da aplica o Web no servidor Certificados do Cart o de Cidad o dispon veis em http www cartaodecidadao pt index php 3Foptio
82. i trespassada para v rias ci ncias e atualmente muito utilizada em seguran a para descrever esquemas que potencialmente levariam ao colapso de toda a seguran a do sistema As Attack Trees fornecem a possibilidade de modelar potenciais amea as contra os sistemas inform ticos de forma met dica Sch99 O primeiro elemento a ser definido neste modelo qual o objetivo do ataque Este elemento ser a raiz da rvore Posto isto necess rio encontrar e identificar as diferentes maneiras de conseguir este objetivo Estas representa es seguem a defini o de que os Children nodes s o condi es que devem ser satisfeitas para que o Parent node seja verdade Seguindo esta nomenclatura a rvore que demonstra os ataques poss veis para satisfazer a premissa maior deste sistema que consiste no acesso a dados protegidos por parte de um atacante apresentada na Figura 3 5 Esta rvore indica dois caminhos poss veis para satisfazer a condi o principal e O atacante aceder base de dados do fornecedor de armazenamento e conseguir retirar os dados de login de um utilizador aliado posse do cart o de identifica o eletr nica desse mesmo utilizador e consequentemente conhecer o PIN de autentica o deste cart o Se estas tr s condi es forem satisfeitas o utilizador capaz de gerar um token de acesso sem o consentimento do real propriet rio dos recursos e o atacante passa a ter acesso aos dados privados deste 38
83. idade e um fornecedor de servi os O nico requisito de grande import ncia para esta linguagem o SSO O SAML define tr s entidades para definir o seu mecanismo o utilizador o provedor de iden tidade idP e o fornecedor de servi o SP O primeiro passo consiste no envio de um pedido do utilizador para o SP para que possa utilizar um dos seus servi os De seguida o SP faz um pedido e obt m uma afirma o de identidade por parte do idP Na base desta afirma o o SP 7 Mecanismos de autentica o em servi os baseados em Cloud define se pretende que o utilizador aceda ao seu servi o ou n o O protocolo SAML foi revisto pro duas vezes durante a sua exist ncia existindo as vers es 0AS04 e OASO5 A necessidade da revis o deste protocolo prende se com detalhes como a altera o do esquema e estrutura do protocolo altera o das normas de assinatura digital regras de processamento e de clarifica o 2 2 2 Protocolo de autoriza o OAuth Como referido por Leiba Lei12 o OAuth um protocolo de autoriza o que se situa na ca tegoria de sistemas de gest o de identidades pois este permite a partilha de recursos entre servi os eletr nicos Este protocolo surge no ano de 2007 com a sua ltima revis o a ser publicada em Ed 10 no ano de 2010 como mecanismo de autoriza o de acesso O modo de opera o do OAuth relativa mente simples e baseia se na possibilidade de uma terceira entidade poder aceder
84. idos que se encontram nesses servi os Para a constru o desta ltima plataforma foi ainda criada uma API que integra de forma uniforme todos os pedidos OAuth feitos aos fornecedores de armazenamento bem como para obten o de informa o acerca dos dados guardados nesses mesmos fornecedores Esta disserta o resultou ainda na publica o de um artigo cient fico na confer ncia internaci onal CloudCom 13 GCdSA13 1 4 Organiza o A presente disserta o est organizada em v rios cap tulos que mostram sequencialmente o processo de investiga o desenvolvido Neste primeiro cap tulo foi descrito o projeto as moti va es os objetivos assim como a contribui o da presente disserta o Os seguintes cap tulos encontram se organizados da seguinte forma e Cap tulo 2 Estado da arte Neste cap tulo s o descritas todas as tecnologias abordadas ao longo da disserta o Inicialmente apresentada a problem tica que originou a exist ncia dos sistemas de gest o de identidades e s o demonstrados diversos sistemas existentes bem como protocolos de autentica o e autoriza o que se inserem nesta problem tica De seguida elaborado um estudo sobre cart es inteligentes autentica o multifatorial e especificamente sobre o cart o de cidad o portugu s objeto de estudo aprofundado e de trabalho nesta disserta o e Cap tulo 3 Implementa o Neste cap tulo descrevem se todas as tecnologias utilizadas
85. imeiras interfaces s o standards para opera es criptogr ficas enquanto que a ltima principalmente direcionada para opera es n o criptogr ficas isto para manipula o das informa es b sicas como nome n meros de identifica o fotografia entre outras 2 4 REST APIs Recentemente a arquitetura REST REpresentational State Transfer foi proposta como alter nativa aos servi os Web existentes Fie00 Nesta era marcada pelo aparecimento da Cloud e da expans o da internet muitos servi os eletr nicos t m adotado esta arquitetura principal mente devido ao aumento do n mero de dispositivos m veis e de todos os servi os feitos para eles Esta arquitetura possui diversas vantagens em rela o s at ent o existentes Para al m de ser uniforme e atribuir a cada recurso ou informa o o seu pr prio identificador este ainda um sistema f cil de construir escal vel e que comunica baseado em pedidos resposta assente no 20 Mecanismos de autentica o em servi os baseados em Cloud protocolo HTTP aproveitando os pedidos do protocolo HTTP como GET e POST Em verdade todos esses pedidos s o perfeitamente mapeados para as necessidades de aplica es com sis temas de informa o por tr s podendo equivaler os m todos POST GET PUT DELETE a Criar Ler Atualizar e Remover As respostas enviadas para o utilizador podem seguir v rios formatos como XML ou HTML mas o mais comum nos dias de hoje
86. ina Val rio Maria Figueiredo Rita Mineiro e Sara Pais Por todos os momentos passados e por todos aqueles que hao de estar para chegar Mecanismos de autentica o em servi os baseados em Cloud Resumo Esta disserta o descreve duas arquiteturas distintas para autentica o e acesso uniforme a dados armazenados em fornecedores de armazenamento e servi os na Nuvem A primeira ar quitetura aproveita as vantagens do mecanismo de autoriza o OAuth aliado ao mecanismo de autentica o forte dos Cart es de Identidade Eletr nica Nacionais Eid cards no nosso caso o Cart o de Eid Portugu s ou Cart o de Cidad o CC Ser apresentada uma compara o de mecanismos de autoriza o e acesso aos fornecedores de armazenamento na Nuvem comparando os mecanismos de autoriza o OAuth 1 0 OAuth 1 0a e OAuth 2 0 Para utilizar a arquitetura proposta foi desenvolvida uma implementa o que fornece acesso Web uniforme aos fornecedores de armazenamento e servi os na Nuvem mais populares tais como a Dropbox Skydrive Meo Cloud e Google Drive usando o mecanismo de autentica o do Cart o de Cidad o como Token de acesso nico Para possibilitar o acesso uni forme a estes servi os ser o descritas as diferen as entre as diferentes REST APIs pertencentes aos fornecedores considerados Finalmente ser apresentada a aplica o Web que permite aos utilizadores que possuam car t es de Eid aceder aos diferentes fornecedores de armazenamen
87. ispon vel guardados na estrutura Quota e Account ver Anexo A 3 4 para mais detalhes O ltimo detalhe que distingue este fornecedor dos anteriores o acesso aos conte dos pois em vez de fazer uso de especifica o de caminhos cada objeto de ficheiro ou pasta possui um par metro id que representa o seu identificador nico Apesar de todas as diferen as especificadas todos eles possuem semelhan as em alguns aspe tos Por exemplo apesar da estrutura dos pedidos URL ser diferente para cada fornecedor os passos que comp em o processo de autoriza o at ao acesso final aos recursos protegidos s o id nticos tal como todos os fornecedores implementam o mesmo tipo de fun es e opera es sobre ficheiros Download Upload listagem partilha c pia renomear hist rico de vers es para recupera o de ficheiros mover e apagar A API desenvolvida implementa praticamente todas estas opera es exce o da partilha de conte dos com outros utilizadores e a recupe ra o de vers es anteriores como se pode verificar pelo exemplo do Anexo A 3 3 onde est o implementadas os m todos e GetAccountinfo para obter informa o acerca da conta do propriet rio dos recursos e GetFiles para obter o conte do de uma pasta e consequentemente lista lo 34 Mecanismos de autentica o em servi os baseados em Cloud e CreateFolder Rename e Delete para criar uma pasta renomear e remover um ficheiro ou pasta respetivamente e
88. lar Chave privada de um par de chaves assim tricas RSA para assinatura digital e Guardar informa o pessoal para valida o interna de identidade do titular Esta valida o consiste num mecanismo de Match on Card que permite comparar os dados biom tricos guardados dentro do smartcard neste caso espec fico a compara o entre a impress o digital do titular guardada no cart o e uma impress o digital comunicada ao mesmo para valida o de identifica o e Guardar informa o reservada Esta informa o refere se unicamente morada do titular do cart o e pode ser disponibilizada a quem desejar ou a quem tiver autoriza o para 16 Mecanismos de autentica o em servi os baseados em Cloud obter esta informa o sendo necess rio para isso que o titular do cart o introduza um PIN de desbloqueio desta informa o Guardar informa o p blica Esta informa o de conhecimento p blico como referido anteriormente consiste na fotografia digital do titular do cart o nos certificados de chave p blica de autentica o e assinatura digital e ainda de toda a informa o do titular vis vel fisicamente no cart o Efetuar opera es criptogr ficas atrav s da utiliza o das chaves privadas fornecidas pelo cart o O cart o possui ainda tr s c digos PIN cada um constitu do por quatro algarismos para efetuar tr s tipos de opera es e Autoriza o de indica o de morada e Autentica o eletr
89. liza o do m todo nome de utilizador e palavra passe atualmente a forma mais utilizada para autentica o mas o avan o da tecnologia requere outros m todos outras tecnologias A introdu o de certificados digitais como m todo de autentica o eletr nica veio permitir adicionar uma camada de seguran a nos mecanismos de autentica o A entrada dos certificados na seguran a eletr nica veio permitir que n o s possibilite autentica o de um utilizador como a assinatura de documentos excertos de texto mails entre outros e ainda a comunica o segura entre a aplica o e o cliente por via SSL Existem hoje cada vez mais fatores de autentica o e podemos classific los em tr s grupos distintos e Identifica o do utilizador Podem se incluir neste grupo fatores como impress o digital retina do olho sequ ncia de ADN reconhecimento de voz e assinatura ou qualquer outro dado biom trico e O que o utilizador tem seja um cart o de identifica o Token de seguran a Token de 19 Mecanismos de autentica o em servi os baseados em Cloud software ou telefone e O que o utilizador conhece como a palavra passe frase de seguran a ou PIN Aliando a estes fatores um objeto f sico que agrega certificados digitais e mecanismos de auten tica o temos em posse um documento suportado por fatores muito fortes de seguran a que engloba todos os fatores de autentica o A autentica o com CC pode se
90. lo de propaga o de identidades digitais necess rio que Mecanismos de autentica o em servi os baseados em Cloud este seja coadjuvado por smartcards ou Tokens OTP pois a perda de acesso a este servi o causaria que todos os outros servi os anteriormente ligados ao SSO estariam comprometidos O Controlo de acesso baseado em pap is tem hoje em dia um papel importante no mundo comercial A grande maioria das empresas utiliza este sistema pois este permite que se restrinja o acesso apenas a utilizadores autorizados Numa organiza o os pap is s o hoje em dia muito importantes e criados consoante as fun es de trabalho dessa empresa N o faz sentido que um empregado de escrit rio tenha o mesmo tipo de acesso a um sistema de informa o que o diretor por exemplo e Os Servi os de diretoria s o fundamentais para o bom funcionamento dos idM e podem se dividir entre reposit rios de dados de identidade para administra o de atributos e contas de utilizador replica o e sincroniza o de dados virtualiza o de diretorias sistemas eletr nicos de diretorias escal veis e ainda os sistemas de pr xima gera o como o CADS Composite Adaptive Directory Services cuja defini o consiste num sistema de diretorias que engloba a problem tica da gest o de identidades Os principais Protocolos standard desenvolvidos nesta rea s o o SAML OpenID e OAuth possibilitando a autentica o de utilizadores no caso dos dois
91. mpresas e Promo o da competitividade nacional por via da reengenharia e da simplifica o de processos e de procedimentos 2 3 2 1 Carater sticas do Cart o O Cart o de Cidad o segue as normas internacionalmente recomendadas para que este seja um documento de identifica o e um documento de viagem reconhecido oficialmente Assim este encontra se alinhado pelas as orienta es correntes da Uni o Europeia nomeadamente as do grupo de trabalho para o ECC pelas normas definidas pela ICAO para documentos de viagem internacionais documento 9303 e os padr es 7501 7810 e 7816 definidos pela ISO O formato do Cart o de Cidad o o de um cart o D 1 definido pela norma ISO IEC 7810 dimens es 85 60 x 53 98 mm e correspondente ao formato TD 1 de machine readable travel documents MRTD definido pela ICAO no Documento 9303 Parte 3 Sec o Ill Esta norma deve ser complementada pela norma ISO 7816 2 que define a posi o e funcionamento do chip embebido no cart o Em fun o dos objetivos de utiliza o das aplica es previstas e das solu es perspectivadas o chip do Cart o de Cidad o tem as seguintes caracter sticas e um chip Java Card multi aplica o e Suporta a vers o mais recente da plataforma Java Card e o uso de logical channels Possui uma capacidade de mem ria EEPROM ou equivalente minima de 64KB Suporta m ltiplos PINs Os PINs est o em conformidade com as normas apresentadas anteriormente
92. namento na Nuvem e Ambiente Cloud Esta entidade representa todos os fornecedores de armazenamento na Nuvem todos os seus protocolos m todos objetos e atributos a API desenvolvida que estabelece a liga o com esta camada e gere os pedidos feitos e respostas obtidas Nuvem O esquema geral da arquitetura do sistema apresentado na Figura 3 3 relaciona as quatro enti dades anteriormente referidas atrav s de processos pedidos e respostas entre elas Tudo come a com a autentica o do titular do cart o O processo de autentica o de um utili zador est relacionado com a valida o do certificado que este apresenta 1 Se o certificado n o for validado o utilizador n o se consegue autenticar e o processo interrompido Caso o primeiro e segundo passo 2 sejam efetuados com sucesso a aplica o vai usar dados referen tes ao certificado e guarda los numa base de dados 3 Caso ap s os dados serem guardados na base de dados o utilizador se tente autenticar com o mesmo certificado e se este for dado como revogado expirado suspenso ou inv lido ent o os dados referentes a este certificado s o eliminados da mesma afim de garantir a seguran a integridade e consist ncia dos dados O principal objetivo desta base de dados guardar dados referentes ao processo de autentica o e gera o de Tokens pelo protocolo OAuth relacionando estas duas entidades o cart o de Cidad o como identificador digital do utilizador
93. ndo indica as dimens es padr o para este tipo de cart es e a terceira define entre outras coisas a posi o do chip no cart o e ainda os mecanismos do chip e intera o com estes por parte dos leitores e Em todos os casos de estudo poss vel a identifica o eletr nica atrav s da utiliza o do certificado de autentica o e a assinatura digital de documentos e exce o da Su cia todos os restantes casos implementam uma PKI que serve tanto o setor p blico como o setor privado Analisando estas carater sticas comuns a todos os cart es fabricados e relembrando que apenas foram verificados os casos europeus pode se concluir que todo o trabalho efetuado no mbito desta disserta o a n vel de autentica o atrav s de cart es inteligentes de identifica o ele tr nica pode ser facilmente utilizada por outras entidades que n o apenas portadores do Cart o de Cidad o Portugu s Qualquer utilizador que possua um cart o de identifica o eletr nica que siga as normas anteriormente apresentadas pode utilizar o sistema proposto e implementado como os casos dos portadores de cart es Eid da A stria B lgica Est nia Finl ndia Su cia e ainda os casos mais recentes da Fran a Alemanha Holanda Espanha e It lia 2 3 2 Cart o de Cidad o Portugu s O Cart o de Cidad o Portugu s come ou a ser emitido em Fevereiro de 2007 como documento de cidadania com o objetivo de substituir o bilhete de identidade
94. nica do titular do cart o e Produ o de assinatura digital por parte do titular do cart o A camada adicional de seguran a que se consegue com a introdu o destes c digos PIN no cart o impedem que em caso de extravio ou perda do cart o outra entidade que esteja na posse deste documento f sico n o possa aceder a dados confidenciais do titular do cart o nem fazer uso das funcionalidades deste smartcard 2 3 2 2 Cadeia de certificados e Certifica o No campo da certifica o existem muitos passos at que um certificado esteja pronto para exe cutar a tarefa para a qual foi criado como por exemplo a autentica o digital Os certificados do Cart o de Cidad o n o s o alheios a todo este processo de certifica o Mas para se perceber todo o processo de certifica o de um certificado necess rio come ar pelo in cio de todo o processo sendo para isso necess rio falar de PKI ou caso a inexist ncia desta explicar o que uma CA Certification Authority Como defini o de PKI pode se dizer que o conjunto de todo o hardware software pes soas pol ticas e procedimentos para criar gerir distribuir usar ou revogar certificados digitais Normalmente uma PKI designa se por um rg o p blico ou privado que gere uma estrutura de emiss o de chaves p blicas baseando se sempre no princ pio de terceira parte confi vel estabelecendo a ponte de credibilidade e confian a em transa es entre partes que utiliz
95. nte os navegadores dos diversos utilizadores Eles certificam o navegador de que aquela aplica o quem diz ser O esquema t o simples quanto isto embora na realidade seja necess rio 25 Mecanismos de autentica o em servi os baseados em Cloud algo mais para autenticar uma entidade na Web Se uma aplica o Web criasse o seu pr prio certificado de autentica o facilmente outro indiv duo mal intencionado poderia recriar este certificado e envi lo para o navegador dos utilizadores sem que estes dessem conta de que estavam a aceder a aplica es falsas Estariamos perante um ataque de Phishing cl ssico onde um indiv duo mal intencionado se faz passar por quem realmente n o para obter dados pesso ais de utilizadores A resolu o deste problema est na cria o de Autoridades de Certifica o reconhecidas a n vel mundial como entidades confi veis e onde como j foi dito na sec o 2 3 2 2 podem delegar este n vel de confian a e fiabilidade aos certificados que ela pr pria cria A valida o e verifica o da cadeia de certificados de uma dada aplica o passa a ser feita por estas entidades delegadas pelo navegador do cliente Falta ent o perceber como feita a verifica o destes certificados e como que o canal esta belecido entre o servidor e o cliente cifrado Cada certificado possui uma chave de conhecimento p blico e uma chave privada Esta chave privada apenas do conhecimento da entida
96. o e autoriza o pap is e privil gios para um dado servi o ou conjunto de servi os Estes sistemas s o capazes de facilitar o acesso a dados protegidos num servi o a terceiras entidades sem ser necess ria a partilha de informa es confidenciais como o nome de utilizador ou a palavra passe Com este novo paradigma corrigem se v rios problemas ao n vel de multiplicidade de identida des autentica o e confidencialidade O OAuth e OpenID s o exemplos deste tipo de sistemas que gerem de forma particular a identidade de um utilizador O OAuth surge como um protocolo focado para autoriza o possibilitando a autoriza o para terceiros acederem a dados pessoais guardados em diferentes servi os J o OpenID recolhe toda a problem tica envolvente do tema de propaga o de identidades e resolve a surgindo como um protocolo de delega o de auten tica o Se aliado a um destes protocolos estiver a autentica o forte de cart es Eid podemos ter garantias de ter um sistema robusto e com uma componente importante no processo de autentica o que o facto de possuir um elemento f sico e atrav s deste conseguir aceder aos diferentes servi os onde o utilizador esteja registado Mecanismos de autentica o em servi os baseados em Cloud 1 1 Objetivo O principal objetivo deste trabalho criar um novo mecanismo de autentica o em ambientes Cloud nomeadamente nos fornecedores de armazenamento Cloud mais conhecidos e utiliza
97. oArray request ContentLength buffer Length using var requestStream request GetRequestStream requestStream Write buffer O buffer Length 3 var response HttpWebResponse request GetResponse var reader new StreamReader response GetResponseStream var json reader ReadToEnd return ParseJson lt Simploud Api Models File gt json A 3 4 Modelos criados para desserializar as respostas JSON i 3 JsonObject MemberSerialization OptIn public class AccessToken JsonProperty PropertyName access token public string access token get internal set 3 JsonProperty PropertyName expires in public int expires in get internal set 3 JsonProperty PropertyName scope public string scope f get internal set 3 JsonProperty PropertyName token type public string token type get internal set 3 JsonObject MemberSerialization OptIn public class Quota JsonProperty PropertyName quota public long Total get internal set JsonProperty PropertyName shared public long Shared get internal set JsonProperty PropertyName normal public long Normal get internal set JsonProperty PropertyName available public long Available get internal set JsonObject MemberSerialization OptIn public class Account JsonProperty PropertyName uid 68 Mecanismos de autentica o em servi os baseados em Cloud
98. oken private readonly string _consumerKey private readonly string _consumerSecret private readonly string _root public DropboxCloudProvider string consumerKey string consumerSecret OAuthToken accessToken gt string root _accessToken accessToken _consumerKey consumerKey _consumerSecret consumerSecret _root root 7 private string GetRequest Uri uri var oauth new OAuth OAuthDropbox _consumerKey _consumerSecret null var requestUri oauth SignRequest uri _consumerKey _consumerSecret _accessToken GET gt null null HttpWebRequest request null request HttpWebRequest WebRequest Create requestUri request Method WebRequestMethods Http Get var response request GetResponse var reader new StreamReader response GetResponseStream return reader ReadToEnd 7 private string PostRequest Uri uri var oauth new OAuth OAuthDropbox _consumerKey _consumerSecret null var requestUri oauth SignRequest uri _consumerKey _consumerSecret _accessToken POST lt null null var req requestUri AbsoluteUri Split var request HttpWebRequest WebRequest Create uri request Method WebRequestMethods Http Post request ContentType application x ww form urlencoded ASCIIEncoding encoding new ASCIIEncoding byte data encoding GetBytes req 1 request ContentLength data Length using Stream stream request GetRequestStream L stream
99. onde a autentica o do CC serve de apoio a um protocolo que permite autorizar um consumidor a ter acesso a dados protegidos Enquanto que nesta implementa o necess rio haver uma aplica o que estabelece a ponte entre o protocolo de autoriza o e a autentica o via CC existindo sempre a obriga o do consumidor e do propriet rio de recursos se autenticarem no caso da segunda implementa o o mecanismo em causa permite a delega o de autentica o Isto significa que um utilizador autenticado por um provedor OpenID tem acesso a qualquer aplica o Web que permita a delega o de acesso Existe ainda um longo caminho a percorrer e como trabalho futuro seria importante construir uma solu o de armazenamento na Nuvem propriet ria em que a autentica o no sistema se ria feita atrav s do Cart o de Cidad o aliado ao protocolo de autentica o OpenID Embora o protocolo OAuth n o tenha sido criado para trabalhar diretamente com autentica o este me canismo implementado em v rios sistemas para esse efeito Neste cen rio a implementa o de um servidor de autoriza o OAuth n o seria descabida embora para esse efeito o protocolo OpenID seja mais eficaz Com esta solu o n o haveria a necessidade de existirem aplica es de terceiros para fazerem este trabalho como a especificada na Sec o 3 2 Um mecanismo que poderia at certo ponto substituir a presen a de um certificado digital como Token de autentica
100. os ye ane Z CMOTUVAG AO x skis ae al a ee ava ae Se Redes E ee ee eee eae ee ve T 1 3 Contribui o e438 sie ai raio aie Vi A SEA E Bice Ree Wie Sle Bea es ae 1 4 Organiza o y ss ee A RR RR A I ee ee eee RR Estado da arte 2 1 Sistemas de gest o de identidades 2 2 2 0 00005 2 2 Protocolos de autentica o e autoriza o 2 eee 2 2 1 Protocolo de autentica o SAML 1 2 2 eee eee ee 2 2 2 Protocolo de autoriza o OAuth 02 02 eee 2 2 3 Protocolo de autentica o OpenID 2 2 002 2 3 Cart es de identifica o digital 2 2 ee ee ee ee 2 3 1 Pr ticas internacionais 2 ooa 2 3 2 Cart o de Cidad o Portugu s 2 2 2 eee ee ee ee 2 4 REST ARISAN jet ceva ee ca NN ca a We cee ta a a ele Wh Ae cee ide a 2 5 Trabalhos relacionados 2 lt e Implementa o 3 1 Autentica o com CC via sess o SSL ww ws 3 1 1 Certificados de servidor cccccccccslccccrcre ee 3 1 2 Certificados de cliente lt ee ee ee ee 3 2 Autentica o com CC em fornecedores de armazenamento na Nuvem 3 2 1 API uniforme para intera o com os diferentes fornecedores de armazena MENTO K a ane cc ca da ai R N 3 2 2 Arquitetura do sistema Simploud 02 eee 3 2 3 Integra o da API desenvolvida numa aplica o propriet ria 3 2 4 Implementa o de um esquema de IBE e pol ticas de acesso a ficheiros 3 3 Servidor OpenID propriet rio cc
101. ospace Applications Handbook National Aeronautics and Space Administration Washington DC 2002 38 Toby Velte Anthony Velte and Robert Elsenpeter Cloud Computing A Practical Approach McGraw Hill Inc New York NY USA 1 edition 2010 23 59 60 Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Ap ndice A Anexos A 1 Classe SecureController cs A 1 1 C digo para autentica o e valida o de certificado do Cart o de Cida d o var x Request ClientCertificate if x IsPresent t ViewBag Error No certificate selected ER MvcApplication SessionCertificate new X509Certificate2 x Certificate if AuxiliarFunctions isCitizenCardCA MvcApplication SessionCertificate L ViewBag Error Wrong certificate CG X509Chain chain new X509Chain X509Store store new X509Store StoreName My StoreLocation LocalMachine store Open OpenFlags OpenExistingOnly OpenFlags ReadOnly foreach X509Certificate2 mCert in store Certificates chain ChainPolicy ExtraStore Add mCert chain ChainPolicy RevocationFlag X509RevocationFlag EntireChain chain ChainPolicy RevocationMode X509RevocationMode Online chain ChainPolicy UrlRetrievalTimeout new TimeSpan 0 1 0 chain ChainPolicy VerificationFlags X509VerificationFlags NoFlag if chain Build MvcApplication SessionCertificate
102. oud mais recentes Os casos mais conhecidos dentro da Europa e que serviram de base de estudo para o Cart o de Cidad o acontecem na ustria B lgica Est nia Finl ndia e Su cia Cada um destes casos tem condicionantes espec ficas pois em muitos casos a pr pria constitui o dos pa ses n o permite certos tipos de situa es relacionadas com a identifica o dos cidad os e aquilo que se pode considerar como identifica o eletr nica destes Procede se de seguida a uma breve an lise destas carater sticas e de algumas das condicionantes para os casos dos pa ses mencionados bem como de casos espec ficos de outros pa ses No caso da ustria foi criado o conceito de cart o de cidad o que permite ao cidad o aceder a determinados servi os da Administra o P blica de forma eletr nica e segura Este caso tem a particularidade de permitir ao cidad o o uso de qualquer cart o que seja emitido por uma entidade que cumpra com os requisitos definidos para este projeto Na Europa esta a situa o onde existe uma maior diversidade de cart es que servem para os mesmos fins O conceito de cart o definido pelo governo Austr aco permite que este documento digital sirva para assina tura e identifica o eletr nica O acesso ao certificado digital de autentica o encontra se protegido por um PIN e caso o portador do cart o falhe o c digo PIN tr s vezes este fica au tomaticamente bloqueado sendo o desbloqueio efetuado atra
103. para aceitar o certificado do Cart o de Cidad o Os servidores est o normalmente configurados para pedir e aceitar certificados clientes que sejam emitidos pelo seu LDAP Lightweight Directory Access Protocol O manual t cnico do Cart o de Cidad o indica que se deva configurar o servidor de modo a aceitar igualmente certificados emitidos pela entidade certificadora emissora dos certificados presentes no Cart o de Cidad o mas atrav s do c digo anterior qualquer tipo de certificado de cliente instalado na loja de certificados pode ser escolhido pelo utilizador 3 1 2 5 Valida o aplicacional do certificado De forma a garantir que s s o aceites certificados presentes nos Cart es de Cidad o o c digo desenvolvido para autentica o deve validar um conjunto de par metros presentes no certifi cado de forma a garantir a origem do certificado Para efetuar esta valida o necess rio efetuar todas as verifica es abordadas na sec o 3 1 1 e ainda garantir que apenas os certi ficados do Cart o de Cidad o podem autenticar se neste servi o tendo que se recorrer a uma fun o de filtragem constru da a n vel aplicacional ver Anexo A 2 1 atrav s da an lise dos par metros que constituem o Nome Distinto do certificado DN 3 1 2 6 Valida o de validade do certificado A ltima valida o efetuada pela entidade emissora do certificado de modo a garantir que o certificado n o foi revogado Para isso a aplica o
104. penas os certificados inferiores nesta cadeia ser o afetados Na pr tica esta situa o faria com que apenas os cidad os que tivessem este certificado na cadeia de certifica o fossem obrigados a fazer um novo cart o e n o toda a popula o que possua o Cart o de Cidad o Outro aspeto importante a considerar na certifica o existirem processos de verifica o e valida o de identidade estritamente necess rio que em todo este sistema de certifica o a Entidade Certificadora possua mecanismos que provem a veracidade autenticidade e validade dos certificados apresentados a esta isto para que uma terceira entidade que queira verificar 18 Mecanismos de autentica o em servi os baseados em Cloud autenticar e validar digitalmente uma entidade possuidora de certificados possa enviar um pedido para a CA desse mesmo certificado e esta lhe possa responder afirmativa ou negativa mente consoante o estado do certificado do cidad o Os mecanismos de valida o de certificados mais conhecidos e suportados pela SCEE s o os m todos OCSP Online Certificate State Protocol MAM 99 e CRL Certificate Revocation List CSF 08 O primeiro mecanismo aparece em substitui o do segundo e na corre o de alguns problemas comuns s CRLs As CRLs s o ficheiros atualizados e mantidos pela CA numa m dia global de vinte e quatro em vinte e quatro horas fornecido um caminho para que qualquer entidade que queira comprov
105. provedor OpenID Log on Register OpenID Provider MVC Application Create a New Account Use the form below to create a new account Account Information Email 1 agree with the sharing of public content irom my authentication certificate with OpenlDProvider service under the PRICE project Register Figura 4 8 Registo do utilizador na base de dados do provedor OpenID Ao concluir o processo de autentica o e registo focamos agora o comportamento do utilizador na aplica o que ir delegar o acesso ao provedor OpenID Figura 4 9 Imaginemos esta situa o como um utilizador que abre uma aplica o Web e pretende autenticar se atrav s do seu identificador OpenID este procedimento que estamos prestes a completar DotNetOpenAuth ASP NET MVC Login sample OpeniD Relying Party DotNetopenath Provided by DotNetOpenAuth About OpenID Visit the Members Only area to trigger a login Outercurve Foundation Copyright 2011 Figura 4 9 Janela principal da aplica o que delega a autentica o Ao entrar na rea restrita onde apenas membros autenticados pela aplica o poder o ver os conte dos desta sec o o utilizador depara se com uma caixa para introdu o do seu iden tificador OpenID Figura 4 10 A estrutura base deste identificador dever seguir o seguinte formato endere o do provedor de autentica o que gerou este identificador seguido do nome de utilizador guardado no pro
106. r es Protocolo de autoriza o que permite a uma terceira entidade aceder a recursos protegidos num servidor privado com a devida autoriza o do propriet rio desses recursos e sem troca de dados de autentica o Protocolo que permite obter o estado de um determinado certificado Protocolo de autentica o que permite a um utilizador usar as mesmas credenciais para aceder a diferentes servi os e aplica es tantos quantos os que implementem a delega o de autentica o imposta por este mecanismo Uma Public Key Infrastructure designa se por todo o conjunto de hardware software pessoas pol ticas e procedimentos necess rio para a cria o gest o distribui o utiliza o armazenamento e revoga o de certificados digitais A principal fun o da Registration Authority estabelecer a liga o entre o utilizador e a CA no processo de cria o de um certificado A Validation Authority em caso de exist ncia numa estrutura PKI fornece informa o acerca na valida o em vez da CA 73 74 Mecanismos de autentica o em servi os baseados em Cloud
107. r a lutar pelos meus objetivos Agrade o te todos os dias que escolheste ficar ao meu lado enquanto trabalhava por todos os momentos de divers o alegria e carinho proporcionados as palavras certas na altura certa por todo o amor que sentes por mim Espero algum dia conseguir retribuir na mesma propor o tudo aquilo que fizeste e fazes por mim s sem d vida alguma a melhor namorada do mundo a melhor amiga a melhor confidente Obrigado por tudo isso e muito mais Agrade o profundamente ao meu orientador Professor Doutor Paul Andrew Crocker pela sua enorme dedica o for a de vontade e energia contagiante A oportunidade que me foi dada de integrar o projeto PRICE e o seu papel como orientador foram fatores decisivos para eu conside rar este como o meu melhor ano acad mico As suas explica es observa es o seu precioso tempo perdido comigo foram determinantes para o meu sucesso neste projeto Obrigado pe las agrad veis conversas proporcionadas ao longo do ano e pela sua constante alegria e otimismo Igualmente agrade o ao meu co orientador Professor Doutor Sim o Melo de Sousa por todos os minutos dispendidos para me aconselhar todo o esfor o e sentido cr tico sempre presente O que mais me contagia a sua energia e dedica o aos projetos da sua vida Quero realmente agradecer por todo o apoio indispens vel ao longo dos varios meses de trabalho Ao Ricardo Azevedo da PT Inova o o meu muito obrigado por todo o intere
108. r realizada de duas formas seja por EMV CAP Europay Mas tercard and Visa Chip Authentication Program ou atrav s do par de chaves assim tricas de autentica o Com o primeiro m todo o utilizar consegue gerar uma OTP One time Password inserindo o cart o num leitor pessoal e introduzindo o PIN de autentica o A OTP obtida pode ser enviada a uma entidade que a consiga verificar e assim autenticar o titular Usando o segundo m todo cada vez que o titular pretenda usar a sua chave privada do par de cha ves assim tricas de autentica o o PIN tem que ser enviado para o smartcard O smartcard possui um certificado X 509 com a chave p blica de autentica o que pode ser comunicado posteriormente verificado e a chave privada de autentica o validada 2 3 2 4 Middleware O middleware desenvolvido pelo estado portugu s permite a intera o entre o sistema operativo do smartcard do CC e o sistema operativo do computador do cliente e integra tr s interfaces diferentes visto que o principal objetivo de desenvolvimento do middleware o funcionamento multi sistema operativo S o elas e Crypto API CSP s PKCS 11 e elD lib biblioteca de desenvolvimento A primeira apenas se encontra dispon vel para sistemas Windows pois a comunica o do CSP propriet ria do middleware com as aplica es mediada pela Crypto API enquanto que as outras duas interfaces se encontram dispon veis para Windows Linux e Mac OS X As duas pr
109. r se autenticar no in cio do processo ou apenas quando a Relying Party delega este processo ao servidor Vamos considerar que um utilizador utiliza o primeiro cen rio Neste caso O primeiro passo consiste na realiza o do processo de autentica o do utilizador no pro vedor OpenID Para isso basta ao utilizador selecionar uma das op es existentes na caixa de autentica o Login ou Register existente na janela principal Figura 4 6 OpenID Provider MVC Application Welcome to ASP NET MVC To learn more about ASP NET MVC visit http asp net mve Figura 4 6 Janela inicial do provedor OpenID 49 Mecanismos de autentica o em servi os baseados em Cloud Se estivermos perante a primeira utiliza o da aplica o mesmo que o utilizador clique em Lo gin ser redirecionado para a p gina de registo onde o primeiro procedimento da aplica o ser executar o pedido de certificado do cliente Figura 4 7 e assim que o processo de valida o do certificado esteja conclu do ligar o nome associado ao certificado apresentado juntamente com um email para encerrar o processo de registo do utilizador Figura 4 8 Log On Register OpenID Provider MVC Application Welcome to ASP NET MVC Smart Card To learn more about ASP NET MVC visit htto asp net mvc Please enter your authentication PIN PIN tm Clic here for more information Figura 4 7 Autentica o do utilizador perante o
110. rande escala a muitos servi os de e Bussiness de real ar que existam ainda muitos poucos casos da utiliza o desta arquitetura em sistemas de gest o principalmente em sistemas de gest o de infraestrutura Cloud Neste sentido Hyuck Han et al cria um sistema capaz de fazer esta gest o de infraestruturas Cloud com base na arquitetura REST chamando lhe CMS RESTful Cloud Management System Neste artigo demonstrado como os elementos geridos se podem tornar recursos REST e como opera es existentes em sistemas podem ser avaliadas usando os quatro m todos REST ou com bina es entre eles Para al m disto ainda descrito como componentes de sistemas de gest o 22 Mecanismos de autentica o em servi os baseados em Cloud existentes podem ser lidos como servi os Web em formato REST Um estudo elaborado por Giuseppina Cretella et al CDM12 demonstra todas as t cnicas de anota o existentes para descri o sem ntica de APIs expostas como servi os Web atrav s de protocolos baseados em REST No cen rio da Cloud os requisitos funcionais como os pedidos ao n vel dos servi os s o particularmente importantes para a carateriza o de servi os Cloud A t cnica apresentada neste artigo inclui a descri o sem ntica de tais requisitos para a classi fica o de servi os Cloud Em VVE10 Toby Velte et al analisam toda a infraestrutura Cloud bem como todos os seus componentes incluindo a arquitetura REST e o formato d
111. rav s do uso da aplica o Web gerir da forma que bem entender o acesso que este det m sobre os recursos Desta forma foi necess ria a implementa o de um segundo m dulo na API que consiste no tratamento uni forme dos pedidos feitos aos diferentes fornecedores Existem tamb m neste m dulo diversas diferen as entre fornecedores enumeradas de seguida Dropbox Implementa tr s tipos diferentes de respostas JSON uma para caraterizar os detalhes de conta de utilizador outra para informa o acerca de ficheiros e por ltimo 33 Mecanismos de autentica o em servi os baseados em Cloud uma para diretorias A diferen a entre os objetos File e Folder o atributo contents que est presente apenas no objeto Folder e representa a listagem de conte dos de uma diretoria Anexo A 3 4 A especifica o de acesso a conte dos do utilizador feita atrav s da nota o de caminho sendo nica para cada conte do e MEO Cloud Os formatos JSON atualmente utilizados por este fornecedor s o id nticos aos usados pela Dropbox bem como os objetos considerados um tipo para ficheiros e outro para diretorias e Skydrive Implementa a vers o 2 0 do OAuth e faz uso de todas as altera es associadas vers o deste protocolo como a implementa o do conceito de Token de refrescamento e escopos Quando o protocolo se inicia necess rio especificar quais os escopos a serem utilizados nesta aplica o consideramos ser apenas n
112. riedade desta disserta o no caso dos fornecedores isso j n o acontece e existe uma maneira simples de conseguir obter tempos de execu o entre o come o do processo de autentica o e o acesso aos dados O Fiddler facilita esta tarefa como analisador de tr fego Web permitindo a verifica o de todos os par metros relativos aos pedidos efetuados s diferentes aplica es e servi os Web incluindo a hora exata a que foram feitos esses pedidos neste par metro que se conseguem obter os tempos de execu o para este terceiro teste 52 Mecanismos de autentica o em servi os baseados em Cloud O terceiro teste relativamente simples pedido ao utilizador que aceda ao Website de cada um dos fornecedores considerados e complete o processo de autentica o em cada um deles at que lhes seja mostrada a p gina com os seus recursos O Fiddler capta todo o tr fego gerado e bastou efetuar a an lise dos pedidos feitos aos fornecedores para se conseguir obter valores temporais fidedignos Assim podemos indicar que a m dia do tempo de execu o entre o ato de login at ao acesso aos recursos de 19 24 segundos A linha amarela tra ada no gr fico da Figura 4 13 a representa o visual do terceiro teste efetuado TTT Tp ooo SS SB eB Ee ee 1 2 3 4 5 6 Sousas 20 21 22 23 24 25 5 00 E Processo de Autentica o Processo de Autoriza o Figura 4 13 Gr fico que demonstra a rela o dos tempos de execu o d
113. ring Format fileops move root 0 amp from_path 1 amp to_path 2 root UpperCaseUrlEncode old name UpperCaseUrlEncode new_name var json GetRequest uri return ParseJson lt Simploud Api Models File gt json public Simploud Api Models File Move string fromPath string toPath L if fromPath amp amp fromPath 0 fromPath fromPath Remove 0 1 if toPath amp amp toPath 0 toPath toPath Remove 0 1 Uri uri new Uri new Uri DropboxBaseUri String Format fileops move root 0 amp from_path 1 amp to_path 2 _root UpperCaseUrlEncode fromPath UpperCaseUrlEncode toPath var json GetRequest uri return ParseJson lt Simploud Api Models File gt json public Simploud Api Models File Delete string path L if path amp amp path 0 path path Remove 0 1 Uri uri new Uri new Uri DropboxBaseUri String Format fileops delete root 0 amp path 1 _root UpperCaseUrlEncode path var json GetRequest uri return ParseJson lt Simploud Api Models File gt json public byte DownloadFile string path L if path amp amp path 0 path path Remove 0 1 Uri uri new Uri new Uri DropboxApiContentServer String Format files root 0 amp path 1 root UpperCaseUrlEncode path var oauth new OAuth OAuthDropbox _consumerKey _consumerSecret null var requestUri oauth SignReq
114. ro mostrado se o certificado de autentica o do Cart o de Cidad o estiver revogado suspenso ou expirado Em ambos os casos o acesso fase de autoriza o interdito A conclus o bem sucedida do processo de autentica o resulta na janela exemplo mostrada na Figura 4 2 onde mostrado o nome completo do titular do cart o e em baixo uma listagem com os diferentes fornecedores de armazenamento considerados para este trabalho A fun o 45 Mecanismos de autentica o em servi os baseados em Cloud Simploud Select a Certificate Chave de Autentica o T Issuer EC de Autentica o do Cart 71 valid From 18 05 2012 to 17 05 2016 k here to vi i rope cs client cert tentativa L000 Issuer EC Tese 2 Valid From 29 01 2013 to 29 01 2014 cliente outraCA Issuer outraCA 2 Valid From 29 01 2013 to 28 01 2014 Simploud Simploud Wrong certificate Certificate is invalid or revoked Please select your citizen card certificate Please insert a valid card Gel Started Figura 4 1 Em cima janela de autentica o do utilizador na aplica o Simploud Na parte inferior erros de autentica o obtidos desta janela permitir que o utilizador escolha o fornecedor ao qual pretende ter acesso Ao clicar em qualquer um dos cones em representa o do seu pr prio fornecedor de armaze namento o utilizador inicia imediatamente o processo de autoriza o OAuth Como sabemos pelo funcionamento dest
115. rtificado 3 1 1 1 Cria o da cadeia de certificados de servidor Para a cria o da cadeia de certificados de servidor foi utilizado o software XCA X Certifi cate and key management que permite a cria o e gest o de certificados X 509 pedidos de certificados chaves privadas RSA DSA e curvas el pticas Smartcards e CRLs Tudo o que for necess rio para uma Autoridade Certificadora implementado neste programa Todas as CAs podem assinar CAs de camadas inferiores recursivamente possibilitando a cria o de cadeias de valida o de certificados O uso deste software foi importante exatamente para esse processo a cria o do certificado de servidor utilizado bem como da cadeia de certificados que valida o pr prio A cadeia constru da para a valida o de certificados segue a estrutura da Figura 3 1 onde foram criados tr s certificados por esta entidade o certificado da CA o certificado assinado por esta e utilizado como certificado de servidor para a aplica o Simploud e ainda o certificado de servidor igualmente assinado por esta CA para o servidor OpenID A implementa o desta estrutura de certifica o permite que a entidade emissora criada con siga gerir todos os certificados assinados por ela Desta forma para al m de podermos ter um n mero de certificados ilimitados e totalmente controlados por esta entidade podemos ter v rios servidores a correr as aplica es de forma distribu da Sempre que um certifica
116. rtificado do Cart o de Cidad o apresentado foi implementado o c digo apresentado no Anexo A 1 1 bem como a fun o para filtragem dos certificados Anexo A 2 1 Em rela o entidade que delega o processo de autentica o foi necess rio alterar os pedidos de delega o de acesso para permitir que se mantenha a sess o SSL Para guardar os dados de autentica o para futuras utiliza es foi criada uma simples base de dados que segue o modelo da Figura 3 8 Esta base de dados composta apenas por uma nica tabela que tem como fun o guardar os dados relativos ao processo de registo Os atributos que a comp em s o Username IssuerName SerialNumber e Email Nesta tabela apenas se considerou atribuir a chave prim ria ao atributo Username pois este que utilizado em todas as delega es de autentica o feitas podendo se classificar ent o como identificador nico e que diferencia uns pedidos dos outros A Figura 3 7 representa toda a arquitetura deste sistema Esta encontra se dividida em tr s entidades principais o Cart o de Cidad o como Token de autentica o a entidade que delega o processo de autentica o e o provedor OpenID que gere a autentica o do utilizador O primeiro passo consiste na tentativa do utilizador se autenticar perante uma entidade 1 onde este ir fornecer o seu identificador OpenID Assim que esta entidade recebe este identificador tenta procurar o provedor OpenID e assim que o encontra del
117. rvidor e assim se estabele a uma liga o de confian a m tua entre ambas as partes Na sec o anterior falou se de certificados de servidor onde o cliente procura autenticar a identidade do servidor Mas desde sempre as aplica es e servi os Web precisaram de m todos de autentica o dos seus utilizadores Um dos mecanismos que mais benef cios traz aos sistemas desenvolvidos pela internet fora baseia se em certificados de cliente Este processo consiste ao contr rio dos certificados de servidor na necessidade do servidor autenticar a identidade do cliente Este processo traz enormes vantagens e exemplos disso s o e atrav s de sess o SSL fazer autentica o em aplica es e servi os Web e permitir autentica o multi fator uma aplica o Web poderia pedir informa o que ape nas o utilizador conhece por exemplo palavra passe e o que possui como o certificado Atualmente poss vel criar nestes servi os uma instru o de obriga o para que quem acede a eles necessite apresentar um certificado digital algo que apenas este indiv duo possui Se guindo este racioc nio foi implementada esta fun o na aplica o desenvolvida para que apenas utilizadores titulares de cart es Smartcard se possam autenticar e utilizar esta aplica o Para implementar a autentica o forte atrav s do certificado de autentica o do Cart o de Cidad o foi necess rio proceder a algumas adapta es De modo a que o servidor e
118. s e para isso todas as comunica es decorrem sobre o protocolo SSL onde imposs vel para um atacante obter a chave privada do certificado do servidor estando assim impossibilitado de decifrar os dados que v o passando pelo canal De igual forma pressup em se que os canais de comunica o entre a aplica o e a base de dados sejam seguros e que apenas os utilizadores fidedignos da aplica o que j provaram a sua identidade possam aceder a esta tanto para efeito de leitura como de escrita Em rela o ao CC pressuposto que um atacante n o consegue alterar informa o sens vel guardada no chip do mesmo como por exemplo o par de chaves que suportam o certificado de autentica o igualmente pressuposto que durante o processo de autentica o seja estabelecida uma rela o de confian a entre a CA emissora do certificado do CC e a aplica o O sistema pressup em ainda que n o existam qualquer tipo de falhas no mecanismo do protocolo OAuth para obten o de autoriza o de acesso a recursos protegidos 3 2 2 2 Esquematiza o da Attack Tree para esta arquitetura As Attack Trees est o relacionadas com o formalismo de Fault Trees usado inicialmente pela NASA National Aeronautics and Space Administration em VDF 02 e representa um conjunto de falhas relacionadas atrav s de express es booleanas e que acontecendo em sucess o pode riam provocar falhas graves determinadas na raiz dessa rvore Esta metodologia fo
119. s representam duas disciplinas nas quais as mudan as e consequentes evolu es s o constantes Deste modo a Cloud representa um dos principais avan os ao n vel da computa o recentemente Juntando a este novo paradigma o crescimento exponencial da Web onde todos os dias se assiste ao aparecimento de novas aplica es e novos servi os inevit vel que se garanta a identidade de um utilizador bem como a autenticidade do mesmo nos diferentes servi os a que est subscrito Com a expans o de aplica es e servi os dispon veis aos utilizadores surge um novo problema que necessita de r pida interven o A propaga o de identidades digitais um problema exis tente na atual conjuntura e que requere toda a aten o da comunidade cient fica Atualmente cada utilizador possui diversos servi os Web ativos cada qual com a sua identidade digital normalmente desdobrada no conjunto nome de utilizador e palavra passe levando a um aumento das mesmas identidades com o decorrer do tempo o que se torna claramente num problema de seguran a O igual avan o nos ltimos anos do tema Cloud tem alastrado este problema e imperativo que a seguran a dos dados dos utilizadores se mantenha intata apesar do aumento exponencial das suas identidades digitais Para ir ao encontro desta necessidade surgem os sistemas de gest o de identidades Estes sistemas t m como principais caracter sticas gerir identidades individuais a sua autentica
120. sistemas de TI Normalmente este processo suportado por software e a qualquer momento um utilizador pode alterar a palavra passe afetando sempre todos os servi os associados a este software Contudo este processo considerado menos seguro que o Single Sign on pois a descoberta da palavra passe torna todos os servi os associados vulner veis e inseguros e Controlo de acesso Os sistemas de Gest o de Palavra passe s o aplica es que ajudam o utilizador a organizar as suas pr prias palavras passe e c digos PIN Por norma estas aplica es recorrem a uma base de dados local ou a ficheiros que guardam os dados cifrados cor respondentes a todas as palavras passe do utilizador seja para aplica es e servi os Web seja para autentica o em outros computadores a verdade que este tipo de dados s o comumente utilizados no dia a dia do utilizador e a memoriza o destes sem o apoio deste tipo de sistema seria praticamente impens vel nomeadamente para pessoas que possuam diversas palavras passe O Single Sign on SSO uma propriedade do controlo de acesso que relaciona m lti plos sistemas de software que s o independentes entre si Esta propriedade permite que um utilizador se possa autenticar e automaticamente ganhe acesso a todos os servi os relacionados com o sistema principal sem que para isso necessite fazer autentica o entre cada um deles Apesar deste sistema trazer os benef cios b vios ao tema do contro
121. sse demonstrado e apoio incondicional que me foi dado ao longo do desenvolvimento da disserta o Agrade o todas as opini es sugest es e reuni es onde as discuss es foram extremamente ben ficas para o projeto N o poderia deixar de agradecer ao meu amigo colega de Mestrado e tamb m colega no projeto PRICE Jo o Silveira pelo esp rito de entreajuda discuss es todas as noites mal dormidas de trabalho rduo pelos momentos de des nimo em que me apoiou e obrigou a continuar a minha caminhada e acima de tudo por todos os momentos de alegria distra o e boa disposi o proporcionados Obrigado por tudo isso amigo iii Mecanismos de autentica o em servi os baseados em Cloud N o poderia faltar o meu enorme agradecimento a todos os meus amigos pelos mais variados momentos de descontra o proporcionados por todo o apoio nesta caminhada pelo sorriso ou abra o quando ele mais falta fazia pela sincera amizade que mantemos e espero vir a manter para o resto da minha vida Sem voc s a minha vida seria diferente sem cor com menos alegria e menos viv ncias gra as a voc s tamb m que termino mais esta fase da minha vida O meu muito obrigado Jo o Manuel Casteleiro Ruben Santo Samuel Dias Leopoldo Ismael Pedro Querido Daniel Piedade Gon alo F lix Jo o Alberto Casteleiro Jo o Oliveira Jos Varej o Luis Ferreira Miguel Casteleiro Miguel Machado Pedro Proen a Rom o Vieira Rui Santos Ana Santos Catar
122. sta arquitetura Ao analisar o gr fico em concreto podemos observar que o processo de autentica o indicado pelas barras a azul mais claro n o corresponde nem a metade do tempo de execu o global referente ao processo que se inicia com a autentica o e conclu do com o acesso aos dados protegidos Na verdade e embora o utilizador dezasseis tenha obtido o pior tempo de au tentica o do total da amostra 15 08 segundos a m dia relativa a este processo indica um valor de 10 74 segundos o que pode ser considerado como um ter o do tempo de execu o da aplica o at obten o dos recursos privados sabendo que a m dia do tempo de execu o do processo de autoriza o de 19 46 segundos e a m dia do tempo gasto nestes dois processos igual a 30 20 segundos O que se pretende justificar numa primeira fase com esta estat stica considerando a principal inova o deste sistema em rela o a outros existentes a introdu o da autentica o via cart es de identifica o eletr nica este processo apenas requere um ter o de todo o tempo de execu o o que prova que a introdu o deste token como mecanismo de autentica o n o assim t o descabida e desproporcionada realidade O refor o desta an lise pode ser feito atrav s dos dados obtidos no segundo par metro dos testes efetuados A principal diferen a deste teste para o primeiro reside no facto de n o ser necess rio iniciar de novo o protocolo de
123. sta aplica o para que atrav s de um simples clique em qualquer um deles o utilizador possa alterar o fornecedor ao qual est a aceder Como referido anteriormente o clique em qualquer um dos recursos visualizados permite que seja mostrada uma janela de popup que cont m as restantes opera es suportadas pela apli ca o Figura 4 4 Como deve ser bvio a popup diferente consoante o tipo de conte do Desta forma temos e Popup para diretorias cont m as fun es de partilha renomear mover e remover embora as fun es de partilha ainda n o se encontrem implementados na API desenvolvida e Popup para ficheiros cont m as fun es de transfer ncia poss vel transferir um ficheiro em texto limpo ou recorrendo a decifra atrav s dos algoritmos IBE partilha renomear 47 Mecanismos de autentica o em servi os baseados em Cloud Simploud Account Info Navigation List Menu Resources list Cloud Providers Menu Figura 4 3 Janela que permite a visualiza o sobre os recursos protegidos ap s autoriza o completada mover e remover Tamb m neste caso e pelas mesmas raz es a fun o de partilha n o suportada Download File Share Folder Download and Decrypt File Rename Folder Public Link Move Folder Rename File Delete Folder Delete File Cancel Cancel Figura 4 4 Popups que cont m as fun es de gest o de pastas esquerda e de ficheiros direita A Figura
124. t Data de Nascimento nacionalidade SST ADO LS ERT JMENTO DOCUMENT A TA DE WALI N mero de CEER Identifica o civil 00000000 A 18 05 2016 4 Data de Validade SSN Assinatura N mero digitalizada do cart o Verso CART O DE CIDAD O CITIZEN CARD Filia o rt 9 Numero de 3 Seguran a social 8 E Numero de H 00000000 ETA 00000000 N mero de Identifica o fiscal ee Es O Esse cade Banda de leitura tica I lt PRT 00000000 lt ZY05 lt lt lt lt lt lt lt lt lt lt lt 9003185M1605181PRT lt lt lt lt lt lt lt lt lt lt lt 8 lt lt lt lt lt lt lt lt lt lt Figura 2 4 Identifica o dos dados vis veis no Cart o de Cidad o O cart o foi lan ado como parte de um plano de desenvolvimento tecnol gico com os objetivos de juntar num s documento os documentos necess rios em v rios servi os p blicos e promover a identifica o eletr nica atrav s do mecanismo de autentica o forte e da assinatura digital e a intera o com diferentes servi os p blicos e privados As principais funcionalidades pensadas para este smartcard aquando do seu lan amento s o e Guardar informa o privada que o titular pode utilizar mas n o conhecer nem partilhar Dentro deste campo podemos identificar tr s diferentes chaves criptogr ficas Chave sim trica de autentica o do titular Chave privada de um par de chaves assim tricas RSA para autentica o do titu
125. ta o deve ser as infraestruturas na Nuvem n o s porque existe uma evolu o clara neste sentido como cada vez mais os utilizadores adotam estas solu es para guardar os dados Desta forma a implementa o do sistema Simploud foca se nos fornecedores de armazenamento na Nuvem mais conhecidos e utilizados para guardar recursos como o caso da Dropbox MEO Cloud e Skydrive casos de estudo desta disserta o Para estes fornecedores essencial para al m das condi es e capacidades de armazenamento oferecidas aos utilizadores que existam fortes pol ticas de seguran a e privacidade pois con v m dizer que n o f cil para todos os utilizadores confiar os seus dados privados a estas entidades Mais dif cil ainda ser convencer outras empresas com dados privados que podem comprometer o seu pr prio neg cio a guardar os seus dados na Nuvem Neste sentido o Sim ploud agrega numa primeira fase todos os tr s fornecedores anteriormente falados e aproveita a implementa o do protocolo OAuth por parte destes servi os para criar um novo m todo de autentica o que alia ao OAuth a autentica o forte disponibilizada pelo Cart o de Cidad o 31 Mecanismos de autentica o em servi os baseados em Cloud 3 2 1 API uniforme para intera o com os diferentes fornecedores de armaze namento Ao criar uma aplica o que tem como fun o principal agregar num nico ponto de acesso diferentes fornecedores de armazenamento na
126. ta do propriet rio dos recursos dever vir sob a forma de token indicando que foi autorizado o acesso por parte do propriet rio dos recursos ao consumidor De seguida o consumidor envia um novo pedido onde inclui o token obtido para ser autorizado agora pelo servidor onde est o alojados os dados confidenciais do propriet rio dos recursos Caso o propriet rio permita a partilha de dados com esta terceira entidade enviado um novo token definitivo e at este ser revogado ou eliminado pelo propriet rio dos recursos ou servidor o consumidor ter acesso aos dados protegidos com o consentimento pr vio dado pelo propriet rio ainda importante referir que a cada consumidor associado a uma chave nica por parte da entidade que protege os recursos e que todos os tokens gerados durante o processo de autoriza o do mecanismo OAuth s o gerados com base nesta chave O que isto quer dizer que a esta chave ficar o associados todos os tokens gerados por ele e sem ele nenhum deles funcionar Na pr tica um atacante que consiga ter acesso ao access token n o conseguir nada mais que isso pois precisa da chave atribu da ao consumidor para poder assinar os pedidos feitos ao fornecedor da chave Para al m da vers o 1 0 existem hoje mais duas vers es do protocolo et 09a e Ed 12 A vers o 1 0a do protocolo OAuth veio resolver um problema especificado em et 09b que se centrava num potencial ataque de fixa o de sess o
127. tentes o que consiste numa m pr tica de seguran a Neste sentido surgiram em 2001 os primeiros grandes esfor os para corrigir esta problem tica com o aparecimento de sistemas de gest o de identidades e standards abertos comunidade de autentica o e autoriza o Os sistemas de gest o de identidades tal como o nome indica t m como principal objetivo gerir a identidade digital de um utilizador individual a sua autentica o autoriza o pap is e privil gios em qualquer servi o ou aplica o Web com o intuito de melhorar a seguran a produtividade ou at mesmo tarefas repetitivas A evolu o dos sistemas de gest o de identidades digitais acompanha o crescimento da internet pois s desta forma poss vel que um utilizador navegue com certos padr es de seguran a As principais solu es destes sistemas podem se dividir em quatro grandes grupos Mecanismos de autentica o em servi os baseados em Cloud e Gest o de identidades Active Directory foi criada pela Microsoft para gerir a autentica o e autoriza o de todos os utilizadores e computadores num dom nio de rede ou seja ao inv s do utilizador ter uma palavra passe para aceder ao sistema principal da empresa uma senha para ler os seus e mails uma senha para se autenticar num computador entre outras com a utiliza o do AD os utilizadores poder o ter apenas uma chave que lhe permita aceder a todos os recursos dispon veis na rede Para este
128. thorizeUri OAuthToken requestToken L string query_string null query string String Format oauth_token 0 requestToken Token if _callbackUrl null query string String Format 0 amp amp oauth_callback 1 query string _callbackUrl var authorizeUri String Format 0 1 2 new Uri DropboxAuthorizeBaseUri oauth lt authorize query_string return new Uri authorizeUri 7 public OAuthToken GetAccessToken OAuthToken requestToken string verification null L var uri new Uri new Uri DropboxBaseUri oauth access token uri SignRequest uri _consumerKey _consumerSecret null requestToken verification var request HttpWebRequest WebRequest Create uri request Method WebRequestMethods Http Get var response request GetResponse var reader new StreamReader response GetResponseStream var accessToken reader ReadToEnd var parts accessToken Split amp var token parts 1 Substring parts 1 IndexOf 1 var secret parts 0 Substring parts 0 IndexOf 1 return new OAuthToken token secret public Uri SignRequest Uri uri string consumerKey string consumerSecret OAuthToken token lt gt string httpMethod string callbackUrl null string verification null L var nonce _oAuthBase GenerateNonce var timestamp _oAuthBase GenerateTimeStamp string parameters string normalizedUrl string callback callbackUrl
129. to na Nuvem considerados a partir de um ponto nico de acesso A segunda arquitetura proposta aproveita as vantagens do mecanismo de autentica o OpenID Ser apresentada uma arquitetura que engloba o OpenID e o mecanismo de autentica o forte do CC O principal objetivo deste sistema dar ao utilizador a possibilidade de usar o seu Cart o de Eid CC para se autenticar em qualquer aplica o ou servi o Web que permita a delega o do processo de autentica o atrav s do protocolo OpenID No final foram criadas duas aplica es Web como prova de conceito deste sistema Palavras chave Nuvem Armazenamento Cart es Inteligentes Seguran a Confidencialidade Privacidade Au tentica o Autoriza o Certificado OAuth OpenID REST JSON vi Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Abstract This dissertation describes two different architectures for authentication and uniform access to protected data stored on Cloud Storage Service Providers The first architecture takes ad vantage of the OAuth authorization mechanism and the strong authentication mechanism of the National Electronic Identity Eid Cards in our case the Portuguese Eid card or Cart o de Cidad o CC It will be presented a comparison of authorization mechanisms and access to popular cloud storage providers comparing the different authorization mechanisms OAuth 1 0 O
130. tring GenerateNonce 7 A 3 2 Classe OAuthDropbox cs public class OAuthDropbox IOAuth private readonly OAuthBase _oAuthBase private const string DropboxApiVersion 1 private const string DropboxBaseUri https api dropbox com DropboxApiVersion private const string DropboxAuthorizeBaseUri https ww dropbox com DropboxApiVersion lt gt In private string _consumerKey _consumerSecret _callbackUrl public OAuthDropbox string consumerKey string consumerSecret string callbackUrl null _oAuthBase new OAuthBaseDropbox _consumerKey consumerKey _consumerSecret consumerSecret _callbackUrl callbackUrl public OAuthToken GetRequestToken var uri new Uri new Uri DropboxBaseUri oauth request token if _callbackUrl null 64 Mecanismos de autentica o em servi os baseados em Cloud _callbackUrl _oAuthBase UrlEncode _callbackUrl uri SignRequest uri _consumerKey _consumerSecret _callbackUrl var request HttpWebRequest WebRequest Create uri request Method WebRequestMethods Http Get var response request GetResponse var queryString new StreamReader response GetResponseStream ReadToEnd var parts queryString Split amp var token parts 1 Substring parts 1 IndexOf 1 var secret parts 0 Substring parts 0 IndexOf 1 return new OAuthToken token secret 7 public Uri GetAu
131. tro privado s e par metros p blicos P Q Ppub amp Q Ppub e a gera o de uma chave publica para cada identidade A gera o destes par metros pode ser efetuada com recurso s fun es presentes na biblioteca e byte GenerateMasterKey string curve e byte GeneratePparam string curve e byte GenerateQparam string curve e byte CalculatePpubparam string curve byte Pbyte byte masterKey e byte CalculatePairQPpub string curve byte Qbyte byte Ppubbyte Ap s o uso destas fun es a chave privada pode ser gerada mas deve ser apenas do conheci mento do PKG Todos os restantes par metros s o de conhecimento p blico e s o utilizados para a cifra e decifra de ficheiros As fun es disponibilizadas para cifra e decifra tem a seguinte assinatura e MemoryStream EncryptStream string identities string policy MemoryStream streamlIn string originalFileName string curve byte paramP byte paramQ byte parameQP pub 40 Mecanismos de autentica o em servi os baseados em Cloud e MemoryStream DecryptStream string identity byte privateKey MemoryStream strea min string curve byte paramPpub Como se pode verificar pela assinatura das fun es a fun o de cifra recebe como par metro uma lista de identidades aquelas com as quais o utilizador pretende cifrar o ficheiro sendo que no processo de decifra e esta uma das capacidades deste tipo de sistemas apenas os utilizadores
132. tulada de Simploud 3https github com joaojosegouveia SimploudAPI git http otixo com 5https drive jolicloud com welcome http deltacloud apache org 23 24 Mecanismos de autentica o em servi os baseados em Cloud Mecanismos de autentica o em servi os baseados em Cloud Cap tulo 3 Implementa o Neste cap tulo s o apresentados os dois sistemas implementados no mbito dos objetivos pro postos para esta disserta o Na primeira parte do cap tulo ser estudada e aprofundada a arquitetura e sistema implementados com o nome de Simploud para permitir a autentica o e autoriza o de utilizadores em fornecedores de armazenamento na Nuvem externos com o Cart o de Cidad o Portugu s Ser apresentada tamb m uma API que gere de forma comple tamente uniforme os pedidos e respostas obtidas por parte dos fornecedores externos abordados O objetivo da segunda implementa o criar um servi o que permita o suporte da autentica o via Cart o de Cidad o em qualquer servi o que permita delega o de autentica o Para isso foi criado um sistema que engloba duas aplica es uma com um fornecedor OpenID e outra com uma Entidade que delega a autentica o ao primeiro 3 1 Autentica o com CC via sess o SSL Em ambas as implementa es o Cart o de Cidad o funciona como m todo de autentica o fazendo uso do seu certificado para esse efeito Ambas as solu es criadas s o desenvolvidas
133. u Dropbox Este aplicativo poder ler e modificar tudo Simploud Welcome Jo o Jos Teles Gouveia Figura 4 2 Janela para escolha do fornecedor de armazenamento pretendido O primeiro icone permite que se volte sempre a diretoria raiz do fornecedor O segundo icone permite que se efetue 0 envio de ficheiros para a pasta que esta atualmente em visualizacao De forma id ntica 0 terceiro icone trata o envio de ficheiros neste caso particular cifrados para a diretoria atualmente em visualiza o Finalmente o ltimo cone possibilita que se crie uma nova diretoria na pasta atual mente em visualiza o e A lista de recursos onde s o mostrados todos os conte dos ficheiros e diretorias que se encontram dentro da diretoria atualmente em visualiza o O acesso s fun es para edi o de ficheiros e diretorias feito atrav s de uma janela de popup que aparece assim que o utilizador clique em cima de qualquer ficheiro ou diretoria O duplo clique numa diretoria envia o utilizador para a janela de visualiza o do conte do desta Neste caso esta diretoria que foi clicada ser adicionada lista de navega o e A lista de navega o onde mostrado ao utilizador todo o caminho percorrido Para voltar a uma diretoria anterior basta que o utilizador clique em cima do nome da pasta em quest o e Finalmente apresentada novamente a listagem de todos os fornecedores de arma zenamento implementados ne
134. ud Computing Technology and Science CloudCom CLOUDCOM 13 2013 3 Helder Gomes Jo o Paulo Cunha and Andr Z quete Authentication architecture for ehealth professionals In Proceedings of the 2007 OTM confederated interna tional conference on On the move to meaningful internet systems CooplS DOA ODBASE GADA and IS Volume Part Il OTM 07 pages 1583 1600 Berlin Heidel berg 2007 Springer Verlag Available from http dl acm org citation cfm id 1784707 1784752 22 57 Int08 Lei12 LTHM12 M 13 MAM 99 0AS04 0AS05 0AS06 04510 Ope07 PTP10 RRO6 58 Mecanismos de autentica o em servi os baseados em Cloud International Civil Aviation Organization Document 9303 online 2008 3rd Edition Available from http www icao int Security mrtd Pages Document9303 aspx 13 Barry Leiba Oauth web authorization protocol IEEE Internet Computing 16 1 74 77 January 2012 Available from http dx doi org 10 1109 MIC 2012 11 8 E Lear H Tschofenig and H H Mauldin A Simple Authentication and Security Layer SASL and Generic Security Service Application Program Interface GSS API Mechanism for OpenID RFC 6616 Proposed Standard May 2012 Available from http www ietf org rfc rfc6616 txt 22 M McGloin P Hunt T Lodderstedt Oauth 2 0 threat model and security considera tions online 2013 Available from http tools ietf org html rfc6819 cited
135. ud Environ ments Este projeto envolve v rios trabalhos para al m da presente disserta o e tem como objetivo a cria o e disponibiliza o de solu es de autentica o privacidade confian a e integridade em plataformas Cloud para a poss vel utiliza o pela PT Inova o O projeto foi financiado por uma bolsa de investiga o fornecida pela PT Inova o atrav s do Instituto de Telecomunica es IT 1 3 Contribui o A contribui o deste projeto para as disciplinas de Inform tica e Ci ncias de Computadores not ria pois torna poss vel a utiliza o do cart o de cidad o como objeto de autentica o para qualquer servi o Web nomeadamente para os servi os de armazenamento na Cloud mais comuns como o caso da Dropbox Google Drive Cloudpt e Skydrive O que potencia esta utili za o global do cart o de cidad o como mecanismo de autentica o a cria o de um servidor OpenID propriet rio que regista e inicia sess o de utilizadores que possuam este cart o O sis tema desenvolvido aplica se a todos os servi os que aceitem a delega o de acesso a servidores 2 Mecanismos de autentica o em servi os baseados em Cloud OpenID Sabendo que todos os fornecedores de armazenamento Cloud anteriormente destacados utili zam o protocolo OAuth foi criada uma solu o intitulada Simploud que permite a autoriza o por parte de utilizadores que possuem o cart o de cidad o aceder aos seus recursos proteg
136. uest uri _consumerKey _consumerSecret null _accessToken var request HttpWebRequest WebRequest Create requestUri request Method WebRequestMethods Http Get var response request GetResponse var metadata response Headers x root metadata var file ParseJson lt Simploud Api Models File gt metadata using Stream responseStream response GetResponseStream using MemoryStream memoryStream new MemoryStream byte buffer new byte 1024 67 Mecanismos de autentica o em servi os baseados em Cloud int bytesRead do bytesRead responseStream Read buffer O buffer Length memoryStream Write buffer O bytesRead while bytesRead gt 0 return memoryStream ToArray public Simploud Api Models File UploadFile string path string filename MemoryStream data if path amp amp path 0 path path Remove 0 1 if path amp amp path path Length 1 path path Uri uri new Uri new Uri DropboxApiContentServer String Format files_put 0 1 2 _root UpperCaseUrlEncode path filename var oauth new OAuth OAuthDropbox _consumerKey _consumerSecret null var requestUri oauth SignRequest uri _consumerKey _consumerSecret _accessToken PUT var request HttpWebRequest WebRequest Create requestUri request Method WebRequestMethods Http Put request KeepAlive true byte buffer data T
137. urn Redirect uri ToString 11 3 A 2 Classe AuxiliarFunctions cs A 2 1 Fun o para verificar se o certificado apresentado pertence aos certifi cados do Cart o de Cidad o public static bool isCitizenCardCA X509Certificate2 cert if cert Issuer CN EC de Autentica o do Cart o de Cidad o 0001 OU subECEstado O Cartao de lt Cidad o C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0002 OU subECEstado O Cart o de gt Cidadao C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0003 OU subECEstado O Cart o de gt Cidadao C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0004 OU subECEstado O Cart o de gt Cidadao C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0005 OU subECEstado O Cart o de gt Cidad o C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0006 OU subECEstado O Cart o de gt Cidad o C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0007 OU subECEstado O Cart o de gt Cidad o C PT cert Issuer CN EC de Autentica o do Cart o de Cidad o 0008 OU subECEstado O Cartao de gt Cidad o C PT return true else return false 3 A 2 2 Fun o que executa o pedido API para obten o de Token de acesso public static OAuthToken requestAccessToken OAuthToken requestToken string verification string gt access token int cloud ID
138. v s da introdu o de um c digo PUK Como documento f sico substitui o passaporte nacional permitindo que qualquer cidad o deste pa s possa viajar entre a Uni o Europeia rea Econ mica Europeia e Su a Os pr ximos passos deste conceito focam a cria o de um sistema de integra o de cart es Eid estrangeiros no sistema nacional Na B lgica o cart o de identidade eletr nico existe desde 2004 e surge como principal objetivo de se tornar no nico instrumento para o acesso a eServices P blicos ou Privados O conceito do cart o belga introduz um cart o com as mesmas fun es que os cart es de identidade tradicio nais e consiste no principal instrumento de identifica o e autentica o para o acesso a servi os de eGovernment O cart o possui ainda suporte para assinatura digital e substitui o passaporte de viagem para os pa ses do espa o Shengen Este sistema tem ainda a vantagem de possuir um registo centralizado de popula o atualizado Uma das condicionantes deste sistema o facto da constitui o belga apenas permitir que seja atribu da uma identifica o aos cidad os com idade superior a doze anos Para contornar este problema surgiu em 2009 o cart o Kids ID que cont m apenas dados comuns como o nome idade e contacto do cidad o Este cart o possui um certificado de autentica o mas n o de assinatura j que este procedimento n o tem legalidade jur dica para menores de idade No que diz respeito
139. vedor Este identificador gera um pedido de delega o de auten tica o por parte da aplica o Web que se est a tentar aceder ao provedor OpenID 50 Mecanismos de autentica o em servi os baseados em Cloud hit lcalhost 4247 ur P BO ES DeineOpenhuh ase ner x DotNetOpenAuth ASP NET MVC Login sample paternal Of Stan cue You must log in before entering the Members Area DotNetOpenAuth OpenID alhost 444 0penlDProvideruseroaogouveia About OpenID Figura 4 10 Janela restrita a membros autenticados na aplica o que delega a autentica o Quando este recebe o pedido verifica inicialmente se o nome de utilizador existe e se este se encontra autenticado Caso n o esteja o utilizador ter de se autenticar seguindo o primeiro passo referido anteriormente Posto isto mostrado ao utilizador uma janela id ntica da Figura 4 11 onde o provedor pergunta ao utilizador se verdade que este se est a tentar autenticar na aplica o Web que delegou este processo Welcome Joaogouvela Log Off OpenID Provider MVC Application Logging in somewhere Ara you trying to log into http localhost OpenIDRelyingParty yes no Figura 4 11 Janela do provedor OpenID que permite autenticar o utilizador na aplica o que confia a autentica o Caso o utilizador confirme a tentativa de acesso na aplica o o provedor redireciona o utilizador de novo para

Download Pdf Manuals

image

Related Search

Related Contents

HL/B103-1 ブローガン取扱説明書  Manuals  Nouvelles d—ei`—ATC  InLine 76629I  Descripcin de los Productos  User Manual  Chamberlain 66 User's Manual  T。SHーBA - 東芝ライテック  Toshiba Portege S100 (S100  Home Decorators Collection 1314200400 Instructions / Assembly  

Copyright © All rights reserved.
Failed to retrieve file