Conversations הוא לקוח קוד פתוח ומאובטח Jabber/XMPP עבור אנדרואיד

Conversations הוא קוד פתוח ומאובטח לקוח Jabber/XMPP עבור אנדרואיד. אפליקציית הודעות מיידיות נוחה מבלי לוותר על הפרטיות שלך.

Facebook Messenger, WhatsApp ו-WeChat הן שלוש אפליקציות המסרים המיידיות המובילות השולטות כיום בשוק. הדומיננטיות המתמשכת שלהם מוסברת בקלות על ידי הכללת ממשק פשוט לשימוש יחד עם בסיס משתמשים של מיליוני אנשים. עם זאת, לכל אחת מיישומי ה-IM הללו יש פגם אחד: הם בבעלות ענקיות המדיה החברתית. אם מישהו נרשם לחשבון WhatsApp, הוא גם צריך להסכים להסכם רישיון המשתמש של פייסבוק. בדרך כלל מובן שאתה סוחר בפרטיות שלך כדי להשתמש בשירותים נוחים אלה. למרות שמפתחי WhatsApp יישמו הצפנה מקצה לקצה כתכונה סטנדרטית, האפליקציה עצמה לא קוד פתוח לחלוטין כך שזה מסתכם באמון עיוור אם אתה מאמין ש-Whatsapp לא יכול לאסוף נתונים עליהם אתה.

לחוויית העברת הודעות חלקה, כל אפליקציות ההודעות המיידיות הגדולות מסתמכות על היישום המקורי של העברת הודעות של אנדרואיד בשם Google Cloud Messaging (GCM). ההודעה מגיעה לאינטרסים עסקיים עוד לפני שהיא מגיעה לשרת. רוב המשתמשים לא מוכנים או מסוגלים לאמת אם השירות שבו הם משתמשים עומד בהבטחותיו, ואפילו מומחים יכולים רק לנחש אם WhatsApp עדיין עומדת בתקני אבטחה מסוימים לאחר שהאפליקציה כבר עברה מְעוּדכָּן. כל עדכון מצריך ביקורת אבטחה עצמאית הדורשת שיתוף פעולה של הספק - במקרה זה פייסבוק.

עצמאות היא המפתח כאן, שמוביל אותנו אליו Messenger שיחות. זוהי אפליקציית הודעות מיידיות בקוד פתוח לחלוטין אשר נמנעת משימוש ב-GCM על ידי שימוש ב XMPP פרוטוקול במקום זאת - נותן שליטה למשתמש. שיחות מאפשר לך ל להפעיל מספר חשבונות בו זמנית ואתה יכול אפילו להשתמש בחשבון אחר עבור כל איש קשר. בעוד שליחים אחרים אינם מזכירים באופן גלוי לאיזה שרת המידע הנתון מועלה, Conversations מאפשר למשתמש להחליט איזה שרת Jabber ראוי לאמון שלהם. לחלופין, אתה יכול אפילו פשוט להשתמש בשרת משלך. Conversations מציעה גם שרת מותאם לדרישות שלו, ו-6 החודשים הראשונים של השימוש בשרת הם בחינם.

בחירה מפרידה בין שיחות לקהל. האפליקציה תומכת במעבר בין אלגוריתמי הצפנה תוך כדי תנועה ותוכלו לבחור מבין שלושה אלגוריתמי הצפנה: PGP, OTR ו-OMEMO. בעוד PGP ו-OTR הם אלגוריתמים מהימנים היטב, OMEMO דוחף אותו הלאה. OTR מעולם לא התאים לרוב המשתמשים פשוט משום ששני שותפי התקשורת היו צריכים להיות מקוונים בו-זמנית להעברת הודעות. OMEMO פותר את החיסרון הגדול הזה של OTR; משלוח הודעות אינו מחייב את שני המשתמשים להיות מקוונים בו זמנית.

