Un criptolibretto in puro testo con formattazione markdown, convertibile in PDF via pandoc e stampabile in formato pieghevole. Con documentazione. https://unit.abbiamoundominio.org/criptolibretto
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

book.md 41 KiB

1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060
  1. ---
  2. title: "Cripto libretto"
  3. author: Unit hacklab - unit@paranoici.org
  4. date: 12 dicembre 2019
  5. lang: it-IT
  6. ---
  7. \newpage
  8. # Per una buona igiene digitale
  9. Usiamo il termine: *igiene digitale*, non perché si voglia sterilizzare
  10. l'approccio all'autodifesa digitale, ma per rendere visibile un problema. Ci
  11. sembra che esistano elementi di base nell'uso delle reti e dei dispositivi che
  12. sono semplici azioni quotidiane, l'equivalente del lavarsi i denti. È fatica. Ma
  13. quando viene presentato un problema e al suggerimento di una eventuale soluzione
  14. viene risposto: "questa è sbatta", lo consideriamo il segnale che il problema
  15. era un altro. Ok, niente camici bianchi e no RTFM: *Read The Fine Manual*, ma
  16. almeno la parte di come non prendere la scossa è meglio leggerla. Il problema
  17. non è tecnico, ma sociale. La tecnica non è un mezzo né una soluzione ai
  18. problemi portati dal capitalismo, oggi apparato tecnico e capitalismo sono una
  19. cosa sola. Se il problema è la repressione algoritmica, crittografare da soli
  20. non basta a liberarsi, perché si è liber@ solo quando le altre persone attorno a
  21. te sono libere, ma non possiamo smettere. Crediamo nell'alfabetizzazione
  22. informatica e che si debba studiare la grammatica della questione tecnica, non
  23. perché tutt@ debbano essere programmatori, ma perché nessun@ sia schiav@.
  24. # Usiamo software libero e a sorgente aperta
  25. <https://gnu.org/philosophy/free-sw.it.html>
  26. Usiamo un sistema operativo
  27. [GNU/Linux](https://it.wikipedia.org/wiki/Distribuzione_Linux), perché il
  28. software ha degli aspetti sociali e non ci si può fidare di ciò che non è
  29. libero. Un SO GNU/Linux è disponibile in tante versioni, chiamate
  30. distribuzioni. Consistono in un insieme di software a formare un sistema
  31. operativo, tra cui la collezione di software libero GNU con licenza libera GPL,
  32. il Kernel chiamato Linux e in alcuni casi, *ad esempio i driver della scheda
  33. wifi per alcuni portatili*, pezzi di software non-libero necessari al
  34. funzionamento.
  35. Si dice software libero quello che è studiabile, riproducibile e
  36. modificabile. Perché sia studiabile bisogna che il codice sorgente sia
  37. disponibile, perché sia riproducibile e modificabile bisogna che la licenza
  38. d'uso lo permetta. Il software chiamato solamente *open* permette lo studio, ma
  39. non è automatico che permetta anche la copia e la modifica.
  40. # Una buona password
  41. Usare delle password *forti*, che contengano sia lettere minuscolo e maiuscole
  42. che numeri e anche altri caratteri come questi: `!@&%#)(*_:?`
  43. Non usare mai la stessa password per diversi servizi online. Quando il servizio
  44. sarà compromesso, la password diventerà pubblica ed è meglio che non coinvolga
  45. tutto il tuo ecosistema. Per ogni servizio, una diversa password.
  46. Un conto è la password che si usa per sbloccare il proprio Pc, la quale non
  47. viaggia in internet, altro conto sono le password che si usano per utilizzare
  48. dei servizi online di terze parti. I servizi online sono detti SaaS (software as
  49. a service), si tratta di software, come Facebook o Google Drive, che non sono
  50. installati sul Pc ma che sono accessibili solamente online, in forma di
  51. servizio. È difficile ricordare a memoria tante password diverse, per questo è
  52. consigliabile l'utilizzo di un password manager.
  53. ## Il password manager
  54. Usando un password manager non c'è bisogno che la password facile da ricordare e
  55. potremo usare delle password forti.
  56. KeePassXC è un software per la gestione di password che offre un luogo sicuro
  57. dove scriverle, ma non bisogna dimenticare la sua password di sblocco. In questo
  58. caso è bene usare una *passphrase*.
  59. <https://keepassxc.org>
  60. apt-get install keepassxc
  61. Per usare un password manager si sceglierà una frase di sblocco e il nome del
  62. documento che contiene i dati crittografati da salvare sul disco del Pc. Quel
  63. piccolo file è un database e bisogna averne un backup, ma visto che è un file
  64. crittato inutilizzabile per chi non conosce la frase di sblocco, non è difficile
  65. salvare una copia anche solo in una penna Usb.
  66. ## La passphrase
  67. Nel caso del password manager, invece che una password, si può usare una
  68. passphrase. Invece che una parola, una frase compresa di spazi, più forte ma
  69. anche più facile da ricordare. Gli esempi che seguono contengono sia maiuscole
  70. che numeri che caratteri strani. Sono lunghe ed efficaci, ma difficili da
  71. dimenticare.
  72. Una passphrase, o frase di sblocco, è una password con gli spazi. Facile da
  73. ricordare. per esempio:
  74. Nel Mezzo Del Cammin Di Nostra Vita 42!
  75. 99 #Luft, Ballons#
  76. È semplice trovare una frase di una poesia, prosa o canzone da
  77. ricordare. Aggiungere le maiuscole, qualche numero, un punto e virgola e voilà.
  78. ## Doppia autenticazione
  79. L'autenticazione si basa tradizionalmente su un massimo di tre elementi
  80. possibili:
  81. * Qualcosa che so
  82. * Qualcosa che ho
  83. * Qualcosa che sono
  84. Il primo caso comprende password e PIN, il secondo le chiavi o la carta
  85. bancomat, il terzo è la biometrica come l'impronta digitale o il riconoscimento
  86. facciale.
  87. Il concetto di doppia (o tripla) autenticazione si basa sull'utilizzare più di
  88. un elemento in contemporanea, come nel caso di un prelievo con bancomat che usa
  89. sia PIN (qualcosa che so) che la carta (qualcosa che ho).
  90. Se il servizio lo prevede è bene abilitare la doppia autenticazione, ad esempio
  91. Autistici.org permette la doppia autenticazione tramite OTP (One Time
  92. Password). I servizi istituzionali o commerciali spesso usano il numero
  93. telefonico come elemento di verifica inviando un codice temporaneo via SMS.
  94. Autistici.org permette anche di creare delle password uniche da usare per un
  95. determinato scopo, come ad esempio per la email sul telefonino. Nel caso venga
  96. compromessa, quella password non ha altro utilizzo.
  97. # Accecare la telecamera del portatile
  98. Attaccare un pezzo di scotch nero da elettricista sulla telecamera del
  99. portatile. Il fatto che non si accenda la lucina non significa che sia spenta.
  100. # Navigazione consapevole
  101. Usiamo Firefox.
  102. La gestione dei containers, dei profili e degli add-ons ci permettono di creare ambienti isolati
  103. **Multi-account-containers** è un componente aggiuntivo (add-on) per creare
  104. schede contenitore (tab) e compartimentare le preferenze del sito, le sessioni
  105. registrate e i dati di tracciamento. Un sito non avrà dunque accesso ai dati
  106. (cookies) delle altre tab aperte. Questo permette di separare il lavoro dalla
  107. navigazione personale.
  108. I **profili** sono sessioni diverse del browser, usare un diverso profilo è come
  109. aprire un nuovo browser. Si possono usare scrivendo nella finestra di
  110. navigazione:
  111. about:profiles
  112. e creare un nuovo profilo.
  113. **Add-ons**:
  114. * Multi-account-containers: per compartimentare le sessioni di navigazione
  115. * https-everywhere: preferisce https a http
  116. * Ghostly: blocca i tracker della nostra navigazione
  117. * No-Script: blocca gli script
  118. * Ublock origin: blocca la pubblicità
  119. **Motori di ricerca**:
  120. Il modello di internet commerciale si basa sulla raccolta dati degli
  121. utilizzatori, come ad esempio il famoso motore di ricerca Google, il quale
  122. appartiene alla ditta Alphabet. È possibile fare ricerche in rete usando motori
  123. di ricerca orientati alla privacy e migliorare il controllo sui propri dati
  124. evitando la profilazione e limitando la filter bubble.
  125. * https://duckduckgo.com
  126. * https://www.startpage.com
  127. * https://lite.qwant.com
  128. * https://www.searx.me
  129. **Navigazione privata**
  130. Aprendo dal Menu di Firefox:
  131. File -> Nuova finestra privata
  132. si accede a una finestra di navigazione che non terrà memoria della
  133. navigazione. Questa pratica è utile nel caso si utilizzi un computer in
  134. prestito. Nasconde la storia di navigazione su quel Pc, ma non la rende anonima
  135. al gestore d'accesso o ai siti che vengono visitati.
  136. # Navigazione anonima
  137. Tor, **T**he **O**nion **R**outer è un protocollo per l'anonimizzazione del
  138. traffico web. Scaricare, installare e usare il programma Tor browser bundle per
  139. navigare in rete anonimamente.
  140. <https://torproject.org>
  141. Attenzione alla presunzione di sicurezza. Anche dopo aver installato Tor è
  142. necessario tenersi aggiornati. L'intimità nella comunicazione è un processo in
  143. corso, non un risultato. Ricordare che la crittografia si vede, cioè anche se la
  144. navigazione o un messaggio è nascosto e non è leggibile, si vedrà che è stato
  145. nascosto, come si vede quando viene usato Tor.
  146. # Navigazione paranoica
  147. **Tails** è un sistema operativo smemorato e incognito. Si avvia da penna Usb
  148. con un sistema GNU/Linux già configurato per la navigazione anonima e provvede
  149. al cambio automatico cambio del *MAC address*, l'identificativo univoco
  150. assegnato all'interfaccia di rete. Una volta spento non ricorda nulla di quello
  151. che è successo. È anche possibile attivare una modalità persistente, che ora non
  152. ci interessa. Tails usa Tor di default e permette di usare un qualunque computer
  153. senza doverci installare nulla né lasciarvi tracce dell'utilizzo. Utile in
  154. viaggio in zone di guerra. Decidi tu in che zona vivi.
  155. Installare Tails su una penna Usb di almeno 16GB scaricando l'immagine dal
  156. sito. Seguire la procedura di verifica dell'immagine. Sia usando l'add-on di
  157. verifica Tails per Firefox, che verificando la firma digitale OpenPGP.
  158. L'installazione di Tails si basa sulla *rete di fiducia*. Ad esempio se conosci
  159. qualcun* che lo usa, è possibile usare la sua penna Usb per installare Tails su
  160. un'altra penna Usb senza collegarsi in rete.
  161. Inserire in un Pc entrambe le penne Usb
  162. Avviare il Pc, se serve indicando nel BIOS di avviare da penna Usb
  163. Menu > Strumenti di sistema > Tails installer
  164. Usare Tails
  165. Avviare il Pc dalla penna Usb con Tails
  166. Attenzione alla presunzione di sicurezza. È necessario tenersi
  167. aggiornati. L'intimità delle comunicazioni in rete è un faticoso processo, non
  168. un risultato. Ricordare che la crittografia si vede: anche se la navigazione o
  169. un messaggio è crittato e non è leggibile, si vede che è crittato, come si vede
  170. che viene usato Tor. Ad esempio se in una stanza dove ci sono poche persone
  171. qualcuno usa Tor, il sorvegliante non farà fatica a scoprire chi è andando per
  172. esclusione, anche senza poter sapere dove sta navigando.
  173. https://tails.boum.org/index.it.html
  174. # Usare un sistema operativo libero
  175. Usiamo GNU: software libero o almeno a sorgente aperta, il quale viene raccolto
  176. e assemblato assieme al kernel Linux per formare un sistema operativo in quella
  177. che viene chiamata distribuzione. Ogni distro ha il suo perché. Noi ne
  178. elenchiamo tre:
  179. * Linux Mint: <https://linuxmint.com>
  180. Un desktop familiare. Semplice da usare e da installare. La nonna e il nonno lo
  181. usano e non hanno mai chiamato per fare domande. Intuitivo per chi proviene da
  182. Windows o da Macintosh. È una buona scelta per lo smanettone che può permettersi
  183. un sistema operativo che richiede abbastanza risorse e che desidera stare in
  184. contatto con i suoi vicini, usando e facendo usare un sistema completo, ma
  185. compatibile anche dai meno tecnicamente inclinat*. Può avviarsi direttamente da
  186. Cd o da Usb (live). Preferisce un computer moderno con almeno 4Gb di Ram. Basata
  187. su Debian e Ubuntu.
  188. * Bunsenlabs: <https://www.bunsenlabs.org>
  189. Minimale, leggera e funzionale. Buona sia per un pc moderno che non. Erede della
  190. distro Crunchbang. Usandola si imparano cose utili. Live. Basata su Debian.
  191. * Debian: <https://www.debian.org>
  192. Il sistema operativo universale. Può fare sia da desktop che da server. Sapendo
  193. già cosa si vuole e come ottenerla è la miglior cosa. La sua versatilità
  194. comporta qualche piccolo lavoro di customizzazione dopo l'installazione.
  195. ## Scaricare e installare una distribuzione GNU/Linux
  196. Individuare e scaricare l'immagine del sistema operativo prescelto. Per un
  197. comune computer moderno usare la versione `amd64`. Verificare la checksum e
  198. masterizzare l'immagine su Cd, Dvd o penna Usb. In questo esempio viene copiato
  199. Debian su penna Usb.
  200. Inserire la Usb e scoprire dove è stata montata
  201. ls -l /dev/disk/by-id/*usb*
  202. Nell'esempio che segue è in /dev/sdb, copiarvi Debian:
  203. *il contenuto della penna sarà cancellato*
  204. dd if=debian-9.8.0-amd64-netinst.iso of=/dev/sdb bs=4M; sync
  205. Riavviare il Pc dalla penna Usb tenendo premuto **F12**
  206. *Se il Pc non avvia automaticamente dalla penna, entrare nel Bios e scegliere
  207. Usb come dispositivo d'avvio. A seconda del modello tenere premuto all'avvio uno
  208. di questi tasti: ESC, DEL, F1, F2, F8, F10. Una volta nel Bios, editare l'ordine
  209. di avvio mettendo per prima la penna Usb.*
  210. Nella procedura di installazione si verrà guidati a scegliere la lingua da
  211. usare, la zona geografica, il nome del Pc, la rete e la creazione
  212. dell'utilizzatore. Durante la partizione guidata formattare l'intero disco senza
  213. complicazioni. In conclusione installare Grub bootloader nel Master Boot Record.
  214. *Il disco del Pc verrà formattato e cancellato, non ci saranno altri sistemi
  215. operativi oltre a GNU/Linux Debian. È possibile effettuare al momento
  216. dell'installazione scelte diverse per casi particolari*
  217. *È possibile durante l'installazione crittografare l'intero disco e in questo
  218. caso si dovrà mettere una passhprase ad ogni avvio, in aggiunta alla password di
  219. login. Consigliabile per un portatile, in caso venga smarrito non ci si dovrà
  220. preoccupare della perdita dei dati. Ricordare che senza la passphase non è
  221. possibile accedere al disco.*
  222. ### Migrare la posta di Thunderbird da *quel sistema* a GNU/Linux
  223. Prima di cominciare fare un backup zippando la cartella di Thunderbird,
  224. Poi compattare le cartelle di Thunderbird
  225. Thunderbird: Menu > File > Compact Folders
  226. Infine copiare il profilo da un pc all'altro. Il profilo si trova, a seconda per
  227. Gnu/Linux, MacOSX, WindowsXp, Windows7, in:
  228. /home/tu/.thunderbird/[nome profilo]
  229. /Users/tu/Library/Thunderbird/Profiles/[nome profilo]
  230. C:\Documents and Settings\tu\Application Data\Thunderbird\Profiles
  231. C:\Users\tu\AppData\Roaming\Thunderbird\Profiles\[nome profilo]
  232. In caso di problema, far partire thunderbird con profile manager e sistemare:
  233. thunderbird -profilemanager
  234. Se il problema persiste:
  235. Chiudere e riaprire.
  236. Controllare i permessi.
  237. Verificare il path in ./thunderbird/profiles.ini
  238. nel mac era: Path=Profiles/76gighirz.default
  239. su debian è: Path=76gighirz.default
  240. Cancellare questi files, che comunque si rigenerano da soli
  241. compreg.dat
  242. extensions.cache
  243. extensions.ini
  244. extensions.rdf
  245. pluginreg.dat
  246. # GnuPG, la crittografia pesante a doppia chiave
  247. Gnu Privacy Guard <https://gnupg.org> è la versione libera del software di
  248. crittografia asimmetrica Pgp, Pretty Good Privacy.
  249. Si usa per cifrare, cioè per nascondere il contenuto di un messaggio. E per
  250. firmare, cioè per autenticare un messaggio. Dunque anche per decifrare e per
  251. verificare una firma.
  252. Il suo scopo è permettere una comunicazione sicura tra persone che non si sono
  253. incontrate di persona e frustrare chi intercetta i messaggi ma non ha la chiave
  254. per decifrarli.
  255. ## Installazione
  256. Si può usare da terminale o con la grafica, in entrambi i casi si vorrà
  257. integrarne l'uso con l'email, dunque *gpg+mutt* o *gpg+enigmail+thunderbird*.
  258. Installare GnuPG, il client di posta grafica e il suo plugin (che può gestire
  259. Gpg fin dalla creazione delle chiavi)
  260. apt-get install gnupg thunderbird enigmail
  261. ## Configurazione e creazione delle chiavi
  262. gpg --gen-key
  263. oppure
  264. Aprire thunderbird > enigmail
  265. Creare la coppia di chiavi, indicando una email, assegnando una passphrase e
  266. specificando una scadenza. Otterremo una chiave pubblica (pubkey) e una chiave
  267. privata (privkey). La privkey viene conservata privatamente, la pubkey viene
  268. divulgata liberamente.
  269. ## Uso
  270. * Si usa la propria privkey per firmare un documento o una email
  271. * Si usa la pubkey di qualcun* per verificare la sua firma al messaggio
  272. * Si divulga la propria pubkey perché il nostro corrispondente possa scriverci segretamente
  273. * Si ottiene la pubkey del nostro corrispondente per scrivergli segretamente
  274. * Si usa la propria privkey per decifrare un messaggio a noi indirizzato
  275. * Si usa la pubkey di qualcun* per cifrare un messaggio ad ess* destinato
  276. Solitamente si invia un messaggio segreto sia cifrandolo che firmandolo ed è
  277. ragionevole aspettarsi di ricevere dei messaggi segreti firmati, ma quando non
  278. si vuole nascondere il contenuto ma solo avere la certezza di stare dialogando
  279. con la persona giusta, si firma solo.
  280. *La crittografia a doppia chiave è semplice, ma non è facile. Usarla nel
  281. quotidiano permette di sperimentare e capire attraverso la pratica. Trovare un
  282. corrispondente*
  283. Una guida con infografiche: <https://emailselfdefense.fsf.org/it>
  284. ## Verifica
  285. Ogni coppia di chiavi ha una fingerprint che la identifica univocamente. È buona
  286. pratica, prima di inserire la chiave nella nostra rete di fiducia, chiedere alla
  287. persona con cui voglio corrispondere di leggere al telefono la sua fingerprint
  288. per verificare che corrisponda con quella della pubkey che ci siamo scambiat*. E
  289. viceversa. Gpg è una rete sociale.
  290. ## Fingerprint, revoca e backup
  291. Ottenere la fingerprint di una chiave
  292. gpg --fingerprint [email o Key-ID]
  293. È meglio creare subito un certificato di revoca delle chiavi
  294. gpg -o ~/.gnupg/RevocaCertificato.asc --gen-revoke [fingerprint]
  295. Fare un backup della cartella nascosta .gnupg da conservare altrove con cura
  296. tar -zcpf ~/backup-gnupg.tar.gz ~/.gnupg
  297. *È possibile usare una penna Usb cifrata con VeraCrypt per contenere il backup
  298. di gpg e altri dati importanti come le mailbox.*
  299. # Un lucchetto alla penna Usb
  300. VeraCrypt è un software che permette di proteggere con una passphrase una penna
  301. Usb. Utile per trasportare dei documenti in viaggio senza preoccuparsi di
  302. perderla.
  303. *Durante la configurazione la penna verrà formattata e sarà sempre necessario
  304. usare VeraCrypt per montarla e accedere al contenuto.*
  305. <https://veracrypt.fr>
  306. # Verificare l'integrità di un software scaricato
  307. Nell'usare del software per la comunicazione privata si deve poter essere sicuri
  308. che il software non sia stato compromesso da terze parti.
  309. Per questo alcuni software sono distribuiti accompagnati dal risultato della
  310. somma di controllo (checksum) oppure da una firma digitale a lato (.sig) e la
  311. sua fingerprint.
  312. Verificare che la stringa alfanumerica univoca (hash) che risulta applicando l'algoritmo
  313. sha256 coincida con quella pubblicata
  314. openssl sha256 debian-9.6.0-amd64-netinst.iso
  315. c51d84019c3637ae9d12aa6658ea8c613860c776bd84c6a71eaaf765a0dd60fe
  316. Verificare una firma
  317. gpg --import VeraCrypt_PGP_public_key.asc
  318. key 821ACD02680D16DE: public key "VeraCrypt Team" imported
  319. (è stato troncato ciò che non interessa all'esempio)
  320. gpg --fingerprint VeraCrypt
  321. 5069 A233 D55A 0EEB 174A 5FC3 821A CD02 680D 16DE
  322. (coincide con la fingerprint pubblicata sul sito?)
  323. gpg --verify veracrypt-1.23-setup.tar.bz2.sig
  324. Good signature from "VeraCrypt Team"
  325. (Bene. Il warning indica solo che non ho firmato la chiave)
  326. *Non è necessario firmare una chiave per usarla. Firmarla serve a ricordare (e
  327. nel caso si usi il web of trust, a dichiararlo al mondo) che ci si fida di
  328. quella chiave. È giusto farlo dopo averla verificata con una
  329. telefonata. P.S. non chiamare al telefono Debian, tantomeno all'ora di cena.*
  330. # Cancellare i metadati da un file
  331. Il software grafico **MAT** permette di cancellare i metadati di un file. Ad
  332. esempio una foto digitale contiene i metadati con quale apparecchio è stato
  333. usato e le coordinate GPS di dove. Tails contiene MAT.
  334. apt-get install mat
  335. Avviare MAT > Trascinare nella finestra il file da pulire
  336. # Condividere anonimamente
  337. Per condividere un documento in maniera anonima utilizzare Onionshare. Si
  338. consiglia di usarlo attraverso Tails con la sua interfaccia grafica. Onionshare
  339. avvia un servizio nella rete Tor, la quale è una *darknet*, ossia una rete che
  340. usa un protocollo diversi dalla rete tradizionale, oltre che naturalmente una
  341. *deepnet*, cioè una rete non indicizzata dai motori di ricerca. Dopo aver
  342. trascinato nella finestrella il documento da condividere, OnionShare fornirà un
  343. indrizzo onion. Il corrispondente, usando Tor, potrà recarsi a quell'indirizzo e
  344. scaricare il file. Importante: è il computer stesso a fare da server e non
  345. vengono coinvolti servizi di terze parti, dunque il file non sarà più condiviso
  346. una volta chiuso Onionshare o spento il computer. Onionshare fornisce un utile
  347. avviso quando il documento è stato scaricato.
  348. Avviare il Pc da Tails
  349. Avviare OnionShare > Trascinare nella finestra il file
  350. Cliccare: Inizio condivisione
  351. Copiare l'indirizzo e comunicarlo al corrispondente
  352. Potrò comunicare l'indirizzo al mio corrispondente ad esempio inviando una email
  353. o un messaggio, anche crittato usando gpg. Chiunque conosca l'indirizzo potrà
  354. scaricare il file, ma lo scopo potrebbe essere la sua diffusione proteggendo
  355. l'anonimato e non la sua segretezza.
  356. Per comunicare un breve messaggio, è possibile usare il servizio protected
  357. text. Accedendovi tramite Tor. Il quale permette di scrivere un messaggio sul
  358. web protetto da password.
  359. https://www.protectedtext.com/
  360. Sarà stato concordato precedentemente con il corrispondente l'indirizzo e la
  361. password, e basterà comunicare, magari con una telefonata, che il file è
  362. disponibile. Oppure avrò già concordato giorno e ora della condivisione perché
  363. sono Mata Hari. Se la condivisione non avviene al momento concordato il
  364. corrisponente capisce che qualcosa è andato storto e che deve scappare
  365. immediatamente.
  366. *Nota: se si sta facendo qualcosa di così delicato quanto il [Blog del
  367. Narco](https://en.wikipedia.org/wiki/Blog_del_Narco), storico blog di denuncia
  368. del narcotraffico messicano, consigliamo di studiare molto e bene, di chiedere
  369. aiuto, rivedere il film: Notorious di Alfred Hitchcock, ma soprattutto ricordare
  370. che non è solo una questione tecnica.*
  371. # Nascondere un messaggio in una foto
  372. La crittografia nasconde un messaggio, ma il file crittografato è visibile,
  373. anche se non leggibile. Un esempio: se metto la mano davanti alla bocca mentre
  374. telefono, chi mi osserva non può leggere le mie labbra, ma vede che sto tenendo
  375. la mano davanti alla bocca e capisce che sto nascondendo qualcosa.
  376. Nascondere un messaggio in una foto, come anche in un video, serve a nascondere
  377. un messaggio crittato allo scopo di poterne negare l'esistenza e si chiama
  378. *steganografia*. Il suo scopo è far passare messaggi riservati senza che il
  379. controllore se ne accorga.
  380. apt-get install steghide
  381. Nascondere il testo del Segreto della pizza all'interno di una foto. Verrà
  382. chiesto di inserire una password.
  383. steghide embed -ef segreto-della-pizza.txt -cf foto.jpg
  384. Rivelare il testo
  385. steghide extract -sf foto.jpg
  386. Se si desidera inserire un lungo testo, o addirittura una foto in una foto,
  387. accorrerà usare un contenitore capiente.
  388. Per sapere quante informazioni posso inserire in foto-delle-vacanze.jpg
  389. steghide info foto-delle-vacanze.jpg
  390. # Collegarsi a un pc usando ssh con scambio di chiavi
  391. Nella crittografia asimmetrica quando si usa una passphrase per sbloccare una
  392. chiave, la decrittazione avviene in locale, perciò la passphrase non viaggia per
  393. internet. Questa viene chiamata cifratura *end to end* ed è più sicura.
  394. Creare la coppia di chiavi per collegarsi al pc
  395. ssh-keygen -b 8192 -t rsa -f chiave
  396. Caricare sul pc la chiave pubblica e rinominarla in ~/.ssh/authorized_keys con i
  397. giusti permessi
  398. cat chiave.pub | ssh tu@pc "mkdir -p ~/.ssh && \
  399. chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
  400. Avviare ssh-agent e usare la chiave privata
  401. eval `ssh-agent` ; ssh-add chiave
  402. Collegarsi al pc
  403. *"tu" è il nome utilizzatore e "pc" è il nome o l'indirizzo IP della macchina remota*
  404. ssh tu@pc
  405. Dopo verifica sarà possibile disabilitare sul pc l'accesso ssh via password
  406. specificando *PasswordAuthentication no* in */etc/ssh/sshd_config*
  407. # Self hosting con Nextcloud
  408. Per avere una copia di riserva dei propri dati, sincronizzare una rubrica e un
  409. calendario con un dispositivo mobile e condividere documenti non è obbligatorio
  410. usare i servizi commerciali, i quali non sono gratuiti, ma costano in
  411. libertà. Quando i nostri dati vengono sparpagliati e utilizzati come risorse per
  412. creare profitto, subiamo un danno all'integrità del nostro *mio* digitale. Self
  413. hosting significa gestire autonomamente uno spazio digitale. Si può fare in
  414. gruppo e collettivizzare le risorse e i costi. È meno facile che usare i servizi
  415. commerciali.. ma no, è il paragone che non regge. La guida per fare un orto
  416. verticale non deve giustificarsi dicendo che è meno facile che andare al
  417. supermercato.
  418. Installare e configurare Nextcloud (con mariadb, apache2, php7, ufw e fail2ban)
  419. su una VPS o un Pc, con già Debian 9
  420. apt-get install curl
  421. curl -sSL https://raw.githubusercontent.com/ \
  422. nextcloud/nextcloudpi/master/install.sh | bash
  423. Conservare le password e seguire le info di post installazione
  424. <https://github.com/nextcloud/nextcloudpi/wiki>
  425. Se si ha un (sub)dominio a disposizione si può ottenere da LetsEncrypt un
  426. certificato SSL
  427. ncp-config
  428. Configurare nextcloud creando gli utilizzatori e attivare calendario, rubrica e
  429. quel che serve.
  430. # Mettere un software in scatola
  431. Per mettere un software dentro una scatola (sandbox) usare firejail. Utile per
  432. far girare un software del quale non ci si fida, limitandolo in un ambiente
  433. chiuso dal quale non potrà uscire, per evitare che faccia danni al sistema
  434. apt-get install firejail
  435. Mettere in scatola firefox, in modo che lo script di un sito non possa accedere
  436. al disco. Notare che non sarà possibile caricare una foto dal disco alla rete,
  437. perché firefox non potrà accedere al disco
  438. firejail firefox
  439. Ad esempio mettere in scatola vlc ed impedirgli di collegarsi in rete
  440. firejail --net=none vlc
  441. <https://firejail.wordpress.com>
  442. # Comunicazione sicura dal telefonino
  443. Premessa: consideriamo che gli smartphone sono insicuri per definizione.
  444. Non si può fare molto per migliorare la sicurezza del proprio smartphone. Al
  445. contrario di un Pc sul quale si può installare un antivirus, un firewall
  446. eccetera. Il tuo smartphone è quasi interamente controllato da altri. Siamo alla
  447. mercè della compagnia che ha costruito il telefono, della compagnia che fornisce
  448. il servizio di connettività e dei protocolli di comunicazione. Questo quadro è
  449. po' sconfortante ma non ci impedisce affatto fare qualcosa, di imparare come
  450. fare e divulgarlo. Non vorremmo diventare vittime del nichilismo della
  451. sicurezza, cioè del non provarci neanche.
  452. * **Signal.org**: Comunicare privatamente
  453. * **Conversations.im**: Comunicare privatamente con protocollo federato
  454. * **ObscuraCam**: Oscurare i volti e levare i metadati alle foto prima di condividerle
  455. * **lineageos.org**: Un sistema operativo per telefonini basato su Android
  456. Conversation è disponibile dal repositorio <https://f-droid.org>, Signal da
  457. <https://signal.org/android/apk/> e ObscuraCam dal Guardian project
  458. <https://guardianproject.info/apps/obscuracam/>.
  459. Il progetto **Privacy matters on my phone** affronta il discorso privacy su
  460. smartphone per livelli: <https://unit.abbiamoundominio.org/pmomp>
  461. *La reperibilità totale è il segno distintivo dello schiavo, non della persona libera.*
  462. # Come diventare root sul telefono
  463. **Diventare root sul furbofonino**
  464. Diventare root (radice) significa guadagnare i privilegi di amministratore sul
  465. proprio telefonino Android, in modo da poterne fare il backup senza dipendere da
  466. nessuno.
  467. Questa esigenza viene vista con la pazienza dedicata allo strambo del villaggio
  468. anche dai parenti vicini, quando non ostentano indifferenza, domandano: "ma cosa
  469. ti cambia? non potevi sincronizzare tutto con Google?"
  470. Non è una questione di praticità, ma se proprio la mettiamo sul piano pratico
  471. Google salva solo i dati delle sue applicazioni, non salva i bookmarks delle
  472. open maps, né gli SMS, tantomeno (speriamo!) la cronologia delle chiamate e
  473. naturalmente non salva tutte le innumerevoli customizzazioni che ho fatto
  474. nell'utilizzo quotidiano. Sono un po' perplesso dal fatto che non possa
  475. semplicemente attaccare il cellulare al cavo e salvare il suo contenuto, del
  476. resto è mio, sia il cellulare che il contenuto. Non mi piace dover passare da un
  477. servizio esterno.
  478. Ma poi non è una questione meramente pratica! La libertà non è una questione
  479. solo pratica.
  480. > Noi crediamo che la felicità sia il frutto della libertà.
  481. Non voglio dipendere da un qualcuno, il quale per quanto bravo e buono, potrebbe
  482. un giorno magari cambiare gestione e smettere di offrire l'ottimo servizio
  483. gratis e lasciarmi oramai incapace di badare a me stesso. Devo essere
  484. indipendente.
  485. Dunque voglio essere libero sul mio telefonino. Sbloccarlo. Avere i privilegi di
  486. amministrazione. Essere root. Chi può dire cosa succederà dopo? Cominciamo a
  487. levarci gli schiavettoni dai polsi. Costa un pò di fatica, ma come ha detto
  488. Seneca: *La libertà non può essere gratis.*
  489. **Liberare il telefono**
  490. Il procedimento del diventare root (super user, amministratore) sullo smartphone
  491. potrebbe, a seconda del modello, delle circostanze e delle azioni, cancellare i
  492. dati personali contenuti e inizializzare il telefonino alle impostazioni
  493. iniziali.
  494. *Potevo farlo appena comperato, pensarci prima? Grazie, me lo segno.*
  495. È bene prima di cominciare salvare (esportare) manualmente l'indirizziario e il
  496. calendario sulla SD card e farne una copia di backup su di un Pc. Anche le foto,
  497. musica e tutto quello che si desidera salvare. Ricordando le parole di Seneca e
  498. ascoltando la canzone: "oh freedom".
  499. **Prima viene il backup**
  500. *Avendo un telefono nuovo, o senza dati da salvare, saltare questa parte e
  501. andare a: "Ora avviene lo sblocco".*
  502. Occorre diventare developer sul telefonino:
  503. Cliccare 7 volte velocemente il build number nei settaggi.
  504. E nelle Developer Option che sono ora comparse:
  505. Spuntare la voce: USB debugging on the device.
  506. Installare ADB e Fastboot sul Pc
  507. apt install adb fastboot
  508. Collegare il telefono sloccato via Usb e salvare il salvabile
  509. adb backup -apk -shared -all -f TantoBackup.ab
  510. Una volta finito potrò rimettere tutto a posto con:
  511. adb restore TantoBackup.ab
  512. **Ora avviene lo sblocco**
  513. In internet dal Pc, trovare e scaricare la recovery image corrispondente allo
  514. smartphone
  515. <https://dl.twrp.me/>
  516. Collegare il telefono via Usb al Pc e riavviare il telefono in fastboot mode:
  517. adb reboot bootloader
  518. Sloccare il bootloader:
  519. fastboot oem unlock
  520. Riavviare il telefonino.
  521. Riavvia
  522. Installare il recovery:
  523. fastboot flash recovery recovery-image-xxx.img
  524. A seconda del modello di telefonino il procedimento potrebbe essere diverso e
  525. potrei dovermi confrontare con programmini che invece di chiamarsi Fastboot si
  526. chiamano Odin o Heimdall (non stiamo scherzando).
  527. All'avvio il telefono potrà segnalare in diversi creativi modi di essere stato
  528. liberato: dalla discreta icona con lucchetto aperto al disclaimer a tutto
  529. schermo all'avvio che annuncia l'evento come fosse un problema. In questo ultimo
  530. caso servirà solo trovare una immagine di boot più piacevole.
  531. **Conseguenze positive dell'avere un telefono liberato**
  532. Avendo un telefono liberato, non si è più obbligati a tenere la stock (sistema
  533. operativo preinstallato) Rom e si potrà installare una Rom diversa, come ad
  534. esempio: [LineageOS](https://wiki.lineageos.org/devices/),
  535. [Kang](https://aokp.co/about/), o [Miui](https://en.miui.com/download.html). Se
  536. il proprio telefono è tra quelli supportati, sarà un'operazione semplice usando
  537. una Rom predefinita, altrimenti occorrerà compilare a mano la Rom oppure tenere
  538. la Stock.
  539. In ogni caso, ora che si è root sul telefono, si potrà fare una nuova,
  540. importante cosa.
  541. **Fare un backup completo e indipendente**
  542. Anche senza cambiare Rom ora è possibile salvare una immagine completa del mio
  543. telefonino liberato e in caso di problemi tornare a quello stato in qualunque momento con semplicità:
  544. Riavviare in recovery mode
  545. *Nota: per riavviare in recovery mode, a seconda del modello di telefono, da
  546. spento, tenere premuti:*
  547. Volume giù + POWER + eventuale altro bottone se c'è.
  548. Appare il bootloader, mollare i bottoni
  549. e con i tasti volume scegliere: RECOVERY
  550. Pigiare POWER per selezionare.
  551. e dal menu del recovery mode, iniziare un backup.
  552. Ci metterà una decina di minuti, creando sul telefono una cartella di circa 2GB.
  553. Riavviare il sistema
  554. La cartella avrà un nome che inizia con la data, tipo:
  555. `2019-03-01--07-09-21_lineage_tel_userdebug_8.1.0_OPM2.173024`
  556. Si tratta di tutti i dati personali e delle applicazioni oltre che dell'intero
  557. sistema operativo.
  558. *Potrebbe essere una buona pratica tenerne sempre due recenti sul telefonino e
  559. trasportarne almeno una tantum sul Pc.*
  560. **Riprestinare il backup:**
  561. Riavviare in recovery mode
  562. e dal menu del recovery mode scegliere: Ripristina da backup.
  563. Ci metterà una decina di minuti.
  564. Riavviare il sistema
  565. E adesso come va? Eh, va bene. Si, ma bene come? Bene bene, ho appena fatto il
  566. roottino..
  567. # Pillole
  568. *..gialla e rossa, nella fossa: bianca e viola, qui si vola.*
  569. ## Signal
  570. Signal è un IM (Instant Messaging) crittato.
  571. Signal non nasconde il numero di telefono, che viene usato come identificativo,
  572. ma nasconde di default il contenuto del messaggio che è sempre privato. Usa
  573. crittografia e2e, il sorgente è disponibile. Signal permette gruppi,
  574. videochiamata e allegati ed esiste anche in versione Desktop (che sincronizza
  575. con il telefono acceso).
  576. **Affinità e divergenze tra noi e Signal e Telegram e Whatsapp**
  577. Con Signal i messaggi sono crittografati di default (non è un'opzione).
  578. La parte crittografica di Signal, essendo libera, viene usata anche da Whatapp,
  579. ma mentre tutta la Signal-App è verificabile, in Whatsapp lo è solo la parte
  580. crittografica presa da Signal, ma il resto della App Whatsapp non è a sorgente
  581. aperta.
  582. Telegram permette di registrare un nick (o anche avatar, handle) univoco e di
  583. scambiarlo con il corrispondente, evitando (se si è spuntato nelle preferenze di
  584. non condividerlo) di far sapere il proprio numero di telefono. In questo modo
  585. due o più persone potranno mandarsi messaggi senza sapere a quale numero
  586. corrisponde un nick.
  587. I gruppi su Telegram non permettono crittografia nella versione Desktop.
  588. Telegram desktop, una volta sincronizzato con il telefonino, è indipendente dal
  589. telefonino (che potrebbe essere spento), mentre la versione desktop di Signal
  590. dipende sempre dal telefonino.
  591. Whatsapp appartiene a Facebook, come anche Instagram. Telegram e Signal sono
  592. indipendenti e non sono legati a Facebook.
  593. Signal prevede la verifica del corrispondente, alla maniera del PGP.
  594. Se perdi il telefono e/o reinstalli la app Signal, perdi lo storico dei
  595. messaggi, che non è stato mai conservato sui server di Signal. Al contrario,
  596. Whatsapp e Telegram conservano sul proprio server tutti i messaggi inviati e
  597. ricevuti.
  598. Signal permette messaggi a scomparsa (dopo 5 minuti, 1 ora, 24 ore o una
  599. settimana) dopo essere stati letti.
  600. È possibile installare Signal su un telefono senza Google dunque senza usare il playstore
  601. scaricando previa verifica l'apk da qui: <signal.org/android/apk/>
  602. Verificare la apk:
  603. apksigner verify --print-certs Signal.apk | grep SHA-256
  604. Usando Signal sono al sicuro dai virus?
  605. No. Se un telefono viene infettato da un captatore informatico, nessuna app è
  606. sicura. Ma ad oggi non si hanno notizie di Signal usato come veicolo di un
  607. virus, mentre Whatsapp è stato già usato per installare remotamente un virus sul
  608. telefono (maggio 2019).
  609. ## Telegram
  610. *Perché nessuno ti chiederà mai: tu sai usare Facebook?*
  611. Telegram è un IM ed un social network creato in Russia, dai fratelli Durov. Il
  612. codice sorgente è disponibile lato client (puoi usare un client a tua scelta),
  613. ma è chiuso lato server. Telegram conserva i messaggi e i contatti sul suo
  614. server.
  615. È privacy feature rich. (ricco di funzionalità per la privacy). Però il server
  616. di Telegram sa chi sei. Telegram vuole un numero di telefono dove mandare un
  617. SMS per aprire un account (VoIP è ok). In seguito la versione desktop funziona
  618. autonomamente dal telefono che può essere spento.
  619. **Utilizzo**
  620. Telegram ha: chat 1-1, gruppi, canali e bot.
  621. **Chat 1-1**: Se non hai dato accesso ai contatti a TG, devi farti contattare o
  622. conoscere il nick. In ogni caso è bene aggiungere un contatto quando ci si vede
  623. di persona.
  624. **Gruppi**: Entri un un gruppo, crei un gruppo. I gruppi hanno admin.
  625. Tutti possono leggere e scrivere. Gli admin possono bannare.
  626. **Canali**: Segui un canale, crei un canale. I Canali hanno admin (massimo 50). Gli
  627. admin possono scrivere, gli altri leggono. È immoderabile.
  628. Sia i gruppi che i canali possono essere privati o pubblici.
  629. Quelli pubblici sono visibili anche da fuori, senza /join
  630. **Bot**: si chiama bot un programma, il cui nome termina in bot, che inoltra
  631. tutto quello che gli arriva a tutt@ quelli *con cui sta chattando*. Utenti
  632. infiniti.
  633. [Anon bot](https://github.com/sfan5/secretlounge-ng): Un bot non gira sui server
  634. di telegram, ma devi avere un tuo server. Passi da The @Botfather a creare il
  635. nome, deve chiamarsi *qualcosabot* e ricevi un token. Botfather è lo strumento
  636. di Telegram per gestire i bot, banalmente generare e revocare le api keys da
  637. usare nei propri bot. Telegram sa a che numero-telefono e nick è collegata la
  638. creazione di un bot. Chi entra dopo non vede cosa è successo prima. Gli admin e
  639. i mod possono sapere se due messaggi li ha scritti la stessa persona ma non chi
  640. sia. Si può bannare alla cieca ("banna l'autore di questo messaggio"). Per
  641. promuovere admin e mod serve sapere il loro nickname/handler. Chi ha accesso al
  642. server virtualmente può sapere tutto, in pratica nel db sta scritto chi ha usato
  643. il bot, chi è mod o admin e chi è stato bannato e per quale motivo.
  644. # Backup incrementale sicuro e remoto con duplicity
  645. Usando duplicity, ssh e gpg si può crittografare un backup e conservarlo in modo
  646. sicuro su un pc remoto. Attenzione a conservare a parte una copia della chiave
  647. gpg che serve per il recupero
  648. apt-get install duplicity
  649. In questo esempio avviene un backup della Home, con scambio chiavi ssh,
  650. definendo la chiave gpg da usare per la cifratura, con esclusione della cartella
  651. *Downloads*, sul pc chiamato *pc*, nella directory *backup* dell'utilizzatore
  652. con lo stesso nome, in questo esempio chiamato *tu*.
  653. Nei giorni successivi usare stesso comando per eseguire un backup incrementale
  654. duplicity --use-agent --encrypt-sign-key [Key-ID] \
  655. --exclude ~/Downloads $HOME/ sftp://tu@pc//home/tu/backup
  656. Verificare il backup
  657. duplicity verify -v9 sftp://tu@pc//home/tu/backup /home/tu
  658. Recuperare il backup nella cartella *recupero*
  659. mkdir recupero
  660. duplicity sftp://tu@pc//home/tu/backup /home/tu/recupero
  661. Esiste un front-end grafico di duplicity, chiamato Deja Dup
  662. apt-get install duplicity deja-dup
  663. \newpage
  664. # Risorse
  665. **[Autistici/Inventati](https://www.autistici.org)** offre ad attivisti, gruppi
  666. e collettivi piattaforme per una comunicazione più libera e strumenti digitali
  667. per l'autodifesa della privacy, come per esempio email, blog, mailing list,
  668. instant messaging e altro.
  669. <https://www.autistici.org>
  670. **[Disroot](https://www.disroot.org)** offre una serie di soluzioni alternative
  671. ed open source a servizi commerciali, tra cui: email, cloud, forum, pad, calc,
  672. privatebin, polls e altro.
  673. <https://www.disroot.org>
  674. **[Riseup](https://www.riseup.net)** fornisce caselle di posta, mailing list e
  675. siti web a persone impegnate per un cambiamento sociale libertario. Altri
  676. servizi: pad, share (pastebin, imagebin), VPN, jabber, Crabgrass
  677. <https://www.riseup.net>
  678. **[Cryptpad](https://cryptpad.fr)** fornisce una suite di strumenti di
  679. collaborazione crittati: CryptDrive, Rich text, Code, Presentation, Poll,
  680. Kanban, Whiteboard, Todo. Il software è open-source e disponibile per il
  681. self-hosting.
  682. <https://cryptpad.fr>
  683. **[Prism-break](https://prism-break.org/it)** fornisce un elenco di strumenti
  684. per liberarsi dai programmi globali di sorveglianza
  685. <https://prism-break.org/it>
  686. Questa è una lista parziale: esistono altri progetti con la stessa attitudine di
  687. rifiuto di far diventare un business la difesa della privacy e si basano su
  688. donazioni volontarie. Diffidate da chi vuole vendervi un prodotto per la vostra
  689. difesa.
  690. \newpage
  691. # Storia
  692. Il criptolibretto nasce in Unit hacklab per avere un pieghevole da distribuire
  693. come promemoria e appunti al cryptoparty organizzato in Macao a Milano il 15
  694. aprile 2018. Continua con l'intento di essere un sintetico supporto aggiornato
  695. perché la causa della libertà nel 21esimo secolo è inestricabilmente connessa
  696. alla resistenza alla sorveglianza elettronica.
  697. Il metodo (DIY) per la creazione del libretto può essere utilizzato da singole o
  698. gruppi per fare e pubblicare autoproduzioni. Nel caso, fatecelo sapere!
  699. Questo (cripto) libretto è stato scritto e impaginato usando software libero (LaTeX)
  700. * Scrittura usando sintassi markdown
  701. * Collaborazione usando git
  702. * Conversione in pdf usando pandoc
  703. * Conversione in PostScript con ghostscript
  704. * Foliazione (signature) effettuata con psbook
  705. * Scala delle pagine da A4 ad A5 usando psnup
  706. * Automazione usando make
  707. Il sorgente è disponibile:
  708. **<https://git.abbiamoundominio.org/unit/criptolibretto>**
  709. Licenza Copyleft
  710. *Libertà di distribuire e modificare con la stessa licenza.*
  711. Shoutz: crudo, dan, edne, lobo, pinq, putro.
  712. \newpage
  713. # Consigli
  714. Il computer non ha un cervello, usa il tuo.
  715. *Non fidarti troppo di chi ti dà consigli.*
  716. \newpage
  717. ![unit](logo.png){ width=12% }\
  718. unit hacklab, Milano 2019
  719. <https://unit.abbiamoundominio.org>