Sikker kryptering af data. Evt. Dankort

Tags:    php

<< < 123 > >>
Hej,

Jeg er igang med et system der skal kunne opbevare evt. dankort info, derfor har jeg brug for en sikker kryptering.

Er denne kryptering sikker - eller vil i komme med bedre forslag?

Fold kodeboks ind/udKode 




Udloves 200UP - som jeg ikke havde da jeg lavede tråden. (Vi kan lave en tråd efter, hvor du / i kan få pointene.)



jeg trorde flesteanyway ikke år så meget op i UP, men hvad angår dit spørgsmål:

Nu er jeg ikke den store PHP mand så har svært ved at komme med et forslag til en anden kode men umidelbart ville jeg sige at den ikke så sikker (jeg er ikke erfaren på det område skal understreges) men jeg har hørt at base64 skulle kunne brydes og så er der jo kun din egen kryptering igen..



Bare holdningen fra en krypteringsnoob!




Hey Daniel,
hvorfor skal systemet opbevare dankort informationer?

Personligt er jeg ikke overdrevet vild med at diverse netshops kender til mine dankort info.



Hvis det er dankort, så bør du vidst bare sende informationerne direkte til PBS, og lade helt vær med at opbevare dem..



Du kan prøve at kigge på noget kryptoanalyse for at finde ud af hvor sikkert det er:

http://en.wikipedia.org/wiki/Cryptanalysis

I bunden af siden er der beskrevet nogle forskellige metoder til det. Det er lidt svært stof, men det sikrer din algoritme.



Indlæg senest redigeret d. 11.04.2009 12:48 af Bruger #6559
Hej

Base64 er IKKE kryptering.

Hvis du skal opbevare eller processere kreditkort data skal du leve op til PCI DSS (Payment Card Industry Data Security Standard) som er en ret tung standard: http://en.wikipedia.org/wiki/PCI_DSS

Og det gør din viste kode bestemt ikke. Det ser ikke ud til, at du forstår kryptering, så du skal nok have fat i en professionel udvikler til at lave dit betalings system. Eller du kan overlade det til PBS eller Paypal eller lignende.

Lad i hvert fald være med at opfinde din egen krypteringsalgoritme. Det er ikke noget man bare lige gør, for kryptering er ekstremt komplekst og kræver uddannelse.



Indlæg senest redigeret d. 11.04.2009 13:51 af Bruger #2695




Indlæg senest redigeret d. 11.04.2009 13:51 af Bruger #2695
Tak for det gode svar :)

Det er sådan, at vi ikke skal forhandle noget, men sådan at jeg kan have mine oplysninger i min database..

Hvad vil det kræve for, at det er sikker nok, når det ikke skal bruges til forhandling?


Mvh
Daniel Blom ;)



Well...det står mere eller mindre direkte i PCI DSS beskrivelsen, men jeg kan da prøve at oversætte lidt :-)


1. Install and maintain a firewall configuration to protect cardholder data

Åbenlyst skal dit netværk beskyttes med firewall. Men faktisk bør man bruge flere zoner. DMZ zonen er den, som indeholder din web server. Den modtager kreditkort oplysningerne og gemmer dem midlertidigt krypteret i en database i DMZ'en. En anden maskine, som står i en zone, som ikke kan nåes fra DMZ, kan så en gang i minuttet eller lignende hente de gemte data og slette dem fra databasen i DMZ'en og gemme dem i den sikre zone.

2. Do not use vendor-supplied defaults for system passwords and other security parameters

Operativ systemer og anden software skal konfigureres med henblik på sikkerhed efter installation. Default passwords skal skiftes til noget sikkert. Ubrugte services skal lukkes...oooog så videre. Læs om "hardening" på nettet.

3. Protect stored cardholder data

Kryptografi og firewall!
En fornuftig algoritme skal bruges, f.eks. AES, som der også kan findes API'er for til de fleste programmerings sprog (f.eks. den her til PHP: http://www.phpaes.com/).

Herunder er også at ikke al database tilgang bør ske med samme privilegier. F.eks. har den databasebruger, som udfører produkt søgninger ikke behov for også at kunne søge i kreditkort tabellen. Privilegier skal minimeres.

4. Encrypt transmission of cardholder data across open, public networks

Krypteret transport med f.eks. https og et ikke selv-signed certificate.

5. Use and regularly update anti-virus software on all systems commonly affected by malware

Både på servere og på klienter, som har adgang til kreditkort dataene.

6. Develop and maintain secure systems and applications

Udviklerne skal kende til sikker programmering og typiske sikkerheds problematikker. Læs på OWASP's side: http://www.owasp.org

7. Restrict access to cardholder data by business need-to-know

Ikke alle i dit firma (eller hvad du nu kalder det :-) ) har samme behov for adgang til kreditkort data, og derfor skal ikke alle kunne tilgå servere/databaser, som indeholder kreditkort data.

8. Assign a unique ID to each person with computer access

Alle som har adgang til dine servere skal kunne genkendes, spores og begrænses. Alle skal ikke have root adgang og man skal ikke dele en user account. Én user account pr. bruger.

9. Restrict physical access to cardholder data

Lås på server rummet og kun relevant personel skal have en nøgle.

10. Track and monitor all access to network resources and cardholder data

Logging.

11. Regularly test security systems and processes

Man kan selv udføre tests af éns software, men den her er faktisk fortolket som at et uvildigt firma én gang om året skal teste og godkende din software og dine processer.
Men det skader selvfølgelig ikke, at man også selv gør det med jævne mellemrum.

12. Maintain a policy that addresses information security

Du skal kunne fremvise en nedskrevet politik som omhandler dine sikkerheds procedurer. Både ang. hvem som har hvilken adgang til data, hvordan software udvikles, hvordan software testes, hvordan data sikres og hvad der skal ske, hvis/når du bliver hacket.



Som sagt, tunge tunge sager :-)
Jeg vil anbefale at undgå det hele ved at lade Paypal eller PBS klare ærterne.



Tusind tak for dit meget præcise, gode og brugbare svar ;)

Jeg prøver at skrive til surftown om det, ellers må jeg jo finde en bedre løsning.


Som sagt, tunge tunge sager :-)
Jeg vil anbefale at undgå det hele ved at lade Paypal eller PBS klare ærterne.


Ja, det er tunge men nødvendige sager :)
Vi kan ikke lade PayPal eller PBS klare det, da det ikke handler om en transaktion men opbevaring af fortrolige oplysninger.

Sig til, hvis jeg skal oprette en ny tråd, så du kan få dine 200UP ;)


Mvh
Daniel Blom



<< < 123 > >>
t