Avatar billede __Allan__ Seniormester
04. januar 2020 - 17:37 Der er 4 kommentarer

Hjælp søges til at få C# desktop app koblet til SQL med GDPR compliance

Jeg har lavet et program i C#, som pt skriver til en lokal db.
Af dén grund er programmet ikke særligt fleksibel, og kun til single-user brug.
Endvidere er det lidt bøvlet at skulle fysisk ud til hver maskine jeg vil installere programmet på, ditto mht. opdateringer, da jeg helst ikke bare vil udlevere installationsfilen, af frygt for den bare bliver kopieret uden jeg har styring på det og uden jeg med tiden får min betaling.

Det skal for en god ordens skyld siges at jeg kun inden for de seneste par år har lært at programmere, og på ingen måde har styr på sikkerheden, når data skal flyttes via nettet.

Programmet er forberedt til at kunne skrive til fx. en SQL-db, men der er flere ting der holder mig tilbage:
1. Frygt for håndteringen af personfølsomme oplysninger, ikke er sikker nok i dét jeg har kodet/vil kunne kode.
2. Manglende kendskab til kryptering af database og hashing af passwords osv.
3. Manglende viden om, hvilken måde jeg bedst mulig håndterer distribution/opdateringer, evt. via en hjemmeside.

Jeg er blevet rådet til følgende:
A. At have 1 database for samtlige installationer, hvilket jeg er enig i, da man så åbner muligheden for at dele data mellem flere brugere.
B. Databasen skal være krypteret.
C. Opgaverne omkring distribution/opdateringer bør løses via en API i skyen.

Jeg har forsøgt at læse mig lidt ind til de forskellige emner, forstår sammenhængene, men er på ingen måder der hvor jeg føler mig sikker på fremgangsmåden, ligesom jeg måske tænker det måske spænder lidt bredere end forventet, udfra jeg blot startede med at lave en simpel applikation.
Dem der skal bruge det er så småt begyndt at rykke for mere funktionalitet, og da det hele er et hobby-projekt, ser jeg det måske lidt som en lidt for stor opgave at skulle til at lære alt dette, så jeg er sikker på hvad jeg frigiver.
Jeg har en fuldtidsstilling ved siden af...

Nogen der har en idé til hvad jeg bør gøre?
Er der evt. firmaer, der kan læse "korrektur" på min kode, og hjælpe mig videre med ovenstående problemstilling?
Og i så fald, hvad tror i det vil koste ?

Andre der har stået i lignende situation, som evt. kan bidrage med nogle gode råd ?
Avatar billede CRKrogh Ekspert
04. januar 2020 - 20:26 #1
Inden du bekymrer dig videre, tror jeg du skal finde ud af, om du rent faktisk behandler personfølsomme data.
Hvis det handler om at binde en installtion af et stykke software op på en specifik bruger, så kunne det vel håndteres mere hensigtsmæssigt ved et token som bindeled og holde de persondata helt væk fra de ting, der er eksponeret.
Avatar billede __Allan__ Seniormester
04. januar 2020 - 21:50 #2
Programmet lagre navne og cpr-nr. Tanken er de skal lagres i databasen med de øvrige data, men da det ikke er mig der driver sql-serveren, så overdrager jeg jo pludseligt cpr-nr. til 3. part.
Jeg har også læst om JWT tokens, som jeg tænkte mig skulle styres via API, men jeg har svært ved at se mig ud af hvordan jeg skal gribe det an.
Avatar billede CRKrogh Ekspert
04. januar 2020 - 22:11 #3
Jeg ville være endog MEGET varsom med den model. En ting er, at et navn ELLER cpr# ikke nødvendigvis er personfølsomme data i sig selv, men samlet set kan pakken blive rigtigt giftig - særligt når der dels skal sendes data imellem en applikation og en SQL-server via noget infrastruktur, og der ikke er direkte kontrol over nogen af delene.

Tænk på, hvordan f.eks. Microsoft licenserer Windows. Licensnøglen kan sagtens bindes til et harware-ID, der genereres på installationstidspunktet - det har man gjort i +30 år og her er du frit stillet til at indsamle begge dele og DEREFTER koble det lokalt i en DB-instans, du har kontrol med, til f.eks. navn og CPR#.
Avatar billede __Allan__ Seniormester
04. januar 2020 - 22:53 #4
Tror måske vi taler lidt forbi. Jeg var måske ikke hel klar i mim forklaring. 
De navne og cpr-nr programmet lagrer har intet at gøre med brugeren, installations id eller lign. Programmet opsamler og behandler en række oplysninger om disse personer. Navn og cpr nr. Bruges til at adskille personernes data fra hinanden.
Så altså navne og data i databasen.

Token tænker jeg til problematikken om at adskille brugere og sikre at der er betalt for softwaren der anvendes.

Men for at tage dit eksempel. Har MS så en form for web API, der opsamler licensnøgle + hardware-id og lagre dem i en DB?

Synes det virker meget komplekst at sikre programmet ordentligt, andre må da stå med samme udfordringer.
Findes der ikke nogle færdige værktøjer til at lette disse processer?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester