Utilia

Skrivanje sporočila v besedilu

Skrij skrivno sporočilo v navadno besedilo z nevidnimi znaki ničelne širine, po želji šifrirano z geslom, nato pa ga razkrij ali odstrani.

To je trik, ne varnost: mnoge aplikacije in spletna mesta znake ničelne širine odstranijo, vsakdo pa jih z enostavnim preverjanjem zazna. Če je vsebina pomembna, uporabi geslo.

Skrij sporočilo

Če vneseš geslo, se sporočilo pred skrivanjem šifrira (AES-256-GCM). Brez gesla ga lahko prebere vsak, ki pozna metodo.

Razkrij ali odstrani skrito sporočilo

Kako skriješ sporočilo

  1. Vtipkaj Krovno besedilo (kar vidijo vsi): navaden stavek, ki bo po skritju videti povsem enak.
  2. Vtipkaj Skrivno sporočilo.
  3. Po želji vnesi Geslo (neobvezno). Sporočilo se potem pred skritjem šifrira z AES-256-GCM, tako da znanje metode za branje ne zadošča.
  4. Izberi Kam postaviti skrite znake: Za prvo besedo (privzeto), Razpršeno med besedami, Čisto na začetek ali Čisto na konec.
  5. Klikni Skrij sporočilo, nato Besedilo s skritim sporočilom kopiraj z gumbom za kopiranje. Odpri Pokaži, kje so skriti znaki, da jih vidiš kot simbole ◆.

Kako sporočilo razkriješ ali odstraniš

  1. Prilepi besedilo v Besedilo za preverjanje. Število znakov ničelne širine se prikaže pod poljem.
  2. Klikni Razkrij sporočilo. Če je sporočilo šifrirano, vnesi Geslo (če je sporočilo šifrirano) in klikni znova.
  3. Če želiš besedilo očistiti, klikni Odstrani skrite znake: dobiš isto besedilo brez skritih podatkov. Emoji, kot je 👨‍👩‍👧, ki zakonito uporabljajo nevidne veznike, ostanejo nedotaknjeni.

Vse poteka v tvojem brskalniku; ne besedilo ne geslo se ne pošljeta nikamor.

Kako deluje

Unicode vsebuje znake, ki na zaslonu ne zavzamejo prostora. To orodje štiri od njih uporablja kot števke: ZERO WIDTH SPACE (U+200B) = 00, ZERO WIDTH NON-JOINER (U+200C) = 01, ZERO WIDTH JOINER (U+200D) = 10 in WORD JOINER (U+2060) = 11. Tvoje sporočilo se pretvori v bajte UTF-8 in vsak bajt postane štirje nevidni znaki. Blok se začne in konča z znakom ZERO WIDTH NO-BREAK SPACE (U+FEFF) in vsebuje enobajtno glavo, ki pove, ali je vsebina navadno besedilo ali šifrirana.

Skriti del zato hitro raste: sporočilo z 20 črkami doda približno 90 nevidnih znakov, šifriranje pa doda še 49 bajtov glave in overitvene oznake (približno 200 znakov več). V UTF-8 vsak od teh znakov zasede 3 bajte, kar je pomembno pri poljih z omejitvijo v bajtih. Velikost v UTF-8 v rezultatih prikazuje pravo velikost celotnega besedila.

Z geslom orodje uporablja isto obliko kot orodje za šifriranje besedila: ključ izpelje PBKDF2-SHA-256 s 600 000 ponovitvami, šifrira AES-256-GCM, napačno geslo ali en sam spremenjen znak pa povzroči neuspeh dešifriranja namesto nesmiselnega izpisa.

Omejitve: trik, ne varnost

  • Mnoge platforme znake ničelne širine odstranijo. Nekatere aplikacije za sporočanje, družbena omrežja, polja v obrazcih in urejevalniki besedil jih odstranijo ali normalizirajo. Najprej preizkusi s ciljnim mestom: tja prilepi rezultat, ga kopiraj nazaj in klikni Razkrij sporočilo.
  • Delne kopije sporočilo pokvarijo. Če bralec kopira samo del besedila, je blok nepopoln, orodje pa ga običajno prijavi kot poškodovanega.
  • Zaznati ga je lahko. Vsak preverjevalnik nevidnih znakov, šestnajstiški urejevalnik ali preprosto štetje razkrije, da je tam nekaj skritega. Skriti obstoja sporočila pred odločnim opazovalcem na ta način ni mogoče.
  • Brez gesla gre samo za zameglitev. Vsakdo, ki pozna to običajno tehniko, ga lahko dekodira. Za vse občutljivo uporabi močno geslo in ga deli po drugem kanalu.

Za odstranitev vseh vrst nevidnih znakov (nedeljivih presledkov, dvosmernih kontrolnih znakov, mehkih vezajev in drugih) uporabi orodje za odstranjevanje nevidnih znakov.

Pogosta vprašanja

Ali skrito sporočilo preživi pošiljanje po e-pošti ali klepetu?

Včasih. E-pošta v navadnem besedilu in mnoge aplikacije za klepet znake ničelne širine ohranijo, nekatere storitve pa jih odstranijo, nekatere tipkovnice ali urejevalniki pa jih spremenijo. Vedno opravi preizkus tja in nazaj.

Ali lahko druga orodja preberejo tu skrita sporočila?

Samo orodja, ki uporabljajo isto kodiranje. Za steganografijo z znaki ničelne širine ni standarda, zato različna orodja praviloma niso združljiva.

Ali razpršitev znakov med besede pomaga?

Dolgih zaporedij nevidnih znakov ne pusti na enem mestu, kar lahko nekateri urejevalniki bolje prenesejo, v pregledovalniku znakov pa je manj sumljivo. Programski opremi ne otežuje iskanja sporočila.

Zakaj orodje najde znake ničelne širine, a ne sporočila?

Besedilo vsebuje nevidne znake, ki niso zapisani v obliki tega orodja: kopirani so bili s spletne strani, jih je vstavil urejevalnik ali gre za vodni žig drugega orodja. Orodje za odstranjevanje nevidnih znakov jih lahko našteje.

Kaj se zgodi, če skrijem novo sporočilo v besedilo, ki že vsebuje eno?

Stari skriti blok se najprej odstrani, zato rezultat vsebuje samo novo sporočilo.