Cifrado de contraseñas (y la manipulación de los datos sensibles)
Hoy nos hacemos eco de un articulo (en ingles) publicado en el Blog de la Comunidad de Microsoft Dynamics que nos ha parecido interesante por la preocupación creciente que existe en las empresas por la seguridad de los datos. Veremos como proteger los datos como contraseñas, números de la seguridad social, números de tarjetas de crédito, etc mediante el cifrado y gestionando estos datos desde una sola tabla con acceso restringido.
Planteamiento del problema
Cuando los datos sensibles se almacenan dentro de la base de datos NAV, si se manejan con negligencia, puede hacerlos vulnerables. En particular, la ubicación, el acceso y el estado de los datos son críticos.
Imagine que en lugar de almacenar tarjetas de crédito en la cartera, se dispersan alrededor en su entorno: encima de la mesa, en el bolsillo, algunas incluso a plena vista.¿Qué fácil sería perderlas accidentalmente o que alguien hiciera mal uso de una tarjeta de crédito? La declaración es válida para los datos electrónicos sensibles, como contraseñas, identificaciones personales, números de tarjetas de crédito – que son más fáciles de manejar, si se almacena en un solo lugar.
Podríamos almacenar datos sensibles en un solo lugar, una especie de «billetera» electrónica, pero luego hay que controlar quién tiene acceso a ella. Si varias entidades pueden acceder ¿cuál es la garantía de que todas ellos se manejan correctamente?
Ahora almacenamos las contraseñas en un solo lugar, y que sólo se accede a ellos a través de una API de seguridad. Sin embargo, las contraseñas no están encriptadas, por lo que una brecha en la base de datos inmediatamente les expondrían a la parte exterior.
Solución
Proteger los datos como contraseñas, números de la seguridad social, números de tarjetas de crédito, etc mediante el cifrado y colocándolo en una sola tabla con acceso restringido.
Hay algunas ideas detrás de este patrón
- Encapsular los datos. No mezclar los datos confidenciales (contraseñas, números de pasaporte, números de tarjetas de crédito) con datos de la empresa del usuario. Almacenar datos sensibles en una ubicación central (a continuación, en el tercer bloque, central de datos cifrados tienda)
- Proporcionar un único punto de acceso. A pesar de que varias personas pueden beneficiarse / obtención de piezas de contenido de su cartera, sólo una única entidad (usted) debe acceder a él, y almacenar o distribuir su contenido, según sea necesario.
- Cifrar los datos. NAV ofrece y la estructura de cifrado fácil, para ser utilizados por el desarrollador C / AL sin tener que implementar explícitamente.
- Dejar que el cifrado turno de usuario de encendido / apagado de la instalación:
El escenario de usuario
Un ejemplo NAV para hacer frente a los datos sensibles es: permitir la integración de CRM. En este caso, el usuario tendrá que introducir información de configuración, que incluye una contraseña. En la página Configuración de la conexión de CRM, el usuario (vamos a llamarla Nancy) puede entrar en la URL, nombre de usuario y contraseña:
Después de introducir la contraseña, necesita ser almacenada en la base de datos NAV. Si el cifrado de datos no está habilitado, entonces Nancy ve el siguiente mensaje de confirmación:
Nancy ahora se da cuenta de que no esta habilitado el cifrado de datos y tiene la oportunidad de hacerlo. Si hace clic en «Sí», Nancy será llevada a la página de datos de gestión de cifrado:
Nancy ahora puede elegir la opción «Habilitar cifrado» y guardar la clave de cifrado en un lugar seguro. … Y para protegerlo con una contraseña segura (que requiere 8 caracteres con al menos un carbón mayúsculas, minúsculas y con un carácter un dígito):
… Antes de que finalmente sea almacenado el archivo en el disco:
Implementación Cifrado
A partir de Microsoft Dynamics NAV 2015, si se abre el menú C / AL símbolo en el editor, se puede encontrar las siguientes llamadas de cifrado del sistema [1] :
Esta API de cifrado se utiliza en el patrón actual, como se describe a continuación.
Pero no es necesario utilizar de manera directa, ya que ofrecemos una API para que, en DQO 1266 Gestión de cifrado. Estas funciones proporcionan funcionalidad adicional. Por ejemplo, en el cifrado, la función comprueba si el cifrado EnableEncryption ya está encendido, para evitar la doble encriptación. Se recomienda el uso de las funciones de COD1266 en lugar de las llamadas al sistema de nivel inferior.
Si bien existe un mecanismo de cifrado, el siguiente paso es animar al usuario a activar el cifrado.
Enchufe este código en el gatillo OnValidate del campo de datos. Por ejemplo, si el usuario está introduciendo una contraseña, a continuación, añadir una llamada a este procedimiento para contraseña – OnValidate trigger ():
- LOCAL PROCEDIMIENTO CheckEncryption @ 6 ();
- EMPEZAR
- SI NO ENTONCES ENCRYPTIONENABLED
- SI CONFIRM ( EncryptionIsNotActivatedQst ) ENTONCES
- PÁGINA . RUN ( PÁGINA :: «Gestión de Cifrado de datos» );
- FIN ;
«Texto enmascarado» -> al entrar en la información sensible (por ejemplo, una contraseña), a veces tiene sentido para no mostrar a los personajes reales en la interfaz de usuario, pero en vez de mostrar un punto para cada carácter. Para ello, en el NAV abrir la página de propiedades para el campo de que se trate, y establecer ExtendedDatatype = enmascarado .
El único punto de almacenamiento de datos
El «monedero electrónico» puede ser tan simple como la tabla de contraseñas.
El único punto de datos de acceso
Utilice las funciones ya presentes en la tabla de contraseñas de servicio, para acceder a la contraseña.
Visión de conjunto
Estos son los puntos de integración de este patrón
- cifrado
- texto enmascarado
- Un único punto de acceso
- encapsulación de datos
Uso en una configuración multi-empresa
Si se tienen varias empresas en el mismo servidor, recordar que el cifrado debe ser habilitado ni en todos, o deshabilitados en todos. En otras palabras, evitar la situación en la siguiente imagen, donde una empresa se cifra y otra no.
En la figura siguiente, el NAV Cliente 1 (que trabajan en la empresa 1) solicita el cifrado de la instalación de la mesa. Escribió el código C / AL para activar el cifrado para esta empresa. NAV N cliente no cifrar su tabla de configuración, pero cuando se trata de obtener datos de él, el NAV del servidor observa que el cifrado se activa, y trata de leer de la tabla de configuración N como si estuviera encriptado, lo que falla.
La solución es: cada vez que se desea activar el cifrado, recuerde que debe recorrer todas las empresas y cifrar todos. Para ello, como se ha mencionado antes, no escriba su propia solución para cifrar, pero utilizar y extender DQO 1266 Gestión de cifrado, funciones y EnableEncryption DisableEncryption. Estas funciones se aseguran de que la consistencia se mantiene sobre todas las empresas. Básicamente, para el cifrado, lo que sucede detrás de las cortinas es:
Company.FINDSET;
REPETIR
EncryptServicePasswordData (Company.Name);
HASTA Company.NEXT = 0
Los objetos de la aplicación que implementan la funcionalidad de acceso cifrado son:
- Codeunit Gestión 1266 Encryption
- La página de Gestión de Cifrado de Datos 9905
- Tabla 1.261 contraseña Servicio
Azure
Cuando la configuración incluye varios de NST en máquinas diferentes, por ejemplo en Azure, puede ser difícil de manejar todos los certificados en las máquinas, por lo que, por lo tanto Dynamics NAV también (opcionalmente) apoya el Azure Key Vault que es un servicio Azure que se puede administrar los certificados.
Se puede configurar a través de la consola de administración (este es el valor por defecto, no está configurado):
Usos NAV
ejemplos de cifrado se pueden encontrar en el NAV en los siguientes lugares:
- Página 1260 Banco de Datos Conv. Configuración de servicio
- La página de configuración de la conexión CRM 5330
- Disposición del vector de 1270 Servicio de OCR
- Tabla 1275 Doc. Exch. Configuración de servicio
Limitaciones conocidas
Hay un límite de cuánto tiempo puede ser el texto cifrado. Este límite se impone por el servicio de cifrado OS y depende de la composición del texto, así como de las características específicas del sistema. En NAV, que habíamos implementado el texto cifrado para valores de texto de un máximo de 250 caracteres, lo cual es suficiente para cubrir las contraseñas, números de ID de la persona, información de tarjeta de crédito, pero podría resultar insuficiente en otros escenarios futuros.
Temas relacionados – SSL
Ahora pequeños fragmentos de datos sensibles de los clientes están codificadas en la base de datos NAV. Pero ¿qué pasa con la protección de los datos, antes de que llegue a la base de datos? Cuando el cliente y el servidor se encuentran en diferentes máquinas, a considearar : Se está enviando información confidencial en texto claro, desde el cliente al servidor, a través del cable (o aire)? Para proteger sus datos antes de que llegue el servidor, recuerdar que debe configurar SSL (Secure Sockets Layer) ( detalles aquí ).
Referencias
¿Conectamos?
La tecnología bien aplicada suele facilitar las cosas. Si sospechas que también puede ser de ayuda para ti, concédenos la oportunidad de conocerte y demostrarte hasta qué punto es así.
Suscríbete a nuestra enews mensual, y no te pierdas los mejores contenidos sobre Microsoft Dymanics 365
Información respecto al tratamiento de los datos solicitados, de acuerdo con el RGPD 2016/679 y la LOPDGDD 3/2018: el responsable es Ibermática SA; la finalidad es la recogida y tratamiento de los datos personales que solicitamos para atender tu consulta, enviarte nuestras publicaciones, newsletters, promociones de productos y/o servicios, y recursos exclusivos; la legitimación se establece mediante el consentimiento expreso; no se cederán datos a terceros, salvo obligación legal; en cualquier momento puedes ejercer tus derechos de acceso, rectificación, supresión, portabilidad, limitación u oposición al tratamiento de tus datos, así como retirar el consentimiento prestado o formular reclamaciones ante la Autoridad de Control, enviando la solicitud por correo electrónico a: arco@ibermatica.com; puedes consultar la información adicional y detallada sobre Privacidad y Protección de Datos de Carácter Personal en la Política de Privacidad de Ibermática S.A.
¿Por qué Ayesa?
Somos uno de los principales implantadores de Microsoft, con casi 2000 clientes que han depositado su confianza en nosotros para la implantación de Dynamics 365, Business Central (NAV / Navision) y Dynamics 365 Finance & Operations (AX / Axapta). Además, destacamos en el despliegue de proyectos sobre AZURE y Microsoft 365. Nuestra experiencia en el campo de la inteligencia artificial y el uso de Copilot nos sitúa a la vanguardia de la innovación tecnológica.
Con una plantilla de más de 12.000 profesionales y una sólida presencia en 23 países, estamos comprometidos en ayudar a nuestros clientes a definir y aprovechar oportunidades en el nuevo contexto digital. Desde la tecnología hasta las personas, ofrecemos un enfoque integral que garantiza el éxito en cada proyecto.
- ÚLTIMAS ENTRADAS DEL BLOG -
- Revoluciona tus Estrategias de Marketing con Copilot para Dynamics 365: Inteligencia Artificial al Servicio de la Personalización
- [WEBINAR] Descubre las Novedades que Transformarán tu Estrategia de Relación con el Cliente con las Innovaciones de Dynamics 365 Wave 2 2024
- Optimiza tu Gestión de RRHH con Microsoft Dynamics 365 FO: Eficiencia, Integración y Análisis en una Sola Plataforma
- [VIDEO] IB Real Estate 365: Transforma la administración de activos, proyectos y relaciones con clientes en una única plataforma Microsoft avanzada
Business Development Manager | PSELLER Microsoft en Ayesa | Miembro Unidad Transición Energética, Climática y Urbana en Tecnalia | Secretaria de la Junta Directiva del Cluster de la Construcción (Build INN)