15.3. Piani di Test

Lo scopo dei piani di test è supportare gli implementatori, i revisori e gli ambienti di test di conformità nella validazione del comportamento delle Soluzioni Wallet, delle Relying Party e dei Credential Issuer in vari scenari operativi e di sicurezza.

Tutti i casi di test derivano da regole normative definite nelle specifiche sopra indicate, senza assunzioni o estensioni.

Nota

Si noti che la matrice dei piani di test potrebbe essere soggetta a modifiche future.

15.3.1. Struttura della Matrice di Test

Ogni caso di test è identificato da un ID di test univoco (ad esempio, WS-001) e categorizzato utilizzando i domini funzionali definiti di seguito. Possono essere utilizzati anche altri identificatori di categoria.

  • Discovery

  • Security

  • Authorization

  • Authentication

  • User Interaction

  • User Notification

  • Credential Issuance

  • Proof of Possession

  • Attestation Evaluation

  • Credential Presentation

  • Credential Status

  • Backup & Restore

Per ogni caso di test, la tabella specifica:

  • Test Case: un identificatore univoco.

  • Category: l'area funzionale coperta dal test.

  • Description: il requisito testato, sempre basato su un MUST normativo dalla specifica.

  • Expected Result: il risultato atteso quando la soluzione è implementata correttamente.

15.3.2. Matrice di Test per la Valutazione delle Dichiarazioni Firmate

Questa sezione fornisce l'insieme comune di casi di test per Soluzioni Wallet, Relying Party e Credential Issuer che valutano qualsiasi dichiarazione firmata, siano esse asserzioni, richieste, attestati o Credenziali.

Test Case

Category

Description

Expected Result

ATT-001

Discovery, Security

Valutazione dell'emittente

Le entità che valutano le dichiarazioni firmate stabiliscono la fiducia con l'emittente e ne valutano la conformità. Gli emittenti non individuabili all'interno della federazione o non collegabili a qualsiasi Ancora di Fiducia nota, interrompono qualsiasi comunicazione di protocollo.

ATT-002

Discovery, Security

Valutazione della firma

Le entità valutano le dichiarazioni firmate verificando la firma con il materiale crittografico dell'emittente, a condizione che sia considerato affidabile attraverso un'Ancora di Fiducia nota. Qualsiasi materiale crittografico non affidabile o firme non valide interrompono le comunicazioni del protocollo.

ATT-003

Algorithm Verification

Verificare che l'algoritmo specificato nell'intestazione corrisponda a quello utilizzato per le operazioni crittografiche.

L'algoritmo nell'intestazione deve corrispondere all'operazione crittografica.

ATT-004

Appropriate Algorithms

Garantire che vengano utilizzati solo algoritmi crittograficamente attuali.

Vengono accettati solo algoritmi approvati; quelli obsoleti vengono rifiutati.

ATT-005

Signature Validation

Convalidare tutte le operazioni crittografiche e rifiutare se una qualsiasi fallisce.

Tutte le firme devono essere valide; qualsiasi fallimento comporta il fallimento di conformità.

ATT-006

Key Entropy

Garantire che le chiavi crittografiche abbiano entropia sufficiente.

Le chiavi devono soddisfare i requisiti di entropia; le chiavi deboli vengono rifiutate.

ATT-007

Issuer Validation

Convalidare che le chiavi crittografiche appartengano all'emittente.

Le chiavi devono essere verificate come appartenenti all'emittente.

ATT-008

Audience Validation

Convalidare il claim dell'audience per garantire che il token sia utilizzato dalla parte prevista.

Il claim dell'audience deve corrispondere al destinatario previsto.

ATT-009

Claim Trust

Non fidarsi dei claim ricevuti senza convalida.

I claim devono essere convalidati; i claim non attendibili vengono rifiutati.

ATT-010

Explicit Typing

Utilizzare la tipizzazione esplicita per prevenire la confusione COSE/JOSE.

La tipizzazione deve essere esplicita e convalidata.

ATT-011

Cross-JWT Confusion

Impedire che COSE/JOSE vengano utilizzati in contesti non previsti.

COSE/JOSE devono essere convalidati contestualmente per prevenire l'uso improprio.

ATT-012

Substitution Attacks

Garantire che COSE/JOSE non vengano sostituiti in contesti diversi.

COSE/JOSE devono essere convalidati per l'uso specifico del contesto.

ATT-013

Issued At Validation

Verificare che il parametro issued at sia impostato sull'ora corrente, consentendo un periodo di tolleranza non superiore a 120 secondi.

Il valore issued at deve essere entro 120 secondi dall'ora corrente.

ATT-014

Expiration Validation

Garantire che il tempo di expiration sia maggiore del tempo di issued at.

Il tempo di expiration deve essere successivo al tempo di issued at.

ATT-015

Data model validation

Garantire che il tipo JOSE/COSE corrisponda al modello di dati definito.

I parametri o i claim, i loro valori e lo schema utilizzato per rappresentarli sono conformi al modello di dati.

15.3.3. Matrice di Test per la Valutazione della Fiducia

Questa sezione fornisce l'insieme comune di casi di test per Soluzioni Wallet, Relying Party e Credential Issuer.

Test Case

Category

Description

Expected Result

ALL-001

Security

Ottenimento dei materiali crittografici pubblici delle Ancore di Fiducia

Le entità ottengono l'elenco delle Ancore di Fiducia o delle Autorità di Certificazione e i loro materiali di chiave crittografica pubblica, assicurandosi periodicamente che questi non siano scaduti, revocati o aggiornati. L'infrastruttura di fiducia fornisce queste informazioni attraverso endpoint web e meccanismi di recapito alternativi, per facilitare il confronto delle informazioni fornite a tutte le entità.

ALL-002

Security

Autovalutazione della conformità

Le entità valutano periodicamente la loro conformità e presenza all'interno della federazione, verificando che la catena di fiducia su se stesse sia ancora valida, non revocata e conforme alla specifica tecnica. Le entità applicano le politiche, verificando che la loro configurazione attuale sia valida con le politiche attive su di esse all'interno della federazione. La catena di fiducia, valutata e memorizzata in più formati per facilitare l'interoperabilità nella scoperta della fiducia con altre entità, viene memorizzata dalle entità e utilizzata all'occorrenza durante i flussi di scambio dati. La catena di fiducia sulle entità viene recuperata utilizzando le asserzioni emesse dall'entità.

ALL-003

Discovery

Pubblicazione di informazioni su se stessi

Le entità firmano e pubblicano tutte le informazioni su di loro, contenenti tutti i metadati del protocollo, il materiale crittografico, i Trust Mark, utilizzando l'endpoint well-known definito in questa specifica, rendendo queste informazioni pubblicamente individuabili da altre entità.

ALL-004

Security

Pubblicazione del registro storico delle chiavi

Le entità firmano e pubblicano tutte le informazioni sul materiale crittografico inutilizzato o revocato utilizzando endpoint well-known definiti in questa specifica, rendendo queste informazioni pubblicamente individuabili da altre entità.

ALL-005

Security

Valutazione della conformità con le entità prima di scambiare dati sull'Utente

Le entità valutano la fiducia e la conformità con altre entità prima che qualsiasi informazione relativa a una persona fisica o giuridica possa essere scambiata. Configurazioni errate non consentono scambi di dati.

ALL-006

Security

