Tietoturva
Tietoturvaa, joka tuntuu vieraanvaraisuudelta.
Identiteetintarjoaja on vain niin hyvä kuin sen asiakkaiden väliset seinät ja huolellisuus, jolla se käsittelee salaisuuksia. Näin Usher Identity on rakennettu. Kuvaamme, mitä ohjelmisto tekee; emme väitä sillä olevan sertifiointeja.
Arkkitehtuuri
Erilliset verkkotunnukset, erilliset verkot.
Usher Identityn omat sivut ja jokaisen asiakkaan myöntäjä ovat eri rekisteröitävissä verkkotunnuksissa. Tietokannat ovat verkossa, josta ei pääse internetiin, ja ainoa tie ulos kulkee välityspalvelimen kautta, joka tarkistaa, minne ollaan menossa.
- Caddy päättää TLS-yhteydet jokaiselle isännälle ja poistaa otsakkeet, joita vain Usher Identityn omat palvelut saavat asettaa.
- Todennuskerros vastaa jokaisen ympäristön puolesta ja erottaa ne isäntänimen perusteella; mitään ei tallenneta välimuistiin yhdelle isännälle ja tarjoilla toiselle.
- Jokainen palvelu käyttää Valkeyta omana käyttäjänään, rajattuna omiin avaimiinsa. Oletuskäyttäjää ei ole.
- Tunnuksia ja koodeja sisältäviä lausekkeita ei koskaan kirjoiteta tietokannan lokiin arvoineen.
Internet
Ihmiset, sovelluksesi, palvelimesi
Reuna
Caddy: TLS, HSTS, poistaa sisäiset otsakkeet
usheridentity.com
Sivusto ja Console
usheridentity.com, console.usheridentity.com
API
api.usheridentity.com
*.usherid.com
Todennuskerros
Jokaisen ympäristön myöntäjä ja Lobby
Dataverkko · ei reittiä ulos
Postgres
Skeema ympäristöä kohden
Valkey
Jokainen palvelu rajattu omiin avaimiinsa
Ainoa tie ulos
Lähtevän liikenteen välityspalvelin
Jokaiselle asiakkaan antamalle URL-osoitteelle
Discovery, JWKS, uloskirjaus
Vain julkiset osoitteet
Eristys
Mitään olennaista ei jaeta.
Jokainen projektin ympäristö saa oman Postgres-skeemansa, omat allekirjoitusavaimensa ja omat salaisuutensa, jotka on sinetöity sen omalla tietoavaimella. Sen myöntäjä on isäntänimi asiakasverkkotunnuksessa, ja sen evästeet ovat isäntäkohtaisia, joten selain ei koskaan lähetä yhden ympäristön evästettä toiselle.
usheridentity.com
Sivusto, Usher Identity Console, Usher Identity -tilit
*.usherid.com
Yksi myöntäjä ympäristöä kohden, eri verkkotunnuksessa
Käyttäjät, istunnot ja tunnukset ovat skeemassa, joka on tehty tätä ympäristöä varten. Kyselyt kohdistuvat tähän skeemaan, ei koskaan jaettuun tauluun, jossa on asiakassarake.
Kopioi projektin Acme tuotantoympäristön sinetöity Google-asiakassalaisuus projektin Northwind tuotantoympäristöön.
Tallennetun datan salaus
Kirjekuorisalaus, sidottu paikkaansa.
Usher Identitylle antamasi salaisuudet sinetöidään AES-256-GCM:llä tietoavaimella, joka kuuluu yhdelle ympäristölle. Tietoavaimet puolestaan on salattu versioidulla pääavaimella, jota säilytetään tietokannan ulkopuolella.
- Ympäristökohtaiset tietoavaimet
- Vaikka yhden ympäristön tietoavain vaarantuisi, se ei paljasta mitään toisen ympäristön avaimesta.
- AAD-sidonta
- Ympäristö ja käyttötarkoitus sidotaan jokaiseen salatekstiin, joten arvoa ei voi siirtää rivien tai asiakkaiden välillä.
- Versioidut avaimet
- Jokainen sinetöity arvo tallentaa avainversion, jolla se tehtiin, joten avaimia voi vaihtaa ja vanhat arvot salata uudelleen.
- Todennettu
- GCM:n tarkistetunnisteen ansiosta peukaloitu arvo ei aukea sen sijaan, että se purkautuisi joksikin muuksi.
Pääavain
Säilytetään tietokannan ulkopuolella, versioitu
Tietoavain, yksi ympäristöä kohden
Salattu pääavaimella
Salaisuus
Sinetöity AES-256-GCM:llä tietoavaimella
u1.<key version>.<iv>.<ciphertext + tag>
aad = u1 | version | environment | purpose
Käytännöt
Yksityiskohdat, huolella tehtyinä.
Salasanat, jos käytät niitä
Tiivistetään Argon2id:llä OWASPin suosittelemalla kustannuksella (19 MiB, kaksi kierrosta), ja samanaikaisten laskentojen määrää rajoitetaan, jotta kirjautumistulva ei voi kaataa palvelua. Uudet salasanat tarkistetaan tunnettuja tietomurtoja vasten Have I Been Pwnedin range-rajapinnalla, joka näkee vain lyhyen alkuosan salasanan tiivisteestä. Vähimmäispituus on oletuksena 12.
Mitään toistettavissa olevaa ei tallenneta
Asiakassalaisuudet, tunnukset, taikalinkkien tunnukset ja sähköpostikoodit tallennetaan tiivisteinä. Varakoodit salataan. Valtuutuskoodi on voimassa viisi minuuttia; sähköpostikoodilla on kolme yritystä.
Nopeusrajoitukset joka ovella
Kirjautumisella, rekisteröitymisellä, sähköpostikoodeilla, taikalinkeillä, salasanan nollauksilla ja toisen vaiheen tarkistuksilla on kullakin oma rajansa: esimerkiksi kymmenen salasanakirjautumista minuutissa ja viisi sähköpostikoodia kymmenessä minuutissa.
Tiukka Content-Security-Policy
Jokainen Lobbyn sivu saa uuden noncen ja sen ympärille rakennetun käytännön: vain tämän alkuperän skriptit, joissa nonce on, ajetaan, lomakkeet lähetetään vain samaan alkuperään, eivätkä muut sivustot voi kehystää sivua.
Tarkastusloki, johon voi luottaa
Työtiloihin, projekteihin ja ympäristöihin tehdyt muutokset kirjoitetaan lokiin, johon voi vain lisätä. Jokainen merkintä on tiivisteketjutettu edelliseen, joten muokattu tai puuttuva merkintä paljastuu.
Lähtevän liikenteen välityspalvelin asiakkaiden URL-osoitteille
Jokainen pyyntö, jonka Usher Identity tekee asiakkaan antamaan osoitteeseen (OIDC discovery, JWKS, taustakanavan uloskirjaus), kulkee yhden välityspalvelimen kautta. Se selvittää nimen kerran, hylkää yksityiset, loopback-, link-local- ja pilvipalvelun metatieto-osoitteet ja yhdistää tarkistamaansa osoitteeseen, joten DNS rebinding ei voi muuttaa asiakkaan URL-osoitetta sisäiseksi.
Lyhytnimet, joita ei koskaan anneta kahdesti
Tuotantoympäristön lyhytnimi on sen myöntäjän osoitteen ensimmäinen osa. Console on avoin vain kutsutuille, Lobby, josta on ilmoitettu tietojenkalasteluna, jäädytetään, eikä kerran käytettyä lyhytnimeä koskaan anneta uudelleen, koska vanhat sovellukset voivat yhä luottaa sen tunnuksiin.
Istunnot, jotka päättyvät, kun sanot
Usher Identity tarkistaa omat istuntonsa jokaisella pyynnöllä sen sijaan, että luottaisi välimuistissa olevaan kopioon, joten lopettamasi istunto päättyy heti. Käyttöoikeustunnukset ovat lyhytikäisiä (oletuksena kymmenen minuuttia), ja API:si voi tarkistaa ne introspektiolla.
Vastuullinen ilmoittaminen
Löysitkö jotain? Kerro meille ensin.
Jos uskot löytäneesi tietoturvaongelman Usher Identitysta, haluamme kuulla siitä, ja korjaamme sen yhdessä kanssasi.
- Mitä löysit, mistä ja miten sen voi toistaa.
- Mitä sillä voisi tehdä, sikäli kuin ymmärrät.
- Miten tavoitamme sinut ja haluatko, että sinut mainitaan löytäjänä.
Testaa vain omistamiasi ympäristöjä, älä käytä muiden ihmisten tietoja ja anna meille kohtuullisesti aikaa korjata ongelma, ennen kuin kerrot siitä muille. Jos haluat ilmoittaa sivusta, joka esiintyy Usher Identityn kirjautumissivuna, katso Ilmoita väärinkäytöstä.