Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: servicios de seguridad Oracle Solaris 11 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Uso de la herramienta básica de creación de informes de auditoría (tareas)
7. Control de acceso a archivos (tareas)
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
Uso de la estructura criptográfica (mapa de tareas)
Protección de los archivos con la estructura criptográfica (tareas)
Protección de archivos con la estructura criptográfica (mapa de tareas)
Cómo generar una clave simétrica con el comando dd
Cómo generar una clave simétrica con el comando pktool
Cómo calcular un resumen de un archivo
Administración de la estructura criptográfica (tareas)
Administración de la estructura criptográfica (mapa de tareas)
Cómo mostrar los proveedores disponibles
Cómo agregar un proveedor de software
Cómo evitar el uso de un mecanismo de nivel de usuario
Cómo evitar el uso de un proveedor de software de núcleo
Cómo mostrar proveedores de hardware
Cómo deshabilitar funciones y mecanismos del proveedor de hardware
Cómo actualizar o reiniciar todos los servicios criptográficos
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Autenticación de servicios de red (tareas)
17. Uso de Secure Shell (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
27. Planificación de la auditoría
En esta sección, se describe cómo generar claves simétricas, cómo crear sumas de comprobación para la integridad de archivos y cómo proteger los archivos contra intrusos. Los comandos incluidos en esta sección pueden ser ejecutados por usuarios comunes. Los desarrolladores pueden escribir secuencias de comandos que utilicen estos comandos.
La estructura criptográfica puede ayudar a proteger los archivos. En el siguiente mapa de tareas se hace referencia a los procedimientos para mostrar los algoritmos disponibles y para proteger los archivos criptográficamente.
|
Se necesita una clave para cifrar archivos y generar el MAC de un archivo. La clave se debería obtener de una agrupación aleatoria de números.
Para crear la clave, dispone de tres opciones:
Si su sitio cuenta con un generador de números aleatorios, utilícelo.
Si desea generar la clave y almacenarla, consulte Cómo generar una clave simétrica con el comando pktool.
De lo contrario, utilice este procedimiento. Este procedimiento requiere que proporcione el tamaño de la clave en bits. En contraste, el comando pktool determina el tamaño de clave correcto según el algoritmo que especifique.
% encrypt -l Algorithm Keysize: Min Max (bits) ------------------------------------------ aes 128 128 arcfour 8 128 des 64 64 3des 192 192 % mac -l Algorithm Keysize: Min Max (bits) ------------------------------------------ des_mac 64 64 sha1_hmac 8 512 md5_hmac 8 512 sha256_hmac 8 512 sha384_hmac 8 1024 sha512_hmac 8 1024
Divida los tamaños de clave mínimo y máximo por 8. Cuando los tamaños de clave mínimo y máximo son diferentes, es posible utilizar tamaños de clave intermedios. Por ejemplo, el valor 8, 16 o 64 pueden transferirse al comando dd para las funciones sha1_hmac y md5_hmac.
% dd if=/dev/urandom of=keyfile bs=n count=n
Es el archivo de entrada. Para una clave aleatoria, utilice el archivo /dev/urandom.
Es el archivo de salida que contiene la clave generada.
Es el tamaño de la clave en bytes. Para obtener la longitud en bytes, divida la longitud de la clave (en bytes) por 8.
Es el recuento de los bloques de entrada. El número para n debe ser 1.
El archivo de claves sólo debe ser legible para el usuario.
% chmod 400 keyfile
Ejemplo 12-1 Creación de una clave para el algoritmo AES
En el siguiente ejemplo, se crea una clave secreta para el algoritmo AES. La clave también se almacena para el descifrado posterior. Los mecanismos AES utilizan una clave de 128 bits. La clave se expresa en 16 bytes en el comando dd.
% ls -al ~/keyf drwx------ 2 jdoe staff 512 May 3 11:32 ./ % dd if=/dev/urandom of=$HOME/keyf/05.07.aes16 bs=16 count=1 % chmod 400 ~/keyf/05.07.aes16
Ejemplo 12-2 Creación de una clave para el algoritmo DES
En el siguiente ejemplo, se crea una clave secreta para el algoritmo DES. La clave también se almacena para el descifrado posterior. Los mecanismos DES utilizan una clave de 64 bits. La clave se expresa en 8 bytes en el comando dd.
% dd if=/dev/urandom of=$HOME/keyf/05.07.des8 bs=8 count=1 % chmod 400 ~/keyf/05.07.des8
Ejemplo 12-3 Creación de una clave para el algoritmo 3DES
En el siguiente ejemplo, se crea una clave secreta para el algoritmo 3DES. La clave también se almacena para el descifrado posterior. Los mecanismos 3DES utilizan una clave de 192 bits. La clave se expresa en 24 bytes en el comando dd.
% dd if=/dev/urandom of=$HOME/keyf/05.07.3des.24 bs=24 count=1 % chmod 400 ~/keyf/05.07.3des.24
Ejemplo 12-4 Creación de una clave para el algoritmo MD5
En el siguiente ejemplo, se crea una clave secreta para el algoritmo MD5. La clave también se almacena para el descifrado posterior. La clave se expresa en 64 bytes en el comando dd.
% dd if=/dev/urandom of=$HOME/keyf/05.07.mack64 bs=64 count=1 % chmod 400 ~/keyf/05.07.mack64
Algunas aplicaciones requieren una clave simétrica para el cifrado y el descifrado de las comunicaciones. En este procedimiento, se crea una clave simétrica y se la almacena.
Si su sitio cuenta con un generador de números aleatorios, puede utilizar el generador para crear un número aleatorio para la clave. Este procedimiento no utiliza el generador de números aleatorios de su sitio.
En su lugar, puede utilizar el comando dd con el dispositivo /dev/urandom como entrada. El comando dd no almacena la clave. Para conocer el procedimiento, consulte Cómo generar una clave simétrica con el comando dd.
Utilice uno de los métodos siguientes.
La ventaja de almacenar una clave en un archivo es que se puede extraer la clave de este archivo para usarla en el archivo de claves de una aplicación, como el archivo /etc/inet/secret/ipseckeys o IPsec.
% pktool genkey keystore=file outkey=key-fn \ [keytype=generic|specific-symmetric-algorithm] [keylen=size-in-bits] \ [dir=directory] [print=n]
El valor file especifica la ubicación de almacenamiento de tipo archivo para la clave.
Es el nombre de archivo cuando se especifica keystore=file.
Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.
Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.
Es la ruta del directorio a nombre_archivo_claves. De manera predeterminada, el valor de directorio es el directorio actual.
Imprime la clave en la ventana de terminal. De manera predeterminada, el valor de print es n.
La ventaja del almacén de claves PKCS #11 es que se puede recuperar la clave por su etiqueta. Este método es útil para las claves para cifrar y descifrar archivos. Debe completar el Paso 1 antes de utilizar este método.
% pktool genkey label=key-label \ [keytype=generic|specific-symmetric-algorithm] [keylen=size-in-bits] \ [token=token] [sensitive=n] [extractable=y] [print=n]
Es una etiqueta especificada por el usuario para la clave. La clave se puede recuperar del almacén de claves por su etiqueta.
Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.
Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.
Es el nombre del token. De manera predeterminada, el token es Sun Software PKCS#11 softtoken.
Especifica la sensibilidad de la clave. Cuando el valor es y, la clave no se puede imprimir utilizando el argumento print=y. De manera predeterminada, el valor de sensitive es n.
Especifica que la clave se puede extraer del almacén de claves. Especifique n para evitar que se extraiga la clave.
Imprime la clave en la ventana de terminal. De manera predeterminada, el valor de print es n.
Debe completar el Paso 1 antes de utilizar este método.
% pktool keystore=nss genkey label=key-label \ [keytype=[keytype=generic|specific-symmetric-algorithm] [keylen=size-in-bits] [token=token] \ [dir=directory-path] [prefix=database-prefix]
El valor nss especifica la ubicación de almacenamiento de tipo NSS para la clave.
Es una etiqueta especificada por el usuario para la clave. La clave se puede recuperar del almacén de claves por su etiqueta.
Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.
Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.
Es el nombre del token. De manera predeterminada, el token es el token interno NSS.
Es la ruta de directorio a la base de datos NSS. De manera predeterminada, el valor de directorio es el directorio actual.
Es el prefijo de la base de datos NSS. El valor predeterminado es sin prefijo.
Imprime la clave en la ventana de terminal. De manera predeterminada, el valor de print es n.
Utilice uno de los siguientes comandos, según dónde haya guardado la clave.
% pktool list keystore=file objtype=key infile=key-fn Found n keys. Key #1 - keytype:location (keylen)
$ pktool list objtype=key Enter PIN for keystore: Found n keys. Key #1 - keytype:location (keylen)
Ejemplo 12-5 Creación de una clave simétrica con el comando pktool
En el siguiente ejemplo, un usuario crea un almacén de claves PKCS #11 por primera vez y, a continuación, genera una clave simétrica de gran tamaño para una aplicación. Por último, el usuario verifica que la clave se encuentre en el almacén de claves.
# pktool setpin Create new passphrase:easily-remembered-hard-to-detect-password Re-enter new passphrase:Retype password Passphrase changed. % pktool genkey label=specialappkey keytype=generic keylen=1024 Enter PIN for Sun Software PKCS#11 softtoken :Type password % pktool list objtype=key Enter PIN for Sun Software PKCS#11 softtoken :Type password Found 1 keys. Key #1 - symmetric: specialappkey (1024 bits)
Ejemplo 12-6 Creación de una clave DES con el comando pktool
En el siguiente ejemplo, se crea una clave secreta para el algoritmo DES. La clave se almacena en un archivo local para un posterior descifrado. El comando protege el archivo con 400 permisos. Cuando se crea la clave, la opción print=y muestra la clave generada en la ventana de terminal.
Los mecanismos DES utilizan una clave de 64 bits. El usuario que posee el archivo de claves recupera la clave mediante el comando od.
% pktool genkey keystore=file outkey=64bit.file1 keytype=des print=y Key Value ="a3237b2c0a8ff9b3" % od -x 64bit.file1 0000000 a323 7b2c 0a8f f9b3
Ejemplo 12-7 Creación de una clave simétrica para las asociaciones de seguridad IPsec
En el siguiente ejemplo, el administrador crea manualmente el material clave para las asociaciones de seguridad de IPsec y las almacena en archivos. A continuación, el administrador copia las claves al archivo /etc/inet/secret/ipseckeys y destruye los archivos originales.
En primer lugar, el administrador crea y muestra las claves que la política IPsec requiere:
# pktool genkey keystore=file outkey=ipencrin1 keytype=generic keylen=192 print=y Key Value ="294979e512cb8e79370dabecadc3fcbb849e78d2d6bd2049" # pktool genkey keystore=file outkey=ipencrout1 keytype=generic keylen=192 print=y Key Value ="9678f80e33406c86e3d1686e50406bd0434819c20d09d204" # pktool genkey keystore=file outkey=ipspi1 keytype=generic keylen=32 print=y Key Value ="acbeaa20" # pktool genkey keystore=file outkey=ipspi2 keytype=generic keylen=32 print=y Key Value ="19174215" # pktool genkey keystore=file outkey=ipsha21 keytype=generic keylen=256 print=y Key Value ="659c20f2d6c3f9570bcee93e96d95e2263aca4eeb3369f72c5c786af4177fe9e" # pktool genkey keystore=file outkey=ipsha22 keytype=generic keylen=256 print=y Key Value ="b041975a0e1fce0503665c3966684d731fa3dbb12fcf87b0a837b2da5d82c810"
A continuación, el administrador crea el siguiente archivo /etc/inet/secret/ipseckeys:
## SPI values require a leading 0x. ## Backslashes indicate command continuation. ## ## for outbound packets on this system add esp spi 0xacbeaa20 \ src 192.168.1.1 dst 192.168.2.1 \ encr_alg aes auth_alg sha256 \ encrkey 294979e512cb8e79370dabecadc3fcbb849e78d2d6bd2049 \ authkey 659c20f2d6c3f9570bcee93e96d95e2263aca4eeb3369f72c5c786af4177fe9e ## ## for inbound packets add esp spi 0x19174215 \ src 192.168.2.1 dst 192.168.1.1 \ encr_alg aes auth_alg sha256 \ encrkey 9678f80e33406c86e3d1686e50406bd0434819c20d09d204 \ authkey b041975a0e1fce0503665c3966684d731fa3dbb12fcf87b0a837b2da5d82c810
Después de verificar que la sintaxis del archivo ipseckeys sea válida, el administrador destruye los archivos de claves originales.
# ipseckey -c /etc/inet/secret/ipseckeys # rm ipencrin1 ipencrout1 ipspi1 ipspi2 ipsha21 ipsha22
El administrador copia el archivo ipseckeys al sistema de comunicación mediante el comando ssh u otro mecanismo seguro. En el sistema de comunicación, las protecciones se revierten. La primera entrada en el archivo ipseckeys protege los paquetes entrantes y la segunda entrada protege los paquetes salientes. No se generan claves en el sistema de comunicación.
Cuando se calcula un resumen de un archivo, se puede comprobar que el archivo no haya sido alterado comparando los resultados del resumen. Un resumen no modifica el archivo original.
% digest -l md5 sha1 sha256 sha384 sha512
Proporcione un algoritmo con el comando digest.
% digest -v -a algorithm input-file > digest-listing
Muestra el resultado en el siguiente formato:
algorithm (input-file) = digest
Es el algoritmo que se utilizará para calcular un resumen del archivo. Escriba el algoritmo tal como aparece en el resultado del Paso 1.
Es el archivo de entrada para el comando digest.
Es el archivo de salida para el comando digest.
Ejemplo 12-8 Cálculo de un resumen con el mecanismo MD5
En el ejemplo siguiente, el comando digest usa el mecanismo MD5 para calcular un resumen de un anexo de correo electrónico.
% digest -v -a md5 email.attach >> $HOME/digest.emails.05.07 % cat ~/digest.emails.05.07 md5 (email.attach) = 85c0a53d1a5cc71ea34d9ee7b1b28b01
Cuando no se utiliza la opción -v, el resumen se guarda sin información adicional:
% digest -a md5 email.attach >> $HOME/digest.emails.05.07 % cat ~/digest.emails.05.07 85c0a53d1a5cc71ea34d9ee7b1b28b01
Ejemplo 12-9 Cálculo de un resumen con el mecanismo SHA1
En el ejemplo siguiente, el comando digest usa el mecanismo SHA1 para proporcionar una lista de directorios. Los resultados se colocarán en un archivo.
% digest -v -a sha1 docs/* > $HOME/digest.docs.legal.05.07 % more ~/digest.docs.legal.05.07 sha1 (docs/legal1) = 1df50e8ad219e34f0b911e097b7b588e31f9b435 sha1 (docs/legal2) = 68efa5a636291bde8f33e046eb33508c94842c38 sha1 (docs/legal3) = 085d991238d61bd0cfa2946c183be8e32cccf6c9 sha1 (docs/legal4) = f3085eae7e2c8d008816564fdf28027d10e1d983
Un código de autenticación de mensajes, o MAC, calcula un resumen del archivo y utiliza una clave secreta para proteger aún más el resumen. Un MAC no modifica el archivo original.
% mac -l Algorithm Keysize: Min Max ----------------------------------- des_mac 64 64 sha1_hmac 8 512 md5_hmac 8 512 sha256_hmac 8 512 sha384_hmac 8 1024 sha512_hmac 8 1024
Dispone de dos opciones. Puede proporcionar una frase de contraseña a partir de la cual se generará una clave. O bien, puede proporcionar una clave.
Si proporciona una frase contraseña, deberá almacenarla o recordarla. Si almacena la frase de contraseña en línea, sólo usted debe poder leer el archivo de frases de contraseña.
Si proporciona una clave, ésta debe ser del tamaño correcto para el mecanismo. Para conocer el procedimiento, consulte Cómo generar una clave simétrica con el comando dd. También puede utilizar el comando pktool. Para conocer el procedimiento y algunos ejemplos, consulte Cómo generar una clave simétrica con el comando pktool.
Proporcione una clave y utilice un algoritmo de clave simétrico con el comando mac.
% mac [-v] -a algorithm [-k keyfile | -K key-label [-T token]] input-file
Muestra el resultado en el siguiente formato:
algorithm (input-file) = mac
Es el algoritmo que se utiliza para calcular el MAC. Escriba el algoritmo tal como aparece en el resultado del comando mac -l.
Es el archivo que contiene una clave con la longitud especificada por el algoritmo.
Es la etiqueta de la clave en el almacén de claves PKCS #11.
Es el nombre del token. De manera predeterminada, el token es Sun Software PKCS#11 softtoken. Sólo se utiliza cuando la opción -K etiqueta_clave se utiliza.
Es el archivo de entrada para el MAC.
Ejemplo 12-10 Cálculo de un MAC con DES_MAC y una frase de contraseña
En el ejemplo siguiente, el anexo de correo electrónico se autentica con el mecanismo DES_MAC y una clave que se obtiene a partir de una frase de contraseña. La lista de MAC se guarda en un archivo. Si la frase de contraseña se almacena en un archivo, el usuario debe ser la única persona que pueda leer el archivo.
% mac -v -a des_mac email.attach Enter passphrase: <Type passphrase> des_mac (email.attach) = dd27870a % echo "des_mac (email.attach) = dd27870a" >> ~/desmac.daily.05.07
Ejemplo 12-11 Cálculo de un MAC con MD5_HMAC y un archivo de claves
En el ejemplo siguiente, el anexo de correo electrónico se autentica con el mecanismo MD5_HMAC y una clave secreta. La lista de MAC se guarda en un archivo.
% mac -v -a md5_hmac -k $HOME/keyf/05.07.mack64 email.attach md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c % echo "md5_hmac (email.attach) = 02df6eb6c123ff25d78877eb1d55710c" \ >> ~/mac.daily.05.07
Ejemplo 12-12 Cálculo de un MAC con SHA1_HMAC y un archivo de claves
En el ejemplo siguiente, el manifiesto de directorio se autentica con el mecanismo SHA1_HMAC y una clave secreta. Los resultados se colocarán en un archivo.
% mac -v -a sha1_hmac \ -k $HOME/keyf/05.07.mack64 docs/* > $HOME/mac.docs.legal.05.07 % more ~/mac.docs.legal.05.07 sha1_hmac (docs/legal1) = 9b31536d3b3c0c6b25d653418db8e765e17fe07a sha1_hmac (docs/legal2) = 865af61a3002f8a457462a428cdb1a88c1b51ff5 sha1_hmac (docs/legal3) = 076c944cb2528536c9aebd3b9fbe367e07b61dc7 sha1_hmac (docs/legal4) = 7aede27602ef6e4454748cbd3821e0152e45beb4
Ejemplo 12-13 Cálculo de un MAC con SHA1_HMAC y una etiqueta de clave
En el ejemplo siguiente, el manifiesto de directorio se autentica con el mecanismo SHA1_HMAC y una clave secreta. Los resultados se ubican en el almacén de claves PKCS #11 del usuario. El usuario creó inicialmente el almacén de claves y la contraseña para el almacén de claves mediante el comando pktool setpin.
% mac -a sha1_hmac -K legaldocs0507 docs/* Enter pin for Sun Software PKCS#11 softtoken:Type password
Para recuperar el MAC desde el almacén de claves, el usuario utiliza la opción detallada y proporciona la etiqueta de clave y el nombre del directorio que se ha autenticado.
% mac -v -a sha1_hmac -K legaldocs0507 docs/* Enter pin for Sun Software PKCS#11 softtoken:Type password sha1_hmac (docs/legal1) = 9b31536d3b3c0c6b25d653418db8e765e17fe07a sha1_hmac (docs/legal2) = 865af61a3002f8a457462a428cdb1a88c1b51ff5 sha1_hmac (docs/legal3) = 076c944cb2528536c9aebd3b9fbe367e07b61dc7 sha1_hmac (docs/legal4) = 7aede27602ef6e4454748cbd3821e0152e45beb4
Al cifrar un archivo, el archivo original no se elimina ni modifica. Se cifra el archivo de salida.
Para ver las soluciones a los errores comunes del comando encrypt, consulte sección que aparece a continuación de los ejemplos.
Existen dos opciones. Puede proporcionar una frase de contraseña a partir de la cual se generará una clave. O bien, puede proporcionar una clave.
Si proporciona una frase contraseña, deberá almacenarla o recordarla. Si almacena la frase de contraseña en línea, sólo usted debe poder leer el archivo de frases de contraseña.
Si proporciona una clave, ésta debe ser del tamaño correcto para el mecanismo. Para conocer el procedimiento, consulte Cómo generar una clave simétrica con el comando dd. También puede utilizar el comando pktool. Para conocer el procedimiento y algunos ejemplos, consulte Cómo generar una clave simétrica con el comando pktool.
Proporcione una clave y utilice un algoritmo de clave simétrico con el comando encrypt.
% encrypt -a algorithm [-v] \ [-k keyfile | -K key-label [-T token]] [-i input-file] [-o output-file]
Es el algoritmo que se utiliza para cifrar el archivo. Escriba el algoritmo tal como aparece en el resultado del comando encrypt -l.
Es el archivo que contiene una clave con la longitud especificada por el algoritmo. La longitud de la clave para cada algoritmo se muestra, en bits, en el resultado del comando encrypt -l.
Es la etiqueta de una clave en el almacén de claves PKCS #11.
Es el nombre del token. De manera predeterminada, el token es Sun Software PKCS#11 softtoken. Sólo se utiliza cuando la opción -K etiqueta_clave se utiliza.
Es el archivo de entrada que desea cifrar. Este archivo no es modificado por el comando.
Es el archivo de salida, que es el formato cifrado del archivo de entrada.
Ejemplo 12-14 Creación de una clave AES para cifrar los archivos
En el siguiente ejemplo, un usuario crea y almacena una clave AES en un almacén de claves PKCS #11 existente para utilizar en el cifrado y descifrado. El usuario puede comprobar que la clave existe y puede usar la clave, pero no puede verla.
% pktool genkey label=MyAESkeynumber1 keytype=aes keylen=256 Enter PIN for Sun Software PKCS#11 softtoken :Type password % pktool list objtype=key Enter PIN for Sun Software PKCS#11 softtoken :<Type password> Found 1 key Key #1 - Sun Software PKCS#11 softtoken: MyAESkeynumber1 (256)
Para utilizar la clave para cifrar un archivo, el usuario recupera la clave por su etiqueta.
% encrypt -a aes -K MyAESkeynumber1 -i encryptthisfile -o encryptedthisfile
Para descifrar el archivo encryptedthisfile, el usuario recupera la clave por su etiqueta.
% decrypt -a aes -K MyAESkeynumber1 -i encryptedthisfile -o sameasencryptthisfile
Ejemplo 12-15 Cifrado y descifrado con AES y una frase de contraseña
En el ejemplo siguiente, se cifra un archivo con el algoritmo AES. La clave se genera a partir de una frase de contraseña. Si la frase de contraseña se almacena en un archivo, el usuario debe ser la única persona que pueda leer el archivo.
% encrypt -a aes -i ticket.to.ride -o ~/enc/e.ticket.to.ride Enter passphrase: <Type passphrase> Re-enter passphrase: Type passphrase again
El archivo de entrada, ticket.to.ride, todavía existe en su formato original.
Para descifrar el archivo de salida, el usuario utiliza la misma frase de contraseña y el mismo mecanismo de cifrado que utilizó para cifrar el archivo.
% decrypt -a aes -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride Enter passphrase: <Type passphrase>
Ejemplo 12-16 Cifrado y descifrado con AES y un archivo de claves
En el ejemplo siguiente, se cifra un archivo con el algoritmo AES. Los mecanismos AES utilizan una clave de 128 bits o 16 bytes.
% encrypt -a aes -k ~/keyf/05.07.aes16 \ -i ticket.to.ride -o ~/enc/e.ticket.to.ride
El archivo de entrada, ticket.to.ride, todavía existe en su formato original.
Para descifrar el archivo de salida, el usuario utiliza la misma clave y el mismo mecanismo de cifrado que utilizó para cifrar el archivo.
% decrypt -a aes -k ~/keyf/05.07.aes16 \ -i ~/enc/e.ticket.to.ride -o ~/d.ticket.to.ride
Ejemplo 12-17 Cifrado y descifrado con ARCFOUR y un archivo de claves
En el ejemplo siguiente, se cifra un archivo con el algoritmo ARCFOUR. El algoritmo ARCFOUR acepta una clave de 8 bits (1 byte), 64 bits (8 bytes) o 128 bits (16 bytes).
% encrypt -a arcfour -i personal.txt \ -k ~/keyf/05.07.rc4.8 -o ~/enc/e.personal.txt
Para descifrar el archivo de salida, el usuario utiliza la misma clave y el mismo mecanismo de cifrado que utilizó para cifrar el archivo.
% decrypt -a arcfour -i ~/enc/e.personal.txt \ -k ~/keyf/05.07.rc4.8 -o ~/personal.txt
Ejemplo 12-18 Cifrado y descifrado con 3DES y un archivo de claves
En el ejemplo siguiente, se cifra un archivo con el algoritmo 3DES. El algoritmo 3DES requiere una clave de 192 bits o 24 bytes.
% encrypt -a 3des -k ~/keyf/05.07.des24 \ -i ~/personal2.txt -o ~/enc/e.personal2.txt
Para descifrar el archivo de salida, el usuario utiliza la misma clave y el mismo mecanismo de cifrado que utilizó para cifrar el archivo.
% decrypt -a 3des -k ~/keyf/05.07.des24 \ -i ~/enc/e.personal2.txt -o ~/personal2.txt
Errores más frecuentes
Los siguientes mensajes indican que la clave proporcionada al comando encrypt no está permitida por el algoritmo que está utilizando.
encrypt: unable to create key for crypto operation: CKR_ATTRIBUTE_VALUE_INVALID
encrypt: failed to initialize crypto operation: CKR_KEY_SIZE_RANGE
Si utiliza una clave que no cumple con los requisitos del algoritmo, debe proporcionar una clave mejor.
Una opción es utilizar una frase de contraseña. La estructura proporciona una clave que cumple con los requisitos.
La segunda opción es utilizar un tamaño de clave que sea aceptado por el algoritmo. Por ejemplo, el algoritmo DES requiere una clave de 64 bits. El algoritmo 3DES requiere una clave de 192 bits.