Valutazione della prova di possesso durante l'uso di un'asserzione firmata in base al metodo di conferma di proprietà dell'uso configurato.

Le entità valutano il metodo di conferma e applicano il suo protocollo per considerare valida la dichiarazione firmata.

ALL-007

Security

Algoritmi di crittografia supportati

Le entità valutano la crittografia utilizzando in conformità con gli algoritmi consentiti.

ALL-008

Security

Attacchi di replay

Le dichiarazioni firmate che utilizzano identificatori univoci vengono memorizzate fino alla loro scadenza e verificate rispetto a qualsiasi replay di esse.

15.3.4. Matrice di Test per la Soluzione Wallet

Questa sezione fornisce l'insieme di casi di test per verificare la conformità di un'implementazione di Soluzione Wallet alle regole tecniche definite nell'ecosistema IT-Wallet. Il piano di test si basa sui requisiti obbligatori (dichiarazioni MUST) estratti dai seguenti documenti:

  • Wallet Solution

  • Wallet Instance Revocation

  • Wallet Attestation Issuance

  • Backup and Restore

Test Case

Category

Description

Expected Result

WS-001

Wallet Initialization

La Soluzione Wallet DEVE garantire che ogni Istanza del Wallet sia generata secondo le specifiche e includa un identificatore univoco e chiavi crittografiche associate a un elemento sicuro.

Viene generata un'Istanza del Wallet conforme con identificatori corretti e associazioni sicure.

WS-002

User Interaction

La Soluzione Wallet DEVE richiedere e ottenere il Consenso esplicito dell'Utente durante l'inizializzazione dell'Istanza del Wallet.

L'Istanza del Wallet viene attivata solo dopo aver ottenuto il Consenso dell'Utente.

WS-003

Security

La Soluzione Wallet DEVE memorizzare le chiavi private all'interno di un Elemento Hardware Sicuro o di un archivio sicuro equivalente.

Tutti i materiali delle chiavi private sono inaccessibili dal sistema operativo o da qualsiasi applicazione esterna alla Soluzione Wallet.

WS-004

Attestation

Il Wallet DEVE essere in grado di generare e presentare una Wallet Attestation quando richiesto dalle Relying Party o dagli Emittenti.

Vengono generati Attestati validi e verificabili, incluse prove di integrità e origine.

WS-005

Attestation

Il Wallet DEVE supportare l'elaborazione delle Richieste di Wallet Attestation e generare risposte appropriate in conformità con eIDAS.

Il Wallet interpreta correttamente e soddisfa le richieste di attestato, inclusi i dati del soggetto e le firme crittografiche.

WS-006

Remote Credential Presentation

La Soluzione Wallet DEVE implementare sia il flusso di presentazione di prossimità che quello remoto, garantendo la selezione delle Credenziali Verificabili, l'integrità e l'interazione dell'Utente.

La presentazione delle Credenziali Verificabili ha successo, è corretta e sotto il controllo dell'Utente.

WS-007

Credential Issuance

Il Wallet DEVE supportare il flusso dell'Emittente per ricevere e memorizzare le Credenziali Verificabili.

Le Credenziali vengono memorizzate in modo sicuro e analizzate correttamente secondo la struttura definita.

WS-008

Revocation

Il Wallet DEVE consentire all'Utente di attivare una Revoca dell'Istanza del Wallet in qualsiasi momento.

La revoca viene eseguita e il materiale crittografico viene eliminato in modo sicuro o reso inutilizzabile.

WS-009

Revocation

In caso di Revoca dell'Istanza del Wallet, la Soluzione Wallet DEVE notificare ai sistemi di backend pertinenti di propagare la revoca.

Lo stato di revoca si riflette in tutti i componenti dell'ecosistema (ad esempio, Emittenti, Verificatori).

WS-010

Backup & Restore

Il Wallet DEVE supportare operazioni di Backup e Ripristino crittografate in conformità con i requisiti di privacy e integrità.

Il backup è crittografato e legato all'Utente; l'operazione di Ripristino verifica l'integrità e l'autenticità dell'Utente prima del recupero.

WS-011

Backup & Restore

Il Wallet DEVE gestire le chiavi di crittografia del backup in modo sicuro e derivarle da segreti o Credenziali controllati dall'Utente.

Nessuna entità non autorizzata può decrittografare i backup; i backup sono resi inutili se manomessi.

WS-012

Backup & Restore

Il Wallet DEVE autenticare l'Utente prima di consentire il Ripristino.

Il Ripristino avviene con successo solo dopo l'autenticazione verificata dell'Utente utilizzando metodi approvati (ad esempio, biometria, PIN, sfida crittografica).

WS-013

Attestation

Il Wallet DEVE rilevare gli Attestati scaduti e supportare i flussi di aggiornamento.

Gli Attestati scaduti non vengono utilizzati; l'aggiornamento viene attivato automaticamente o tramite richiesta dell'Utente.

WS-014

Compliance

Tutte le operazioni, inclusi Emissione, Presentazione, Attestato e Revoca, DEVONO essere conformi agli standard europei.

Viene mantenuta una traccia verificabile delle operazioni conformi; non si osserva alcuna deviazione dal comportamento eIDAS 2.0.

WS-015

User Interaction

Il Wallet DEVE operare secondo il principio del controllo dell'Utente e della minimizzazione dei dati.

Vengono utilizzati e trasmessi solo i dati esplicitamente consentiti e richiesti; tutte le operazioni richiedono azioni esplicite dell'Utente.

WS-016

Credential Presentation

Il Wallet DEVE supportare la presentazione offline delle Credenziali Verificabili quando consentito.

Le Credenziali vengono presentate in modo sicuro anche in modalità offline, mantenendo l'integrità e l'autenticità.

WS-017

Security

Il Wallet DEVE garantire protezioni anti-replay durante la presentazione delle Credenziali.

Ogni presentazione è crittograficamente unica e legata alla richiesta del Verificatore.

WS-018

Revocation

Il Wallet DEVE registrare e rendere verificabile il processo di revoca delle Istanze del Wallet.

I log completi e a prova di manomissione sono disponibili per l'ispezione su richiesta.

WS-019

Security

Il Wallet DEVE stabilire canali reciprocamente autenticati e crittografati durante tutte le interazioni.

Tutti i messaggi sono protetti contro l'intercettazione, la modifica o l'impersonificazione.

WS-020

Security

Il Wallet DEVE bloccarsi e/o revocare l'Istanza del Wallet in caso di rilevamento di manomissioni.

Il Wallet diventa inoperabile e la revoca viene attivata se la manomissione è confermata.

WS-021

Security

Il Wallet DEVE eseguire l'Attestato del Dispositivo utilizzando meccanismi specifici della piattaforma come Play Integrity (Android) o DC App Attest (iOS) durante la creazione dell'Istanza del Wallet.

L'Attestato del Dispositivo ha successo e i risultati sono inclusi nel payload dell'Attestato del Wallet.

WS-022

Attestation

L'Attestato del Wallet DEVE includere una firma utilizzando la Chiave di Binding del Wallet, e la catena di certificati DEVE essere verificabile fino a una radice attendibile.

La firma è presente, valida e verificabile utilizzando la catena di certificati fornita.

WS-023

Attestation

Il Wallet DEVE includere un risultato dell'Attestato del Dispositivo nella struttura dell'Attestato del Wallet.

