Aller au contenu principal
REGISTRE IMMUABLE • HMAC-SHA256 & EU AI ACT

Intégrité Cryptographique & Audit SHA-256

Chaînage cryptographique HMAC-SHA256 de type arbre de Merkle, conformité à l'Article 12 de l'EU AI Act et vérification indépendante.

Intégrité Cryptographique & Audit SHA-256

Intégrité Cryptographique & Registre d'Audit

Afin de satisfaire aux impératifs légaux de traçabilité imposés par l'Article 12 du Règlement Européen sur l'Intelligence Artificielle (EU AI Act - 2024/1689) et aux exigences d'audit SOC 2 Type II, Boundry transforme chaque décision d'exécution en une preuve cryptographique infalsifiable.


1. Algorithme de Scellement Séquentiel (Event Chaining)​

Chaque événement E[i] enregistré par la passerelle est lié mathématiquement à l'événement antérieur E[i-1], formant une chaîne de blocs d'audit inaltérable.

Formule de Calcul du Hash d'Événement :​

H[i] = HMAC-SHA256(K_org, H[i-1] || T_i || agent_id || tool_name || SHA256(payload_i) || status_i)

Où :

  • K_org représente la clé secrète de scellement dédiée à votre organisation.
  • H[i-1] est l'empreinte cryptographique de l'événement immédiatement précédent.
  • T_i est l'horodatage haute précision au format ISO 8601 UTC.
  • SHA256(payload_i) est l'empreinte du contenu assaini par le filtre DLP.
  • || représente l'opérateur de concaténation binaire délimitée.
Événement #101 Événement #102 Événement #103

ID: evt_101 ID: evt_102 ID: evt_103
Tool: db_query Tool: send_email Tool: wire_transfer
Status: allowed Status: allowed Status: blocked
Hash: 8f3a9b1... PrevHash: 8f3a9b1... PrevHash: 4c2e8a7...
Hash: 4c2e8a7... Hash: 1d9f0e2...


2. Propriété Inaltérable (Tamper-Evidence)​

Toute tentative d'altération en base de données par un tiers ou un attaquant corrompu entraîne une rupture immédiate de la chaîne :

  1. Le condensat recalculé de l'événement modifié ne correspond plus à son empreinte d'origine H[i].
  2. L'ensemble des condensats ultérieurs (H[i+1], H[i+2], etc.) deviennent instantanément mathématiquement invalides car dépendants de H[i].
  3. La console Boundry déclenche une alerte de sécurité d'intégrité critique et isole la partition pour analyse forensique.

3. Preuves d'Inclusion Merkle (RFC 6962) & Rapports Certifiés​

Périodiquement, la passerelle consolide les événements scellés au sein d'un Arbre de Merkle. La racine (Merkle Root) scelle l'état global du système.

Vous pouvez générer et télécharger un Rapport de Conformité Certifié (PDF) depuis la console Boundry (/compliance/export) pour attester devant des auditeurs externes ou des autorités réglementaires que :

  • L'action a été exécutée à l'instant certifié sans altération rétrospective.
  • Les données sensibles ont été masquées conformément aux obligations RGPD.
  • Les contraintes de sécurité d'exécution ont été appliquées en amont.

4. Script de Vérification d'Intégrité Indépendant​

Vous pouvez vérifier la validité mathématique de vos journaux de manière autonome en exécutant ce script Python :

verify_audit_chain.py
import hmac
import hashlib

def verify_event_chain(events: list, org_signing_key: bytes) -> bool:
"""Valide l'intégrité séquentielle d'une liste ordonnée d'événements Boundry."""
prev_hash = b"\x00" * 32 # Hash initial de genèse

for idx, evt in enumerate(events):
canonical_str = (
f"{evt.get('prev_hash', '')}|{evt['timestamp']}|{evt['agent_id']}|"
f"{evt['tool_name']}|{evt.get('payload_sha256', '')}|{evt['status']}"
)

expected_hash = hmac.new(
org_signing_key,
canonical_str.encode("utf-8"),
hashlib.sha256
).hexdigest()

if expected_hash != evt["hash"]:
print(f"[REJET] CORRUPTION DÉTECTÉE à l'événement #{idx} ({evt.get('id', 'unknown')}) !")
print(f" Attendu : {expected_hash}")
print(f" Trouvé : {evt.get('hash')}")
return False

prev_hash = evt["hash"]

print(f"[VALIDE] Chaîne d'audit certifiée valide ({len(events)} événements vérifiés sans altération).")
return True

Ressources Complémentaires​