webForumDet fria alternativet

säker javaapplet

7 svar · 518 visningar · startad av The_Hulk

The_HulkMedlem sedan juni 20031 837 inlägg
#1

Hejsan!

vet inte om detta är rätt forum men det var det som jag tyckte passade bäst.

jag vill ha en javaapplet på en hemsida. t.ex ett spel och vill att det ska skicka information till server om hur det gått och då vill man ju inte att folk ska kunna dekompilera javakoden och fuska på det sättet.

vad jag fått reda på än så länge ska hag skriva
-O för optimering
-g:none för att inte skapa namn i strängtabellen. men detta hindrar väl ändå inte alla från att avkompilera och kompilera egen kod sen?

för att hindra packet sniffer bör jag kryptera meddelandena som skickas till servern och det är av den anledningen jag inte vill att någon ska kunna avkompilera och kompilera egen kod.

finns det några bra sätt att lösa detta på? någon nämde att man kunde köra med SSL men då måste ju servern klara av det och det brukar väl kosta extra på webbhotell?

är väldigt tacksam för alla tips för att lösa mitt problem.

tack på förhand.

ViktorMedlem sedan aug. 20021 752 inlägg
#2

Tråden flyttad till Java.

/Viktor

sgtpepperMedlem sedan apr. 20007 588 inlägg
#3

Det finns inget patentsvar på detta. Du kan använda en obfuscator för att gegga till bytekoden så att den dekompilerade källkoden blir mer eller mindre oförståelig, men det är inget skydd mot en hängiven hackare.

Ett annat sätt att försvåra manipulering av resultatdatat kan vara att appletten hela tiden under spelets gång rapporterar in information om det pågående spelet till servern. När servern till sist får in resultatdata så stäms det av med inskickad information om spelomgången, finns ingen spelinfo inskickad tidigare eller är den på något sätt förvanskad så är det någon som enbart försöker att trycka in falsk resultatinformation.

För att förhindra sniffers och man-in-the-middle-attacker etc. så är SSL ett lämpligt alternativ som du skriver, då är all trafik mellan server och applet krypterad. Du kan ju även sköta krypteringen själv om du önskar, men inget av dessa alternativ hindrar en hacker från att dekompilera din applet och få möjlighet att själv skicka valida krypterade meddelanden.

jmeMedlem sedan maj 20012 237 inlägg
#4

sgtpepper skrev:

Du kan ju även sköta krypteringen själv om du önskar, men inget av dessa alternativ hindrar en hacker från att dekompilera din applet och få möjlighet att själv skicka valida krypterade meddelanden.

Men om man signerar appletten så kan man förhindra att en man-in-the-middle kan dekompilera göra sina ändringar samt kompilera igen utan att serverm ser detta.

Har jag helt fel? :)

LimeMedlem sedan sep. 2001961 inlägg
#5

Njea... Signeringen betyder bara att den är säker och inte hittar på några dummheter. Sedan kan man använda signaturen för att bekräfta att den applet som anropar servern verkligen är den som den utger sig för att vara. Men dekomplieringsproblemet tror jag inte att du löser med denna metod.

/Lime

The_HulkMedlem sedan juni 20031 837 inlägg
#6

hur kan servern kontrollera signeringen på javaappleten?
stoppar det även de som använder packet sniffer program?
eller måste man använda SSL tillsammans med signering av appleten?

kostar signering?

LimeMedlem sedan sep. 2001961 inlägg
#7

Man ber appleten skicka signerings-certifikatet till servern.

Packet sniffing kan man aldrig stoppa annat än med kryptering.

/Lime

sgtpepperMedlem sedan apr. 20007 588 inlägg
#8

The_Hulk skrev:

kostar signering?

Nej, men det kostar att få ett certifikat utställt av en CA (Certificate Authority). Dessa CA:s står som garant för att certifikatet är äkta.

Men det är inget som hindrar dig från att skapa ett eget certifikat och använda för signering, enda skillnaden är att webbläsaren/JVM:en inte "litar" på utställaren av certifikatet (dvs du) och kommer att varna användaren för att certifikatet kan vara falskt.

130 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)