From: a.kadir altan (e108193@metu.edu.tr)
Date: Thu 28 Aug 2003 - 03:58:59 EDT
mesajim bana ulasmadi, sanirim gonderirken kalabalikta bir aksilik
oldu... aynen yolluyorum, bir yerine ekleme yapiyorum sadece... sayet
gittiyse tekrar alanlardan ozur dilerim...
----- Original Message -----
From: "Serdar KÖYLÜ" <serdarkoylu@fisek.com.tr>
To: <linux-programlama@liste.linux.org.tr>
Sent: Tuesday, August 26, 2003 11:09 AM
Subject: [linux-programlama] Re: PHP ile Guvemli Form Verisi Gonderme
> Selamlar...
merhaba,
zamanim az, cok acele yazacagim...
> On Mon, 25 Aug 2003 21:35:57 +0300
> "a.kadir altan" <e108193@metu.edu.tr> wrote:
>
> > tekrar merhabalar,
> >
> > >Bu da bir yoldur. Kullanacaginiz yontem sizin tercihiniz. Ama
> > >parolanin
> > >MD5 halini yollamakla, parolayi yollamak arasinda bu yonden pek
bir
> > >fark olmaz.
> >
>... [KESTIM]
>
> Ben sizin soylediginizi degil, parolanin MD5 halini yollamaniz
durumunu
> kastediyorum ama, nedense siz parola+Random Data olarak
anliyorsunuz.
> Tamam, shadow parolayi (sadece md5(passwd)) yolladiniz. Bende
gordum.
> Ardindan ayni degeri yollayip giremezmiyim siteye ? Eklersiniz buna
her
> session icin farkli bir rasgele deger, olur biter.
ben yukaridaki sozunuzden bunu dediginizi cikaramamisim... yine
okudugumda ayni anlami iceriyor yazdiginiz... aciklamissiniz, yanlis
anlasilma kalmaid o zaman ...
>.. [KESTIM]
>
> Cunku hazir 3DES algoritmalari var el altinda bol bol. 40/56 Bit DES
> kullanmaktan iyidir :))
>
40/56 bit anahtar ile DES ve 3DES'in bir farki yoktur...
>
> Simdi bu ne demek ? Siz, SALT ile Passwd'nin Hash'ini almak iyidir
> diyorsunuz. Bende ayni seyi bu uygulanabilecek yontemlerden sadece
> biridir diyorum. Simdi de cikip, bu yanlis diyorsunuz.
>
bir mektup kagidina el yazisiyla yazip kasaya koyup karsi tarafa
kargoyla da gonderebilir... evet bu da bir yoldur... siz yol
oneriyorsunuz (bunun icin degil genel yazismayi diyorum), bende neden
kullanisli olmadigini, hatasinin nerede oldugunu soyluyorum...
> ... [KESTIM]
> >
> Eee, yeterince random olmayan bir data kullanirsaniz, mesela ne
bileyim
> kullanicinin kayit numarasini vs. gorursunuz gununuzu. Yada mesela
> sistem zamanini.
hayir cok da guzel bir SALT olur bunlar... dikkat, siz bir IV (initial
vector) secmiyorsunuz... bilinen acik bir bilgi, burada tek onemli
olan o bilginin cok sIk digerleriyle ayni olmamasi... amac, onceden
elimizde hazirlayabilecegimiz bir listenin olmamasi (olmasinin
mantikli olmamasi demek daha dogrusu)... mesela en cok kullanilan
parola (istatistiksel olarak) bilelim ki istanbul olsun... diyelim
%1'i parolalarin istanbul , olmaz ama oldu diyelim bu istatistik var
elimizde... diyelim bir sunucunun parola dosyasini ele gecirdiniz
(/etc/passwd?) listesini ele gecirdiniz, icinde 20000 kullanici var.
ve bunlardan bazilari 100-200 tanesi birbirinin aynisi (cok sIk olan
parolanin istatistigi bu demistik), o zaman bilirsiniz ki bunlar
normal kullanilan sozlukte orada burada bulabileceginiz bir parolaya
ait, neden? cunku cok fazla kullanilmis... onun icin SALT eklenir...
her kullanici ilk kaydoldugunda, artik onun parolasi istanbul
degildir, istanbul+SALT 'tur. ve simdi istatistik gume gider...
soylememe gerek var mi bu sadece saklanan veri icin gecerli, her
oturum icin uretilende boyle degil tabi ki...
bu bir uygulamasi, digeri ise (simdiki durum icin daha mantikli
olani), sizin onceden bir hashlenmis-parolalar (brute-force?) listesi
hazirlayamamaniz ... her SALT icin yeni bir liste hazirlanmasi
gerekecek, bu da isi zorlastiriyor... (ayni sekilde brute force icin
de ayni zorluk)... mesela crypt(3)'un eski hali (des'le calisan), 12
bit SALT kullaniyor, 2^12= 4096 farkli istanbul var artik... di mi?
> PRNG zaten son derece iyi bir Random sayi uretecidir.
ne icin kullanacaginiza ve PRNG'sine gore degisir... genelleyemeyiz...
PRNG cok genis bir kavram, BIR yontem degil...
> Tamam, i810RNG kadar degil ama, genede bu tur bir is icin
yeterlidir.
> Urettiginiz random deger 1 karakterlik olursa ne olur peki? Yada 3
> karakter ? Veya sadece 26 harften biri.
urettirmezsiniz, ... sizin kodunuzda o hata varsa i810 ya da onceki
baslikta yazdiginiz ekran karti bile ise yaramaz...
> MEsela kullanici adinin bas
> harfini de SALT olarak kullanabilirsiniz (Simdi siz atlamadan
> soyleyeyim, bu zaten SALT olmaz. Ama bu tur degerleri alip kullanan
pek
> coklarini tanirim. SALT yerine boyle olmadik bir seyler koyarlar..)
bir arkadasim beni hacker falan sandigi icin (hic ama hic anlamam,
saka degil), ismi lazim degil cok meshur ve populer bir yerli sitenin
parola dosyasini ele gecirmis bana soruyordu naapariz diye (demek ki o
da hic anlamiyormus :) )... bildik crypt(3) formundaydi listemiz... ve
butun SALT'lar 'aa' idi... o liste BASE64 ile yaziliyor, ve aa ilk
harf ikilisi mi? :)
> Asil
> husus surada. Siz yeterince veri gizleme konusuna hakimsiniz. Ama
soruyu
> soran arkadas oyle mi acaba ? Herkes sizin kadar bilemez bunu ve
gelip
> listeye sorar. SSL bir cozumdur, iyi de bir cozumdur, ama biz ufkunu
> genis tutmak icin onu DES ve MD5'in dunyasina sokariz ki, veri
gizleme
> vs. konularinda biraz kendini gelistirsin.
dikkatinizi cekerim, ayni seyi siz yaptiginiz icin ilk mesajdan
itibaren benim yazismam sizinle, o arkadasa yol gostermek icin degil,
sizin yaptiginizda gordugum yanlis yaklasimda... aksine siz hic sizin
yol gosterme diye tanimladiginiz seyi yapmiyor oldugunuz icin ben
girmistim basliga, RSA konusu da bundan uzamadi mi zaten, alt tarafta
ona da cevap yazmaya calisacagim kendimce... ben yol gostermeye
calismadim, ben de farkindayim arkadasin bunu basit parolasini
sifrelemek icin kullanacagini... o zaman SSL kur demek en kolay yol
gosterme olurdu benim icin... bunu ilk mesajda soylemistim...
goruyorum ki sizin sozlerinizde simdi rolleri degistirmisiz... :) ben
hala o arkadasa fikir vermedigimi soyluyorum, ilk mesajda da
soylemistim ...
>... [KISALTTIM]
> Ya ben ne dedim peki ? Bende diyorum ki, alirsiniz o salti MD5
> yaparsiniz, CRC32 alirsiniz, crypt edersiniz, elinizle basit bir
> scrambling algoritmasi uygularsiniz vs. vs. Ama hepsi ayni kalitede
> sonuc verir mi ? Bu baska bir konu.
>
> > >Ama DES kullanarak parolayi veya hash degerini key yapip mesajin
> > >icerigini de crypt edebilirsiniz.
> >
> > parolayi kullanarak (hash'ini kullanmak baska sebeplerden dolayi
daha
> > mantikli, ona burada girmiyorum) anahtar olarak girmek cok
sakincali
> > bence... dusunsenize her seferinde ayni anahtar kullanilacak, bu
bir
> > acik degil mi sizce? ... onun icin SALT kullaniliyor... o da tek
> > basina degil zaten... neyse, ona gelene kadar...
>
>
> Bende sanirim zaten parolayi degil, hash'ini kullanin demistim.
hashli veya degil, benim sozum (parantez icinde aciklamistim) parolayi
bir anahtara kullanmak (parola veya hash(parola) , fark etmez) cok
sakincali bence...
> > >... [KISALTTIM]
> >
> Bende aslinda tersini soyledim ya ! Niye MD5 ve DES/DES3 diyorum
sizce ?
o zaman ben hayal kurdum onceki mesajinizda diye tekrar okudum,
soyle demissiniz:
>Zaten bu yeterince ciddi. Ama dilerseniz, JS sizin icin
Public/Private
>keylerle RSA vs. sifrelemesi de yapabilir. SSL bunu session layerde
>gerceklestiriyor. Ama biz bunu application layerde yapiyoruz, js
yanlis bilgi, yani yanlis hatirlamiyormusum... siz daha da guvenlik
isterseniz bunu RSA ile yaparsiniz demissiniz... oneri olmasa bile
imkani soylemissiniz, biliyorum... ama burada yazinizdan bu islerin
boyle yapildigini soyleniyor di mi? , sadece bir yolu soyledim demeyin
lutfen... bende kasa onerisinde cok ciddiydim zaten.... neyse konuya
donelim: SSL 'de veriyi RSA ile sifrelemiyor... tekrar soyluoyrum acik
anahtar ile veri transferi sirasinda sifreleme yapilmaz, onceki
mesajda (cok uzadi diye kestim eskileri) aciklamaya calismistim
sebebini...
zamaninda sevgili burak dayioglu'nun yanlis hatirlamiyorsam
linux-guvenlik grubundaydi bir sorusu vardi, ingilizce 2 tanimla
ilgili,
orada konusulmustu, ismini hatirlayamadigim bir arkadas sebebini
yazmisti basliga ilk cevapta, sonra orada devam etmisti konusma...
arsivde bulabilirsiniz...
> Yeterince buyuk. Su an elimde JS ile RSA vs. yapabilen bir suru
script
> mevcut. Tek sorun, hem transfer zamaninin, hemde yurutme zamaninin
cok
> fazla olmasi.
bakin sizde biliyorsunuz, NEDEN kullanilmadigini... ama biliyorum,
sadece yol gosteriyordunuz...
> > neyden bahsettiginiz konusunda ben artik koptum, ozur dilerim...
>
> :)))
ironi yaparak saygisizlik yapmak istememistim, cidden kopmustum... :)
eheheh
> Zaten bizde aynisini soyleyip, 168 bit bir anahtar elde edersiniz,
ama
> bu 168 bit guvenlik saglamaaaaz diye yaziyoruz. Niyetimiz burada
> parolayi gizlemek. Zaten adamin parolasi cep telefonu numarasi ile
ayni
> ise dilerseniz Megabitlik key kullanin ne farkedecek ? Hic bir adam
> aptal degildir ki gidip burada keylerle brute force etsin. Zaten tum
key
> yaklasimi parolanin bir turevi.
bu yanlis
> SSL'De kullansaniz, boylede yapsaniz
> guvenliginiz o parolanin ne kadar guvenli oldugundan daha fazla
olamaz
bu dogru, en zayif halka olayi...
> ... [KESTIM]
>
> Burada, parolanizla nasil bilgiyi SSL'ymis sertifikaymis vs.
ugrasmadan
> sifrelersiniz bundan bahsediyoruz. Bedava bir hosting cozumunde bile
> uygulanabilecek, pek coklarina da yetecek bir sistem.
boyle bir sistem icin RSA oneremezsiniz, (yukarida hatta JS sizin icin
RSA da yapar dediginizi yazdim)... benim kastim oydu iste, amaca gore
olmali oneriler... onun icin yaziyorum bu kadar size, yoksa derdim
muhalefet degil, sizi sahsen tanimiyorum bile... adinizi ve internet
ve bilgisayar camiasinadaki kimliginizi biliyourm sadece... derdim ne
olabilir? sizin sucladiginiz gibi mi ?
> Siz ise bastan crypto teorisini ortaya koyuyorsunuz. Tamam,
> soyledikleriniz dogru. Ama yanlisiniz, soruna cozum getirmeye
ugrasmak
> degilde, benim yazdiklarimda yanlis aramak olunca elbette boyle
oluyor.
[yorumsuz]
> Haa, acalim yeni bir topic, didik didik edelim bilinen cryptografi
> kurallarini.
bunu ben yapamam(biliyorum) , siz de yapamazsiniz(onu da biliyorum)...
sayet bunu hadi oturalim yapalim bi tartisma surada diye
yapilabilecegini saniyorsak yaniliyoruzdur emin olun... isin teorisine
bir bakalim demek icin biraz uygunsuz bir ortam :)
> Biriside yarin gidip Quantum Bilgisayar icat etsin (belki
> de etmistir) biz de havanda su dogmus olalim hep beraber :))
Bunlarin
> hepsi ayri bir tartisma. Ama neden olmasin. Ben kripto uzerine
doktora
> filan yapmadim. Ama cok kriptolari kirdim. PKK'nin telsizlerinden,
tebrik ederim
> bilmem AT&T'nin backbone parolalarina.
yine tebrik ederim, dicek birsey bulamiyorum...
> Hadi evinizde ugrasin bakalim, 40
> Bit keyi ne kadar zamanda kiracaksiniz?
ev var ev var :)
> Haa, bu keyin sahibi banka ise
> kirmaya deger. Ama benim elemanin mynet passwordunu kirmak icin bu
kadar
> ugrasmaya degermi ?
sizin degil ama kirmaya degecek eposta parolalari duydum :)...
> > cok basit bir anlatimla bir parolayla birtakim verileri
> > sifreliyorsunuz, ama sadece bu da degil o parolayi sifreleyerek
> > gonderiyorsunuz, anlamsizlik burada basliyor...
>
> Acip o ornek sayfaya bakarsaniz, benim oyle bir sey yapmadigimi,
ben sizin sayfaniza mi dedim? ben burada konusulan icin yazmistim
onu... sifreliyorsunuz derken genis zamanda ucuncu sahis olarak
kullanmistim bunu... yanlis anlasilmis... alinmayin hemen canim...:)
> cryptkey olarak yollanan bir degerin paroladan elde edilen bir hash
ile
>...
> diyorum. Belki ben anlatamadim, belkide siz hatasini bulacagim
derken
> yanlis anladiniz. Fakat, yukaridaki yaklasima nasil ulastiniz
> anlayamiyorum.
en bastaki ilk cumleyi yanlis anlamisim, aciklayinca temizlendi... ama
hala ayni cumleyi okuyunca ayni anlami cikariyorum :)
> Acin liste arsivini bakin. Ben benzer bir konuya bir sure
> once ayni sekilde sizinle RNG mevzusunda tartisirken bu ise yonelik
bir
>...
> olarak TV karti kullaniyor. Onun icin degebilir ama, mail parolasini
> saklamak icin degmez.
oyle demeyin ben ozel islerim icin kullandigim epostalarimdan
bazilarinin parolalarini 'guvende' tutmak isterim acikcasi... :)
>... [KESTIM]
> >
> > :) scrambling ve interference'i sorsam cok mu sey sormus olurum ?
>
> Ben sizin kadar ingilizce bilmem.
ben de cok bilmem, yanlis anlam tasimasin cahilce diye elimden
geldigince turkcelerini kullanmaya calisiyorum karsiligini bildigim
kelimelerin...
> Scrambling karistirmak demek.
en ciddi sistemler icin demissiniz, tamam sizin ugrasitiginiz pkk
telsizlerinde bunlar olabilir, ama internet uygulamalarinda gordunuz
mu?
bende biliyorum scramble ne demek, interference ne demek ,
elektronikteki anlamini tam bilmiyorum tabi, ama kelime anlamindan ne
oldugu cikiyor... simdi siz bana gundelik internet uygulamalarinda,
internette guvenli bilgi alisverisi yapan yerlerde bunlar oldugundan
mi bahsediyorsunuz? yazarken ya onu kastettiniz, ya da benim idda
ettigim gibi araya baska terimler, konular karistirarak yazinizi
zenginlestirdiniz, ki benim elestirim de buradaydi, bu baslikta da
rastgelelerde de ....
> Ama
> buyuk ihtimalle interference'i bilmezsiniz. Bu telsiz tekniginde,
>...
> algoritmalar diyebiliriz) gizlidir. Konu elektronik olunca bu
cozulemez
> kolay kolay (168 bitlik keyi bulmak daha kolaydir bundan).
teknik ayrintiyi bilmiyorum, elektronikci degilim, bunlarin bir
telsize nasil kondugundan haberim yok,sayet olsaydi yazardim kalabalik
gozukurdu mesajim, ama kelime anlamindan ne oldugu cikiyor, gerek yok
sanirim...
> Bunun
> bilgisayardaki karsiligini, soyle ornekleyebiliriz. 1 GB veri
> yolluyorsunuz ama icinde sadece 5 MB gercek veri var. Buda 1 GB
icine
> serpistirilmis halde. Bu ornek belki biraz o tur sifrelemeyi size
> aciklayabilir.
telsiz icin , frekans atlama mi kastiniz? bakin dedigim yere geldik
yine... sayet buysa ne alaka der insan...
"Bir banka icin bu tur bir cozum gelistiriyor olsaydim, SSL uzerinde
ayni
sekilde JS ile hem scrambling hem de interference yaparak 2-3 dikis
yapardim. Ama niyetiniz bir mail hesabinin parolalarini korumaksa 3DES
ve MD5 size hayli hayli yeterli olur."
bu soz size ait... herseyi ozetliyor sanirim...
neyse, peki bunlarin gizli anahtarlarini (yontemlerini) nasil JS ile
karsiya bildireceksiniz ki o da yapsin? bunu da paroladan elde
edeceksiniz di mi? guvenlik bunun neresinde? simdi anladiniz mi?...
cok anlamsiz olmus (ama kalabalik gozukuyor) diyecegim yine soz
uzayacak, ayni yere gelecegiz...
> ... [KESTIM]
> Peki ben ne dedim ? PArolayi sifreleyin, gizleyin ve servere
yollayin
> demedim hic hatirladigim kadariyla. SALT (ben SALT demedim, Random
DAta
> dedim sadece) ile parolayi (hash'ini) harmanlayin, hash'ini cikarip
> yollayin dedim mesela. Yada alin paroladan bir hash uretin, bununla
> random datayi sifreleyip yollayin dedim mesela.. Peki neden ?
bende bunun neden kotu oldugunu anlatmaya calistim, siz savunmaya
gecmeden once...
ondan sonra pkk telsizi, atm karti, GPS , RSA, scrambling,
interference derken kaybolduk... (hicbirinde konumuzla alaka
goremedim, benim hatam ozur dilerim... )
dikkat ederseniz yaptigim sadece satir aralarinda yazdiklarinizda
gordugum eksikleri duzeltmekten, ve uzerine dusuncemi soylemekten
ibaretti... ben bunu yaptikca siz scrambling yaptiniz...
> 1. SSL'i her zaman her yerde bulamayabilirsiniz.
> 2. MD5 ve DES/3DES PHP ve JavaScript ile kolayca
gerceklestirilebilir.
> 3. JS yorumlayicisi kabul edilebilir bir hizda bu isi yapabilir.
Ayrica
> serverin CPU yukunude azaltabilir.
> 4. MD5 ve DES3 kullanarak, sadece kullanicinin parolasini kullanarak
> guvenli (nispeten) bilgi aktarimi yapabilirsiniz. Ama tabi
aktardiginiz
> bilgi degerliyse daha iyi yontemler kullanmaniz gerekli.
scrambling, interfeence vs ...
> Ama goruyorum ki siz bambaska anlamlar cikarmissiniz. Dogrudur,
yasli ve
> yorgun bir pengueniz, anlatamamazlik derdine kapilmamiz normaldir.
estagfurullah , amacim o degildi, oyle dusunseydim hic cevap
vermezdim...
> Umarim bu mesajla derdimi anlatabilmisimdir ?
> Saygi ve sevgiler..
ayni pozisyondayim, sanirim bu basligi karsilikli atisma olarak
surdurmemizin manasi yok, amaclar soylendi :)
saygilar benden,
iyi calismalar,
kdr