Signal ออกอัพเดตบน iOS ปรับปรุงประสิทธิภาพหลายจุด, ทดสอบระบบค้นหาไฟล์ภาพ GIF

Signal แอพแชทเข้ารหัสได้อัพเดตฟีเจอร์ใหม่สำหรับ iOS และ Android โดยมีรายการปรับปรุงดังนี้

สำหรับ Android อัพเดตเป็นเวอร์ชัน 4.13.6 โดยมีอีโมจิใหม่ 56 แบบ รองรับ Unicode 10.0 และ Emoji 5.0, แถบค้นหาเข้าถึงได้ง่ายขึ้น และตอบรับสายเรียกเข้าได้โดยการปัดขึ้นหรือลง

ส่วนบน iOS นั้นเป็นเวอร์ชัน 2.19.2 โดยมีฟีเจอร์ใหม่ดังนี้

  • รองรับหน้าจอ iPhone X
  • ปรับปรุงเลย์เอาท์โค้ด เพื่อเพิ่มประสิทธิภาพและความยืดหยุ่น ผู้ใช้จะสังเกตได้ถึงความราบรื่นของทุกสิ่งในแอพ
  • ข้อมูลแชทเก่า ๆ สามารถเลื่อนขึ้นไปดูได้ โดยจะปรากฏอัตโนมัติ โดยไม่ต้องกดปุ่ม Load Earlier Messages อีกแล้ว
  • ประมวลผลข้อความไวขึ้น และใช้เครือข่ายได้อย่างมีประสิทธิภาพมากยิ่งขึ้น
  • Jumbomoji แสดงอีโมจิแบบใหม่ที่มีขนาดใหญ่ขึ้นในข้อความที่มีแต่อีโมจิ
  • ระบบรายงานการส่งข้อความล้มเหลวแสดงให้ผู้ใช้เห็นชัดเจนยิ่งขึ้น และส่งซ้ำได้ง่ายขึ้น
  • เพิ่มปุ่ม Tap For More สำหรับข้อความขนาดยาวมาก ๆ
  • การส่งไฟล์, ภาพ และ GIF ปรับปรุงใหม่ ไฟล์แนบจะแสดงพรีวิวบน message bar แทนที่จะมีหน้าจอยืนยันการส่งอีกครั้ง เพื่อให้ส่งไฟล์ได้เร็วขึ้น
  • ผู้ใช้ที่มีคีย์บอร์ดแยกสามารถใช้คีย์ลัด Shift+Return หรือ Command+Return ในการขึ้นไปข้างบนหรือแทนการกดปุ่มส่งตามลำดับ
  • เพิ่มภาษาที่รองรับ คือ Burmese, Hebrew และ Persian

ถัดไปคือ Signal Beta สำหรับ iOS ทางผู้พัฒนาจะเริ่มทดสอบการค้นหาไฟล์ GIF ภายในแอพ Signal ซึ่งทางผู้พัฒนาได้อธิบายถึงวิธีการปกป้องความเป็นส่วนตัวของผู้ใช้ด้วย เนื่องจากบริการค้นหาไฟล์ GIF อย่างเช่น GIPHY จะให้ส่งสตริงไปหาโดยตรง แต่ Signal จะใช้ proxy เพื่อป้องกันอีกชั้น โดยมีกระบวนการดังนี้

  • แอพ Signal เปิดการเชื่อมต่อ TCP กับบริการ Signal
  • บริการ Signal เปิดการเชื่อมต่อ TCP กับ GIPHY HTTPS API endpoint และถ่ายโอนข้อมูลระหว่างแอพและ GIPHY
  • แอพ Signal จะใช้ระบบ TLS ผ่านการเชื่อมต่อ TCP แบบ proxy ในทุก ๆ ช่องทางที่เชื่อมต่อไปยัง GIPHY HTTPS API endpoint

จะเห็นได้ว่า การเชื่อมต่อนั้นผ่าน 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



from Blognone https://www.blognone.com/node/97860
via IFTTT