• Nenhum resultado encontrado

Criptografia visual : método de alinhamento automático de parcelas utilizando dispositivos móveis

N/A
N/A
Protected

Academic year: 2021

Share "Criptografia visual : método de alinhamento automático de parcelas utilizando dispositivos móveis"

Copied!
101
0
0

Texto

(1)

Franz Pietz

“Criptografia Visual: M´etodos de Alinhamento

Autom´atico de Parcelas Utilizando Dispositivos

M´oveis.”

CAMPINAS

2014

(2)
(3)
(4)

Ana Regina Machado - CRB 8/5467

Pietz, Franz,

P618c PieCriptografia visual : método de alinhamento automático de parcelas utilizando dispositivos móveis / Franz Pietz. – Campinas, SP : [s.n.], 2014.

PieOrientador: Julio Cesar López Hernández.

PieDissertação (mestrado) – Universidade Estadual de Campinas, Instituto de Computação.

Pie1. Criptografia visual. 2. Computação móvel. 3. Tecnologia da informação -Sistemas de segurança. 4. Criptografia de dados (Computação). I. López

Hernández, Julio Cesar,1961-. II. Universidade Estadual de Campinas. Instituto de Computação. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Visual cryptography : automatic alignment method using mobile

devices

Palavras-chave em inglês:

Visual cryptography Mobile computing

Information technology - Security measures Data encryption (Computer science)

Área de concentração: Ciência da Computação Titulação: Mestre em Ciência da Computação Banca examinadora:

Julio Cesar López Hernández [Orientador] Hélio Pedrini

Fabio Rogério Piva

Data de defesa: 11-12-2014

Programa de Pós-Graduação: Ciência da Computação

(5)
(6)
(7)

Instituto de Computa¸c˜ao Universidade Estadual de Campinas

Criptografia Visual: M´etodos de Alinhamento

Autom´atico de Parcelas Utilizando Dispositivos

M´oveis.

Franz Pietz

1

11 de dezembro de 2014

Banca Examinadora:

• Prof. Dr. Julio Cesar L´opez Hern´andez (Supervisor/Orientador) • Prof. Dr. H´elio Pedrini

Instituto de Computa¸c˜ao - UNICAMP • Dr. Fabio Rog´erio Piva

Samsung Brasil

• Prof. Dr. Diego de Freitas Aranha

Instituto de Computa¸c˜ao - UNICAMP (Suplente) • Dra. Vanessa Sovierzoski Testoni

Samsung Brasil (Suplente)

1Financial support: CNPq: 03/2012 - 07/2012

Banco do Brasil: 10/2012 - 03/2013 CAPES: 04/2013 - 07/2013

Samsung: 08/2013 - 07/2014

(8)
(9)

Abstract

Visual cryptography is a secret sharing method proposed by Naor and Shamir in the paper “Visual Cryptography”, in 1994. It split a secret image into a set of shares, so that we need to stack a minimum number of shares to visually decode the secret image without the help of hardware or computation, and analyzing the shares alone is not pos-sible to obtain any information about the secret image. The scheme is considered safe and can be compared to the one-time-pad cyphers, also called perfect cyphers, due to the difficulty of an attacker to obtain the secret or part of it. There are proposals to use visual cryptography in authentication protocols, such as in bank transactions and pro-duct’s legitimacy verification. But these methods have problems with recovered secret’s definition, low contrast and misalignment of the shares, which is the most sensitive. Our proposal shows how to use a mobile device, such as smartphone or tablet, to perform automatic alignment of the shares and to assist a user to recover a secret encrypted using visual cryptography. For this, we use the device camera to turn it into a “transparency” and image analysis techniques to locate a share that can be displayed on a monitor or printed on the packaging of a product, and overlay it with a second share present on the mobile device, allowing the visualization of the recovered secret on the device’s display. Using a mobile device brings immediate advantages, such as easy delivery of shares at the transaction’s time, without having to store information in advance.

(10)
(11)

Resumo

A criptografia visual ´e um m´etodo de compartilhamento de segredos proposto por Naor em Shamir no artigo “Criptografia Visual” de 1994. Nele, uma imagem secreta ´e dividida em um conjunto de parcelas, sendo necess´ario sobrepor um n´umero m´ınimo de parcelas para decodificarmos o segredo visualmente, sem nenhum tipo de dispositivo ou c´alculo criptogr´afico; e analisando as parcelas isoladamente, n˜ao ´e poss´ıvel recuperar nenhuma informa¸c˜ao sobre a imagem secreta original. O esquema ´e considerado seguro e pode ser comparado com as cifras de one-time-pad, tamb´em chamadas de cifras perfeitas, de-vido `a dificuldade do atacante obter o segredo ou parte dele. Existem propostas para a utiliza¸c˜ao de criptografia visual em protocolos de autentica¸c˜ao, como autentica¸c˜ao de transa¸c˜oes banc´arias e verifica¸c˜ao de legitimidade de produtos. Entretanto, esse m´etodo possui problemas como defini¸c˜ao do segredo recuperado, baixo contraste e desvios de alinhamento, que ´e o problema mais sens´ıvel. Nossa proposta mostra como utilizar um dispositivo m´ovel, como smartphone ou tablet, para realizar o alinhamento autom´atico de parcelas e auxiliar o usu´ario no processo de recupera¸c˜ao de segredos encriptados utilizando criptografia visual. Para isso, utilizamos a cˆamera do dispositivo m´ovel para torn´a-lo uma “transparˆencia” e t´ecnicas de an´alise de imagens para localizar uma parcela exibida em um monitor ou impressa na embalagem de um produto, e sobrepˆo-la com uma parcela presente no dispositivo m´ovel, permitindo a visualiza¸c˜ao do segredo recuperado na tela do dispositivo. A utiliza¸c˜ao de um dispositivo m´ovel traz vantagens imediatas, como faci-lidade para a entrega de parcelas no momento da transa¸c˜ao, sem necessidade de guardar informa¸c˜ao previamente.

(12)
(13)

Agradecimentos

Agrade¸co, primeiramente, aos amigos e familiares, especialmente meus pais e namorada, pelo apoio incondicional em todos os passos dessa etapa da minha vida. Vocˆes foram essenciais para que tudo isso fosse poss´ıvel.

Agrade¸co tamb´em a todos os amigos, colegas de laborat´orio e professores que con-tribu´ıram com ideias e coment´arios sobre a pesquisa. Agrade¸co especialmente ao prof. Julio, pelo tempo dedicado nas conversas e paciˆencia nos momentos dif´ıceis.

Parte dos resultados apresentados neste trabalho foram obtidos atrav´es do projeto “Ca-pacita¸c˜ao em Tecnologia de Informa¸c˜ao” financiado pela Samsung Eletrˆonica da Amazˆonia Ltda., utilizando recursos da Lei de Inform´atica No 8.248/91.

(14)
(15)
(16)
(17)

Cap´ıtulo 1

Introdu¸c˜ao

Nos ´ultimos anos, houve um grande crescimento no n´umero de usu´arios que possuem dispositivos m´oveis, como smartphones e tablets, e que os utilizam para diversas ativi-dades, inclusive para realizar compras e transa¸c˜oes banc´arias. Considerando esse fato, aumentou tamb´em o n´umero de solu¸c˜oes que utilizam esses dispositivo em um protocolo de autentica¸c˜ao, como em transa¸c˜oes banc´arias. Entretanto, algumas dessas opera¸c˜oes s˜ao vulner´aveis a ataques elaborados, do tipo homem-do-meio, onde um atacante se passa por uma das partes para realizar atividades maliciosas. No cen´ario de produtos, alguns fa-bricantes passaram a fornecer meios de verificar a legitimidade de um produto, utilizando um dispositivo m´ovel para interpretar um c´odigo QR presente na embalagem e acessar um website de valida¸c˜ao para aquele produto. Infelizmente, esse tipo de procedimento n˜ao ´e forte o suficiente para garantir a legitimidade, j´a que podemos gerar c´odigos QR com facilidade, criando espa¸co para falsifica¸c˜oes elaboradas.

Em 1994, Naor e Shamir apresentaram a criptografia visual como t´ecnica de compar-tilhamento de segredos, onde um segredo contido em uma imagem ´e dividido em outras imagens, chamadas de parcelas. Analisando cada parcela isoladamente, n˜ao ´e poss´ıvel obter nenhuma informa¸c˜ao sobre o segredo, mas ao sobrepormos um n´umero suficiente de parcelas, poderemos recuperar o segredo visualmente. Assim, surge um m´etodo de compartilhamento de segredo que n˜ao exige opera¸c˜oes criptogr´aficas ou conhecimento em Criptografia para decifrar o segredo. Com o decorrer dos anos, foram apresentadas pro-postas para utilizar criptografia visual em protocolos de autentica¸c˜ao, adicionando um novo fator de seguran¸ca, j´a que a recupera¸c˜ao do segredo depende unicamente do sistema visual humano. Apesar de possuir ind´ıcios de elevado grau de seguran¸ca, fatores como falta de contraste e desalinhamento das parcelas podem impedir a recupera¸c˜ao do segredo, tornando a utiliza¸c˜ao de criptografia visual pouco atrativa at´e o momento.

Nesta disserta¸c˜ao, mostraremos como utilizar um dispositivo m´ovel, como smartphone ou tablet, para auxiliar o usu´ario no processo de sobreposi¸c˜ao e alinhamento das

(18)

las, facilitando a recupera¸c˜ao do segredo. Para isso, utilizamos a cˆamera do dispositivo para capturar uma parcela, a qual est´a sendo exibida em um monitor ou impressa na embalagem de um produto, t´ecnicas de an´alise de imagens para realizar a sobreposi¸c˜ao automaticamente e exibir o resultado na tela do dispositivo m´ovel. Esse sistema de ali-nhamento autom´atico pode fazer parte de um protocolo que utiliza criptografia visual para autentica¸c˜ao de transa¸c˜oes banc´arias e de produtos, trazendo facilidades como a distribui¸c˜ao de parcelas diretamente para o dispositivo m´ovel do usu´ario no momento da autentica¸c˜ao. Nossa proposta ´e a primeira presente na literatura que utiliza um dispositivo m´ovel para realizar a sobreposi¸c˜ao de parcelas de criptografia visual, al´em de ser uma das poucas que apresenta resultados pr´aticos de sobreposi¸c˜ao. Esses resultados podem ser de grande relevˆancia para a ´area de criptografia visual, pois pode tornar o estudo de t´ecnicas similares e protocolos de autentica¸c˜ao utilizando criptografia visual mais atrativos.

No Cap´ıtulo 2 apresentaremos os fundamentos de criptografia visual e autentica¸c˜ao. Na Se¸c˜ao 2.1 fornecemos detalhes da constru¸c˜ao de parcelas pela t´ecnica proposta por Naor e Shamir e seus problemas mais comuns. A Se¸c˜ao 2.2 cont´em um levantamento do estado da arte para essa ´area, incluindo propostas que visam melhorar a qualidade de recupera¸c˜ao do segredo e resolver alguns dos problemas comuns ao m´etodo. Na Se¸c˜ao 3.1.1 mostraremos algumas das t´ecnicas de autentica¸c˜ao que alguns fabricantes fornecem para que o usu´ario possa conferir a legitimidade de seus produtos, como cartuchos de impressoras e medicamentos. Em seguida, na Se¸c˜ao 2.5 fornecemos um levantamento das propostas presentes na literatura que utilizam criptografia visual em um protocolo de autentica¸c˜ao.

No Cap´ıtulo 3, apresentaremos nossa proposta, a qual utiliza um dispositivo m´ovel para realizar a sobreposi¸c˜ao de parcelas automaticamente, resolvendo alguns dos pro-blemas encontrados durante o estudo. Na Se¸c˜ao 3.2 apresentaremos detalhes das trˆes implementa¸c˜oes de aplicativos para dispositivos m´oveis para resolver nosso problema. A primeira implementa¸c˜ao simplesmente carrega uma parcela transparente na tela do dis-positivo. A segunda implementa¸c˜ao adiciona um sistema de alinhamento autom´atico, que utiliza t´ecnicas de an´alise de imagens para localizar os pontos extremos de parcela exibida em um monitor, calculando a transforma¸c˜ao necess´aria da parcela presente no dispositivo m´ovel e realizando a sobreposi¸c˜ao automaticamente. A terceira implementa¸c˜ao utiliza a Transformada de Hough para detectar pontos de controle presente na parcela alvo, tamb´em com o objetivo de fornecer coordenadas para a sobreposi¸c˜ao.

No Cap´ıtulo 4, indicamos a metodologia e resultados obtidos nos testes. Na Se¸c˜ao 4.1, forneceremos detalhes de trˆes t´ecnicas para a gera¸c˜ao das parcelas utilizadas nos testes do nosso sistema, indicando as etapas necess´arias para a constru¸c˜ao de cada uma. As trˆes t´ecnicas estudadas foram a t´ecnica tradicional de Naor e Shamir, a t´ecnica baseada em segmentos proposta por Borchert e uma t´ecnica tolerante `a desvios de alinhamento.

(19)

3 Na Se¸c˜ao 4.2, mostramos e discutimos os resultados obtidos para diferentes dispositivos e m´etodos de gera¸c˜ao de parcelas.

Finalmente, no Cap´ıtulo 5 escrevemos a conclus˜ao do nosso trabalho, fornecendo uma an´alise dos resultados obtidos e o que vislumbramos como trabalhos futuros.

Contribui¸c˜oes e Participa¸c˜ao em Eventos

Como contribui¸c˜oes do nosso trabalho, submetemos uma patente para an´alise pela Agˆencia de Inova¸c˜ao da Unicamp (Inova). O Pedido de Patente de Inven¸c˜ao foi depositado junto ao Instituto Nacional de Propriedade Industrial (INPI) em 18/12/2014, sob protocolo

BR 10 2014 032168 3. O aluno participou da se¸c˜ao de Trabalhos de Estudantes do

evento Latincrypt 2014, realizado em Florian´opolis entre os dias 17 e 19 de Setembro de 2014. Tamb´em participou da Campus Party 2015, que ocorreu em S˜ao Paulo entre 03 e 08 de Fevereiro de 2015, apresentando seu projeto em um estande da se¸c˜ao Campus

(20)
(21)

Cap´ıtulo 2

Criptografia Visual e Autentica¸c˜ao

Nesse cap´ıtulo, apresentaremos os conceitos b´asicos de criptografia visual, utilizando uma constru¸c˜ao simplificada como exemplo, e os problemas mais comuns da t´ecnica, os quais podem impedir a recupera¸c˜ao total do segredo. Apresentaremos tamb´em um breve le-vantamento sobre o estado da arte da ´area, indicando trabalhos que tentam contornar os problemas comuns e novas maneiras de se gerar parcelas. Em seguida, fazemos uma breve introdu¸c˜ao `a autentica¸c˜ao de transa¸c˜oes banc´arias e de produtos, al´em de alguns exemplos de sua utiliza¸c˜ao. Apresentamos, tamb´em, um levantamento de t´ecnicas para a utiliza¸c˜ao de criptografia visual em protocolos de autentica¸c˜ao presentes na literatura.

2.1 Introdu¸c˜ao `a Criptografia Visual

Em 1979, Shamir apresenta no “How to share a secret”[1] um m´etodo de compartilhamento de segredos, onde um segredo ser´a dividido em n parcelas D1, ... , Dn de maneira que seja

poss´ıvel recuperar o segredo conhecend k ≤ n parcelas Di; e conhecendo k − 1 parcelas

ou menos n˜ao seja poss´ıvel obter nenhuma informa¸c˜ao sobre o segredo. Esse m´etodo ´e conhecido como (n, k)-limiar de Shamir [2]. Essas parcelas s˜ao pontos gerados a partir de um polinˆomio de grau k−1. A recupera¸c˜ao do segredo consiste no c´alculo desse polinˆomio, poss´ıvel quando temos k parcelas, utilizando a interpola¸c˜ao polinomial de Lagrange.

Em 1994, Naor e Shamir apresentam um novo m´etodo de compartilhamento de se-gredos, chamado de criptografia visual [3], que consiste em dividir uma imagem secreta em parcelas, as quais poderiam ser impressas em transparˆencias, de maneira que seja ne-cess´ario um n´umero suficiente de parcelas sobrepostas para que o segredo seja recuperado visualmente e que cada parcela analisada isoladamente n˜ao forne¸ca nenhuma informa¸c˜ao da imagem secreta original. Como a recupera¸c˜ao do segredo depende unicamente do sistema visual humano, os autores comentam que uma das vantagens do m´etodo ´e que qualquer pessoa pode decifrar a mensagem, sem qualquer conhecimento sobre

(22)

fia ou necessidade de opera¸c˜oes computacionais. O m´etodo surge como solu¸c˜ao para o problema de encriptar materiais como texto impresso, notas escritas a m˜ao, fotos, etc.

Na proposta original, s˜ao geradas n parcelas Si diferentes a partir de uma imagem

secreta, de maneira que sejam necess´arias pelo menos k parcelas sobrepostas para que o segredo possa ser recuperado, e que k −1 parcelas sobrepostas n˜ao forne¸cam nenhum tipo de informa¸c˜ao sobre a imagem secreta. Tal esquema costuma ser chamado de k − de − n. Por exemplo, em um esquema 2−de−2, uma imagem secreta ´e dividida em duas parcelas (S1 e S2) diferentes entre si, que revelam o segredo quando sobrepostas. A Figura 2.1

ilustra um esquema 2 − de − 2. A imagem obtida pela sobreposi¸c˜ao das parcelas ser´a chamada de imagem reconstru´ıda.

Figura 2.1: Exemplo de Criptografia Visual.

Para a constru¸c˜ao das parcelas, cada pixel p da imagem secreta ser´a codificado em uma cole¸c˜ao de m pixels, chamados de subpixels, em cada uma das parcelas. A escolha desses subpixels deve ser feita de maneira que haja diferen¸ca de contraste na imagem reconstru´ıda, para que o sistema visual humano possa distinguir quais pixels fazem parte do segredo e quais pertencem ao fundo da imagem. Por exemplo, uma escolha de subpixels para um esquema 2 − de − 2 ´e apresentado na Figura 2.2, contendo dois subpixels, um preto-branco e um branco-preto, complementares entre si. Como cada pixel da imagem secreta ser´a codificado em dois pixels na parcela, temos m = 2.

(23)

2.1. Introdu¸c˜ao `a Criptografia Visual 7

Figura 2.2: Padr˜ao de subpixels para um esquema 2-de-2.

Caso o pixel p da imagem secreta seja preto, devemos escolher um dos dois subpixels para a primeira parcela e o seu complementar para a segunda parcela. Dessa maneira, ter´ıamos um pixel resultante “preto” enquanto as parcelas estiverem sobrepostas. Caso o pixel p da imagem secreta seja branco, devemos escolher o mesmo padr˜ao para as duas parcelas, obtendo um pixel “branco” na sobreposi¸c˜ao. Esse pixel “branco” ´e reconhecido pelo sistema visual humano como um tom de cinza de intensidade 50%. A Figura 2.3 ilustra a escolha dos pixels para cada um dos casos. A diferen¸ca de contraste entre um pixel “branco” e um pixel “preto” na imagem reconstru´ıda ´e o que permite ao sistema visual diferenciar entre o que ´e segredo (em preto) e o que ´e o fundo da imagem (em cinza). Chamaremos esse pixel “preto” de pixel de informa¸c˜ao, e o pixel “branco” de

pixel de fundo. Como os pixels de informa¸c˜ao e de fundo s˜ao na verdade uma cole¸c˜ao de

subpixels sobrepostos, chamaremos as cole¸c˜oes de subpixels de subpixels de informa¸c˜ao e

subpixels de fundo, respectivamente.

ou

ou

Parcela 1

Parcela 2

Sobreposição

Pixel

Original

Figura 2.3: Possibilidades para a escolha dos subpixels.

Na Figura 2.4, podemos ver a imagem secreta e a imagem recuperada obtida pelo padr˜ao de subpixels apresentado na Figura 2.3. Podemos facilmente diferenciar o segredo do fundo, por´em a imagem reconstru´ıda est´a alongada, devido ao padr˜ao de subpixels es-colhido. Para esse exemplo, temos m = 2, ent˜ao podemos dizer que m tamb´em representa uma taxa de expans˜ao, que relaciona o tamanho da imagem secreta e o tamanho das par-celas.

(24)

Figura 2.4: Figura alongada devido ao padr˜ao de subpixels escolhido.

Para contornar o problema de alongamento da imagem, basta escolher um padr˜ao de subpixels mais regular, de maneira que ocorra a mesma expans˜ao tanto na horizontal quanto na vertical. A Figura 2.5 mostra um padr˜ao de subpixels com essa propriedade e o resultado da sobreposi¸c˜ao de parcelas usando esse padr˜ao. Como cada pixel da imagem secreta ser´a codificado em quatro pixels, teremos uma taxa de expans˜ao m = 4.

Figura 2.5: Padr˜ao de subpixels quadrado e resultado.

Os exemplos apresentados at´e aqui consideram o esquema 2−de−2, que ´e a constru¸c˜ao mais simples de parcelas. Generalizando a constru¸c˜ao para esquemas k−de−n, deveremos criar pelo menos n padr˜oes de subpixels, que nos faz aumentar tamb´em a quantidade m de subpixels utilizados em cada padr˜ao. Esses padr˜oes devem ser quadrados e devem garantir que a diferen¸ca de contraste ao sobrepor k parcelas seja adequado para distinguir o segredo do fundo. Para cada um dos pixels da imagem secreta, teremos n vers˜oes modificadas, uma em cada parcela, que cont´em m pixels pretos ou brancos. A estrutura resultante pode ser representada por uma matriz booleana S = [sij] de dimens˜ao n × m

onde sij = 1 se o j-´esimo pixel da i-´esima transparˆencia ´e preto. A Figura 2.6 mostra

um exemplo da constru¸c˜ao da matriz S. Representaremos cada padr˜ao de subpixels como uma matriz bin´aria, onde um pixel preto ter´a valor 1 e um pixel branco ter´a valor 0. Quando as as parcelas i1, i2, ..., ir s˜ao sobrepostas e devidamente alinhadas, veremos

o resultado da opera¸c˜ao “ou” das linhas i1, i2, ..., ir de S, e chamaremos de V o vetor

(25)

2.1. Introdu¸c˜ao `a Criptografia Visual 9 peso de Hamming H(V ), que ser´a identificado com preto se H(V ) ≥ d e como branco se H(V ) < d − αm, para um limiar fixo d que satisfaz 1 ≤ d ≤ m e uma diferen¸ca de contraste relativa α > 0.

Figura 2.6: Representa¸c˜ao de subpixels na matriz S.

Para construir os padr˜oes de subpixels de maneira gen´erica, podemos definir os con-juntos de matriz C0 e C1, sendo que as matrizes de C0 s˜ao os padr˜oes de subpixels que

representam um pixel branco e C1 os que representam um pixel preto. Por exemplo, para

obter os padr˜oes mostrados na Figura 2.5, definimos os conjuntos de matrizes 2 × 2:

C0 =

todas as matrizes obtidas pela permuta¸c˜ao das colunas de

� 1 1 0 0 1 1 0 0 �� ; C1 = �

todas as matrizes obtidas pela permuta¸c˜ao das colunas de

1 1 0 0 0 0 1 1

��

.

Para que a constru¸c˜ao seja v´alida, al´em da diferen¸ca de contraste adequada, devemos garantir a seguran¸ca do esquema, de maneira que n˜ao seja poss´ıvel obter nenhuma pista da imagem secreta mesmo analisando k −1 parcelas sobrepostas. Chamamos esses requisitos de condi¸c˜oes de contraste e seguran¸ca. Dessa maneira, podemos definir nosso esquema de compartilhamento de segredo visual como:

Defini¸c˜ao 1. Um esquema k −de−n de compartilhamento de segredo visual consiste em

dois conjuntos de matrizes booleanas C0 e C1 de tamanho n × m. Para representar um

pixel branco, escolhemos aleatoriamente uma das matrizes de C0, e para representar um

(26)

definem a cor dos m subpixels em cada uma das n parcelas do esquema e devem satisfazer as seguintes condi¸c˜oes para valores d e α definidos:

1. Contraste: Para qualquer S em C0, o vetor V para qualquer sobreposi¸c˜ao de k de

n linhas deve satisfazer H(V ) < d − αm, para que seja poss´ıvel identificar aquele

ponto como branco. Da mesma maneira, para qualquer S em C1, o vetor V para

qualquer sobreposi¸c˜ao de k de n linhas deve satisfazer H(V ) ≥ d, para que seja poss´ıvel identificar aquele ponto como preto.

2. Seguran¸ca: quaisquer vetor V� obtido pela opera¸c˜ao “ou” para qualquer conjunto

de linhas i1, i2, ..., iq, com q < k, de dois subconjuntos D0 e D1 de matrizes q × m

obtidas a partir de matrizes dos conjunto C0 e C1, devem ser indistingu´ıveis entre

si, ou seja, nenhuma informa¸c˜ao sobre o segredo deve ser revelada caso menos de k parcelas sejam sobrepostas.

Para este texto, nos concentramos em esquemas 2 − de − 2 para imagens mono-crom´aticas, devido `a aplica¸c˜ao proposta. Na Se¸c˜ao 2.2 fazemos um breve levantamento sobre o estado da arte, mostrando diferentes esquemas e melhorias propostas na literatura. Com o aumento do n´umero de parcelas e da taxa de expans˜ao m, surgem alguns pro-blemas para a recupera¸c˜ao do segredo, principalmente quando temos parcelas impressas em material transparente. Estes problemas s˜ao:

• Perda de Defini¸c˜ao: relacionado `a degrada¸c˜ao do segredo reconstru´ıdo em com-para¸c˜ao com a imagem secreta original, pois um ´unico pixel da imagem secreta ser´a codificado em um conjunto de v´arios pixels nas parcelas. Com isso, podemos ter perda de informa¸c˜ao, devido `a qualidade de contornos e defini¸c˜ao do segredo recu-perado [4]. A Figura 2.7 mostra um exemplo de perda de defini¸c˜ao e de informa¸c˜ao da imagem secreta. Na imagem original, `a esquerda, podemos ver uma borda fina em torno da figura, que n˜ao aparece na imagem reconstru´ıda, al´em das formas circu-lares tornarem-se serrilhadas. Como esse problema ocorre quando o segredo cont´em regi˜oes de poucos pixels de espessura, normalmente as imagens secretas devem apre-sentar informa¸c˜ao bem definida, com fontes espessas e negritos.

(27)

2.1. Introdu¸c˜ao `a Criptografia Visual 11

Figura 2.7: Exemplo de perda de defini¸c˜ao e informa¸c˜ao.

• Baixa Diferen¸ca de Contraste: ao sobrepormos as parcelas, os pixels de in-forma¸c˜ao ser˜ao pretos, mas os pixels de fundo tornam-se cada vez mais escuros a cada nova transparˆencia sobreposta, pois adicionamos mais subpixels pretos em cada posi¸c˜ao, al´em das transparˆencias funcionarem como um tipo de filtro de luz [5]. Uma diferen¸ca de contraste inferior a 1/10 dificulta a identifica¸c˜ao do segredo [6] e pode ocorrer em duas situa¸c˜oes, como mostra a Figura 2.8. `A esquerda, o se-gredo est´a em um tom de cinza, confundindo-se com o fundo; `a direita, o fundo est´a escuro, confundindo-se com o segredo. Esse tipo de problema ocorre com frequˆencia em esquemas k − de − n.

Figura 2.8: Exemplo de baixa diferen¸ca de contraste.

• Desvios de Alinhamento: ´e o problema mais comum e sens´ıvel, pois um deslo-camento m´ınimo no alinhamento pode impedir a recupera¸c˜ao do segredo. A dificul-dade de alinhamento torna-se mais grave quando aumentamos o n´umero de parcelas que devem ser sobrepostas. A Figura 2.9 mostra duas transparˆencias sobrepostas, com deslocamento de 0.5, 0.75 e 1 pixel para a direita. Passamos a ter dificuldade para identificar o segredo logo na primeira imagem. Nas outras imagens, nenhuma informa¸c˜ao pode ser recuperada.

(28)

Figura 2.9: Desvios de 0.5, 0.75 e 1 pixel para a direita

2.2 Levantamento do Estado da Arte

Ap´os a proposta original de Naor e Shamir em 1994, diversas melhorias foram apresenta-das. Inicialmente, as imagens secretas deveriam ser em preto-e-branco. Em [7, 8], foram propostos os primeiros esquemas que utilizam imagens secretas em tons de cinza ou colo-ridas, ampliando as possibilidades de utiliza¸c˜ao da criptografia visual. Surgiram tamb´em esquemas que utilizam parcelas digitais e dependem de um dispositivo capaz de realizar opera¸c˜oes matem´aticas, por utilizarem opera¸c˜oes como XOR para calcular a sobreposi¸c˜ao. Em [9] ´e apresentada uma maneira de criar uma estrutura de acesso para um es-quema de criptografia visual, que cont´em um conjunto de participantes qualificados e n˜ao qualificados. Usando essa estrutura de acesso, podemos distribuir parcelas de maneira que uma combina¸c˜ao de parcelas que contenha parcelas qualificadas possam recuperar o segredo, mas que qualquer combina¸c˜ao de parcelas n˜ao qualificadas sobrepostas n˜ao revele nenhuma informa¸c˜ao sobre a imagem secreta. Por exemplo, temos quatro partici-pantes em uma estrutura de acesso, sendo eles A, B, C e D, sendo A e B qualificados e C e D n˜ao qualificados. Qualquer sobreposi¸c˜ao de parcelas que incluam as parcelas de A ou B ir´a revelar o segredo (i.e. A + B, A + C, A + D, B + C, B + D). Entre-tanto, se C e D sobrepuserem suas parcelas (i.e, C + D), o segredo n˜ao ser´a revelado. O m´etodo chamado de criptografia visual estendida [10, 11] permitiu transformar parcelas aparentemente aleat´orias em parcelas que possuem algum conte´udo, como letras e texto, permitindo identificar cada parcela. A Figura 2.10 mostra um exemplo de parcelas, iden-tificadas pelos n´umeros 1 e 2, e do resultado da sobreposi¸c˜ao, revelando o n´umero 3. As parcelas s˜ao constru´ıdas de maneira que, ao serem sobrepostas, a identifica¸c˜ao desapare¸ca, n˜ao interferindo na recupera¸c˜ao do segredo.

Ainda com o objetivo de adicionar um significado `as parcelas, em [4, 13, 14] os auto-res utilizam t´ecnicas de meios-tons digitais para transformar imagens em tons de cinza em imagens bin´arias e, em seguida, t´ecnicas de difus˜ao de erros para que imagens em meios-tons sejam hospedeiras de parcelas de criptografia visual. Da mesma maneira que os m´etodos estendidos, as imagens hospedeiras desaparecem quando as parcelas s˜ao

(29)

so-2.2. Levantamento do Estado da Arte 13

Figura 2.10: Parcelas e imagem recuperada para o m´etodo estendido (retirado de [12]). brepostas. A Figura 2.11 mostra trˆes parcelas, cada uma como uma imagem. No geral, as imagens recuperadas tendem a ser escuras, devido `a quantidade de informa¸c˜ao adicional em cada parcela, para que a mesma contenha uma imagem.

Figura 2.11: Parcelas e imagem recuperada para o m´etodo de meios-tons (retirado de [15]).

Os artigos [16, 17] mostram como melhorar a qualidade das parcelas para os m´etodos estendidos, utilizando figuras em meios-tons digitais e subpixels cinzas nas parcelas, ob-tendo melhor contraste ap´os a sobreposi¸c˜ao. Em 2014, Yang et al. [12] apresentam uma nova melhoria para o m´etodo estendido, obtendo resultados como os mostrados na Figura 2.12.

Para imagens coloridas, existem dois m´etodos mais utilizados para gerar as parcelas: sobreposi¸c˜ao de cores e meios-tons digitais. A sobreposi¸c˜ao de cores funciona como o m´etodo tradicional, onde a cor de um pixel ser´a codificada em pixels de diferentes cores nas parcelas, que quando sobrepostas, revelam a cor original do segredo [8]. Esse m´etodo apresenta uma grande perda de contraste, pois a sobreposi¸c˜ao de transparˆencias bloqueia parte da passagem da luz. Na t´ecnica que utiliza meios-tons, representaremos uma cor pela combina¸c˜ao de cores pr´oximas, procedimento similar ao utilizado na impress˜ao em papel. Esse m´etodo possui melhor contraste, por´em h´a alguma perda na qualidade das cores da imagem recuperada. Houve uma melhoria significativa na qualidade das imagens recuperadas a partir dos trabalhos [18, 19, 20], visando melhorar a resolu¸c˜ao das imagens

(30)

Figura 2.12: Novos resultados para m´etodos estendidos (retirado de [12]).

e eliminar o problema de escurecimento inerente do m´etodo de [8]. Outras propostas foram apresentadas, utilizando parcelas digitais, que devem ser sobrepostas utilizando um dispositivo capaz de realizar c´alculos. Um exemplo de criptografia visual para imagens coloridas pode ser visto na Figura 2.13.

Figura 2.13: Parcelas (a,b,c) e a imagem reconstru´ıda (d) (retirado de [21]). O problema de contraste foi amplamente discutido com o passar dos anos. Ap´os o artigo original, Naor e Shamir publicaram um novo artigo [22], focando em melhorias do contraste. Os artigos de Blundo et al. [6, 5] apresentaram diversas melhorias e limiares para que o contraste seja satisfat´orio para esquemas k−de−n, em especial para esquemas 3−de−n . Em 2010, [23] apresenta uma maneira de obter o contraste ´otimo para qualquer

k em esquemas k − de − n.

Como a expans˜ao de pixels pode trazer problemas na defini¸c˜ao da imagem recuperada, alguns pesquisadores se preocuparam em reduzi-la [24, 25]. Em [26], Kuwakado et al. mostraram um m´etodo em que m = 1, ou seja, n˜ao h´a expans˜ao de pixels, com uma leve perda na qualidade da imagem recuperada. Em [27], Yang et al. apresentam um m´etodo que mant´em a raz˜ao de aspecto da imagem recuperada em compara¸c˜ao com a imagem original, al´em de diminuir significativamente a quantidade de subpixels utilizados para representar um pixel da imagem secreta, evitando assim distor¸c˜oes e reduzindo o tamanho das parcelas. Entretanto, esses m´etodos apresentam problemas de perda de

(31)

2.2. Levantamento do Estado da Arte 15 informa¸c˜ao, como linha finas e detalhes de borda. Em 2012, Liu et al. apresentam em [28] uma melhoria para esses problemas de perda de informa¸c˜ao, aumentando a qualidade das imagens recuperadas. Em 2013, De Prisco e De Santis [29] apresentaram um m´etodo que utiliza pixels coloridos nas parcelas para codificar uma imagem secreta bin´aria, sem expans˜ao de pixels e que pode ser utilizado para esquemas k−de−n com melhor qualidade da defini¸c˜ao da figura. A Figura 2.14 mostra um exemplo desse m´etodo.

Figura 2.14: Exemplo do esquema de De Prisco e De Santis (retirado de [29]). Outra t´ecnica sem expans˜ao de pixels ´e apresentada em [30], que utiliza grades aleat´orias (random grids) para gerar as parcelas. Uma grade aleat´oria ´e definida como uma matriz bidimensional de pixels, que podem ser totalmente transparentes ou opacos e a escolha entre eles ´e aleat´oria com probabilidade 50%, de maneira que n˜ao haja correla¸c˜ao entre os valores de diferentes pixels na matriz. A constru¸c˜ao ´e similar ao esquema proposto por Shamir, sendo a principal diferen¸ca ´e que n˜ao h´a mais padr˜oes de subpixels. Melhorias e propostas de m´etodos k − de − n foram apresentadas em [21, 31, 32]. Em [33], os autores mostram uma maneira de transformar a grade aleat´oria em uma parcela com conte´udo, de maneira similar ao m´etodo estendido.

Em [34], Yang apresenta um m´etodo probabil´ıstico para gerar as parcelas. Ao contr´ario do m´etodo original, que ´e determin´ıstico, agora cada pixel da imagem recuperada (i.e. conjunto de subpixels sobrepostos) tem uma probabilidade de ser considerado um pixel de informa¸c˜ao ou pixel de fundo. Esse m´etodo traz um aumento da qualidade da imagem recuperada, com ganho de contraste e sem expans˜ao de pixel. Em seguida, Yang et al. [25] propuseram uma combina¸c˜ao do m´etodo probabil´ıstico com o tradicional, a qual permite ao usu´ario definir a qualidade da imagem recuperada a partir de um trade-off entre contraste e tamanho da parcela. Por exemplo, se desejamos uma boa diferen¸ca de contraste para garantir a qualidade da imagem, o tamanho das parcelas ser´a maior.

Sobre o problema de alinhamento, o primeiro artigo a propor uma solu¸c˜ao foi [35]. Nele, os subpixels s˜ao representados como pontos circulares com grande quantidade de pixels, tornando as parcelas tolerantes a pequenos desvios de alinhamento. Entretanto, os autores citam problemas de seguran¸ca no m´etodo, al´em do mesmo poder ser utilizado apenas para esquemas 2-de-2. Existem propostas de m´etodos que inserem alguma to-lerˆancia a desvios de alinhamento de equivalentes `a taxa de expans˜ao [36] ou desvios de

(32)

menos de um pixel [37]. Esse m´etodo ser´a mostrado em detalhes na Se¸c˜ao 4.1.3.

Al´em de propostas que utilizam pixels e imagens secretas, outras t´ecnicas que utilizam sobreposi¸c˜ao foram apresentadas. Em 2007, Borchert [38] apresenta um m´etodo que utiliza segmentos, semelhante a um display digital, em vez de padr˜oes de pixels. Esse m´etodo permite codificar padr˜oes num´ericos com alguma vantagem de contraste e facilidade de sobreposi¸c˜ao. A Figura 2.15 mostra um exemplo de parcelas e da sobreposi¸c˜ao das mesmas. Esse m´etodo ser´a melhor explicado na Se¸c˜ao 4.1.2.

+

=

Figura 2.15: M´etodo baseado em segmentos de Borchert.

Em 2013, Yang et al. [39] mostram uma t´ecnica que utiliza caracteres em vez de padr˜oes de pixels nas parcelas. Os autores testaram diferentes tipos de caracteres, tais como caracteres romanos e ideogramas japoneses, coreanos e chineses. Os melhores resul-tados foram obtidos utilizando ideogramas chineses, devido `a sua complexidade e quan-tidade de informa¸c˜ao em cada s´ımbolo, obtendo melhor contraste nas imagens recons-tru´ıdas. Como utilizam caracteres em vez de pixels, a taxa de expans˜ao das imagens ´e muito alta, gerando parcelas e imagens recuperadas de grandes dimens˜oes. A Figura 2.16 mostra um exemplo desse m´etodo, utilizando ideogramas japoneses, que s˜ao mais simples de diferenciar do que os chineses.

Uma proposta diferenciada foi apresentada em [40], pois utiliza projetores em vez de transparˆencias. A sobreposi¸c˜ao das parcelas ser´a realizada em um plano de proje¸c˜ao comum aos projetores, mas essa sobreposi¸c˜ao n˜ao ´e simplesmente alinhar as parcelas. Nesse m´etodo, parˆametros como localiza¸c˜ao espacial, ˆangulo de proje¸c˜ao e ponto focal do projetor s˜ao necess´arios no momento da gera¸c˜ao das parcelas. Dessa maneira, para recuperar o segredo, os projetores devem ser dispostos de maneira que obede¸cam esses parˆametros. A Figura 2.17 mostra um diagrama do posicionamento dos projetores e dos pontos de proje¸c˜ao. A utiliza¸c˜ao de projetores pode trazer alguma melhoria da qualidade da imagem recuperada, principalmente para imagens secretas coloridas, pois a mistura de cores ser´a feita diretamente pela sobreposi¸c˜ao de feixes de luz.

(33)

2.2. Levantamento do Estado da Arte 17

Figura 2.16: Sobreposi¸c˜ao de caracteres japoneses (retirado de [39]).

Em 2011, foi lan¸cado o livro “Visual Cryptography and Visual Secret Sharing” [15], que apresenta uma compila¸c˜ao de artigos presentes na literatura divididos por temas, al´em de discutir os problemas envolvidos e propostas de aplica¸c˜ao, tornando-se uma das referˆencias b´asicas para o bom entendimento da ´area. Um novo livro foi lan¸cado em 2014, com o t´ıtulo “Visual Cryptography for Image Processing and Security” [41], mais conciso e adicionando novos resultados em rela¸c˜ao ao primeiro livro.

A maioria dos trabalhos estudados tiveram como objetivo melhorar a qualidade do segredo recuperado, mas n˜ao mostram resultados de sobreposi¸c˜oes usando parcelas im-pressas em material transparente ou em outros tipos de dispositivos. Grande parte das sobreposi¸c˜oes mostradas nos trabalhos foi realizada digitalmente, o que evita problemas reais como desvio de alinhamento e perda de contraste relacionados `a qualidade das im-press˜oes.

(34)

Plano de Projeção

Pontos

Focais

Parcela 1

n

1

n

2

n

P

Parcela 2

Figura 2.17: Parˆametros de configura¸c˜ao dos projetores.

2.3 Seguran¸ca dos M´etodos de Criptografia Visual

Com rela¸c˜ao `a seguran¸ca dos m´etodos de criptografia visual, a maioria dos autores defende que a seguran¸ca do m´etodo pode ser garantida somente se cada conjunto de parcelas for utilizado uma ´unica vez. Na maioria dos casos, os autores comparam os m´etodos de criptografia visual com as cifras one-time-pad, tamb´em chamadas de cifras perfeitas, j´a que ´e imposs´ıvel para um atacante recuperar qualquer informa¸c˜ao a partir do texto cifrado sem nenhum conhecimento do texto claro [2]. Muitos autores utilizam esses argumentos para indicar a seguran¸ca do m´etodo, mas poucos fazem uma demonstra¸c˜ao formal para suas propostas.

Em cen´arios de reutiliza¸c˜ao de parcelas, o m´etodo tradicional de Naor e Shamir para o caso 2-de-2 ´e especialmente fr´agil [42]. Caso utilizemos uma parcela chave Sk para

encriptar duas imagens secretas diferentes, teremos como resultados duas parcelas, Sa e

Sb, com alto grau de dependˆencia. Ao sobrepor cada uma das parcelas com a parcela

chave, recuperar´ıamos os segredos diferentes, como desejado. Entretanto, ao sobrepor Sa

(35)

2.3. Seguran¸ca dos M´etodos de Criptografia Visual 19 2.18 [42]. Podemos notar que as regi˜oes onde os segredos se intersectam s˜ao reveladas em branco. Esse efeito est´a relacionado com as propriedades associativas e comutativas da opera¸c˜ao XOR. Considerando Cae Cb a sobreposi¸c˜ao da parcelas Sae Sb, respectivamente,

com a parcela Sk, temos: Ca⊕ Cb = (Sk⊕ Sa) ⊕ (Sk⊕ Sb) = Sa⊕ (Sk⊕ Sk) ⊕ Sb = Sa⊕ Sb

Figura 2.18: Resultado da sobreposi¸c˜ao de duas parcelas geradas a partir de uma mesma parcela chave.

Em [43] ´e apresentado um estudo sobre a vulnerabilidade do m´etodo tradicional e um m´etodo para gerar parcelas falsificadas, baseado em conhecimento das matrizes base escolhidas para a constru¸c˜ao das transparˆencias, ou seja, a fraude pode ser cometida por um dos participantes com acesso ao algoritmo e parˆametros utilizados para a constru¸c˜ao. Os autores mostram, ainda, um m´etodo para que o sistema seja resistente `a fraudes desse tipo. Entretanto, em [44] s˜ao apresentadas novas maneiras de gerar falsifica¸c˜oes para os m´etodos tradicionais e estendidos, mesmo que as parcelas sejam geradas com o m´etodo de preven¸c˜ao de fraudes proposto em [43]. Tamb´em ´e apresentado um m´etodo onde n˜ao ´e necess´ario conhecimento sobre a constru¸c˜ao das parcelas, somente das parcelas em si. Outros tipos de falsifica¸c˜oes e propostas de m´etodos de preven¸c˜ao de fraudes s˜ao apresentados em [45, 46, 47]. O estudo te´orico da seguran¸ca dos m´etodos de criptografia visual ´e uma das metas de trabalhos futuros, como dito na se¸c˜ao 5.1.

(36)

2.4 Autentica¸c˜ao de Transa¸c˜oes e Produtos

Autentica¸c˜ao ´e uma medida de seguran¸ca para verificar e garantir a identidade de um usu´ario antes de permitir o acesso a determinado servi¸co ou informa¸c˜ao. Atualmente, o meio mais comum de autentica¸c˜ao em servi¸cos simples, como webmail ou redes sociais, ´e a utiliza¸c˜ao de um nome de usu´ario e senha, sendo que apenas o usu´ario tem conhecimento dessas informa¸c˜oes. Entretanto, esse tipo de sistema ´e vulner´avel a roubo de informa¸c˜ao, via phishing ou keylogger instalado no dispositivo em que o usu´ario est´a realizando o acesso. Para aumentar o grau de seguran¸ca, outros mecanismos foram inseridos nos protocolos de autentica¸c˜ao, como senhas impressas e um segundo dispositivo sincronizado com um servidor, fazendo com que a seguran¸ca da autentica¸c˜ao se baseie em alguma informa¸c˜ao que o usu´ario possui no momento da opera¸c˜ao [48].

No que diz respeito a autentica¸c˜oes de transa¸c˜oes banc´arias, existe uma grande va-riedade de solu¸c˜oes. A mais comum ´e a utiliza¸c˜ao de cart˜oes de senha com 40 ou 50 n´umeros de 4 ou 5 d´ıgitos, que devem ser digitados quando um usu´ario realiza opera¸c˜oes via internet, seja via website ou utilizando o aplicativo para dispositivos m´oveis fornecido pelo banco. Outra solu¸c˜ao s˜ao dispositivos especializados que geram chaves de uso ´unico, popularmente conhecidos como tokens de seguran¸ca, que podem ser de dois tipos: um dispositivo que exibe uma sequˆencia num´erica; um dispositivo que deve ser conectado ao computador utilizando a porta USB. Um exemplo de token de seguran¸ca ´e o RSA Secu-rID, mostrado na Figura 2.19 [49]. Alguns bancos substitu´ıram o token de seguran¸ca por um c´odigo num´erico enviado via SMS para um telefone previamente cadastrado. Essas solu¸c˜oes tˆem como objetivo realizar autentica¸c˜ao de usu´ario para o banco.

Figura 2.19: Token RSA SecurID.

No caso de autentica¸c˜ao de produtos, est´a se tornando uma pr´atica comum a utiliza¸c˜ao de c´odigos QR (QR Codes) [50], que s˜ao c´odigos de barra bidimensionais contendo in-forma¸c˜ao alfanum´erica, como uma URL para uma p´agina da internet onde o usu´ario pode verificar se aquele produto ´e autentico. Por exemplo, a empresa Hewlett-Packard (HP) utiliza etiquetas hologr´aficas contendo um c´odigo QR para que o usu´ario possa verificar

(37)

2.4. Autentica¸c˜ao de Transa¸c˜oes e Produtos 21 se o produto ´e leg´ıtimo. Para a verifica¸c˜ao, basta o usu´ario utilizar seu dispositivo m´ovel para ler o c´odigo QR e ser´a redirecionado para um website onde poder´a verificar se o produto ´e autˆentico. A Figura 2.20 mostra o selo presente em um cartucho de impressora.

Figura 2.20: Modelo de selo de autentica¸c˜ao da Hewlett Packard.

Um dos problemas de utilizar c´odigos QR ´e a grande facilidade de se gerar um novo c´odigo a partir de websites da internet. Uma busca simples por “qr code generator” retorna websites que permitem gerar c´odigos personalizados, com o conte´udo que escolhermos e sem nenhum tipo de valida¸c˜ao. A Figura 2.21 mostra um c´odigo QR gerado a partir de um desses websites [51], contendo o t´ıtulo dessa disserta¸c˜ao.

Figura 2.21: Exemplo de c´odigo QR gerado em website.

Infelizmente, essa facilidade em gerar c´odigos QR pode ser explorada para criar falsi-fica¸c˜oes elaboradas. Utilizando um produto original para termos acesso aos detalhes do processo de autentica¸c˜ao, podemos copiar o website da empresa e criar uma vers˜ao falsa,

(38)

com caracter´ısticas semelhantes e que fa¸ca com que o usu´ario acredite que est´a autenti-cando um produto original. Seguindo essa ideia, criamos uma c´opia do site de autentica¸c˜ao da HP, hospedada na ´area pessoal do aluno no servidor do Instituto de Computa¸c˜ao. Essa c´opia foi criada com prop´ositos unicamente acadˆemicos, para mostrar a fragilidade de um protocolo que utiliza c´odigos QR, e teve o texto FAKE inclu´ıdo em diversos locais, como logotipos e textos, salientando que se trata de uma c´opia alterada. A Figura 2.22 mostra, lado a lado, a visualiza¸c˜ao da primeira p´agina do sistema de verifica¸c˜ao de legitimidade da HP em um smartphone. J´a a Figura 2.23 mostra a segunda p´agina, que deve informar ao cliente se o produto ´e original ou n˜ao.

Figura 2.22: Primeira p´agina da verifica¸c˜ao de produtos da HP (original e c´opia). No caso dos medicamentos, a Agˆencia Nacional de Vigilˆancia Sanit´aria (Anvisa) reco-menda aos fabricantes o uso de alguns recursos que dificultem a falsifica¸c˜ao, como lacres com o logotipo do fabricante, tinta reativa a material met´alico na caixa do medicamento e dados de produ¸c˜ao (data de fabrica¸c˜ao, validade e lote) em baixo relevo. A Figura 2.24 mostra uma imagem dispon´ıvel no site da Anvisa, com indica¸c˜oes sobre o posicionamento de cada um desses itens. Essas medidas apenas dificultam a falsifica¸c˜ao, mas n˜ao a impe-dem. No ano de 2013 foram encontradas 134 falsifica¸c˜oes de medicamentos ou cosm´eticos [52]. No ano de 2014, at´e o mˆes de Outubro, foram encontradas 9 falsifica¸c˜oes. Essas falsifica¸c˜oes podem ser bastante elaboradas, com boa qualidade de impress˜ao e contendo dados de produ¸c˜ao de produtos originais estampados nas caixas.

Foram encontrados relatos de pe¸cas automotivas falsificadas, como pastilhas de freio, limpadores de parabrisa e velas de motor. Entretanto, n˜ao encontramos maiores in-forma¸c˜oes nos sites dos fabricantes sobre como verificar se um produto ´e autˆentico.

(39)

2.5. Aplica¸c˜oes de Criptografia Visual em Autentica¸c˜ao 23

Figura 2.23: Segunda p´agina da verifica¸c˜ao de produtos da HP (original e c´opia).

Figura 2.24: Recomenda¸c˜oes de seguran¸ca da Anvisa [52].

Para os cen´arios apresentados anteriormente, foram propostos esquemas que utilizam criptografia visual como solu¸c˜ao robusta para autentica¸c˜ao, como mostraremos na Se¸c˜ao 2.5.

2.5 Aplica¸c˜oes de Criptografia Visual em Autentica¸c˜ao

A criptografia visual foi apresentada inicialmente como m´etodo de compartilhamento de segredos, por´em existem propostas para sua aplica¸c˜ao como alternativa de autentica¸c˜ao por dois fatores. A primeira aplica¸c˜ao em autentica¸c˜ao envolvendo criptografia visual foi apresentada em 1997 por Naor e Pinkas em [53], com o objetivo de realizar transa¸c˜oes banc´arias com seguran¸ca mesmo se o dispositivo estiver comprometido por algum malware.

(40)

O m´etodo sugerido utiliza um conjunto de transparˆencias distribu´ıdo para os clientes de um banco, que deve posicionar uma das transparˆencias sobre a tela de um dispositivo, revelando informa¸c˜oes para a valida¸c˜ao daquela transa¸c˜ao. Essas informa¸c˜oes podem ser, por exemplo, c´odigo da agˆencia banc´aria, n´umero da conta e valor da transa¸c˜ao. A Figura 2.25 mostra um exemplo de aplica¸c˜ao em autentica¸c˜ao, utilizando uma parcela impressa em material transparente. A Figura 2.26 mostra o resultado esperado da sobreposi¸c˜ao de uma transparˆencia em um monitor, exibindo o segredo revelado.

BANCO ABCD

Sobreponha a transparência para revelar o segredo

Digite aqui o TAN revelado: Agência

Conta Valor TAN

Con�rmar

Figura 2.25: Exemplo de aplica¸c˜ao de autentica¸c˜ao. BANCO ABCD

Sobreponha a transparência para revelar o segredo

Digite aqui o TAN revelado: Agência Conta Valor TAN

1234

010992679

10845

18936270

Con�rmar

Figura 2.26: Resultado da sobreposi¸c˜ao da transparˆencia em um monitor.

Ap´os verificar as informa¸c˜oes reveladas, o usu´ario poderia inserir o n´umero de au-tentica¸c˜ao ´unico para aquela transa¸c˜ao, tamb´em revelado na sobreposi¸c˜ao, e confirmar a transa¸c˜ao no sistema de internet banking. Esse n´umero de autentica¸c˜ao, normalmente chamado de TAN (transaction autentication number), pode ser gerado utilizando os dados da transa¸c˜ao como parˆametros, tornando-se ´unico para aquele conjunto de dados. Tais

(41)

2.5. Aplica¸c˜oes de Criptografia Visual em Autentica¸c˜ao 25 medidas tornam o sistema resistente contra ataques do tipo homem-no-meio

(man-in-the-middle)[2], onde um atacante intercepta informa¸c˜ao transferida pelo canal seguro e pode

substituir valores ou dados da transa¸c˜ao, possibilitando o desvio de valores. O m´etodo torna-se mais resistente a ataques desse tipo, pois o c´odigo de autentica¸c˜ao de transa¸c˜ao revelado ap´os a sobreposi¸c˜ao ´e ´unico para os dados dessa transa¸c˜ao, ou seja, o atacante n˜ao consegue utilizar esse c´odigo para autenticar outras transa¸c˜oes. Uma t´ecnica similar ´e proposta em [54] e envolve revelar ´areas clic´aveis dentro da imagem recuperada, tornando o sistema seguro contra ataques de homem-do-meio que utilizam trojans e keyloggers, pois elimina a necessidade do usu´ario digitar c´odigos de autentica¸c˜ao. Seguindo o mesmo princ´ıpio de ´areas clic´aveis, a imagem secreta pode conter um teclado num´erico virtual, com n´umeros em posi¸c˜oes aleat´orias, para que o usu´ario insira alguma senha ou TAN por meio de cliques sobre os n´umeros. A Figura 2.27 mostra um exemplo de segredos revelados contendo ´areas clic´aveis e um teclado virtual, onde o usu´ario poderia clicar para informar alguma senha.

BANCO ABCD

Posicione seu dispositivo móvel para revelar o segredo:

Clique nos círculos pretos para Con�rmar a transação

Agência Conta Valor TAN

1234

010992679

10845

18936270

Figura 2.27: Propostas de aplica¸c˜oes em autentica¸c˜ao.

Considerando a parte do protocolo que depende apenas da criptografia visual, con-sideramos as seguintes etapas: gera¸c˜ao das parcelas, entrega da parcela do usu´ario e da parcela exibida em um dispositivo, sobreposi¸c˜ao das parcelas, recupera¸c˜ao do segredo e confirma¸c˜ao da transa¸c˜ao. A partir dessas etapas, elaboramos o fluxograma mostrado na Figura 2.28, destacando com os n´umeros 1 e 2 onde os principais problemas pr´aticos po-dem ocorrer, tais como problemas de entrega de parcelas ao usu´ario e problemas durante a sobreposi¸c˜ao das parcelas.

Conforme dissemos na Se¸c˜ao 2.2, a seguran¸ca do m´etodo de criptografia visual tradi-cional ´e garantida quando cada conjunto de parcelas ´e utilizado apenas uma vez. Dessa forma, um dos problemas do protocolo proposto ´e a quantidade de parcelas que um banco

(42)

Gerar

Parcelas EntregarParcelas Sobreposição /Recuperação

Dispositivo Transparência 1

2

Figura 2.28: Fluxograma de autentica¸c˜ao utilizando criptografia visual.

deve fornecer ao usu´ario para que o mesmo possa autenticar um n´umero razo´avel de transa¸c˜oes antes de solicitar novas transparˆencias. Assim, temos um problema de en-trega de parcelas ao usu´ario, que est´a representado pelo n´umero 1 da Figura 2.28. Al´em da entrega, esse n´umero de parcelas pode gerar incˆomodo ao usu´ario, fazendo com que o mesmo carregue um conjunto de transparˆencias para que possa realizar autentica¸c˜oes quando necess´ario. Em [53] Naor e Pinkas propuseram um m´etodo de reutiliza¸c˜ao de um conjunto de parcelas, dividindo-as em ´areas menores que revelam diferentes segredos de acordo com a ´area escolhida para realizar a sobreposi¸c˜ao. Um dos problemas desse m´etodo ´e que o tamanho da imagem secreta deve ser reduzido, podendo trazer problemas durante a recupera¸c˜ao do segredo.

Recentemente, Piva [55] apresentou uma t´ecnica de gera¸c˜ao que permite a reutiliza¸c˜ao de parcelas com maior seguran¸ca. No protocolo de autentica¸c˜ao proposto, ´e utilizado um dispositivo m´ovel e uma parcela impressa em material transparente. Essa parcela ´e gerada de maneira aleat´oria, com 50% dos pixels pretos. Com o conhecimento do conte´udo da parcela entregue ao usu´ario, o banco gera uma parcela digital para cada transa¸c˜ao, seguindo crit´erios diferentes dos tradicionais, garantindo a seguran¸ca mesmo quando a mesma parcela impressa ´e utilizada para algum n´umero de autentica¸c˜oes. O n´umero de vezes que uma parcela pode ser utilizada ainda n˜ao est´a bem definido, mas ´e um resultado importante para a pesquisa de reutiliza¸c˜ao.

Al´em do problema da quantidade de transparˆencias que devem ser entregues ao usu´ario, a utiliza¸c˜ao de parcelas impressas traz outros problemas. Um deles est´a relacionado `a qua-lidade da impress˜ao, pois ´e dif´ıcil e custoso imprimir em material transparente com tinta totalmente opaca (que impede a passagem de luz). Se a impress˜ao n˜ao for feita com qualidade, poder´a ocorrer uma perda de contraste adicional, que pode prejudicar a recu-pera¸c˜ao e entendimento do segredo. No fluxo da Figura 2.28, esse problema ´e indicado com o n´umero 2.

(43)

2.5. Aplica¸c˜oes de Criptografia Visual em Autentica¸c˜ao 27 Outro problema est´a relacionado `a etapa de sobreposi¸c˜ao em si, j´a que existe uma grande variedade de dispositivos como monitores, tablets e smartphones dispon´ıveis no mercado, com diferentes tamanhos e resolu¸c˜oes de tela, tornando a etapa de sobreposi¸c˜ao complicada, pois o banco deveria fazer um tipo de ajuste no tamanho da parcela exibida no dispositivo para ser compat´ıvel com o tamanho da transparˆencia impressa. Como dito na Se¸c˜ao 2.1, o alinhamento das parcelas sobrepostas deve ser o melhor poss´ıvel, j´a que pequenos desvios podem impedir a recupera¸c˜ao do segredo.

No CeBit 2014 [56], foi apresentado pela empresa inglesa Tento Technologies [57] um produto chamado Tento Cards, que incorpora uma mistura de applet Java com parcela impressa em material transparente para realizar login. Um website que utiliza o produto forneceria instru¸c˜oes de como o usu´ario poderia adquirir e imprimir sua parcela em um cart˜ao, que seria utilizado a cada login, revelando ao usu´ario uma nova senha a cada acesso. Para identificar o usu´ario, ele deve entrar com nome de usu´ario e sua senha para o sistema da Tento, fazendo com que o applet exiba a parcela digital na tela e permitindo ao usu´ario realizar a sobreposi¸c˜ao do cart˜ao. A empresa alega que um ´unico cart˜ao transparente pode ser utilizado mais de trˆes milh˜oes de vezes, entretanto n˜ao fornece nenhuma indica¸c˜ao de an´alise formal de seguran¸ca. A Figura 2.29 mostra um exemplo do produto, obtido no site da empresa [57]. Vale ressaltar que apesar da similaridade conceitual, a produto tem pouca rela¸c˜ao com criptografia visual.

Figura 2.29: Exemplo de Tento Cards presente no site da empresa.

No mesmo contexto, em 2013 a AT&T apresenta o EyeDecrypt [58], que n˜ao utiliza criptografia visual, mas uma codifica¸c˜ao diferenciada onde um segredo ´e separado em blocos e cifrado. O usu´ario deve utilizar um dispositivo m´ovel para revelar o segredo. Nesse caso, o dispositivo funciona como uma ”lente”, decifrando o conte´udo e revelando visualmente o segredo na tela do dispositivo para o usu´ario, utilizando uma esp´ecie de realidade aumentada. Os autores alegam que essa proposta ´e interessante principalmente para acesso de conte´udo sens´ıvel em locais p´ublicos, como saldo de conta banc´aria exibido na tela de um caixa eletrˆonico ou at´e mesmo inser¸c˜ao da senha para opera¸c˜oes banc´arias.

(44)

A Figura 2.30 mostra um exemplo de bloco de texto cifrado para o EyeDecrypt e a Figura 2.31 mostra o segredo revelado para o usu´ario.

Figura 2.30: Esquema de codifica¸c˜ao de cada bloco do EyeDecrypt

Figura 2.31: Aspecto da recupera¸c˜ao de segredo via EyeDecrypt.

Em Setembro de 2014, foi lan¸cado o livro ”Authentication in Insecure Enviroments”[42], onde o autor faz uma an´alise da seguran¸ca de protocolos que utilizam criptografia visual e analisa formalmente um protocolo que utiliza uma codifica¸c˜ao diferenciada para n´umeros, que o autor chama de codifica¸c˜ao em dados (dice coding). Para isso, o autor define um modelo de ataque onde o atacante somente tem acesso ao texto cifrado escolhido, que se aproxima de um cen´ario de aplica¸c˜ao real.

Diversos autores propuseram aplica¸c˜oes que utilizam criptografia visual, mas h´a pou-cos ind´ıcios de resultados experimentais na literatura. Na Se¸c˜ao 3.1, mostramos nossa proposta de aplica¸c˜ao em autentica¸c˜ao, que utiliza um dispositivo m´ovel como “trans-parˆencia”, contornando alguns dos problemas pr´aticos descritos na Se¸c˜ao 2.1.

(45)

Cap´ıtulo 3

Proposta de Solu¸c˜ao

Nesse cap´ıtulo, apresentaremos nossa proposta de solu¸c˜ao para os problemas citados na Se¸c˜ao 2.5, transformando um dispositivo m´ovel em uma “transparˆencia”, utilizando sua cˆamera e tela. Ao utilizarmos um dispositivo m´ovel, tornamos protocolos de autentica¸c˜ao que utilizam criptografia visual mais pr´aticos, facilitando a entrega de parcelas ao usu´ario em tempo real e fornecendo uma maneira de sobrepor automaticamente as parcelas.

3.1 Nossa Proposta

Nossa proposta de solu¸c˜ao para os problemas apresentados na Se¸c˜ao 2.5 envolve tornar o dispositivo m´ovel uma “transparˆencia”, utilizando sua cˆamera para visualizar uma parcela presente em outro meio, como um monitor ou na embalagem de um produto, e sobrepˆo-la com uma parcela digital presente no dispositivo, revelando o segredo ao usu´ario. At´e onde temos conhecimento, nossa proposta ´e a primeira a utilizar criptografia visual dessa maneira, explorando a grande variedade de dispositivos m´oveis presentes no mercado, desde que o dispositivo possua cˆamera e capacidade de processamento suficiente. A Figura 3.1 mostra o resultado que deve ser exibido para o usu´ario ap´os o sistema de alinhamento autom´atico sobrepor as parcelas.

A utiliza¸c˜ao de um dispositivo m´ovel no protocolo de autentica¸c˜ao traz vantagens imediatas, contornando os problemas pr´aticos de se utilizar criptografia visual para au-tentica¸c˜ao citados anteriormente. Uma das vantagens ´e a facilidade de distribui¸c˜ao de parcelas, que podem ser geradas em tempo real por uma institui¸c˜ao banc´aria e enviada para o dispositivo via internet, utilizando o dispositivo que o usu´ario j´a possui e eli-minando a necessidade de gerar parcelas impressas com qualidade. Outra vantagem ´e utilizar a capacidade computacional do dispositivo m´ovel para auxiliar no processo de ali-nhamento e sobreposi¸c˜ao das parcelas, facilitando a recupera¸c˜ao do segredo. Mostraremos no Cap´ıtulo 3.2 como isso ´e poss´ıvel.

(46)

BANCO ABCD

Posicione seu dispositivo móvel para revelar o segredo:

Digite aqui o TAN revelado:

Agência Conta Valor TAN Con�rmar Agência Conta Valor TAN 1234 010992679 10845 18936270

Figura 3.1: Resultado da sobreposi¸c˜ao utilizando dispositivo m´ovel.

Al´em da criptografia visual tradicional, podemos utilizar outros esquemas conhecidos, como o baseado em segmentos, j´a que ele apresenta algumas vantagens com rela¸c˜ao ao m´etodo tradicional, tais como melhor contraste e maior tolerˆancia a desvios de alinha-mento, como discutiremos na Se¸c˜ao 4.1.2. Um exemplo de resultado esperado ´e mostrado na Figura 3.2.

BANCO ABCD

Posicione seu dispositivo móvel para revelar o segredo:

Digite aqui o TAN revelado:

Agência Conta Valor TAN Con�rmar Agência Conta Valor TAN

Figura 3.2: Resultado de sobreposi¸c˜ao utilizando o m´etodo baseado em segmentos. Explorando o nosso sistema de alinhamento, podemos utiliz´a-lo em qualquer protocolo de autentica¸c˜ao baseado na sobreposi¸c˜ao de duas imagens. A Figura 3.3 mostra como utilizar nosso sistema para revelar segredos utilizando Grelhas de Cardano, que ´e um

(47)

3.1. Nossa Proposta 31 m´etodo cl´assico de esteganografia desenvolvido por Girolamo Cardano (1501-1576) [59], que utiliza uma placa de material opaco com aberturas, que quando sobreposta em um texto, destaca certas letras e revela o segredo. No nosso exemplo, exibimos um conjunto de n´umeros em uma ´area de um monitor e posicionamos o dispositivo m´ovel, que realizar´a a sobreposi¸c˜ao de uma imagem que possui ´areas transparentes. Ap´os a sobreposi¸c˜ao, alguns n´umeros seriam destacados, revelando uma ordem que o usu´ario deve digit´a-los.

BANCO ABCD

Posicione seu dispositivo móvel para revelar o segredo:

1 4 7 2 8 4 2 9 6 1 4 8 2 5 3 9 0 4 8 1 3 5 9 2 4 5 2 6 0 2 7 3 1 4 2 7 6 3 9 5 5 3 8 5 4 1 2 6 9 0 1 4 7 2 8 4 2 9 6 1 4 8 2 5 3 9 0 4 8 1 3 5 9 2 4 5 2 6 0 2 7 3 1 4 2 7 6 3 9 5 5 3 8 5 4 1 2 6 9 0

Figura 3.3: Resultado de sobreposi¸c˜ao utilizando Grelhas de Cardano.

3.1.1 Poss´ıveis protocolos de autentica¸c˜ao

Nesta se¸c˜ao apresentaremos poss´ıveis protocolos para o cen´ario de autentica¸c˜ao de transa¸c˜oes banc´arias e para a verifica¸c˜ao de legitimidade de produtos. Esses protocolos precisam ser melhor estudados, estabelecendo crit´erios necess´arios para manter a seguran¸ca do proto-colo e poss´ıveis ataques ao mesmo.

No cen´ario de autentica¸c˜ao banc´aria, um banco poderia gerar duas parcelas, exibindo uma em um monitor e enviando a outra para o dispositivo m´ovel de um usu´ario. Ao receber a parcela, o usu´ario utilizaria nosso sistema de alinhamento para revelar o segredo, revelando um c´odigo de autentica¸c˜ao, que deve ser digitado para realizar a confirma¸c˜ao da transa¸c˜ao. Supondo que o sistema de internet banking possui um m´odulo de gera¸c˜ao de parcelas, que envia uma parcela para o dispositivo m´ovel com toda a seguran¸ca necess´aria. As etapas desse protocolo seriam:

1. Antes de realizar transa¸c˜oes banc´arias, o usu´ario deve obter o aplicativo fornecido pelo banco, que cont´em a seguran¸ca necess´aria para o envio das parcelas e o sistema de alinhamento proposto.

(48)

2. O usu´ario acessa o sistema de internet banking, solicitando uma transa¸c˜ao banc´aria. 3. O sistema de internet banking solicita a um gerador de parcelas um conjunto de

parcelas para a autentica¸c˜ao da transa¸c˜ao.

4. O gerador de parcelas utiliza dados da transa¸c˜ao para criar uma imagem secreta e envia para o sistema de internet banking.

