Preskočiť na obsah

Bezpečnosť

Bezpečnosť, ktorá pôsobí ako pohostinnosť.

Poskytovateľ identity je len taký dobrý ako steny medzi jeho tenantmi a starostlivosť, s akou zaobchádza s tajnými údajmi. Takto je Usher Identity postavený. Opisujeme, čo softvér robí; netvrdíme, že má akúkoľvek certifikáciu.

Architektúra

Oddelené domény, oddelené siete.

Vlastné stránky služby Usher Identity a vydavatelia všetkých zákazníkov sú na rôznych registrovateľných doménach. Databázy sú v sieti, ktorá nemá prístup na internet, a jedinou cestou von je proxy server, ktorý kontroluje, kam spojenie smeruje.

  • Caddy ukončuje TLS pre každého hostiteľa a odstraňuje hlavičky, ktoré smú nastavovať len vlastné služby Usher Identity.
  • Overovacia vrstva odpovedá za každé prostredie a rozlišuje ich podľa hostiteľa; nič sa neukladá do vyrovnávacej pamäte pre jedného hostiteľa, aby sa potom poskytlo inému.
  • Každá služba komunikuje s Valkey ako samostatný používateľ obmedzený na vlastné kľúče. Predvolený používateľ neexistuje.
  • Príkazy, ktoré obsahujú tokeny a kódy, sa do databázového denníka nikdy nezapisujú aj s hodnotami.

Internet

Ľudia, vaše aplikácie, vaše servery

Okraj siete

Caddy: TLS, HSTS, odstraňuje interné hlavičky

usheridentity.com

Web a Console

usheridentity.com, console.usheridentity.com

API

api.usheridentity.com

*.usherid.com

Overovacia vrstva

Vydavateľ a Lobby každého prostredia

Dátová sieť · bez cesty von

Postgres

Schéma pre každé prostredie

Valkey

Každá služba obmedzená na vlastné kľúče

Jediná cesta von

Výstupný proxy server

Pre každú URL od zákazníka

Zisťovanie, JWKS, odhlásenie

Len verejné adresy

Vrstvy služby Usher Identity. Doména tenantov je iná registrovateľná doména než doména platformy, takže stránky tenanta nikdy nie sú na rovnakom webe (same-site) ako Console.

Izolácia

Nič podstatné nie je zdieľané.

Každé prostredie projektu má vlastnú schému Postgres, vlastné podpisové kľúče a vlastné tajné údaje zapečatené vlastným dátovým kľúčom. Jeho vydavateľ je hostiteľ na doméne tenantov a jeho súbory cookie platia len pre tohto hostiteľa, takže prehliadač nikdy nepošle súbor cookie jedného prostredia inému.

usheridentity.com

Web, Usher Identity Console, účty Usher Identity

*.usherid.com

Jeden vydavateľ na každé prostredie, na samostatnej doméne

Prostredie

Používatelia, relácie a tokeny sú v schéme vytvorenej pre toto prostredie. Dopyty bežia nad touto schémou, nikdy nad zdieľanou tabuľkou so stĺpcom tenanta.

Skopírovať zapečatený tajný kód klienta Google z produkčného prostredia projektu Acme do produkčného prostredia projektu Northwind.

Šifrovanie uložených dát

Obálkové šifrovanie, viazané na svoje miesto.

Tajné údaje, ktoré službe Usher Identity zveríte, sú zapečatené pomocou AES-256-GCM dátovým kľúčom, ktorý patrí jednému prostrediu. Dátové kľúče sú zase zabalené hlavným kľúčom s verziami, uloženým mimo databázy.

Dátové kľúče pre každé prostredie
Prezradenie dátového kľúča jedného prostredia neodhalí nič o kľúči iného.
Viazanie cez AAD
Prostredie a účel sú viazané v každom šifrovanom texte, takže hodnotu nemožno presunúť medzi riadkami ani tenantmi.
Kľúče s verziami
Každá zapečatená hodnota si zaznamenáva verziu kľúča, ktorou vznikla, takže kľúče možno vymieňať a staré hodnoty znova zabaliť.
Overené šifrovanie
Vďaka značke GCM sa pozmenená hodnota neotvorí, namiesto toho, aby sa dešifrovala na niečo iné.
  1. Hlavný kľúč

    Uložený mimo databázy, s verziami

  2. Dátový kľúč, jeden pre každé prostredie

    Zabalený hlavným kľúčom

  3. Tajný údaj

    Zapečatený pomocou AES-256-GCM dátovým kľúčom

