En person, der bruger FontCode, ville levere en hemmelig meddelelse og et tekstdokument fra transportøren. FontCode konverterer den hemmelige besked til en bitstreng (ASCII eller Unicode) og derefter til en sekvens af heltal. Hvert heltal er tildelt en blok på fem bogstaver i den almindelige tekst, hvor de nummererede placeringer af hvert bogstav summerer til hele tallet. Kredit:Changxi Zheng/Columbia Engineering
Dataloger ved Columbia Engineering har opfundet FontCode, en ny måde at indlejre skjult information i almindelig tekst ved umærkeligt at ændre, eller forstyrrende, formerne af skrifttyper i tekst. FontCode skaber skrifttypeforstyrrelser, bruge dem til at kode en besked, der senere kan afkodes for at gendanne beskeden. Metoden fungerer med de fleste skrifttyper og, i modsætning til andre tekst- og dokumentmetoder, der skjuler indlejret information, fungerer med de fleste dokumenttyper, selv vedligeholde de skjulte oplysninger, når dokumentet udskrives på papir eller konverteres til en anden filtype. Papiret vil blive præsenteret på SIGGRAPH i Vancouver, Britisk Columbia, 12-16 august.
"Selvom der er indlysende anvendelser for spionage, vi tror, at FontCode har endnu mere praktisk anvendelse for virksomheder, der ønsker at forhindre dokumentmanipulation eller beskytte ophavsrettigheder, og for forhandlere og kunstnere, der ønsker at indlejre QR-koder og andre metadata uden at ændre udseendet eller layoutet af et dokument, " siger Changxi Zheng, lektor i datalogi og avisens seniorforfatter.
Zheng skabte FontCode med sine studerende Chang Xiao (Ph.D.-studerende) og Cheng Zhang MS'17 (nu Ph.D.-studerende ved UC Irvine) som en tekststeganografisk metode, der kan indlejre tekst, metadata, en URL, eller en digital signatur i et tekstdokument eller billede, uanset om det er digitalt lagret eller printet på papir. Det fungerer med almindelige skrifttypefamilier, såsom Times Roman, Helvetica, og Calibri, og er kompatibel med de fleste tekstbehandlingsprogrammer, inklusive Word og FrameMaker, samt billedredigerings- og tegningsprogrammer, såsom Photoshop og Illustrator. Da hvert bogstav kan forstyrres, mængden af information, der formidles hemmeligt, er kun begrænset af længden af den almindelige tekst. Oplysninger kodes ved hjælp af små skrifttypeforstyrrelser – ændring af stregbredden, justering af højden af op- og nedstigninger, eller stramme eller løsne kurverne i seriffer og skåle med bogstaver som o, p, og b.
"Ændring af et bogstav, punktum, eller symbol i en lidt anden form giver dig mulighed for at ændre betydningen af dokumentet, "siger Xiao, avisens hovedforfatter. "Denne skjulte information, men ikke synlig for mennesker, er maskinlæsbare ligesom stregkoder og QR-koder øjeblikkeligt kan læses af computere. Imidlertid, i modsætning til stregkoder og QR-koder, FontCode ødelægger ikke det trykte materiales visuelle æstetik, og dens tilstedeværelse kan forblive hemmelig."
Data skjult ved hjælp af FontCode kan være ekstremt vanskeligt at opdage. Selvom en angriber opdager skrifttypeændringer mellem to tekster - meget usandsynligt i betragtning af forstyrrelsernes finesse - er det simpelthen ikke praktisk at scanne hver fil, der går og kommer inden for et firma.
Desuden, FontCode indlejrer ikke kun, men kan også kryptere meddelelser. Mens forstyrrelserne er gemt på et nummereret sted i en kodebog, deres placeringer er ikke faste. Folk, der ønsker at kommunikere gennem krypterede dokumenter, vil blive enige om en privat nøgle, der specificerer de særlige placeringer, eller bestille, af forstyrrelser i kodebogen.
"Kryptering er blot et sikkerhedsniveau for beskyttelse i tilfælde af, at en angriber kan opdage brugen af skrifttypeændringer til at formidle hemmelige oplysninger, " siger Zheng. "Det er meget svært at se ændringerne, så de er virkelig svære at opdage - dette gør FontCode til en meget kraftfuld teknik til at få data forbi eksisterende forsvar."
FontCode er ikke den første teknologi til at skjule en besked i tekst - der findes programmer til at skjule meddelelser i PDF- og Word -filer eller til at ændre størrelsen på mellemrum for at angive en 0 eller 1 - men, siger forskerne, det er den første, der er dokumentuafhængig og bevarer de hemmelige oplysninger, selv når et dokument eller et billede med tekst (PNG, JPG) udskrives eller konverteres til en anden filtype. Det betyder, at en FrameMaker- eller Word -fil kan konverteres til PDF, eller en JPEG kan konverteres til PNG, alt sammen uden at miste de hemmelige oplysninger.
For at bruge FontCode, du ville levere en hemmelig besked og et transporttekstdokument. FontCode konverterer den hemmelige besked til en bitstreng (ASCII eller Unicode) og derefter til en sekvens af heltal. Hvert heltal er tildelt en blok på fem bogstaver i den almindelige tekst, hvor de nummererede kodebogsplaceringer af hvert bogstav summerer til heltal.
Gendannelse af skjulte beskeder er den omvendte proces. Fra en digital fil eller fra et fotografi taget med en smartphone, FontCode matcher hvert forstyrret bogstav med den oprindelige forstyrrelse i kodebogen for at rekonstruere den originale meddelelse.
Matching udføres ved hjælp af konvolutionelle neurale netværk (CNN'er). Genkendelse af vektortegnede skrifttyper (såsom dem, der er gemt som PDF-filer eller oprettet med programmer som Illustrator) er ligetil, da form- og stidefinitioner er computerlæsbare. Imidlertid, det er en anden historie for PNG, IMG, og andre rasteriserede (eller pixel) skrifttyper, hvor belysningen ændres, forskellige kameraperspektiver, eller støj eller sløring kan maskere en del af brevet og forhindre en nem genkendelse.
Mens CNN'er er uddannet til at tage højde for sådanne forvrængninger, genkendelsesfejl vil stadig forekomme, og en vigtig udfordring for forskerne var at sikre, at et budskab altid kunne gendannes i lyset af sådanne fejl. Redundans er en indlysende måde at gendanne tabt information på, men det fungerer ikke godt med tekst, da overflødige bogstaver og symboler er nemme at få øje på.
I stedet, forskerne henvendte sig til den 1700 år gamle kinesiske restsætning, som identificerer et ukendt tal fra dets resterende, efter at det er blevet divideret med flere forskellige divisorer. Sætningen er blevet brugt til at rekonstruere manglende information i andre domæner; i FontCode, forskere bruger det til at gendanne den originale besked, selv når ikke alle bogstaver genkendes korrekt.
"Forestil dig at have tre ukendte variabler, "siger Zheng." Med tre lineære ligninger, du burde være i stand til at løse for alle tre. Hvis du øger antallet af ligninger fra tre til fem, du kan løse de tre ubekendte, så længe du kender tre ud af de fem ligninger."
Ved at bruge den kinesiske rest-teori, forskerne viste, at de kunne gendanne beskeder, selv når 25 % af bogstavforstyrrelserne ikke blev genkendt. Teoretisk kan fejlprocenten gå højere end 25 %.
Forfatterne, som har indgivet patent hos Columbia Technology Ventures, planlægger at udvide FontCode til andre sprog og tegnsæt, inklusive kinesisk.
"Vi er begejstrede for den brede vifte af applikationer til FontCode, " siger Zheng, "fra dokumenthåndteringssoftware, til usynlige QR-koder, til beskyttelse af juridiske dokumenter. FontCode kan være en game changer. "
Undersøgelsen har titlen "FontCode:Embedding Information in Text Documents using Glyph Perturbation."