Signal แอพแชทเข้ารหัสได้อัพเดตฟีเจอร์ใหม่สำหรับ iOS และ Android โดยมีรายการปรับปรุงดังนี้
สำหรับ Android อัพเดตเป็นเวอร์ชัน 4.13.6 โดยมีอีโมจิใหม่ 56 แบบ รองรับ Unicode 10.0 และ Emoji 5.0, แถบค้นหาเข้าถึงได้ง่ายขึ้น และตอบรับสายเรียกเข้าได้โดยการปัดขึ้นหรือลง
ส่วนบน iOS นั้นเป็นเวอร์ชัน 2.19.2 โดยมีฟีเจอร์ใหม่ดังนี้
ถัดไปคือ Signal Beta สำหรับ iOS ทางผู้พัฒนาจะเริ่มทดสอบการค้นหาไฟล์ GIF ภายในแอพ Signal ซึ่งทางผู้พัฒนาได้อธิบายถึงวิธีการปกป้องความเป็นส่วนตัวของผู้ใช้ด้วย เนื่องจากบริการค้นหาไฟล์ GIF อย่างเช่น GIPHY จะให้ส่งสตริงไปหาโดยตรง แต่ Signal จะใช้ proxy เพื่อป้องกันอีกชั้น โดยมีกระบวนการดังนี้
จะเห็นได้ว่า การเชื่อมต่อนั้นผ่าน TLS ในทุกช่องทางที่เข้าสู่ GIPHY ดังนั้นบริการ Signal จะไม่เห็นข้อมูลว่ามีการรับส่งอะไรบ้าง และการเชื่อมต่อ TCP นั้นถูก proxy ผ่านระบบของ Signal เอง ดังนั้น GIPHY ก็จะไม่ทราบว่าใครเป็นคนเรียกข้อมูล (หรือว่าง่าย ๆ คือ Signal จะทำตัวเป็นเหมือน VPN สำหรับทราฟฟิกที่ส่งไปยัง GIPHY นั่นเอง)
แต่ยังไม่จบแค่นั้น Signal กล่าวว่าหากเซิร์ฟเวอร์ที่ให้บริการเกิดปัญหาอย่างเช่นมีผู้บุกรุก ข้อมูลที่ส่งผ่านเซิร์ฟเวอร์ก็จะสามารถวัดได้ว่าข้อมูลมีขนาดเท่าไร ดังนั้น Signal จะใช้วิธีการ padding ด้วยค่าสุ่มเข้าไปอีกชั้นที่ตัว ซึ่งจะทำให้ขนาดข้อมูลที่เห็นโดย Signal ก็จะไม่ใช่ขนาดจริง ด้วยมาตรฐาน RFC 7233 ที่อนุญาตให้ไคลเอนท์สามารถระบุว่าส่วนไหนของไฟล์ที่ต้องการรับจากเซิร์ฟเวอร์ระยะไกล โดยจะใส่เฮดเดอร์ Range เข้าไปใน request และเซิร์ฟเวอร์จะส่งส่วนของคอนเทนต์ตามขนาดไบต์มาให้
ยกตัวอย่างเช่น ไฟล์ขนาด 13 ไบต์ เลือกขนาดบล็อกมา เช่น 6 ไบต์ต่อบล็อก ซึ่งจะทำให้เหลือ 1 ไบต์ในบล็อกสุดท้าย ในส่วนบล็อกสุดท้ายนี้จะใช้วิธีให้บล็อกสุดท้ายเป็นคอนเทนต์จริงเฉพาะไบต์สุดท้าย ส่วนที่เหลือ 5 ไบต์แรกจะเป็น padding ดังนั้นเมื่อผู้ใช้ request ทั้งหมด 3 บล็อก สองบล็อกแรกจะเป็นข้อมูลเต็ม ส่วนบล็อกสุดท้ายก็จะทิ้ง 5 ไบต์ซึ่งเป็น padding ออกไปคงเหลือเฉพาะข้อมูลจริง 1 ไบต์เท่านั้น มาประกอบกันเป็นข้อมูลจริง
รายละเอียดฉบับเต็มและวิธีการทดสอบอ่านได้จาก Signal
ที่มา - Signal, App Store, Google Play
Comments
แต่หัวข่าวมีแค่ iOS?
ตาม update note นั้น Android ไม่ได้มีการเปลี่ยนแปลงอะไรขนาดนั้นครับ (เน้นเพิ่มฟีเจอร์เล็ก ๆ น้อย ๆ และไม่ได้กล่าวถึงเรื่องการปรับปรุงประสิทธิภาพ) ในขณะที่ iOS เน้นที่การปรับปรุงประสิทธิภาพ แล้วก็ไม่อยากจะเขียนแยกไปคนละข่าว เลยใช้หัวข้อแบบนี้ครับ