Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
ba7bd73b73 | |||
768d4377f9 | |||
b49ad291ad | |||
19f5d4d142 |
39
.drone.yml
Normal file
39
.drone.yml
Normal 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
79
documentazione.md
Normal 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
11
header.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
lang: it-IT
|
||||
papersize: a4
|
||||
title: Documentazione dell'applicazione Untori
|
||||
author:
|
||||
- Raffale Mignone
|
||||
- Noemi Mincolelli
|
||||
numbersections: true
|
||||
toc: true
|
||||
---
|
||||
|
Loading…
Reference in New Issue
Block a user