Bezpečnost

    Odkazy s omezenou platností: tajná zpráva se zničí, nejde jen o konec přesměrování

    Tajný odkaz s omezenou platností v termínu zprávu zničí, mrtvý krátký odkaz jen přestane přesměrovávat. Jak zvolit dobu platnosti a hraniční případy.

    W. Miller · Aktualizováno · O LinkPilotu

    Tajný odkaz s omezenou platností v nastaveném termínu tajnou zprávu zničí: v LinkPilotu se uložený šifrový text přepíše, takže už není co otevřít. Zkracovač odkazů, který začne vracet 410 Gone, jen přestane přesměrovávat. Každý odkaz s tajným obsahem by měl mít nastavené vypršení platnosti. Bez něj vaše „jednorázová“ záruka potichu slábne s každým dnem, kdy odkaz leží nepřečtený. Tento článek vysvětluje, co vypršení platnosti skutečně chrání, jak zvolit dobu, kterou dokážete obhájit, na jaké hraniční případy v praxi narazíte a kdy jsou odkazy s omezenou platností úplně špatný nástroj. Pokud si chcete chování nejdřív vyzkoušet, bezplatný generátor jednorázových tajných odkazů nastavuje vypršení platnosti u každé tajné zprávy, kterou vytvoří.

    Co vypršení platnosti skutečně chrání?

    Vypršení platnosti omezuje okno, ve kterém může obsah uniknout. Odkaz, který fungoval pět minut, má pro útočníka mnohem menší cenu než odkaz, který fungoval týden, i když byly oba „jednorázové“.

    Zamyslete se, kam se URL s tajným obsahem dostane, jakmile ji odešlete: do e-mailové schránky příjemce, do úložiště jeho poskytovatele e-mailu, možná do přeposlané kopie, do historie chatu synchronizované do telefonu, do historie prohlížeče. Žádnou z těchto kopií neovlivníte. Ovlivnit můžete, jak dlouho bude kterákoli z nich použitelná. Hodinová platnost znamená, že každá zatoulaná kopie URL ztratí cenu šedesát minut po vytvoření, ať skončila kdekoli.

    Vypršení platnosti řeší i skutečné lidské selhání, se kterým zničení po přečtení nic nezmůže: příjemce odkaz nikdy neotevře. Zničení po přečtení se spustí jen při přečtení. Nepřečtený odkaz bez vypršení platnosti leží v e-mailové schránce donekonečna. Pořád funguje, pořád se dá vyhledat a pořád ho od nesprávného člověka dělí jediné přeposlání.

    Vypršení platnosti a zničení po přečtení řeší různá selhání

    Tyto dvě ochrany se neustále zaměňují. Jsou na sobě nezávislé a nejsilnější nastavení používá obě:

    SelháníZachytí ho zničení po přečtení?Zachytí ho vypršení platnosti?
    Příjemce obsah přečte a odkaz pak zůstane v e-mailové schránceAno, odkaz už je mrtvýAno, časem
    Příjemce odkaz nikdy neotevřeNe, odkaz funguje navždyAno
    Jako první ho otevře nesprávný člověkČástečně: obsah se zničí a časová osa auditu to ukážeNe
    URL unikne o týdny později z exportu e-mailůJen pokud byl obsah přečtenAno, odkaz je dávno mrtvý

    Všimněte si řádku s nesprávným člověkem: takovému přečtení nezabrání ani jedna ochrana. K tomu slouží heslová fráze předaná jiným kanálem. Vypršení platnosti omezuje čas, zničení omezuje počet přečtení a heslová fráze omezuje, kdo obsah přečte. Tři samostatné páky.

    Tak dlouho, jak trvá očekávané předání plus jedno rozumné zdržení, a ne déle. Praktické pravidlo podle situace:

    SituaceDoba platnostiProč
    Předání v reálném čase (chat, hovor, sdílení obrazovky)1 hodina (nejkratší předvolba)Příjemce je k dispozici a zničení po přečtení odkaz zavře v okamžiku, kdy obsah přečte
    E-mail známému a aktivnímu příjemci1 hodinaPokryje zpoždění v e-mailové schránce, aniž by nechala okno otevřené přes noc
    Plánované předání (nástup zítra v 10 hodin)24 hodinPřežije posun v harmonogramu a druhý den už je odkaz stejně mrtvý
    Příjemce ve vzdáleném časovém pásmu24–48 hodinJeho pracovní den se s vaším nemusí vůbec překrývat
    Cokoli, co potřebuje > 7 dníZastavte seOdkaz je špatný nástroj, použijte trezor

    Princip za tabulkou: nastavte dobu platnosti na očekávaný čas předání plus jedno rozumné zdržení, ne „tak dlouho, ať už na to nemusím myslet“. Doby platnosti volené podle pohodlí se blíží nekonečnu.

    Předání s časovým limitem krok za krokem

    Zítra v 10:00 nastupuje nový inženýr. Potřebujete mu předat heslo k produkční databázi s přístupem jen pro čtení.

    1. 09:55: ve svém účtu LinkPilot vytvořte tajný odkaz se zapnutým zničením po přečtení, s heslovou frází a s vlastním vypršením platnosti v 11:00. Vypršení v konkrétní čas i heslová fráze jsou funkce tarifu Pro. Předvolby po přihlášení jsou 1 hodina, 24 hodin nebo 7 dní a generátor bez účtu nastavuje 7 dní.
    2. 09:56: pošlete odkaz e-mailem.
    3. 09:58: pošlete heslovou frázi SMS nebo přímou zprávou ve Slacku, tedy jiným kanálem než odkaz, aby únik jednoho kanálu nestačil.
    4. 10:05: příjemce otevře odkaz, zadá heslovou frázi a jednou si přečte heslo. Odkaz se zničí.
    5. 10:30: zkontrolujte časovou osu auditu. Jedno zobrazení, správný čas, věrohodné místo. Hotovo.
    6. Pokud do 10:30 nikdo obsah nepřečetl: zneplatněte odkaz, ozvěte se příjemci a sdílejte znovu, když je u toho. Nečekejte jen na vypršení platnosti. Nepřečtený funkční odkaz je otevřené okno.

    Okno je tak krátké, že uniklý e-mail je o hodinu později bezcenný. Heslová fráze pokrývá zachycení odkazu během té hodiny. Zničení pokrývá opakované čtení. Každá ochrana zachytí to, co ostatní propustí.

    Hraniční případy, které je dobré znát

    Skenery e-mailů nespotřebují čas ani tajnou zprávu

    Firemní nástroje pro zabezpečení e-mailu stahují URL v okamžiku, kdy zpráva dorazí. Dobře postavený tajný odkaz bere tyto požadavky jako dotazy na metadata: koncový bod LinkPilotu pro zobrazení vrací na GET jen stav a zobrazení se zaznamená až po výslovném zobrazení přes POST. Skener, který na odkaz narazí v 09:56, ho tedy nezničí a nedozví se nic užitečného. Skenerům ale nelze zabránit, aby zjistily, že byla odeslána nějaká URL. I proto patří heslová fráze do jiného kanálu.

    Příjemce v 59. minutě

    Vypršení platnosti se vynucuje v okamžiku zobrazení, ne úklidem na pozadí, o kterém jen doufáte, že proběhl. V LinkPilotu se tajná zpráva po vypršení platnosti při příštím přístupu přepne do stavu expired a obsah se ve stejném zápisu odstraní. Zobrazení, které začne před termínem a skončí po něm, se čistě vyřeší jedním, nebo druhým způsobem. Napůl vypršelý stav neexistuje.

    Počítání s časovými pásmy

    „Vyprší za 24 hodin“ je jednoznačné, „vyprší zítra večer“ ne. Nastavujte dobu platnosti jako délku od teď, a když termín sdělujete příjemci, uveďte ho v jeho časovém pásmu. Překvapivě mnoho stížností typu „po otevření už odkaz nefungoval“ má na svědomí přepočet časových pásem.

    Hledisko souladu s předpisy

    Vypršení platnosti je zároveň praktickým provedením dvou zásad, které se objevují ve většině moderních předpisů o ochraně osobních údajů: minimalizace údajů a omezení uložení (v GDPR čl. 5 odst. 1 písm. c) a čl. 5 odst. 1 písm. e)). Pokud musíte předat osobní údaje, třeba doklad totožnosti, záznam zákazníka nebo přihlašovací údaje vázané na konkrétního člověka, je odkaz, který prokazatelně po omezené době přestane existovat, pro auditora mnohem srozumitelnější než „někde to v e-mailovém systému je“. Auditní stopa s událostmi vytvoření, zobrazení a vypršení platnosti u každého sdílení mění vaše tvrzení o uchovávání v důkaz. Nic z toho samo o sobě nedělá nástroj „v souladu s GDPR“, protože soulad je vlastností celého vašeho procesu. Omezená životnost a záznam událostí jsou ale jeho základní stavební materiál.

    S čím vypršení platnosti nepomůže

    Vypršení platnosti nenahrazuje:

    • Rotaci. Pokud je vyzrazený samotný důvěrný údaj, vypršení platnosti odkazu nezneplatní přihlašovací údaje. Změňte je ve zdrojovém systému. Vypršení platnosti omezuje, jak dlouho je doručovací cesta aktivní. O obsahu po doručení neříká nic.
    • Ochranu heslovou frází. Vypršení platnosti omezuje čas, heslová fráze omezuje přístup. Jsou na sobě nezávislé a kombinovat je nic nestojí.
    • Záznam auditu. Vypršení platnosti vám neřekne nic o tom, kdo tajnou zprávu viděl a kdy. K tomu slouží auditní události u jednotlivých odkazů: LinkPilot zaznamenává vytvoření, zobrazení, chybně zadanou heslovou frázi, zničení, vypršení platnosti a zneplatnění s časovými razítky a hashovanými IP adresami.

    Antivzor „prostě to prodloužím“

    Lákavé a téměř vždy špatné. Příjemce souhlasil s určitou dobou platnosti. Tiché prodloužení narušuje model důvěry: příjemce počítal s tím, že odkaz už je mrtvý, a podle toho mohl s tajnou zprávou zacházet nebo přestat hlídat e-mailovou schránku, ve které odkaz leží.

    Čistý postup: starý odkaz zneplatněte, vytvořte nový s novou dobou platnosti a dejte příjemci vědět. Auditní stopa tak zůstane pravdivá: jeden odkaz, jedna doba platnosti, jeden výsledek na každé sdílení. Proto LinkPilot umožňuje aktivní dobu platnosti zkrátit nebo odkaz okamžitě zneplatnit, ale tlačítko pro prodloužení záměrně nemá.

    Upřímný seznam hranic:

    • Opakovaný přístup. Pokud bude někdo hodnotu potřebovat i příští týden, uložte ji do správce hesel a sdílejte položku trezoru. Posílat odkazy podle rozvrhu je trezor s kroky navíc a se slabšími zárukami.
    • Strojoví příjemci. CI pipeliny a služby mají tajné údaje stahovat ze správce tajných údajů (nebo z nativního úložiště tajných údajů platformy), ne z jednorázových URL.
    • Široká distribuce. Odkaz, který potřebuje patnáct lidí, není předání tajné zprávy. Je to řízení přístupu a patří do systému, který ho má.

    Odkazy s omezenou platností se hodí přesně pro jednu úlohu: jednou předat citlivou hodnotu od jednoho člověka druhému s omezeným dosahem případné škody.

    Zdroje

    Nástroje k tomuto článku

    Časté dotazy

    LinkPilot pošle tajný odkaz, který po otevření zmizí.

    Zašifruje se ve vašem prohlížeči, zobrazí se jednou a pak se zničí. Bez účtu.

    Vytvořit tajný odkaz

    Čtěte dál