แนวทางปฏิบัติที่ดีที่สุดสำหรับการอัปเดตความปลอดภัย Over The Air [ปิด]


8

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

ตัวอย่างเช่น,

  • การป้องกันการอัปเดตไม่ให้ถูกดักข้อมูล
  • ปฏิบัติตามมาตรฐานที่กำหนด
  • แพลตฟอร์มสำหรับการกระจายซอฟต์แวร์
  • การอัพเดตอัตโนมัติกับการอัพเดตเสริม

5
คำถามนี้กว้างเกินไปที่จะตอบคำถามได้ดี
Sean Houlihane

1
@ SeanHoulihane ฉันได้ จำกัด ขอบเขตการรักษาความปลอดภัยของ OTA ให้แคบลง ตอนนี้มันเป็นอย่างไร
Noam Hacker

2
มันยังค่อนข้างกว้างเนื่องจากแต่ละหัวข้อย่อยอาจเป็นคำถามแบบสแตนด์อะโลนของตัวเอง แม้แต่สำหรับสัญลักษณ์แสดงหัวข้อย่อยสุดท้ายของการทดสอบความสำเร็จที่คุณสามารถเขียนหนังสือทั้งเล่มเกี่ยวกับมัน
Dom

1
ฉันเห็นด้วยกับ Dom ดีกว่าที่จะใช้แง่มุมหนึ่งของ OTA (เช่นทำให้มั่นใจถึงผลลัพธ์ที่เชื่อถือได้) ถึงแม้จะมีคำตอบมากมาย โดยอุดมคติแล้วคำถามควรต้องการคำตอบที่มีคุณภาพสูงหนึ่งหรือสองข้อเท่านั้นเพื่อให้คุณสามารถยอมรับว่า 'ตอบ'
Sean Houlihane

1
แก้ไขชื่อด้วยหรือไม่
Sean Houlihane

คำตอบ:


10

คำถามนั้นกว้างเกินไป แต่เมื่อคุณละทิ้งสิ่งที่สำคัญที่สุดเพียงอย่างเดียวฉันรู้สึกว่าฉันจำเป็นต้องเร่งรีบ

ตรวจสอบการปรับปรุง

หากคุณต้องการให้แน่ใจว่าอุปกรณ์ของคุณกำลังเรียกใช้รหัสของคุณคุณต้องมีการรับรองความถูกต้องไม่ใช่การเข้ารหัส การเข้ารหัสทำให้มั่นใจได้ว่าคนอื่นไม่สามารถรู้ว่ามีอะไรในรหัสของคุณและยากที่จะบรรลุและมีประโยชน์น้อยมาก (คุณสามารถเข้ารหัสได้ แต่ถ้าคีย์ถอดรหัสอยู่บนอุปกรณ์คุณจะไม่ได้รับอะไรนอกจากคุณจะมีวิธีป้องกันคีย์ถอดรหัสที่ไม่อนุญาตให้คุณปกป้องรหัสโดยตรง) ความถูกต้องเป็นคุณสมบัติที่คนอื่น ๆ ใช้ ไม่สามารถสร้างการอัปเดตปลอมได้และคุณสมบัตินั้นมักเป็นที่ต้องการ

โปรดทราบว่าการเข้ารหัสไม่ได้ช่วยในเรื่องความถูกต้อง นี่เป็นความเชื่อผิด ๆ ที่บางครั้งผู้คนที่ไม่เข้าใจความปลอดภัยจริงๆมี แต่มันก็ไม่จริง

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


มันไม่ถูกต้องจริงๆ การเข้ารหัสนั้นไม่ยากอย่างยิ่งที่จะบรรลุหรือเป็นเพียง "ไม่ค่อยมีประโยชน์" นอกจากนี้การเข้ารหัสนั้น "ไม่ได้ช่วยเรื่องความถูกต้อง" เป็นเพียงกึ่งจริง โหมดการเข้ารหัสที่ทันสมัยที่สุดเช่น GCM นั้นจริง ๆ แล้วเรียกว่า "การเข้ารหัสที่รับรองความถูกต้อง" ซึ่งรวมถึงความถูกต้องและการรักษาความลับ
mat

@mat ฉันได้เปลี่ยนประโยคนั้นให้ถูกต้องอย่างเป็นทางการ การเข้ารหัสไม่ยาก แต่ฉันอ้างถึงการรักษาความลับซึ่งเป็นเรื่องยาก การเข้ารหัสไม่ได้ให้ความลับกับคุณหากคุณไม่สามารถเก็บรหัสเป็นความลับ การเข้ารหัสไม่ได้ช่วยในเรื่องความถูกต้อง แต่อย่างใด หากคุณใช้การเข้ารหัสที่ผ่านการรับรองความถูกต้องมันจะให้ทั้งสองอย่าง แต่ความจริงที่ว่าการเข้ารหัสนั้นไม่ได้ช่วยในการตรวจสอบความถูกต้อง
Gilles 'หยุดความชั่วร้าย'

หากคีย์ของคุณถูกรั่ว crypto ทุกอันจะสูญเสียประโยชน์ของมันไม่ว่าจะเป็นความลับหรือเพื่อการพิสูจน์ตัวตน หากการใช้การเข้ารหัสด้วยคีย์ที่ไม่มีการป้องกันบนอุปกรณ์นั้นขึ้นอยู่กับรุ่นภัยคุกคามของคุณ (ความน่าเชื่อถือของอุปกรณ์ความสามารถของฝ่ายตรงข้าม)
mat

@ หมายเลขไม่ฉันควรตอบสนองต่อข้อสังเกต GCM นั้นในความคิดเห็นก่อนหน้านี้จริง ๆ แล้ว GCM ไม่ใช่วิธีที่เหมาะสมในการเผยแพร่การอัปเดตเนื่องจากหมายถึงการตรวจสอบความถูกต้องด้วยรหัสคลาส ยกเว้นว่าคุณกำลังสร้างแพลตฟอร์มที่มีความแข็งแกร่งสูง (เช่นสมาร์ทการ์ด) คีย์คลาสจะดีเท่าสาธารณะ การอัพเดตควรใช้การเข้ารหัสแบบอสมมาตร ด้วยวิธีนี้ในการปรับใช้การปรับปรุงปลอมไปยังอุปกรณ์อุปกรณ์นั้นจะต้องละเมิด: เพื่อสร้างการปรับปรุงปลอมที่ใช้งานได้ทุกที่ผู้โจมตีจะต้องทำลายเซิร์ฟเวอร์หรือโปรโตคอลและโดยทั่วไปแล้วอุปกรณ์เหล่านี้จะได้รับการปกป้องที่ดีกว่า สนาม
Gilles 'หยุดความชั่วร้าย'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.