Någon som använder FontCode skulle tillhandahålla ett hemligt meddelande och ett textdokument. FontCode konverterar det hemliga meddelandet till en bitsträng (ASCII eller Unicode) och sedan till en sekvens av heltal. Varje heltal tilldelas ett fembokstavsblock i den vanliga texten där de numrerade platserna för varje bokstav summerar till heltal. Kredit:Changxi Zheng/Columbia Engineering
Datavetare vid Columbia Engineering har uppfunnit FontCode, ett nytt sätt att bädda in dold information i vanlig text genom att omärkligt ändra, eller störande, formerna på teckensnitt i text. FontCode skapar teckensnittsstörningar, använda dem för att koda ett meddelande som senare kan avkodas för att återställa meddelandet. Metoden fungerar med de flesta typsnitt och, till skillnad från andra text- och dokumentmetoder som döljer inbäddad information, fungerar med de flesta dokumenttyper, även att behålla den dolda informationen när dokumentet skrivs ut på papper eller konverteras till en annan filtyp. Uppsatsen kommer att presenteras på SIGGRAPH i Vancouver, British Columbia, 12-16 augusti.
"Medan det finns uppenbara ansökningar om spionage, vi tror att FontCode har ännu mer praktisk användning för företag som vill förhindra dokumentmanipulering eller skydda upphovsrätt, och för återförsäljare och artister som vill bädda in QR-koder och annan metadata utan att ändra utseendet eller layouten på ett dokument, säger Changxi Zheng, docent i datavetenskap och tidningens seniorförfattare.
Zheng skapade FontCode med sina studenter Chang Xiao (doktorand) och Cheng Zhang MS'17 (nu doktorand vid UC Irvine) som en textsteganografisk metod som kan bädda in text, metadata, en URL, eller en digital signatur i ett textdokument eller bild, oavsett om det är digitalt lagrat eller tryckt på papper. Det fungerar med vanliga teckensnittsfamiljer, som Times Roman, Helvetica, och Calibri, och är kompatibel med de flesta ordbehandlingsprogram, inklusive Word och FrameMaker, samt bildredigerings- och ritprogram, som Photoshop och Illustrator. Eftersom varje bokstav kan störas, mängden information som förmedlas i hemlighet begränsas endast av längden på den vanliga texten. Informationen kodas med hjälp av små teckensnittsstörningar – ändra streckbredden, justering av höjden på stigare och nedstigare, eller dra åt eller lossa kurvorna i seriffer och skålar med bokstäver som o, p, och b.
"Ändra vilken bokstav som helst, punkt, eller symbol till en något annorlunda form gör att du kan ändra innebörden av dokumentet, säger Xiao, tidningens huvudförfattare. "Denna dolda information, även om det inte är synligt för människor, är maskinläsbar precis som streckkoder och QR-koder är omedelbart läsbara av datorer. Dock, till skillnad från streckkoder och QR-koder, FontCode skadar inte det tryckta materialets visuella estetik, och dess närvaro kan förbli hemlig."
Data gömd med FontCode kan vara extremt svår att upptäcka. Även om en angripare upptäcker teckensnittsändringar mellan två texter – högst osannolikt med tanke på störningarnas subtilitet – är det helt enkelt inte praktiskt att skanna varje fil som går och kommer inom ett företag.
Vidare, FontCode bäddar inte bara in utan kan också kryptera meddelanden. Medan störningarna lagras på en numrerad plats i en kodbok, deras platser är inte fasta. Människor som vill kommunicera genom krypterade dokument skulle komma överens om en privat nyckel som anger de särskilda platserna, eller beställa, av störningar i kodboken.
"Kryptering är bara en säkerhetsnivå av skydd i fall en angripare kan upptäcka användningen av teckensnittsändringar för att förmedla hemlig information, " säger Zheng. "Det är väldigt svårt att se förändringarna, så de är verkligen svåra att upptäcka – detta gör FontCode till en mycket kraftfull teknik för att få data förbi befintliga försvar."
FontCode är inte den första tekniken som döljer ett meddelande i text – det finns program för att dölja meddelanden i PDF- och Word-filer eller för att ändra storlek på blanksteg för att beteckna en 0 eller 1 – men, forskarna säger, den är den första som är dokumentoberoende och behåller den hemliga informationen även när ett dokument eller en bild med text (PNG, JPG) skrivs ut eller konverteras till en annan filtyp. Detta innebär att en FrameMaker- eller Word-fil kan konverteras till PDF, eller en JPEG kan konverteras till PNG, allt utan att förlora den hemliga informationen.
För att använda FontCode, du skulle tillhandahålla ett hemligt meddelande och ett textdokument. FontCode konverterar det hemliga meddelandet till en bitsträng (ASCII eller Unicode) och sedan till en sekvens av heltal. Varje heltal tilldelas ett fembokstavsblock i den vanliga texten där de numrerade kodboksplatserna för varje bokstav summerar till heltal.
Att återställa dolda meddelanden är den omvända processen. Från en digital fil eller från ett fotografi taget med en smartphone, FontCode matchar varje störd bokstav med den ursprungliga störningen i kodboken för att rekonstruera det ursprungliga meddelandet.
Matchning görs med hjälp av konvolutionella neurala nätverk (CNN). Det är enkelt att känna igen vektorritade teckensnitt (som de som lagras som PDF-filer eller skapas med program som Illustrator) eftersom form- och bandefinitioner är datorläsbara. Dock, det är en annan historia för PNG, IMG, och andra rastrerade (eller pixel) teckensnitt, där ljuset förändras, olika kameraperspektiv, eller så kan brus eller suddighet dölja en del av brevet och förhindra en enkel igenkänning.
Medan CNN är utbildade att ta hänsyn till sådana snedvridningar, igenkänningsfel kommer fortfarande att uppstå, och en viktig utmaning för forskarna var att se till att ett meddelande alltid kunde återställas inför sådana fel. Redundans är ett uppenbart sätt att återställa förlorad information, men det fungerar inte bra med text eftersom överflödiga bokstäver och symboler är lätta att upptäcka.
Istället, forskarna vände sig till den 1700 år gamla kinesiska restsatsen, som identifierar ett okänt tal från dess återstod efter att det har delats med flera olika divisorer. Teoremet har använts för att rekonstruera saknad information i andra domäner; i FontCode, forskare använder det för att återställa det ursprungliga meddelandet även när inte alla bokstäver känns igen korrekt.
"Tänk dig att ha tre okända variabler, " säger Zheng. "Med tre linjära ekvationer, du bör kunna lösa för alla tre. Om du ökar antalet ekvationer från tre till fem, du kan lösa de tre okända så länge du kan vilka tre av de fem ekvationerna."
Med hjälp av den kinesiska återstodsteorin, forskarna visade att de kunde återställa meddelanden även när 25 % av brevstörningarna inte kändes igen. Teoretiskt kan felfrekvensen gå högre än 25 %.
Författarna, som har lämnat in ett patent hos Columbia Technology Ventures, planerar att utöka FontCode till andra språk och teckenuppsättningar, inklusive kinesiska.
"Vi är glada över det breda utbudet av applikationer för FontCode, säger Zheng, "från programvara för dokumenthantering, till osynliga QR-koder, till skydd av juridiska handlingar. FontCode kan vara en spelväxlare."
Studien har titeln "FontCode:Embedding Information in Text Documents using Glyph Perturbation."