JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: servicios de seguridad     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

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.  Verificación de la integridad de archivos mediante el uso de BART (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)

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 pktool

Cómo calcular un resumen de un archivo

Cómo calcular un MAC de un archivo

Cómo cifrar y descifrar 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 utilizar la estructura criptográfica en modo FIPS-140

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 desactivar 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.  Uso de módulos de autenticación conectables

15.  Uso de Secure Shell

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

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

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Protección de los archivos con la estructura criptográfica (tareas)

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.

Protección de archivos con la estructura criptográfica (mapa de tareas)

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.

Tarea
Descripción
Para obtener instrucciones
Generar una clave simétrica.
Genera una clave de la longitud especificada por el usuario. También puede almacenar la clave en un archivo, en un almacén de claves PKCS #11 o en un almacén de claves NSS.
Proporcionar una suma de comprobación que garantice la integridad de un archivo.
Verifica que la copia de un archivo del receptor sea idéntica al archivo que se envió.
Proteger un archivo con un código de autenticación de mensajes (MAC).
Le comprueba al receptor del mensaje que usted era el remitente.
Cifrar un archivo y, a continuación, descifrar el archivo cifrado.
Protege el contenido de los archivos al cifrar el archivo. Proporciona los parámetros de cifrado para descifrar el archivo.

Cómo generar una clave simétrica con el comando pktool

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.

  1. (Opcional) Si tiene previsto utilizar un almacén de claves, créelo.
  2. Genere un número aleatorio para usarlo como clave simétrica.

    Utilice uno de los métodos siguientes.

    • Genere una clave y almacénela en un archivo.

      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. La instrucción de uso muestra los argumentos.

      % pktool genkey keystore=file
      ...genkey keystore=file
                outkey=key-fn
                [ keytype=aes|arcfour|des|3des|generic ]
                [ keylen=key-size (AES, ARCFOUR or GENERIC only)]
                [ print=y|n ]
      outkey=key-fn

      El nombre de archivo donde se almacena la clave.

      keytype=specific-symmetric-algorithm

      Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.

      keylen=size-in-bits

      Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.

      print=n

      Imprime la clave en la ventana de terminal. De manera predeterminada, el valor de print es n.

    • Genere una clave y almacénela en un almacén de claves PKCS #11.

      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. La instrucción de uso muestra los argumentos. Los corchetes alrededor del argumento del almacén de claves indican que cuando el argumento de almacén de claves no estás especificado, la clave se almacena en el almacén de claves PKCS #11.

      $ pktool genkey
      ...genkey [ keystore=pkcs11 ]
                label=key-label
                [ keytype=aes|arcfour|des|3des|generic ]
                [ keylen=key-size (AES, ARCFOUR or GENERIC only)]
                [ token=token[:manuf[:serial]]]
                [ sensitive=y|n ]
                [ extractable=y|n ]
                [ print=y|n ]
      label=key-label

      Es una etiqueta especificada por el usuario para la clave. La clave se puede recuperar del almacén de claves por su etiqueta.

      keytype=specific-symmetric-algorithm

      Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.

      keylen=size-in-bits

      Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.

      token=token

      Es el nombre del token. De manera predeterminada, el token es Sun Software PKCS#11 softtoken.

      sensitive=n

      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.

      extractable=y

      Especifica que la clave se puede extraer del almacén de claves. Especifique n para evitar que se extraiga la clave.

      print=n

      Imprime la clave en la ventana de terminal. De manera predeterminada, el valor de print es n.

    • Genere una clave y almacénela en un almacén de claves NSS.

      Debe completar el Paso 1 antes de utilizar este método. La instrucción de uso muestra los argumentos.

      $ pktool genkey keystore=nss
      ...genkey keystore=nss
                      label=key-label
                      [ keytype=aes|arcfour|des|3des|generic ]
                      [ keylen=key-size (AES, ARCFOUR or GENERIC only)]
                      [ token=token[:manuf[:serial]]]
                      [ dir=directory-path ]
                      [ prefix=DBprefix ]
      label=key-label

      Es una etiqueta especificada por el usuario para la clave. La clave se puede recuperar del almacén de claves por su etiqueta.

      keytype=specific-symmetric-algorithm

      Para una clave simétrica de cualquier longitud, el valor es generic. Para un algoritmo determinado, especifique aes, arcfour, des o 3des.

      keylen=size-in-bits

      Es la longitud de la clave en bits. El número debe ser divisible por 8. No especificar para des ni 3des.

      token=token

      Es el nombre del token. De manera predeterminada, el token es el token interno NSS.

      dir=directory

      Es la ruta de directorio a la base de datos NSS. De manera predeterminada, el valor de directorio es el directorio actual.

      prefix=directory

      Es el prefijo de la base de datos NSS. El valor predeterminado es sin prefijo.

  3. (Opcional) Compruebe que la clave exista.

    Utilice uno de los siguientes comandos, según dónde haya guardado la clave.

    • Verifique la clave en el archivo key-fn.
      % pktool list keystore=file objtype=key [infile=key-fn]
      Found n keys.
      Key #1 - keytype:location (keylen)
    • Verifique la clave en el almacén de claves PKCS #11 o NSS.
      $ pktool list objtype=key
      Enter PIN for keystore:
      Found n keys.
      Key #1 - keytype:location (keylen)

