Ett förslag för att förbättra säkerheten för FTP

Permalänk
Medlem

Ett förslag för att förbättra säkerheten för FTP

FTP är ett populärt protokoll för filöverföring mellan datorer. Som ni kanske känner till är protokollet osäkert på det sättet att användarnamn och lösenord skickas i klartext. För bättre säkerhet brukar man använda SFTP som krypterar all trafik, men av olika anledningar vill man ändå inte alltid använda detta protokoll; exempelvis p.g.a. prestandaförlust.

Jag föreslår en liten modifikation - ett extra lager - som tillåter kryptering av användarnamn och lösenord, men lämnar resten av trafiken intakt. Den ursprungliga klienten och servern behöver inte ens känna till detta lager, utan de tror att de kommunicerar med varann på sedvanligt sätt.

Detta är algoritmen jag föreslår:
L: Användarnamn (Login)
P: Lösenord (Password)
H: En hashalgoritm (t.ex. SHA)
L': Krypterat användarnamn
P': Krypterat lösenord
R*: Slumpmässiga strängar

En klient vill logga in på en server:
- Servern skickar LOGIN(R1)
- Klienten skickar L'=H(H(L)+R1)
- Servern skickar PASS(R2)
- Klienten skickar P'=H(H(P)+R2)

Servern beräknar L' och P' och om dessa matchar L' och P' som klienten skickade blir man insläppt.

Finns det några svagheter med denna metod och algoritm? Jag vill gärna få lite feedback innan jag börjar implementera.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Hur ska servern beräkna något om den inte känner till att du vill dekryptera?

Om någon lyssnar trafiken kan man ju få reda på R1 och sen L' och då kan ju den personen bruteforca med olika lösen och hashar. Tar lång tid om man har längre lösen, men går gör det ju. Lägg till ett salt för säkerhets skull.

RSA är väl ett alternativ också?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gothxx
Hur ska servern beräkna något om den inte känner till att du vill dekryptera?

Om någon lyssnar trafiken kan man ju få reda på R1 och sen L' och då kan ju den personen bruteforca med olika lösen och hashar. Tar lång tid om man har längre lösen, men går gör det ju. Lägg till ett salt för säkerhets skull.

RSA är väl ett alternativ också?

Servern känner till L och P och beräknar L' och P' på samma sätt som klienten.

Brute force av L'=H(H(L)+R) när man känner till L' och R kommer att ta en god stund och efter det har man fått H(L) varefter man måste lösa även detta för att få ut L.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk

Ger inte AUTH TLS, och sen därefter en CDC, dig den funktionen du behöver?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Phen
Ger inte AUTH TLS, och sen därefter en CDC, dig den funktionen du behöver?

Kanske det. Jag är inte alls så insatt egentligen. Det var bara en tanke jag kom på. Om det redan finns, då behöver jag inte göra det.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Hedersmedlem

*offtopic rensat*

Eller så kör du helt enkelt kommandoanslutningen krypterad och dataanslutningarna okrypterade, med ingen som helst prestandaförlust. det går redan att uppnå med de ftp/ssl kombinationer som finns implementerade i vissa servrar och klienter.
Annars finns ju standardiserade och beprövade lösningar som tex kerberos. fast om klienten ändå måste installera en extra eller särskild mjukvara för att kunna kryptera tappar du den största anledningen du har att hålla kvar vid ftp alls.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk

Metoden är ju inte säker mot man-in-the-middle-attacker, men det kanske inte var en målsättning?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av HerrEkberg
Metoden är ju inte säker mot man-in-the-middle-attacker, men det kanske inte var en målsättning?

Nej, det är jag medveten om. Nu ska jag emellertid strunta i det hela, i.o.m. att motsvarande funktionalitet redan finns.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

Pscionist (stavning?) har nog ett och annat att säga till om sånt här. Såg på hans blog att han höll på med nått relaterat till IRC.

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk
Medlem

Notis till trådskaparen: Tror du syftar på ”FTP over SSH” eller ”FTPS”, inte ”SSH File Transfer Protocol”.

Permalänk
Medlem

Hört en del som föredrar WebDAV istället för ftp då ftp är gammalt protokoll som inte hanterar nätverket på ett så smidigt sätt. Tyvärr går ju inte den utvecklingen så snabbt.

Permalänk

Som någon nämnde tidigare är AUTH SSL och AUTH TLS är det du söker. Det som är att rekommendera är dock AUTH TLS. Det är valfritt om du vill kryptera överföringar eller ej.

(19:55:07) [I] Connecting to 192.168.1.1:27583 (19:55:09) [S] 220 Go away! (19:55:09) [C] AUTH TLS (19:55:09) [C] 234 AUTH TLS successful (19:55:12) [I] Encryption algorithm: TLSv1 DHE-RSA-AES256-SHA-256 (19:55:12) [C] PBSZ 0 (19:55:12) [S] 200 PBSZ 0 successful (19:55:12) [C] USER test (19:55:12) [S] 331 Password required for test. (19:55:12) [C] PASS (hidden)

Edit: Läste inte riktigt ditt första inlägg helt.

Permalänk
Medlem

för PPP-sessioner finns en liknande Challenge-Response-autentisering: CHAP.
http://www.faqs.org/rfcs/rfc1994.html

Visa signatur

4 datorer: 9 cpuer (plats för 4 till), 10scsi+1satadisk, 7.75gb ram, bara Linux
http://isitfika.net http://code.kryo.se