4.2. [PROFILE_NON_REPUDIATION_01] Profilo per la non ripudiabilità della trasmissione¶
Dare seguito ad uno scambio tra fruitore ed erogatore che garantisca la non ripudiabilità assicurando a livello di messaggio:
- integrità del messaggio
 - autenticazione del fruitore, quale organizzazione o unità organizzativa fruitore quale mittente del contenuto
 - conferma da parte dell’erogatore della ricezione del contenuto
 - opponibilità ai terzi
 - robustezza della trasmissione
 
Il presente profilo utilizza come modello di comunicazione il Pattern di interazione BLOCK_SOAP nel caso di utilizzo di SOAP o BLOCK_REST nel caso di utilizzo di REST. Questo profilo utilizza i seguenti pattern di sicurezza:
- ID_AUTH_CHANNEL_01 o in alternativa ID_AUTH_CHANNEL_02
 - per SOAP: ID_AUTH_SOAP_02 e INTEGRITY_SOAP_01
 - per REST: ID_AUTH_REST_02 e INTEGRITY_REST_01
 
Si assume l’esistenza di un trust tra fruitore ed erogatore che stabilisce:
- reciproco riconoscimento da parte dell’erogatore e del fruitore dei certificati X.509, o le CA emittenti.
 - Il meccanismo con cui è stabilito il trust non condiziona quanto
descritto nella sezione. Fruitore ed erogatore devono concordare:
- un identificativo univoco del messaggio, necessario a garantire il riscontro di ritrasmissioni (vedi ID_AUTH_SOAP_02 e ID_AUTH_REST_02), e le relative modalità di scambio;
 - l’arco temporale di persistenza dei messaggi, che dipende dalle caratteristiche del contenuto dei dati scambiati e dal rispetto delle norme di legge.
 - il tempo di validità della transazione che intercorre tra:
- l’istante di inoltro del fruitore
 - l’istante di ricezione dell’erogatore;
 
 - il tempo massimo di attesa del fruitore del messaggio di risposta per ritenere la comunicazione non avvenuta;
 - il numero massimo di tentativi di rinvio da parte del fruitore accettati dall’erogatore;
 - eventuale utilizzo di canali alternativi per superare o evidenziare problemi di comunicazione riscontrati.
 
 
Attraverso le tecnologie di criptazione sono garantite le seguenti proprietà:
- integrità e non ripudio del messaggio inviato dal fruitore
 - integrità e non ripudio del messaggio di conferma da parte dell’erogatore
 - autenticazione del fruitore
 - autenticazione dell’erogatore
 - validazione temporale che certifichi l’istante in cui il messaggio è stato trasmesso
 - validazione temporale che certifichi l’istante in cui il messaggio è stato ricevuto.
 
4.2.1. Flusso delle interazioni¶
Figura 1 - Non ripudiabilità della trasmissione
A: Verifica numero tentativi di inoltro
Il fruitore realizza una delle seguenti azioni:
A.1 [Primo Invio]
Il fruitore inizializza il numero di tentativi di inoltro ad 1 e prosegue a quanto indicato al passo B.
A.2 [Invio Successivo con numero di tentativi inferiore al massimo pattuito]
Il fruitore incrementa il numero di tentativi di inoltro e da seguito a quanto indicato al passo B.
A.3 [Superamento numero di tentativi massimi pattuiti]
Il fruitore utilizza i canali alternativi per superare o evidenziare problemi di comunicazione riscontrati non proseguendo con i passi successivi.
B: Richiesta
Il messaggio di richiesta viene costruito aggiungendo un identificativo univoco del messaggio (vedi [ID_AUTH_SOAP_02] o [ID_AUTH_REST_02]), l’istante di trasmissione
- SOAP: <wsu:Timestamp> della ws-security
 - REST: claim iat contenuta nel payload del token JWT
 
Tutti gli elementi utili al non ripudio, inclusi quelli descritti in ID_AUTH_SOAP_02 o ID_AUTH_REST_02, vengono firmati utilizzando il profilo desiderato INTEGRITY_SOAP_01 o INTEGRITY_REST_01 per garantire:
- l’integrità del contenuto
 - l’identità del mittente
 - il momento di invio.
 
Il fruitore invia il messaggio di richiesta all’interfaccia di servizio dell’erogatore. Il messaggio viene trasmesso su un canale sicuro per garantire:
- la confidenzialità a livello di canale utilizzando i pattern ID_AUTH_CHANNEL_01 o in alternativa ID_AUTH_CHANNEL_02.
 
C. Persistenza erogatore
Per garantire la non ripudiabilità del messaggio ricevuto dal fruitore, così come previsto dai profili utilizzati:
- L’erogatore provvede all’autenticazione del fruitore;
 - L’erogatore verifica l’integrità del messaggio firmato. Inoltre la presenza dell’istante di trasmissione nel messaggio ne garantisce validità a lungo termine.
 
Per assicurare l’opponibilità a terzi:
- L’erogatore rende persistente il messaggio firmato tracciando l’istante di ricezione.
 
La persistenza del messaggio:
- DEVE garantire la capacità di ricercare ed esportare le informazioni memorizzate;
 - DEVE essere garantita per un periodo di tempo che dipende dagli accordi tra le parti.
 
L’erogatore realizza una delle seguenti azioni:
C.1 [Prima Ricezione]
L’erogatore inizializza il numero di tentativi di richieste ricevute ad 1 e prosegue al passo D.
C.2 [Duplicato con numero di tentativi inferiore al massimo pattuito]
L’erogatore rileva la presenza di un identificativo univoco del messaggio già ricevuto, a causa di una mancata ricezione del messaggio di conferma da parte del fruitore. Incrementa il numero di tentativi di richieste ricevute e prosegue al passo D.
C.3 [Superamento numero massimo di tentativi pattuiti]
L’erogatore rileva la presenza di un identificativo univoco del messaggio già ricevuto, a causa di una mancata ricezione del messaggio di conferma da parte del fruitore.
L’erogatore rileva di aver raggiunto il numero massimo di tentativi di richieste ricevute. L’erogatore utilizza i canali alternativi per superare o evidenziare problemi di comunicazione riscontrati non proseguendo con i passi successivi.
D: Risposta
L’erogatore costruisce un messaggio di conferma includendo un identificativo che permetta di associare univocamente al messaggio di richiesta (ad esempio il digest presente nel messaggio di richiesta) e l’istante di trasmissione.
Inoltre al messaggio di conferma viene aggiunto l’istante di trasmissione:
- SOAP: <wsu:Timestamp> della ws-security
 - REST: claim iat contenuta nel payload del token JWT
 
Tutti gli elementi utili al non ripudio, inclusi quelli descritti in ID_AUTH_SOAP_02 o ID_AUTH_REST_02, vengono firmati utilizzando il profilo desiderato INTEGRITY_SOAP_01 o INTEGRITY_REST_01 per garantire:
- l’integrità del contenuto
 - l’identità del mittente
 - il momento di invio
 
E: Persistenza Richiedente
Per garantire la non ripudiabilità del messaggio inviato all’erogatore:
- Il fruitore provvede all’autenticazione dell’erogatore rispetto al messaggio di risposta.
 - Il fruitore verifica l’integrità del messaggio di risposta firmato in cui la presenza del timestamp sul protocollo di messaggio ne garantisce validazione a lungo termine e il tempo di ricezione.
 
Per assicurare l’opponibilità a terzi:
- Il fruitore rende persistente il messaggio di risposta firmato.
 
La persistenza del messaggio:
- DEVE garantire la capacità di ricercare ed esportare le informazioni memorizzate;
 - DEVE essere garantita per un periodo di tempo che dipende dagli accordi tra le parti.
 
Note:
Nel caso in cui il fruitore non riceve il messaggio di risposta entro i termini concordati tra le parti, si ritiene la comunicazione non conclusa, in quanto può presentarsi uno dei seguenti casi:
- il messaggio di richiesta non ha raggiunto l’erogatore
 - il messaggio di richiesta ha raggiunto l’erogatore ma il fruitore non ha ricevuto il messaggio di risposta.
 
In queste situazioni il fruitore riesegue il passo A.