Compare commits

...

4 Commits
master ... tkn

Author SHA1 Message Date
ba7bd73b73
Add draft tkn 2020-07-07 22:32:23 +02:00
768d4377f9
Run CI only on master and develop
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-07 22:31:31 +02:00
b49ad291ad
Add documentation file
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-06 22:31:34 +02:00
19f5d4d142
Add drone file
Some checks failed
continuous-integration/drone/push Build is failing
2020-07-06 22:29:35 +02:00
4 changed files with 135 additions and 0 deletions

39
.drone.yml Normal file
View File

@ -0,0 +1,39 @@
kind: pipeline
type: docker
name: default
steps:
- name: compiling
image: norangebit/pandocker:latest
commands:
- make
- name: deploy
image: rclone/rclone:latest
commands:
- rclone copy out/*.pdf assd:Gruppo\ Progetto\ 1/documentazione
volumes:
- name: config
path: /config/rclone
- name: gitea release
image: plugins/gitea-release
settings:
api_key:
from_secret: gitea_release
base_url: https://git.norangeb.it
title: Documentazione Untori
files:
- out/*.pdf
when:
event:
- tag
trigger:
branch:
- master
- develop
volumes:
- name: config
host:
path: /home/drone/.config/rclone

79
documentazione.md Normal file
View File

@ -0,0 +1,79 @@
# Protocollo TCN
## Descrizione del protocollo
### Chiavi di autenticazione e verifica
### Chiave temporanea di contatto
### Numeri temporanei di contatto
### Report
## Implementazione del protocollo per la JMV
Per poter utilizzare il protocollo all'interno dell'applicazione Android è stato sviluppato un'implementazione di quest'ultimo per la *Java Virtual Machine*.
Come visto nella @sec:rak-rvk il protocollo genera le chiavi di autorizzazione e verifica a partire dalla curva ellittica *Ed25519*.
La nostra implementazione del protocollo per la gestione di questa curva utilizza la libreria NOME_LIBRERIA.
La chiave privata e pubblica prodotte da quest'ultima sono state *wrappate* all'interno delle classi `ReportAuthorizationKey` e `ReportVerificationKey` in questo modo le classi hanno un nome più esplicativo rispetto al contesto di utilizzo e un futuro cambiamento della libreria utilizzata per la crittografia non impatterà l'API della libreria.
A partire dalla `ReportAuthorizationKey` è possibile ricavare la `TemporaryContactKey` iniziale[^tck-0] attraverso la funzione `baseTemporaryContactKey()` riportata nel @lst:tck-0.
``` {.kotlin #lst:tck-0 caption="Derivazione della prima tck"}
fun baseTemporaryContactKey(): TemporaryContactKey {
val hmac = MessageDigest.getInstance("SHA-256").apply {
update(Const.H_TCK_DOMAIN_SEPARATOR)
update(key.toByteArray())
}
return TemporaryContactKey.createFromByteArray(
hmac.digest(),
0
)
}
```
[^tck-0]: La chiave temporanea iniziale viene ricavata a partire dalla sola *rak* e da essa non è generato nessun numero temporaneo di contatto.
# Applicazione
## Bluetooth
### Trasmissione
### Scansione
### Stima della distanza
## UI
## Memorizzazione
## Rete

11
header.yaml Normal file
View File

@ -0,0 +1,11 @@
---
lang: it-IT
papersize: a4
title: Documentazione dell'applicazione Untori
author:
- Raffale Mignone
- Noemi Mincolelli
numbersections: true
toc: true
---

6
makefile Normal file
View File

@ -0,0 +1,6 @@
out/documentation.pdf: header.yaml documentazione.md out
pandoc header.yaml documentazione.md -F pandoc-crossref -o out/documentazione.pdf
out:
mkdir out