SÉCURITÉ AVANCÉE
Architecture AMD SEV-SNP garantissant l'impossibilité technique d'extraire vos stratégies de trading, même avec un accès administrateur complet.
– Définition
Trustless ne veut pas dire « on promet d'être prudents avec vos données ». C'est un engagement plus fort : la preuve que votre rapport contient ne dépend pas du fait qu'on soit honnêtes, compétents, ni même encore en activité au moment où quelqu'un la lira.
Concrètement, le flux est structuré pour qu'aucun humain chez AuditZK ne puisse lire ce que vous envoyez, modifier ce qui est calculé, ni falsifier un rapport après coup. Ce sont les propriétés matérielles qui imposent ces garanties, pas notre parole.
– Fondamentaux
L'agrégateur s'exécute dans une enclave AMD SEV-SNP où l'extraction de données est techniquement impossible.
01
Périmètre de sécurité matériel inviolable, même en cas de compromission système.
02
Vérifiez vous-même depuis votre terminal avec les outils AMD.
VOS DONNÉES
████████████
██████████████
████████
Chiffrées en permanence
– Modèle de menace
La plupart des plateformes vous demandent de leur faire confiance, à elles et à tout leur entourage. Trustless retire cette exigence. La preuve reste valide même si chaque partie ci-dessous agissait de mauvaise foi.
Nos ingénieurs ne peuvent ni lire vos clés API, ni vos trades individuels. La clé matérielle ne quitte jamais le silicium, donc même un accès root à nos serveurs ne dévoile que de la mémoire chiffrée.
Nous ne pouvons pas falsifier un rapport. La clé de signature est liée à une mesure d'enclave précise ; toute modification du code qui produit le rapport invalide l'attestation.
L'hyperviseur et l'OS hôte s'exécutent hors de l'enclave. Ils ne peuvent pas déchiffrer la mémoire de l'enclave, et c'est imposé par la puce, pas par une politique.
Les credentials transitent directement vers l'enclave via un canal négocié en ECDH, dont le certificat TLS est lié à l'attestation. Un homme du milieu sur notre infra ne peut pas réutiliser ces credentials.
Si AuditZK est racheté, revendu ou fermé, les attestations déjà intégrées aux anciens rapports restent vérifiables. Un nouveau propriétaire ne peut pas signer rétroactivement de faux historiques sous notre identité.
Le script généré depuis votre tableau de bord chiffre vos credentials dans votre terminal avec la clé publique que l'enclave publie dans son attestation, puis les envoie à l'hôte de l'enclave. Notre site et nos serveurs d'API ne les voient jamais. Il contient un jeton de connexion valable 15 minutes.
# AuditZK E2E Connection: binance
# ECIES (ECDH P-256 + HKDF-SHA256 + AES-256-GCM)
# Requires: pip install cryptography
import json, os, ssl, sys, urllib.request, urllib.error
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import hashes, serialization
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
# Configuration: replace the placeholder values
USER_UID = "YOUR_SERVICE_UID"
EXCHANGE = "binance"
API_KEY = "YOUR_API_KEY"
API_SECRET = "YOUR_API_SECRET"
# Sign-in token for your account, valid 15 minutes from generation. Do not share this script.
TOKEN = "YOUR_SESSION_TOKEN"
ENCLAVE_URL = "https://enclave.auditzk.com"
print("Connecting to AuditZK enclave (E2E encrypted)...")
ctx = ssl.create_default_context()
try:
# 1. Fetch the enclave's E2E public key from its attestation
with urllib.request.urlopen(f"{ENCLAVE_URL}/api/v1/attestation", context=ctx) as r:
att = json.loads(r.read())
print(f" Enclave E2E key fingerprint: {att['e2eEncryption']['publicKeyFingerprint'][:16]}...")
# 2. Encrypt the credentials here, before anything leaves this machine
pub = serialization.load_pem_public_key(att["e2eEncryption"]["publicKey"].encode())
eph = ec.generate_private_key(ec.SECP256R1())
shared = eph.exchange(ec.ECDH(), pub)
aes_key = HKDF(algorithm=hashes.SHA256(), length=32, salt=None, info=b"enclave-e2e-encryption").derive(shared)
iv = os.urandom(12)
creds = json.dumps({"api_key": API_KEY, "api_secret": API_SECRET})
ct = AESGCM(aes_key).encrypt(iv, creds.encode(), None)
eph_pem = eph.public_key().public_bytes(serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo).decode()
print(" Credentials encrypted (AES-256-GCM)")
# 3. Send the ciphertext to the enclave
payload = json.dumps({
"user_uid": USER_UID, "exchange": EXCHANGE, "label": f"{EXCHANGE} account",
"encrypted": { "ephemeralPublicKey": eph_pem, "iv": iv.hex(), "ciphertext": ct[:-16].hex(), "tag": ct[-16:].hex() }
})
req = urllib.request.Request(f"{ENCLAVE_URL}/api/v1/credentials/connect", data=payload.encode(),
headers={"Content-Type": "application/json", "Authorization": f"Bearer {TOKEN}"})
with urllib.request.urlopen(req, context=ctx) as r:
res = json.loads(r.read())
if res.get("success"):
print("SUCCESS: " + res.get("message", "Connection established"))
print("Back in your dashboard, sync your connections to see this account.")
else:
print("ERROR: " + res.get("error", "Unknown error")); sys.exit(1)
except urllib.error.HTTPError as he:
if he.code == 401:
print("\nERROR: the sign-in token has expired. Generate a new script from your dashboard."); sys.exit(1)
print(f"\nERROR: HTTP {he.code}: {he.read().decode(errors='replace')}"); sys.exit(1)
except Exception as e:
print(f"\nERROR: {e}"); sys.exit(1)Requiert un compte AuditZK
– Traditionnel vs Trustless
Un rapport traditionnel vit sur les serveurs d'une plateforme : la preuve dépend de la plateforme. Un rapport trustless porte sa preuve avec lui : la plateforme peut disparaître, la preuve reste.
| Axe | Reporting traditionnel | Reporting trustless |
|---|---|---|
| Source de la preuve | Registre contrôlé par la plateforme | Attestation matérielle intégrée au rapport |
| Modifiable après coup | La plateforme peut réécrire l'historique | Toute modification invalide la signature |
| Vérification hors-ligne | Exige que la plateforme soit en ligne | N'importe qui vérifie avec les outils publics AMD |
| Dépendance au vendeur | Vendor lock, la preuve meurt si l'entreprise meurt | La preuve survit au vendeur |
| Accès opérateur à vos données | Accès complet en lecture | Aucun, même avec privilèges root |
| Exposition de la stratégie | Souvent nécessaire pour vérifier la performance | Uniquement les métriques agrégées, les trades ne quittent jamais l'enclave |
– Propriétés cryptographiques
Propriétés cryptographiques matérielles garantissant l'impossibilité technique d'extraction.
01
02
03
Générez vos rapports de performance cryptographiquement certifiés.