Beberapa panggilan.
Platform apa pun.

Identity Layer terintegrasi dengan desain permukaan minimal. MicroPython pada mikrokontroler €10, Flutter di Android dan Windows, atau PHP bridge dipasang ke endpoint Anda yang ada. Protokol yang sama. Jaminan kriptografi yang sama. Empat panggilan.

Boot ke terverifikasi. 6,5 detik.

Protokol tantangan/respons Ed25519 yang sama yang mengautentikasi pengguna seluler atau operator teregulasi berjalan dengan mikrokontroler €10. Kunci terikat perangkat. Tidak ada basis data kredensial. JWT dikeluarkan pada saat verifikasi.

Raspberry Pi Pico 2W, PN532 NFC reader, SSD1306 OLED display, NTAG424 DNA card
Boot
Registering
Node exists
Verified
Challenge
Active
Empat panggilan operasional. WiFi, OLED, dan pemuatan konfigurasi adalah infrastruktur perangkat, bukan Identity Layer. Identitas primitif adalah IdentityIoT, diinstal melalui mip.
MicroPython
# Install via mip — no external dependencies
# import mip; mip.install("github:wide/identity-micropython")

from identity_iot import IdentityIoT

# 1. Init — configure node identity
identity = IdentityIoT(
    base_url  = cfg['base_url'],
    node_type = cfg['node_type'],
    tenant_id = cfg['tenant_id'],
    comm_key  = cfg['comm_key'].encode(),
    comm_iv   = cfg['comm_iv'].encode(),
)

# 2. Register — device-bound key, runs once
identity.ensure_registered()

# 3. Authenticate — Ed25519 challenge / verify / JWT
token = identity.authenticate()

# 4. Authenticated request — AES-256-GCM encrypted payload
response = identity.post_encrypted({'request': 'record_sensor_data', 'value': 42})
Komponen Model Peran
MCU Raspberry Pi Pico 2W (RP2350) TrustZone, WiFi, penyimpanan kunci terikat perangkat
Pembaca NFC PN532 Antarmuka I2C, membaca lencana DNA NTAG424
Tampilan SSD1306 128x64 OLED Urutan boot, status verifikasi
Lencana NFC NTAG424 DNA (NXP) AES-128 onboard, kunci yang tidak dapat diekspor, CMAC dinamis
Penerapan referensi ESP32 dan RP2040 untuk pusat data dan vertikal akses fisik sedang berlangsung. Protokol dan SDK identik di semua perangkat keras yang didukung.

Identitas terikat perangkat.
Empat panggilan.

Paket lokal. Tidak ada layanan identitas eksternal. Kunci pribadi tidak pernah meninggalkan perangkat. Penyimpanan aman melalui flutter_secure_storage dan TEE / Secure Enclave bila tersedia. Enkripsi muatan dilakukan melalui end-to-end ITEMSEncrypter.

identity_package identity_std identity_hs items_crypto items_search items_document_body
Semua paket bersifat lokal. Tidak ada ketergantungan pub.dev pada lapisan identitas. SDK didistribusikan sebagai bagian dari paket lisensi.
Dart / Flutter
// 1. Init — JWT identity, silent on subsequent boots
final auth = IdentityAuthServiceStd(ITEMSGlobals.authURI);
await auth.ensureJwt(
  preferredLocale: locale.languageCode,
  utcOffsetMin:    DateTime.now().timeZoneOffset.inMinutes,
);

// 2. Handshake — silent if identity already present on device
final result = await api.mjHandshake(
  identityHash: identityHash,
  publicKey:    publicKey,
);

// 3. Store JWT — session active, no password, no credential database
await _storage.write(key: 'token', value: result['token']);

// 4. Every request — AES-256-GCM payload, end-to-end encrypted
final response = await api.postEncrypted({'request': 'your_request'});
YAML
dependencies:

  # Identity Layer — local packages, no external registry
  identity_package:
    path: packages/identity_package
  identity_std:
    path: packages/identity_std
  identity_hs:
    path: packages/identity_hs
  items_crypto:
    path: packages/items_crypto
PeronStatusPenyimpanan aman
AndroidProduksi, Google Play dihapusPenyimpanan Kunci Android / TEE
WindowsProduksi, Microsoft Store dibersihkanManajer Kredensial Windows
LinuxProduksilibsecret
iOS / macOSDi peta jalanEnklave Aman

5 KB.
Tumpukan Anda, tidak berubah.

PHP Bridge adalah persyaratan tunggal yang berada di depan endpoint Anda yang ada. Rute Anda, database Anda, logika bisnis Anda. Tak tersentuh.. Identity Layer menangani otentikasi dan enkripsi muatan. Hapus dengan cara yang sama Anda menambahkannya.

Drop-in, drop-out. Satu require_once dan dua panggilan fungsi. endpoint Anda mulai menerima muatan terverifikasi dan terdekripsi. Tidak ada migrasi skema. Tidak ada perubahan tabel pengguna. Tidak ada penyimpanan sesi. Tumpukan sisi server yang lengkap adalah 225 KB.
PHP
// 1. Include the Identity Layer bridge — 5 KB
require_once 'identity/_mj_auth.php';

// 2. Authenticate — JWT verified, identity_hash extracted
//    identity_hash is a 64-char SHA-256 hex — never a user ID
[$identityHash, $tenantId, $claims, $role] =
    mj_authenticate_identity($encoder);

// 3. Every response — AES-256-GCM encrypted, end-to-end
sendEncryptedResponse($encoder, [
    'status' => 'ok',
    'data'   => $yourData,
], ['ts' => time()], 200);
Log audit ada tetapi secara kriptografis tidak dapat diakses. Akses memerlukan perintah pengadilan yang divalidasi. Itu mj_mandate_log endpoint mendaftarkan mandate dan membuka jendela ekspor 72 jam. Log dihancurkan setelah pengumpulan. Otoritas yang meminta memikul tanggung jawab hukum.
PHP: mj_mandate_log
// Requires role = admin — never operator
[$userId, $tenantId, $claims, $role] = mj_authenticate($encoder);
mj_require_role($encoder, $claims, 'admin');

// Register mandate — opens 72h export window
// target_identity_hash: 64-char SHA-256, never plaintext identity
// Ciphertext is never stored — metadata only
$connector->executeDatabaseParameterQuery(
    "INSERT INTO audit_log (mandate_number, issuing_country,
     issuing_court, target_identity_hash, export_status)
     VALUES (?, ?, ?, ?, 'PENDING')",
    [$mandateNumber, $issuingCountry, $issuingCourt, $targetHash],
    $db
);
KomponenTeknologiCatatan
Waktu prosesPHP 8.xVanila, tidak diperlukan kerangka kerja
Basis dataMySQL / MariaDBSkema standar, tidak ada kolom kredensial
Tembolok / sementaraRedisToken tantangan, antrian pesan (TTL < 1 menit)
Ukuran jembatan5 KBFile PHP tunggal, masukkan ke tumpukan LAMP mana pun
Ukuran tumpukan penuh225 KBIdentity STD + HS + Kunci + Secure Channel + IoT + Label + Tag
PenempatanKontainer / di lokasi / dengan celah udaraTidak ada konektivitas cloud wajib