การส่งข้อความผ่าน iMessage เป็นวิธียอดนิยมในการสื่อสารระหว่างอุปกรณ์ iOS และคอมพิวเตอร์ Mac เซิร์ฟเวอร์ของ Apple ประมวลผลข้อความนับสิบล้านทุกวัน และเมื่อยอดขายอุปกรณ์ที่ถูกกัดโดย Apple เติบโตขึ้น iMessage ก็ได้รับความนิยมเช่นกัน แต่คุณเคยคิดบ้างไหมว่าข้อความของคุณได้รับการปกป้องจากผู้โจมตีที่อาจเกิดขึ้นได้อย่างไร
แอปเปิลเพิ่งเปิดตัว เอกสาร อธิบายความปลอดภัยของ iOS มันอธิบายกลไกความปลอดภัยที่ใช้ใน iOS ได้เป็นอย่างดี - ระบบ, การเข้ารหัสและการป้องกันข้อมูล, ความปลอดภัยของแอปพลิเคชัน, การสื่อสารเครือข่าย, บริการอินเทอร์เน็ต และความปลอดภัยของอุปกรณ์ หากคุณเข้าใจด้านความปลอดภัยเพียงเล็กน้อยและไม่มีปัญหาในการใช้ภาษาอังกฤษ คุณสามารถค้นหา iMessage ได้ที่หน้า 20 ถ้าไม่เช่นนั้น ฉันจะพยายามอธิบายหลักการความปลอดภัยของ iMessage ให้ชัดเจนที่สุด
พื้นฐานของการส่งข้อความคือการเข้ารหัส สำหรับฆราวาส สิ่งนี้มักเกี่ยวข้องกับขั้นตอนที่คุณเข้ารหัสข้อความด้วยคีย์และผู้รับถอดรหัสด้วยคีย์นี้ คีย์ดังกล่าวเรียกว่าสมมาตร จุดสำคัญในกระบวนการนี้คือการส่งมอบกุญแจให้กับผู้รับ หากผู้โจมตีจับได้ พวกเขาสามารถถอดรหัสข้อความของคุณและปลอมตัวเป็นผู้รับได้ เพื่อให้ง่ายขึ้น ลองนึกภาพกล่องที่มีแม่กุญแจซึ่งมีกุญแจเพียงดอกเดียวพอดี และด้วยกุญแจนี้คุณสามารถแทรกและนำสิ่งที่อยู่ในกล่องออกได้
โชคดีที่มีการเข้ารหัสแบบไม่สมมาตรโดยใช้สองคีย์ - สาธารณะและส่วนตัว หลักการคือทุกคนสามารถรู้กุญแจสาธารณะของคุณได้ แน่นอนว่ามีเพียงคุณเท่านั้นที่รู้กุญแจส่วนตัวของคุณ หากมีคนต้องการส่งข้อความถึงคุณ พวกเขาจะเข้ารหัสด้วยรหัสสาธารณะของคุณ ข้อความที่เข้ารหัสสามารถถอดรหัสได้ด้วยรหัสส่วนตัวของคุณเท่านั้น หากคุณจินตนาการถึงกล่องจดหมายอีกครั้งด้วยวิธีที่เรียบง่าย คราวนี้จะมีล็อคสองตัว ด้วยคีย์สาธารณะ ทุกคนสามารถปลดล็อกเพื่อแทรกเนื้อหาได้ แต่มีเพียงคุณที่มีคีย์ส่วนตัวเท่านั้นที่สามารถเลือกได้ เพื่อความแน่ใจ ฉันจะเพิ่มว่าข้อความที่เข้ารหัสด้วยกุญแจสาธารณะไม่สามารถถอดรหัสด้วยกุญแจสาธารณะนี้ได้
การรักษาความปลอดภัยทำงานอย่างไรใน iMessage:
- เมื่อเปิดใช้งาน iMessage จะมีการสร้างคู่คีย์สองคู่บนอุปกรณ์ - 1280b RSA เพื่อเข้ารหัสข้อมูล และ 256b ECDSA เพื่อตรวจสอบว่าข้อมูลไม่ได้ถูกแก้ไขในระหว่างทาง
- คีย์สาธารณะทั้งสองจะถูกส่งไปยังบริการไดเรกทอรีของ Apple (IDS) แน่นอนว่าคีย์ส่วนตัวทั้งสองจะยังคงถูกจัดเก็บไว้ในอุปกรณ์เท่านั้น
- ใน IDS คีย์สาธารณะจะเชื่อมโยงกับหมายเลขโทรศัพท์ อีเมล และที่อยู่อุปกรณ์ของคุณในบริการแจ้งเตือนแบบพุชของ Apple (APN)
- หากมีคนต้องการส่งข้อความถึงคุณ อุปกรณ์ของพวกเขาจะค้นหาคีย์สาธารณะของคุณ (หรือคีย์สาธารณะหลายคีย์หากใช้ iMessage บนอุปกรณ์หลายเครื่อง) และที่อยู่ APN ของอุปกรณ์ของคุณใน IDS
- เขาเข้ารหัสข้อความโดยใช้ 128b AES และลงนามด้วยคีย์ส่วนตัวของเขา หากข้อความส่งถึงคุณบนอุปกรณ์หลายเครื่อง ข้อความนั้นจะถูกจัดเก็บและเข้ารหัสบนเซิร์ฟเวอร์ของ Apple แยกกันสำหรับอุปกรณ์แต่ละเครื่อง
- ข้อมูลบางอย่าง เช่น การประทับเวลา ไม่ได้รับการเข้ารหัสเลย
- การสื่อสารทั้งหมดดำเนินการผ่าน TLS
- ข้อความและไฟล์แนบที่ยาวขึ้นจะถูกเข้ารหัสด้วยคีย์แบบสุ่มบน iCloud แต่ละวัตถุดังกล่าวมี URI ของตัวเอง (ที่อยู่ของบางสิ่งบางอย่างบนเซิร์ฟเวอร์)
- เมื่อข้อความถูกส่งไปยังอุปกรณ์ทั้งหมดของคุณ ข้อความนั้นจะถูกลบ หากไม่ได้จัดส่งไปยังอุปกรณ์ของคุณอย่างน้อยหนึ่งเครื่อง ข้อมูลนั้นจะอยู่บนเซิร์ฟเวอร์เป็นเวลา 7 วันแล้วจึงลบออก
คำอธิบายนี้อาจดูซับซ้อนสำหรับคุณ แต่ถ้าคุณดูภาพด้านบน คุณจะเข้าใจหลักการนี้อย่างแน่นอน ข้อดีของระบบรักษาความปลอดภัยคือสามารถโจมตีจากภายนอกด้วยกำลังดุร้ายเท่านั้น สำหรับตอนนี้ เพราะผู้โจมตีเริ่มฉลาดขึ้น
ภัยคุกคามที่อาจเกิดขึ้นนั้นอยู่ที่ Apple เอง นี่เป็นเพราะเขาจัดการโครงสร้างพื้นฐานทั้งหมดของคีย์ ดังนั้นในทางทฤษฎีแล้วเขาสามารถมอบหมายอุปกรณ์อื่น (คีย์สาธารณะและคีย์ส่วนตัวอีกคู่หนึ่ง) ให้กับบัญชีของคุณได้ เช่น เนื่องจากคำสั่งศาล ซึ่งสามารถถอดรหัสข้อความขาเข้าได้ อย่างไรก็ตาม Apple ได้กล่าวไว้ในที่นี้ว่าจะไม่ทำและจะไม่ทำสิ่งนั้น
และมันถูกเข้ารหัสต่อหน้าใคร? SSL แบบปกติจะไม่เพียงพอหรือไม่ ข้อความจะถูกส่งไปยัง Apple แล้ว Apple ก็ส่งข้อความอีกครั้งผ่าน SSL หรือไม่ Apple มีพลังในการดักฟังข้อความอยู่ดี แล้วทำไมถึงมีเสียงรบกวนรอบๆ ล่ะ? ไม่ว่าในกรณีใด มันเป็นเพียงเรื่องของการป้องกันบุคคลที่สามจากการดักฟังข้อความ และ SSL ก็เพียงพอแล้ว
ถ้าเราเชื่อว่า Apple ไม่ส่งคีย์ส่วนตัว เขาก็จะไม่อ่านเช่นกัน อย่างไรก็ตาม SSL เป็นเพียงการนำการเข้ารหัสแบบอสมมาตรไปใช้ในการเชื่อมต่อไคลเอ็นต์-เซิร์ฟเวอร์
ดังนั้นเราจึงส่งข้อความ 2x เข้ารหัสผ่าน SSL และ Apple สามารถอ่านได้ หรือ 2x ไม่เข้ารหัสโดยที่เราขอกุญแจสาธารณะล่วงหน้าและใช้รหัสเดียวกันกับในกรณีของ SSL และ Apple ไม่สามารถอ่านได้ในทางทฤษฎี
และทำไมข้อมูลถึงถูกเข้ารหัสแม้กระทั่งที่ Apple? เพราะพนักงานบางคนจะสามารถเข้าถึงได้อย่างแน่นอน เขาถูกแฟนสาวนอกใจ เขาจึงเริ่มดาวน์โหลดข้อความของเธอ มันรั่วไหล และ Apple กำลังประสบปัญหา
ตะโกนตลก..