[linux-programlama] Re: PHP ile Guvemli Form Verisi Gonderme

---------

From: a.kadir altan (e108193@metu.edu.tr)
Date: Wed 27 Aug 2003 - 16:43:16 EDT

  • Next message: Enver ALTIN: "[linux-programlama] Re: C++ derleme"

    ----- 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...

    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


  • Next message: Enver ALTIN: "[linux-programlama] Re: C++ derleme"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.