OMEMO מציע סודיות קדימה. מה זה אומר? הוא מציע שכבת הגנה נוספת השומרת על בטיחות הנתונים שלך. הנה תרחיש: הצפנה מקצה לקצה מסתמכת על המפתח הפרטי המאוחסן אך ורק במכשיר, כך שאם הטלפון נגנב, המפתח הפרטי נופל לידיו של הגנב. ללא Forward Secrecy, הגנב יכול לפענח את כל ההודעות המאוחסנות בטלפון. פרוטוקול Forward Secrecy יוצר מפתח אקראי עבור כל הפעלה, כך שגם אם המפתח הפרטי נמצא בידיים הלא נכונות, ההודעות המאוחסנות עדיין בטוחות.

בדרך כלל משתמשים סומכים על זהות שותף השיחה שלהם, אז זו הסיבה ש-OMEMO משתמשת בזהויות המכשיר. כל מקש OMEMO מגיע עם טביעת אצבע ייחודית המאפשרת לאמת את שותף השיחה למשל באמצעות שיחת טלפון. לאחר אימות שותפי הצ'אט, ה אלגוריתם ראצ'ט כפול מבטיח שרק מקבל ההודעה יוכל לפענח אותה. Double Ratchet יוצר ומצפין כל הודעה עם מפתח זמני. ברגע שהמשלוח מוצלח, המפתח חסר ערך ולא ניתן להשתמש בו כדי לפענח שום דבר. זה נועד רק לשמור על נתונים בטוחים בזמן נסיעה דרך הרשת העולמית.

שיחות זמינות בחנות Google Play ובחנות האפליקציות של אמזון. למרות שגרסאות חנות האפליקציות אינן חינמיות, האפליקציה כן קוד פתוח אז אתה יכול להרכיב אותו לעצמך או תפוס אותו מ-F-Droid.

שיחות (Jabber / XMPP)מפתח: דניאל גולטש

מחיר: 3.99.

4.2.

הורד

[appbox amazonapps B00WD35AAC]

מעוניינים ללמוד עוד על האפליקציה מפיו של הסוס? לדניאל גולטש, מפתח ראשי של Conversations, לקח קצת זמן לענות על השאלות שלי.


ראיון עם מפתח השיחות

ש: האם תוכל בבקשה להציג את עצמך בקצרה?

ת: שמי דניאל גולטש ואני עובד כמפתח תוכנה עצמאי ויועץ.

ש: מה הניע אותך לפתח שיחות?

ת: אני משתמש ב-Jabber/XMPP במשך שנים רבות. אפילו ב-2009 הצלחתי להשתמש ב-Jabber ב-Nokia e71 שלי. מתישהו בסביבות שנת 2012 עברתי לטלפון אנדרואיד, כך שפתאום לא יכולתי להשתמש ב-Jabber. היה לקוח Jabber לאנדרואיד זמין (Xabber), אבל זה היה ההפך ממושך חזותית.

בתחילת 2014 תהיתי כמה קשה זה עשוי להיות לפתח לקוח צ'אט, שנראה טוב יותר (מ-Xabber). בשלב זה היה לי ניסיון בתחום פיתוח תוכנה, אך לא לאנדרואיד. לאחר מספר ימים התעורר לחיים Mockup של ממשק המשתמש, אז תהיתי כמה קשה זה יכול להיות ללמד שליחה וקבלה של הודעות ג'בר לממשק המשתמש הזה. שלושה חודשים של עבודה במשרה מלאה לאחר מכן, הגרסה הראשונה של Conversations שוחררה.

ש: האם אתה יכול לתת שלוש סיבות מדוע Conversations מגן על הפרטיות שלך טוב יותר מאשר Whatsapp או Threema?

