Shared clipboard

L'aplicació permet compartir el portaretalls entre un mòbil Android i una aplicació Java d'escriptori.

Per a que funcioni, serà necessari tenir les dues aplicacions obertes, la d'escriptori, on s'haurpa de generar un QR que caduca, i la del telèfon.

A l'aplicació del telèfon hi haurà dos botons que serviran per a enganxar el portaretalls de la màquina d'escriptori, o bé per a copiar el portaretalls del mòbil a la màquina d'escriptori.

Quan l'usuari prem un dels botons d'operació, s'obtindran uns octets aleatoris del micrófon, necessaris per a completar l'operació, i s'obrirà l'escanejador de QR, amb el que s'haurà d'escanejar un QR no caducat.

Descripció

S'inclouen dues aplicacions.

  • Aplicació d'escriptori, pots generar el QR, i copiar al portaretalls el contingut que vols compartir amb el mòbil.
  • Aplicació d'Android. Podràs escollir si vols pegar el portaretalls remot al mòbil, o be si vols copiar el portaretalls del mòbil a la màquina remota.

Descripció del codi

  • Aplicació d'escriptori: Es fa ús d'encriptació per a que el contingut compartit no vagi en clar per la wifi. Es fa anar una combinació molt potent d'intercanvi de claus per Diffie-Hellman i un secret compartit a través del QR.
  • Aplicació d'Android: Es fa ús de les llibreries programades en Java per a l'aplicació d'escriptori. La resta de l'aplicació està en Kotlin (primera aplicació meva parcialment en aquest llenguatge).

Pantalles

Shared clipboard (2025)

Veure video
Descarregar

Versions

image

Aplicació combinada de Java desktop (Impressió del QR) i Android (lectura del QR i elecció de l'operació a executar)

S'afegeixen mecanismes molt potents d'encriptació, als que únicament la longitud del text compartir es troba exposada de manera evident.

Es podria millorar la robustessa de l'encriptació per a fer-la pràcticament infranquejable, si l'atacant no disposa d'informació extra, però ho deixem per a una possible versió futura.


Pots veure un video de l'aplicació combinada funcionant Video de demostració

INFORMACIÓ ADDICIONAL

...

L'aplicació shared-clipboard de la part d'Android no pren ni comparteix cap dada de l'usuari.

L'aplicació shared-clipboard d'escritori no pren cap dada de l'usuari, amb l'excepció de que es connecta al servidor per a comprovar si hi ha alguna nueva versió disponible.

En aquest procés, el servidor pren el païs de la IP de l'usuari, l'idioma i la versió de l'aplicació, i els guarda amb fins merament estadístics per a tenir una estadística dels arrancs de l'aplicació.


Ambdues aplicacions necesiten obtenir dades purament aleatòries per a composar les claus d'encriptació, i per això s'escolta el micròfon com a font de soroll durant aproximadament un segon (tant a l'aplicació d'Android com a la d'escritori), per a obtenir aquestes poques dades aleatòries necessaries per a l'encriptació.


Les aplicacions no obtenen cap altra dada de l'usuari, i les dades comentades abans, s'utilitzen exclusivament amb finalitats tècniques.

Videos

Descàrregues