Alguém usando FontCode forneceria uma mensagem secreta e um documento de texto da operadora. FontCode converte a mensagem secreta em uma string de bits (ASCII ou Unicode) e, em seguida, em uma sequência de inteiros. Cada número inteiro é atribuído a um bloco de cinco letras no texto normal, em que as localizações numeradas de cada letra são somadas ao número inteiro. Crédito:Changxi Zheng / Columbia Engineering
Cientistas da computação da Columbia Engineering inventaram o FontCode, uma nova maneira de incorporar informações ocultas em texto comum, mudando imperceptivelmente, ou perturbador, as formas das fontes no texto. FontCode cria perturbações de fonte, usando-os para codificar uma mensagem que pode ser decodificada posteriormente para recuperar a mensagem. O método funciona com a maioria das fontes e, ao contrário de outros métodos de texto e documento que ocultam informações incorporadas, funciona com a maioria dos tipos de documentos, mesmo mantendo as informações ocultas quando o documento é impresso em papel ou convertido para outro tipo de arquivo. O artigo será apresentado na SIGGRAPH em Vancouver, Columbia Britânica, 12 a 16 de agosto.
"Embora existam aplicações óbvias para espionagem, achamos que FontCode tem usos ainda mais práticos para empresas que desejam evitar adulteração de documentos ou proteger direitos autorais, e para varejistas e artistas que desejam incorporar códigos QR e outros metadados sem alterar a aparência ou o layout de um documento, "diz Changxi Zheng, professor associado de ciência da computação e autor sênior do artigo.
Zheng criou o FontCode com seus alunos Chang Xiao (aluno de Ph.D.) e Cheng Zhang MS'17 (agora um aluno de Ph.D. na UC Irvine) como um método esteganográfico de texto que pode incorporar texto, metadados, um URL, ou uma assinatura digital em um documento de texto ou imagem, seja armazenado digitalmente ou impresso em papel. Funciona com famílias de fontes comuns, como Times Roman, Helvética, e Calibri, e é compatível com a maioria dos programas de processamento de texto, incluindo Word e FrameMaker, bem como programas de edição e desenho de imagens, como Photoshop e Illustrator. Uma vez que cada letra pode ser perturbada, a quantidade de informações transmitidas secretamente é limitada apenas pela extensão do texto regular. As informações são codificadas usando perturbações de fonte diminutas - alterando a largura do traço, ajustando a altura de ascendentes e descendentes, ou apertar ou afrouxar as curvas em serifas e as taças de letras como o, p, e B.
"Mudando qualquer letra, sinal de pontuação, ou símbolo em uma forma ligeiramente diferente permite que você altere o significado do documento, "diz Xiao, o autor principal do artigo. "Esta informação oculta, embora não seja visível para os humanos, é legível por máquina, assim como códigos de barras e códigos QR são lidos instantaneamente por computadores. Contudo, ao contrário de códigos de barras e códigos QR, FontCode não prejudica a estética visual do material impresso, e sua presença pode permanecer secreta. "
Os dados ocultos usando FontCode podem ser extremamente difíceis de detectar. Mesmo que um invasor detecte alterações de fonte entre dois textos - altamente improvável devido à sutileza das perturbações - simplesmente não é prático verificar cada arquivo que entra e sai de uma empresa.
Além disso, FontCode não apenas incorpora, mas também pode criptografar mensagens. Enquanto as perturbações são armazenadas em um local numerado em um livro de código, suas localizações não são fixas. Pessoas que desejam se comunicar por meio de documentos criptografados concordam com uma chave privada que especifica os locais específicos, ou ordem, de perturbações no livro de código.
"A criptografia é apenas um nível de proteção de backup caso um invasor possa detectar o uso de alterações de fonte para transmitir informações secretas, "diz Zheng." É muito difícil ver as mudanças, então eles são realmente difíceis de detectar - isso torna o FontCode uma técnica muito poderosa para obter dados além das defesas existentes. "
FontCode não é a primeira tecnologia a ocultar uma mensagem em texto - existem programas para ocultar mensagens em arquivos PDF e Word ou para redimensionar o espaço em branco para denotar um 0 ou 1 - mas, os pesquisadores dizem, é o primeiro a ser independente de documentos e a reter as informações secretas mesmo quando um documento ou uma imagem com texto (PNG, JPG) é impresso ou convertido em outro tipo de arquivo. Isso significa que um arquivo FrameMaker ou Word pode ser convertido em PDF, ou um JPEG pode ser convertido para PNG, tudo sem perder as informações secretas.
Para usar FontCode, você forneceria uma mensagem secreta e um documento de texto da operadora. FontCode converte a mensagem secreta em uma string de bits (ASCII ou Unicode) e, em seguida, em uma sequência de inteiros. Cada número inteiro é atribuído a um bloco de cinco letras no texto regular, onde as localizações numeradas do livro de códigos de cada letra somam o número inteiro.
Recuperar mensagens ocultas é o processo inverso. De um arquivo digital ou de uma fotografia tirada com um smartphone, FontCode combina cada letra perturbada com a perturbação original no livro de código para reconstruir a mensagem original.
O casamento é feito usando redes neurais convolucionais (CNNs). O reconhecimento de fontes desenhadas por vetores (como as armazenadas como PDFs ou criadas com programas como o Illustrator) é simples, pois as definições de forma e caminho podem ser lidas por computador. Contudo, é uma história diferente para PNG, IMG, e outras fontes rasterizadas (ou pixel), onde a iluminação muda, diferentes perspectivas de câmera, ou ruído ou manchas podem mascarar uma parte da letra e impedir um fácil reconhecimento.
Embora os CNNs sejam treinados para levar em consideração tais distorções, erros de reconhecimento ainda ocorrerão, e um desafio-chave para os pesquisadores era garantir que uma mensagem sempre pudesse ser recuperada diante de tais erros. A redundância é uma maneira óbvia de recuperar informações perdidas, mas não funciona bem com texto, pois letras e símbolos redundantes são fáceis de detectar.
Em vez de, os pesquisadores se voltaram para o Teorema do Remanescente Chinês de 1.700 anos, que identifica um número desconhecido de seu restante após ter sido dividido por vários divisores diferentes. O teorema foi usado para reconstruir informações ausentes em outros domínios; em FontCode, os pesquisadores o utilizam para recuperar a mensagem original, mesmo quando nem todas as letras são reconhecidas corretamente.
"Imagine ter três variáveis desconhecidas, "diz Zheng." Com três equações lineares, você deve ser capaz de resolver todos os três. Se você aumentar o número de equações de três para cinco, você pode resolver as três incógnitas, desde que conheça quaisquer três das cinco equações. "
Usando a teoria do remanescente chinês, os pesquisadores demonstraram que podiam recuperar mensagens mesmo quando 25% das perturbações das letras não eram reconhecidas. Teoricamente, a taxa de erro poderia ser superior a 25%.
Os autores, que registraram uma patente na Columbia Technology Ventures, planejam estender o FontCode para outros idiomas e conjuntos de caracteres, incluindo chinês.
"Estamos entusiasmados com a ampla gama de aplicativos para FontCode, "diz Zheng, "do software de gerenciamento de documentos, para códigos QR invisíveis, à proteção de documentos jurídicos. FontCode pode ser uma virada de jogo. "
O estudo é intitulado "FontCode:Incorporação de informações em documentos de texto usando a perturbação glifo".