u1.<key version>.<iv>.<ciphertext + tag>

aad = u1 | version | environment | purpose

Zapečatená hodnota uvádza vo svojich overených údajoch prostredie a účel. Skopírovaná kamkoľvek inam sa neotvorí.

Postupy

Detaily, urobené starostlivo.

  • Heslá, ak ich používate

    Hašované pomocou Argon2id s nákladmi, ktoré odporúča OWASP (19 MiB, dva prechody), a s obmedzením, koľko výpočtov beží naraz, aby záplava prihlásení nemohla službu zložiť. Nové heslá sa kontrolujú voči známym únikom cez rozhranie range API služby Have I Been Pwned, ktoré vidí len krátku predponu hašu hesla. Minimálna dĺžka je predvolene 12.

  • Nič uložené, čo by sa dalo zopakovať

    Tajné kódy klientov, tokeny, tokeny magických odkazov a kódy poslané e-mailom sa ukladajú ako haše. Záložné kódy sú šifrované. Autorizačný kód platí päť minút; kód poslaný e-mailom umožňuje tri pokusy.

  • Limity frekvencie pri všetkých dverách

    Prihlásenie, registrácia, kódy e-mailom, magické odkazy, obnovenie hesla a kontroly druhého faktora majú každé svoj vlastný limit: napríklad desať prihlásení heslom za minútu a päť kódov e-mailom za desať minút.

  • Prísna politika Content-Security-Policy

    Každá stránka Lobby dostane nové jednorazové číslo (nonce) a politiku postavenú okolo neho: spustia sa len skripty z tohto pôvodu, ktoré ho nesú, formuláre sa odosielajú len na ten istý pôvod a iné weby nemôžu stránku vložiť do rámca.

  • Denník auditu, ktorému môžete veriť

    Zmeny pracovných priestorov, projektov a prostredí sa zapisujú do denníka, do ktorého sa dá len pridávať, a každý záznam je hašom zreťazený s predchádzajúcim, takže upravený alebo chýbajúci záznam sa prejaví.

  • Výstupný proxy server pre URL zákazníkov

    Každá požiadavka, ktorú Usher Identity posiela na adresu od zákazníka (zisťovanie OIDC, JWKS, odhlásenie cez zadný kanál), odchádza cez jeden proxy server. Ten preloží názov raz, odmietne súkromné adresy, adresy spätnej slučky, lokálne adresy linky a adresy cloudových metadát a pripojí sa na adresu, ktorú skontroloval, takže DNS rebinding nemôže z URL zákazníka urobiť internú.

  • Označenia, ktoré sa nikdy nepridelia dvakrát

    Označenie produkčného prostredia je prvá časť názvu hostiteľa jeho vydavateľa. Do Console sa dostanete len na pozvánku, Lobby nahlásené pre phishing sa pozastaví a raz použité označenie sa už nikdy nepridelí znova, pretože staré aplikácie môžu jeho tokenom stále dôverovať.

  • Relácie, ktoré sa skončia, keď poviete

    Usher Identity pri každej požiadavke kontroluje vlastné relácie a nespolieha sa na kópiu z vyrovnávacej pamäte, takže relácia, ktorú ukončíte, sa skončí okamžite. Prístupové tokeny platia krátko (predvolene desať minút) a vaše API ich môže overiť introspekciou.

Zodpovedné nahlasovanie

Niečo ste našli? Povedzte to najprv nám.

Ak si myslíte, že ste v službe Usher Identity našli bezpečnostný problém, radi sa o ňom dozvieme a spolu s vami ho opravíme.

security@usheridentity.com
  • Čo ste našli, kde a ako to zopakovať.
  • Čo by s tým niekto mohol urobiť, ako to chápete vy.
  • Ako vás môžeme zastihnúť a či chcete, aby sme vám verejne poďakovali menom.

Testujte, prosím, len na prostrediach, ktoré vlastníte, nepristupujte k údajom iných ľudí a pred zverejnením nám dajte primeraný čas na opravu. Ak chcete nahlásiť stránku, ktorá sa vydáva za prihlásenie Usher Identity, pozrite si Nahlásiť zneužitie.