Kopibeskyttelse for ebøger kommer i tre udgaver:
- Hård DRM – som Adobe, Amazon og andre betjener sig af. Bogen kan kun læses på en bestemt dims, eller compupter. Og måske kun i en begrænset periode.
- Online DRM – som ikke er så udbredt på konsummarkedet, men bruges hyppigt af leverandører til uddannelses- og forskningsinstitutioner
- Blød DRM – hvor bogen "vandmærkes".
Hvordan gør man så? Vi tager den af et par omgange, og starter med den bløde DRM, som den findes i ePub-filer.
Princippet i den metode er, at man køber en ebog, opgiver navn, adresse, kreditkortoplysninger og så videre, og i det øjeblik man gør det, bliver bogen lavet. Filen ligger ikke klar på en server, den bliver genereret, og i den proces, tilføjes den oplysninger om dit navn, adresse, kreditkortoplysninger eller andet, som gør at filen kan spores. Når du så er en skurk, og lægger bogen ud på piratebay, eller på anden måde gør den tilgængelig for piratkopiering, så bliver du fanget. Sælgeren holder nemlig øje med fildelingstjenesterne, for at se om en kopi af bogen dukker op der. Den downloader de, åbner filen og finder din adresse. Og så sender deres advokat en stævning.
Ikke alle sælgere af ebøger fortæller hvad det er de gemmer i filen. Gyldendal er flinke, og beretter, at det er ordrenummeret, der bliver gemt. Man behøver altså ikke være bekymret for at kreditkortoplysninger ligger og flyder rundt i en ebog. Andre er knap så reelle. Der hvor jeg mener det er rimeligt at fjerne vandmærket, er de tilfælde hvor forhandleren ikke fortæller hvad der gemmes af oplysninger. I så fald ved jeg ikke om mine kreditkortoplysninger kommer til at ligge på min ebogslæser. Og det er her, jeg synes det er rimeligt at fjerne vandmærket. Hvis det bare er et ordrenummer, er det lidt overkill at gå i gang med den øvelse.
Lad os starte med at kigge på hvad en ePub-fil egentlig er.
ePub er et filformat, designet til at indeholde ebøger. En længere gennemgang af teknikken i det kan findes på Det Kongelige Biblioteks ebogsblog. Til dette formål, er det nok at vide, at det er baseret på en god, gammeldags, zip-fil. Den har fået ændret sit efternavn, så den nu hedder .epub. En zip-fil er en komprimeret fil, der "pakker" indholdet, så det fylder mere. Den var i sin tid meget brugt for at få tingene til at fylde mindre. Det er den sådan set stadig, men efter internettet er blevet så hurtigt, og alle har fået så store harddiske at størrelsen ikke betyder noget, bruges formatet efterhånden mest til at få en masse indhold pakket pænt ned i en enkelt fil.
Inde i zip-filen ligger der en række filer. Nogen af dem handler om navigation, andre indeholder meta-data, der er et forsidebillede, og der er filer der indeholder selve teksten. Der kan være illustrationer der vises i den løbende tekst, og epub kan i det hele taget indeholde ganske mange forskellige typer data. Det, der er karakteristisk, er at filen kan åbnes, og de enkelte filer inden i, læses direkte.
For at lave vores analyse af hvordan en given leverandør gemmer oplysningerne skal vi bruge to ens bøger, altså to eksemplarer af samme bog. De skal bestilles under forskelligt navn, med forskellig adresse, og med forskelligt kreditkort. Hvis vi bruger samme oplysninger til begge køb, bliver vandmærket formentlig ens, og så kan vi ikke se forskel. Og det er det, vi er ude efter.
Vi starter med at inspicere dyret. Åbner filen, og bladrer bogen igennem. Hvis dit navn ikke står øverst på hver anden side i bogen, eller din adresse er plastret ud over forsidebilledet, eller dit kreditkortnummer står i indholdsfortegnelsen, så er oplysningerne gemt mere subtilt. Derefter skiller vi filen ad.
Vi omdøber ganske enkelt epub-filerne til at hedde zip til efternavn. De kan åbnes af de fleste moderne styresystemer uden videre besvær. Herefter piller vi hver enkelt fil ud af zip-filerne. Vi kan starte med den fil der hedder "container.xml". Den kan vi åbne i et enkelt tekstredigeringsprogram, og se hvad der gemmer sig. Det kan være svært at gennemskue hvad indholdet står for, men den her er ret overskuelig. Pointen er at vi åbner "container.xml" fra begge de to ebøger vi downloadede, og sammenligner. Det kan vi gøre rent visuelt, men det tager tid når det er en stor fil, og for billeder kan vi komme ud for, at vores skærme eller øjne ikke er følsomme nok til at se forskellen.
Derfor er der en genvej. Når man distribuerer filer, har man ofte brug for at sikre sig at en fil ikke er blevet ændret. Det er spørgsmål som "er filen blevet downloadet korrekt?" eller "er der nogen der har lagt virus ind i den?". Så når man lægger en fil ud til download, giver man lige en lille oplysning om den. Nemlig at dens MD5 Hash er "5e427f31e6b10315ada74094e8d5d483".
En MD5 Hash er en kryptografisk teknik, som man udsætter en fil for. Den giver et resultat som ovenstående, og pointen er, at hvis der ændres blot en enkelt lille detalje i filen, så ser hash-værdien anderledes ud. Når man har downloadet filen, kan man derfor bruge et særligt program til at beregne hash-værdien for filen. Og hvis den er den samme, er filen identisk med den der blev lagt op til download. Er den forskellig, er der noget galt. Programmer til den slags kan findes mange steder på nettet, et af dem er her.
Den genvej kan benyttes på alle filer, og er en let måde at se om der er forskel på de bøger vi har købt tidligere. Vi piller ganske enkelt hver eneste fil ud af de to ebøger vi købte, og sammenligner hash-værdierne. Hvis de er forskellige, selvom filerne hedder det samme, og den eneste forskel er at de kommer fra hver deres eksemplar af de to identiske bøger vi købte, så er der lusk med i spillet, og det er formentlig der, der er gemt oplysninger om hvem du er.
Da jeg testede det, og jeg skriver ikke hvilken leverandør jeg testede!, var den eneste fil, der var forskellig de to eksemplarer imellem, forsidebilledet. Det er også det oplagte sted at gemme oplysningerne. Der var ikke andre billedfiler i bogen. Alle de andre filer hedder måske xml eller css til efternavn, men de har det til fælles, at de kan åbnes i en almindelig teksteditor, og læses direkte. Man kan sågar ændre i indholdet, og gemme dem igen. Ikke gode steder at gemme oplysninger. Skriver sælgeren bare min adresse direkte et sted i bogen, kan jeg let ændre den, så det ser ud som om det er min gamle fransklærer der har købt den, lægge den ud på nettet, og derefter bare vente på overskrifterne om at Judith er blevet snuppet i en sag om piratkopiering af ebøger for 10 millioner.
Så oplysningerne var gemt i forsidebilledet. Det er ret let at ændre det, man ser blot hvad billedfilen hedder, tager en anden billedfil i ca. samme størrelse, ændrer navnet, og lægger den ind i zip-filen. Man kan også gøre andre ting. Åbne billedet i et billedbehandlingsprogam, gemme det i en anden filtype, åbne det igen og gemme det tilbage til den oprindelige. Er jpg indblandet bare et enkelt sted, sker der en komprimering, der gør det umuligt at trække oplysningerne ud af billedfilen igen.
Efter man har gjort ting med forsidebilledet, lukker man zip-filen, omdøber den til epub, og vupti! Så har man en epub-fil uden sporbare oplysninger.
Men lad nu være med at lægge den ud til piratkopiering. Forlaget skal tjene penge på det her, ellers kan de ikke satse på den næste J.K. Rowling, og må nøjes med at udgive Amalies erindringer. Og det ville da være trist.