This commit is contained in:
Raffaele Mignone 2020-07-16 16:57:21 +02:00
parent 341d465642
commit 27a912a997
Signed by: norangebit
GPG Key ID: F5255658CB220573
2 changed files with 19 additions and 1 deletions

View File

@ -63,6 +63,13 @@
organization = {{cryptography-cafe}}
}
@online{EclipsePahoMQTT,
title = {Eclipse {{Paho}} - {{MQTT}} and {{MQTT}}-{{SN}} Software},
url = {https://www.eclipse.org/paho/},
urldate = {2020-07-16},
file = {/home/norangebit/Zotero/storage/BC7DTMJT/paho.html}
}
@online{InstallationBetterBibTeX,
title = {Installation :: {{Better BibTeX}} for {{Zotero}}},
url = {https://retorque.re/zotero-better-bibtex/installation/},

View File

@ -45,7 +45,7 @@ dove `H_tcn` è una funzione di Hash con 128 bit di output che utilizza come sep
Dalla chiave rak è possibile generare la chiave rvk e la chiave tck_0, dalle quali è possibile generare le successive tck e quindi tutti i successivi tcn.
### Report
### Report {#sec:report}
Quando viene richiesto di caricare i dati dell'utente, è possibile eseguire l'upload di un report compatto. Infatti grazie alla derivazione deterministica, è possibile inviare tutti gli identificativi utilizzati nel periodo `j1` e `j2`, caricando unicamente la rvk, tck_{j-1}, e i due indici `j1` e `j2`.
Di seguito è illustrato come costruire il report:
@ -366,6 +366,17 @@ interface TCNDataDao {
## Rete
La comunicazione con il server avviene mediante un brocker MQTT fornito da un altro gruppo di studenti.
Come implementazione del client MQTT si è scelto di utilizzare *Paho* [@EclipsePahoMQTT], un client realizzata da Eclipse.
Questa libreria oltre a fornire un client MQTT per la JVM fornisce anche un servizio per Android che permette di sollevare lo sviluppatore da alcuni dettagli implementativi.
L'applicazione, all'interno dell'architettura, svolge il ruolo di *publisher* e si occupa della pubblicazione di due tipologie di messaggi:
- ***Messaggi di contatto***
utilizzati sia nella modalità *A* che nella *B*, permettono di notificare al server un contatto tra due utenti.
Nel caso della modalità *A* viene svolto un l'invio in *real-time*, mentre nella configurazione *B* l'invio avviene solo in seguito ad un *upload*.
- ***Messaggi di report***
utilizzati esclusivamente nella modalità *C*.
Questi messaggi trasportano come *payload* il report TCN discusso nella @sec:report e vengono inviati solo quando l'*upload* è richiesto dall'utente.
# Riferimenti