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
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
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é.
Hlavný kľúč
Uložený mimo databázy, s verziami
Dátový kľúč, jeden pre každé prostredie
Zabalený hlavným kľúčom
Tajný údaj
Zapečatený pomocou AES-256-GCM dátovým kľúčom
u1.<key version>.<iv>.<ciphertext + tag>
aad = u1 | version | environment | purpose
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.
- Č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.