Author

Topic: Dijital İmza neden gerekli ? olmasaydı ne olurdu ? (Read 1615 times)

legendary
Activity: 1470
Merit: 1024
 
  Paranın el değiştirmesi sırasında her sahip parayı bir sonrakine gönderirken kendi dijital imzasıyla bir önceki işlemin özetini (hash) ve bir sonraki sahibin açık anahtarını imzalar ve bu imzayı paranın sonuna ekler. Ödeme alan kişi sahiplik zincirini doğrulamak için imzaları doğrular. Yani ödeme alacak kişi gönderilen adrese denk gelen imzayı sunabilecek olan cüzdana sahip olduğu için, bu cüzdan bu bitcoini alabilir. Dijital imzayı sağlayan özel anahtarlardır. Bu konu ile ilgili daha fazla açıklamayı ve kodları mastering bitcoin kitabında bulabilirsin.

 https://www.transifex.com/projects/p/mastering-bitcoin/language/tr/
full member
Activity: 140
Merit: 100

şöyle olması gerekmezmi saldırgan dijital olarak imzalı bir mesajı değiştirmeye kalktığında mesaj değişir dijital imza aynı kalır madenciler aradaki uyumsuzluğu görür ve işlemi reddeder ?


 1 kb lık bir değişim bile dijital imzayı değiştirir. Bu değişen dijital imza 10 btclik dijital imzanınkinden farklı olacağı için uyuşmayacaktır ve reddedilecektir. Saldırganın bu parayı çalması için özel anahtarı bilebilmesi gerekir. VE böylece 10 bitcoini kendisi imzalayabilir. Ama bu şekilde araya girip adresi değiştirip birşey elde edemez çünkü dijital imza Alinin gönderdiği ilk imza ile aynı olmayacaktır.
Mesajdaki değişiklikten sonra önümüzde zaman damgalı 2 imza oluyor yani?
İmzanın mesajın hashinden özel anahtar ile üretildiğini ve (mesajdan ayrı olarak) mesajın yanında verildiğini düşünüyordum. Doğrulayanların da var olan ve 1 kez oluşturulabilecek imzayı çözüp mesajın hashiyle karşılaştırdıklarını ve sonuca göre karar verdiklerini düşünüyordum. İlginç
legendary
Activity: 1470
Merit: 1024

şöyle olması gerekmezmi saldırgan dijital olarak imzalı bir mesajı değiştirmeye kalktığında mesaj değişir dijital imza aynı kalır madenciler aradaki uyumsuzluğu görür ve işlemi reddeder ?


 1 kb lık bir değişim bile dijital imzayı değiştirir. Bu değişen dijital imza 10 btclik dijital imzanınkinden farklı olacağı için uyuşmayacaktır ve reddedilecektir. Saldırganın bu parayı çalması için özel anahtarı bilebilmesi gerekir. VE böylece 10 bitcoini kendisi imzalayabilir. Ama bu şekilde araya girip adresi değiştirip birşey elde edemez çünkü dijital imza Alinin gönderdiği ilk imza ile aynı olmayacaktır.
full member
Activity: 140
Merit: 100
Ali Ali olduğunu tüm herkese ispatlamak zorunda ki Veli'ye kendi bitcoinlerini gönderebilsin.
Eğer Dijital imzalar olmadan bitcoin'i çalıştırsaydık "çok basitçe" Ali ve Veli'nin arasında geçen bitcoin aktarımının arasına girer, Ali'nin Veli'ye değil de Saldırgan'a bitcoin gönderiyormuş gibi o işlemi "spoof" (sızma) ederek değiştirebilirdik. Bu durumda
1- Veli hiçbir şekilde bitcoini alamaz.
2- Ali elindeki bitcoinden olur.

spoof nasıl olabilir ki biraz daha detaylandırabilir misin ? şöyle mi adam bir sistem kurmuştur gördüğü her işlemin hedef adresini kendi adresi ile değiştirir otomatik olarak ki bu da sıkıntılı bazı düğümler kabul eder bazıları etmez çünkü mesaj farklı düğümlere farklı zamanlarda ulaşıyor sistem bu durumda karmakarışık olur ve sanırsam sadece böyle bir spoof olabilir.
"Dijital imzasız bir bitcoin ağında nasıl spoof yapılır" örneği anlatıyorum şu anda;

Ali ile Veli arasında işlem gerçekleşeceğini biliyorum ve Ali'nin ağı ile arasındaki bağlantıyı Man In The Middle Attack* ile kendi üzerime alıyorum. Yani Ali kendi ağına bağlanırken benim üzerimden bağlanıyor.

Burada Ali'nin Bitcoin ağına broadcast ettiği mesajı buluyorum. Mesaj şu şekilde: "Ali -> Veli , 10 BTC" (Ali'nin Veli'ye gönderdiği 10 BTC'lik işlem). Bu mesaj bitcoin ağına broadcast edilmeden önce benim üzerimden geçeceği için bu bilgiyi içeren ağ paketlerini alıp manipüle edebilirim. Bu mesajı şu şekilde editliyorum: "Ali -> Saldırgan, 10 BTC" ve bu şekilde bitcoin ağına broadcast ediyorum.

Bu durumda Ali 10 BTC'yi Veli'ye gönderdiğini düşünürken Bitcoin ağı bu işlemin Ali'den Saldırgan'a gittiğini düşünür ve buna göre işleme alır.

MITMA* = https://tr.wikipedia.org/wiki/Man-in-the-middle_attack

Bu sadece bir örnektir, çok daha farklı metodlarla spoof edilebilir transactionlar elbette.

Dijital imza olduğunda;
Ali ile Veli'nin arasına saldırgan girip değiştirmeye çalıştığında olacaklara bakalım.
 "Ali -> Veli , 10 BTC, Dijitalimza1" şeklinde mesaj broadcast edilir.
Araya saldırgan girer.
"Ali -> Saldırgan, 10 BTC, Dijitalimza1" şeklinde mesajı editleyebilir. Ancak girdi mesajı değiştiği için dijital imza da değişecektir bu durumda geçersiz imza sebebiyle bu işlem bitcoin ağındaki düğümler ve madenciler tarafından reddedilecektir.

Saldırganın böyle bir aktarımı geçerli kılabilmesi için "Ali -> Saldırgan, 10 BTC, Dijitalimza2" şeklinde bir mesaj üretmesi gerekir. Burada Dijitalimza2'yi hesaplayabilmek için Ali'nin özel anahtarını bilmelidir. Ali'nin özel anahtarını öğrenmeden böyle bir mesajı geçerli bir şekilde imzalayamazsınız. (Brute force ile tahmin etmeye çalışırsın ama torununun torununun torununun torunu bile göremeyebilir Ali'nin özel anahtar değerini)

Dijital imza olduğunda;
Ali ile Veli'nin arasına saldırgan girip değiştirmeye çalıştığında olacaklara bakalım.
 "Ali -> Veli , 10 BTC, Dijitalimza1" şeklinde mesaj broadcast edilir.
Araya saldırgan girer.
"Ali -> Saldırgan, 10 BTC, Dijitalimza1" şeklinde mesajı editleyebilir. Ancak girdi mesajı değiştiği için dijital imza da değişecektir bu durumda geçersiz imza sebebiyle bu işlem bitcoin ağındaki düğümler ve madenciler tarafından reddedilecektir.


şöyle olması gerekmezmi saldırgan dijital olarak imzalı bir mesajı değiştirmeye kalktığında mesaj değişir dijital imza aynı kalır madenciler aradaki uyumsuzluğu görür ve işlemi reddeder ?


legendary
Activity: 1274
Merit: 1000
★ BitClave ICO: 15/09/17 ★
Ali Ali olduğunu tüm herkese ispatlamak zorunda ki Veli'ye kendi bitcoinlerini gönderebilsin.
Eğer Dijital imzalar olmadan bitcoin'i çalıştırsaydık "çok basitçe" Ali ve Veli'nin arasında geçen bitcoin aktarımının arasına girer, Ali'nin Veli'ye değil de Saldırgan'a bitcoin gönderiyormuş gibi o işlemi "spoof" (sızma) ederek değiştirebilirdik. Bu durumda
1- Veli hiçbir şekilde bitcoini alamaz.
2- Ali elindeki bitcoinden olur.

spoof nasıl olabilir ki biraz daha detaylandırabilir misin ? şöyle mi adam bir sistem kurmuştur gördüğü her işlemin hedef adresini kendi adresi ile değiştirir otomatik olarak ki bu da sıkıntılı bazı düğümler kabul eder bazıları etmez çünkü mesaj farklı düğümlere farklı zamanlarda ulaşıyor sistem bu durumda karmakarışık olur ve sanırsam sadece böyle bir spoof olabilir.
"Dijital imzasız bir bitcoin ağında nasıl spoof yapılır" örneği anlatıyorum şu anda;

Ali ile Veli arasında işlem gerçekleşeceğini biliyorum ve Ali'nin ağı ile arasındaki bağlantıyı Man In The Middle Attack* ile kendi üzerime alıyorum. Yani Ali kendi ağına bağlanırken benim üzerimden bağlanıyor.

Burada Ali'nin Bitcoin ağına broadcast ettiği mesajı buluyorum. Mesaj şu şekilde: "Ali -> Veli , 10 BTC" (Ali'nin Veli'ye gönderdiği 10 BTC'lik işlem). Bu mesaj bitcoin ağına broadcast edilmeden önce benim üzerimden geçeceği için bu bilgiyi içeren ağ paketlerini alıp manipüle edebilirim. Bu mesajı şu şekilde editliyorum: "Ali -> Saldırgan, 10 BTC" ve bu şekilde bitcoin ağına broadcast ediyorum.

Bu durumda Ali 10 BTC'yi Veli'ye gönderdiğini düşünürken Bitcoin ağı bu işlemin Ali'den Saldırgan'a gittiğini düşünür ve buna göre işleme alır.

MITMA* = https://tr.wikipedia.org/wiki/Man-in-the-middle_attack

Bu sadece bir örnektir, çok daha farklı metodlarla spoof edilebilir transactionlar elbette.

Dijital imza olduğunda;
Ali ile Veli'nin arasına saldırgan girip değiştirmeye çalıştığında olacaklara bakalım.
 "Ali -> Veli , 10 BTC, Dijitalimza1" şeklinde mesaj broadcast edilir.
Araya saldırgan girer.
"Ali -> Saldırgan, 10 BTC, Dijitalimza1" şeklinde mesajı editleyebilir. Ancak girdi mesajı değiştiği için dijital imza da değişecektir bu durumda geçersiz imza sebebiyle bu işlem bitcoin ağındaki düğümler ve madenciler tarafından reddedilecektir.

Saldırganın böyle bir aktarımı geçerli kılabilmesi için "Ali -> Saldırgan, 10 BTC, Dijitalimza2" şeklinde bir mesaj üretmesi gerekir. Burada Dijitalimza2'yi hesaplayabilmek için Ali'nin özel anahtarını bilmelidir. Ali'nin özel anahtarını öğrenmeden böyle bir mesajı geçerli bir şekilde imzalayamazsınız. (Brute force ile tahmin etmeye çalışırsın ama torununun torununun torununun torunu bile göremeyebilir Ali'nin özel anahtar değerini)
full member
Activity: 140
Merit: 100
Ali Ali olduğunu tüm herkese ispatlamak zorunda ki Veli'ye kendi bitcoinlerini gönderebilsin.
Eğer Dijital imzalar olmadan bitcoin'i çalıştırsaydık "çok basitçe" Ali ve Veli'nin arasında geçen bitcoin aktarımının arasına girer, Ali'nin Veli'ye değil de Saldırgan'a bitcoin gönderiyormuş gibi o işlemi "spoof" (sızma) ederek değiştirebilirdik. Bu durumda
1- Veli hiçbir şekilde bitcoini alamaz.
2- Ali elindeki bitcoinden olur.

