0.
בשבועות האחרונים עולה שאלת איסור ההתפקדות הכפולה בעקבות הנסיונות לפעול כנגד קבוצת הלחץ "הליכודניקים החדשים". הכלל הוא ברור: חוק המפלגות קובע שהתפקדות מותרת אך למפלגה אחת לאדם, וכי התפקדות ליותר ממפלגה אחת היא עבירה פלילית. מנגד, הצלבת מאגרי המתפקדים של המפלגות היא פגיעה בפרטיות: היא משתמשת במידע שלא למטרה לשמה הוא נמסר, תוך שהיא מגלה מידע לכל המעורבים; בעת הצלבת מאגר המידע של מפלגת העבודה והליכוד כדי לחפש מתפקדים כפולים, מפלגת העבודה מקבלת את פרטיהם של כל חברי הליכוד ולהפך. לכן, הפתרון של הצלבת המאגרים (שבוצע מספר פעמים בעבר) אינו פתרון טוב. המטרה של הפוסט הזה היא להציע פתרון שחושב על הפרטיות כפתרון, וגם מונע, על הדרך, ניהול של מאגר מידע רגיש במיוחד.
1.
בשבוע שעבר הציע אחד מחברי מרכז הליכוד פתרון שנקרא "מתווה הכוכב" בו הוא מציע כי הבחירות בקלפי יהיו הן לרשימה והן למפלגה באותה העת, הפתרון הזה יוצר שתי בעיות: הוא דורש מהמדינה לקבל עותק מרשימות המתפקדים, והוא קובע כי זהות רשימת המפלגה לכנסת לא תקבע עד לסיום הבחירות. בצורה כזו, יכולים להתמודד על מקום ברשימה דמויות שנויות במחלוקת, ולהכנס על חשבון מצביעים אחרים. עוד פתרון שעלה השבוע הוא לקבוע כי מי שהצביע בפריימריס של מפלגה מסוימת יחשב כאילו הצביע בבחירות עבורה ("מתווה קיש"). בכל אחד מהפתרונות האלה מגולמת פגיעה בפרטיות: או שהמדינה תדע עבור מי הצבעת, או שהיא תקבל את רשימת החברים.
2.
הרעיון שלי, מנגד, מבוסס על קיומו של כרטיס חכם אחד לכל אדם. כרטיס חכם דומה לכרטיס הרב-קו. המדינה תנפיק כרטיס אחד לכל אדם שיקראו לו "כרטיס מפלגה". האדם יכול לבחור האם להשתמש בכרטיס או לא; על כל כרטיס ישמר Certificate ("תעודה") המונפקת על ידי המפלגה שהוא מחליט להצטרף אליה. כאשר, התקנה של תעודה על ידי מפלגה חדשה תשלול את התעודה הקודמת. הכרטיס ניתן לשימוש בחיבור מרחוק, ומאפשר גם הצבעה אלקטרונית מאובטחת יותר (מה שיחסוך בעלויות הפריימריס) וגם מונע מצב של התפקדות כפולה. מנגד, במהלך כזה של התפקדות אין מאגר מידע מרכזי, ובכך אין גם אפשרות כי המפלגה תשלח הודעות זבל לחבריה, ואין אפשרות לוודא כי חברי ועד עובדים מסוימים התפקדו למפלגה. החסרון העיקרי הוא אבדן הכרטיס החכם, אך את זה אפשר לגבות.
3.
מהו כרטיס חכם? כרטיס חכם הוא כרטיס פלסטיק המכיל שטח אחסון ושבב בטיחות; לפי ויקיפדיה "היתרונות של כרטיסים חכמים קשור ישירות להיקף המידע והישומים שהוא יכול להכיל, אישורים רבים כמו רישיון נהיגה, כרטיס מועדון של חברות עוד. חלק מהנתונים ניתנים לקריאה או כתיבה רק באמצעות "מפתח", כך שהעתקת הכרטיס תהייה קשה ביותר מה שמשפר את רמת האבטחה". על הכרטיס החכם ניתן לשמור תעודות. אחת מהן תהיה, לצורך העניין, תעודת חברות במפלגה. כל אחת מהמפלגות תקבל מפתח קריפטוגרפי שיאפשר לה לצרוב על הכרטיס החכם את העובדה שבעל הכרטיס הוא החבר במפלגה. כלומר, לכל אחת מהמפלגות תהיה האפשרות לכתוב על הכרטיס (אך לא לקרוא ממנו) ובעת הכתיבה של "חבר במפלגה א'" ידרס השדה של "חבר במפלגה ב'".
4.
כלומר, בשלב הראשון כל אדם יקבל רק כרטיס אחד (מאת המדינה) ובמקרה בו ילך לו הכרטיס לאיבוד (או שהוא ינסה לזייף התפקדות לשתי מפלגות) אזי המדינה תשלול אוטומטית את השימוש בכרטיס החכם הקודם. זוהי פונקציה טכנולוגית קיימת (בדיוק כמו שניתן לבטל כרטיס אשראי). במקרה של אבדן, מנגד, ניתן תמיד לגבות מראש את התעודות על הכרטיס (אך לא את המפתחות הפרטיים) כך שיהיה תיעוד של זמן החברות במפלגה (יש לכך חשיבות כי חלק מהמפלגות מאפשרות הצבעה רק לאחר X חודשי חברות). כלומר, את בעיית האבדן וההתפקדות הכפולה פתרנו.
5.
האם המדינה תדע לאיזו מפלגה התפקדתם? לא. בפועל, כיוון שהמדינה רק מנפיקה את הכרטיס, היא מאפשרת לוודא כי יש רק כרטיס אחד לאדם אחד, אך אינה יכולה לקרוא את המאוחסן על הכרטיס. לאף גורם אין את האפשרות לדעת מה כתוב על הכרטיס אם אינו אוחז בכרטיס (ובקוד שלכם, אם תיישמו אותו).
6.
האם זה מאפשר הצבעה מרחוק מאובטחת? כן! בעצם, מרגע שיש כרטיס חכם ניתן להשתמש בו לצורך הצבעה מרוחקת. הכרטיס מכיל חתימה אלקטרונית מאושרת המאפשרת לוודא את זהות החותם וזהות המנפיק בצורה שתאפשר לא רק הצבעה מרוחקת באמצעות מחשב, אלא לוודא כי אדם מסוים לא הצביע פעמיים (ישמר על הכרטיס תאריך ההצבעה).
7.
החסרונות במערכת כזו ברורים, מנגד: היא קודם כל תאפשר לאדם X להצביע למפלגת העבודה בפריימריס של יום ראשון, ואז להתפקד לבית היהודי ביום שני ולהצביע ביום שלישי. את זה אפשר לתקן עם תקופת אכשרה מסוימת או על ידי דאגה שכל הבחירות המקדימות יהיו באותו יום. החסרון הנוסף הוא אבדן הכרטיס, אך המחיר של אבדן כרטיס חכם כזה לעומת מחיר של פגיעה בפרטיות עקב הצלבת המאגרים הוא שולי. השימוש במערכת ימנע מתפקדים כפולים, הוא יאפשר יותר דמוקרטיה וגם יעודד אנשים להתפקד למפלגה: ההתפקדות תהיה אלקטרונית (באמצעות האינטרנט), ללא צורך במילוי טפסים, וגם ללא ההצקות הנלוות היום בספאם.
שתי שאלות בלבד:
1. איך תוכל to authenticate שהמשתמש שעושה שימוש בכרטיס בהצבעה אלקטרונית שלא בקלפי הוא אכן ה-legitimate card holder? הרי כבר כיום במשרדי עורכי דין הרבה פעמים הבעלים של כרטיס נט המשפט הוא זה שהפעולה מבוצעת בשמו על ידי אדם אחר (מתמחה / עורך דין אחר במחלקה), ואמנם יש אימות שאכן הכרטיס שהוחתם הוא אכן הכרטיס שמבצע את הפעולה, אבל אין אמצעי זיהוי שמזהה שבעל הכרטיס הוא מי שמבצע את הפעולה בפועל.
במערכות של חתימה דיגיטלית מאומתת קיימת כיום הבעיה של אי-אימות זהות הבעלים היא זניחה יחסית כי מעצם הגישה לכרטיס והיכרות עם סיסמת החתימה משתמע יחסי קרבה או אמון, אך בהינתן האקלים הפוליטי הרווח, לא מן הנמנע כי וועדי עובדים או קבלני קולות פשוט יקחו את הכרטיס לידיהם במקומם של האזרחים ויצביעו בשמם במרוכז.
2. שנית, בהינתן שיש לך HASH TABLE שמזהה חד-חד-ערכית כל כרטיס עם כל נושא ת.ז. שהתפקד למפלגה כדי למנוע מצב של כפל כרטיסים, ובהינתן שהמערכות שאתה מציע לבנות מחייבות אימות חד-חד-ערכי של הכרטיס עם כל הצבעה, אתה הלכה למעשה נותן בידי מחזיק המערכת את הכלים לדעת איזה כרטיס הצביע לאיזה מועמד ועל ידי קבלת גישה ל-HASH אתה יכול לדעת גם מי האדם שעומד מאחורי הכרטיס. יש לך רעיונות איך אפשר להתמודד עם הבעיה הזאת?
1. אפשר תמיד להטמיע מערכות fraud detection. אם יש חיבור מאותו מחשב למספר חריג של הצבעות אפשר לעצור אותו; אפשר גם לבצע את ההזדהות עם פתיחה של המצלמה וצילום של המצביע.
2. אתה מפריד בין הדאטהבייס של "מי הצביע" ובין "מה הצביעו". זה לא קשה במיוחד להפריד ברמה הזו. יש מערכות שכבר עושות את זה היום (אולי לא אופטימאלי, אבל עושות את זה) וגם במפלגת העבודה יישמו מערכת כזו.
1. אני לא מתלהב מכל שיטת הצבעה שלא ניתן להסביר אותה באופן טריוויאלי לאדם הפשוט, ללא כל הכשרה טכלונוגית. בפרט, אותי (שכן מבין יחסית בתחום) יהיה קשה לשכנע שהמערכת אמינה וחסינה מזיופים. כן, לא ניתן לזייף את ה"תעודה", אך כן ניתן יהיה לשחק במסד הנתונים, לגרום למערכת לא לרשום הצבעות מסוימות, וכו'.
2. ההצעה לא באמת פותרת את בעיית ועד העובדים. אם יו"ר הועד דורש (באופן לא רשמי ולא חוקי, אבל עדיין) מכל חברי הועד להעביר אליו את הכרטיס שלהם בטרם יום הפריימריז, הוא יוכל (א) להצביע בשם כולם, כלומר להבטיח "נאמנות מקסימלית", ו(ב) לגלות בדיוק מי לא נרשם כחבר מפלגה.
3. באופן דומה, ראש משפחה אלים יוכל בקלות לוודא כי כל בני משפחתו (אישה, ילדים מבוגרים מספיק) מתפקדים למפלגה הנכונה ומצביעים על-פי דרישתו. זו למעשה בעיה עם *כל* מערכת שבה ההצבעה לא מתבצעת מאחורי פרגוד, אלא מהבית.
4. פתרון אחר לבעיית הרישום הכפול: שרת מרכזי אליו כל מפלגה שולחת את מס' הזהות של כל מי שנרשם אליה. השרת אינו מאגר ואינו שומר מידע. בכל פעם שמגיעה הודעה ממפלגה א' כי אדון ב' נרשם אליה, כל המפלגות (כולל א') מקבלות מייד הודעה כי מר ב' נרשם היום כחבר מפלגה — מבלי לצייין איזו מפלגה. כל המפלגות מחויבות למחוק מייד את ב' מרשימת החברים שלהם, למעט מפלגה א', שהיא היחידה שיודעת שהיא מקור ההודעה. (ניתן לצרף להודעה חתימה אלקטרונית זו או אחרת עם תאריך ושעת הרישום, להבדיל מתאריך ושעת שליחת ההודעה, כדי להתגבר על מצב בו אדם נרשם באותו יום לכמה מפלגות, וכו').
או פשוט להשתמש באחד השדות בתעודת הזהות (זאת כמובן בהנחה שהמאגר…).
אפשר גם להעביר hash של פרטי המתפקד החדש למפלגות האחרות. אם הוא קיים אצלן – יהיה להן מתפקד עם hash זהה. אם לא – לא הועבר להן שום מידע.
יש כאן כמה שהציעו את פרסום הhash כפתרון לאנונימיות, אבל למעשה זה לא פותר את הבעיה כלל. מספר תעודת הזהות, הוא פשוט לא משהו סודי במיוחד. אני יכול להשיג את מספר תעודת הזהות של כל העובדים בעבודה שלי, ליצור להם hash, ולפטר את כל השמאלנים ששכחו מה זה להיות יהודים \ הימנים ששכחו מה זו דמוקרטיה \ חובבי מפלגת חוק הטבע שמאמינים ברחיפה יוגית.
עכשיו, יש להודות שאני לא במאה אחוז מבין למה התפקדות למפלגה (בניגוד להצבעה), צריכה בכלל להיות חשאית. התפקדות למפלגה, נתפסת בעיני כהבעת תמיכה פומבית בה. אבל המחוקק החליט שזה נדרש, ואני כטכנולוג, מחוייב לנסות לפתור לו את הבעיה.
הפתרון הטוב ביותר שעולה על דעתי, הוא לקיים הצבעה לכל המפלגות, ביום אחד, במקום אחד, שידאג ליושר של כל ההצבעות. הן יכולות להתקיים מאחורי פרגוד אחד, שמכיל את כל המועדים, מכל המפלגות, וכך אדם יכול לשמור על האנונימיות של בחירתו. ולמען הסר ספק, זה חרא פתרון. הוא כופה על כל המפלגות המעוניינות בפריימריז מנגנון דומה. אבל זה הטוב ביותר שאני הצלחתי להעלות על הדעת.
בטח שפותר! רק צריך לעבוד עם מפתח פרטי ומפתח ציבורי בין מפלגה למפלגה…