Ejemplo 12-1 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:Type 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-2 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-3 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.

Cómo calcular un resumen de un archivo

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.

  1. Muestre los algoritmos de resumen disponibles.
    % digest -l
    md5
    sha1
    sha224
    sha256
    sha384
    sha512
  2. Calcule el resumen del archivo y guarde la lista de resumen.

    Proporcione un algoritmo con el comando digest.

    % digest -v -a algorithm input-file > digest-listing
    -v

    Muestra el resultado en el siguiente formato:

    algorithm (input-file) = digest
    -a algorithm

    Es el algoritmo que se utilizará para calcular un resumen del archivo. Escriba el algoritmo tal como aparece en el resultado del Paso 1.

    input-file

    Es el archivo de entrada para el comando digest.

    digest-listing

    Es el archivo de salida para el comando digest.

Ejemplo 12-4 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-5 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

Cómo calcular un MAC de un archivo

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.

  1. Muestre los mecanismos disponibles.
    % mac -l
    Algorithm       Keysize:  Min   Max
    -----------------------------------
    des_mac                    64    64
    sha1_hmac                   8   512
    md5_hmac                    8   512
    sha224_hmac                 8   512
    sha256_hmac                 8   512
    sha384_hmac                 8  1024
    sha512_hmac                 8  1024
  2. Genere una clave simétrica de la longitud adecuada.

    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. Puede utilizar el comando pktool. Para conocer el procedimiento y algunos ejemplos, consulte Cómo generar una clave simétrica con el comando pktool.

  3. Cree un MAC para un archivo.

    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
    -v

    Muestra el resultado en el siguiente formato:

    algorithm (input-file) = mac
    -a algorithm

    Es el algoritmo que se utiliza para calcular el MAC. Escriba el algoritmo tal como aparece en el resultado del comando mac -l.

    -k keyfile

    Es el archivo que contiene una clave con la longitud especificada por el algoritmo.

    -K key-label

    Es la etiqueta de la clave en el almacén de claves PKCS #11.

    -T token

    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 key-label se utiliza.

    input-file

    Es el archivo de entrada para el MAC.

Ejemplo 12-6 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-7 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-8 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-9 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

Cómo cifrar y descifrar un archivo

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.

  1. Cree una clave simétrica de la longitud adecuada.

    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. Puede utilizar el comando pktool. Para conocer el procedimiento y algunos ejemplos, consulte Cómo generar una clave simétrica con el comando pktool.

  2. Cifre un archivo.

    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]
    -a algorithm

    Es el algoritmo que se utiliza para cifrar el archivo. Escriba el algoritmo tal como aparece en el resultado del comando encrypt -l.

    -k keyfile

    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.

    -K key-label

    Es la etiqueta de una clave en el almacén de claves PKCS #11.

    -T token

    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 key-label se utiliza.

    -i input-file

    Es el archivo de entrada que desea cifrar. Este archivo no es modificado por el comando.

    -o output-file

    Es el archivo de salida, que es el formato cifrado del archivo de entrada.

Ejemplo 12-10 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-11 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-12 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-13 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-14 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.

Si utiliza una clave que no cumple con los requisitos del algoritmo, debe proporcionar una clave mejor.