Merge pull request #5 from Untori/api_ag
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Add Apple Google api
This commit is contained in:
commit
341d465642
20
bib.bib
20
bib.bib
@ -33,6 +33,16 @@
|
|||||||
langid = {english}
|
langid = {english}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@online{AppleGooglePartner,
|
||||||
|
title = {Apple and {{Google}} Partner on {{COVID}}-19 Contact Tracing Technology},
|
||||||
|
journaltitle = {Apple Newsroom},
|
||||||
|
url = {https://www.apple.com/newsroom/2020/04/apple-and-google-partner-on-covid-19-contact-tracing-technology/},
|
||||||
|
urldate = {2020-07-12},
|
||||||
|
abstract = {Apple and Google announce a joint effort to help governments and health agencies reduce the spread of the virus, with user privacy central to the design.},
|
||||||
|
file = {/home/norangebit/Zotero/storage/V2SPLUEJ/apple-and-google-partner-on-covid-19-contact-tracing-technology.html},
|
||||||
|
langid = {american}
|
||||||
|
}
|
||||||
|
|
||||||
@online{BroadcastsOverview,
|
@online{BroadcastsOverview,
|
||||||
title = {Broadcasts Overview},
|
title = {Broadcasts Overview},
|
||||||
journaltitle = {Android Developers},
|
journaltitle = {Android Developers},
|
||||||
@ -60,6 +70,16 @@
|
|||||||
file = {/home/norangebit/Zotero/storage/4SV9VW2H/installation.html}
|
file = {/home/norangebit/Zotero/storage/4SV9VW2H/installation.html}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@online{NotificheDiEsposizione,
|
||||||
|
title = {Notifiche di esposizione: un aiuto alla lotta al COVID-19 - Google},
|
||||||
|
shorttitle = {Notifiche di esposizione},
|
||||||
|
url = {https://www.google.com/intl/en_us/covid19/exposurenotifications/},
|
||||||
|
urldate = {2020-07-12},
|
||||||
|
abstract = {Scopri come le Notifiche di esposizione, progettate da Google e Apple, consentono alle app di inviarti una notifica in caso di una tua probabile esposizione al COVID-19.},
|
||||||
|
file = {/home/norangebit/Zotero/storage/BXRM92VF/exposurenotifications.html},
|
||||||
|
langid = {italian}
|
||||||
|
}
|
||||||
|
|
||||||
@online{RoomPersistenceLibrary,
|
@online{RoomPersistenceLibrary,
|
||||||
title = {Room {{Persistence Library}}},
|
title = {Room {{Persistence Library}}},
|
||||||
journaltitle = {Android Developers},
|
journaltitle = {Android Developers},
|
||||||
|
@ -34,7 +34,7 @@ tck_i ← H_tck(rvk || tck_{i-1})
|
|||||||
|
|
||||||
dove `||` indica una concatenazione.
|
dove `||` indica una concatenazione.
|
||||||
|
|
||||||
### Numeri temporanei di contatto
|
### Numeri temporanei di contatto {#sec:tcn}
|
||||||
|
|
||||||
Per ogni tck viene generato un numero di contatto temporaneo come mostrato di seguito:
|
Per ogni tck viene generato un numero di contatto temporaneo come mostrato di seguito:
|
||||||
|
|
||||||
@ -178,6 +178,22 @@ Mentre il matching locale permette di condividere il minor numero di informazion
|
|||||||
Infatti in questa modalità l'applicazione carica le informazioni sul server solo in seguito alla richiesta delle autorità sanitarie.
|
Infatti in questa modalità l'applicazione carica le informazioni sul server solo in seguito alla richiesta delle autorità sanitarie.
|
||||||
Inoltre a differenza delle prime due modalità è previsto l'upload unicamente degli UUID che il dispositivo ha assunto nel tempo, in questo modo il server non è in grado di conoscere o ricavare i contatti avuti dall'utente.
|
Inoltre a differenza delle prime due modalità è previsto l'upload unicamente degli UUID che il dispositivo ha assunto nel tempo, in questo modo il server non è in grado di conoscere o ricavare i contatti avuti dall'utente.
|
||||||
|
|
||||||
|
## API covid di Apple e Google
|
||||||
|
|
||||||
|
La prima scelta progettuale che abbiamo dovuto affrontare ha riguardato l'utilizzo o meno dell'API messa a disposizione da Apple [@AppleGooglePartner] e Google [@NotificheDiEsposizione].
|
||||||
|
Infatti i due giganti californiani hanno sviluppato in modo congiunto un protocollo che permettesse di tracciare i contatti degli utenti dei due sistemi operativi mobili più diffusi.
|
||||||
|
Questo protocollo ricorda per molte caratteristiche il protocollo TCN illustrato precedentemente.
|
||||||
|
Entrambi i protocolli ricavano gli identificativi (*rolling proximity identifier* nel protocollo di Apple e Google) in modo deterministico a partire da delle chiavi (*temporary exposure keys*).
|
||||||
|
I due protocolli differiscono nel numero di identificativi ricavati da ciascuna chiave; come visto nella @sec:tcn il protocollo TCN ricava un unico tcn per chiave, mentre l'altro protocollo permette di ricavare un numero imprecisato di identificativi.
|
||||||
|
Un'ulteriore differenza risiede nella derivazioni delle chiavi, che nel protocollo TCN è deterministica, mentre in quello di Apple e Google non è specificato.
|
||||||
|
|
||||||
|
Oltre al protocollo, le due società, hanno fornito agli sviluppatori un API che permettesse alle applicazioni di di utilizzare il protocollo descritto nel paragrafo precedente.
|
||||||
|
Sfortunatamente l'API non ci avrebbe permesso di implementare tutte e tre le modalità di funzionamento, ma solo l'ultima che si basa su un matching locale.
|
||||||
|
Questa caratteristica, unita alle regole stringenti di utilizzo imposte della libreria[^regole-api-apple-google] ci ha condotto alla scelta di implementare le varie funzionalità in maniera indipendente.
|
||||||
|
|
||||||
|
[^regole-api-apple-google]: Le due società californiane consentono lo sviluppo di applicazioni che fanno uso della loro API solo ad enti governativi e impongo un numero massimo di applicazioni per nazione pari ad uno.
|
||||||
|
Dalla documentazione ufficiale non è ben chiaro se questi vincoli riguardino solo la pubblicazione sugli store o anche lo sviluppo.
|
||||||
|
|
||||||
## Bluetooth
|
## Bluetooth
|
||||||
|
|
||||||
L'interazione tra l'hardware bluetooth del dispositivo e l'applicazione è stata gestita attraverso l'impiego della libreria *Android Beacon Library* [@AndroidBeaconLibrary] che permette di gestire più facilmente le operazioni con beacon bluetooth.
|
L'interazione tra l'hardware bluetooth del dispositivo e l'applicazione è stata gestita attraverso l'impiego della libreria *Android Beacon Library* [@AndroidBeaconLibrary] che permette di gestire più facilmente le operazioni con beacon bluetooth.
|
||||||
|
Loading…
Reference in New Issue
Block a user