# Keybase

Keybase és un directori de claus de xifrat que assigna les identitats a mitjans de comunicació socials a les claus de xifratge (incloses, però no limitades a claus PGP) de manera auditable públicament. A més, ofereix un sistema d'emmagatzematge de xat al núvol i xifrat de punt a punt, anomenat Keybase Chat i el sistema de fitxers Keybase respectivament. Els fitxers col·locats a la part pública del sistema de fitxers es publiquen des d'un punt final públic, i localment des d'un sistema de fitxers muntat pel client Keybase.
Keybase admet la connexió pública de les identitats de Twitter, GitHub, Reddit, Hacker News i Mastodon, inclosos llocs web i dominis sota el control, a claus de xifratge. També admet adreces de moneders com Bitcoin, Zcash i Stellar. Keybase ha donat suport a les identitats de Coinbase des del llançament públic inicial, però va deixar de fer-ho el 17 de març de 2017 quan Coinbase va acabar amb les pàgines de pagament públic. En general, Keybase permet integrar qualsevol servei amb identitats públiques amb Keybase.
El 7 de maig de 2020 s'anunciaria l'adquisició de Keybase per part de Zoom per tal de millorar la seguretat de les transmissions de vídeo d'aquesta última. Keybase aportaria l'encriptació de punt a punt a la plataforma de comunicació per vídeo de Zoom. Fins llavors Zoom oferia als seus usuaris encriptació dels continguts utilitzant l'estàndard AES-GCM amb claus de 256 bits. Aquestes claus però eren generades als servidors de Zoom. Amb l'adquisició de Keybase es proposaria oferir encriptació de punt a punt a tots els comptes de pagament, i que els propis usuaris registrats es creessin les identitats públiques criptogràfiques que es guardarien en un repositori de la xarxa de Zoom i que servirien per restablir les relacions entre participants a les converses. Una clau compartida simètrica i efímera es generaria a l'aparell del client, i aquesta clau seria distribuïda entre els altres clients connectats, conjuntament amb parells de claus assimètriques entre ells. EL secret criptogràfic es mantindria en el control de l'usuari, i només aquest decidiria amb qui les comparteig d'entre els usuaris participants a les converses.

## Proves d'identitat

Keybase permet als usuaris "provar" un enllaç entre certes identitats en línia (com un compte de Twitter o Reddit) i les seves claus de xifrat. En lloc d'utilitzar un sistema com ara OAuth, es demostren les identitats publicant una declaració signada com el compte del qual un usuari vol demostrar la propietat. Això fa que les proves d'identitat es puguin verificar públicament; en lloc d'haver de confiar en el fet que el servei sigui veritable, l'usuari pot trobar i comprovar les declaracions de prova pertinents i el client Keybase ho fa automàticament.

## Aplicació

A més de la interfície web, Keybase ofereix una aplicació client per a Windows, MacOS, Android, iOS, i la majoria de distribucions de Linux per a ordinadors, escrita en Go amb un frontend en Electron. L'aplicació ofereix funcions addicionals al lloc web, com ara el xat xifrat de punta a punta, la funció d'equips i la possibilitat d'afegir fitxers i accedir a fitxers privats al seu emmagatzematge del sistema de fitxers personal i d'equip Keybase. Cada dispositiu que executa l'aplicació client està autoritzat per una signatura feta per un altre dispositiu o per la clau PGP de l'usuari. A cada dispositiu també se li proporciona una clau NaCl al dispositiu per realitzar operacions criptogràfiques.

## Xatejar