spoof nasıl olabilir ki biraz daha detaylandırabilir misin ? şöyle mi adam bir sistem kurmuştur gördüğü her işlemin hedef adresini kendi adresi ile değiştirir otomatik olarak ki bu da sıkıntılı bazı düğümler kabul eder bazıları etmez çünkü mesaj farklı düğümlere farklı zamanlarda ulaşıyor sistem bu durumda karmakarışık olur ve sanırsam sadece böyle bir spoof olabilir.
legendary
Activity: 1274
Merit: 1000
★ BitClave ICO: 15/09/17 ★
Ali Ali olduğunu tüm herkese ispatlamak zorunda ki Veli'ye kendi bitcoinlerini gönderebilsin.
Eğer Dijital imzalar olmadan bitcoin'i çalıştırsaydık "çok basitçe" Ali ve Veli'nin arasında geçen bitcoin aktarımının arasına girer, Ali'nin Veli'ye değil de Saldırgan'a bitcoin gönderiyormuş gibi o işlemi "spoof" (sızma) ederek değiştirebilirdik. Bu durumda
1- Veli hiçbir şekilde bitcoini alamaz.
2- Ali elindeki bitcoinden olur.

Yani dijital imzalar "bitcoin işlemlerinin değiştirilemezliğini" garanti altına alır. Bitcoin ağına dijital imzasız aktarımlar yayabilirsiniz, bunda sakınca yok; Ancak bu işlemler hiçbir zaman onay alamazlar. Çünkü madenciler bu işlemlerin imzası olduğunu görüp bu aktarımları reddederler.


Şöyle düşün: Bir internet cafe'ye gittin internet şubenden bir işlem yaptın kafedeki bilgisayarda keylogger vardı ve müşteri no ve şifreni çaldırdın. Saldırgan bu şifre ile internet şubene girip tüm paranı başka hesaplara aktarabilir. Ancak bunu bu kadar basit bir şekilde yapamıyorlar, neden? Çünkü "3d secure" (3 boyutlu güvenlik) dediğimiz "Cep telefonu sms doğrulama sistemi" kullanıyor bankalar. 3d şifresini girmeden banka hesabına giriş yapamaz, havale gönderemez paran güvende.

Eğer birisi senin adreslerindeki bakiyeyi harcamaya çalışsa bile private keyini (üstteki örnekte cep telefonunu) saldırganlara vermediğin sürece fonun güvende. Çünkü saldırgan kişi hiçbir şekilde dijital olarak imzalayamayacak.

Bu durumda akla gelecek olan diğer bir soru var: "X Y'ye 1 BTC göndersin, dijital imzalı olarak", bu durumda saldırgan araya sızıp aynı dijital imza ile X'nin Z'ye bitcoin göndermesini sağlayabilir mi?
Cevap yine hayır. Çünkü bütün dijital imzaların "eşsiz" olduğunu varsayarız (çakışma ihtimali 1 / 10^70) olduğundan da eşsizdir diyebiliriz. Bir işlemde en küçük bir bilgi değişse bile (1 satoshi bile daha az gönderecek olsan) dijital imza tamamen farklı bir şeye dönüşecektir.
full member
Activity: 140
Merit: 100
evet bunu düşünüyorum ama bir cevap bulamıyorum ali veliye 1 btc gönderiyor işlem gerçekleşmeyi bekleyen bir bloğa konuyor bilmece çözülünce block ledger'a ekleniyor dijital imzaya neden gerek var dijital imza olmadan da olabiliyor transferler düşünürsek
Jump to: