{"id":5214,"date":"2016-05-29T17:17:51","date_gmt":"2016-05-29T20:17:51","guid":{"rendered":"http:\/\/marcogomes.com\/blog\/?p=5214"},"modified":"2016-06-22T22:06:50","modified_gmt":"2016-06-23T01:06:50","slug":"uma-proposta-para-eliminar-as-senhas-de-todos-os-servicos-online","status":"publish","type":"post","link":"https:\/\/marcogomes.com\/blog\/2016\/uma-proposta-para-eliminar-as-senhas-de-todos-os-servicos-online\/","title":{"rendered":"\ud83d\udd10 Uma proposta para eliminar as senhas de todos os servi\u00e7os online"},"content":{"rendered":"<p class=\"highlight\">Proposta te\u00f3rica para\u00a0elimina\u00e7\u00e3o da senha e uso do celular, aliado a um servi\u00e7o na nuvem, como alternativa para\u00a0identifica\u00e7\u00e3o de usu\u00e1rios em\u00a0servi\u00e7os online.<\/p>\n<p>A senha normalmente \u00e9 a parte mais fr\u00e1gil de um sistema de seguran\u00e7a. Por praticidade, pessoas\u00a0tendem a escolher <a href=\"http:\/\/gizmodo.com\/the-25-most-popular-passwords-of-2014-were-all-doomed-1680596951\" target=\"_blank\">senhas f\u00e1ceis de lembrar<\/a> e repeti-las em m\u00faltiplos sites, o que reduz drasticamente a seguran\u00e7a de qualquer\u00a0servi\u00e7o online.<\/p>\n<p><a href=\"http:\/\/marcogomes.com\/blog\/2016\/uma-proposta-para-eliminar-as-senhas-de-todos-os-servicos-online\/\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5219\" src=\"http:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud-security.jpg\" alt=\"Tecla com um cadeado sobre uma nuvem\" width=\"595\" height=\"335\" \/><\/a><\/p>\n<p><!--more--><\/p>\n<p>Por enquanto estou chamando este servi\u00e7o de <em>Cloud 2F Login<\/em>. \u00c9 um nome bobo e descritivo demais, mas serve para o prop\u00f3sito deste artigo. O <em>Cloud 2F Login<\/em> \u00e9 uma proposta de servi\u00e7o na nuvem, que usa o padr\u00e3o oAuth para autorizar o acesso \u00e0 sites e servi\u00e7os online.<\/p>\n<figure id=\"attachment_5216\" aria-describedby=\"caption-attachment-5216\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5216 size-medium\" src=\"http:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login-640x305.png\" alt=\"Diagrama mostrando o funcionamento do Cloud 2F Login em desktop\" width=\"640\" height=\"305\" srcset=\"https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login-640x305.png 640w, https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login.png 674w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-5216\" class=\"wp-caption-text\">Proposta de login usando servi\u00e7o na nuvem para autentica\u00e7\u00e3o<\/figcaption><\/figure>\n<p>Para exemplificar o processo de autentica\u00e7\u00e3o sem senha, vamos supor que Alice queira fazer login em\u00a0lojadecanetas.com:<\/p>\n<ol>\n<li>Alice abre lojadecanetas.com;<\/li>\n<li>Alice preenche seu ID pessoal em\u00a0lojadecanetas.com, este ID precisa ser \u00fanico, como um endere\u00e7o de e-mail, mas n\u00e3o precisa ser secreto;<\/li>\n<li>lojadecanetas.com pergunta para o <em>Cloud 2F Login<\/em>: &#8220;posso autorizar a entrada deste ID?&#8221; e aguarda a resposta;<\/li>\n<li><em>Cloud 2F Login<\/em> pergunta para Alice &#8220;\u00e9 voc\u00ea tentando entrar na lojadecanetas.com?&#8221; atrav\u00e9s de um canal de comunica\u00e7\u00e3o independente (notifica\u00e7\u00e3o push, SMS, liga\u00e7\u00e3o telef\u00f4nica, e-mail);<\/li>\n<li>Alice responde o <em>Cloud 2F Login<\/em>: sim, sou\u00a0eu;<\/li>\n<li><em>Cloud 2F Login<\/em> responde \u00e0 lojadecanetas.com &#8220;sim, pode autorizar a entrada deste ID&#8221;;<\/li>\n<li>lojadecanetas.com autoriza a entrada de\u00a0Alice.<\/li>\n<\/ol>\n<p><strong>Alice entrou em lojadecanetas.com sem precisar digitar um <em>password<\/em> e a\u00a0lojadecanetas.com n\u00e3o precisa se preocupar em armazenar com seguran\u00e7a\u00a0as senhas de cada\u00a0cliente.<\/strong><\/p>\n<p>O mesmo processo pode ser usado tamb\u00e9m em autentica\u00e7\u00e3o em dispositivos m\u00f3veis, conforme diagrama abaixo.<\/p>\n<figure id=\"attachment_5215\" aria-describedby=\"caption-attachment-5215\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5215 size-medium\" src=\"http:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login_mobile-640x291.png\" alt=\"Diagrama mostrando o funcionamento do Cloud 2F Login em mobile\" width=\"640\" height=\"291\" srcset=\"https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login_mobile-640x291.png 640w, https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/cloud_2f_login_mobile.png 664w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-5215\" class=\"wp-caption-text\">No login de mobile para mobile, o processo \u00e9 similar, com a autoriza\u00e7\u00e3o aparecendo em um segundo app. Como j\u00e1 faz hoje o Banco Original com seus dois apps independentes (banco e token).<\/figcaption><\/figure>\n<p>Algumas caracter\u00edsticas importantes da tecnologia que proponho:<\/p>\n<ul>\n<li>No ponto 4, o <em>Cloud 2F Login<\/em> precisa entrar em contato com\u00a0Alice para perguntar se \u00e9 ela mesma tentando acessar a lojadecanetas.com, por velocidade e praticidade, esta verifica\u00e7\u00e3o idealmente deve ser feita por notifica\u00e7\u00e3o push no celular, mas caso tal recurso n\u00e3o esteja dispon\u00edvel, a verifica\u00e7\u00e3o tamb\u00e9m\u00a0pode ser feita por SMS, liga\u00e7\u00e3o telef\u00f4nica, e-mail, painel de controle na\u00a0web ou qualquer outro meio dispon\u00edvel no momento da autentica\u00e7\u00e3o;<\/li>\n<li>O ID de Alice em <em>Cloud 2F Login<\/em> pode ser um username, endere\u00e7o de e-mail, n\u00famero de telefone, n\u00famero de usu\u00e1rio (como t\u00ednhamos no ICQ) ou qualquer outro identificador \u00fanico, mas n\u00e3o precisa ser secreto, j\u00e1 que a entrada s\u00f3 ser\u00e1 autorizada quando Alice confirmar sua identidade para o\u00a0<em>Cloud 2f Login<\/em>.<\/li>\n<li>O processo de comunica\u00e7\u00e3o\u00a0entre a lojadecanetas.com e o <em>Cloud 2F Login<\/em> \u00e9 feito com o protocolo de autoriza\u00e7\u00e3o\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/OAuth\" target=\"_blank\">oAuth<\/a>, uma tecnologia j\u00e1 bem estabelecida e com seguran\u00e7a robusta, usada por Facebook, Google e outros gigantes;<\/li>\n<li>Caso Alice n\u00e3o esteja em posse de seu celular, \u00e9 poss\u00edvel que o pedido de autentica\u00e7\u00e3o seja\u00a0apresentado em\u00a0um painel de controle na Web;<\/li>\n<li>Ainda h\u00e1 o risco de\u00a0comprometimento do dispositivo de autentica\u00e7\u00e3o (celular), comprometimento do servi\u00e7o <em>Cloud 2F Login<\/em> e outros riscos inerentes \u00e0 centraliza\u00e7\u00e3o de sistemas;\u00a0<strong>o objetivo desta proposta n\u00e3o \u00e9 eliminar todos os riscos de uma autentica\u00e7\u00e3o digital<\/strong>, apenas propor uma solu\u00e7\u00e3o melhor que a dupla usu\u00e1rio\/senha usada atualmente.<\/li>\n<\/ul>\n<p>Esta ainda \u00e9 uma proposta embrion\u00e1ria, que pode ser implementada por qualquer desenvolvedor ou time de desenvolvedores interessados em abra\u00e7ar a ideia. Tamb\u00e9m estou aberto a sugest\u00f5es, desafios e considera\u00e7\u00f5es, por favor colabore abaixo nos coment\u00e1rios!<\/p>\n<p><em>* a\u00a0solu\u00e7\u00e3o que proponho foi apresentada\u00a0de maneira muito parecida tamb\u00e9m pelo Google em <a href=\"http:\/\/techcrunch.com\/2015\/12\/22\/google-begins-testing-password-free-logins\/\" target=\"_blank\">22 de dezembro de 2015<\/a>. O diferencial que proponho \u00e9 o aplica\u00e7\u00e3o\u00a0de uma plataforma aberta, independente e possivelmente pulverizada. <strong>Teste agora\u00a0mesmo\u00a0o\u00a0<a href=\"http:\/\/googlediscovery.com\/2016\/06\/21\/google-agora-autoriza-o-acesso-sua-conta-partir-de-um-toque-no-celular\/\" target=\"_blank\">login sem senha do Google<\/a>.<\/strong><\/em><\/p>\n<p><em>[ATUALIZA\u00c7\u00c3O]<\/em> O <a href=\"https:\/\/cristiantm.wordpress.com\" target=\"_blank\">CristianTM<\/a>\u00a0comentou sobre a iniciativa a <a href=\"https:\/\/fidoalliance.org\/specifications\/overview\/\" target=\"_blank\">FIDO Alliance<\/a>, que tem uma proposta muito parecida para <a href=\"https:\/\/fidoalliance.org\/specifications\/overview\/\" target=\"_blank\">login sem password<\/a>, e j\u00e1 est\u00e1 bastante desenvolvida. Veja o diagrama abaixo.<\/p>\n<p><a href=\"https:\/\/fidoalliance.org\/specifications\/overview\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5245\" src=\"http:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/graphic_TheUserExperience.png\" alt=\"Diagrama mostrando a experi\u00eancia sem password da FIDO Alliance\" width=\"605\" height=\"813\" srcset=\"https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/graphic_TheUserExperience.png 605w, https:\/\/marcogomes.com\/blog\/wp-content\/uploads\/2016\/05\/graphic_TheUserExperience-476x640.png 476w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proposta te\u00f3rica para\u00a0elimina\u00e7\u00e3o da senha e uso do celular, aliado a um servi\u00e7o na nuvem, como alternativa para\u00a0identifica\u00e7\u00e3o de usu\u00e1rios<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,35,47],"tags":[676,677,678,73],"class_list":["post-5214","post","type-post","status-publish","format-standard","hentry","category-article","category-development","category-technology","tag-password","tag-senha","tag-technology","tag-tecnologia"],"_links":{"self":[{"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/posts\/5214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/comments?post=5214"}],"version-history":[{"count":31,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/posts\/5214\/revisions"}],"predecessor-version":[{"id":5267,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/posts\/5214\/revisions\/5267"}],"wp:attachment":[{"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/media?parent=5214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/categories?post=5214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marcogomes.com\/blog\/wp-json\/wp\/v2\/tags?post=5214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}