Un oggetto di Attestato del Dispositivo valido (risultato di Play Integrity o DC App Attest) è incorporato nell'Attestato.

WS-024

Backup & Restore

Durante il Ripristino, il Wallet DEVE convalidare l'integrità del file di backup crittografato utilizzando un meccanismo di controllo dell'integrità.

Il Wallet rifiuta di ripristinare un file di backup manomesso o corrotto.

WS-025

Revocation

In caso di Revoca dell'Istanza del Wallet, il Wallet DEVE eliminare qualsiasi Credenziale Verificabile memorizzata localmente.

Nessun dato di Credenziale rimane accessibile dopo l'attivazione della revoca.

WS-026

Revocation

Il Wallet DEVE notificare al Backend del Wallet una Richiesta di Revoca che includa una prova valida di possesso della Chiave di Binding del Wallet.

La Richiesta di Revoca viene accettata e lo stato di revoca viene aggiornato nel backend.

WS-027

Security

Il Wallet DEVE impedire il riutilizzo delle Chiavi di Binding del Wallet revocate o delle Credenziali nelle future Istanze del Wallet.

Qualsiasi tentativo di riutilizzo viene rilevato e bloccato.

WS-028

Attestation

Il Wallet DEVE supportare l'aggiornamento dell'Attestato tramite l'API definita esposta dal Backend del Wallet.

L'Attestato viene rinnovato e la nuova versione viene accettata dai Verificatori e dagli Emittenti.

WS-029

Backup & Restore

La crittografia del backup DEVE utilizzare algoritmi di crittografia forti e conformi agli standard (ad esempio, AES-GCM).

Il file di backup crittografato è resistente agli attacchi di forza bruta e agli attacchi crittografici noti.

WS-030

User Interaction

Il Wallet DEVE richiedere all'Utente di confermare l'intenzione prima di qualsiasi operazione distruttiva come la Revoca o l'Eliminazione delle Credenziali.

Le azioni distruttive vengono eseguite solo dopo la conferma esplicita dell'Utente.

WS-031

Attestation

Il Wallet DEVE generare un Attestato del Wallet contenente informazioni sullo stato di integrità del dispositivo, utilizzando l'API Play Integrity su Android.

L'Attestato del Wallet include un payload Play Integrity valido con il campo 'MEETS_DEVICE_INTEGRITY' impostato.

WS-032

Attestation

Il Wallet DEVE generare un Attestato del Wallet utilizzando DeviceCheck App Attest su iOS e includere il risultato dell'attestato nell'Attestato del Wallet.

L'Attestato del Wallet include una risposta JWT DC App Attest valida firmata da Apple.

WS-033

Security

Il Wallet DEVE verificare che la firma del token Play Integrity sia valida e emessa da Google.

Il Wallet rifiuta i token Play Integrity non validi o contraffatti.

WS-034

Security

Il Wallet DEVE convalidare che il valore 'nonce' utilizzato in Play Integrity sia crittograficamente legato all'Istanza del Wallet.

Qualsiasi manomissione del nonce viene rilevata e porta al rifiuto dell'Attestato.

WS-035

Attestation

Il Wallet DEVE inviare l'Attestato del Wallet al Backend del Wallet durante la registrazione.

Il Backend del Wallet riceve l'attestato e ne verifica la validità.

WS-036

Backup & Restore

Il Wallet DEVE crittografare i backup utilizzando una chiave simmetrica derivata dai segreti dell'Utente.

Il backup non può essere decrittografato senza il materiale di autenticazione originale dell'Utente.

WS-037

Backup & Restore

Il Wallet DEVE includere metadati nel backup che identifichino la versione e il timestamp di creazione.

Il processo di Ripristino legge e verifica i metadati del backup prima di procedere.

WS-038

Revocation

Il Wallet DEVE inviare una Richiesta di Revoca firmata che includa la firma della Chiave di Binding del Wallet al Backend.

Il backend elabora la revoca e aggiorna lo stato del Wallet a revocato.

WS-039

Revocation

Il Wallet NON DEVE consentire ulteriori Emissioni o Presentazioni di Credenziali dopo la revoca.

Tutte le operazioni sono bloccate una volta che il Wallet è revocato.

WS-040

Credential Issuance

Il Wallet DEVE convalidare la struttura dell'Offerta di Credenziale ricevuta dall'Emittente.

Il Wallet accetta solo Offerte di Credenziale che corrispondono al formato e alla firma previsti.

WS-041

Credential Issuance

Il Wallet DEVE garantire che l'Utente acconsenta a ricevere una nuova Credenziale.

Nessuna Credenziale viene memorizzata senza l'approvazione esplicita dell'Utente.

WS-042

Credential Presentation

Il Wallet DEVE verificare la Richiesta di Presentazione del Verificatore prima di rispondere.

Le richieste non valide o malformate vengono rifiutate.

WS-043

Security

Il Wallet DEVE firmare le Presentazioni Verificabili con la chiave privata corretta associata all'Istanza del Wallet.

I Verificatori sono in grado di convalidare la firma e fidarsi della presentazione.

WS-044

User Interaction

Il Wallet DEVE richiedere all'Utente prima di inviare una Credenziale Verificabile a un Verificatore.

Nessuna Credenziale viene condivisa senza la conferma esplicita dell'Utente.

WS-045

Backup & Restore

Il Wallet DEVE consentire all'Utente di eliminare tutti i dati di backup memorizzati.

Tutto il materiale di backup viene eliminato in modo sicuro e non può essere recuperato.

WS-046

Revocation

Se il Wallet viene ripristinato su un nuovo dispositivo, DEVE verificare se l'Istanza del Wallet originale è stata revocata.

Le Istanze del Wallet revocate non possono essere ripristinate.

WS-047

Security

Il Wallet DEVE verificare la validità temporale delle Credenziali ricevute (ad esempio, issuanceDate, expirationDate).

Le Credenziali scadute vengono contrassegnate come non valide e non vengono utilizzate.

WS-048

Attestation

Il Wallet DEVE includere la chiave pubblica della Chiave di Binding del Wallet nell'Attestato del Wallet.

I Verificatori e gli Emittenti possono convalidare le firme effettuate con la chiave privata corrispondente.

WS-049

Credential Presentation

Il Wallet DEVE supportare la Divulgazione Selettiva degli attributi delle Credenziali.

Solo i campi selezionati sono inclusi nella presentazione inviata al Verificatore.

WS-050

Credential Presentation

Il Wallet DEVE consentire all'Utente di visualizzare in anteprima quali attributi delle Credenziali saranno divulgati prima della conferma.

All'Utente vengono mostrati i dati esatti da condividere e li approva esplicitamente.

WS-051

Proximity Flow

Il Wallet DEVE avviare il flusso di prossimità solo dopo il Consenso esplicito dell'Utente a interagire con un'Istanza di Relying Party Mobile.

Il flusso di presentazione di prossimità del Wallet è bloccato a meno che l'Utente non abbia approvato la richiesta.

WS-052

Proximity Flow

Il Wallet DEVE convalidare il Certificato di Accesso presentato da un'Istanza di Relying Party Mobile prima di procedere.

Se il Certificato di Accesso è mancante, non valido o scaduto, il Wallet DEVE rifiutare la richiesta.

WS-053

Proximity Flow

