
# Automatizacija pomoću verificiranih akreditiva i AI za sigurne odgovore na upitnike sigurnosti

U visokorizičnom okruženju B2B SaaS nabave, upitnici o sigurnosti postali su ključni filtar između dobavljača i potencijalnog klijenta. Tradicionalni ručni pristupi spori su, skloni greškama i često nedostaje im kriptografska sigurnost koju moderni poduzetnici zahtijevaju. Istovremeno, generativna AI dokazala je svoju sposobnost da u velikom opsegu sintetizira odgovore temeljene na politikama, no ista brzina koja čini AI atraktivnom donosi i pitanja o podrijetlu, otporu na manipulaciju i regulatornoj usklađenosti.

U ovu scenu ulaze **Verificirani akreditivi (VC‑ovi)** — W3C standard koji omogućuje kriptografski potpisane, privatno‑zaštićene tvrdnje o entitetu. Ugradnjom VC‑ova u AI‑povezani proces upitnika, organizacije mogu postići **odgovore u stvarnom vremenu, nepromjenjive i podložne reviziji** koji zadovoljavaju i poslovnu agilnost i stroge zahtjeve upravljanja.

Ovaj članak detaljno razmatra arhitektonski plan, tehničke komponente i praktične aspekte izgradnje AI‑automatiziranog sustava za upitnike o sigurnosti potpomognutog VC‑ovima. Čitatelji će izaći s:

