Siirry sisältöön

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

Usher Identityn kerrokset. Asiakasverkkotunnus on eri rekisteröitävä verkkotunnus kuin alustan oma, joten asiakkaan sivut eivät ole koskaan samalla sivustolla (same-site) Consolen kanssa.

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

Ympäristö

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.
  1. Pääavain

    Säilytetään tietokannan ulkopuolella, versioitu

  2. Tietoavain, yksi ympäristöä kohden

    Salattu pääavaimella

  3. Salaisuus

    Sinetöity AES-256-GCM:llä tietoavaimella

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

aad = u1 | version | environment | purpose

Sinetöity arvo nimeää ympäristönsä ja käyttötarkoituksensa todennetussa datassaan. Jos se kopioidaan minne tahansa muualle, se ei aukea.

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.

security@usheridentity.com
  • 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ä.