Algunas ideas para el almacenamiento cifrado de tarjetas de identificación y números de teléfonos móviles

En los últimos dos años, el almacenamiento, transmisión e intercambio de información personal sensible se ha vuelto cada vez más importante en el país. Al adquirir información personal sensible, como números de teléfono móvil y tarjetas de identificación, se requiere la autorización activa del sujeto.

0x01: ¿Cuáles son las formas de filtrar y
almacenar información confidencial en texto sin formato, como almacenar números de teléfono móvil y tarjetas de identificación directamente en la base de datos? Si el usuario de datos y la contraseña no deben ser vistos por un número de ejecutivos, es fácil causar una fuga
transmitida en claro, por ejemplo, no hay encriptación RSA o AES de información sensible, se transmite en la red,
las subsidiarias del Grupo o sistemas de terceros Cuando el sistema está conectado, se intercambian datos confidenciales. Es enviar alguna información sensible de nuestro sistema a una empresa de terceros sin autorización.
0x02: La mejor manera de solucionar la fuga de información sensible. Almacenamiento de
texto claro
. Después de encriptar la información sensible de los datos, almacenarla. Existe tal escenario: además de otros campos, hay dos campos de almacenamiento de información confidencial en una tabla de usuario, mobile_no y identity_card. Si el texto sin formato de mobile_no y identity_card se almacena directamente, es fácil de filtrar.

Estos dos campos se pueden cifrar simétricamente o asimétricamente para el almacenamiento, y se pueden definir dos campos cifrados mobile_no_encrypted y identity_card_encrypted, respectivamente. Sin embargo, el almacenamiento cifrado en la base de datos conducirá inevitablemente a los dos problemas siguientes:

Cómo realizar una búsqueda de coincidencias precisa

Cómo realizar la búsqueda de coincidencias aproximadas
¿ Cómo realizar la búsqueda de coincidencias precisas?
Para resolver este problema, se agrega un campo más, el campo mobile_no_sha se agrega al número de teléfono móvil, y el campo identity_card_sha se agrega a la tarjeta de identificación. Estos dos campos almacenan respectivamente el código hash SHA-1 del número de teléfono móvil y la tarjeta de identificación (también se puede utilizar el algoritmo md5). En este caso, si la consulta es precisa, el código hash SHA-1 se puede comparar directamente.

select * from t_user donde mobile_no_sha = sha-1 (mobile_no) ¿Cómo realizar la búsqueda de coincidencias aproximadas?

¡La consulta difusa correspondiente es un poco problemática! ! !

Por lo general, la base de datos viene con funciones de cifrado y descifrado, como MySQL PASSWORD, MD5, AES_ENCRYPT, etc. El cifrado unidireccional se puede utilizar para información como contraseñas, y el mismo método se puede utilizar para cifrar y hacer coincidir al verificar. Para consultas difusas que necesitan comparar el contenido original, debe usar un cifrado bidireccional, es decir, se puede descifrar y MySQL puede utilizar su propio cifrado AES. Después de completar el cifrado del almacenamiento y la lectura y descifrado, se puede realizar una búsqueda difusa:

select * 
from t_user 
where AES_DECRYPT(UNHEX(mobile_no_sha ),'key') 
like 'xxx%';
复制代码

Use la función para restaurar el contenido original y luego use la concordancia de palabras clave similares para lograr una búsqueda difusa.

MySQL usa AES_ENCRYPT () / AES_DECRYPT () para cifrar y descifrar la postura correcta

http://blog.itpub.net/29773961/viewspace-2142305/
复制代码

Transmisión de texto
sin formato Para la transmisión de texto sin formato, primero se abandona el protocolo de transmisión http y se adopta el protocolo de transmisión https. Si desea fortalecer el nivel de seguridad, usted mismo está definiendo un método de cifrado para realizar un cifrado adicional en la información confidencial. Por ejemplo, utilice cifrado simétrico AES o cifrado asimétrico RSA para cifrado personalizado.

Cuando una subsidiaria del grupo o un sistema de terceros está conectado al sistema,
es más problemático intercambiar datos confidenciales. Esta situación es más problemática y se divide en el intercambio de datos entre la subsidiaria del grupo y la empresa de terceros.

Intercambio de datos
entre filiales dentro del grupo. Las empresas del grupo son una comunidad de intereses. Por ejemplo, existe tal escenario. El Grupo A tiene una compañía de seguros y un sistema de centro comercial To C. ¿Es esto posible? Las compañías de seguros deben recopilar mucha información personal y luego analizar la situación de estas personas con big data para ver qué persona tiene más dinero y luego darle un impulso razonable para obtener un seguro. Simplemente sucede que el centro comercial está haciendo un buen trabajo, y mucha gente se registra a través del centro comercial. Consigue muchos números de teléfono personales y cosas por el estilo.

Intercambio de datos entre empresas de terceros
Para el intercambio de datos entre sistemas de empresas de terceros. También puede transmitir información confidencial cuando se llama a la interfaz. Recuerdo que en los últimos dos años sucedió algo así entre SF Logistics y Cainiao Logistics, es decir, Cainiao Logistics requirió que SF Logistics cargara toda la información logística, y luego SF rompió directamente la interacción entre estos dos sistemas.

En ambos casos, creo que es necesario proporcionar el acuerdo de usuario relevante en un lugar obvio, y los datos solo se pueden intercambiar cuando el sujeto está de acuerdo con la autorización. Pero en estos dos casos, casi ninguna empresa ha seguido este canal para intercambiar datos en secreto.

Referencia: "¡Los últimos conceptos básicos de Java de 2020 y tutoriales en video detallados y rutas de aprendizaje!

Enlace: https://segmentfault.com/a/1190000038989434

Supongo que te gusta

Origin blog.csdn.net/weixin_46699878/article/details/112651925
Recomendado
Clasificación