Java, sikre sin properties fil
Som jeg kommer igennem Java, dokumentere jeg hvordan de forskellige aspekter af Java fungere så jeg senere har et detaljeret opslagsværk med
tips, tricks, guldkorn samt general forståelse.
I øjeblikket tester jeg kræfter af med
Hvordan man sikkert opbevar et hard coded kodeord til en database & hvordan leverer man sikkert dette imellem applikation og sequel service
Min nuværende tråd
http://stackoverflow.com/questions/2770 ... 2#27721722
Mit nuværende spørgsmål her er (Jeppe ?)
Hvordan sikrer man en fil.properties fra at kunne tilgås af andre end selve programmet der skal bruge filen?
Så programmet har rwx og others har ---
tips, tricks, guldkorn samt general forståelse.
I øjeblikket tester jeg kræfter af med
Hvordan man sikkert opbevar et hard coded kodeord til en database & hvordan leverer man sikkert dette imellem applikation og sequel service
Min nuværende tråd
http://stackoverflow.com/questions/2770 ... 2#27721722
Mit nuværende spørgsmål her er (Jeppe ?)
Hvordan sikrer man en fil.properties fra at kunne tilgås af andre end selve programmet der skal bruge filen?
Så programmet har rwx og others har ---
Re: Java, sikre sin properties fil
Ofte opretter man en 'mellemmand' som sørger for alle indsæt og udtræk fra og til databasen. På den måde vil brugernavn/adgangskode ikke findes i applikationen, men derimod på serveren.
I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences, SQLite eller hvad man ellers benytter, som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Det eneste du så bør 'sikre', er hvis applikationen skal have en login-form, hvor der skal sendes brugernavn/kodeord i en outputstream (fx ved at kryptere med Salt som SpringLearner skriver)
I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences, SQLite eller hvad man ellers benytter, som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Det eneste du så bør 'sikre', er hvis applikationen skal have en login-form, hvor der skal sendes brugernavn/kodeord i en outputstream (fx ved at kryptere med Salt som SpringLearner skriver)
Re: Java, sikre sin properties fil
Kan du uddybe dette?I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences
Er det ikke lige så godt hvis man hard koder brugernavn og kodeord for databasen, men de eneste rettigheder brugeren har er select.som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Eller at man sætter hele databasen til read only, admin brugere kan stadig insert ind i databasen men alle andre brugere kan ikke.
Bruger BCrypt med en autogenereret salt værdi.fx ved at kryptere med Salt som SpringLearner skriver
Re: Java, sikre sin properties fil
Det kommer an på mange ting. Hvis du gerne vil øve dig i at gemme nogle data lokalt, så kan du jo gøre det som du vil. Men i praksis ved jeg ikke om det vil give aller mest mening.
Husk at forvente det værste!
Husk at forvente det værste!
Lad os antage at du har 1000 brugere, og at der logges ind. Brugeren har måske nogle data på serveren, som hentes ned. Med de data, kunne man oprette et felt lokalt som kun programmet bruger (dét ID som brugeren har fået af databasen). Her er vi egentlig ligeglade med om man kan tilgå dette ID - du kan ikke bruge det til andet, end at lave en forespørgsel på databasen.cristian skrev:Kan du uddybe dette?I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences
Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.cristian skrev:Er det ikke lige så godt hvis man hard koder brugernavn og kodeord for databasen, men de eneste rettigheder brugeren har er select.som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Eller at man sætter hele databasen til read only, admin brugere kan stadig insert ind i databasen men alle andre brugere kan ikke.
Re: Java, sikre sin properties fil
Har du et eksempel på sådan en løsning hvor på der opnås adgang til en DB i et Java program uden brug af kodeord og brugernavn direkte i applikationen.Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.
Da om man kontakter en "mellemmand" eller går direkte til DB så skal man jo have et form for brugernavn / kodeord kombo for at logge ind i første omgang, for derefter at kunne hive data ud.
Eller tænker du at bruge en anonymous bruger?
Re: Java, sikre sin properties fil
Jeg har lavet det i Android (Java) med PHP.. Når der logges ind, sendes det indtastede brugernavn/kodeord til et .php-script som ligger på serveren. Scriptet tager imod brugernavn og kodeord og slår op i databasen om dette findes. PHP-scriptet sørger for forbindelsen til databasen og returnerer (hvis succes) bruger-ID'et eller hvad man ellers vil returnere.cristian skrev:Har du et eksempel på sådan en løsning hvor på der opnås adgang til en DB i et Java program uden brug af kodeord og brugernavn direkte i applikationen.Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.
Da om man kontakter en "mellemmand" eller går direkte til DB så skal man jo have et form for brugernavn / kodeord kombo for at logge ind i første omgang, for derefter at kunne hive data ud.
Eller tænker du at bruge en anonymous bruger?
Java's svar på PHP, vil være JSP - men jeg har desværre ingen erfaringer med det.
Re: Java, sikre sin properties fil
Ja okey, så du har ikke et hard kodet login, men du indtaster det så selv i appen og sender det mod serveren.
Re: Java, sikre sin properties fil
Igen, det kommer an på om du mener brugerens brugernavn/kodeord eller databasens brugernavn/kodeord. Jeg taler om sidstnævnte.cristian skrev:Ja okey, så du har ikke et hard kodet login, men du indtaster det så selv i appen og sender det mod serveren.
Re: Java, sikre sin properties fil
Det gør jeg også