Att hantera ”säkra” sessioner (Facebook et al)

Den pågående ”debatten” med osäkra inloggningar eller sessioner mot t ex Facebook, LinkedIn, m fl, och medias uppenbara saknad av förståelse för vad de skriver om är intressant, skrämmande och fascinerande på samma gång. Att publika och okrypterade trådlösa nätverk (och även till viss del ”trådade”) är osäkra är väl ingen nyhet; men alla debatter och diskussioner kring Internetsäkerhet är bra. Kul för Aftonbladet, Expressen, DN, IDG m fl att de kan sälja lite extra annonsplats och upplaga.

Vad jag som utvecklare inte riktigt förstår är dock varför de företag som tar fram sajter med inloggningar inte bara går ett litet steg längre i sitt tänk.

Om jag loggar in till sajten X så verifierar sajten mitt lösenord, etc. och skapar sedan en ”session”. Sessionen identifieras vid nästkommande transaktioner mellan besökarens webbläsare och servern med hjälp av en s k kaka (”cookie”). Kakan kan innehålla så lite som ett ID (t ex en numerisk sekvens), som servern sedan använder för att hålla reda på vilken session det faktiskt är frågan om.

En s k ”man-in-the-middle”-attack (eller ”kapning”) kan gå till så att man sätter sig ”mellan” besökarens webbläsare och servern och alltså presenterar samma kaka till servern, och på så sätt tror servern att det är den ursprungliga användaren som den ”pratar med”.

Men varför kontrollerar inte servern IP-adressen på besökaren hela tiden? Om servern vid varje kommunikationstillfälle (”transaktion”) kontrollerar besökarens IP-adress och jämför den med den IP-adress som användes när sessionen skapades (dvs vid inloggningen) så har man ju höjt tröskeln något avsevärt för någon som vill ”kapa” sessionen.

Att man sedan väljer att göra allting över en krypterad förbindelse (SSL/TLS samt kryptering av trådlös nätverkstrafik) är väl en självklarhet; men det har ingenting med sessionskapning att göra — snarare har det med dataintegritet att göra (jämför med ”identitetsintegritet” som det är frågan om vid kapningar).

Eller har jag missat något nu igen?

Dela med dig:
  • Facebook
  • Twitter
  • del.icio.us
  • Digg
  • StumbleUpon
  • Technorati
  • Google Buzz
  • Google Bookmarks
  • LinkedIn
  • email
  • Print

2 Responses to Att hantera ”säkra” sessioner (Facebook et al)

  1. Joaquim Homrighausen 27-Okt-2010 at 11:39 #

    Som JB mycket riktigt påpekar på inläggets kommentarssida så hjälper ju inte verifikation av IP-adressen på publika nät där alla ”går ut” genom en proxy/gateway som därmed ger dem samma IP-adress ute i vida världen; men då är vi tillbaka till att all form av proxy-hantering lämnar detta ”identitetshål” öppet, så att säga. Att kryptera sessioner/sessionen (och/eller kakan) med någon form av ”unik nyckel” lär inte räcka länge så länge som man inte kan hantera kryptering som inte ”går” att knäcka genom ”brute-force”.

Trackbacks/Pingbacks

  1. joho» Blogg-arkiv » Att hantera ”säkra” sessioner (Facebook et al) IDG.se - Störst på IT, dagliga IT-nyheter, tester, gratis forum, guider, skolor och nyhetsbrev mm - 27-Okt-2010

    [...] Ulf Hedlund skriver också om detta, och likaså jag själv på http://www.2u2.se [...]

Kommentera


*