Keybase Chat és un xat xifrat de punta a punta integrat a Keybase llançat el febrer de 2017. Una característica distintiva del Keybase Chat és que permet als usuaris de Keybase enviar missatges a algú mitjançant el seu àlies en línia (per exemple, un compte reddit), fins i tot si encara no s'han registrat a Keybase.
Si el destinatari (el propietari de l'àlies en línia) té un compte a Keybase, rebrà perfectament el missatge. Si el destinatari no té un compte de Keybase i més endavant es registra i prova l'enllaç entre el compte en línia i els seus dispositius, el dispositiu del remitent tornarà a canviar el missatge del destinatari en funció de la prova pública que ha publicat, permetent-los llegir el missatge. Com que l'aplicació Keybase comprova la prova, evita la confiança en el primer ús.

## Sistema de fitxers de Keybase (KBFS)

Keybase permet als usuaris emmagatzemar fins a 250 GB de fitxers en un emmagatzematge al núvol anomenat Keybase Filesystem de franc. No hi ha actualitzacions d'emmagatzematge disponibles, però s'han previst plans de pagament que permetin obtenir més dades. El sistema de fitxers està dividit en tres parts: fitxers públics, fitxers privats i fitxers d'equip. En màquines similars a Unix, el sistema de fitxers es munta a /keybase i, en els sistemes Microsoft Windows, se sol muntar a la unitat K. Actualment, les versions mòbils del client Keybase només poden descarregar fitxers de kbfs i no poden muntar-lo. Tanmateix, realitzen operacions de suport com ara actualitzar les claus de sessió pels fitxers segons sigui necessari. L'octubre de 2017, Keybase va presentar dipòsits de Git xifrats de punt a punt.

### Fitxers públics

Els fitxers públics es guarden a /public/username i són visibles al públic. Tots els fitxers del sistema de fitxers públics se signen automàticament pel client. Només l'usuari que porta el nom de la carpeta pot editar el seu contingut, però, una carpeta pot rebre el nom d'una llista d'usuaris separats per comes (per exemple, una carpeta /public/foo,bar,three seria editable pels usuaris foo, bar, i three).
Qualsevol usuari pot accedir als fitxers públics. Les carpetes d'un sol usuari es mostren a keybase.pub i també són accessibles obrint el directori a la versió muntada del sistema de fitxers. Les carpetes múltiples d'usuaris (com ara /public/ foo,bar,three) només són accessibles a través de la versió muntada del sistema.

### Fitxers privats

Els fitxers privats s'emmagatzemen a /private/username i només són visibles per a username. Les carpetes privades, com les carpetes públiques, es poden anomenar després per més d'un usuari (per exemple, una carpeta /private/foo,bar,three podria ser llegible i editable pels usuaris foo, bar i three). Els fitxers privats també es poden llegir només per als usuaris després de "#" (per exemple, una carpeta /private/ writer1,writer2,#reader1,reader2 seria llegible i editable pels usuaris writer1 i writer2, però només es podia llegir per reader1 i reader2). A diferència dels fitxers públics, tots els fitxers privats es xifren i se signen abans de penjar-los, de manera que es xifren de punt a punt.

### Fitxers d'equip

Els fitxers d'un equip es guarden a /team/teamname i són visibles públicament pels membres de l'equip. Tots els fitxers del sistema de fitxers de l'equip són xifrats i signats automàticament pel client. Només els usuaris marcats com a escriptors poden editar els seus continguts, però, qualsevol lector pot accedir als fitxers emmagatzemats allà.

## Equips

El setembre de 2017, Keybase va llançar Keybase Teams. Un equip es descriu com "... un grup de persones amb nom". Cada equip té una carpeta privada al sistema de fitxers Keybase i una sèrie de canals de xat (similars a Slack). Els equips també es poden dividir en "subteams" col·locant un . al nom de l'equip. Per exemple, wikipedia.projects seria un subteam de wikipedia, mentre que wikipedia.projects.foobar seria un subteam de wikipedia.projects (i per tant, també de wikipedia).

### Administració d'equips

Els equips s'administren majoritàriament afegint signatures a una cadena. Cada signatura pot afegir, eliminar o canviar la pertinença d'un usuari en un equip, així com quan es fan canvis als subteams.
Cada cadena s'inicia amb una signatura realitzada pel propietari de l'equip, amb accions posteriors signades pels administradors o usuaris de l'equip. D'aquesta manera es garanteix que totes les accions són realitzades per un usuari autoritzat i que les accions poden ser comprovades per qualsevol persona que posseeixi la clau pública utilitzada.

## Referències

* ↑ «Sigchain | Keybase Docs».
* 1 2 3 Dalton, Andrew. «Keybase's encrypted chat works with accounts you already have», 02-09-2017.
* 1 2 3 Russell, Jon «Keybase Introduces End-To-End Encrypted File Sharing Service». TechCrunch, 02-05-2016.
* 1 2 3 4 5 «Understanding the Keybase filesystem».
* ↑ «Keybase Wants To Make Serious Encryption Accessible To Mere Mortals». Fast Company. [Consulta: 5 juny 2017].
* ↑ «Keybase chooses Zcash».
* ↑ «Stellar wallets for all Keybase users». [Consulta: 16 setembre 2019].
* 1 2 «Keybase ♥'s Mastodon, and how to get your site on Keybase».
* ↑ «Abrupt Termination of Coinbase Support». Keybase, Inc. [Consulta: 5 juny 2017].
* ↑ «Proof Integration Guide | Keybase Docs». Arxivat de l'original el 2019-06-08.
* ↑ «Keybase joins Zoom». The Keybase Blog, 07-05-2020 [Consulta: 7 maig 2020].
* ↑ S. Yuan, Eric «Zoom Acquires Keybase and Announces Goal of Developing the Most Broadly Used Enterprise End-to-End Encryption Offering». Zoom Blog, 07-05-2020 [Consulta: 7 maig 2020].
* 1 2 Fleishman, Glenn «Keybase offers encrypted chat where you control all the pieces». Macworld, 15-02-2017.
* 1 2 3 4 5 Dunn, John E «Keybase adds end-to-end encryption to messages on the web». Naked Security, 31-05-2017.
* ↑ Hoff, John «Keybase encrypted chat now available on Android». androidcommunity.com, 12-05-2017.
* ↑ «Introducing Keybase Chat». Keybase, Inc.
* ↑ «FYI - we changed the default KBFS plan to 250GB instead of just 10GB. Very few people are hitting the limit so it's less work to let them go past it than deal with UX around upgrading right now.». Arxivat de l'original el 2017-12-22.
* ↑ «Keybase».
* ↑ «Introducing the Keybase filesystem».
* ↑ «Keybase launches encrypted git». Keybase, Inc.
* ↑ «KBFS - Understanding KBFS | Keybase Docs».
* ↑ Hackett, Robert «First They Made OkCupid and SparkNotes. Now They're Taking on Slack». Fortune Tech, 18-09-2017.
* ↑ «Teams for Keybase». Arxivat de l'original el 27 d'octubre 2018.
* ↑ «Teams: Naming, Merkle Tree Integration, And Signature Chains».

## Enllaços externs

* Keybase - Lloc web oficial