Il Wallet DEVE visualizzare un disclaimer quando il Certificato di Accesso è scaduto ma ancora entro il periodo di tolleranza consentito.

Il disclaimer viene mostrato chiaramente all'Utente e la presentazione procede solo dopo il consenso.

WS-054

Relying Party Instance

Il Wallet DEVE applicare il controllo che lo stato dell'Istanza di Relying Party sia 'Verificato' prima di consentire la presentazione delle Credenziali.

Il Wallet nega il flusso se l'Istanza di Relying Party è in qualsiasi stato diverso da 'Verificato'.

WS-055

Security

Il Wallet DEVE registrare qualsiasi tentativo di presentazione fallito a causa di uno stato non valido dell'Istanza di Relying Party o di un Certificato di Accesso scaduto.

Viene generato e memorizzato in modo sicuro un log degli eventi di sicurezza.

WS-056

Interoperability

Il Wallet DEVE supportare la comunicazione con le Istanze di Relying Party utilizzando codici QR standardizzati per la negoziazione della sessione come definito nella specifica.

Il Wallet legge e analizza con successo i codici QR e avvia la sessione secondo il protocollo.

WS-057

Proximity Flow

Il Wallet DEVE stabilire una sessione sicura e autenticata con l'Istanza di Relying Party Mobile utilizzando chiavi effimere prima della presentazione.

Le chiavi di sessione vengono negoziate e verificate, e tutta la comunicazione è crittografata.

WS-058

Credential Presentation

Il Wallet DEVE consentire all'Utente di scegliere quale Credenziale presentare a un'Istanza di Relying Party anche nel flusso di prossimità.

L'interfaccia di selezione delle Credenziali viene mostrata all'Utente durante il flusso di prossimità.

WS-059

Security

Il Wallet DEVE interrompere la sessione se l'Istanza di Relying Party non riesce a dimostrare il possesso della chiave privata associata al Certificato di Accesso.

La sessione viene terminata e nessun dato di Credenziale viene divulgato.

WS-060

User Interaction

Il Wallet DEVE indicare chiaramente all'Utente quando una richiesta di presentazione proviene da un'Istanza di Relying Party Mobile utilizzando un canale di prossimità.

La fonte della richiesta viene mostrata prima di consentire alla presentazione di procedere.

15.3.5. Matrice di Test per l'Emissione di Credenziali

Questa sezione fornisce l'insieme di casi di test per verificare la conformità delle implementazioni di Emissione di Credenziali alle regole tecniche definite nell'ecosistema IT-Wallet. I test relativi al Credential Issuer sono relativi all'emissione di Credenziali di Interesse Pubblico, come pubblicato nel Catalogo delle Credenziali.

Nota

I riferimenti ai piani di test ufficiali OpenID4VCI aggiorneranno questa sezione nelle versioni future.

  • Emissione PID/EAA

Test Case

Category

Description

Expected Result

ISS-001

Setup

Convalidare la configurazione dell'Istanza del Wallet

L'Istanza del Wallet è configurata con una Wallet Attestation valido. Assicurarsi che la chiave pubblica sia valida e correttamente associata a un elemento sicuro.

ISS-002

Discovery

Scoperta del Credential Issuer

L'Istanza del Wallet scopre con successo i Credential Issuer digitali affidabili utilizzando il Catalogo delle Credenziali e la loro conformità alla configurazione e alle politiche con l'API di Federazione.

ISS-003

Metadata

Recupero dei metadati del Credential Issuer

L'Istanza del Wallet recupera e convalida i metadati del Credential Issuer. I metadati includono formati PID, algoritmi supportati e parametri di interoperabilità.

ISS-004

Authorization, Authentication

Richiesta di Credenziale utilizzando il flusso Authorization Code

L'Istanza del Wallet richiede con successo la Credenziale utilizzando il flusso Authorization Code. Convalidare l'uso di PKCE con un code verifier di 43-128 caratteri.

ISS-005

Authentication

Autenticazione dell'Utente con il Fornitore di Attestati Elettronici di Dati di Identificazione Personale

L'Utente viene autenticato con LoA 3 (Alto) dal Fornitore di Attestati Elettronici di Dati di Identificazione Personale. Convalidare l'uso dello schema di identità digitale CieID e assicurarsi che venga ottenuto il consenso dell'Utente.

ISS-006

Issuance

Emissione di Credenziale

La Credenziale viene emessa e associata al materiale chiave dell'Istanza del Wallet. Convalidare il processo di associazione e garantire l'integrità e la conformità al modello di dati della Credenziale emessa.

ISS-007

Authentication

Autenticazione dell'Utente con il Fornitore di Attestati Elettronici di Attributi (Q)ualificati

L'Utente viene autenticato presentando un PID valido. La richiesta di presentazione, il PID è valido e precedentemente ottenuto.

ISS-008

Security

Convalida della Pushed Authorization Request (PAR)

Il Credential Issuer convalida con successo la richiesta PAR.

ISS-009

Security

Convalida della richiesta di token

Il Credential Issuer convalida la richiesta di token e emette i token. Convalidare la prova DPoP e assicurarsi che il codice di autorizzazione sia valido e non riutilizzato.

ISS-010

Security

Convalida della richiesta di Credenziale

Il Credential Issuer convalida la richiesta di Credenziali e emette le Credenziali. Convalidare la prova di possesso e assicurarsi che il tipo di Credenziale corrisponda alla richiesta.

ISS-011

Deferred Issuance

Flusso di emissione differita

L'Istanza del Wallet gestisce correttamente l'emissione differita e recupera le Credenziali in un secondo momento. Convalidare l'uso dell'identificatore univoco della transazione (transaction_id) e assicurarsi che la Credenziale venga emessa dopo il tempo di attesa specificato.

ISS-012

Notification

Gestione delle notifiche

L'Istanza del Wallet invia e riceve correttamente le notifiche. Convalidare l'uso di notification_id e assicurarsi che il tipo di evento sia riportato correttamente.

ISS-013

Credential Issuance

Il Fornitore di Attestati Elettronici di Attributi (Q)ualificati offre Credenziali al Titolare

Le Istanze del Wallet valutano l'offerta e avviano il flusso di autorizzazione dopo aver valutato la fiducia con il Fornitore di Attestati Elettronici di Attributi (Q)ualificati.

ISS-014

Security

Convalidare client_id nella richiesta PAR

Assicurarsi che il client_id nel corpo della richiesta corrisponda al claim client_id nell'Oggetto Richiesta.

ISS-015

Security

Convalidare il claim iss nell'Oggetto Richiesta

Assicurarsi che il claim iss nell'Oggetto Richiesta corrisponda al claim client_id.

ISS-016

Security

Convalidare il claim aud nell'Oggetto Richiesta

Assicurarsi che il claim aud nell'Oggetto Richiesta sia uguale all'identificatore del Credential Issuer.

ISS-017

Security

Rifiutare la richiesta PAR con request_uri

Assicurarsi che la richiesta PAR venga rifiutata se contiene il parametro request_uri.

ISS-018

Security

Convalidare i parametri obbligatori nell'Oggetto Richiesta

Assicurarsi che l'Oggetto Richiesta contenga tutti i parametri obbligatori e che i valori siano convalidati.

ISS-019

Security

Convalidare OAuth-Client-Attestation-PoP

Assicurarsi che il parametro OAuth-Client-Attestation-PoP sia convalidato.