5. O sistema de internet banking exibe no monitor do usu´ario uma das parcelas; e envia para o dispositivo m´ovel, de maneira segura, a segunda parcela. Esse envio pode utilizar outras opera¸c˜oes criptogr´aficas para garantir a seguran¸ca.

6. O dispositivo m´ovel recebe a parcela, por meio do aplicativo fornecido pelo banco. 7. O usu´ario posiciona o dispositivo m´ovel na frente do monitor do computador,

bus-cando enquadrar na tela a parcela exibida no mesmo.

8. O aplicativo detecta a parcela exibida no monitor e sobrep˜oe automaticamente a parcela recebida, revelando o segredo.

9. O usu´ario reconhece o segredo visualmente, e deve digitar o c´odigo de valida¸c˜ao da transa¸c˜ao no sistema de internet banking ap´os verificar os dados da transa¸c˜ao. 10. Ap´os receber o c´odigo de valida¸c˜ao, o banco realiza a transa¸c˜ao e exibe um

compro-vante para o usu´ario.

Poder´ıamos substituir o c´odigo de valida¸c˜ao digitado por um teclado virtual ou ´area clic´avel dentro do segredo, tornando o sistema ainda mais seguro contra ataques do tipo homem-do-meio.

No caso de autentica¸c˜ao de produtos, o fabricante poderia fornecer instru¸c˜oes na em-balagem de como obter a parcela adequada a partir do seu website, por exemplo. Ao obter a parcela digital, o usu´ario utilizaria novamente nosso sistema de alinhamento para verificar se o produto ´e leg´ıtimo. As etapas desse protocolo seriam:

1. O fabricante do produto gera, no momento da impress˜ao da embalagem do produto, uma parcela a partir de uma semente aleat´oria e a imprime na embalagem. Essa semente ser´a utilizada para construir a parcela do usu´ario e pode ser um timestamp da fabrica¸c˜ao do produto, por exemplo.

2. Ao adquirir o produto, o usu´ario acessa o website do fabricante, baixando um apli-cativo para a autentica¸c˜ao daquele produto.

(49)

3.2. Sistema de Sobreposi¸c˜ao Autom´atica 33 4. O aplicativo utiliza a informa¸c˜ao para gerar a parcela correspondente e inicia o

sistema de alinhamento autom´atico de parcelas.

5. Ap´os o alinhamento, o usu´ario poder´a verificar as informa¸c˜oes que permitem au-tenticar o produto, como logotipo da empresa, lote do produto, ou at´e mesmo um c´odigo adicional, que o usu´ario dever´a inserir no website do fabricante, obtendo mais informa¸c˜oes sobre o produto.

Esse protocolo ´e similar ao que utiliza c´odigos QR, citado na Se¸c˜ao . Por´em, ao utilizar criptografia visual, aumentamos muito a dificuldade e o custo de criar falsifica¸c˜oes convincentes, tornando uma fraude menos pratic´avel.

3.2 Sistema de Sobreposi¸c˜ao Autom´atica

Nessa se¸c˜ao, apresentaremos detalhes da implementa¸c˜ao de uma prova de conceito desen-volvida para Android. Utilizando a ideia de transformar o celular em uma transparˆencia, fizemos trˆes implementa¸c˜oes. A primeira simplesmente insere uma transparˆencia sobre a visualiza¸c˜ao da cˆamera, que n˜ao trouxe bons resultados. Na segunda implementa¸c˜ao, inserimos o sistema de alinhamento autom´atico, que utiliza t´ecnicas comuns de an´alise de imagens para detectar a parcela alvo. A terceira implementa¸c˜ao utiliza pontos de controle presentes na parcela alvo para encontrar as coordenadas de sobreposi¸c˜ao.

3.2.1 Primeira Implementa¸c˜ao

A primeira tentativa de implementa¸c˜ao teve o objetivo de observar a viabilidade de uti-lizar um dispositivo m´ovel como transparˆencia. Para isso, desenvolvemos um aplicativo em que poder´ıamos adicionar uma parcela gerada utilizando criptografia visual sobre a visualiza¸c˜ao da cˆamera. Essa visualiza¸c˜ao da cˆamera (camera preview) ´e uma estrutura que mostra na tela do dispositivo o que est´a sendo capturado pela cˆamera do dispositivo. A Figura 3.4 mostra a interface principal da nossa aplica¸c˜ao, onde vemos a parcela trans-parente sobre a visualiza¸c˜ao da cˆamera. Podemos notar que alguns pontos de controle foram adicionados `a parcela, para facilitar o processo de alinhamento.

Os resultados para essa implementa¸c˜ao n˜ao foram satisfat´orios, pois havia grande dificuldade para a sobreposi¸c˜ao das parcelas. Devido ao pr´oprio m´etodo de captura de imagens pela cˆamera, pequenos movimentos da posi¸c˜ao do dispositivo geravam dis-tor¸c˜oes no aspecto da parcela capturada, tornando muito dif´ıcil o alinhamento preciso e a recupera¸c˜ao do segredo. A Figura 3.5 mostra um exemplo do problema de desvio de alinhamento devido `a dificuldade de sobreposi¸c˜ao das parcelas.

(50)

Essa primeira implementa¸c˜ao nos mostrou a necessidade do dispositivo m´ovel realizar a sobreposi¸c˜ao e alinhamento das parcelas, facilitando a utiliza¸c˜ao e recupera¸c˜ao do segredo por parte do usu´ario. Na Se¸c˜ao 3.2.2, mostraremos como isso ´e poss´ıvel.

Figura 3.4: Aparˆencia da primeira implementa¸c˜ao.

Figura 3.5: Problema na sobreposi¸c˜ao das parcelas utilizando a primeira implementa¸c˜ao.

3.2.2 Segunda Implementa¸c˜ao

Tendo em vista a dificuldade para realizar o alinhamento das parcelas utilizando a primeira implementa¸c˜ao, buscamos maneiras para que o dispositivo m´ovel auxilie o usu´ario nessa tarefa. Para isso, utilizamos t´ecnicas presentes na literatura de An´alise de Imagens [60] para localizar a parcela alvo e realizar a sobreposi¸c˜ao da parcela complementar. Essa etapa de localiza¸c˜ao ´e essencial, pois o aplicativo ser´a capaz de realizar opera¸c˜oes de

(51)

3.2. Sistema de Sobreposi¸c˜ao Autom´atica 35 transforma¸c˜ao de perspectiva, buscando o melhor ajuste para cada quadro capturado pela cˆamera. Vale ressaltar que o processamento de cada quadro pode ser realizado de diversas maneiras, desde que o resultado sejam as coordenadas necess´arias para a sobreposi¸c˜ao precisa das parcelas. As etapas gerais para o nosso sistema de alinhamento autom´atico s˜ao:

1. Capturar a parcela alvo utilizando a cˆamera do dispositivo m´ovel.

2. Processar o quadro capturado, obtendo coordenadas para a sobreposi¸c˜ao precisa das parcelas.

3. Transformar e mesclar a informa¸c˜ao da parcela complementar com o quadro pro-cessado, utilizando as coordenadas obtidas.

4. Exibir o resultado da sobreposi¸c˜ao na tela do dispositivo m´ovel.

A segunda e a terceira etapas podem ser realizadas de diversas maneiras, tais como detec¸c˜ao de objetos ou reconhecimento de padr˜oes. Para essa implementa¸c˜ao, utilizamos detec¸c˜ao de objetos retangulares.

Para as opera¸c˜oes de manipula¸c˜ao de imagens, utilizamos a biblioteca OpenCV 2.4.8 [61], por ser otimizada para esse tipo de opera¸c˜oes. Uma prova de conceito inicial foi implementada na linguagem Python 2.7.5 em um Ubuntu Linux 13.10, onde a webcam exercia o papel da cˆamera do dispositivo m´ovel. Ap´os os testes necess´arios para deter-mina¸c˜ao de parˆametros, implementamos uma prova de conceito para Android, utilizando o Android-SDK (vers˜ao de 30/10/2013) e OpenCV 2.4.8 para Android. Para a execu¸c˜ao de aplicativos desenvolvidos utilizando OpenCV para Android, ´e necess´ario instalar o OpenCV Manager, dispon´ıvel no Google Play [62], que carrega os elementos necess´arios para a execu¸c˜ao do aplicativo e faz a comunica¸c˜ao entre as aplica¸c˜oes e o hardware do dispositivo, visando melhor compatibilidade.

Nessa implementa¸c˜ao utilizamos t´ecnicas de an´alise de imagens para calcular os ex-tremos da parcela impressa e, a partir deles, calcular a transforma¸c˜ao necess´aria para realizar a sobreposi¸c˜ao. De maneira breve, essas etapas s˜ao:

1. Suaviza¸c˜ao da imagem capturada, para retirar o excesso de informa¸c˜ao para as pr´oximas etapas.

2. Limiariza¸c˜ao da imagem suavizada, para diferenciar o conte´udo da parcela com o fundo da imagem.

3. Opera¸c˜oes morfol´ogicas de fechamento, para eliminar o excesso de informa¸c˜ao para as pr´oximas etapas.

Referências

Documentos relacionados

Segundo Éric Laurent, a psicose ordinária se caracteriza pela não resposta aos significantes-mestres tradicionais, manifestando o fim do poder do Nome-do-Pai como

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

Estaca de concreto moldada in loco, executada mediante a introdução no terreno, por rotação, de um trado helicoidal contínuo. A injeção de concreto é feita pela haste

Como irá trabalhar com JavaServer Faces voltado para um container compatível com a tecnologia Java EE 5, você deverá baixar a versão JSF 1.2, a utilizada nesse tutorial.. Ao baixar

CAIXA, além do benefício previsto no parágrafo segundo da cláusula 26, o empregado que adotar ou obtiver guarda judicial para fins de adoção de criança fará jus

Circuito secundário subterrâneo: parte da rede subterrânea, constituído de cabos isolados, que a partir dos transformadores de distribuição aéreo ou em pedestal conduz energia

We approached this by (i) identifying gene expression profiles and enrichment terms, and by searching for transcription factors in the derived regulatory pathways; and (ii)