ת: אני לא צריך לתת את מספר הטלפון הפרטי שלי לזרים אם אני רוצה לשוחח איתם. יכול להיות לי חשבון פרטי ועסקי. אני יכול להשבית את החשבון העסקי לאחר המשמרת שלי, כדי למנוע מהבוס שלי לעצבן אותי בזמני הפנוי. WhatsApp מאפשר לכולם לנתח את דפוסי השימוש באפליקציה שלי בכל עת. (הבוס שלי יכול לרדוף אחרי כדי לבדוק אם אני משתמש ב-WhatsApp במהלך שעות העבודה שלי או אם אני משתמש וואטסאפ בלילה במקום לישון ולבוא מנוחים למשרד.) זה שונה עם שיחות; שיחות גם לא מעלות את כל פנקס הכתובות שלי לפייסבוק.

ש: כמה עולה מנוי לשנה של חשבון Conversations.im?

ת: 8 אירו (כ-9 דולר ארה"ב). לאחר תקופת ניסיון של שישה חודשים. המנויים אינם מחדשים את עצמם. אין צורך להפסיק את המנוי.

ש: אילו יתרונות מציע חשבון Conversations.im בהשוואה לשרתי XMPP אחרים?

ת: תכונות חדשות, הדורשות תמיכה בצד השרת, מועברות תחילה ל-conversations.im. באופן כללי אנו מנסים להפעיל calls.im עם דרישות קצת יותר גבוהות. שרת, המונע על ידי פרויקט תחביב, עלול להיכשל למשך יום, בזמן שהאדם נמצא בחגים. אנחנו מנסים להימנע מדברים כאלה עבור conversations.im. לפחות במהלך שעות השירות תמיד יש מישהו בסביבה שמסוגל לטפל בשרת במידת הצורך. בנוסף אתה תומך בפיתוח השרת, שהוא גם קוד פתוח. שינויים שנעשו במיוחד עבור אפליקציית השיחות שלנו מגיעים לקוד של השרת וזמינים לאחרים.

ש: האם אני יכול לרכוש שיחות באמצעות ביטקוין?

ת: לא האפליקציה. האפליקציה נמכרת ב-Google PlayStore, הם לא מקבלים ביטקוין. אפשר להוריד את האפליקציה בחינם דרך ה-Open Source App Store F-Droid. במקרה כזה אני מקבל בשמחה תרומות באמצעות ביטקוין.

ש: מה זה OMEMO?

ת: הצפנה (אופציונלית) מקצה לקצה עבור Jabber.

OTR נכשל בקלות. אם הודעה מסוימת אובדת בגלל כיסוי אות טלפון גרוע, לא ניתן להעביר גם הודעות מעקב. יתר על כן, OTR מסוגל להחליף הודעות רק בין שני מכשירים בדיוק. לדוגמה: כאשר אני מחובר עם שני מכשירים בו זמנית (טלפון נייד ושולחן עבודה) עמיתיי צריך להחליט אם הוא רוצה לשלוח את ההודעות לטלפון או לשולחן העבודה. אם המקביל שלי לא מסוגל לחוש ראיה, באיזה מכשיר אני משתמש כרגע, זו בעיה. חוץ מזה הודעות כמובן לא מסונכרנות במקרה כזה, ואני מפספס חלק מהיסטוריית השיחה בכל מכשיר. OMEMO נפטר משתי הבעיות. OMEMO אמין יותר ומסוגל להתמודד עם יותר מכשירים.

ש: מהי סודיות קדימה?

ת: נניח שהייתי מוחק את היסטוריית השיחות שלי לעתים קרובות (יכול למחוק אוטומטית הודעה ישנה יותר מתקופת זמן מוגדרת.

הבה נניח שמישהו אחסן את כל התקשורת המוצפנת שלי.(אז הוא לא יכול לעשות איתה שום דבר, יש לו את הטקסט המוצפן, לא את הטקסט הפשוט. עכשיו האדם הזה גונב לי את הטלפון. ההודעות עצמן כבר לא נמצאות בטלפון (הן נמחקות לעתים קרובות), אבל חומר המפתח שלי (המפתח הפרטי שלי) עדיין שם.

אם להצפנה אין סודיות קדימה, מישהו זה יכול לשלב את חומר המפתח שנמצא בטלפון שלי בתוספת ההודעות המוצפנות שהוא הקליט לפני שהוא הצליח לשחזר את המישור טֶקסט. אם להצפנה יש סודיות קדימה, זה לא אפשרי.

ש: מה מתאר המונח לכל הודעה תקורה?

ת: כמות רוחב הפס הנדרשת בהתאמה שנוספה על ידי ההצפנה. הבה נניח שלהודעה לא מוצפנת יש גודל של 2KB ולאותה הודעה מוצפנת תהיה גודל של 5KB. במקרה זה 3KB הוא ה"תקורה" שנוצרה על ידי הצפנה.

ש: האם אתה מתכנן ליישם תכונת שיחה?

ת: לא. תכונות חדשות מגיעות אם אני צריך אותן בעצמי או אם הן הגיוניות מנקודת מבט כלכלית. (כמה אנשים נוספים היו משתמשים באפליקציה אם תכונה זו הייתה שם וכמה יקר זה לפתח אפליקציה כזו תכונה?) לצערי תכונת השיחה היא מאוד מאוד מאוד יקרה ובאופן אישי לא אכפת לי מזה תכונה.

ש: כיצד אוכל לתמוך בפיתוח האפליקציה לאחר רכישת האפליקציה?

ת: יש פרטים על אופן התרומה באתר שלנו. קידום ופרסום כמובן עוזרים גם כן והאפליקציה היא קוד פתוח. מי שמסוגל לפתח תוכנה, יכול כמובן לעזור בקידוד.

ש: האם פיתחת את האלגוריתם של OMEMO בעצמך?

ת: לא. זה היה פרויקט קיץ של קוד של Google. (Google Summer of Code פירושו ש-Google משלמת לסטודנטים 3 חודשים עבור עבודה על פרויקטי קוד פתוח.) OMEMO פותח עבור שיחות על ידי סטודנט.

ש: מהן התוכניות הנוספות שלך לפיתוח שיחות?

ת: סביר להניח שתכונות חדשות גדולות באמת לא יגיעו. שיחות עושה כל מה שהיא אמורה לעשות. מתחת למכסה המנוע יהיה תיקון כזה או אחר (שימוש בנתונים/מהירות קישוריות וכן הלאה.) אבל זה לא נראה לעין עבור המשתמש הממוצע. דבר קטן שככל הנראה יתממש בשלב הבא הוא האפשרות לאשר את ההעברה לפני שליחת התמונה. תמונות עד תאריך נשלחות תמיד באופן מיידי.

ש: האם מותר להרכיב שיחות בעצמך מה-Github שלך ולהשתמש בו לשימוש פרטי?

ת: כמובן. לא רק פרטי, גם לעסקים וכל מה שתרצו. מותר גם לשנות את הקוד כדי לעמוד בדרישות הפרטניות.

ש: האם ניתן לבצע מנהרת שיחות באמצעות VPN?

ת: כן.

ש: בסוף נרצה לשמוע את הרמז של איש מקצוע. אילו מדידות, מלבד השימוש בשיחות, אתה ממליץ כדי להגן על הפרטיות כמשתמש אנדרואיד?

ת: אפשר חסימת פרסומות בתוך הדפדפן שלך. למשל פיירפוקס (זמין גם לאנדרואיד) והתוסף uBlock.

כבה את שירותי המיקום (בגרסאות האנדרואיד האחרונות, יש לזה קוויקטייל) כאשר הם לא בשימוש. אחרת גוגל יודעת איפה היית כל הזמן.

שני הדברים האלה מאוד פשוטים ליישום והם שימושיים מעשיים.


הערת העורך: מאמר זה נכתב במקור בגרמנית על ידי ראול רדונץ. הוא תורגם על ידי ראול רדונץ ונערך על ידי מישאל רחמן. ראול רדונץ ו-XDA-Developers רוצים להודות למר גולטש על שהקדיש את הזמן לערוך ראיון זה.