ISS-020

Authorization

Convalidare request_uri nella richiesta di autorizzazione

Assicurarsi che i valori request_uri siano trattati come monouso e che le richieste scadute vengano rifiutate.

ISS-021

Authorization

Identificare la richiesta dalla PAR inviata

Assicurarsi che la richiesta sia identificata come risultato della PAR inviata.

ISS-022

Authorization

Rifiutare le richieste di autorizzazione senza request_uri

Assicurarsi che tutte le richieste di autorizzazione senza request_uri vengano rifiutate.

ISS-023

Security

Convalidare i parametri della risposta di autorizzazione

Assicurarsi che la risposta di autorizzazione contenga tutti i parametri definiti.

ISS-024

Security

Convalidare il parametro state nella risposta di autorizzazione

Assicurarsi che il parametro state nella risposta corrisponda al valore inviato nell'Oggetto Richiesta.

ISS-025

Security

Convalidare il parametro iss nella risposta di autorizzazione

Assicurarsi che il parametro iss corrisponda al Credential Issuer previsto.

ISS-026

Security

Convalidare la prova DPoP per l'endpoint Token

Assicurarsi che il JWT della prova DPoP sia valido e associ il Token di Accesso all'Istanza del Wallet.

ISS-027

Security

Convalidare i parametri della richiesta di token

Assicurarsi che la richiesta di token includa code, code_verifier e un Attestato OAuth 2.0 valido.

ISS-028

Security

Convalidare il codice di autorizzazione nella richiesta di token

Assicurarsi che il code di autorizzazione sia valido e non riutilizzato.

ISS-029

Security

Convalidare redirect_uri nella richiesta di token

Assicurarsi che il redirect_uri corrisponda al valore nel precedente Oggetto Richiesta.

ISS-030

Security

Convalidare il JWT della prova DPoP nella richiesta di token

Assicurarsi che il JWT della prova DPoP sia convalidato secondo la specifica.

ISS-031

Security

Convalidare la richiesta di Nonce

Assicurarsi che la richiesta di Nonce sia inviata correttamente e che venga ottenuto un c_nonce fresco.

ISS-032

Security

Convalidare la risposta di Nonce

Assicurarsi che il c_nonce nella risposta di Nonce sia imprevedibile e utilizzato correttamente.

ISS-033

Security

Convalidare la prova DPoP per l'endpoint Credential

Assicurarsi che il JWT della prova DPoP per l'endpoint Credential sia valido e associ la Credenziale all'Istanza del Wallet.

ISS-034

Security

Convalidare i parametri della richiesta di Credenziale

Assicurarsi che la richiesta di Credenziale includa il Token di Accesso, il JWT della prova DPoP e una prova di possesso valida.

ISS-035

Security

Convalidare la prova JWT nella richiesta di Credenziale

Assicurarsi che la prova JWT includa tutti i claim richiesti e sia firmata correttamente.

ISS-036

Security

Convalidare c_nonce nella richiesta di Credenziale

Assicurarsi che il c_nonce nel JWT corrisponda al valore fornito dal server.

ISS-037

Security

Convalidare i parametri della risposta di Credenziale

Assicurarsi che la risposta di Credenziale contenga tutti i parametri obbligatori e che i valori siano convalidati.

ISS-038

Security

Convalidare l'integrità della Credenziale

Assicurarsi dell'integrità della Credenziale emessa verificando la firma.

ISS-039

Security

Convalidare il tipo e lo schema della Credenziale

Assicurarsi che la Credenziale emessa corrisponda al tipo richiesto e sia conforme allo schema.

ISS-040

Security

Convalidare la catena di fiducia nella Credenziale

Assicurarsi che la catena di fiducia nell'intestazione della Credenziale verifichi la fiducia del Credential Issuer al momento dell'emissione.

ISS-041

Security

Convalidare i parametri dell'emissione differita

Assicurarsi che i parametri dell'emissione differita siano utilizzati correttamente e che la Credenziale venga emessa dopo il tempo di attesa specificato.

ISS-042

Security

Convalidare i parametri della richiesta di notifica

Assicurarsi che la richiesta di notifica includa notification_id e un tipo di evento valido.

ISS-043

Security

Convalidare la risposta di notifica

Assicurarsi che la risposta di notifica venga ricevuta con il codice di stato corretto.

ISS-044

Security

Convalidare il flusso del token di aggiornamento

Assicurarsi che il flusso del token di aggiornamento sia utilizzato correttamente e che i token siano associati alla chiave DPoP.

ISS-045

Security

Convalidare la scadenza del token di aggiornamento

Assicurarsi che il token di aggiornamento non sia scaduto e sia utilizzato entro il periodo di tempo consentito.

ISS-046

Security

Convalidare i token vincolati al mittente

Assicurarsi che i token di aggiornamento siano crittograficamente associati all'Istanza del Wallet.

ISS-047

Security

Convalidare la limitazione dell'uso del token di aggiornamento

Assicurarsi che l'uso dei token di aggiornamento sia limitato e conforme alla specifica.

ISS-048

Revocation

Convalidare la durata degli Attestati del Wallet

Assicurarsi che gli Attestati del Wallet siano di breve durata o forniti con Status List se di lunga durata.

ISS-049

Security

Convalidare il flusso di riemissione

Assicurarsi che il flusso di riemissione sia utilizzato correttamente e sia conforme alla specifica.

ISS-050

Security

Convalidare l'aggiornamento del modello/formato dei dati

Assicurarsi che l'aggiornamento del modello/formato dei dati sia gestito correttamente durante la riemissione.

ISS-051

Security

Convalidare l'aggiornamento del set di attributi dell'Utente

Assicurarsi che gli aggiornamenti del set di attributi dell'Utente siano gestiti correttamente durante la riemissione.

ISS-052

Security

Convalidare la scadenza della Credenziale nella riemissione

Assicurarsi che la Credenziale appena emessa abbia la stessa data di scadenza della precedente.

ISS-053

Security

Convalidare l'autenticazione dell'Utente nella riemissione

Assicurarsi che l'autenticazione dell'Utente sia richiesta per la riemissione dopo la scadenza della Credenziale.

ISS-054

Security

Convalidare i parametri dell'endpoint differito

Assicurarsi che i parametri dell'endpoint differito siano utilizzati correttamente e che la Credenziale venga emessa dopo il tempo di attesa specificato.

ISS-055

Security

Convalidare la richiesta di Credenziale differita

Assicurarsi che la richiesta di Credenziale differita sia inviata correttamente e che la Credenziale venga emessa.

ISS-056

Security

Convalidare la risposta di Credenziale differita

Assicurarsi che la risposta di Credenziale differita contenga tutti i parametri obbligatori e che i valori siano convalidati.

ISS-057

Security

Convalidare i parametri dell'endpoint di notifica

Assicurarsi che i parametri dell'endpoint di notifica siano utilizzati correttamente e che l'evento sia riportato.

ISS-058

Security

Convalidare la gestione degli errori nell'endpoint di notifica

Assicurarsi che gli errori nell'endpoint di notifica siano gestiti correttamente e riportati.

ISS-059

Security

Convalidare la gestione degli errori nell'endpoint Credential

Assicurarsi che gli errori nell'endpoint Credential siano gestiti correttamente e riportati.

ISS-060

Security

Convalidare la gestione degli errori nell'endpoint Token

Assicurarsi che gli errori nell'endpoint Token siano gestiti correttamente e riportati.

ISS-061

Security

Convalidare la gestione degli errori nell'endpoint Authorization

Assicurarsi che gli errori nell'endpoint Authorization siano gestiti correttamente e riportati.

ISS-062

Error Handling

Convalidare la gestione degli errori nell'endpoint PAR

Assicurarsi che gli errori nell'endpoint PAR siano gestiti correttamente e riportati.

ISS-063

Error Handling

Convalidare la gestione degli errori nell'endpoint Nonce

Assicurarsi che gli errori nell'endpoint Nonce siano gestiti correttamente e riportati.

ISS-064

Error Handling

Convalidare la gestione degli errori nell'endpoint differito

Assicurarsi che gli errori nell'endpoint differito siano gestiti correttamente e riportati.

ISS-065

Error Handling

Convalidare la gestione degli errori nel flusso di riemissione

Assicurarsi che gli errori nel flusso di riemissione siano gestiti correttamente e riportati.

ISS-066

Error Handling

Convalidare la gestione degli errori nel flusso del token di aggiornamento

Assicurarsi che gli errori nel flusso del token di aggiornamento siano gestiti correttamente e riportati.

ISS-067

Error Handling

Convalidare la gestione degli errori nell'emissione di Credenziale

Assicurarsi che gli errori nel processo di emissione di Credenziale siano gestiti correttamente e riportati.

ISS-068

Error Handling

Convalidare la gestione degli errori nella richiesta di Credenziale

Assicurarsi che gli errori nel processo di richiesta di Credenziale siano gestiti correttamente e riportati.

ISS-069

Error Handling

Convalidare la gestione degli errori nella risposta di Credenziale

Assicurarsi che gli errori nel processo di risposta di Credenziale siano gestiti correttamente e riportati.

ISS-070

Error Handling

Convalidare la gestione degli errori nella convalida della Credenziale

Assicurarsi che gli errori nel processo di convalida della Credenziale siano gestiti correttamente e riportati.

ISS-071

Error Handling

Convalidare la gestione degli errori nell'integrità della Credenziale

Assicurarsi che gli errori nel processo di integrità della Credenziale siano gestiti correttamente e riportati.

ISS-072

Error Handling

Convalidare la gestione degli errori nel tipo e nello schema della Credenziale

Assicurarsi che gli errori nel processo di tipo e schema della Credenziale siano gestiti correttamente e riportati.

ISS-073

Error Handling

Convalidare la gestione degli errori nella convalida della catena di fiducia

Assicurarsi che gli errori nel processo di convalida della catena di fiducia siano gestiti correttamente e riportati.

ISS-074

Error Handling

Convalidare la gestione degli errori nell'emissione differita

Assicurarsi che gli errori nel processo di emissione differita siano gestiti correttamente e riportati.

ISS-075

Error Handling

Convalidare la gestione degli errori nella gestione delle notifiche

Assicurarsi che gli errori nel processo di gestione delle notifiche siano gestiti correttamente e riportati.

ISS-076

Error Handling

Convalidare la gestione degli errori nell'autenticazione dell'Utente

Assicurarsi che gli errori nel processo di autenticazione dell'Utente siano gestiti correttamente e riportati.

ISS-077

Error Handling

Convalidare la gestione degli errori nel consenso dell'Utente

Assicurarsi che gli errori nel processo di consenso dell'Utente siano gestiti correttamente e riportati.

ISS-078

Error Handling

Convalidare la gestione degli errori nella notifica dell'Utente

Assicurarsi che gli errori nel processo di notifica dell'Utente siano gestiti correttamente e riportati.

ISS-079

Error Handling

Convalidare la gestione degli errori nell'aggiornamento del set di attributi dell'Utente

Assicurarsi che gli errori nel processo di aggiornamento del set di attributi dell'Utente siano gestiti correttamente e riportati.

ISS-080

Error Handling

Convalidare la gestione degli errori nell'aggiornamento del modello/formato dei dati

Assicurarsi che gli errori nel processo di aggiornamento del modello/formato dei dati siano gestiti correttamente e riportati.

ISS-081

Error Handling

Convalidare la gestione degli errori nella scadenza della Credenziale

Assicurarsi che gli errori nel processo di scadenza della Credenziale siano gestiti correttamente e riportati.

ISS-082

Error Handling

Convalidare la gestione degli errori nella riemissione della Credenziale

Assicurarsi che gli errori nel processo di riemissione della Credenziale siano gestiti correttamente e riportati.

ISS-083

Error Handling

Convalidare la gestione degli errori nell'associazione della Credenziale

Assicurarsi che gli errori nel processo di associazione della Credenziale siano gestiti correttamente e riportati.

ISS-084

Error Handling

Convalidare la gestione degli errori nella valutazione della fiducia della Credenziale

Assicurarsi che gli errori nel processo di valutazione della fiducia della Credenziale siano gestiti correttamente e riportati.

ISS-085

Error Handling

Convalidare la gestione degli errori nel recupero dei metadati della Credenziale

Assicurarsi che gli errori nel processo di recupero dei metadati della Credenziale siano gestiti correttamente e riportati.

ISS-086

Error Handling

Convalidare la gestione degli errori nella scoperta della Credenziale

Assicurarsi che gli errori nel processo di scoperta della Credenziale siano gestiti correttamente e riportati.

ISS-087

Error Handling

Convalidare la gestione degli errori nella valutazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di valutazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-088

Error Handling

Convalidare la gestione degli errori nell'accettazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di accettazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-089

Error Handling

Convalidare la gestione degli errori nel rifiuto dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di rifiuto dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-090

Error Handling

Convalidare la gestione degli errori nella revoca dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di revoca dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-091

Error Handling

Convalidare la gestione degli errori nella scadenza dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di scadenza dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-092

Error Handling

Convalidare la gestione degli errori nel rinnovo dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di rinnovo dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-093

Error Handling

Convalidare la gestione degli errori nell'aggiornamento dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di aggiornamento dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-094

Error Handling

Convalidare la gestione degli errori nella convalida dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di convalida dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-095

Error Handling

Convalidare la gestione degli errori nella verifica dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di verifica dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-096

Error Handling

Convalidare la gestione degli errori nella conferma dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di conferma dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-097

Error Handling

Convalidare la gestione degli errori nella notifica dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di notifica dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-098

Error Handling

Convalidare la gestione degli errori nella comunicazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di comunicazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-099

Error Handling

Convalidare la gestione degli errori nella trasmissione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di trasmissione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-100

Error Handling

Convalidare la gestione degli errori nella ricezione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di ricezione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-101

Error Handling

Convalidare la gestione degli errori nell'elaborazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di elaborazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-102

Error Handling

Convalidare la gestione degli errori nella gestione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di gestione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-103

Error Handling

Convalidare la gestione degli errori nella gestione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di gestione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-104

Error Handling

Convalidare la gestione degli errori nell'amministrazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di amministrazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-105

Error Handling

Convalidare la gestione degli errori nel controllo dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di controllo dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-106

Error Handling

Convalidare la gestione degli errori nella supervisione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di supervisione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-107

Error Handling

Convalidare la gestione degli errori nella supervisione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di supervisione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-108

Error Handling

