Tengo dos ubicaciones dentro de la misma empresa que tienen números de tarjetas de crédito. Quiero poder "unirme" en el número de tarjeta de crédito para hacer análisis de negocios después de transmitir datos vinculados a números de tarjeta de una ubicación a otra.
El número de la tarjeta de crédito en sí no es realmente necesario para vincular los conjuntos de datos. Un token, con cero o colisiones muy raras, sería lo suficientemente bueno.
El problema se convierte entonces en cómo generar tokens en las dos ubicaciones, de modo que la misma tarjeta de crédito se asigne al mismo token, y hacerlo de forma segura.
De manera ingenua, uno podría usar un hash criptográfico, pero como el espacio que se está mapeando es muy pequeño (facialmente 10 ^ 16, pero en realidad es menos que eso), no es una buena solución, especialmente si los hashes no lo son. salado. (Y no está claro cómo funcionaría la salada y aún así permitir que los registros se vinculen de todos modos).
También se podría proponer el uso de un cifrado simétrico fuerte de los CCN, compartiendo la clave secreta con mucho cuidado, pero no estoy lo suficientemente versado en criptografía para saber si el hecho de que el conjunto de Plaintexts sea tan limitado abre el esquema para atacar.
(NB: Sé que uno no debería "rodar tu propio cripto". No estoy directamente en este proyecto, pero tengo curiosidad acerca de las soluciones que escucho que se están discutiendo.)