O futuro da autenticação e das transações financeiras na Web (Part 2)

No último post, expliquei os fundamentos da tecnologia IPT (Identity Protection Technology), presente a partir da segunda geração (Sandy Bridge) dos processadores da família Core. Hoje, quero detalhar os conceitos de como aplicações web podem fazer uso do recurso de geração de OTPs (One time passwords) disponível no IPT.

Um dos principais aspectos explicados foi o da interface entre hardware e sistema operacional feita por meio do Intel® Management Engine Components. Portanto, é importante salientar que sem a instalação correta deste grupo de software os recursos do IPT se tornam inacessíveis. De certa forma, por esta razão, o IPT se mantém ainda desconhecido. À época do lançamento do Sandy Bridge não houve um amplo direcionamento para que os fabricantes de computadores equipados com o sistema operacional (SO) Microsoft Windows instalassem por padrão as versões mais atualizadas do Intel® Management Engine Components, de forma a permitir o uso do IPT. Além disso, haviam poucas aplicações de terceiros que usassem o benefício do IPT. Contudo com o advento dos primeiros Ultrabooks, ainda equipados com a segunda geração dos processadores da família Core, começou haver uma orientação para que todo Ultrabook fosse devidamente configurado de fábrica com a versão mais recente do Intel Management Engine Components (bem como os discos de recuperação dos mesmos). Atualmente com os Ultrabooks equipados com a terceira e quarta geração de processadores da família core (Ivy Bridge e Haswell respectivamente) o Intel® Management Engine Components é comumente encontrado e configurado conforme recomendado pela Intel®. Por outro lado, um consumidor que possui um computador com processador Sandy Bridge e não está certo sobre a instalação do Intel® Management Engine Components, ele mesmo pode se dirigir ao site da Intel e fazer o download e instalação da versão mais apropriada. Contudo essa situação só é presenciada em casos atípicos quando o consumidor constrói o seu próprio computador a partir da compra seperada de componentes como a placa-mãe, memória, processador etc. Ainda assim nesses casos encontra-se o Intel® Management Engine Components no conjunto de software fornecido pelo fabricante da placa-mãe. Já nos casos típicos, em computadores prontos fornecidos por fabricantes populares não há necessidade de nenhuma configuração a ser feita pelo consumidor para que os recursos do IPT funcionem.

Dada a clarificação à respeito da importância do Intel® Management Engine Components pode-se desmembrar partes fundamentais do mesmo:

  • Driver: Trata-se de um driver assinado do tipo dispositivo de sistema, chamado de Management Engine Interface o qual está implementado no arquivo comumente encontrado em C:\Windows\system32\DRIVERS\HECIx64.sys e controla um dispositivo de hardware comumente encontrado em Device PCI\VEN_8086&DEV_1E3A&SUBSYS_103D1043&REV_04\3&11583659&2&B0. Este driver é o principal responsável pelo tráfego de dados resultantes da execução segura de aplicações no processador;

  • Intel® IPT Host Agent DLL (IHA): Trata-se de uma DLL que pode ser encontrada como iha.dll ou iha64.dll nos endereços C:\Program Files\Intel\Intel(R) Management Engine Components\IPT\ ou C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT\. Esta biblioteca é usada por toda aplicação (aplicações web farão uso do IHA através de plugins) que deseja requisitar recursos de aplicações que rodam embarcadas no processador. Contudo, apenas os chamados Intel® Trusted Partners, como a InfoSERVER / TIX11 podem desenvolver aplicações que se utilizem desse agente;

  • Plugin de navegadores:

    Os plugins de navegadores fornecidos pelo conjunto de software do Intel® Management Engine Components tem por objetivo fornecer uma ponte de comunicação entre os navegadores e o Intel® IPT Host Agent DLL de forma a evitar uma recompilação do navegador para que o mesmo incluísse chamadas diretas a iha.dll e oferecer a possibilidade de uma interface de desenvolvimento ao programador web que deseja incluir os recursos do IPT em seus sites. A seguir o detalhamento de tais plugins:

    • Google Chrome:

      • Nome: Intel web components for Intel® Identity Protection Technology
      • Local: C:\Users\<USER>\AppData\LocalLow\Intel\webapi\ipt\<version>\npIWAipt<version>.dll
      • Tipo: NPAPI
      • Tipo MIME: application/x-vnd-intel-webapi-ipt-<version>
    • Mozilla Firefox:
      • Nome: Intel web components for Intel® Identity Protection Technology
      • Local: C:\Users\<USER>\AppData\LocalLow\Intel\webapi\ipt\<version>\npIWAipt<version>.dll,C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT\npIntelWebAPIIPT.dll
      • Tipo MIME: application/x-vnd-intel-webapi-ipt-<version>
    • Microsoft Internet Explorer:
      • Nome: iptPlugin Class
      • Tipo: ActiveX Control
      • Local: C:\Users\<USER>\AppData\LocalLow\Intel\webapi\ipt\<version>\axIWAipt<version>.dll
      • Tipo MIME: application/x-vnd-intel-webapi-ipt-<version> 

Como já dito em vários momentos, o Intel® Management Engine Components é composto de diversos softwares e arquivos, neste documento, no entanto foram citados apenas os fundamentais para a compreensão de como uma aplicação desktop e principalmente web, pode invocar recursos de aplicações específicas executadas internamente no processador.

No que diz respeito às possibilidades de uso do IPT em aplicações baseadas em navegadores, elas dependem da implemetação de recursos de uma API IPT em javascript. Atualmente, a InfoSERVER / TIX11 e acordo com a Intel®, disponibilizou a primeira API aberta de IPT em javascript com JQuery, com o objetivo de popularizar a utilização do IPT e assim oferecer maior segurança nas autenticações e transações financeiras na internet, além de permitir um meio de identificação dinâmica de computadores seguros para tais transações.

Desde o primeira parte desta publicação, até aqui, foi possível fazer uma introdução do IPT e apresentar quais items de software são necessários para que os recursos dessa tecnologia se tornem disponíveis em aplicações computacionais do dia a dia (hoje cada vez mais baseadas na internet), contudo ainda é necessário explicar como esses recursos adicionam segurança à processos e protegem a identidade de usuários. Para tanto é preciso entender o conceito de certificação (atestação ou provisionamento) de um computador com IPT. Este conceito descreve um processo pelo qual é possível estabelecer uma relação entre uma conta de usuário, uma aplicação e um computador e a partir daí possibilitar a acreditação da origem de uma autenticação e ou transação na web (algo cada vez mais dificil de se obter atualmente). A explicação desse mesmo conceito implica em saber que uma certificação é um processo que vai além do computador com IPT e que ocorre através de uma comunicação entre um servidor certificador e computador a ser certificado.

Portanto, concluo aqui a descrição dos componentes que permitem o funcionamento do IPT do lado do usuário final e como uma aplicação web se interconecta com uma aplicação embarcada no processador. Ou seja, navegador, plugin, iha, driver, management engine e finalmente processador. Em um próximo post darei continuidade à explicação do conceito de certificação.

Damico

Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.
Étiquettes: