Penilaian keamanan dari implementasi SSL / TLS lama pada perangkat IoT
Saya melakukan penilaian keamanan pada keamanan komunikasi perangkat IoT lama. Tujuannya adalah untuk menilai dan menemukan celah keamanan dalam desain / implementasi saat ini.
Cara penilaiannya manual, terutama dengan referensi desain dan kode yang ada. Ini hanya sisi klien di perangkat; sedangkan server adalah server berbasis cloud. Perangkat menggunakan modul GSM (SIMCom SIM900) dan melakukan komunikasi HTTPS ke server melalui internet menggunakan perintah GSM AT.
Berdasarkan pemahaman saya tentang SSL / TLS, saya mempertimbangkan parameter atau kriteria di bawah ini untuk penilaian ini:
Sebuah. Versi protokol TLS
b. Suite sandi digunakan
c. sertifikat dan manajemen kunci
d. CA root diinstal pada perangkat
e. Aspek PKI tertanam untuk manajemen identitas perangkat
f. Aspek kripto perangkat keras (SHE / TPM)
Apakah saya melakukannya dengan cara yang benar? Meskipun menurut saya daftar parameter di atas tidak spesifik untuk platform Perangkat HW / SW; agak umum. tapi saya rasa begitulah seharusnya! Maksud saya daftar parameter akan kurang lebih sama; Namun penilaian aktual tentang ini akan bergantung pada persyaratan keamanan dan aspek lain seperti jejak perangkat & platformnya, dll.
Apakah daftar parameter penilaian yang saya pertimbangkan baik dan memadai?
Jawaban
Ini adalah awal yang baik, tetapi penilaian menyeluruh perlu lebih mendalam dari ini. Sebagai contoh:
Bagaimana klien menghasilkan angka acak? Apakah itu menggunakan CSPRNG ? Atau, apakah itu menggunakan generator bilangan acak yang lemah, seperti yang digunakan pada versi awal Netscape Navigator , di mana penyerang pasif dapat menebak bilangan acak yang dihasilkan untuk kunci sesi, dan dengan demikian mendekripsi ciphertext yang melewati jaringan.
Apakah klien membocorkan informasi saat menemukan kesalahan padding? Jika demikian, maka itu mungkin rentan terhadap serangan oracle padding , seperti halnya dengan Steam Gaming Client .
Bagaimana cara klien menerapkan ECDSA ? Apakah klien menghasilkan k acak baru untuk setiap tanda tangan yang dibuatnya? Jika tidak, penyerang pasif dapat menghitung kunci penandatanganan pribadi setelah mengamati beberapa tanda tangan, seperti yang terjadi pada Sony Playstation 3 .
Ini hanyalah beberapa contoh. Namun, seperti yang Anda lihat, kesalahan kecil dalam penerapan kriptografi dapat menimbulkan konsekuensi yang menghancurkan. Inilah sebabnya mengapa kriptografi sangat sulit dilakukan dengan benar.