La validacion de claves publicas es muy dificil desde el punto de vista de los usuarios, pero sin esto no puedes tener confidencialidad.
Los protocolos existentes son vulnerables al analisis de metadatos, pese a que los metadatos son con frecuencia mucho mas sensibles que el contenido.
Con uno o mas esquemas oportunistas:
Para las comunicaciones cifradas, tienes que elegir entre forward secrecy o la capacidad de comunicar asincronamente
En la practica, trabajamos en grupos, pero... la criptografia de clave publica no.
No existen protocolos abiertos para permitir a los usuarios compartir un recurso
Queremos ser capaces de cambiar de dispositivo sin pensarlo, y recuperar nuestros datos si perdemos un dispositivo... pero es dificil hacerlo de forma segura
De forma casi universal, las actualizaciones de software se hacen de forma que invitan a los ataques y el compromiso de dispositivos
Encrypted Internet Proxy aka VPN - Bitmask 0.6.1
Email - Bitmask 0.7.0
Chat (comenzado)
Client-Encrypted Filehosting
Voip
Collaborative Text Editor
Recetas Puppet para configurar el servidor
# smtp TLS
postfix::config {
'smtp_use_tls': value => 'yes';
'smtp_tls_CApath': value => '/etc/ssl/certs/';
'smtp_tls_CAfile': value => $ca_path;
'smtp_tls_cert_file': value => $cert_path;
'smtp_tls_key_file': value => $key_path;
'smtp_tls_ask_ccert': value => 'yes';
'smtp_tls_loglevel': value => '1';
'smtp_tls_exclude_ciphers':
value => 'aNULL, MD5, DES';
# upstream default is md5 (since 2.5 and older used it), we force sha1
'smtp_tls_fingerprint_digest':
value => 'sha1';
'smtp_tls_session_cache_database':
value => 'btree:${queue_directory}/smtp_cache';
'smtp_tls_security_level':
value => 'may';
# see issue #4011
'smtp_tls_protocols':
value => '!SSLv2, !SSLv3';
}
Server Layout, IPs, contact details, etc
$ cat provider.json
//
// General service provider configuration.
//
{
"domain": "example.org",
"name": {
"en": "example"
},
"description": {
"en": "You really should change this text"
},
"contacts": {
"default": "admin@example.org"
},
"languages": ["en"],
"default_language": "en",
"enrollment_policy": "open"
}
$ cat nodes/web1.json
{
"ip_address": "99.231.92.23",
"services": "webapp",
"tags": "production"
}
Herramientas de linea de comandos para Admins
$ leap --yes deploy
Deploying to these nodes: web1, vpn1, couch1
= updated hiera/couch1.yaml
= updated hiera/web1.yaml
= checking node
- [web1] ok
- [couch1] ok
- [vpn1] ok
= synching configuration files
- hiera/web1.yaml -> web1:/etc/leap/hiera.yaml
- hiera/vpn1.yaml -> vpn1:/etc/leap/hiera.yaml
- hiera/couch1.yaml -> couch1:/etc/leap/hiera.yaml
- files/branding/tail.scss, files/branding/head.scss -> web1:/etc/leap
= synching puppet manifests
- /home/demo/leap/demo/leap_platform/[bin,puppet] -> web1:/srv/leap
- /home/demo/leap/demo/leap_platform/[bin,puppet] -> vpn1:/srv/leap
- /home/demo/leap/demo/leap_platform/[bin,puppet] -> couch1:/srv/leap
...
demo.bitmask.net - Proveedor de referencia de LEAP
ya abierto para beta testers =)
para servirles 24/7 en #leap @ irc.freenode.org
Website: https://leap.se
Github Mirror: https://github.com/leapcode
Hecho con reveal.js