Documente Academic
Documente Profesional
Documente Cultură
1. Introdu
ucción
Una de las man
neras en la que podem mos mejorar la segurid dad de las empresas e en las
que trabajando es generando un entoorno seguro mediante claves que asegure tan nto la
privacidad de loss mensajes e enviados com mo el remite ente de dichos mensajess. En esta prráctica
uiada algun as prácticas que nos darán unaa idea de cómo
realizzaremos de manera gu
podemos aplicar el cifrado
o y la criptoggrafía en la empresa, posteriormennte en el tem ma de
redess privadas virrtuales ampliaremos estaa informació ón.
2.. Cifrado
o simétricco con Gn
nuPG
El cifrado simétriico es aquel que utiliza la misma claave para cifrrar y para deescifrar, entre sus
incon nvenientes d destaca que es necesarrio generar una clave p para cada ccomunicación n que
el intterlocutor quiera
q estab
blecer, es ddecir, si ne
ecesito com
municarme ccon 10 perrsonas
debo generar 10 claves, una para comun icarme con ccada una de esas personnas, veamos ahora
cómo o se implemeenta con GPG G. Los pasos a realizar so on los siguien
ntes:
11. Abre un tterminal.
22. Crea en tu carpeta de
d trabajo (//home/nombreUsuario//) un docum
mento de texxto de
nombre D Documento_ _Secreto (pueedes usar ge
edit para crea
arlo)
33. Escribe co
omo texto del documentto Mensaje aa cifrar.
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 1
Prráctica Cifrado y Criptoggrafía SAD
D
66. Lista el directorio y observarás que se haa creado un
n documentto con exte
ensión
.gpg, quee correspond de al documeento cifrado.
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 2
Prráctica Cifrado y Criptoggrafía SAD
D
77. Visualiza el conten
nido del doocumento cifrado
c y verás
v un ttexto totalm
mente
ilegible:
Si desearras cifrar un documento para que fu uera legible, en código A
ASCII, en lugar del
comando o anterior deberías utilizaar: gpg ‐c –aa Documento o_Secreto
La opcióón –a guardda el docu mento cifraado con caracteres ASSCII. Es deccir, el
documen nto también es cifrado pero es leegible mediante editorres ascii, au unque
tampoco entenderáss demasiado de lo que lees porque esstá cifrado.
y observaráás un nuevo documento con exttensión .asc, que
88. Lista el directorio y
corresponde al docum mento cifraddo con caractteres ASCII.
99. Visualiza el contenido
o del nuevo ddocumento
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 3
Prráctica Cifrado y Criptoggrafía SAD
D
110. Habrás advertido
a que
q el doc umento ciffrado lleva el mismo nombre que el
documen nto original, a excepció n de las exxtensiones a añadidas. Sii se quisierra dar
un nuevo nombre al documentto cifrado, h habría que hacer uso de la opción –o o. Así,
ejecuta: ggpg –c –a –o Nuevo_Doccumento_Cifrado Documento_Secretto
111. Lista el diirectorio y ob
bservarás el documento creado
112. ¿Cómo llevar a cabo el descifrad o de un doccumento? Pu ues es muy ssencillo. Para a ello,
habrá qu
ue utilizar la opción –d een lugar de –c
– e indicar el documennto cifrado que
q se
quiera deescifrar. Así, ejecuta:
gpg –d ‐o
o Documento o_Descifradoo Nuevo_Doccumento_Ciffrado
113. Introducee la contraseeña (passphrrase) para el descifrado, que coincidde con la utiilizada
para el ciifrado, pues en eso coonsiste el ciifrado siméttrico, en haacer uso de
e una
única contraseña para los proceesos de cifrad do y descifra
ado:
114. Visualiza el contenido de Doc umento_Desscifrado y observa
o quee el texto es el
introducido al comiennzo de todo este proceso
o, Mensaje a cifrar:
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 4
Prráctica Cifrado y Criptoggrafía SAD
D
115. Compartee el documento cifradoo en el ord denador de un compaññero y desd de allí
intenta descifrarlo inttroduciendoo la contraseñ ña (passphra ase), respondde a las siguientes
cuestionees:
A. ¿influyye para algo el equipo enn el que se reealizó el cifrado? No
B. ¿Influyye para algo q
que el cifraddo se realice en ASCII o en binario? N o
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 5
Prráctica Cifrado y Criptoggrafía SAD
D
3. Cifrado asimétriico con GnuPG
A con ntinuación reealizaremos los pasos paara llevar a cabo un cifrado asimétricco. En este cifrado
la claave de cifraddo y de descifrado son d iferentes, baajo un sistem ma conocidoo de clave pú ública,
que se utiliza haabitualmente e para cifraar, y clave p
privada, quee se utiliza para descifrrar. El
funcionamiento d de este sistema requieree habitualme ente la existe
encia de un sservidor de claves
públicas, una esspecie de listín telefónnico dónde poder conssultar las cl aves públicas de
los ussuarios a lo
os que se desea enviar un mensaje cifrado. E El mensaje sse cifrará con su
clave pública y p posteriormente el dest inatario utillizará su cla ave privada para desciffrarlo.
Veam mos cómo fun nciona.
3.1. Generan
ndo un parr de clavees.
En prrimer lugar ees necesario generar el ppar de clavess de cifrado –
– descifrado
o que se utilizzarán.
Realizza los siguien
ntes pasos:
11. En un terrminal ejecutta el comanddo: gpg ‐‐gen
n‐key
22. Ahora, see nos pide quue seleccion emos el tipo
o de clave de
eseado mediiante una pa
antalla
como la qque aparece a continuaciión:
Seleccionna la opción 1
1 y pulsa Entter.
33. Una vez sseleccionado o el tipo de cclave a geneerar, debemo os seleccionaar el tamaño
o de la
misma. A A mayor tama año de la claave mayor dificultad pressentarán los ataques de ffuerza
bruta, peero más lentoo será el procceso de cifraado y descifra
ado, ademáss de incremeentar
la longitu
ud de la firma
a digital.
44. Acepta ell tamaño que e aparece poor defecto (2 2048 bits)
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 6
Prráctica Cifrado y Criptoggrafía SAD
D
55. Ahora deebemos espe ecificar el tieempo de valiidez de la clave. En estee caso escrib
be 1m,
con el fin de generar una clave coon un periodo de validez de un mes.
66. A continuación, indica nombre y apellidos,, correo electrónico y uun comenta
ario. El
comentario sirve parra que el creeador de la cclave almace ene detalles que conside ere de
importanncia sobre la misma, nnunca la claave, evidenttemente, addemás a la hora
de buscar en un direcctorio de clavves también se puede bu uscar por el ccontenido de este
campo.
77. A continu
uación y desspués de val idar los dato a te pide inttroducir una frase
os el sistema
contraseñ
ña (passphrase) que see utilizará p
para protege
er la clave privada. ¡¡N
NO LA
OLVIDES!!!!
88. Para creaar las claves se requiere cierta dosiss de aleatorie edad, por loo que la apliccación
nos informará ahora de que interractuemos ccon el sistema para geneerar dicha do osis de
aleatoriedad, podemos trabajar en otra ven ntana, abrir y
y cerrar proogramas, mo
over la
ventana h hasta que fin nalice el procceso y te devvuelva a la shell de Linuxx informándo ote de
los datoss de tu clavve. Es un prroceso un p
poco lento ppero cuantaa más intera
acción
generes más
m rápido acabará, au nque parezcca que se ha a bloqueadoo sigue generando
movimien ntos y accion nes, en ocasiiones puede llevar alguno os minutos.
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 7
Prráctica Cifrado y Criptoggrafía SAD
D
99. Para listaar las clave p e acabamos de generar debes
públicas pressentes en el equipo que
ejecutar eel comando gpg –k
¡Esta pan ntalla es fundamental quue la captures!!! En ella observará qque aparece
en dos
claves, la primera (pu ub) destinadaa a firmar do ocumentos yy la segunda (sub) destin nada a
cifrar infoormación. De e este modoo cualquiera que nos quiera enviar innformación p puede
utilizar eestas claves para cifrarrla, solamen
nte nosotross mediante la clave privada
seremos capaces de d descifrarla.
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 8
Prráctica Cifrado y Criptoggrafía SAD
D
110. NO HAGAS ESTE PA ASO, SÓLO LEELO. Unaa vez cread da tu clave pública tendrías
que comp partirla en un servidor de claves ((una especie
e de listín ttelefónico, d
donde
se guardaan claves pú
úblicas de m
muchas perso onas. Existenn muchos seervidores pú úblicos
que te peermiten com mpartir tu cclave públicaa y obtener la de otroos usuarios, como
por ejemplo el de red iris (htttp://www.re ediris.es/keyserver/) o eel que ofre ece el
sistema operativo Ubuntu ((http://keyse erver.ubuntu u.com:113711/). Se puede
p
conectar a ellos med diante interfface web o mediante el puerto 113371 directam mente
desde GP PG y normalmente estánn sincronizad dos de manera que la clavve que comp partes
en uno acaba
a propaagándose a otros. En ell siguiente punto
p creareemos un servidor
privado een otra máqu uina virtual donde commpartiremos nuestras cclaves, dejarremos
los servidores públiccos para cuuando realm mente quierras hacer uuna clave no o sea
que te eempiecen a e enviar mens ajes privados y hayas eliminado tu cllave de descifrado
porque laa creaste en una máquinaa virtual… :‐P P
3.2. Creando
o un servid
dor de cla
aves.
Ademmás de utilizzar un servidor de clavves público puedes cre ear un serviddor privado o para
la em
mpresa en lla que trab bajas, de esste modo cconseguirás que los m mensajes intternos
vayann cifrados evitando
e que e sean vistoos por terce eros que haayan podidoo implementtar en
nuesttra red algúnn tipo de sn
niffer de red . Para ello arranca
a otra máquina virrtual de Ubu
untu y
aseguurándote de que se ve ea mediant e ping con n la máquin na donde hhas generad do las
claves realiza loss siguientes p pasos:
Juan P
Pedro Fernánd
dez Sánchez Pá
ágina 9
Prráctica Cifrado y Criptoggrafía SAD
D
11. Instalamoos el paquette sks (nece sitarás que en la máquiina este habbilitada la sa
alida a
Internet): sudo apt‐ge et install sks
22. Construim de datos de cclaves: sud
mos la base d do sks build
Juan P
Pedro Fernánd
dez Sánchez Pággina 10
Prráctica Cifrado y Criptoggrafía SAD
D
33. Estableceemos los pe
ermisos de la base de datos camb
biando el ppropietario d
de las
carpetas a debían‐skss: sudo chhown –Rc deb
bían‐sks: deb
bían‐sks /varr/lib/sks/DB
44. Configuraamos el servidor para quue se inicie au
utomáticame
ente en el arrranque:
set initstaart=yes in /etc/default/s ks
55. El paso anterior
a en ocasiones
o noo funciona correctament
c te, por lo quue es aconsejable
editar el archivo /etcc/default/skss y establece e initstart a valor yes en
er la variable n caso
de que no o lo esté: su
udo gedit /ettc/default/skks
66. Arrancam
mos el serviciio: sudo /eetc/init.d/skss start
77. Desde esste momento o tenemos uun servidor d de claves esccuchando enn el puerto 1 11371.
Ahora po odemos subirr las claves ggeneradas an
nteriormente e mediante eel comando
gpg ‐‐sen
nd‐keys, por ejemplo:
gpg ‐‐sen
nd‐keys ‐‐keyserver 192..168.93.134 015B6979
Donde esspecificamoss la IP del se rvidor de claaves y la clavve a subir. Enn la figura puedes
ver de dóónde se obtie
ene, resaltaddo en color roojo.
Juan P
Pedro Fernánd
dez Sánchez Pággina 11
Prráctica Cifrado y Criptoggrafía SAD
D
88. Para commprobar si un na clave está en el servidor podemos ejecutar:
gpg ‐‐keyyserver 192.1 168.93.134 ‐‐‐search‐key JJuan Pedro
En el ‐‐seearch‐key podemos utilizzar cualquierra de los cam mpos que se rellenan a la a hora
de crear la clave. Estte comandoo nos inform
mará si la clave está en el servidor y
y si la
seleccionnamos nos la a podremos bajar a nuestra máquina, (Nota: Si tienes problemas
para salirr de la aplicación sin bajaarte la clave p
puedes pulsa ar control+c))
También
n es posible u
utilizar las oppciones de gp
pg:
reecv‐keys para descargar las claves deel servidor
reefresh‐keys p
para actualizzar nuestros datos locales sobre clavees
gpg ‐‐‐refresh‐keyss ‐‐keyserverr 192.168.93.134
Juan P
Pedro Fernánd
dez Sánchez Pággina 12
Prráctica Cifrado y Criptoggrafía SAD
D
3.3. Generan
ndo un cerrtificado d
de revoca
ación
Cuando generas tu clave púb blica debes ggenerar el ce ertificado de e revocación correspond diente,
esto es, en el casso de que pie
erdas la clavee de tu equipo o su segu uridad se vieese vulnerada a y un
terceero malintencionado pud diese accedeer a tu clave
e pública de descifrado ppodrías com
mpartir
dichoo certificado de revocacióón con el ressto de usuariios de manerra que no ut ilicen más la a clave
pública. Para generarlo debess realizar los siguientes p pasos:
11. Ejecuta een un termina
al el comanddo: gpg –k
Con el fin
n de conocer la identificcación de la clave pública
a de la que se quiere ge
enerar
un certificado de revo
ocación.
Juan P
Pedro Fernánd
dez Sánchez Pággina 13
Prráctica Cifrado y Criptoggrafía SAD
D
22. Para creaar el certificado de revocaación, ejecutta el comand do:
gpg ‐‐genn‐revoke identificadorClaavePública
Donde <identificado
< orClavePúbli ca> es el id
dentificador de la clave aunque tam
mbién
puede uttilizarse el no ombre y apeellido de la p persona, correo electrónnico o las palabras
del comeentario utiliza ado al crear el par de claves que serrá más senciillo que intro oducir
el identifficador de la clave, comoo dijimos antteriormente el identificaador de la cla ave es
el número que aparece resaltadoo en la imagen superior.
33. Indica al sistema que
e quieres gennerar un certtificado de revocación puulsando la te ecla s,
posteriorrmente indicca la razón ppor la que creamos
c el certificado dee revocaciónn. Así,
seleccion
na la primerra opción (00) e introdu uce como de escripción CCertificado creado
inmediatamente desp pués de geneerar el par de claves. (para finalizar laa edición debes
introducir una línea vvacía).
Juan P
Pedro Fernánd
dez Sánchez Pággina 14
Prráctica Cifrado y Criptoggrafía SAD
D
44. Introducee la contrasseña con la que proteggiste la clave
e privada e n el punto 7 del
apartado
o 3.1. (¡Si la olvidaste deebes volver aa empezar to odo el proceeso!!!) contrraseña
(passphraase)
55. Por pantaalla nos saldrrá el certificaado de revoccación.
66. El probleema es quee así el cerrtificado no nos sirve de mucho (aunque en n PGP
nos recom mienden imp primirlo), lo interesante es que esa informaciónn esté almace enada
en un arcchivo, para ello se debe eejecutar el co omando:
gpg –o cert_revocado.ascc ‐‐gen‐revokke idClavePú ública
Y después de seguir los mismos ppasos observvarás que apa arece un fichhero que con
ntiene
el certificcado de revo
ocación de la clave públicca que tendrías que com partir con el resto
de usuariios en el casoo de que tu ssistema o claave privada sse viese vulneerada.
Juan P
Pedro Fernánd
dez Sánchez Pággina 15
Prráctica Cifrado y Criptoggrafía SAD
D
77. En el caso de que ocurriese algo problemáticco y necesitá
ásemos revoocar nuestra clave
debemoss importar el certificado dde revocació
ón:
gpg ‐‐import ccert_revocaddo.asc
88. Podremo
os comprobar que nuestrro certificado
o ha sido imp
portado meddiante:
gpg –k
Como puedes observar en la imaggen la clave aaparece revo ocada.
99. Ahora solo necesitarííamos que ell resto de ussuarios conociesen la revvocación envviando
la clave revocada a un servidoor de clavess. Intenta realizarlo enn el servidor que
configuraaste en el apaartado anterrior y escribee aquí los passos realizadoos.
Ejecu utamos gpg ‐‐send‐keys ‐‐keyserver 192.168.93..134 8C0A00079 para ree enviar
ocales sobre la clave al se
nuesttros datos lo ervidor:
Para comprobar ssi la clave see ha actualizaado en el serrvidor ejecuttamos el com
mando
gpg ‐‐keyserver 192.168.93.1 34 ‐‐search‐key Juan Ped dro:
Juan P
Pedro Fernánd
dez Sánchez Pággina 16
Prráctica Cifrado y Criptoggrafía SAD
D
En lo
os equipos que tenga n las claves descargad
das ejecutam
mos el sigu
uiente
comaando: gpg ‐‐rrefresh‐keys ‐‐keyserver 192.168.93.1
134
3.4. Intercam
mbio de cllaves púb
blicas
Para poder comu unicarse con otros usuari os de manerra cifrada el usuario debee intercambiar las
claves públicas por medio de e un servido r o exportán ndola a un a archivo, puessto que ya h hemos
visto el funcionam miento mediante el serviidor ahora practicaremos el método mediante arrchivo
supon mos servidorr disponible
niendo quee no tenem e o que no queremoos habilitarlo
o por
algúnn motivo. Parra ello es pre eciso exportaar la clave pú ública.
Juan P
Pedro Fernánd
dez Sánchez Pággina 17
Prráctica Cifrado y Criptoggrafía SAD
D
22. Una vez exportada te
endremos q ue pasar nuestra clave pública a unn compañero
o, que
también nos pasará la suya, de modo que se pueda eestablecer uuna comuniccación
segura enntre ambos, para importaarla hay que e ejecutar el ssiguiente com mando:
gpg ‐‐import nombreArchhivo.gpg
Ahora poodrás observa ar mediante gpg –k que en tu listadoo de claves ppúblicas aparrece la
clave del compañero que te pasó el archivo.
Juan P
Pedro Fernánd
dez Sánchez Pággina 18
Prráctica Cifrado y Criptoggrafía SAD
D
3.5. Cifrando
o y descifrrando me nsajes en
n documen
ntos
11. Crea un d
documento d
de texto con un mensaje secreto en ssu interior.
22. Ejecuta eel siguiente comando:
gpg ‐‐output d documentoEEncriptado.gpg ‐‐encryptt ‐‐recipient
clavePublicaD Destinatario nombreDoccumentoACiffrar
Sustituyeendo <docum mentoEncripttado.gpg> p por el archivvo que almaacenará los datos
encriptaddos, <clavePu ublicaDestinaatario> la clave del destinatario quue tendrás en tu
repositorrio local dee claves y <nombreDocumentoAC Cifrar> por el nombre e del
documen nto creado en n el paso 1.
Juan P
Pedro Fernánd
dez Sánchez Pággina 19
Prráctica Cifrado y Criptoggrafía SAD
D
33. Observarrás que en el
e directorio se ha generrado un arch
hivo que conntiene el me
ensaje
do. Pasa el documento aal destinatarrio del men
encriptad nsaje (Propieetario de laa clave
pública que usaste).
Pasamos el archivo all equipo Ubuuntu 10.04 – Descifrado
44. Para deseencriptarlo tu compañeroo deberá eje ecutar el com
mando:
gpg ‐‐output DocumentoD Desencriptad do.txt
‐‐‐decrypt DoccumentoEncrriptado.gpg
Siendo <D DocumentoD Desencriptaddo.txt> el documento donde se almaacenarán los datos
desencripptados y <do ocumentoEnncriptado.gpgg> el documento encripttado generado en
el paso 2.
Juan P
Pedro Fernánd
dez Sánchez Pággina 20
Prráctica Cifrado y Criptoggrafía SAD
D
El sistema le pedirá la contraseñaa que protegge su clave p
privada y si ees correcta podrá
acceder aal documento, responde a las siguien
nte pregunta:
A. ¿Si paasas el mism ompañero puede desenccriptarlo de algún
mo documennto a otro co
modo?
Só e las claves descargadas del equip
ólo si tiene po Ubuntu100.04‐Descifra
ado y
coonoce la con ntraseña.
Juan P
Pedro Fernánd
dez Sánchez Pággina 21
Prráctica Cifrado y Criptoggrafía SAD
D
3.6. Firma diigital de u
un docum ento
Una ffirma digital certifica un documentoo y le añade una marca de tiempo aasegurando q que el
autorr es quién dice ser. La uttilidad de un a firma digittal es la mism
ma que la dee una firma e
escrita
a mano, sólo que la digital, enn principio, ttiene una ressistencia a la falsificaciónn.
Para la creación y verificació e par público y privado de claves en una
ón de firmass se utiliza el
operaación que ees diferente e a la de ccifrado y descifrado. S Se genera uuna firma ccon la
clave privada del firmante. Si la clave es correctaa es posible verificar laa firma med diante
la clave pública correspondiiente asegurrándonos quue el docum ento ha sido
o generado por la
perso ona que lo firrmó.
Una cconsecuencia directa dell uso de firm
mas digitales es la dificultad en negar
r que fué el p
propio
usuarrio quien puso la firma d
digital, ya quue ello implicaría que su
u clave privadda ha sido p
puesta
en peeligro. Veamos cómo funciona:
11. Crea un documento o de texto (p.e: docum mentoAFirma ar.txt) y ejeecuta el sigu
uiente
comando o para firmarrlo:
gpg –o Docum mentoFirmaddo.sig ‐‐sign documentoA AFirmar.txt
ón –o ind
La opció dica que el docume
ento de salida
s con la firma será
<documeentoFirmado.sig>, la opciión ‐‐sign ind dica qué documento queeremos firma ar.
eña que proteege la clave privada. (passsphrase)
22. Introducee la contrase
33. Lista el directorio parra detectar qque se ha ge
enerado el documento ccon extensión .sig
firmado yy en formatoo binario commprimido. (Loo puedes verr con un edittor de texto)
Juan P
Pedro Fernánd
dez Sánchez Pággina 22
Prráctica Cifrado y Criptoggrafía SAD
D
44. Con el co
omando gpg ‐‐verify docuumentoFirmado.sig
Puedes vverificar la firrma digital dde cualquier persona cuyya clave púbblica poseas en tu
anillo de claves públicas. Así, verrifica la firmaa realizada so
obre el docuumento .sig ccon el
comando o
gpg ‐‐verify DocumentoFi rmado.sig
22. Introducee la contrase eña que proteege la clave privada. (passsphrase)
33. Lista el coontenido del directorio, observarás q que se crea un fichero coon extensión n .asc,
si visualizzas su interio
or encontrarrás que se h ha incorporado la inform mación de la firma
digital deel documento o. Puedes veerificar quiénn lo firmo si utilizas la oppción ‐‐verifyy y en
tu reposittorio de clavves tienes la cclave públicaa del firmantte del texto.
Juan P
Pedro Fernánd
dez Sánchez Pággina 23
Prráctica Cifrado y Criptoggrafía SAD
D
44. Prueba a
a firmar e in
ntercambiar documento os con un compañero ccon el que hayas
compartido tu clave pública, inddica aquí loss pasos realizados tantoo para el firrmado
comprimido como el firmado ASCCII.
Juan P
Pedro Fernánd
dez Sánchez Pággina 24