การประเมินความปลอดภัยของการใช้ SSL / TLS แบบเดิมบนอุปกรณ์ IoT

Aug 16 2020

ฉันกำลังทำการประเมินความปลอดภัยเกี่ยวกับความปลอดภัยในการสื่อสารของอุปกรณ์ IoT แบบเดิม มีวัตถุประสงค์เพื่อประเมินและค้นหาช่องว่างด้านความปลอดภัยในการออกแบบ / การนำไปใช้งานปัจจุบัน

โหมดการประเมินเป็นแบบแมนนวลโดยส่วนใหญ่อ้างอิงการออกแบบและรหัสที่มีอยู่ นี่เป็นเฉพาะฝั่งไคลเอ็นต์ที่อุปกรณ์เท่านั้น ในขณะที่เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์บนคลาวด์ อุปกรณ์กำลังใช้โมดูล GSM (SIMCom SIM900) และทำการสื่อสาร HTTPS ไปยังเซิร์ฟเวอร์ผ่านอินเทอร์เน็ตโดยใช้คำสั่ง GSM AT

จากความเข้าใจของฉันเกี่ยวกับ SSL / TLS ฉันกำลังพิจารณาพารามิเตอร์หรือเกณฑ์ด้านล่างสำหรับการประเมินนี้:

ก. เวอร์ชันโปรโตคอล TLS

ข. ใช้ชุดการเข้ารหัส

ค. ใบรับรองและการจัดการคีย์

ง. Root CA ที่ติดตั้งบนอุปกรณ์

จ. ด้าน PKI ในตัวสำหรับการจัดการข้อมูลประจำตัวของอุปกรณ์

ฉ. ด้านการเข้ารหัสฮาร์ดแวร์ (SHE / TPM)

ฉันทำถูกวิธีหรือเปล่า แม้ว่าฉันคิดว่ารายการพารามิเตอร์ข้างต้นไม่เฉพาะเจาะจงสำหรับแพลตฟอร์ม Device HW / SW ค่อนข้างทั่วไป แต่ฉันเดาว่ามันควรจะเป็น! ฉันหมายถึงรายการพารามิเตอร์จะค่อนข้างเหมือนกัน อย่างไรก็ตามการประเมินตามความเป็นจริงเกี่ยวกับสิ่งเหล่านี้จะขึ้นอยู่กับข้อกำหนดด้านความปลอดภัยและด้านอื่น ๆ เช่นรอยเท้าอุปกรณ์และแพลตฟอร์มเป็นต้น

รายการพารามิเตอร์การประเมินที่ฉันกำลังพิจารณานั้นดีและเพียงพอหรือไม่

คำตอบ

3 mti2935 Aug 16 2020 at 05:47

นี่เป็นการเริ่มต้นที่ดี แต่การประเมินอย่างละเอียดจะต้องลงลึกกว่านี้มาก ตัวอย่างเช่น:

  • ไคลเอนต์สร้างตัวเลขสุ่มได้อย่างไร มันใช้CSPRNGหรือไม่? หรือไม่หรือใช้ตัวสร้างตัวเลขสุ่มที่อ่อนแอเช่นเดียวกับที่ใช้ใน Netscape Navigator เวอร์ชันแรกซึ่งผู้โจมตีแฝงสามารถคาดเดาตัวเลขสุ่มที่สร้างขึ้นสำหรับคีย์เซสชันและถอดรหัสรหัสลับผ่านเครือข่าย

  • ข้อมูลไคลเอนต์รั่วไหลเมื่อพบข้อผิดพลาดในการขยายหรือไม่ ถ้าเป็นเช่นนั้นก็อาจจะไวต่อการโจมตี oracle paddingเช่นกรณีที่มีไคลเอ็นต์การเล่นเกมไอน้ำ

  • ลูกค้าใช้ECDSAอย่างไร ไคลเอนต์สร้างสุ่มkใหม่สำหรับแต่ละลายเซ็นที่สร้างขึ้นหรือไม่ ถ้าไม่ได้ก็อาจจะเป็นไปได้สำหรับผู้โจมตีเรื่อย ๆ ในการคำนวณที่สำคัญการลงนามส่วนตัวหลังจากการเฝ้าสังเกตไม่กี่ลายเซ็นเป็นกรณีที่เกิดขึ้นกับSony Playstation 3

นี่เป็นเพียงตัวอย่างบางส่วน แต่อย่างที่คุณเห็นข้อผิดพลาดเล็กน้อยในการใช้งานการเข้ารหัสอาจส่งผลร้ายได้ ด้วยเหตุนี้การเข้ารหัสจึงยากที่จะทำให้ถูกต้อง