Vai al contenuto principale

Autenticazione del SDK dispositivo (DPoP)

Il SDK vitalera v2 utilizza DPoP (Demonstration of Proof-of-Possession) per l'autenticazione. Questo lega i token a una coppia di chiavi crittografiche sul dispositivo, prevenendo il furto di token e gli attacchi di replay -- fondamentale per i software di dispositivi medici che gestiscono informazioni sanitarie protette.

Come funziona

  1. Inizializzazione -- Quando chiamate VitaleraSdk.builder().clientId("your-org-license-key").build(), l'SDK genera una coppia di chiavi DPoP (memorizzata nell'Android Keystore o nell'iOS Secure Enclave).
  2. Attivazione -- L'SDK invia una richiesta di attivazione firmata DPoP al servizio di autenticazione vitalera. Il server valida la chiave di licenza dell'organizzazione e restituisce un token di accesso vincolato DPoP insieme ai diritti dell'organizzazione.
  3. Cache dei diritti -- I diritti vengono memorizzati localmente per un periodo di grazia offline di 7 giorni. L'SDK funziona offline finche i diritti memorizzati non sono scaduti.
  4. Aggiornamento automatico -- L'SDK gestisce il refresh dei token in modo trasparente. Non dovete mai gestire i token manualmente.

Android (Kotlin)

val sdk = VitaleraSdk.builder()
.context(applicationContext)
.clientId("your-org-license-key") // Organization license key
.addProvider("omron")
.build() // suspend: DPoP key gen + activation

iOS (Swift)

let sdk = try await VitaleraSdk.companion.builder()
.clientId(clientId: "your-org-license-key") // Organization license key
.addProvider(providerName: "omron")
.build() // async: Secure Enclave key gen + activation

Ottenere una chiave di licenza

Contattate sdk@vitalera.com per ottenere una chiave di licenza dell'organizzazione. Ogni chiave e legata a un'organizzazione specifica e determina quali moduli provider e funzionalita sono disponibili.

Funzionamento offline

L'SDK e progettato per i casi d'uso di dispositivi medici dove la connettivita internet puo essere intermittente. Dopo l'attivazione iniziale:

  • La scoperta e l'abbinamento dei dispositivi funzionano completamente offline.
  • La raccolta di osservazioni dai dispositivi BLE funziona completamente offline.
  • I dati vengono memorizzati localmente e sincronizzati quando la connettivita viene ripristinata.
  • Il periodo di grazia di 7 giorni consente all'SDK di funzionare senza contatto con il server per una settimana al massimo.

Se il periodo di grazia scade senza connettivita, l'SDK richiede una ri-attivazione prima di ulteriori operazioni.

Architettura di sicurezza

LivelloMeccanismo
Archiviazione chiaviAndroid Keystore / iOS Secure Enclave (hardware)
Vincolo dei tokenLa prova DPoP vincola ogni token alla coppia di chiavi del dispositivo
Prevenzione del replayOgni prova DPoP include un jti unico e un timestamp iat
TrasportoTLS 1.2+ per tutte le comunicazioni server

Passi successivi


Avete bisogno di aiuto?

Contattate support@vitalera.io per assistenza all'autenticazione dell'SDK.