Jokainen toiminto (istunnot, komennot, salaisuuksien käyttö, käytäntömuutokset) tiivistetään, linkitetään edelliseen merkintään ja allekirjoitetaan Ed25519-avaimella, joka on itse isännöinnissä sinetöity TPM-laitteistoon; hallinnoidussa pilvessä avainta suojaavat tänään samat isäntätason kontrollit kuin muuta palvelua. Yrityksen ylläpitäjä todentaa valitun välin kutsulla GET /audit/verify: palvelin laskee jokaisen rivin tiivisteen uudelleen ja tarkistaa allekirjoituksen rekisteröityä avainta vasten; yrityksen julkinen avain julkaistaan osoitteessa /audit/pubkey/:company_id.
🔒audit:8419 · tool.readb3:9f8c…
prev_hash↓
🔒audit:8420 · tool.edit7f:21c8…
prev_hash↓
🔒audit:8421 · session.spawna4:6055…
prev_hash↓
🔒audit:8422 · vault.readc8:1142…
verified↓
Chain intact · 1,284,309 entries—
Miten se toimii
1
Toiminto tapahtuu
Käyttäjä luo istunnon, agentti lukee tiedoston, ylläpitäjä muokkaa käytäntöä.
2
Tiivistetty ja linkitetty
Merkintä tiivistetään (sha256) viitaten edellisen rivin tiivisteeseen.
3
Ed25519-allekirjoitettu
Itse isännöinnissä allekirjoituksen luo TPM-laitteistoon sinetöity avain, joka ei koskaan poistu sirulta. Hallinnoidussa pilvessä sitä suojaavat samat isäntätason kontrollit kuin muuta palvelua.
4
Todennettu palvelimella
Yrityksen ylläpitäjä pyytää riviväliä kutsulla GET /audit/verify; palvelin laskee jokaisen rivin tiivisteen uudelleen ja tarkistaa sen Ed25519-allekirjoituksen avaimella, joka sillä on tallessa kyseiselle ketjulle.
Syväsukellukset
Hash-ketjutus
Jokaisen merkinnän prev_hash-kenttä on edellisen rivin sha256-tiiviste. Poista rivi N, niin rivit N+1 eteenpäin eivät enää läpäise todennusta: ketju rikkoutuu näkyvästi.
Allekirjoitus ja TPM-sinetöinti
Itse isännöinnissä allekirjoitusavain sinetöidään isäntäsi TPM-laitteistoon ja puretaan vain audit-signer-prosessin sisällä. Hallinnoidussa pilvessä ei ole tänään käytössä laitteistopohjaista TPM:ää eikä pilvi-KMS:ää: avainta suojaavat samat isäntätason kontrollit kuin muuta palvelua, ei erillinen avaintenhallintajärjestelmä.
Sivutettu todentaminen
Ilman sivutusta tehty todennus katsoo enintään 10 000 riviä; jos välillä on enemmän, se pysähtyy siihen, merkitsee tuloksen truncated ja vastaa ok: false sen sijaan että esittäisi alkuosan koko välinä. 1,2 miljoonan rivin ketjun läpikäymiseen anna batch= ja sivuta se: jokainen sivu palauttaa has_more, next_after_id-kursorin ja prev_hash-arvon seuraavaan pyyntöön — juuri se liikuttaa ylläpitokäyttöliittymän edistymispalkkia.
Todenna ketju itse
shell · verify CLI
$caldyr audit verify--from 8400 --to 8500
chain intact ✓
entries verified : 101
total in range : 101
last hash : 9f8ce4d27a91…3a4e
Peukalointia osoittava, ei vain peukalointia kestävä.
Emme lupaa, ettemme muuta tietueita; annamme ketjun, jossa muutos on havaittavissa. Jokainen rivi on tiivistelinkitetty ja Ed25519-allekirjoitettu, joten muokkaus todennetun välin sisällä rikkoo linkin ja todennus merkitsee kyseisen rivin peukaloiduksi. On hyvä olla selvää, kuka tarkistuksen tekee: /audit/verify on meidän rajapintamme ja allekirjoitusavain, jota vasten se vertaa, on meillä, joten yrityksen ylläpitäjä saa näyttöä toimenpiteisiin eikä riippumatonta todistetta. Yrityksesi julkinen avain julkaistaan osoitteessa /audit/pubkey/:company_id; mikään toimittamamme työkalu ei vielä todenna ketjua sillä.
Vertailu
Caldyr
Tavalliset tietokantalokit
Vain lisättävä loki
Peukalointia osoittava
kyllä
ei
ei allekirjoitusta
Kryptografinen todiste
Ed25519 + sha256
ei mitään
ei mitään
Julkaistu julkinen avain
kyllä · /audit/pubkey/:company_id
ei
ei
Asiakaskohtainen allekirjoitusavain
TPM-sinetöity (itse isännöinti)
ei
jaettu avain
Sivutettu todentaminen
batch-sivutus · katto 10 000
ei
lataa kaikki muistiin
UKK
Uusi avain luodaan. Ennen rotaatiota olevat rivit pysyvät todennettavina vanhalla julkisella avaimella; rotaation jälkeiset rivit käyttävät uutta. Katoaminen ilman rotaatiota tarkoittaa, että ketju muuttuu vain lisättäväksi ilman tulevia allekirjoituksia, mutta kaikki siihen asti allekirjoitettu on edelleen todennettavissa.
Auditoija todentaa ketjun Caldyrin komentorivityökalulla: caldyr audit verify --from <n> --to <n>. Työkalu tarvitsee API-tokenin ja kutsuu meidän /audit/verify-rajapintaamme, jota vain kyseisen yrityksen ylläpitäjä voi kutsua: annat auditoijalle sellaisen tokenin tai ajat välin hänen puolestaan. Allekirjoituksen tarkistus tapahtuu palvelimella, rekisteröityä avainta vasten. Pitkäaikaiseen säilytykseen vie loki CSV-tiedostona audit-välilehdeltä; Enterprise-tasolla koko allekirjoitettu loki suoratoistetaan myös SIEM-järjestelmääsi tai heidän hallitsemaansa S3 WORM -säiliöön.
Allekirjoitus ei ole toiminnon tiellä. Ensin auditointirivi kirjoitetaan tietokantaan ja vahvistetaan; sen jälkeen Postgresin NOTIFY herättää erillisen Node-allekirjoittajan, joka allekirjoittaa rivin: yksi Ed25519-allekirjoitus jokaista riviä kohti, peräkkäin kunkin yrityksen tai käyttäjän ketjun sisällä, ja varmistuksena kysely 30 sekunnin välein. Kunnes rivi on allekirjoitettu, todennus näyttää sen odottavana.
Itse isännöitynä TPM 2.0 -koneessa: sinetöity siruun, ei koskaan viedä ulos selkokielisenä, avataan vain kyseisessä isännässä. Hallitussa palvelussa isännässä ei ole TPM:ää, joten siemen on tiedosto kyseisessä isännässä allekirjoittajan palvelutilin luettavissa. Kummassakin tapauksessa avain on meillä ja todennuksen ajamme me, joten puhdas väli on meidän vahvistuksemme eikä itse tekemäsi riippumaton tarkistus; kyseisen ketjun julkinen avain julkaistaan osoitteessa /audit/pubkey/:company_id, eikä mikään toimittamamme työkalu tarkista tänään ketjua ilman meitä.
Valmis hallitsemaan tekoäly-infrastruktuuria?
Pyydä pääsyä minuuteissa, tai kerro meille air-gap-käyttöönotosta.