Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Utilizar cifrado en aplicaciones personalizadas

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Describir la clase Crypto de Apex
  • Explicar diferentes casos de uso para la clase Crypto de Apex y el cifrado personalizado
  • Implementar el cifrado en su propia aplicación

¿Qué es la clase Crypto de Apex?

Al momento de implementar el cifrado en la aplicación de Salesforce, Apex le ofrece la flexibilidad de redactar sus propias funciones criptográficas personalizadas y, al mismo tiempo, le proporciona la capacidad de utilizar una amplia gama de funciones previamente integradas. En esta unidad, aprenderá algunas funciones eficaces que Salesforce ofrece para crear resúmenes, códigos de autenticación de mensajes (message authentication codes, MAC), firmas y funciones de cifrado y descifrado mediante la clase Crypto de Apex.

La clase Crypto proporciona conjuntos de funciones que son particularmente valiosas para salvaguardar sus comunicaciones. Puede blindar de forma eficiente sus datos confidenciales ante interceptores, verificar que los datos de los mensajes están completos y sin modificar, así como verificar la autenticidad de los remitentes y receptores empleando estas funciones. Cada una de estas funciones admite un rango de algoritmos diferentes. Esto le permite tener un buen grado de control sobre la composición de su solución y, al mismo tiempo, reducir al mínimo la carga de trabajo adicional necesaria para proteger su aplicación.

Cifrado y descifrado para proteger la confidencialidad

Puede manejar el cifrado y el descifrado con facilidad y flexibilidad con las funciones Crypto.Encrypt() y Crypto.Decrypt() de Apex, que admiten los algoritmos AES128, AES192 y AES256. Las funciones de cifrado y descifrado son esenciales para garantizar la confidencialidad de los datos de su aplicación. Luego, tiene la opción de generar su propia clave de cifrado o de utilizar el método Crypto.generateAESKey(Integer keylength). Puede utilizar las técnicas que aprendió en la unidad anterior para almacenar secretos en tipos de metadatos personalizados protegidos o configuraciones personalizadas protegidas para asegurar las claves de cifrado.

Resúmenes de hash para proteger la integridad

Otra función útil para verificar la integridad de los datos es la función Crypto.generateDigest() de Apex. Este método genera un resumen de hash unidireccional y admite algoritmos como MD5, SHA1, SHA256 y SHA512. Estos resúmenes de hash pueden servir como un propósito valioso para identificar datos dañados de forma accidental (u otras modificaciones no deseadas). Al realizar comprobaciones de comparación en los resúmenes de hash, puede detectar rápidamente si hay cambios en los datos. Como el resumen recomputado de los datos no coincidirá con el resumen original, puede confirmar que los datos se modificaron. Esto puede alertarle sobre incidentes como datos dañados, cambios accidentales o alteraciones malintencionadas.

Tenga en cuenta que los algoritmos de hash tienen varios grados de solidez en lo referente a la seguridad. Si bien la clase Crypto admite MD5, se considera un algoritmo de hash débil, por ello Salesforce sugiere utilizar SHA2 o versiones posteriores para procesar los resúmenes de hash.

Códigos de autenticación de mensajes basados en hash (MAC) para probar la autenticidad y la integridad

Otra función útil es el método Crypto.generateMac() de Apex, que puede utilizarse para crear MAC. Los MAC pueden utilizarse junto con funciones de resumen de mensajes para establecer MAC con hash (HMAC). Los HMAC se utilizan en los protocolos TLS e IPSec para autenticar remitentes de mensajes y garantizar que los mensajes no se modifican (o son interceptables) en el tránsito.

El método Crypto.generateMac() admite los algoritmos HMACMD5, HMACSHA1, HMACSHA256 y HMAC512. Las funciones HMAC involucran el uso de resúmenes de mensajes y una clave compartida que el remitente utiliza para generar un MAC y que el receptor emplea para verificarlo. Como el receptor tiene que verificar el MAC mediante la clave privada compartida, esto indica la autenticidad del remitente del mensaje. Los resúmenes de mensajes pueden compararse luego para permitir al receptor confirmar que el mensaje no se modificó durante el tránsito, es decir, a través de un ataque de un intermediario.

Creación de una firma digital

Las firmas digitales aseguran la integridad y la autenticidad de los mensajes mediante una criptografía asimétrica con el fin de eliminar la necesidad de compartir claves privadas. Para generar una firma digital, puede emplear la función Crypto.sign(), que utiliza la clave privada y el algoritmo especificados para crear una firma de los datos de entrada. Con esta configuración, el receptor de un mensaje puede utilizar la clave pública de coincidencia para comprobar la integridad de los datos firmados.

Ahora que sabe cómo implementar algunos métodos de cifrado en su aplicación de Salesforce, puede utilizar la flexibilidad de Apex con el fin de aprovechar las funciones previamente integradas para ayudar a mantener sus datos privados.

El cifrado y las funciones de la plataforma como las que ofrece la clase Crypto de Apex permiten garantizar la seguridad de las aplicaciones que desarrolla para Salesforce Platform.

¡ADVERTENCIA!

La criptografía, incluida la gestión de claves, es una actividad de desarrollo de alto riesgo. Cuando implemente alguna funcionalidad criptográfica, asegúrese de que un profesional en seguridad de aplicaciones con experiencia criptográfica revise todo el trabajo en detalle. Las vulnerabilidades en el proceso de cifrado de datos pueden generar vulneraciones graves en la privacidad y la confidencialidad.

Recursos

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios