webForumDet fria alternativet

https-anslutning

18 svar · 1 332 visningar · startad av brw

brwMedlem sedan juli 2000619 inlägg
#1

Vad behöver jag för att till mina ASP-sidor kunna köra via 128 bit kryperting (SSL tror jag det heter) jag vill ha det då kunder matar in kunduppgifter mm i min webshop. Samt även för att skydda när man matar in sitt kortnr för betalning.

Köper man något certifikat eller hur fungerar det?

@ndersMedlem sedan juni 200032 969 inlägg
tydalMedlem sedan juni 20034 013 inlägg
#3

Du behöver stöd för det i webbservern. Certifikat har man för att garanetera att man är den man utger sig för att vara, så det är inget som behövs för krypteringen.

Tänk dock på att SSL bara är en liten del i det hela. Det gör bara att informationen inte skickas i klartext över Internet.

brwMedlem sedan juli 2000619 inlägg
#4

Det är nog det enda jag behöver. alltså SSL kryptering.

Jag har utrustning för kortbetalning redan i butiken så jag tänker inte anlita någon firma som ska ha en massa procent på varje transaktion när jag redan har den utrustningen. Det är nog dyrt redan som det är med kortbetalande kunder ;) .

Men så du menar att det ska enbart vara att ställa in kryptering i webservern? IIS 6.0 och sen ska det bara vara att köra typ https://www.minsida.se ?!?

tydalMedlem sedan juni 20034 013 inlägg
#5

Jag vet tyvärr inte hur det funkar i IIS. Du får nog kolla manualen. Men du behöver i alla fall inte köpa något certifikat för att använda kryptering.

GunnarDMedlem sedan juni 20014 290 inlägg
#6

Och hur använder man https utan certifikat?

Eller menar du att man skall använda hemma gjorda certifikat?

tydalMedlem sedan juni 20034 013 inlägg
#7

Med https kan man göra två saker:

1. Kryptera överföringen.
2. Verifiera servern.

För att göra punkt 2 måste man köpa ett certifikat.

GunnarDMedlem sedan juni 20014 290 inlägg
#8

Ok, hur konfigurerar du krypteringen i punkt 1 i Apache2?

tydalMedlem sedan juni 20034 013 inlägg
#9

Det står i dokumentationen till OpenSSL.

GunnarDMedlem sedan juni 20014 290 inlägg
#10

Var? Det som skulle vara bra är en howto, hittar bara hur man sätter up det med certifikat.

tydalMedlem sedan juni 20034 013 inlägg
GunnarDMedlem sedan juni 20014 290 inlägg
#12

Men vänta nu, du skrev att man inte behöver något certifikat för att bara köra kryptering? Den där länken beskriver hur man gör egna sertifikat.

legisMedlem sedan juli 20044 453 inlägg
#13

Certifikat behövs för att kunna kryptera trafiken. SSL bygger på certifikat och används av IIS. Certifikatet måste vara utfärdat till just den maskin där man tänkt installera certifikatet (ISA fungerar lite annorlunda). Gör man egna certifikat ska man också distribuera rootcertifikat så kunder kan verifiera kedjan, annars blir det en bruten kedja och certifikatet kan inte verifieras.

Det är därför som Verisign, Hawthe osv anlitas. Certifikat utfärdade av dessa anses vara säkra och deras rootcertifikat distribueras med till exempel IE. Skulle tro att de även följer med FF och Opera. Detta innebär att rootcertifikatet finns på plats på klienten redan och klienten kan verifiera kedjan direkt.

Du kan mest troligt öppna sidor även om du inte har rootcertifikatet, fast troligtvis med en varning om bruten kedja, eller att certifikatet inte kan verifieras. D.v.s. trafiken kan fortfarande vara krypterad, fast du kan inte säkerställa att du ansluter till rätt maskin, eller för den delen en godkänd maskin.

tydalMedlem sedan juni 20034 013 inlägg
#14

Du, Gunnar, vet väl redan hur det här funkar? Men det finns ju ändå andra som läser här som kanske är nyfikna.

För att kryptera behöver man en hemlig nyckel. I SSL använder man symmetrisk kryptering vilket innebär att det är samma nyckel som används både för kryptering och dekryptering. Kruxet med kryptering är att det gäller att hålla nyckeln hemlig, för alla som har tillgång till nyckeln kan ju läsa allt i klartext. Dessutom bör man byta nyckel ofta eftersom det blir lättare att knäcka kryptering ju mer data man har tillgång till som är krypterat med samma nyckel.

Men hur gör man då så att ingen annan ska få reda på nyckeln, och för att byta ofta dessutom?

Två personer som vet att de ska skicka en massa krypterad data mellan sig kan ju i förväg träffas och tillsammans skriva ner en lista med nycklar som de ska använda.

Men i det här fallet pratar vi ju om en webbplats. Vi vet ju inte i förväg vilka besökare vi kommer att ha. Hur gör vi så att varje besökare bara får reda på sin nyckel? Att skicka den oskyddad över Internet är ju inte precis ett alternativ, det var ju just det vi ville undvika.

Räddaren i nöden är asymmetrisk kryptering, dvs att man använder en nyckel för kryptering och en annan för dekryptering. Den ena nyckeln kallas privat (hemlig) och den andra publik. Utifrån den hemliga nyckeln så kan man räkna ut den andra, men man kan inte utifrån den publika nyckeln räkna ut den hemliga. Därför kan man skicka den publika nyckeln över Internet. Krypterar du något med en publik nyckeln så är det bara innehavaren av motsvarande privat nyckel som kan dekryptera innehållet.

Så med hjälp av asymmetrisk kryptering kan man kryptera nyckeln som används för den riktiga krypteringen av allt innehåll, och skicka den över Internet utan att någon annan än mottagaren kan dekryptera den.

Det som behövs på servern är alltså en privat nyckel och motsvarande publika. Med hjälp av detta kan man alltså kryptera överföringen och köra https. Länken ovan visar hur man tar fram ett nyckelpar i OpenSSL.

Steg 2, att man kan verifiera servern kräver att man köper ett certifikat eftersom det bygger på att en tredje part ska intyga att servern är den den utger sig för att vara. Det funkar så att man skickar serverns nyckelpar till ett certifieringsföretag som signerar den med sin privata nyckel, och därmed kan alla som har certifieringsföretagets publika nyckel (webbläsare) kontrollera signaturen.

GunnarDMedlem sedan juni 20014 290 inlägg
#15

tydal skrev:

Du, Gunnar, vet väl redan hur det här funkar? Men det finns ju ändå andra som läser här som kanske är nyfikna.

Jodå, jag vet hur det fungerar, blev bara lite förvånad över dina svar.

När man använder HTTPS så behöver man ett certifikat för att får över krypteringsnycklarna, i certifikatet står det vem som har utfärdat det och till vilken server.

Certifikat kan man få på 2 sätt, antingen köper man ett av en känd utgivare av certifikat eller så gör man ett själv.

Skillnaden är att webläsarna har en lista i sig över vilka utgivare av certifikat som dom litar på och har man köpt sitt av någon av dessa företag så säger inte webläsaren någonting. Om man däremot använder ett hemmagjort certifikat så kommer webläsarna inte att känna igen utgivaren och varna besökaren att certifikatet är gjort av en okänd utgivare och frågar om man vill fortsätta.

/red: btw, länken visade hur man gjorde egna nycklar (*.key) och egna certifikat (*.cert).

brwMedlem sedan juli 2000619 inlägg
#16

btw.. vad kostar det då att köpa ett vanligt hederligt 128-bit certifikat?

Fungerar det så att jag köper certifikatet och får det på en fil. Sänder det till mitt webbhotell och sen säger jag här har ni.. installera på mitt konto och sen är det klart?

Är det så det går till?

tydalMedlem sedan juni 20034 013 inlägg
#17

Verisign tar 8875 kronor för ett år, exklusive moms.

GunnarDMedlem sedan juni 20014 290 inlägg
#18

brw skrev:

Fungerar det så att jag köper certifikatet och får det på en fil. Sänder det till mitt webbhotell och sen säger jag här har ni.. installera på mitt konto och sen är det klart?

Är det så det går till?

Bäst att prata med ditt webbhotel innan du köper certifikatet, dom kan ha åsikter om det och du kanske kan/måste köpa det via dom.

legisMedlem sedan juli 20044 453 inlägg
#19

Webbhotell tar ofta mer betalt för det, inte minst p.g.a. att SSL är oerhört prestandakrävande.

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