Android, Java - milyen módon kellene titkosítani egy fájlt?
Sziasztok,
most kezdtem ismerkedni az Androiddal, ezért szeretném kérni a tapasztaltabbak véleményét titkosítás "ügyben". Ti hogyan szoktatok titkosítani például egy adatfájlt, vagy egy oszlop adatait egy adatbázisban? Mert ez szerintem eléggé fontos. Az interneten nagyon sokféle megoldás található és kicsit belezavarodtam...
Általában ezek az esetek vannak:
1. a titkosító kulcsot a forráskódban tárolják, és a kódot obszfukálják, hogy nehezebb legyen visszafejteni, nekem ez nem tetszik, mert a forráskód visszafejthető és az összekevert kód úgyszintén, ezért ha valaki nagyon akarja megtalálja a kódot, az algoritmust és kész. Vagy nem ennyire egyszerű?
2. olyan külső eszközöket használnak mint például ez: http://sqlcipher.net/ Hasonló eszközből próbáltam néhányat, vannak jók is, de a legtöbb alfa, béta verziójú és vagy működött, vagy nem :)
3. titkosítanak valamit egy másik nyelven, pl. PHP-ban, majd Java-ban megvalósítják ugyanazt az aklgoritmust és ott csak visszafejtenek, kiolvasnak adatokat. Ez eléggé szimpatikus módszer lenne, de ugyanaz a bajom vele mint az első ponttal.
Van még más lehetőség? Csinált már valaki hasonlót? Csak az elvek érdekelnének. Köszönet! :)
■ most kezdtem ismerkedni az Androiddal, ezért szeretném kérni a tapasztaltabbak véleményét titkosítás "ügyben". Ti hogyan szoktatok titkosítani például egy adatfájlt, vagy egy oszlop adatait egy adatbázisban? Mert ez szerintem eléggé fontos. Az interneten nagyon sokféle megoldás található és kicsit belezavarodtam...
Általában ezek az esetek vannak:
1. a titkosító kulcsot a forráskódban tárolják, és a kódot obszfukálják, hogy nehezebb legyen visszafejteni, nekem ez nem tetszik, mert a forráskód visszafejthető és az összekevert kód úgyszintén, ezért ha valaki nagyon akarja megtalálja a kódot, az algoritmust és kész. Vagy nem ennyire egyszerű?
2. olyan külső eszközöket használnak mint például ez: http://sqlcipher.net/ Hasonló eszközből próbáltam néhányat, vannak jók is, de a legtöbb alfa, béta verziójú és vagy működött, vagy nem :)
3. titkosítanak valamit egy másik nyelven, pl. PHP-ban, majd Java-ban megvalósítják ugyanazt az aklgoritmust és ott csak visszafejtenek, kiolvasnak adatokat. Ez eléggé szimpatikus módszer lenne, de ugyanaz a bajom vele mint az első ponttal.
Van még más lehetőség? Csinált már valaki hasonlót? Csak az elvek érdekelnének. Köszönet! :)
Mert ez szerintem eléggé
Miért tartod fontosnak? Milyen adatokat milyen jellegű hozzáféréstől szeretnél védeni?
Bármilyen adatot ami a
Az adatbázist védi a szerzői
Köszi a választ!
Te épp fel akarod találni a
Nem akarok én semmit feltalálni, de abban valószínűleg igazad van, hogy ennek nem sok értelme van, én is hasonlóan gondoltam, ezért kérdeztem, hátha nem jól látok valamit, ez olyan mint a 90-es években, amikor titkosított DBF fájlokat vittek ki az ügyfelekhez... na mindegy, csak azt nem értem, hogy akkor mi értelme van az olyan projekteknek mint pl. az SQLCipher? Ez eléggé vicces, főleg, hogy pont ilyen alkalmazásokhoz ajánlják, úgy, hogy a kulcsra ígyis-úgyis szüksége van a kódomnak.
Az ilyen jellegű
Igen, a semminél többet
Nem lehetetlen, de igen nehéz
Nem egy spanyolviasz, ez sem törhetetlen, de kulcsot aztán kereshetsz. Alapszintű (szoftverlopás elleni) védelemnek bevált.
Igen, sokfélét lehet
Pl. vegtelensegig
Egyszeru pelda:
- kersz egy kulcsot app indulaskor szervertol
- a kulcshoz tartozo URL-t sok helyrol rakod ossze (akar egy/tobb masik URL-rol)
- a kereseket ellatod egy sajat User-Agenttel (amit szinten X helyrol pakolsz ossze)
- a szerveren csak az adott User-Agenttel erkezo kereseket szolgalod ki, a tobbinel valami fals adatot jelenitesz meg (igy legalabb felrevezeted az illetot)
- ha olyan az alkalmazas, csak bizonyos ido-ablakban engedsz lekerdezest a szerveren
es meg lehetne sorolni...
Pl. vegtelensegig
Igen, azt hiszem ezzel össze is foglaltad a lényeget :) köszi!
Óvatosan azért
Persze, nyilván meg kell