Gerçekten çok dikkatlisiniz. Konuyu ayrıntılı bir şekilde incelemişsiniz.
Belirttiğiniz gibi Ledger'ın içerisinde secure element bulunurken, Trezor'un elemanı secure element olarak çalışmıyor. Bu sebeple Trezor donanımından yazılımına kadar açık kaynak kodlu bir cihazken Ledger'ın firmware'i açık kaynak kodlu değil. Trezor'un geliştiricisi Satoshi Labs'in kapalı kaynak kodunu risk olarak gördüğünü sebepleriyle birlikte açıkladığı bir makalesi mevcut. Buradan ilgili makaleyi okuyabilirsiniz:
https://blog.trezor.io/is-banking-grade-security-good-enough-for-your-bitcoins-284065561e9b#.vc68zeeqpMakaledeki can alıcı bölüm şu şekilde:
As Secure Element is not open-source, its inclusion dims the transparency of a product. This means that while the surrounding software using the SE might be open-sourced, a malicious code may have already been implemented at the core of the chip without any verification possible.
Government agencies do pressure chip producers to include backdoors to their products, so why should one suppose it would be different with SE, especially knowing that these are being used for financial transactions? The user would never learn about this, because of the nature of the SE.
It was clear that the only way for Bitcoin security and TREZOR is open-source. Everyone is welcome to review TREZORs full stack, and some world-class hackers are already doing that. This is impossible to do with Secure Elements.
Trezor'un güvenliğini sağlayan öncelikli faktör, cihazın açılışında sorulan pin kodu. Bu pin kodu doğru şekilde girilmeden cihazın açılması ve private key'e erişilebilmesi gerçek anlamda mümkün değil. Brute Force yöntemiyle bu şifre kırılabilir mi diye sorabilirsiniz, yanlış yapılan her şifre girişi için Trezorda üssel olarak artan bir bekleme süresi mevcut. İlk yanlış girişte bir saniye, ikincide 2 saniye, üçüncüde 4, dördüncüde 8 ... 16, 32, 64, 128, 256, 512, 1024 derken onbeşinci denemede şifrenin girilebilmesi için yaklaşık 22 gün beklenmesi gerekiyor. Bu süre içerisinde Trezoru çalınan kullanıcının seed word'leri kullanarak kriptoparalarını başka bir hesaba alarak güvenliğini sağlaması düşünülmüş. Bu sebeple Trezor'da önemli olan seed word'lerin fiziksel olarak güvenli bir yerde muhafaza edilmesi ve bu kelimelerin hiçbir şekilde elektronik ortamda saklanmaması, klavyeden dahi girilmemesi.
Kimyasal yöntemle Trezorun STM.. işlemcisinin kazınarak içeriğine ulaşılması yöntemine gelince. Bahsettiğiniz yöntemin özü şu şekilde: İşlemcinin üzerindeki katmanları asitle eritip alt katmanda bulunan işlemciye erişiyorsunuz. Trezorda kullanılan STM işlemcisi Cortex M3 ailesinden bir işlemci. (İşlemciyle ilgili detaylı bilgi için:
https://developer.arm.com/products/processors/cortex-m/cortex-m3 ). Bu işlemci tek bir katmandan oluşmadığı, katmanlardan oluştuğu için asitte işlemciyi erittiğinizde aslında işlemciyi ve flash belleğini kullanılmaz hale getirmekle kalmıyor aslında yok ediyorsunuz. İşlemciye zarar vermeden katmanlara erişmek imkansız yani. Hadi bir şekilde kötü niyetli kişi bunun da üstesinden geldi diyelim, Trezor'un flash belleği içerisinde private key kullanıcının belirlemiş olduğu pin'e göre şifrelenmiş durumda. Yani flash belleğe bir şekilde erişilse bile kötü niyetli kişinin karşılaşacağı şey şifrelenmiş veriden başka bir şey değil. Bu durumda brute force yaparak private key'e erişilmesi mümkün olabilir. Ancak saydığım sebeplerden ötürü bu neredeyse imkansız.
Özet: Ledger'da secure ve unsecure elemanlar mevcutken, Trezor'da herşey açıkta, yani sadece tek bir eleman var.
Ledger'da kullanılan secure ve unsecure elementten kasttetiğim şeyi, ilk gönderdiğim postta açıklamaya çalışmıştım.