การสนทนาเป็นโอเพ่นซอร์สและไคลเอ็นต์ Jabber/XMPP ที่ปลอดภัยสำหรับ Android

การสนทนาเป็นโอเพ่นซอร์สและไคลเอ็นต์ Jabber/XMPP ที่ปลอดภัยสำหรับ Android แอพส่งข้อความโต้ตอบแบบทันทีที่สะดวกสบายโดยไม่กระทบต่อความเป็นส่วนตัวของคุณ

Facebook Messenger, WhatsApp และ WeChat เป็นแอปส่งข้อความสามอันดับแรกที่ครองตลาดในปัจจุบัน ความโดดเด่นอย่างต่อเนื่องของพวกเขาสามารถอธิบายได้อย่างง่ายดายด้วยการรวมอินเทอร์เฟซที่ใช้งานง่ายพร้อมกับฐานผู้ใช้นับล้านคน อย่างไรก็ตาม แต่ละแอป IM เหล่านี้มีข้อบกพร่องประการหนึ่ง: เป็นของยักษ์ใหญ่โซเชียลมีเดีย หากมีคนสมัครบัญชี WhatsApp พวกเขาจะต้องยอมรับข้อตกลงสิทธิ์การใช้งานผู้ใช้ของ Facebook ด้วย เป็นที่เข้าใจกันโดยทั่วไปว่าคุณแลกเปลี่ยนความเป็นส่วนตัวของคุณเพื่อใช้บริการที่สะดวกสบายเหล่านี้ แม้ว่านักพัฒนา WhatsApp จะใช้การเข้ารหัสจากต้นทางถึงปลายทางเป็นคุณสมบัติมาตรฐาน แต่ตัวแอปเองก็ไม่ได้เป็นเช่นนั้น โอเพ่นซอร์สโดยสมบูรณ์ ดังนั้นจึงขึ้นอยู่กับความไว้วางใจไม่ว่าคุณจะเชื่อว่า Whatsapp ไม่สามารถรวบรวมข้อมูลได้หรือไม่ คุณ.

เพื่อประสบการณ์การรับส่งข้อความที่ราบรื่น แอปรับส่งข้อความโต้ตอบแบบทันทีหลัก ๆ ทั้งหมดอาศัยการใช้งานการถ่ายโอนข้อความดั้งเดิมของ Android ที่เรียกว่า Google Cloud Messaging (GCM) ข้อความจะติดต่อกับผลประโยชน์ทางธุรกิจก่อนที่จะถึงเซิร์ฟเวอร์ด้วยซ้ำ ผู้ใช้ส่วนใหญ่ไม่เต็มใจหรือไม่สามารถตรวจสอบได้ว่าบริการที่พวกเขาใช้นั้นรักษาสัญญาหรือไม่ ผู้เชี่ยวชาญสามารถเดาได้ว่า WhatsApp ยังคงเป็นไปตามมาตรฐานความปลอดภัยบางอย่างหรือไม่หลังจากแอปพลิเคชันถูกใช้งานแล้ว ปรับปรุงแล้ว การอัปเดตทุกครั้งต้องมีการตรวจสอบความปลอดภัยที่เป็นอิสระซึ่งต้องอาศัยความร่วมมือจากผู้ให้บริการ ในกรณีนี้คือ Facebook

ความเป็นอิสระเป็นกุญแจสำคัญที่นี่ ซึ่งนำเราไปสู่ บทสนทนา Messenger. เป็นแอปส่งข้อความโต้ตอบแบบทันทีแบบโอเพ่นซอร์สเต็มรูปแบบซึ่งหลีกเลี่ยงการใช้ GCM โดยใช้ XMPP โปรโตคอลแทน—ให้การควบคุมแก่ผู้ใช้ บทสนทนา ช่วยให้คุณได้ ใช้งานหลายบัญชีพร้อมกัน และคุณยังสามารถใช้บัญชีอื่นสำหรับผู้ติดต่อแต่ละรายได้อีกด้วย ในขณะที่ผู้ส่งสารรายอื่นไม่ได้กล่าวถึงเซิร์ฟเวอร์ใดที่มีการอัพโหลดข้อมูลที่ให้มาอย่างชัดเจน Conversations ช่วยให้ผู้ใช้สามารถตัดสินใจได้ว่าเซิร์ฟเวอร์ Jabber ใดสมควรได้รับความไว้วางใจ หรือคุณสามารถใช้เซิร์ฟเวอร์ของคุณเองก็ได้ การสนทนายังนำเสนอเซิร์ฟเวอร์ที่ได้รับการปรับแต่งให้เหมาะกับความต้องการ และการใช้งานเซิร์ฟเวอร์ 6 เดือนแรกนั้นฟรี

ตัวเลือกจะแยกการสนทนาออกจากฝูงชน แอปพลิเคชันรองรับการสลับระหว่างอัลกอริธึมการเข้ารหัสได้ทันทีและคุณสามารถเลือกอัลกอริธึมการเข้ารหัสได้สามแบบ: PGP, OTR และ OMEMO. แม้ว่า PGP และ OTR จะเป็นอัลกอริธึมที่เชื่อถือได้ แต่ OMEMO ก็ยังเดินหน้าต่อไป OTR ไม่เคยเหมาะสำหรับผู้ใช้ส่วนใหญ่เพียงเพราะว่าพันธมิตรการสื่อสารทั้งสองต้องออนไลน์ในเวลาเดียวกันเพื่อส่งข้อความ OMEMO แก้ปัญหาข้อเสียเปรียบที่สำคัญของ OTR นี้ การส่งข้อความไม่จำเป็นต้องให้ผู้ใช้ทั้งสองออนไลน์พร้อมกัน

ข้อเสนอของ OMEMO ส่งต่อความลับ. สิ่งนี้หมายความว่า? มันมีการป้องกันเพิ่มเติมอีกชั้นเพื่อรักษาข้อมูลของคุณให้ปลอดภัย ต่อไปนี้เป็นสถานการณ์: การเข้ารหัสจากต้นทางถึงปลายทางอาศัยคีย์ส่วนตัวที่จัดเก็บไว้ในอุปกรณ์เท่านั้น ดังนั้นหากโทรศัพท์ถูกขโมย คีย์ส่วนตัวจะตกไปอยู่ในมือของขโมย หากไม่มี Forward Secrecy ขโมยก็สามารถถอดรหัสข้อความทั้งหมดที่เก็บไว้ในโทรศัพท์ได้ โปรโตคอล Forward Secrecy จะสร้างคีย์แบบสุ่มสำหรับแต่ละเซสชัน ดังนั้นแม้ว่าคีย์ส่วนตัวจะอยู่ในมือผิด แต่ข้อความที่เก็บไว้ก็ยังคงปลอดภัย

โดยปกติแล้วผู้ใช้จะเชื่อถือตัวตนของคู่สนทนาของตน ดังนั้น OMEMO จึงใช้ข้อมูลระบุตัวตนของอุปกรณ์ คีย์ OMEMO ทุกอันมาพร้อมกับลายนิ้วมือที่ไม่ซ้ำกัน ช่วยให้สามารถตรวจสอบคู่สนทนาได้ เช่น ผ่านทางโทรศัพท์ เมื่อคู่สนทนาได้รับการยืนยันแล้ว อัลกอริธึมวงล้อคู่ ทำให้มั่นใจได้ว่ามีเพียงผู้รับข้อความเท่านั้นที่สามารถถอดรหัสได้ Double Ratchet สร้างและเข้ารหัสทุกข้อความด้วยคีย์ชั่วคราว เมื่อการส่งมอบสำเร็จ คีย์จะไม่มีค่าและไม่สามารถใช้เพื่อถอดรหัสสิ่งใดๆ ได้ มีไว้เพื่อรักษาข้อมูลให้ปลอดภัยขณะเดินทางผ่านเวิลด์ไวด์เว็บเท่านั้น

การสนทนามีให้บริการบน Google Play Store และ Amazon App Store แม้ว่าเวอร์ชันของ App Store จะไม่ฟรี แต่แอปพลิเคชันก็เป็นเช่นนั้น โอเพ่นซอร์ส เพื่อให้คุณสามารถรวบรวมไว้ใช้เองหรือ คว้ามันมาจาก F-Droid.

การสนทนา (Jabber / XMPP)ผู้พัฒนา: ดาเนียล กุลทช์

ราคา: 3.99.

4.2.

ดาวน์โหลด

[กล่องแอป amazonapps B00WD35AAC]

สนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแอพจากปากม้าหรือไม่? Daniel Gultsch หัวหน้าผู้พัฒนา Conversations ใช้เวลาตอบคำถามของฉัน


สัมภาษณ์ผู้พัฒนาการสนทนา

Q: ช่วยแนะนำตัวเองสั้นๆ หน่อยได้ไหม?

ตอบ: ฉันชื่อ Daniel Gultsch ฉันทำงานเป็นนักพัฒนาซอฟต์แวร์และที่ปรึกษาอิสระ

ถาม: อะไรเป็นแรงบันดาลใจให้คุณพัฒนาการสนทนา

ตอบ: ฉันใช้ Jabber/XMPP มาหลายปีแล้ว ย้อนกลับไปในปี 2009 ฉันสามารถใช้ Jabber บน Nokia e71 ได้ ประมาณปี 2012 ฉันเปลี่ยนมาใช้โทรศัพท์ Android ดังนั้นฉันจึงไม่สามารถใช้ Jabber ได้ มีไคลเอนต์ Jabber สำหรับ Android (Xabber) แต่มันก็ตรงกันข้ามกับรูปลักษณ์ที่ดึงดูดสายตา

ในต้นปี 2014 ฉันสงสัยว่าการพัฒนาไคลเอนต์แชทที่ดูดีกว่า (กว่า Xabber) อาจจะยากแค่ไหน ณ จุดนี้ ฉันมีประสบการณ์ในด้านการพัฒนาซอฟต์แวร์ แต่ไม่ใช่สำหรับ Android หลังจากนั้นไม่กี่วัน UI Mockup ก็มีชีวิตขึ้นมา ฉันจึงสงสัยว่าการสอนการส่งและรับข้อความ Jabber ไปยัง UI นี้เป็นเรื่องยากเพียงใด ทำงานเต็มเวลาสามเดือนต่อมา เวอร์ชันแรกของการสนทนาได้รับการเผยแพร่

ถาม: คุณให้เหตุผลสามประการได้ไหมว่าทำไมการสนทนาจึงปกป้องความเป็นส่วนตัวของคุณดีกว่า Whatsapp หรือ Threema

ตอบ: ฉันไม่จำเป็นต้องให้หมายเลขโทรศัพท์ส่วนตัวแก่คนแปลกหน้าหากต้องการสนทนากับพวกเขา ฉันสามารถมีบัญชีส่วนตัวและบัญชีธุรกิจได้ ฉันสามารถปิดการใช้งานบัญชีธุรกิจได้หลังจากกะทำงาน เพื่อป้องกันไม่ให้เจ้านายของฉันรบกวนฉันในช่วงเวลาว่าง WhatsApp ช่วยให้ทุกคนสามารถวิเคราะห์รูปแบบการใช้งานแอปของฉันได้ตลอดเวลา (เจ้านายของฉันสามารถสะกดรอยตามฉันเพื่อตรวจสอบว่าฉันใช้ WhatsApp ในช่วงเวลาทำงานหรือว่าฉันใช้งานอยู่หรือไม่ WhatsApp ตอนกลางคืนแทนที่จะนอนและมาพักผ่อนที่ออฟฟิศอย่างดี) สิ่งนี้แตกต่างกับ บทสนทนา; การสนทนาไม่ได้อัปโหลดสมุดที่อยู่ทั้งหมดของฉันไปที่ Facebook

ถาม: การสมัครสมาชิกบัญชี Conversations.im หนึ่งปีมีค่าใช้จ่ายเท่าไร

A: 8 ยูโร (ประมาณ 9 ดอลลาร์สหรัฐฯ) หลังจากช่วงทดลองใช้งานหกเดือน การสมัครสมาชิกจะไม่ต่ออายุตัวเอง ไม่จำเป็นต้องยกเลิกการสมัครสมาชิก

ถาม: บัญชี Conversations.im มีข้อดีอะไรบ้างเมื่อเปรียบเทียบกับเซิร์ฟเวอร์ XMPP อื่นๆ

ตอบ: คุณสมบัติใหม่ซึ่งต้องการการสนับสนุนฝั่งเซิร์ฟเวอร์จะถูกส่งไปยัง Conversation.im ก่อน โดยทั่วไปแล้ว เรากำลังพยายามเรียกใช้การสนทนา.im โดยมีข้อกำหนดที่สูงขึ้นเล็กน้อย เซิร์ฟเวอร์ที่ขับเคลื่อนโดยโครงการงานอดิเรกอาจล้มเหลวเป็นเวลาหนึ่งวันในขณะที่บุคคลนั้นอยู่ในช่วงวันหยุด เราพยายามหลีกเลี่ยงสิ่งเหล่านี้สำหรับการสนทนา อย่างน้อยในช่วงเวลาให้บริการก็มีคนคอยดูแลเซิร์ฟเวอร์อยู่เสมอหากจำเป็น นอกจากนี้คุณยังสนับสนุนการพัฒนาเซิร์ฟเวอร์ซึ่งเป็นโอเพ่นซอร์สด้วย การเปลี่ยนแปลงที่ทำขึ้นโดยเฉพาะสำหรับแอปการสนทนาของเราจะไปอยู่ในโค้ดของเซิร์ฟเวอร์และผู้อื่นจะสามารถเข้าถึงได้

ถาม: ฉันสามารถซื้อการสนทนาผ่าน Bitcoin ได้หรือไม่

ตอบ: ไม่ใช่แอป แอปนี้จำหน่ายที่ Google PlayStore พวกเขาไม่ยอมรับ Bitcoins คุณสามารถดาวน์โหลดแอปได้ฟรีผ่าน Open Source App Store F-Droid ในกรณีนั้น ฉันยินดีรับการบริจาคผ่าน Bitcoin

ถาม: OMEMO คืออะไร

ตอบ: การเข้ารหัสตั้งแต่ต้นจนจบ (เป็นทางเลือก) สำหรับ Jabber

OTR ล้มเหลวอย่างง่ายดาย หากข้อความบางข้อความหายไปเนื่องจากสัญญาณโทรศัพท์ไม่ดี ข้อความติดตามผลก็ไม่สามารถส่งได้เช่นกัน นอกจากนี้ OTR ยังสามารถแลกเปลี่ยนข้อความระหว่างอุปกรณ์สองเครื่องได้สูงสุดเท่านั้น ตัวอย่างเช่น: เมื่อฉันเข้าสู่ระบบด้วยอุปกรณ์สองเครื่องพร้อมกัน (โทรศัพท์มือถือและเดสก์ท็อป) คู่สัญญาของฉันต้องตัดสินใจว่าเขาต้องการส่งข้อความไปยังโทรศัพท์หรือเดสก์ท็อป หากคู่ของฉันไม่สามารถมีญาณทิพย์ได้ อุปกรณ์ใดที่ฉันใช้อยู่ นี่ก็เป็นปัญหา นอกเหนือจากนั้นข้อความจะไม่ถูกซิงค์ในกรณีนั้น และฉันพลาดส่วนหนึ่งของประวัติการสนทนาบนอุปกรณ์แต่ละเครื่อง OMEMO กำจัดปัญหาทั้งสองอย่าง OMEMO มีความน่าเชื่อถือมากกว่าและสามารถจัดการอุปกรณ์ได้มากขึ้น

ถาม: Forward Secrecy คืออะไร

ตอบ: สมมติว่าฉันจะลบประวัติการสนทนาของฉันบ่อยๆ (สามารถลบข้อความที่เก่ากว่าระยะเวลาที่กำหนดไว้ได้โดยอัตโนมัติ

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

หากการเข้ารหัสไม่มี Forward Secrecy แสดงว่าใครบางคนสามารถรวมเนื้อหาสำคัญที่พบได้ ในโทรศัพท์ของฉันบวกกับข้อความที่เข้ารหัสที่เขาบันทึกไว้ก่อนที่เขาจะสามารถสร้างที่ราบขึ้นใหม่ได้ ข้อความ. หากการเข้ารหัสมี Forward Secrecy สิ่งนี้จะไม่สามารถทำได้

ถาม: คำว่า Per Message Overhead อธิบายถึงอะไร

ตอบ: จำนวนแบนด์วิดธ์ที่ต้องการเพิ่มตามลำดับโดยการเข้ารหัส สมมติว่าข้อความที่ไม่ได้เข้ารหัสมีขนาด 2KB และข้อความเดียวกันที่เข้ารหัสจะมีขนาด 5KB ในกรณีนี้ 3KB คือ "ค่าใช้จ่าย" ที่สร้างขึ้นโดยการเข้ารหัส

ถาม: คุณวางแผนที่จะใช้ฟีเจอร์การโทรหรือไม่

ตอบ: ไม่ คุณสมบัติใหม่จะเกิดขึ้นหากฉันต้องการเองหรือหากสมเหตุสมผลจากมุมมองทางเศรษฐกิจ (จะมีคนใช้แอปนี้อีกกี่คนถ้ามีฟีเจอร์นี้อยู่ และการพัฒนาดังกล่าวมีราคาแพงแค่ไหน) คุณลักษณะ?) น่าเสียดายที่คุณลักษณะการโทรมีราคาแพงมากและโดยส่วนตัวแล้วฉันไม่สนใจเรื่องนี้มากนัก คุณสมบัติ.

ถาม: ฉันจะสนับสนุนการพัฒนาแอปหลังจากซื้อแอปพลิเคชันได้อย่างไร

A: มีรายละเอียดเกี่ยวกับวิธีการบริจาคบนเว็บไซต์ของเรา แน่นอนว่าการโปรโมตและการโฆษณาก็ช่วยได้เช่นกัน และแอปนี้เป็นโอเพ่นซอร์ส ผู้ที่สามารถพัฒนาซอฟต์แวร์ได้ย่อมสามารถช่วยเขียนโค้ดได้

ถาม: คุณได้พัฒนา OMEMO-Algorithm ด้วยตัวเองหรือไม่

ตอบ: ไม่ มันเป็นโครงการ Google Summer of Code (Google Summer of Code หมายความว่า Google จ่ายเงินให้นักเรียน 3 เดือนในการทำงานในโครงการ Open Source) OMEMO ได้รับการพัฒนาเพื่อการสนทนาโดยนักเรียน

ถาม: คุณมีแผนอะไรเพิ่มเติมในการพัฒนาการสนทนา?

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

ถาม: อนุญาตให้รวบรวมการสนทนาของคุณเองจาก Github ของคุณและใช้เพื่อการใช้งานส่วนตัวได้หรือไม่

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

ถาม: เป็นไปได้ไหมที่จะส่งสัญญาณการสนทนาผ่าน VPN

ก. ใช่.

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

ตอบ: เปิดใช้งาน Adblocking ภายในเบราว์เซอร์ของคุณ ตัวอย่างเช่น Firefox (มีให้สำหรับ Android ด้วย) และ Add-On uBlock

ปิดบริการระบุตำแหน่ง (ใน Android เวอร์ชันล่าสุดจะมี Quicktile) เมื่อไม่ได้ใช้งาน มิฉะนั้น Google จะรู้ว่าคุณอยู่ที่ไหนตลอดเวลา

สองสิ่งนี้ใช้ง่ายมากและมีประโยชน์ในทางปฏิบัติ


หมายเหตุบรรณาธิการ: บทความนี้เขียนเป็นภาษาเยอรมันโดยRaúl Radonz แปลโดย Raúl Radonz และเรียบเรียงโดย Mishaal Rahman Raúl Radonz และ XDA-Developers ขอขอบคุณ Mr. Gultsch ที่สละเวลาในการสัมภาษณ์ครั้งนี้