Convalidare la gestione degli errori nel monitoraggio dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di monitoraggio dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-109

Error Handling

Convalidare la gestione degli errori nella valutazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di valutazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

ISS-110

Error Handling

Convalidare la gestione degli errori nella valutazione dell'offerta di Credenziale

Assicurarsi che gli errori nel processo di valutazione dell'offerta di Credenziale siano gestiti correttamente e riportati.

15.3.6. Matrice di Test per la Presentazione di Credenziali

Questa sezione fornisce l'insieme di casi di test per verificare la conformità delle implementazioni dei Verificatori di Credenziali alle regole tecniche definite nell'ecosistema IT-Wallet.

15.3.6.1. Matrice di Test per la Presentazione Remota di Credenziali

Questa sezione definisce i casi di test relativi al flusso di presentazione remota.

Nota

I riferimenti ai piani di test ufficiali OpenID4VP aggiorneranno questa sezione nelle versioni future.

Test Case

Category

Description

Expected Result

RPR-01

Same Device Flow

Verificare l'URL di reindirizzamento HTTP (302).

L'Istanza del Wallet riceve l'URL corretto.

RPR-02

Cross Device Flow

Verificare la generazione del codice QR per l'Istanza del Wallet.

L'Istanza del Wallet scansiona il codice QR con successo.

RPR-03

Cross Device Flow

Verificare che il codice QR contenga i parametri URL corretti.

L'Istanza del Wallet recupera l'URL con i parametri.

RPR-04

Cross Device Flow

Testare la scansione del codice QR in condizioni di scarsa illuminazione.

Il codice QR viene scansionato con successo.

RPR-05

Cross Device Flow

Verificare il livello di correzione degli errori del codice QR.

Il codice QR rimane leggibile se danneggiato.

RPR-06

Cross Device Flow

Testare la scansione del codice QR con dispositivi diversi.

Il codice QR viene scansionato con successo.

RPR-07

Request URI Method

Testare request_uri_method come post.

L'Istanza del Wallet invia i metadati tramite POST.

RPR-08

Request URI Method

Testare request_uri_method come get.

L'Istanza del Wallet recupera l'Oggetto Richiesta tramite GET.

RPR-09

Request URI Method

Testare l'assenza di request_uri_method.

L'Istanza del Wallet utilizza il metodo GET come predefinito.

RPR-10

Metadata

Verificare che i parametri corrispondano ai metadati del verificatore di Credenziali openid.

Verranno considerati solo i parametri consentiti.

RPR-11

User Consent

Testare l'idoneità di un verificatore di Credenziali nel richiedere attributi dell'utente.

L'utente può modificare la selezione dei dati relativi agli attributi opzionali.

RPR-12

Authorization Response

Testare l'invio della risposta di presentazione.

La Relying Party riceve e convalida la risposta con state e nonce.

RPR-13

Authorization Response

Verificare la crittografia della risposta.

La risposta è crittografata utilizzando la chiave pubblica della Relying Party.

RPR-14

Error Handling

Testare la gestione dell'Oggetto Richiesta non valido.

Viene inviata una risposta di errore di autorizzazione.

RPR-15

Error Handling

Verificare la registrazione degli errori da parte dell'Istanza del Wallet.

Gli errori vengono registrati in modo appropriato.

RPR-16

Error Handling

Testare il recupero da server_error.

L'utente viene invitato a riprovare o a scansionare un nuovo codice QR.

RPR-17

Relying Party Response

Verificare la gestione corretta della risposta.

La sessione dell'utente viene aggiornata, viene fornito l'URI di reindirizzamento.

RPR-18

Relying Party Response

Testare l'assenza di redirect_uri.

Viene restituita una risposta di errore.

RPR-19

Redirect URI

Testare il reindirizzamento all'endpoint della Relying Party.

L'utente viene reindirizzato correttamente.

RPR-20

Redirect URI

Verificare la gestione di redirect_uri non valido.

Viene restituita una risposta di errore.

RPR-21

User Consent

Verificare la visualizzazione dell'identità della Relying Party.

L'identità viene visualizzata chiaramente al Titolare.

RPR-22

User Consent

Testare la revoca del consenso dell'utente.

L'utente può revocare il consenso prima dell'invio.

RPR-23

Credential Presentation

Verificare la conformità del formato della risposta.

Ogni Credenziale aderisce al formato specificato.

RPR-24

Authorization Response

Testare la gestione dei timeout della risposta.

I tentativi devono avere successo a meno che la risposta non venga acquisita.

RPR-25

Error Handling

Verificare la gestione dei claim malformati nel payload di presentazione.

Viene inviata una risposta di errore di autorizzazione.

RPR-26

Error Handling

Verificare la gestione dei claim malformati nelle Credenziali presentate.

Viene inviata una risposta di errore di autorizzazione.

RPR-27

Error Handling

Testare la gestione delle richieste scadute.

Il Titolare viene notificato della scadenza.

RPR-28

Relying Party Response

Verificare l'inclusione del codice di risposta.

Il codice di risposta è crittograficamente casuale.

RPR-29

Relying Party Response

Testare la gestione dei codici di risposta non validi.

Viene restituita una risposta di errore.

RPR-30

Status Endpoint

Verificare la gestione dell'accesso non autorizzato.

L'accesso non autorizzato viene negato.

RPR-31

Status Endpoint

Testare la gestione degli ID di sessione non validi.

Viene restituita una risposta di errore.

RPR-32

Redirect URI

Verificare la gestione delle sessioni scadute.

Viene restituita una risposta di errore.

RPR-33

Redirect URI

Testare la gestione degli errori del server.

Viene restituita una risposta di errore.

RPR-34

Same Device Flow

Verificare la gestione delle condizioni di rete lente.

L'Istanza del Wallet riprova o notifica all'utente.

RPR-35

Request URI Method

Testare la gestione di payload di metadati di grandi dimensioni.

I metadati vengono inviati con successo.

RPR-36

Presentation Response

Verificare la gestione di payload di risposta di grandi dimensioni.

La risposta viene inviata con successo.

RPR-37

Presentation Response

Testare la gestione dei fallimenti di crittografia della risposta.

Viene restituita una risposta di errore.

RPR-38

Error Handling

Verificare la gestione delle firme non valide.

Viene inviata una risposta di errore di autorizzazione.

RPR-39

Error Handling

Testare la gestione dei valori nonce non validi.

Viene restituita una risposta di errore.

RPR-40

Relying Party Response

Verificare la gestione delle risposte malformate.

Viene restituita una risposta di errore.

RPR-41

Relying Party Response

Testare la gestione dei parametri di risposta mancanti.

Viene restituita una risposta di errore.

RPR-42

Status Endpoint

Verificare la gestione dei timeout di sessione.

Viene restituita una risposta di errore.

RPR-43

Status Endpoint

Testare la gestione dei codici di stato non validi.

Viene restituita una risposta di errore.

RPR-44

Redirect URI

Verificare la gestione delle sessioni utente non valide.

Viene restituita una risposta di errore.

RPR-45

Redirect URI

Testare la gestione dei servizi non disponibili.

Viene restituita una risposta di errore.

RPR-46

Same Device Flow

Verificare la gestione delle cancellazioni dell'utente.

L'utente può annullare il processo.

RPR-47

Cross Device Flow

Testare la scansione del codice QR con app diverse.

Il codice QR viene scansionato con successo.

