Mi se cere să ofer o soluție pentru clientul meu intern. Toată comunicarea în rețea este internă și nicio aplicație și nici serverele acestora nu sunt accesibile prin internet.
- Aplicația SOLICITANT va avea o listă de SSN-uri pentru peste 1000 de persoane pentru care au nevoie de informații (listă diferită de peste 1000 în fiecare zi).
- Aplicația REPORTER poate rula interogări SQL și poate oferi rezultate formatate.
- Aplicația DATAOWNER are informațiile necesare, stocate într-un RDBS, inclusiv o coloană SSN cu text simplu.
Solicitantul nu poate solicita direct informațiile de la DATAOWNER. Singura modalitate pe care o are SOLICITARUL de a solicita informații este prin intermediul unei adrese URL către REPORTER. Acolo intru eu.
Nu am capacitatea de a schimba capacitățile/configurarea aplicațiilor SOLICITĂTORULUI sau PROPRIETĂTORUL DE DATE, în afară de a oferi informații către SOLICITANT, despre cum să pregătesc și să formateze adresa URL.
Pot crea un raport și pot configura REPORTER să accepte o adresă URL similară
https://REPORTER/TheReport?argument1=123456789
Totuși, nu vreau SSN-ul de pe URL în text simplu, deoarece va fi autentificat în jurnalele web ale REPORTER și cine știe unde altundeva.
Ideea mea pentru o soluție este ca REQUESTOR să facă un hash SHA256 al unei concatenări a SSN-ului și o valoare secretă care se schimbă periodic și să folosească acel digest pe URL. Când REPORTER primește cererea, efectuează o interogare SQL împotriva DATAOWNER ca (pseudocod):
selectați [DesiredFields] din tabel
unde SHA256FUNCTION(CONCATENATE([SSNcolumn],<TheSecretValue>)) = $argument1
.
Cred că acest lucru nu adaugă niciun risc de expunere a SSN-urilor, deoarece toate procesările care utilizează valorile text clar au loc pe servere care au deja acces la acestea în text simplu. Aplicația REPORTER nu vede niciodată SSN-ul text simplu în mod direct, deși trebuie să transmită rezultatul interogării SQL, care poate include sau nu SSN-ul. Cu toate acestea, datorită designului software al REPORTER, nu sunt stocate rezultate ale interogării sau rezultate formatate.
Deși sunt familiarizat cu unele aspecte ale cripto, cu siguranță nu sunt un expert. Aș aprecia orice comentarii despre această abordare, fie bune, fie rele.
Mulțumesc