* Jasnim razumijevanjem kako VC‑ovi nadopunjuju generativnu AI.
* Korakom‑po‑korak referentnom arhitekturom, ilustriranom Mermaid dijagramom.
* Detaljima implementacije ključnih komponenti: generator odgovora AI, izdavač VC‑a, upravljanje decentraliziranim identifikatorom (DID) i evidencija dokaza.
* Implikaicijama za sigurnost, privatnost i usklađenost, uključujući usklađenost s [GDPR‑om](https://gdpr.eu/), [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) i [ISO 27001](https://www.iso.org/standard/27001).
* Planom postupnog usvajanja, od pilot projekta do poduzeća‑široke implementacije.

> **TL;DR:** Spoj verificiranih akreditiva i AI pretvara odgovore na upitnike iz “brzih, ali nejasnih” u “trenutno provjerljive, ispravno dokazane i spremne za reviziju”.

---

## 1. Zašto upitnici o sigurnosti trebaju više od AI‑ja

### 1.1 Kompromis između brzine i točnosti

Generativni AI modeli (npr. GPT‑4‑Turbo, Claude‑3) mogu sastaviti odgovore u sekundi, smanjujući vrijeme rješenja upitnika s dana na minute. Međutim, AI‑generirani sadržaj pati od:

* **Halucinacija** — izmišljene politike koje ne postoje u izvornoj bazi.
* **Drift verzije** — odgovori odražavaju snimku politike koja može biti zastarjela.
* **Nedostatka dokaza** — revizori ne mogu provjeriti da li tvrdnja proizlazi iz službenog dokumenta.

### 1.2 Regulativni pritisak za dokazima

Okviri poput **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)**, **[ISO 27001](https://www.iso.org/standard/27001)** i **[GDPR‑a](https://gdpr.eu/)** zahtijevaju *evidenciju* za svaku kontrolnu izjavu. Revizori sve više traže kriptografski dokaz da je tvrdnja izvedena iz određene verzije politike u točnom trenutku.

### 1.3 Povjerenje kao usluga

Kada dobavljač može pokazati **digitalno potpisani akreditiv** koji povezuje AI‑generirani odgovor s nepromjenjivim policijskim artefaktom, ocjena povjerenja klijenta odmah raste. Akreditiv djeluje kao “znak povjerenja” koji se može programatski provjeriti bez otkrivanja samog teksta politike.

---

## 2. Osnovni pojmovi: Verificirani akreditivi, DID‑ovi i Zero‑Knowledge Proof‑ovi

| Pojam | Uloga u tijeku upitnika |
|-------|--------------------------|
| **Verificirani akreditiv (VC)** | JSON‑LD dokument koji sadrži tvrdnju (npr. “Podaci su šifrirani u mirovanju”) uz digitalni potpis izdavatelja. |
| **Decentralizirani identifikator (DID)** | Globalno jedinstveni, samoupravljani identifikator za izdavatelja (vašu uslugu usklađenosti) i nositelja (dobavljača). |
| **Zero‑Knowledge Proof (ZKP)** | Opcionalni kriptografski dokaz da je tvrdnja istinita bez otkrivanja sadržaja akreditiva, koristan za osjetljiva polja. |
| **Registar statusa akreditiva** | Lista opoziva (često na blockchainu ili distribuiranoj knjizi) koja verificira je li VC još uvijek valjan. |

---

## 3. Referentna arhitektura

Sljedeći dijagram prikazuje cjelokupni tijek, od zahtjeva upitnika dobavljača do verificiranog, AI‑generiranog odgovora koji se može revizirati u sekundi.

```mermaid
graph LR
    A["Korisnički / Dobavljački portal"] --> B["AI Generator odgovora"]
    B --> C["Usluga preuzimanja politika"]
    C --> D["Hashiranje dokumenata & verzioniranje"]
    D --> E["Izdavač VC‑a"]
    E --> F["Pohrana akreditiva (IPFS/Blockchain)"]
    F --> G["Verifikator (Tim za sigurnost klijenta)"]
    G --> H["Nadzorna ploča revizijskog lanca"]
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px
    style D fill:#bbf,stroke:#333,stroke-width:2px
    style E fill:#cfc,stroke:#333,stroke-width:2px
    style F fill:#cfc,stroke:#333,stroke-width:2px
    style G fill:#fc9,stroke:#333,stroke-width:2px
    style H fill:#fc9,stroke:#333,stroke-width:2px
```

### 3.1 Detalji komponenti

| Komponenta | Funkcija | Savjeti za implementaciju |
|------------|----------|----------------------------|
| **Korisnički / Dobavljački portal** | Prikuplja stavke upitnika i prikazuje potpisane odgovore. | Koristite React SPA s OIDC za autentikaciju. |
| **AI Generator odgovora** | Generira prirodni jezik na temelju ugrađenih politika. | Fino podučite LLM na vašem korpusu politika; postavite temperaturu = 0 za deterministički output. |
| **Usluga preuzimanja politika** | Dohvaća najnoviju verziju politike iz GitOps‑stil skladišta. | Iskoristite GitHub Actions + OPA za „policy‑as‑code“; izložite putem GraphQL‑a. |
| **Hashiranje dokumenata & verzioniranje** | Izračunava SHA‑256 hash referenciranog odlomka politike. | Pohranite hash‑ove u Merkle‑stablu za grupnu verifikaciju. |
| **Izdavač VC‑a** | Stvara potpisani akreditiv koji povezuje odgovor, hash, vremenski žig i DID izdavatelja. | Upotrijebite `did:web` za internu uporabu ili `did:ion` za javne akreditive; potpisujte ECDSA‑secp256k1. |
| **Pohrana akreditiva** | Trajno pohranjuje VC na nepromjenjivom ledgeru (npr. IPFS + Filecoin ili Ethereum Layer‑2). | Objavite CID u on‑chain registru kako biste omogućili provjere opoziva. |
| **Verifikator** | Klijentov sustav koji provjerava potpis VC‑a, provjerava registar opoziva i potvrđuje hash s odlomkom politike. | Implementirajte verifikaciju kao mikro‑servis pozivan iz CI/CD pipeline‑a. |
| **Nadzorna ploča revizijskog lanca** | Vizualizira podrijetlo akreditiva, datum isteka i događaje opoziva. | Izgradite s Grafanom ili Supabase; integrirajte s vašim SOC‑om. |

---

## 4. Detaljan tijek podataka

1. **Podnošenje pitanja** – Dobavljač učitava JSON datoteku upitnika putem portala.  
2. **Izgradnja prompta** – Sustav sastavlja prompt koji sadrži točan tekst pitanja i referencu na relevantno područje politike (npr. “Čuvanje podataka”).  
3. **Generiranje AI‑jem** – LLM vraća sažet odgovor uz internu referencu na izvorni odlomak politike.  
4. **Ekstrakcija dijela politike** – Usluga preuzimanja politika učitava referenciranu politiku iz Git repozitorija, izdvaja točan odlomak i izračunava njegov SHA‑256 hash.  
5. **Kreiranje VC‑a** – Izdavač VC‑a sastavlja akreditiv:  

   ```json
   {
     "@context": ["https://www.w3.org/2018/credentials/v1"],
     "type": ["VerifiableCredential", "SecurityAnswerCredential"],
     "id": "urn:uuid:9f8c7e2b-3d1a-4c6f-9a1f-2e5b9c7d6e4a",
     "issuer": "did:web:compliance.example.com",
     "issuanceDate": "2026-02-25T12:34:56Z",
     "credentialSubject": {
       "id": "did:web:vendor.example.org",
       "questionId": "Q-2026-001",
       "answer": "All customer data is encrypted at rest using AES‑256‑GCM.",
       "policyHash": "0x3a7f5c9e...",
       "policyVersion": "v2.4.1",
       "reference": "policies/encryption.md#section-2.1"
     },
     "proof": {
       "type": "EcdsaSecp256k1Signature2019",
       "created": "2026-02-25T12:34:56Z",
       "verificationMethod": "did:web:compliance.example.com#key-1",
       "jws": "eyJhbGciOiJFUzI1NiJ9..."
     }
   }
   ```

6. **Pohrana i indeksiranje** – VC‑ JSON se pohranjuje na IPFS; dobiveni CID (`bafy...`) objavljuje se u on‑chain registru uz flag opoziva (`false`).  
7. **Prezentacija** – Portal prikazuje odgovor i dodaje gumb “Provjeri” koji poziva mikro‑servis verifikatora.  
8. **Verifikacija** – Verifikator preuzima VC, provjerava digitalni potpis prema DID dokumentu izdavatelja, provjerava hash politike protiv izvornog repozitorija i potvrđuje da akreditiv nije opozvan.  
9. **Revizijski zapis** – Svi događaji verifikacije zapisuju se u nepromjenjivi revizijski lanac, omogućujući timovima usklađenosti da odmah pruže dokaze auditorima.

---

## 5. Poboljšanja sigurnosti i privatnosti

### 5.1 Zero‑Knowledge Proof‑ovi za osjetljive odgovore

Kada odlomak politike sadrži vlasničku logiku, VC može ugraditi ZKP koji dokazuje da odgovor zadovoljava politiku, a da se sam odlomak ne otkriva. Biblioteke poput `snarkjs` ili `circom` mogu generirati kratke dokaze koje se smještaju u sekciju `proof` VC‑a.

### 5.2 GDPR i minimizacija podataka

VC‑i su **samopopisni**; sadrže samo minimalnu tvrdnju potrebnu za verifikaciju. Ne prenose cijeli tekst politike, čime se poštuje princip minimizacije podataka. Vlasnik (dobavljač) kontrolira životni ciklus akreditiva, podupirući “pravo na brisanje” putem opoziva.

### 5.3 Opoziv i svježina

Svaki akreditiv uključuje polje `expirationDate` usklađeno s ciklusom revizije politike (npr. 90 dana). On‑chain registar opoziva omogućuje trenutačnu nevažečnost akreditiva ako se politika promijeni usred procesa.

### 5.4 Upravljanje ključevima

Privatni ključ izdavatelja čuvajte u HSM‑u (Hardware Security Module) ili cloud KMS‑u (npr. AWS CloudHSM). Rotirajte ključeve godišnje i vodite povijesni DID dokument za glatku tranziciju.

---

## 6. Usklađenost s regulativama

| Regulatorni okvir | Prednost VC‑AI rješenja |
|-------------------|--------------------------|
| **[SOC 2 – Security](https://secureframe.com/hub/soc-2/what-is-soc-2)** | Kriptografski dokaz da svaka kontrolna tvrdnja proizlazi iz odobrene verzije politike. |
| **[ISO 27001 – A.12.1](https://www.iso.org/standard/27001)** | Nepromenjivi dokazi o upravljanju konfiguracijama povezani s politikama. |
| **[GDPR – Art. 32](https://gdpr.eu/)** | Pokazatelj tehničkih i organizacijskih mjera putem potpisanih akreditiva, što olakšava procjene učinka na zaštitu podataka. |
| **CMMC Level 3** | Automatizirano prikupljanje dokaza s nepromjenjivim revizijskim tragom, zadovoljavajući zahtjev “kontinuiranog nadzora”. |

---

## 7. Plan implementacije (korak po korak)

### 7.1 Postavljanje DID‑ova i izdavača VC‑a

```bash
# Generiranje DID‑a pomoću did:web (potrebna HTTPS domena)
curl -X POST https://did:web:compliance.example.com/.well-known/did.json \
     -d '{"publicKeyJwk": {...}}'
```

Privatni ključ pohranite u HSM. Implementirajte jednostavan `/issue` endpoint koji prima:

* `questionId`
* `answerText`
* `policyRef` (putanja datoteke + raspon redaka)

Endpoint sastavlja VC prema prethodnom primjeru i vraća CID.

### 7.2 Integracija LLM‑a

```python
import openai

def generate_answer(question, policy_context):
    prompt = f"""Vi ste stručnjak za usklađenost. Odgovorite na sljedeće pitanje o sigurnosti koristeći SAMO donji odlomak politike. Vrati kratak odgovor.

Question: {question}
Policy Excerpt:
{policy_context}
"""
    response = openai.ChatCompletion.create(
        model="gpt-4-turbo",
        messages=[{"role": "user", "content": prompt}],
        temperature=0
    )
    return response.choices[0].message.content.strip()
```

Keširajte izvučeni odlomak politike kako bi se izbjeglo višestruko čitanje tijekom batch obrade.

### 7.3 Usluga hashiranja politika

```go
package hashutil

import (
    "crypto/sha256"
    "encoding/hex"
    "io/ioutil"
)

func ComputeHash(path string) (string, error) {
    data, err := ioutil.ReadFile(path)
    if err != nil {
        return "", err
    }
    sum := sha256.Sum256(data)
    return hex.EncodeToString(sum[:]), nil
}
```

Pohranite hash zajedno s brojem verzije u PostgreSQL tablicu radi brzog pretraživanja.

### 7.4 Pohrana akreditiva na IPFS

```bash
# Instalirajte ipfs CLI
ipfs add vc.json
# Rezultat: bafybeie6....
```

Objavite CID u pametni ugovor:

```solidity
pragma solidity ^0.8.0;

contract CredentialRegistry {
    mapping(bytes32 => bool) public revoked;
    event CredentialIssued(bytes32 indexed cid, address indexed issuer);

    function register(bytes32 cid) external {
        emit CredentialIssued(cid, msg.sender);
    }

    function revoke(bytes32 cid) external {
        revoked[cid] = true;
    }

    function isRevoked(bytes32 cid) external view returns (bool) {
        return revoked[cid];
    }
}
```

### 7.5 Servis verifikacije

```python
from pyld import jsonld
import didkit

def verify_vc(vc_json):
    # Verifikacija digitalnog potpisa
    proof_result = didkit.verify_credential(vc_json, "{}")
    if proof_result["warnings"] or proof_result["errors"]:
        return False, "Provjera potpisa nije uspjela"

    # Provjera hash‑a politike
    policy_path = vc_json["credentialSubject"]["reference"]
    stored_hash = get_hash_from_db(policy_path)
    if stored_hash != vc_json["credentialSubject"]["policyHash"]:
        return False, "Hash politike se ne podudara"

    # Provjera opoziva na lancu (preko web3)
    if is_revoked_on_chain(vc_json["id"]):
        return False, "Akreditiv je opozvan"

    return True, "Valjan"
```

Izložite ovu logiku putem REST endpointa (`/verify`) koji portal poziva kada korisnik pritisne “Provjeri”.

---

## 8. Razmatranje skalabilnosti

| Izazov | Rješenje |
|-------|----------|
| **Visok promet** – stotine upitnika po minuti | Razdvojite AI Generator i izdavač VC‑a kao autoskalirajuće kontejnerske servise iza Kafka reda. |
| **Veličina VC‑a** – VC‑i mogu biti nekoliko kilobajta | Koristite komprimirani JSON‑LD (`application/ld+json; profile="https://w3id.org/security/v1"`) i pohranite samo CID na klijentskoj strani. |
| **Trošak lanca** – pohrana svakog VC‑a na lanac može biti skupa | Čuvajte samo CID i status opoziva na lanacu; puni VC ostaje na IPFS/Filecoin (plaćate po potrebi). |
| **Rotacija ključa** – ažuriranje ključa izdavatelja bez prekida | Održavajte DID dokument s poljem `verificationMethod` koje sadrži i trenutni i prethodni ključ za kompatibilnost unatrag. |

---

## 9. Putokaz prema produkciji

| Faza | Ciljevi | Mjerljivi pokazatelji |
|------|---------|-----------------------|
| **Pilot (1‑2 mjeseca)** | Implementacija na jednom važnom klijentu; izdavanje VC‑a za 10 pitanja. | 100 % uspješne verifikacije; 0 % lažnih pozitivnih rezultata. |
| **Beta (3‑5 mjeseca)** | Proširivanje na 5 klijenata; uvođenje ZKP‑a za privatna polja. | 95 % smanjenje vremena revizije; < 1 % opoziva zbog ažuriranja politika. |
| **General Availability (6‑9 mjeseca)** | Puna integracija s CI/CD pipeline‑om; samouslužni portal za dobavljače. | 80 % svih pitanja automatski izdano kao VC; 30 % brže zaključivanje ugovora. |
| **Kontinuirano poboljšanje (ongoing)** | Povratna sprega za finu podčrtavanje prompta; usvajanje novih DID metoda (npr. did:key). | Kvartalno smanjenje stope AI halucinacija; podrška za nove regulative (npr. CCPA). |

---

## 10. Moguće zamke i kako ih izbjeći

1. **Preveliko oslanjanje na AI** – Zadržite ljudsku kontrolu (HITL) za najriskantnija pitanja.  
2. **Napuhavanje VC‑a** – Uklonite nepotrebne kontekste iz JSON‑LD kako biste smanjili veličinu.  
3. **Pogreška u DID‑u** – Validirajte svoje DID dokumente pomoću službenog W3C validatora prije objave.  
4. **Drift politika** – Automatizirajte obavijesti o novim verzijama politika; opozovite zastarjele akreditive odmah.  
5. **Pravna prihvatljivost** – Provjerite s pravnim timom da li je verificirani akreditiv prihvatljiv u vašim jurisdikcijama.

---

## 11. Smjerovi za budućnost

* **Dinamički predložci politika** – Upotrijebite LLM‑e za automatsko generiranje odlomaka politika koji su odmah spremni za referenciranje u VC‑u.  
* **Međudomenijska interoperabilnost akreditiva** – Usuglasite svoje VC‑e s nadolazećim **OpenAttestation** i **W3C Verifiable Credentials Data Model 2.0** standardima za širu ekosustavsku upotrebu.  
* **Decentralizirana revizija** – Omogućite revizorima izravno preuzimanje VC‑a s lanca, smanjujući potrebu za ručnim slanjem dokaza.  
* **AI‑pokretano ocjenjivanje rizika** – Kombinirajte podatke o verifikaciji akreditiva s risk engine‑om kako biste automatski prilagodili razinu rizika dobavljača u stvarnom vremenu.

---

## 12. Zaključak

Ugradnjom **verificiranih akreditiva** u **AI‑povezani proces upitnika o sigurnosti**, poduzeća dobivaju **pouzdan, nepromjenjiv i revizijski spreman** set odgovora koji zadovoljava suvremene regulatorne zahtjeve, a istovremeno zadržava brzinu i praktičnost generativne AI. Arhitektura opisane u ovom članku koristi široko prihvaćene standarde (VC, DID, IPFS), provjerene kriptografske primitive i skalabilne cloud‑native obrasce, čineći je realnom i praktičnom putanjom za svaku SaaS organizaciju koja želi osigurati budućnost svojih procesa usklađenosti.

Započnite pilot, pratite metrike i uskoro ćete vidjeti kako se vrijeme rješavanja upitnika skraćuje s tjedna na sekunde — *s potpunom sigurnošću da je svaki odgovor kriptografski poduprt vašom vlastitom bazom politika*.

---

## Vidi također

- [W3C Verifiable Credentials Data Model 1.1](https://www.w3.org/TR/vc-data-model/)
- [IPFS Dokumentacija – Pohrana nepromjenjivih podataka](https://docs.ipfs.io/concepts/ipfs-gateway/)
- [IBM Security – Upotreba Zero‑Knowledge Proof‑ova za privatne revizije](https://www.ibm.com/security/zero-knowledge-proofs)