RPR-48

Cross Device Flow

Verificare la scansione del codice QR con illuminazione diversa.

Il codice QR viene scansionato con successo.

RPR-49

Request URI Method

Testare la gestione dei tipi di contenuto non supportati.

Viene restituita una risposta di errore.

RPR-50

User Consent

Verificare la notifica all'utente delle modifiche al consenso.

L'utente viene informato sulle modifiche al consenso.

RPR-51

User Consent

Testare il consenso dell'utente per i dati sensibili.

L'utente può acconsentire ai dati sensibili.

RPR-52

Authorization Response

Verificare la gestione dei fallimenti di decrittografia della risposta.

Viene restituita una risposta di errore.

RPR-53

Authorization Response

Testare la gestione dei controlli di integrità della risposta.

L'integrità della risposta viene verificata.

RPR-54

Relying Party Response

Verificare la gestione dei fallimenti di convalida della risposta.

Viene restituita una risposta di errore.

RPR-55

Relying Party Response

Testare la gestione degli errori di elaborazione della risposta.

Viene restituita una risposta di errore.

RPR-56

Protected Resource Endpoint

Verificare la gestione dell'accesso non autorizzato alla sessione.

L'accesso non autorizzato viene negato.

RPR-57

Redirect URI

Verificare la gestione dei parametri di reindirizzamento non validi.

Viene restituita una risposta di errore.

RPR-58

Redirect URI

Testare la gestione dei fallimenti di reindirizzamento.

Viene restituita una risposta di errore.

RPR-59

Same Device Flow

Verificare la gestione delle interruzioni dell'utente.

L'utente può riprendere o annullare il processo.

RPR-60

Request URI Method

Testare la gestione dei metodi HTTP non validi.

Viene restituita una risposta di errore.

RPR-61

User Consent

Verificare la notifica all'utente della revoca del consenso.

L'utente viene informato sulla revoca del consenso.

RPR-62

User Consent

Testare il consenso dell'utente per i dati opzionali.

L'utente può acconsentire ai dati opzionali.

RPR-63

Authorization Response

Verificare la gestione dei fallimenti di firma della risposta.

Viene restituita una risposta di errore.

RPR-64

Authorization Response

Testare la gestione degli errori di formato della risposta.

Viene restituita una risposta di errore.

RPR-65

Error Handling

Verificare la gestione delle firme JWT non valide.

Viene inviata una risposta di errore di autorizzazione.

RPR-66

Error Handling

Testare la gestione dei claim JWT non validi.

Viene restituita una risposta di errore.

RPR-67

Relying Party Response

Verificare la gestione degli errori di analisi della risposta.

Viene restituita una risposta di errore.

RPR-68

Relying Party Response

Testare la gestione degli errori di timeout della risposta.

Viene restituita una risposta di errore.

RPR-69

Status Endpoint

Verificare la gestione della scadenza della sessione.

Viene restituita una risposta di errore.

RPR-70

Status Endpoint

Testare la gestione degli errori di rinnovo della sessione.

Viene restituita una risposta di errore.

RPR-71

Redirect URI

Verificare la gestione degli errori di loop di reindirizzamento.

Viene restituita una risposta di errore.

RPR-72

Redirect URI

Testare la gestione degli errori di sicurezza del reindirizzamento.

Viene restituita una risposta di errore.

RPR-73

Same Device Flow

Verificare la gestione dei timeout dell'utente.

L'utente viene notificato del timeout.

RPR-74

Cross Device Flow

Testare la scansione del codice QR con dispositivi diversi.

Il codice QR viene scansionato con successo.

RPR-75

Cross Device Flow

Verificare la scansione del codice QR con app diverse.

Il codice QR viene scansionato con successo.

RPR-76

Request URI Method

Testare la gestione dei metodi HTTP non supportati.

Viene restituita una risposta di errore.

15.3.6.2. Matrice di Test per la Presentazione di Credenziali di Prossimità

Questa sezione definisce i casi di test generali relativi al flusso di presentazione di prossimità.

Nota

I riferimenti ai piani di test ISO-1813-5 aggiorneranno questa sezione nelle versioni future.

Test Case

Category

Description

Expected Result

PPR-001

Device Engagement

Testare l'avvio del coinvolgimento del dispositivo utilizzando il codice QR.

Il coinvolgimento del dispositivo viene avviato con successo e il codice QR viene scansionato.

PPR-002

Session Establishment

Verificare l'instaurazione della sessione con le chiavi di sessione corrette.

La sessione viene stabilita in modo sicuro con le chiavi di sessione corrette.

PPR-003

Communication

Testare la trasmissione della richiesta mdoc tramite BLE.

La richiesta mdoc viene trasmessa in modo sicuro tramite BLE.

PPR-004

User Authentication

Convalidare l'autenticazione dell'utente tramite WSCA.

L'utente viene autenticato con successo utilizzando WSCA.

PPR-005

Attribute Consent

Verificare il consenso dell'utente per il rilascio degli attributi.

L'utente acconsente al rilascio degli attributi richiesti.

PPR-006

Data Retrieval

Testare il recupero delle Credenziali Digitali mdoc.

Le Credenziali Digitali mdoc vengono recuperate con successo.

PPR-007

Session Termination

Verificare la terminazione della sessione dopo lo scambio di dati.

La sessione viene terminata e le chiavi vengono distrutte.

PPR-008

Error Handling

Testare la gestione delle chiavi di sessione non valide.

Viene visualizzato un messaggio di errore appropriato per le chiavi non valide.

PPR-009

BLE Connection

Testare la stabilità della connessione BLE durante lo scambio di dati.

La connessione BLE rimane stabile durante tutto lo scambio.

PPR-010

Document Verification

Verificare l'integrità dei documenti ricevuti.

I documenti vengono verificati e l'integrità è confermata.

PPR-011

Security

Testare la crittografia delle richieste e risposte mdoc.

Tutte le richieste e risposte mdoc sono crittografate correttamente.

PPR-012

User Interface

Verificare l'interfaccia utente per il consenso agli attributi.

L'interfaccia utente visualizza chiaramente la richiesta di consenso agli attributi.

PPR-013

Error Handling

Testare la risposta ai tipi di documento non supportati.

Il sistema restituisce un errore appropriato per i tipi di documento non supportati.

PPR-014

Performance

Misurare il tempo impiegato per l'instaurazione della sessione.

La sessione viene stabilita entro limiti di tempo accettabili.

PPR-015

Compatibility

Verificare la compatibilità con diversi dispositivi mobili.

Il sistema funziona perfettamente su vari dispositivi mobili.

PPR-016

Data Integrity

Testare l'integrità dei dati durante la trasmissione.

L'integrità dei dati viene mantenuta durante la trasmissione.

PPR-017

Session Management

Testare la gestione della sessione sotto carico elevato.

Le sessioni vengono gestite efficacemente in condizioni di carico elevato.

PPR-018

BLE Connection

Testare la riconnessione dopo la disconnessione BLE.

Il sistema si riconnette con successo dopo la disconnessione BLE.

PPR-019

User Experience

Valutare l'esperienza dell'utente durante il flusso di prossimità.

Gli utenti riportano un'esperienza positiva con il flusso di prossimità.

PPR-020

Security

Testare la resistenza agli attacchi di replay.

Il sistema è resistente agli attacchi di replay.