Merge pull request #6 from Untori/mqtt
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Mqtt
This commit is contained in:
commit
0a28d778f2
7
bib.bib
7
bib.bib
@ -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/},
|
||||
|
@ -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 realizzato da Eclipse.
|
||||
Questa libreria oltre a fornire un client MQTT per la JVM fornisce anche un *service* 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 invio in *real-time*, mentre nella configurazione *B* l'invio avviene solo dopo aver eseguito l'*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
|
||||
|
Loading…
Reference in New Issue
Block a user