NetBios Name Service Spoofing - Digital Whisper
NetBios Name Service Spoofing - Digital Whisper
NetBios Name Service Spoofing - Digital Whisper
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Digital</strong> <strong>Whisper</strong>גליון 32, מאי 2022מערכת המגזין:מייסדים:מוביל הפרוייקט:עורכים:כתבים:אפיק קסטיאל, ניר אדראפיק קסטיאלניר אדר, אפיק קסטיאל, שילה ספרה מלראפיק קסטיאל, יוסף הרוש, יאיר מוליאן.יש לראות בכל האמור במגזין <strong>Digital</strong> <strong>Whisper</strong> מידע כללי בלבד. כל פעולה שנעשית על פי המידע והפרטים האמורים במגזיןו/או הכותבים השונים אינם אחראים בשום צורה ואופן לתוצאות השימושהינה על אחריות הקורא בלבד. בשום מקרה בעלי<strong>Digital</strong> <strong>Whisper</strong><strong>Digital</strong> <strong>Whisper</strong>במידע המובא במגזין. עשיית שימוש במידע המובא במגזין הינה על אחריותו של הקורא בלבד.פניות, תגובות, כתבות וכל הערה אחרת-נא לשלוח אלeditor@digitalwhisper.co.il
דבר העורכיםאח... גליון32באויר סוף סוף.זה מפתיע אותי איך זה מפתיע אותי בכל פעם מחדש, כל חודש אני רואה איך כל גליון וגליון מתבשל לובמהלך החודש, ובכל זאת, בכל פעם שאני מתיישב לכתוב את דברי הפתיחה, ושם לב למספר הגליון, אנימופתע מחדש.גליון 32,עם הפסקה של חודש באמצע)אם אתם זוכרים,הגליון ה-30פורסם באיחור של חודש(,מהשאומר שהגליון הראשון פורסם לפני... הרבה זמן! ו... זהו, כאן נגמרים דברי הפתיחה. וכמובן, לפני הכל, תודה רבה לכל מי שבזכותו הגליון יצא לאור:תודה רבה ליאיר מוליאן, תודה רבה ליוסי הרוש, תודה רבה לשילה ספרה מלר ותודה רבה לתום רז.אפיק קסטיאל וניר אדר.1גליוןדבר העורכיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>נכתב ע"י אפיק קסטיאלcp77fk4r/הקדמהכאשר מדברים היום על מתקפותMan In The Middleברשתות פנימיות–ישר כולם חושבים עלARP,PoisoningMan In The Middleולא בכדי, מדובר באחת המתקפות היעילות והמהירות ביותר כיום בכדי להגיע למצב שלברשתות פנים-אירגוניות.עם זאת, חשוב מאוד לזכור כי מדובר במתקפה רועשת מאוד ועל מנת להגיע ליעילות גבוהה, על התוקףלעדכן את טבלאות ה-ARP של הקורבן )ושל היעד( אחת לפרק זמן קצר מאוד )על מנת שהתעבורה לאתחזור לנתיב המקורי שלה-היעד המקורי בשיחה(. כמו כן, ניתן יחסית בקלות לזהות אם המחשב עליואנו עובדים נמצא תחת הרעלת ,ARP גם עזרת ארסנל הכלים המובנים במערכת ההפעלה בלבד.כיום, גם רכיבי ה-IPS/IDS וה-NAC הבסיסיים ביותר מסוגלים לאתר ולמנוע מתקפות אלו. בנוסף, במקריםבהם יש שימוש בטבלאותARPסטטיות, בפרוטוקולים ייעודיים כגוןSARPArpNO ,ARPDefenderו-Arpwatch, כמעט בלתי אפשרי לבצע מתקפה זו.ו-S-UARP או מנגנונים כמוNetBIOS <strong>Name</strong> <strong>Service</strong>במאמר זה אציג מתקפה פחות מוכרת,אך לא פחות יעילה,מתקפה בשם,<strong>Spoofing</strong>או בקיצור:.NBNS <strong>Spoofing</strong>לפני הכל, מה זה<strong>NetBios</strong>NetBIOS)קיצור שלולמה זה משמש?)Network Basic Input/output System)LAN(לתקשר בינהם. בניגוד לדעה הרווחת,עצמו היה משתמש בפרוטוקולים שונים כדוגמאתשלNetBIOSNPSמאפשר למחשבים שונים ברשת מקומיתאינו פרוטוקול תקשורת. בתחילת דרכו, השירות)קיצור של,(NBT NetBIOS over IPX/SPXברובן המוחלט של המערכות המודרניות ובכמעט כל משאב רשתי, מתבסס על הפרוטוקולNBT.)NetBIOS over TCP/IPהמימושים הערך שלהם זהה.בנוסף, חשוב לזכור כיNetBIOS <strong>Name</strong>אך כיום,)קיצורשונה מ-Hostname למרות שברוב4<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
ל-NetBIOS מספר תפקידים עיקריים:- <strong>Name</strong> serviceנועד לקבוע את שם היישות, רישומה ואיתורה ברשת )פורט::)UDP/137•מאפשר לרשום שםNetBIOSאו קבוצתNetBIOS•מאפשר למחוק שםNetBIOSאו קבוצתNetBIOS•ליישויות ברשת.ליישויות ברשת.מאפשר לאתר יישות בעלת שם ה-NetBIOS ברשת )מוכר גם כ-"Resolution .)"NetBIOS <strong>Name</strong>- Datagram distribution ו-service Session serviceגבי שירות ה-NetBIOS, הן לתקשורות מבוססות SESSION )פורט:כ-"Connectionless" )פורט:נועדו לאפשר תקשורת בין יישויות ברשת על)TCP/139:)UDP/138•••הן לתקשורות המוגדרותמאפשרים הקמת תקשורת מבוססת SESSION וניתוקה עם רכיב NetBIOS מרוחק ברשת.מאפשרים הקמת תקשורת שאינה מבוססת SESSION וניתוקה עם רכיב NetBIOS מרוחק ברשת.מאפשרים שליחתBroadcastלכלל יישויות ה-NetBIOS ברשת.כמו שניתן לנחש מכתורת המאמר, שני השירותים שהזכרתי פחות רלוונטים כרגע, ולכן לא נרחיב עליהםיתר על המידה, אלא נתמקד בעיקר בשירות <strong>Name</strong> <strong>Service</strong> שמאופשר כחלק מה-NetBIOS.שםNetBIOSאת ה-"Type "Recordהבאים:מורכב לכל היותר מ-16 תווי15 )או ASCIIבמערכת ההפעלה,Windows-." , | , , ? , + , ; , * , : , / , \התו ה-16 מייצגסוג השירות המסופק(, ויכול להיות מורכב מכלל תווי ה-ASCII מלבד התוויםכאמור, התו המסמל את ה-Type Recode )מוכר גם כ-Suffix (NetBIOS מגיע כחלק משם ה-NetBIOS, אךתפקידו להציג את סוג השירות המסופק תחת אותה יישות רשתית, לדוגמא:NetBIOS Suffixמספק שירותיייצוגMaster Browser מספק תיקיות משותפות ברשתמספק שירותיDomain Controllerרשימת ה-Suffix NetBIOS רחבה ניתן למצוא בקישור הבא: מספק שירותי Messenger <strong>Service</strong>http://www.windowsnetworking.com/kbase/windowstips/windowsnt/admintips/accounts/nbtstatrevealswhoisloggedon.html5<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
במערכת ההפעלהעל ידי יישויותWindowsקיים הכליהמאפשר לתשאל את שירותי ה-NetBIOS המסופקיםNbtstat –a IP_Address,NbtstatNetBIOSברשת. השימוש בו הינו:דוגמא לפלט שהתקבל מתשאול הכתובתNode IpAddress: [10.0.0.1] Scope Id: []:10.0.0.1NetBIOS Remote Machine <strong>Name</strong> Table<strong>Name</strong> Type Status---------------------------------------------COMPUTER1 UNIQUE RegisteredCOMPUTER1 UNIQUE RegisteredWORKGROUP GROUP RegisteredWORKGROUP UNIQUE Registered..__MSBROWSE__. GROUP RegisteredMAC Address = 00-11-22-33-44-55תחת<strong>Name</strong>ותחת )Suffixניתן לראות את שם ה-NetBIOS של רכיב, לאחר מכן את סוג השירות )על ידי ה- NetBIOSTypeניתן לראות את אחד מהסוגים הבאים:GROUP ,UNIQUEUNIQUE מסמן כי תחת אותו ה-<strong>Name</strong> NetBIOS קיימת רק כתובתIPGROUP מסמן כי תחת אותו ה-<strong>Name</strong> NetBIOS קיימות מספר כתובותאחת..IPMultihomed מסמן כי תחת אותו ה-<strong>Name</strong> NetBIOS קיימות מספר כתובותלאותה הישות )כדוגמת ישות בעלת מספר כרטיסי רשת(.ו-Multihomed.,IPאך כולן שייכות2<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
NetBIOS <strong>Name</strong> Resolutionהליך שבו המחשב מנסה לבצעמשותפת ברשת דרך:Resolvingלשם.NetBIOSפעולה לדוגמא היא כאשר אנו נכנסים לתיקיה\\Computer<strong>Name</strong>\Shareשירות ה-NetBIOS "מדרדר" מספר שלבי תשאול:תשאול טבלתתשאול קובץתשאול שרתשידורCacheזמניתLMHosts קבועWINSBroadcastתרשים כיצד מתבצע "הדרדור", הלקוח מהאתר של:Microsoft8<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון]במקור:]http://technet.microsoft.com/en-us/library/cc940063.aspx,32 יוני 1021
הדבר אינו מצויין בסכמה, מפני שהוא לא באמת שלב בהליך ה"דרדור" המוצג, אך בהרבה מקרים )תלויבלקוח של השירות-כדוגמאת דפדפן(, כאשר אף אחד מהשלבים אינו מניב תגובה, הבקשה מועברתלשרת ה-DNS לבדיקה האם קיימת רשומה המתאימה בטבלאות ה-DNS של האירגון. נזכיר זאת בהמשך.תפקידו של ה-Types Node הוא לקבוע את סדר ה"דרדור" לתצורת ה-Resolution:- B-Nodeה-Resolution.במידה וסוג השאילתה הוא B, שירות ה-NetBIOS יבצע שידורBroadcasts- P-Node)כגוןבמידה וסוג השאילתה הוא P, שירות ה-NetBIOS יבצע תשאול שלבכדי לבצע אתNetBIOS name server.)WINS- M-Nodeבמידה וסוג השאילתה הוא M, יתבצע שילוב ביןורק לאחר מכן, במידה ולא חזרה תגובה, יתבצע תשאול שלBו-P, קודם כל יתבצע שידורBroadcast.NetBIOS name server- H-Nodeתשאול שלבמידה וסוג השאילתה הוא,Hיתבצע שילוב ביןB,NetBIOS name serverלשידור ה-Broadcast שירות ה-NetBIOS ימשיך לחפשתפסק תשדורת ה-Broadcastבמידה ולא נמצא אחד כזה, יתבצע שידורו-P, אך באופן הבא: ראשית יתבצע.Broadcast,NetBIOS name serverבמקבילבמידה וימצא כזה-ויתושאל ה-server .NetBIOS nameהרעיון העומד מאחורי"דרדור"ברשתות קטנות אין הדבר קריטי כל כך,ומפריעות לתשדורות אחרות.ניתן להגדיר באיזהNodeהשלבים הוא לנסות למנוע כמה שיותר את תשדורת ה-Broadcast.אך ברשתות עצומות,תשדורות ה-Broadcastלהשתמש כברירת מחדל בעזרת שינוי/הוספה של הערך הבא:מעמיסותHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\<strong>Service</strong>s\netbt\Parameters\NodeType2<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
נעבור על שלבי ה-Resolution:תשאול טבלתCacheזמנית:Nbtstat –cלשירות ה-NetBIOS קיימת טבלתCaching מובנה.ניתן לגשת אליה בעזרת:NetBIOS Remote Cache <strong>Name</strong> Tableדוגמא לפלט:<strong>Name</strong> Type Host Address Life [sec]------------------------------------------------------------COMPUTER2 UNIQUE 10.0.0.2 597ניתן לאפס טבלה זו ע"י:לכל רשומה בטבלת ה-Cache יש כברירת מחדל אורך חיים שלהזמן שנשאר לכל רשומה בטבלה נמצא תחת העמודהNbtstat –R10,"Life [sec]"דקות ולאחר מכן היא נמחקת משם.כמו שניתן לראות בדוגמא הקודמת.תשאול קובץLMHosts קבוע:במידה ולא נמצאה רשומה המתאימה לשם ה-NetBIOS אודותיו אנו מעוניינים לבצעResolutionבטבלתה-Cache, מנגנון ה-NetBIOS עובר לשלב הבא: בדיקה האם קיימת רשומה בקובץ .LMHosts הקובץ נמצאבמיקום:הקובץ עצמו בנוי כרשומות של כתובת%windir%\system32\drivers\etc\lmhosts.samIPהאם הרשומה שייכת ל-"PRE#" או ל-"DOM#".אל מול שם.NetBIOSבנוסף לפרטים אלו יש אפשרות להגדיררשומות המוגדרות כ-"PRE#" יוכנסו באופן אוטומטי למנגנון ה-Cache שראינו קודם לכן.רשומות המוגדרות כ-"DOM#" יקשרו את שם ה-NetBIOS כחלק מדומיין מסויים.תשאול שרתשרתגליון20<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.il:WINSWINS)קיצור של)Windows Internet <strong>Name</strong> <strong>Service</strong>,32 יוני 1021הוא סוג של שרתNetBIOS <strong>Name</strong> <strong>Service</strong>,)NBNS(המצמידה כתובותתפקידו של שרתי ה-NBNSהוא בדיוק כמו,DNSIPשל יישותיות רשתיות ברשת הפנים-אירגוניתרק ל-<strong>Name</strong>s .NetBIOS השרת מכיל טבלה)ולפעמים גםמחוצה לה(אל מולשמות ה-NetBIOS שלהן. המטרה של שרת כזה הוא לחסוך ולהוריד את העומס הקיים ברשתות פנים-אירגוניות בעזרת מניעת השלב הבא ב"דרדור".
אם קיים שרת כזה בארגון, ובמידה ומוגדר ללקוח להשתמש בו, שירות ה-NetBIOS ינסה לבצע את שניהשלבים הקודמים, במידה והוא לא יצליח בעזרת שניהם, הוא יתשאל את שרת ה-WINS לגבי היישות.הדרך הפשוטה לברר האם מוגדר למחשב שרת WINS היא בעזרת הפקודה:מידע נוסף אודות שרתיnetsh interface ip show wins,WINSניתן למצוא בקישור הבא:http://technet.microsoft.com/en-us/library/bb727015.aspxשידור:Broadcastבמידה ושם ה-NetBIOS לא נמצא גם על ידי שרת ה-WINS )או במידה ולא מוגדר אחד כזה(, שירות ה-NetBIOSיתשאל את כלל ה-Subnet אודות היישות עליה ביקשנו לבצעResolution.Broadcastכאשר מתבצעת תשדורתBroadcastלתשאול שם,NetBIOS,Transcation IDבמידה ורכיב המריץ שירותNetBIOSבעל שם ה-NetBIOS אודותיו תשאלו( הוא מחוייב להגיב עם אותוהיישות המתשאלת תתעלם מהתשובה.בעזרת תשדורתנשלח כחלק מחבילת המידע מזההמקבל את התשדורת והוא מעוניין להגיב עליה )הוא,Transaction IDבמידה ולא יבצע זאת-22<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
Broadcast NetBIOS <strong>Name</strong> Resolutionכמו שראינו, השלב האחרון בהליך ה-Resolution NetBIOS <strong>Name</strong> הינו שידור הבקשה כ-Broadcastברחבי הרשת. בכדי להבין איך התשאול מתבצע, נרים ,Wireshark תחת הפילטר:udp.port == 137nbtstat -a <strong>Digital</strong><strong>Whisper</strong>ונבצע:אם נסתכל ב-Wireshark, נוכל לראות את חבילות המידע שנשלחו ל-10.0.0.255:)Broadcast(במבט מעמיק, אפשר לראות את המחרוזת,"EEEJEHEJFEEBEMFHEIEJFDFAEFFC" אשר היא שם ה-NetBIOSעליו ביצענו את התשאול)<strong>Digital</strong><strong>Whisper</strong>(ב-UPPERCASE.21<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
וכלהתרגום המתבצע תחת שירות ה-NetBIOS עובד כך :כל ערך ASCII של תו בשם ה-NetBIOS מופרד לשניD.D.)0x41מתווסף לערך האסקי של A)שהואלדוגמא:הבא: ,"<strong>Digital</strong><strong>Whisper</strong>"Nibble,Nibblesביצענו תשאול לגבי שם ה-NetBIOSהינומ, חלקים אתלשניהתו הראשון הואהערך ה-ASCII שלו-0x04(, ומוסיפים את שניכם, כל אחד ל-0x41:0x41+0x04 = 0x45 => ED => 0x440x41+0x04 = 0x45 => E0x04( Nibbles0x440x44I => 0x49G => 0x47I => 0x49T => 0x54A => 0x41L => 0x4CW => 0x57H => 0x48I => 0x49S => 0x53P => 0x50E => 0x4ER => 0x520x41+0x04 = 0x45 => E0x41+0x09 = 0x4A => J0x41+0x04 = 0x45 => E0x41+0x07 = 0x48 => H0x41+0x04 = 0x45 => E0x41+0x09 = 0x4A => J0x41+0x05 = 0x46 => F0x41+0x04 = 0x45 => E0x41+0x04 = 0x45 => E0x41+0x01 = 0x42 => B0x41+0x04 = 0x45 => E0x41+0x0C = 0x4D => M0x41+0x05 = 0x46 => F0x41+0x07 = 0x48 => H0x41+0x04 = 0x45 => E0x41+0x08 = 0x49 => I0x41+0x04 = 0x45 => E0x41+0x09 = 0x4A => J0x41+0x05 = 0x46 => F0x41+0x03 = 0x44 => D0x41+0x05 = 0x46 => F0x41+0x00 = 0x41 => A0x41+0x04 = 0x45 => E0x41+0x0E = 0x4F => F0x41+0x05 = 0x46 => F0x41+0x02 = 0x43 => Cמבצעים את אותו התהליך לכלל התווים במחרוזת:23<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון 32, יוני 1021
מפני שלא קיים רכיב רשת בעל השם,"<strong>Digital</strong><strong>Whisper</strong>"לא הוחזרה תגובה ל-Broadcast, ולכן קיבלנו:Host not found.NetBIOSלעומת זאת,אם נבצע תשאול לגבי יישותשקיימת,לדוגמא אצלי ברשת,למחשב של אישתיקוראים:"ARYA-PC"nbtstat -a ARYA-PC)לא לפני שאבצע"nbtstat -R"בכדי לאפס את טבלת ה-Cache(, נוכל לראות את שאילתת ה-NBSTATנשלחת מ-10.0.0.1 ל-10.0.0.255 ולאחר שלושה תשדורות, מתקבלת תשובה מהכתובות:10.0.0.2בכדי להתאים את ה-Response NBSTATל-Request ,NBSTAT:NBSTAT Responseחובה שה-ID Transaction שמוחזר עם ה-24<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
יהיה תואם ל-ID Transaction שנשלח עם ה-Response :NBSTATבמידה והוא אינו מתאיםולכן יוחזר למשתמש-רכיב ה-NetBIOS מתעלם מהתגובה ואינו משלים את ה-Resolution בהצלחהfound." "Host not )או שהתליך ה"דרדור"יגיע לשלב נוסף - פנייה לשרת ה-DNS(.25<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>מצוידים בכל המידע שראינו עד כה, אפשר להתחיל לדבר עלאופן המתקפה מתבצע כך: כאשר אנו מזהים.<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>שנשלחה כ-Broadcast NBSTAT Requestברשת, כל שעלינולעשות הוא להרכיב בהקדם האפשרי NBSTAT Response שכולל את כתובת ה-IP שלנו, להתאים אותה כךשה-ID Transaction שלה יהיה זהה לאותולמפיץ ה-Request לפני שמשאב הרשת המקורי )במידה והוא קיים( יגיב.Transaction ID שנשלח עם ה-Request NBSTAT ולשלוח אותהברוב המקרים אין סיבה לבצעResolution)מלבד מקרים כגון איתור מדפסת רשתית, תשאול שירותלישות רשתית מבלי לבצע מולה פעולה כלשהי, ולכן לרובMaster BrowserWPADתכלולאו בקשה למציאת שירותיו-ISATAP(, הבקשה הבאה שנקבל מהקורבן )שבטוח שאנו הישות הרשתות אותה הוא חיפש(Credentialsלצורך הזדהות מולנו )ב-NTLM). לדוגמא, הזדהות לטובת קבלת הרשאות צפייהבתוכן של תיקיה רשתית אותה אנו משתפים. חבר'ה כמוWesley)הבחור מ-McGrewSecurity( וכמוTimMedinבמקרה של)הבחור מ-Packetstan( כתבו כלים שמבצעיםNBNS <strong>Spoofing</strong>,Tim Medinו-"דגים" פרטי הזדהות אלו.מדובר ב-Auxiliary )נמצא ב-auxiliary/spoof/nbns/nbns_response( ל-,Metasploit שבשילוב עם הרחבה נוספת כגון:או:מאפשר לדוג Credentials של משתמשים ברשת שעוברים דרכנו.auxiliary/server/capture/smbcapture/server/http_ntlmקוד מקוד:http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/spoof/nbns/nbns_response.rbדוגמא לשימוש:http://ipositivesecurity.blogspot.com/2011/04/metasploit-nbns-auxilary-ftw.htmlבמקרים בהם נרצה לבצע את המתקפה בין לקוח לבין שרתלעמודHTTPLoginלדוגמא, בכדי להשיג פרטי הזדהותהקיים, על השרת עלינו לא רק להפנות את המשתמש אלינו, אלא ממש להגיש לו אתהפרטים על השרת, זאת נעשה על ידי הקמת שרת ,Proxy שיפנה את בקשות המשתמש לשרת המקורי,וכך מבלי שהמשתמש יחשוד בכלום נוכל לראות את בקשות ה-HTTP שהוא שולח לשרת ולהשיג את פרטיההזדהות לחשבון שלו על השרת.22<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
ה)Web Proxy Auto-Discovery Hijackingבמידה ונצבע<strong>Spoofing</strong>לשרתHTTPשרת, אך לא לשאר תקשורת ה-HTTP היוצאת מאותו לקוח לשרתיפתרון למקרים כאלו הוא ביצועהקיימת ברשת.ספציפי נוכל להאזין לתקשורת המתקיימת בין הלקוח לבין אותוHTTPNBNS <strong>Spoofing</strong>לישות ה-WPAD )קיצור שלנוספים )בארגון ומחוצה לו(.)Web Proxy AutoDiscoveryPAC מה זהוקצת על ?WPADכאשר תוכנה המוגדרת להשתמש ב-WPAD,WinHTTP(תקשורת עם כתובת אינטרנט, מתבצע מתחת לפני השטח הליךשרת ה-DNS( לישות רשתית בשםופשוט מאוד - פתיחת דפדפן כגוןכדוגמת רוב הדפדפנים בשוק( מנסה ליצורResolution,"WPAD"ניתן לראות זאת באופן פשוט על ידי פתיחת"מדורדר" עד לתשאולWireshark:Internet Explorerבמידה ואכן תימצא ישות בשם ,WPAD תשלח בקשתהקובץGETלקובץ בשם:wpad.datGET /wpad.dat HTTP/1.1,wpad.datמכיל דטנסרט לקינפוג אוטומטי של הקליינט לאיתור הפרוקסי הרלוונטי לכל גלישהוגלישה. במידה והקובץ תקין, תוכנת הלקוח תקנפג את עצמה ותאתר את שרת הפרוקסי הרלוונטי לכלבקשת.HTTP27<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
WPADהוא סטנדרט לקבציPACלהתחבר לרשת האינטרנט. קבצי)קיצור שלאשר תפקידם הוא להגדיר ללקוח כיצדFindProxyForURL(url, host))Proxy Auto-ConfigPACנכתבים ב-JavaScript:הרעיון הוא שבעזרתהמיקום הדיפולטיבי הינו:WPADדוגמא לקובץ PAC סטנדרטי תראה כך:ניתן להגדיר לתוכנת הלקוח,כדוגמא הדפדפן,היכן ממוקם קובץ ה-PAC.http://wpad/wpad.datfunction FindProxyForURL(url, host){return "PROXY proxy.example.com:8080; DIRECT";}ההגדרה הנ"ל מקנפגת את תוכנת הלקוח כך שתנסה להתחבר לאינטרנט דרך שרת הפרוקסי הנמצאבכתובת "proxy.example.com" המאזין בפורט.8080אפשרות נוספת היא להשתמש בקבצי ה-PAC כ"דרדור" בין פרוקסים:function FindProxyForURL(url, host){return "PROXY proxy1.example.com:8080;PROXY proxy2.example.com:8080;PROXY proxy3.example.com:8080; ";}התוכנה תנסה לצאת דרךאם יש תקלות עם השרת,היא תנסה לצאת דרך,proxy1.example.comproxy2.example.comוכן הלאה.function FindProxyForURL(url, host){if (shExpMatch(host, "*.example.com")){return "DIRECT";}דוגמא נוספת:}if (isInNet(host, "10.0.0.0", "255.255.248.0")){return "PROXY fastproxy.example.com:8080";}return "PROXY proxy.example.com:8080; DIRECT";הדוגמא הנ"ל מקנפגת את תוכנת הלקוח כך שתנסה לצאת ישירות כאשר היעד הינו: ,*.example.comתנסה לצאת דרך הפרוקסי הנמצא ב-fastproxy.example.com כאשר היא מנסה לגשת לכתובות בתוך28<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
הרשת הפנים-אירגונית, ולכל שאר הכתובות )שהן לא ברשת הפנים-אירגונית, והן לא )*.example.comהיא תנסה לצאת דרך .proxy.example.comhttp://en.wikipedia.org/wiki/Proxy_auto-configשלושת הדוגמאות לקוחות מויקיפדיה, בקישור הבא:עד כה, מדובר בתכונה שמקלה מאוד על אנשי ה-IT בארגון ומהווה פתרון נח למספר ארכיטקטורות רשתשונות ובעייתיות. אך כמו שנראה מדובר במנגנון שניתן לנצל באופן זדוני ללא יותר מדי קשיים.תוכנות כמו דפדפנים, מחפשות באופן דיפולטיבי את שרתי ה-WPAD של הארגון, גם אם לא הוגדרו כאלהעל ידי צוות ה-IT. מה שגורם למצב שבו הרבה מחשבים ברשת מנסים לבצעNetBIOS <strong>Name</strong> Resolutionומגיעים לשלב בו הם משדרים את הבקשה כ-Broadcast ברחבי רשת האירגון. במידה ומשתמש זדוני,החבר ברשת האירגון מעוניין לנצל זאת, הוא יכול להקים שרתHTTPעל מחשבו, להכין מראש קובץPACזדוני שמורה לכלל תוכנות הלקוח להתחבר דרכו )או דרך שרת בשליטתו שמאפשר לו לצפות בתעבורתהגולשים ואף לשנותה(, ולאחר מכן לענות על שידורי ה-Broadcast ולבצע מתקפת<strong>NetBios</strong> <strong>Name</strong><strong>Service</strong> <strong>Spoofing</strong>על שמו של שרת ה-WPAD. במקרה שכזה, כל מי שיפתח את תוכנת הדפדפן וינסהלגלוש לאתר ברשת האינטרנט או האינטראנט, יבצע את הגלישה דרך מחשבו/שרתו של התוקף.התוקף אף יכול להגדיל ולהשתמש ב-Strip SSL וכך להיות מודע לכלל תקשורת ה-HTTPS של הקורבן.22<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
מימוש המתקפה בעזרת Metasploitדוגמא למימוש המתקפה בעזרת,Metasploitוטעינה של:nbns_responsemsf > use auxiliary/spoof/nbns/nbns_responseכפי שצויין קודם, מדובר בכלי שמאפשר לנו להאזין לכרטיס הרשת, ומחכה "לצוד" לשידוריישויות שונות ברשת. ה-Auxiliary הנ"ל אינו אפקטיבי לבד, במידה ונצליח לצודBroadcast שלבקשת NetBIOS <strong>Name</strong>Resolutionמבלי לגרום לתוכנת הלקוח בצד השני לתת לנו מידע כגון סיסמאות, אוטעם בדבר, ולכן תמיד נרצה לשלב אתCookiesnbns_responseוכו' אין לנועם כלים אחרים. ב-Metasploit קיימים כליםנוספים. בדוגמה הנ"ל, נבחר בכלי המאפשר לנו לזייף תגובות לבקשות למשאביSMB)כגון תיקיותמשותפות(, כך שבמידה וגורם ברשת ינסה לגשת לתיקיה רשתית, נתפוס את הבקשה, ונדרוש ממנו לתתלנו את פרטי ההזדהות שלו. דרך נוספת יכולה להיות שילוב שללתפוס פרטי הזדהות לשרתיטעינה שלnbns_responseעםAuxiliaryTelnet ,HTTPFTP או:nbns_responseועוד.שיודע10<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
msf auxiliarynbns_response) > show optionsעל מנת לראות אילו אפשרויות יש לנו, נריץ:כרטיס הרשת עליו נרצה להאזין.NetBIOS <strong>Name</strong>- INTERFACE- REGEX לאיזהלכלל בקשות ה-Resolution שנקבל.לאיזה כתובתנרצה להתחקות, ברירת המחדל הינה: "*.”נרצה להעביר את הקורבנות שצדנו.מה שאומר שנתחקהIP- SPOOFIPmsf auxiliray(nbns_response) > set INTERFACE eth0INTERFACE => eth0msf auxiliray(nbns_response) > set SPOOFIP 10.0.0.6SPOOFIP => 10.0.0.6msf auxiliray(nbns_response) > run[*] Auxiliary mmodule execution completedנכניס את הפרטים:ונריץ את השרת:[*] NBNS Spoofer started. Listening for NBNS requests...לאחר מכן, נקים שרת שיאזין ויספק שירותי)שכמובן דורשים מהמשתמש לספק את פרטי ההזדהותmsf > use auxiliary/server/capture/smbSMBשלו(, נריץ:נבדוק אילו אפשרויות יש לנו:12<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון 32, יוני 1021
כאשר נשיג את פרטי המשתמש, נשיג אותם כ-NTLM, ונאלץ לשבור אותם באמצעות תוכנות ייעודיותכדוגמת Cain- CAINPWFILE - JOHNPWFILE ו-Hashcat ו-JohnTheRipper.מיקום הקובץ בו ישמרו פרטי המשתמש בפורמט שיהיה נוח להכניסם ל-Cain.כנ"ל, רק לגבי.JohnTheRipper- CHALLENGE מפרוטוקול ההזדהות.ה-Challenge שישלח לקורבן בשלב ההזדהות, הדבר שקוף לקורבן והוא חלקmsf auxiliray(smb) > set JOHNPWFILE /tmp/pwdsJOHNPWFILE => /tmp/pwdsmsf auxiliray(smb) > run[*] Auxiliary mmodule execution completedנכניס את הפרטים ונריץ את השרת:[*] Server started.msf auxiliary(smb) > jobsעל מנת לראות שהכל רץ כמו שצריץ, נריץ:JobsId <strong>Name</strong>-- ----0 Auxiliary: spoof/nbns/nbns_response1 Auxiliary: server/capture/smbבמידה ואכן יש לנו שני משימות שרצות - הכל מוכן. נשאר רק לחכות לבקשות.SMBבמידה ואכן נצליח לצוד בקשת,NetBIOS <strong>Name</strong> Resolutionלמשתמש יקפוץ חלון המבקש פרטי ההתחברות לאותו המשאב:ולהפנותה לשרת ה-SMB שזה עתה הקמנו,11<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
לאחר הכנסת הפרטים, תקפוץ לו הודעת שגיאה כי הפרטים אינם נכונים:לאחר שליחת הסיסמה, אנחנו נקבל חיווי עם פרטי המשתמש ב-NTLMv2:13<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
msf auxiliary(ftp) > run[*] Auxiliary mmodule execution completedונריץ:[*] Server started.ושוב,נשאר רק לחכות שלקוח יבצעלטובת התחברות לשרתFTP ברשת הפנים-אירגונית.Resolutionבמידה ואירוע כזה אכן יתרחש:יקפוץ למשתמש חלון המבקש את פרטי ההזדהות שלו:ואנחנו נקבל על כךחיווי:12<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
במידה והמשתמש יכניס את פרטי ההזדהות שלו וישלח אותם לשרת ה-FTP, הוא יקבל הודעת שגיאהקלאסית, ואנו נקבל את פרטי ההזדהות שלו )הפעם, מפני שבפרוטוקול ה-FTP, פרטי המשתמש נשלחיםכ-Cleartext, נקבל את פרטיו באופן גלוי(:גם כאן, חשוב לזכור כי כל עוד נריץ את הכלים, המשתמשים לא יוכלו להתחבר לשום שרתמה שאומר שלאחר שדגנו את פרטי ההזדהות - עלינו לעצור אותם, על מנת שלא נעורר חשד.בארגון, FTPהתגוננותעל מנת להתגונן מפני מתקפות מסוג זה, חברת מיקרוסופט ממליצה לערוך את קובץ ה-HOSTS וה-LMHOSTS של מערכת ההפעלה ולהוסיף לתוכה רשימה שלFQDN)קיצור שלFully Qualified Domain)<strong>Name</strong> של כלל המחשבים / שרתים ברשת האירגון. עד כמה זה פרקטי? אני לא באמת יודע.ממערכת ההפעלה,Windows 7לחפש רק פעם אחת שרת ,WPAD אם השרת לא נמצא-מיקרוסופט הכניסו פיצ'ר )שמאופשר כברירת מחדל( שמורה למערכתלא יתבצע נסיוןResolutionנוסף. הדבר מקטיןמשמעותית את חלון ההזדמנויות של התוקף, אך עדיין מסכן את המשתמשים ברשת, בייחוד שכיום רובעמדות הקצה הן מחשבי.XPכיום, נראה כי ה-Practice ,Best הינו לבטל את עניין ה-WPAD, ולהפיץ לעמדות קובץPACמקומי בעזרתשרתי הפצות תשתיתיים. העניין הוא שלתוקף יהיה הרבה יותר קשה עד כמעט בלתי אפשרי להתערבבתהליך הפצת קבצי ה-PAC ועל ידי כך לשנות את קונפיגורציית שרתי הפרקסי.17<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
סיכוםכמו שניתן לראות מהמאמר,למתקפה זו פוצנטיאל רב.בנוסף לכך,נראה כי אין כיום פתרון קסםהמאפשר להתגונן מפניה,מדובר במתקפה שקטה מאוד מפני שהיא מתבצעת אל מול הקורבן עצמו,ARP Poisoningוקשה לאתר סימנים שלה מהתבוננות ברמת הרשת בלבד,שאותן ניתן לאתר בקלות רבה יחסית גם ברמת הרשת.שלא כמו מתקפות כגוןביבילוגרפיה וקישורים לקריאה נוספתטכני בנושאNetBIOSו-WPAD:en.wikipedia.org/wiki/NetBIOSen.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocoltechnet.microsoft.com/en-us/library/cc738412(v=ws.10).aspxwww.techrepublic.com/article/how-netbios-name-resolution-really-works/5034239פיתוח בנושא:<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.mcgrewsecurity.com/2007/03/23/developing-a-netbios-name-service-spoofer-part-1/www.mcgrewsecurity.com/2007/03/26/developing-a-netbios-name-service-spoofer-part-2/www.mcgrewsecurity.com/2007/03/27/developing-a-netbios-name-service-spoofer-part-3/www.packetstan.com/2011/03/nbns-spoofing-on-your-way-to-world.htmlמימוש בנושא:<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.mcgrewsecurity.com/2007/03/22/netbios-name-service-spoofing/hypersecurity.blogspot.com/2009/12/netbios-spoofing.htmlwww.skullsecurity.org/blog/2009/pwning-hotel-guestsptsecurity.com/download/wpad_weakness_en.pdfhttp://dsecrg.blogspot.com/2012/01/netbios-spoofing-for-attacks-on.htmlhttp://video.google.com/videoplay?docid=-459641484086612304418<strong>NetBios</strong> <strong>Name</strong> <strong>Service</strong> <strong>Spoofing</strong>www.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
Security Tokensנכתב ע"י יוסף הרושוכרטיסים חכמיםהקדמהבמבט ראשון כרטיס פלסטיק עם לוח מגעים יכול לתת את התחושה של כרטיס אחסון פשוט והאמת היאשמראה ראשוני יכול להטעות. במאמר זה נקבל הצצה לעולם הכרטיסים החכמים וה-Tokens .Securityתחילה אסביר מהו,Security Tokenאסקור את הסוגים שקיימים כיום, אראה באילו דרכים ניתןלהתממשק אליהם כמפתחים, אסביר מהם מנגנוני ההגנה שקיימים ב-Token Security ואציג דוגמאותלשימושים שעושים בהם כיום.היסטוריההכל החל בתחילת שנות ה-70 כאשר שני ממציאים גרמנים בשם יורגן דטלוף והלמוט גרטרופ רשמו פטנטעל הקונספט של כרטיס פלסטיק משולב עם שבב, מספר שנים לאחר מכן פטנט זה פותח גם ביפןובצרפת על ידי ממציאים שונים. לאחר כמה שנים, תחילת שנות ה-80, מספר חברות החלו בפיתוח שלהקונספט. בתחילת שנות ה-90ISOהאבטחה והתקנים נולד ה-Security-Token המודרני.שחררו תקנים בנושא. ומאז, עם התפתחות האלגורימים ודרישותמהו ?Security TokenSecurity Tokenהוא התקן חומרה מוקשח בעל מערכת הפעלה, מעבד, זכרון נדיף, זכרון בלתי נדיף ועודכמה יחידות חומרה פנימיות נוספות שיחד, מרכיבים פתרון ליצירה, אחסון, ושימוש של מידע רגיש בצורהבטוחה )מפתחות הצפנה למשל(. זאת אומרת שאפשר להסתכל עלשתפקידו הוא לאבטח את תכנים מסווגים.Security Tokenכאל מחשב קטן12Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
קיימים כיום מספר סוגים של:Security Tokens-כרטיס פלסטיק, בגודל של כרטיס אשראי, משולבChip שחשוף בעזרת לוח מגעיםContact Cardמוזהב:לוח המגעים נראה כך:]במקור: ,http://en.wikipedia.org/wiki/Smart_card#Contact שם גם קיים פירוט על כל אות[ל-Card ,Contact- SIM Cardכרטיס ה-SIM )קיצור של:אך הפלסטיק מוקטן כך שיוכל להכנס להתקנים קטנים:(Subscriber Identification Moduleדומה)IMSI(,)ICCID(לכל כרטיס SIMקיים מספר סידורי ייחודימזהה בינלאומיועוד מספר מנגנוניהזדהות והצפנה ורכיב זיכרון.כרטיס פלסטיק שחיצונית נראה פשוט,אך בפנים נמצאשבבואנטנה שמסוגל-Contactless Cardלשדר מידע באופן אלחוטי לצורכי קריאה וכתיבה:כרטיסים אלו נראו לראשונה בהונג-קונג בשנתע"י,1997לכרטיסים קראו"Octopus card"Vix Technologyהאוסטרלית. לכרטיסים אלו הוצמדה אנטנה מזערית וציפ מסדרתוהם פותחוFeliCaSonyשליפן. לכרטיס עצמו אין מקור אנרגיה והוא שידר את המידע השמור עליו רק כאשר היה מקבלאנרגיה מקורא כרטיסים.30Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
- Combined Cardכרטיס משולבContactlessו-Contact החולקים את אותו זיכרוןשניתן לתפעל אותו באמצעות קורא כרטיסים אלחוטי או באמצעות קורא כרטיסים פיזי:- זאת אומרת,- Hybrid Cardכרטיס משולבContactlessו-Contact שלא מתממשקים אחד עם השניכל אחד -מהם חי בעולם שלו, אין לו מושג שעל אותו הפלסטיק יושב לו עוד מודול של כרטיס חכם, כלומר, ניתןלתפעל אותו באמצעות קורא כרטיסים אלחוטי ובאמצעות קורא פיזי בהתאם לצורך:קוראי כרטיסיםעל מנת שנוכל להשתמש בכרטיס חכם, יש צורך בקורא כרטיסים. קיימים מספר סוגים של קוראיכרטיסים, בהתאם לסוג הכרטיס. קורא כרטיסים נועד לאפשר תקשורת עם הכרטיס לטובת ביצוע פעולותכמו קריאה, כתיבה, עיבוד מידע ועוד. ברוב המקרים, קורא הכרטיסים מספק לכרטיס החכם את אספקתהחשמל הדרושה.קורא כרטיסים עם צורך במגע פיזי של הכרטיס-קורא כרטיסים שדורש הכנסה של הכרטיס אלתוך לקורא. התקשורת נעשית באמצעות התחברות של הקורא ללוח המגעים שחשוף על הכרטיס:]במקור:]http://all-free-download.com/free-vector/vector-misc/electronic_products_vector_155683.html32Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
-קוראכרטיסיםפיזי במגע צורך ללאקוראכרטיסיםעם מגע דורש שאינוהכרטיס.התקשורתוהקורא רדיו תדר גבי על נעשיתמסוגלהכרטיס עם לתקשרבמרחק הוא כאשרמסויםממנו.]במקור:]http://all-free-download.com/free-vector/vector-misc/electronic_products_vector_155683.htmlחומרה יעודיתToken - Trusted Platform Module - TPMלוחות האם שמיוצרים כוללים רכיב זה:אשר מותקן על גבי לוח האם של המחשבלא בכל -]במקור:]http://latesttech-news.com/infineon-trusted-platform-module/- Hardware Security Module - HSM התקן ,PCI, Tamper Resistant מספקבתקנים המחמירים ביותר:ביצועים גבוהים ועומד31גליון]במקור:]http://all-free-download.com/free-vector/vector-misc/electronic_products_vector_155683.htmlSecurity Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
- USB Tokens התקן USB שנראהכמוDisk On Keyאך בפועל הואSecurity Tokenלכל דבר:]במקור:]http://all-free-download.com/free-vector/vector-misc/electronic_products_vector_155683.htmlעקרונות אבטחה וסטנדרטים לפיתוחתמיד נעדיף לאבטח מידע רגיש בתוך ה-Token Security ולהגדיר שישאר שם ולא יצא. לצורך העניין נניחואנו מעוניינים לנפק למשתמש בארגון שלנו זוג מפתחות אסימטריים ותעודה דיגיטאלית שישמשו אותולהתחברות ל-Controller .Domain ראשית, נחולל זוג מפתחות אסימטרי על ה-Token תוך הגדרהשהמפתחות לא יוצאים מהכרטיס בשום מצב. לאחר שהמפתחות נוצרו, נייצר בקשה לתעודה על פי תקןPKCS#10כאשר הבקשה לתעודה תכלול פרמטרים שמזהים את המשתמש בדומיין ונעביר אותה אלCAלניפוק של תעודה.לאחר שיש קובץ תעודה שמקשר בין המשתמש בדומיין לבין המפתח הפומבי, נתקין את התעודה על ה-.Token:Cryptoki DLL – PKCS #11מאחר וקיימים מגוון רחב של יצרני,Security Tokens.Tokensקיים מסמך מביתאפליקציות לצרכי התממשקותפי ההנחיות שמוגדרת בתקן.RSA Laboratoriesשנקראיש צורך בממשק עבודה גנרי מול ה-SecurityPKCS#11שמגדיר איך נראהDLLל-Tokens .Securityשישמשבאחריות יצרן ה-Token Security לפתח את ה-DLL עלהזדהות ל-Token :Securityעל מנת להפעיל פונקציונליות מסויימת על ה-Token כמו הצפנה, יש להזדהות אליו תחילה. על פי תקןPKCS#112 ישנןיישויות איתם ניתן להזדהות אל ה-Token:- Security Officer,Tokenמשתמש זה הוא לפעילויות ניהוליות של ה-Token, למשל: הוא יכול לאתחל את ה-לשנות לעצמו את הסיסמא, לקבוע סיסמא ל-User במידה ואין לו אחת )קורה לאחר אתחול(אך לא יכול להשתמש במפתחות ההצפנה והתעודות של ה-User.33Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
- Userמשתמש זה הוא עבור המחזיק ב-Token שאמור לעשות שימוש במפתחות ובתעודותשנמצאות עליו. משתמש זה יכול לשנות לעצמו את הסיסמא, אך במידה ושכח אותה, אין ל-SecurityOfficerיכולת לשחזר או להחליף אותה.הגנה מפניעל ה-Token יש:Broute ForceCounterעל כל נסיון התחברות כושל. כשה-Counter מגיע למספר מסויים, הגישה אליונחסמת ומהסיבה שביטול נעילה של הPIN לא קיים בתקן,PKCS#11נדרש אתחול של ה-Token. אך עםנעלנו את ה-Officer ,Security אנחנו בבעיה ובחלק מה-Token-ים לא יהיה מה לעשות חוץ מלזרוק אותו.פיתוח מול ה-Token :SecurityPKCS#11פרוצדורלימספק ספציפיקציה מאוד מפורטת על חתימות של פונקציות לעבודה עם ה-Token באופןAPI - בשפת .Cלעבודה יותר נוחה ו-OOP תי-קיימים מספר פרוייקטי,Open Source.אני ספציפית משתמש וחבר ב-Source Open שנקראשמספקים עטיפה של ה-API הבסיסי.PKCS11.NETדוגמת קוד בשפתC#להתחברות שלושל User:Security Officerpublic void Init(){Module module = Module.GetInstance("crypoki.dll");Slot smartCardReader = module.GetSlotList(true).First();bool isReadOnly = false;Session session = smartCardReader.Token.OpenSession(isReadOnly);try{session.Login(UserType.SO, "SO-PASSWORD");session.Logout();}session.Login(UserType.USER, "USER-PASSWORD");session.Logout();}finally{CloseSession(session);}34Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
דוגמת קוד בשפתליצור זוג מפתחות אסימטריים כאשר המפתח הפרטי מוגדר כמפתח שלא יצא מה-public void GenerateRsaKeyPair(){char[] lbl= "my-rsa-pair".ToCharArray();byte[] id= new byte[]{123};byte[] pubExp=new byte[]{3};uint modulusBits=1024;RSAPublicKey pubTemplate=new RSAPublicKey();pubTemplate.Token.Value=true;pubTemplate.Encrypt.Value=true;pubTemplate.Verify.Value=true;pubTemplate.Label.Value=lbl;pubTemplate.Id.Value=id;pubTemplate.PublicExponent.Value= pubExp;pubTemplate.ModulusBits.Value=modulusBits;RSAPrivateKey privTemplate= new RSAPrivateKey();privTemplate.Token.Value=true;privTemplate.Sign.Value=true;privTemplate.Decrypt.Value=true;privTemplate.Label.Value=lbl;privTemplate.Id.Value=id;privTemplate.Sensitive.Value=true;C#Token לאחר שנוצר:session.GenerateKeyPair(new Mechanism(CKM.RSA_PKCS_KEY_PAIR_GEN),pubTemplate,privTemplate);}35Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון 32, יוני 1021
:APDUממשקLow Levelלכרטיס, בו משגרים מבנה נתונים שמכיל מזהה פקודה ומידע נלווה. יש יצרניים שמנחים אפליקציות מסויימות לשגר פקודותבתקן-TokenAPDUAPDU פקודות .PKCS#11לדוגמא:מידע נלווה:פקודה:ל-Token בכדי לקבל פונקציונליות שלא קיימת--התחברות כ-Officer Securityביטול נעילת PIN משתמשאתחול ה-Tokenשינוי סיסמאהסיסמא של ה-Officer Securityהסיסמא החדשהדלף מידעבארגונים מסויימים, מדיניות האבטחה מגדירה הפרדה של רשת הארגון מרשתות אחרות. אם נעשהשימוש בכרטיסים החכמים גם מחוץ לרשת הארגון, תוקף יכול לנצל זאת בכדי להדליף מידע כאשר כל מהשהוא יצטרך זה2 סוכנים,אחד בכל רשת.נניח כי תוקף ירצה להדליף מסמכים מסווגים של הארגון, כל אשר עליו לעשות הוא לפצל את המסמכיםלקבצים קטנים, ובכל פעם להעביר חלק אחר של הקבצים. עכשיו אתם בטח חושבים, מאיפה לו הסיסמאשל ה-User בכדי לכתוב מידע לכרטיס? התוקף יכול:לעשותHookingלאינפוטים של הסיסמא ל-Token.להזריק קוד לאפליקציה שמשתמשת ב-Token וכבר יש להלנסות סיסמאת ברירת מחדל ועוד.Sessionפתוח איתו.מסיבה זו, קיימים פיצ'רים בחלק מה-Token-ים שהופכים אותו ל-Read-Only )פקודת APDU שלא חלק מ-)PKCS #11זה אומר שלאחר הכנסת ה-Token למצב זה, לא יהיה ניתן להוסיף, למחוק או לשנות מידעמה-Token אלא רק לעשות שימוש במה שקיים עליו. מידע על מתקפות נוספות קיים בקישורים בסוףהמאמר.32Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
הזדהות ביומטרית לכרטיסקיימים גופים שדורשים מלבד סיסמאת משתמש גם הזדהות לכרטיס, כמו דוגמא הזדהות אליו באמצעותטביעת אצבע. נושא זה הוא קצת בעייתי, בגלל שבתקןPKCS#11לא תיארו מצב כזה ולכן יש הרבהויש כאלה שיכולים להיות ברמה של .PKCS#11 ,APDU שיכולים להיות ברמת Workaroundsדוגמא ל-Workaround לאתחול ביומטרי בממשקsession.Login(UserType.USER, null);:PKCS#11הכוונת היצרן היא, שהוא משנה את ההתנהגות של פונקציית ה-Login שכשאתה מספק לוסיסמא, מועלה לך מסך אינטראקטיבי להזדהות ביומטרית.NULLבמקוםTokenלשרתיםגם שרתים צריכיםםי- Tokenאחר. לרוב נשלב בשרתים–בין אם זה שרת שמצפין את ה-DB בארגון, שרת,CA.HSM מסוג Tokenאו כל שרת רגישהבעיה היא שהם רכיבים יקרים ושלארגון לפעמים לאמשתלם לקנות HSM לכל שרת, ולכן, קיים פתרון שנקרא שרת Network HSM שהוא שרת ארגוני, שרקבו מותקן HSM והוא מספק פתרונות קריפטוגרפיים לשאר השרתים בארגון.למשל, אם יש לי שרת שאני צריך להצפין בו את ה-DB, אתקין תוכנה שתדמה,Tokenשבפועל תעשהפנייה ב-SSL לשרת ה-HSM Network ותבקש ממנו להצפין את המידע, כמו גם לגבי פיענוח, חתימה ושארהשימושים ש-Token מאפשר.,PKIהזדהות ל-DC ושילוביות שלTokensבארגונים גדולים נוח מאוד למנהלי רשת להתנהל בעזרת תשתית ה-Directory ,Active יצירת משתמשים,איפוס סיסמאות, הפצה של סקריפטים, מדיניויות, ועוד מלא כלי ניהול נהדרים. הבעיה היא המצב שבוהמשתמש מזדהה לDomain - עם סיסמא.מרבית האנשים לא יודעים לבחור סיסמא שתאבטח את המשתמש הדומייני שלהם ולרוב הם ישתמשובאותה הסיסמא גם לחשבונות המייל, פייסבוק ושאר שירותים אינטרנטיים שדורשים אוטנטיקציה.PKI יישום - קיים פתרוןבתהליך ההזדהות ל-Domain. )מידע מורחב עלPKIקיים בקישורים בהמשך(, אםנספק לכל עובד בארגון Token שמכיל תעודה עם Extension שמפרט מהו ה-UPN של ה-User ב-Domain37Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
ו-Policy להזדהות ה-Client, נוכל לבצע התחברות ללא סיסמא, בהנחה וה-Controller Domain סומך עלה-CA שניפק את התעודה לעובד וההפך - שהתחנה של העובד סומכת על על ה-CA שניפק את התעודהשל ה-Controller .Domainאובדן Security Tokenאז מה עושים עם אבד הToken Security לעובד בארגון שלנו? כפי כהזכרתי מקודם, בכדי להשתמשבכרטיס יש צורך "להוכיח" שאתה בעליו, לכן גורם זדוני שיחזיק בToken Security לא אמור להכיר אתהסיסמא שלו ואם הוא בכל זאת ינסה להתחכם, כעבור מספר נסיונות הToken Security ינעל. יחד עםזאת קיימת חשיבות לניהול הCredentials שמכילה-PKI, רצוי לעשותהToken SecuritySuspend\Revokeבמקרה של אובדן. למשל בתשתיתלתעודה הדיגיטלית שמקושרת למפתח ע"י הוצאת.CRLשימושיםכל אחד מאיתנו מחזיק ב-Token .Security הם משתלבים בחיינו בלי שנשים לב - הטלפון הנייד, כרטיסיותגם בתעודת הזהות החכמהבקרוב בחברה בה אנו עובדים, כרטיסי האשראי, התחבורה הציבורית, ובדרכונים.קיימים עוד מגוון שימושים עםSecurity Tokensוזה הולך ומתרחב. אני מאוד מקווה שכשיסיימו עם כלהבירוקרטיה של פרוייקט תעודת זהות חכמה, יבחרו לאחסן את טביעת האצבע של האזרחים רק עלמערכת ההפעלה המוקשחת של הכרטיס החכם ולא במאגר ממשלתי.]במקור:http://he.wikipedia.org/wiki/%D7%A8%D7%91-, http://www.globes.co.il/news/article.aspx?did=1000628941]%D7%A7%D7%9538Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
סיכוםבמאמר זה ראינו כיSecurity Tokenשרוצה לפגוע בנו. לפני יישום של פתרון מסוג זה, חשוב לוודאברמה הקונפיגורבלית - שהוא אינו מגיע עם סיסמאותהינו מחשב מורכב ומוקשח, אשר עושה חיים קשים לגורם הזדונישה-Token SecurityUser \ Security Officerמספיק מאובטחברירת מחדל, שלא קייםעליו מידע רגיש שלא הוגדר ככזה, שהוא עומד בכל התקנים ובמידת הצורך גם מספק התממשקות נוחהלמפתחים.אודות המחברשמי יוסף הרוש, אני מתכנת בחברה שמתמחה באבטחת מידע וצופן ואני חלק מצוות פיתוח שמספקפתרונותPKIוגרפיקה. אתעם כרטיסים חכמים. התחביבים שלי הם מחשבים, תכנות בקהילות ה-OpenSource, צילום<strong>Digital</strong> <strong>Whisper</strong>הכרתי עם הגעתי לחברה בה אני עובד שכחלק מההכשרה שעברתיהייתה מבוססת על המאמרים שכתובים פה במגזין. כבוד הוא לי להיות חלק משיתוף הידע.אשמח לתגובות ולשאלות:jossef12@gmail.comReferencesתקיפות כנגד כרטיסים חכמים:תקניhttp://www.hbarel.com/publications/Kanown_Attacks_Against_Smartcards.pdf:RFID Hackinghttp://www.digitalwhisper.co.il/files/Zines/0x02/DW2-4-RFID-Hacking.pdfפרוייקט:PKCShttp://en.wikipedia.org/wiki/PKCS:PKCS11.NEThttp://sourceforge.net/projects/pkcs11netHSMמאמר עלרשתי שמפתחת חברה ישראלית בשם:ARXhttp://www.arx.com/products/private-server-hsm:PKIhttp://www.digitalwhisper.co.il/files/Zines/0x03/DW3-1-PKI.pdf32Security Tokens וכרטיסים חכמיםwww.<strong>Digital</strong><strong>Whisper</strong>.co.ilגליון,32 יוני 1021
שימוש בעקרונות האי-וודאות למניעת מתקפות Man InThe Middleהקדמהנכתב ע"י יאיר מוליאן, תורגם ע"י תום רז, אפיק קסטיאל ושילה ספרה מלרמציאת דרך להעברת מידע ממקום אחד למשנהו באופן בטוח הינה בעיהוקריפטוגראפים מתעסקים לא מהיום. מטרתנו העיקרית הינה להבטיח כיהאדם הרצוי )הנמען( יוכל לקרוא את התוכן שנשלח אליו.שבה מדענים, מתמטיקאיםאף אדם )או מכונה( מלבדתהליך החישוביות הקשור בהעברת המידע מתבצע תמיד ע"י אמצעים פיזיים וחוקים פיזיקאלים בסיסייםמשחקים תפקיד חשוב כאשר מדובר על רמת האבטחה. מסריקה זריזה ניתן לראות כי כיום מרביתהשיטות שנמצאות בשימוש מבוססות על פיזיקה קלאסית. עם זאת, למרות ששיטות אלה כרגע נחשבותכבטוחות, הן בדרך כלל מבוססות על ההנחה כי לתוקף קיים כוח מוגבל של חישוביות. דוגמא טובה הינההשימוש באלגוריתם ההצפנה הנפוץ כל כך, ה-RSA. ההנחה המרכזית בו היא שניתן לדעת את ערכיP,N בהינתן Qאך כאשר N הוא מספר עצום, משך זמן פעולת פירוקו לגורמים יהיה רב באופן משמעותי.ו-שימוש במערכת קוונטית )כגון פוטונים מקוטבים או שימוש בחלקיקים בעלי ספין(½להעברת מידעדיגיטלי, מעלה תופעות הצפנה קוונטית, עקב עקרון אי הודאות ומשפט בל, שמבטיחות כי אפילו מצותתבעל כוח חישוביות אין סופית לא יוכל להתחמק מלהיתפס בעת ניסיון לביצוע מתקפה.המדע העומד מאחורי הצפנה קוונטית נחשב חדש יחסית. והוא נראה כמו תשובה מושלמת לבעיותחשובות רבות. לדוגמא, על ידי יצירת רצף מספרים רנדומליים אמיתי )בניגוד למספרי פסבדו-אקראייםשנוצרים בדרך כלל ע"י אלגוריתם במחשב( לא ניתן יהיה לזייף כסף, וניתן יהיה להגן על מידע מפניהעתקתו או ציתותו. כרגע, הרב עדיין תיאורטי בלבד והכל עדיין בחיתוליו. אך בכל זאת, קיים נושא אחדשיכול להיות מעשי אפילו עם הטכנולוגיה והידע שיש כיום בנושא והוא החלפת מפתחות קוונטית )אובאנגלית: )Quantum Key Distributionובו נתמקד במאמר זה.הצפנה קוונטית מסתמכת על נושאים רבים אחרים שהייתי מעוניין להציג לפני שנגש לנושא עצמו. החלקהראשון במאמר ידון בחלקים מרכזיים בהצפנה ומייצגים את האופן בו הדברים מתבצעים כאשר הםמבוססים על פיזיקה קלאסית. לאחר מכן, נדון בעקרונות הקשורים בעולם הקוונטי, בשימוש בפורמליזםהמתאים לתאור מידע קוונטי. המושגים שיהיו חשובים לחלקים שאחריהם כמו עיקרון האי וודאות, שזירות40גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
ומשפט בל יוסברו באריכות. עם כל הכלים האלה, אנו נעבור לראות ארבע דרכים שונות ליישם אותן בכדילבצע החלפת מפתחות שידועות כ-BB84,B92 ,E91ו-BBM92.מושגים בהצפנהשל-3קריפטוגרפיה הינה ענף במתמטיקה ומדעי המחשב, העוסק בעיקר באבטחת, זיהוי ואימות המידע. ענףזה בעל היסטוריה ארוכה של שימושים צבאיים, דיפלומטיים ומסחריים שראשיתה בתרבויות קדומות.אחת הדוגמאות המוכרות ביותר, הינה הצופן שלפי היסטוריונים רבים שימש את הקיסר יוליוס, ולכן הואמכונה "צופן קיסרי" שבו כל אות במכתב המקורי מוחלפת באחותה שבאה במרווח קבוע ממנה בסדרהאותיות האלפביתי )על פי מפתח שנקבע מראש(. לדוגמא, שימוש בצופן קיסרי במרווח קבוע )מפתח(אותיות:]במקור:]http://en.wikipedia.org/wiki/Caesar_cipher4אליס כי נניחמעוניינתלבוב מסר לשלוחבעזרת הדרך שהוצגה לעיל,עם מרווח קפיצות שלאותיות,ע"פ.f(message; key)כך המסר:ATTACK THEMיוחלף ב:EXXEGO XLIQעל מנת שבוב יוכל להבין מה אליס שלחה לו, הוא מבצע:key) .f -1 (message; החולשה של שיטה-זו ברורהברגע שמפתח הצפנה נמצא בידי האויב, ניתן בקלות לדעת מה מפתח הפענוח. בדרך כלל, כאשראנשים משתמשים בהצפנות, פעמים רבות הם אינם מעוניינים במציאת דרך הצפנה שאינה ניתנתלשבירה אלא שההודעה שלהם תישאר מוגנת, לפחות כל עוד התוכן שלה בעל משמעות.42גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
עולם ההצפנה התקדם רבות מימי הקיסרות הרומית, וכיום כמעט כל אחד מאיתנו משתמש בהצפנה, אםזה תוך כדי חיפוש ב-Google או אם זה כאשר אנו מזדהים לחשבון הפייסבוק שלנו. שימוש בשיטתההצפנה בדוגמאות אלו הינהSSL)ראשי תיבות שלSecure Socket Layerושימושה הפך לפופולארי כל כך שכמעט כל משתמש יכול לציין כי כאשר מופיעשפותחה על ידי,)Netscapehttpsבמקום שאמורלהופיע ה-http, הדבר מעיד על כך כי התקשורת לאתר מאובטחת, מה שיעזור בעת מניעת מתקפותMan In The Middleכמו שיכולה להתרחש במקרה הבא:המשך פרק זה יתאר כיצד דרך ההצפנה מתבצעת על אמצעים קלאסיים ואלגוריתמים מבוססי סיבוכיות.הצפנה סימטריתצופן סימטרי )כמו בדוגמא שבוצעה על ידי קיסר( דורש שימוש באותו המפתח עבור תהליך ההצפנה ועבורתהליך הפענוח: מסר שהוצפן על ידי אליס עם מפתח, מתפענח על ידי בוב בעזרת שימוש בעותק זהה שלהמפתח:41גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
)OTP( One-Time Padהמבוסס על צופן,Vernamשהוצע לראשונה בשנת1926גם על ידיGilbertVernamמ-AT&T, שייך לקטגוריה זו. לפי שיטה זו, אליס מצפינה את המסר שלה-,(M1(באמצעות מפתח באופן אקראי.)K(מחרוזת של ביטיםתהליך ההצפנה הינו תהליך פשוט: על כל תו מתוכן ההודעהיש להוסיף את ערכו של התו המקביל במפתח ההצפנה )על מנת להמנע מחריגת הערכים בתוצאהנשתמש ב-Modulo(, לדוגמא, אם ההודעה באנגלית, והתו הגבוה ביותר הינונבצעZ,Mod 26אם בתוצאה נגיע ל-26, נחשב26 Mod 26ונקבל,0 משמע: .)A)וערכו נקבע ל-25(, אזי,לדוגמא, במידה ונרצה להצפין את המילה"ATTACK"ההודעה המקורית:בעזרת המפתח ,"GBCWET" התהליך יראה כך:A T T A C K0 19 19 0 2 10++++++GBCWEמפתח ההצפנה: T61222419======620212262962021226ביצוע 3:Mod 26GUVWGההודעה לאחר ההצפנה: Dתהליך הפענוח מתבצע בדיוק להפך:GUVWGההודעה המוצפנת: D620212263------GBCWEמפתח הפענוח: T61222419======019190210ATTACההודעה לאחר הפענוח: Kקיימות שיטות הצפנה מקבילות, כגון ביצוע פעולתXORבין ההודעה לבין מפתח ההצפנה ועוד. על פיקלוד אלווד שאנון )אבי תורת האינפורמציה( במידה ומשתמשים במפתח הצפנה אקראי, ובמידה ואורךמפתח ההצפנה שווה לאורך ההודעה עצמה, מדובר בשיטת ההצפנה היחידה בעולם שנחשבת בטוחה43גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
במאה אחוז, מפני שזאת שיטת ההצפנה היחידה בעולם בה חשיפת הטקסט המוצפן אינו מעיד דבר עלהטקסט המקורי.עם זאת לשיטה זאת קיימות שתי בעיות מרכזיות:חובה על אליס ובוב להחזיק מפתח סודי משותף, אשר אורכו חייב להיות לפחות אורך המסר עצמו.אליס ובוב יכולים להשתמש במפתח הצפנה הנ"ל רק פעם אחת )ומכאן שמו,)One-Time Padבמידהוהם ישתמשו במפתח זה יותר מפעם אחת, חוזקה של השיטה יפגע ומאזינה )להלן: איב( תוכללהסיק מידע רב אודות מפתח ההצפנה ואודות תוכן שני ההודעות המקוריות.בנוסף להכל, על אליס ובוב להעביר את מפתח ההצפנה באמצעים אמינים, כגון שליח, או באמצעותפגישה אישית. הליך זה עלול להיות יקר ובעל מורכבות רבה, ואף עלול להיכשל במקים רבים. עקב בעיותאלה פנקס חד פעמי משמש כיום רק את היישומים הקריטיים ביותר, ומשמש למעשה רק לעתים נדירותבלבד. שימוש במערכות הצפנה סימטריות עבור יישומים שגרתיים כגון מסחר אלקטרוני וכדומה אינו ברביצוע ומשתמש במפתחות קצרים למדי.44גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
הצפנה א-סימטריתתהליך הצפנה א-סימטרי מתבצע תוך שימוש בשני מפתחות שונים: מפתח אחד עבור תהליך ההצפנהומפתח שני עבור תהליך הפענוח. תהליכים אלו מוכרים כ-"מערכות הצפנה מבוססות מפתח פומבי".העיקרון שלהם הוצע לראשונה על ידי ויטפילד דיפי ומרטין הלמן בשנתבפועל יישום העיקרון פותח והוצג לראשונה רק לאחר שנתיים, בשנת1976,1978מאוניברסיטת סטנפורד.במכון הטכנולוגי שלמסצ'וסטס, ידי רונלד ריבסט, עדי שמיר, וליאונרד אדלמן ומוכר כ-RSA )שמה של השיטה נגזר מראשיהתיבות של שמות המשפחה של המפתחים)Ronald Shamir Adleman(וכיום נעשה בו שימוש נרחב.אילו בוב מעונין לקבל הודעות מוצפנות עם הצפנת מפתח ציבורי, הוא חייב קודם כל לבחור את המפתחהפרטי שישמש אותו, שאותו הוא שומר בסוד. לאחר מכן, הוא גוזר ממנו את המפתח הציבורי, שאותו הואחושף לכל גורם מעוניין. אליס משתמשת במפתח זה בכדי להצפין את המסר שלה. היא מעבירה אתהמסר המוצפן לבוב, אשר מפענח אותו בעזרת המפתח הפרטי שברשותו:שימוש במערכות הצפנה מבוססות מפתח פומבי הפך פופולרי מאוד ב-20 השנים האחרונות. למשל, רובןשל מערכות האבטחה באינטרנט מבוססות באופן חלקי על מערכות אלו. המחשה לכך יכולות להיותתיבות הדואר, שאליה כל אחד יכול להוסיף מכתב אך רק בעל התיבה עצמה יכול לשלוף את המכתב, עלידי פתיחת התא עם המפתח הפרטי שלו. האבטחה של מערכת כזו, המבוססת על הצפנת המפתחהפומבי, מתבססת על מורכבות החישוב והזמן שלוקח לבצע אותו. הרעיון הוא להשתמש באובייקטיםמתמטיים בשם פונקציות חד-כיווניות. על פי הגדרתם, בהינתן,xקל לחשב את תוצאת הפונקציהf(x) אךקשה וכמעט בלתי אפשרי לבצע את החישוב ההפוך )בזמן הגיוני(, זאת אומרת שיהיה קשה להסיק אתמהתבוננות על תוצאתx.f(x)45גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
בהקשר של סיבוכיות משמעות המילה "קושי" היא כי זמן הנדרש לביצוע משימה כלשהיא גדל באופןאקספוננציאלי עבור מספר הביטים המרכיבים את הקלט עליו מתבצעת המשימה. באופן אינטואיטיבי, קללהבין כי לוקח מספר שניות בודד על מנת לחשב את תוצאת מכפלת המספריםיותר זמן בכדי למצוא את הגורמים הראשוניים המרכיבים את42.3066ו-73, אך לוקח הרבהלמרות האלגנטיות של שיטה זו, הטכניקה עליה היא מבוססת נשענת על יסודות הנחשבים חלשים, שכןעדיין לא ניתן להוכיח האם "קושי מפאת חוסר זמן" הוא גורם שניתן לקחת בחשבון כאשר בוחנים חוזקשל פונקצית הצפנה. משמעות הדבר היא כי לא ניתן לשלול קיומו של אלגוריתם מהיר עבור פרוק לגורמיםראשוניים של מספר נתון. יתר על כן, בשנת1994פיטר שור פיתח אלגוריתם פולינומיאלי המאפשר פרוקמהיר של מספרים שלמים לגורמים ראשוניים בעזרת מחשב קוונטי, גילוי זה מטיל ספק נוסף על אי קיומושל אלגוריתם פולינומיאלי עבור מחשבים קלאסיים.באופן דומה לכך, כלל מערכות ההצפנה המבססות את אבטחתן על הנחות שאינן מבוססות שכיוםנחשבות לחזקות יכולות להחשב כחלשות כאשר יפותח אלגוריתם שיקצר את משך פעולה שכיום נחשבתאפשרית אך לא ברת ביצוע בזמן הגיוני.נתון זה מהווה איום חמור על מערכות הצפנה שכאלה. בחברה כמו שלנו, שבה מידע ותקשורת מאובטחתהם כלי חשוב מאין כמוהו, לא ניתן לסבול איום כזה. למשל, פריצת דרך במתמטיקה יכולה לגרום לכסףאלקטרוני להיות חסר ערך באופן מיידי. על מנת לצמצם סיכונים כלכליים וחברתיים כאלה אין ברירה אלאלשפר את מערכות ההצפנה, ולפנות לכיוונן של מערכות הצפנה סימטריות.,RSA כיום,היא שיטת ההצפנה הנפוצה ביותר. מה שבדרך כלל נרצה להצפין הוא מפתח סימטרי אשריחליף בסופו של דבר את המפתח הא-סימטרי שאיתו התחלנו את הפרוטוקול.מלבד העובדה כי מפתחות סימטריים בטוחים יותר, ניתן ליישם אותם הרבה יותר מהר מאשר ליישםמנגנונים מבוססים המפתחות א-סימטרים. כעת אנו נמצאים בשלב שבו ניתן להסביר קצת יותר על איךעובד מנגנון ה-RSA.42גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
-RSAהרעיון העיקרי של מנגנון ה-RSA עובד באופן הבא: נניח כי הינה ההודעה שאליס מעוניינת להעבירלבוב, תהליך העברת ההודעה יתבצע כך:בוב יוצר שני מפתחות, מפתח פרטי שאותו הוא שומר בסודיות, וממנו מפיק את המפתחהציבורי , שאותו הוא מפרסם לכל דורש. את המפתח הפרטי בוב יוצר באופן הבא:בוב בוחר צמד של מספרים ראשוניים,) ו- (מכפלת שניהם יוצרת את.,).בוב מחשב את פונקציית אויילר:ולאחר מכן בוב בוחר מספר שלם(,.שקטן מ- ועונה למשווהלאחר מכן, בוב בוחר מספר שלם נוסף, d, שגדול או שווה ל-1 אך קטן או שווה ל-ועונה.למשוואות הבאות:ו-בוב שולח את מפתח ההצפנה הפומבי שלולאליס..אליס בתורה מצפינה בעזרת חישוב של)כך ש- הינה ההודעה שהיא מעוניינת לשלוח לבוב, ו-ושולחת לבוב אתהינו המפתח הפומבי שבוב שלח לה,..)בוב מפענח אתבעזרת חישוב שלוחושף את ההודעה המקורית(47גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
מושגים בתורת הקוונטיםאקסיומות בתורת הקוונטים)States(.2מצביםהמצב הוא תאור מלא למערכת פיזיקלית, ומה שנרצה למצוא עמור מערכת קוונטית. במכניקהקוונטית, המצבים קיימים במרחב הילברט המסומן ב- . מה המאפיינים של מרחב זה?מרחב וקטורי מעל שדה המרוכבים.וקטור יסומן ונקרא "קט"בעוד ( ,)שהצמוד שלו נקרא "ברא" (.מכפלה וקטורית תסומן:(.2עם התכונות הבאות:.א.אי-שלילית:כאשר:אמ"םב.לינארית:ג.אנטי-סימטריה:3. המרחב שלם ביחס לנורמהמדידים)Observables(מדיד הינו מאפיין של מערכת פיזיקלית, אותו ניתן לבדוק בעזרת פעולות פיזיקליות. במכניקתקוונטים, מדיד הינו אופרטור הרמיטי צמוד לעצמו. אופרטור הוא מפה לינארית המעבירה וקטוריםלוקטורים,האופרטור מקיים .למשל, על מנת למדוד מיקום של חלקיק, נפעיל את אופרטורעל X.המצב, ונקבל את הערך המדיד כסקלרבאותו אופן, נפעיל את ערך התוחלתגליוןשלו. אם נפעיל על המשוואה הקודמת, נקבל:ונסמנו:שימוש בעקרונות האי-וודאות48.למניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021לזה נקרא ערך התוחלת של,X.
מדידות)Measurements(יש הבדל רב בין מדידה קלאסית למדידה קוונטית. באופן קלאסי, ניתן לבצע מדידה בלי להשפיעעל החלקיק הנמדד. המצב לא נשאר כך כאשר עוברים למכניקה קוונטית. המדידה עצמה משנהאת מצב החלקיק וחייבים לקחת זאת בחשבון.תהליך קריסה:המצבלא קובע באופן ייחודי את תוצאת המדידה!הוא קובע רק התפלגותסטטיסטית של תוצאות אפשריות.לדוגמא,המצב המנורמלמתאר מערכת אשר בהסתברותתהיה במצבאם תימדד.מה הכוונה ב"קריסה"? בהתחלה, יש טווח של תוצאות אפשריות למדידה עבור המערכת, כלאחד ממצבי הבסיס שלה יכול להופיע במדידה והסיכויים היחסיים ניתנים לפי ההסתברותהמתאימות. כשסוכן חיצוני )צופה, נסיין( מודד את הגודל המדיד המזוהה עם מצבי הבסיס, המצבהקוונטי משתנה מהמצב המלא, למצב הבסיס הנמדד. כלומר: כל שאר הביטויים בכתיבההמפורשת של המצב נעלמים, ומכאן השם, "קריסה". כאשר המדידה מתבצעת, היא מניבהתוצאה אחת בלבד, למרות שיותר מאחת יכולה להופיע, כך שלאחר מכן אף אחד מהמצביםהאחרים לא יכול להופיע.אישלועקרון אי הודאות של הייזנברג: אחד מהמאפיינים הכי ידועים של מכניקת הקוונטים הוא עקרוןהודאות.-מאפייןלמשל(,בשנתכתלותזהלאכאשרלא:1927ניתןבדיוקאנומתקייםלדייקציודמודדיםחלקיקהמדידה.בעולםבידיעתיותרהקוונטי,התנעקלאסי,שלו,מכך,כאשרתמידמדידתולהפך.נוכלמודדיםלדעת את המיקום והתנע המדוייקיםהמיקוםאתהייצוגלאהמיקוםהמתמטימשפיעהשללכךעלחלקיקעל ניתןהתנעקוונטיידיולהפך.)פוטון,הייזנברג42גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
דינמיקהפרופוגטור התקדמות בזמן של מצב קוונטי הוא אוניטרי. היוצר שלו הוא אופרטור הרמיטי הנקראהמילטוניאן של המערכת. הדינמיקה של המערכת מתוארת על ידי משוואת שרדינגר:שניתן לכתוב גם כך:מה הוא?QubitQubit)קיצור של,Quatnum Bitאו בעברית-ביט קוואנטי( הינו היחידה הקטנה ביותר של מידעבמחשבים קוונטים, יחידה זו הינה המקבילה לסיביט )סיפרה בינרית( במחשבים המודרנים של היום.בעוד שסיבית חד-ממדית ומסוגלת להכיל את הערךאת הערכים1 או 01 ,0או סופרפוזיציה של שניהם.כיום, הדרך הנפוצה ביותר לממש קיוביט היא באמצעות מערכת של שני מצביםאטום בעל שתי רמות, פוטון מקוטב )קיטוב אופקי או אנכי(, אובלבד, קיוביט דו-ממדית והינה מסוגלת להכיל,)two-state system(ספין ½כמו)ספין מעלה או מטה(. אם נסתכלעל כך מבחינה מתמטית, הדבר אומר כי המרחב המדובר הינו מרחב הילברט מעל .לקחת זאת ולהתייחס למצב כאורתונורמלי, ולייצג זאת בעזרת על ידי ו-מבחינתנו, ניתןכאשר: ,הדרך הפשוטה ביותר להציג את מצב הבסיסים היא:עם זאת, ניתן להבחין כי ישנו ייצוג נוסף, השקול לייצוג זה, והוא:עם ההתניות:ו-. את ההתמרה בין הבסיסיםניתן לבצע בעזרת התמרת הדמרד:50גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
כך ש:ו-. )ומפני ש-מייצג מטריצה אוניטרית,אזי קיימים לנו גםו- (.עם הידע שהבנו עד כה, נוכל להביע כל מצב של מערכת קוונטית )עד כדי הבדל פאזה מרוכבת( בעזרתהנוסחה הכללית הבאה:.כאשרהינם אמפליטודות של ההסתברויות, ומנורמלים לפיבנוסף,ניתן להציג זאת בעזרתו-באופן הבא:.כאשרו-הדרך הגיאומטרית לייצג קיוביט מוכרת ככדור בלוך )או ספירת בלוך:)Bloch Sphere -ניתן למקםשביט בעוד הכדור, פני על מקום בכל קוונטי ביטקלאסית)סיביט(ניתן למקם אך ורקעל"הקוטב הצפוני" או "הקוטב הדרומי".52גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
ספינים וקיטוביםהמאפיינים הבסיסיים של החלקיקים שאותם אנו עומדים למדוד בסעיף הבא, הם הקיטוב שלהם והספיניםשלהם:)Pauli(מסויים, מצב בהיתןבעזרת מטריצות פאוליאת לחלץ נוכלאותם המאפאיינים.מטריצתפאולימוגדרת באופן הבא:עם המאפיינים הבאים:.ובדומה לכך, גם:,ולכן כל שעלינו לעשות הוא להפעיל את למדידת מצבי הספין ו- ,הספין ו-או להפעיל אתלמדידת.שימו לב כי אם נמדוד את בעזרת הבסיס של ו- כמו באופן הבא:נמצא כינקבל בהסתברות השווה ל- )שווה לחצי( את המצב ב- ובהסתברות דומה נמצא כי לפי)השווה גם לחצי( את.אחת מהתוצאות יכולה להתקיים )בהסתברות שווה(.כלומר, כאשר אנו מודדים את הספינים על "בסיס שאינו נכון" כל51גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
עקרון אי-השכפולכפי שנראה בקטע הבא, יהיה הגיוני לשאול "מי מבטיח לנו כי רק מדידה אחת בוצעה על המצב? לא נוכללשכפל את המצב ולמדוד אותו מספר פעמים על מנת למצוא את הבסיס הנכון?"התשובה לשאלה הזאת כרוכה בהכרת המשפטשאותו הוכיחו וויליאם ווטרס,)Wootters(וויצ'ך זורקעקרון)Zurek(כי לא ניתן לבצע שכפול זהה של מצב קוונטי נתון. עקרון"אי-השכפול"ודניס דיקסאי-השכפולהקיים כחלק מתורת הקוונטים,)Dieks(1982, בשנתשמראההוא תוצאה של מכניקת הקוונטיםאשר אוסרת על יצירת מצבים זהים של מצב קוונטי לא ידוע. כפי שכבר הוסבר, תהליך המדידה הרסניבבסיסו ובאופן בלתי-נמנע משנה את המצב הנמדד )מלבד מצבים בהםאבל, ישנו הפיתוי לבדוק אפשרות של מכונת צילום קוונטית.הוא חלק מבסיס המדידה(.בשפת המכניקה הקוונטית, מה שנחפש הוא אופרטוראוניטריאשר מקבל מצב"ריק" ומצב נמדד שכברבבסיסמרחבהילברטדומה,שני ומוציאחלקיקיםפלוס )מקורהעתק( במצב .נראה מה זה אומר מבחינת איברי הבסיס:טרנספורמציית הבסיס תהיה:ממכונת צילום נצפה לקבל:,כלומרבאופן כללי לא שווה ל-כפי שניתן לוודא בהצבת ערכים עבור53גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
אהישזירותשזירות תכונה של תיאום )קורלציה( בין שתי מערכות קוונטיות או יותר )למשל, הספינים של שניחלקיקים יכולים להשתייך לאותו מצב שזור(. התאמות אלו מפרות את התאור הקלאסי ומאופיינות באופןאינטרינסי לתופעה קוונטית. שזירות היתה גורם חשוב בפיתוח ובבדיקת התורה הקוונטית וכך תהיה גםגורם מפתח באינפורמציה קוונטית..במקום להגדיר מצבסופישזור, פשוטיותר להגדיר מצבים שאינם שזורים. נניח שני מרחבי הילברט ממימדונניח ,המצב יהיה לא שזור, בר הפרדה או תוצר מכפלה פנימית-קיימים מצביםו-כך שניתן ליצג אותם כמכפלה טנזורית:אםאחרת נקרא ל-מצב שזור.,המצב על נסתכלהשזורבמרחבמעל הילברטבל. מצב עם הנקרא)למשל, זה, מצב לקבל )ניתןמדעיכתכמכפלה זה מצב לכתוב נסיון כלטנזוריתייכשל,,,מאחר ואין מקדמים עבור ,המקיימים:לכן זהו מצב שזור. לייצוג המצבים, נגדיר את הכתיבה הבאה, בעזרת מכפלות:מה כל כך חשוב במצבים אלו? ניתן לשים לב שבידיעת מידע על אחד מהחלקיקים, ניתן לדעת מיידיתמידע על החלקיק האחר, המרוחק מהמדידה. כלומר, בפחות מהזמן הדרוש לאור להתקדם במרחק זה.,לדוגמה, נניח כי מדדנו את אחד החלקיקים במצב אזי החלקיק האחר חייב להיות במצב ולהפך.זו היתה תוצאה מדהימה עבור פיזיקאי קוונטים בשנת כאשר בל ניבא לראשונה קורלציה בין,1964המדידות. בקטע הבא נראה איך שימוש במצבים אלו יכול לעזור לנו לשתף מפתח סודי.54גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
שיטות קוונטיות להפצת מפתחות הצפנה)QKD(כמו שראינו שיטות הצפנה סימטריות נחשבות חזקות מאוד, כל עוד נקבע מפתח הצפנה חזק והשימוש בוהינו חד פעמי. במידה ומפתח ההצפנה נופל לידיים הלא נכונות-כל תהליך ההצפנה נפגע. הדרכים כיוםלשיתוף המפתח הסודי מתבססות, כמו שראינו בתחילת המאמר, על ההנחות שחישוב פעולות מתמטיותשונות אורך פרק זמן בלתי סביר לחישובים יום-יומיים. הנחות שלאו דווקא ניתן לסמוך עליהן.שיטות הצפנה קוונטיות שונות במהותן ממקבילותיהן הקלאסיות בכך שהאבטחה שעליהן הן מתבססות,מתבססת על חוקים שונים בפיזיקת הקוונטים ולא על הקושי בביצוע חישוב מתמטי של פעולות מסוימות.בחלק זה נציג ארבע דרכים שונות לשיתוף מידע סודי )כגון במקרה ה-,)?( OTPבו יש הצורך לבחור אתמפתח הצפנה( המבוססות על הכללים של העולם הקוונטי. ההיתרון בשימוש בכל אחת מהשיטות שיוצגובמאמר, הוא שבהתבסס על העקרונות הקוונטים, כל עוד תתבצע פעולת ציתות לתווך התקשורת הדבריוודע לשני הצדדים.הפרוטוקול BB84הפרוטוקול הראשון שהוגדר להפצת מפתחות תו"כ התבססות על יכולות קוונטיות, פותח ע"י צ'ארלס בנטוז' לי ברסרד בשנת,1984והוא נראה כך:שלבי הפרוטוקול:גליוןשימוש בעקרונות האי-וודאות55למניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021אליס יוצרת רצף אקראי של מצבי בבסיסים אקראייםבוב בוחר בסיס אקראיאו ((,( או (ושולחת אותו לבוב.ומקליט את המדידה של המידע שמתקבל באותו בסיס.בוב מדווח לאליס באיזה בסיס הוא בחר להשתמש לאיזה מצב.אליס מצביעה לבוב באיזה מקרה הוא בחר בבסיס הנכון בעת המדידה.כעת, אליס ובוב יכולים להרכיב מפתח סודי בעזרת חיבור הפלטים מהמקרים בהם בוב בחר אתהבסיס הנכון למדידה.
בתרשים הבא ניתן לראות כיצד מתבצע ההליך:)במקור:)http://swissquantum.idquantique.com/?Key-Siftingמה יקרה במצב בו קיים לתהליך הנ"ל מצוטט?בתור בדיקה, אליס ובוב יכולים להשוות תת מחרוזת נוספת מהמחרוזת הכוללת שאליס שלחה לבוב,במקרה בו לא קיים מצוטט לתווך התקשורת, תוצאות ההקלטות שלהם אמורות להיות שוות ב-100%,בעוד שבמקרים בהם אכן קיים מצוטט, תוצאות ההקלטות שלהן יהיו פגומות ב-25% מהמקרים וחלקהרבה יותר קטן מהתוצאות יהיה שווה. ההסתברות לאתר פעולת ציטוט על תווך התקשורת בעזרתבדיקה שלביטים היא:לדוגמא,אם נבדוק10 נקבל ביטים,.כהסתברות לקבלת מחרוזת הזהה למקור.52גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
הפרוטוקול E91הפרוטוקול השני שפותח, פותח על ידי ארתור אקרט, כ-7 שנים לאחר הגדרת הפרוטוקול הראשון, בשנת:1991שלבי הפרוטוקול:רכיב הפולט זוגות חלקיקים שזורים )הממוקם, או אצל אליס, או אצל בוב( פולט זוג של חלקיקיםשזורים, חלקיק אחד לאליס וחלקיק אחד לבוב.אליס ובוב מבצעים מדידה על ספין בכיוון מסויים מתוך שלושה צירים שרירותיים, הנתונים לפי וקטורי,XY)Xהיחידה ו-,בהתאם ל-.לפשטות, נניח ששני אלה נמצאים במישוראנכיים לכיוון תנועת החלקיקים ומאופיינים לפי הזוויות האזימוטליות )הנמדדות מציר.לאחר שבוצעהו-המדידה, אליס ובוב מודיעים אחד לשני את הכיוון בו בחרו לבצע כל מדידה ומדידה, ופוסלים את כלהמדידות בהן אחד מהם או שניהם כלל לא מדדו חלקיק בגלאי.כעת, הם מבצעים הפרדה בין המדידות שנותרו לשתי קבוצות: הקבוצה הראשונה כוללת את המקריםבהם שניהם השתמשו באוריינטציה שונה של גלאים והקבוצה השנייה תכלול את כל המקרים בהםבהם הם השתמשו באוריינטציה זהה.בוב ואליס מפרסמים את תוצאות המדידות מהקבוצה הראשונה, ומחשבים:כאשרמקדם הואהמתאםגליוןשל המדידות שבוצעו על ידי אליס בציר ועל ידי בוב בצירהתוצאה שתתקבל על ו- עלשימוש בעקרונות האי-וודאות57.למניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il.,32 יוני 1021אליס ובוב מצפים לקבל:,מציין את הסתברותואם אכן כךמתקבל, שניהם יכולים לדעת כי התוצאות שהם קיבלו בקבוצה השניה מתואמות באופן הפוך )כאשרערך אחד גדל, ערך אחר קטן( ויכולים לשמש בהפקת מפתח ההצפנה.
מה יקרה במידה ומישהו מצוטט לתקשורת? המתאם החדש, כולל המצותת באמצע, יקרא כך:כאשרהיא פונקציית הסתברות מנורמלת, מה שאומר:,בסתירה לציפיהוכך ברור לנו שמישהו צוטט לתקשורת.מה עם איב )המאזין מצד שלישי( מסוגל לשלוט במקור?בואו נבחן את האפשרות כי איב מסוגלת לשלוט ברכיב האחראי על פליטת הפוטונים. נשאל האם היאתוכל לייצר מצב שזור של3מידע על המפתח. נוכיח כאן כי מצב זה בלתי אפשרי.המצב הכללי ביותר שאיב יכולה להכין הוא:חלקיקים, שיהיו מתואמים עם המצבים של אליס ובוב, כך שאיב תוכל לקבלכאשר, ,ו- הם קבוצה שלמה של מצבים אורתו-נורמלים המתארים את מצבי הספין שלזוגות החלקיקים הנשלחים לאליס ולבוב, ו-, ,ו- הם המצבים שאיב בחרה )והיא אפילו לאצריכה לבחור כיצד למדוד אותם עד שאליס ובוב יפרסמו את הבחירות שלהם כחלק מהתהליך(.,המצבחייב להיות מצב עצמי שלעם ערכים עצמיים שללכן:באותה מידה יכול כל זוג אחר להימדד לאורך צירXעל ידי שני המשקיפים, ולכן,חייב להיות חלק מ-:עם ערכים עצמיים של, מה שמגביל עוד יותר אתכלומר, המקור היחיד בשליטתה של איב שלא יפריע למדידות של אליס ובוב,החלקיקים השזורים, כך שמדידות המבוצעות על ידי איב לא יגלו לה מידע חיוני.הוא ללא קורלציה עם58גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
הפרוטוקול B92BB84הפרוטוקול B92הינו נסיון לפשט את הפרוטוקולבעזרת שימוש בשני מצבים בלבד.כי לא אם10.1אורתוגונלים בצד של אליס על מנת לייצג 0אובמקרה זה נייצג כאן אתכ- ואת כ-כאשר ..אליס משדרת לבוב או את מצבאו את מצב)בוב בוחר אחד משני הבסיסיםאו)כאשרומבצע מדידה עלהמידע שהתקבל מאליס.בוב משמיט את המקרים בהם הוא מדדו-ולאחר מכן מסמן ב-1את המדידות שלוב-0 את המדידות של .)הסיבה מאחורי הצעד האחרון היא מפני שאם אליס משדרת אין שום סיכוי שבוב מדד בעזרתמפני שהמצב אורתוגונלי. האפשרויות של בוב הן רק או למדוד את המצב בעזרת הבסיס הנכון( אולמדוד אותו בעזרת הבסיס הלא נכון ואז להשיג אולהסיק בוודאות כי אליס שידרה.,"0"וכך למעשה, אם בוב אכן מדד הוא יכולוזאת מפני שנקבע כי אליס יכולה לשדר אך ורקבדומה, אם בוב קיבל הוא יכול להסיק כי אליס שידרה.)1( או )0(.0אם בוב מדד או לעומת זאת,הבדיקה אינה חד-משמעית מפני שכנראה בוב השתמש בבסיס הלא נכון בעת הבדיקה על המצבהספציפי.הסיטואציה הנ"ל נקראת "מחיקה קוואנטית" והיא מתקיימת בסבירות של חצי. את המקרים בהם בוצעהמדידה בעזרת בסיס שאינו נכון מסירים מהמחרוזת שהתקבלה, ובעזרת מה שמתקבל בסופו של דבר)חיבור התווים מהמקרים בהם בוב מדד בעזרת בסיס נכון( מרכיבים את מפתח ההצפנה.ל-B92 יש ייתרון ברור-אליס לא צריכה לשדר לבוב את הבסיסים בהם היא משתמשת בכדי לבצע אתהמדידה. עם זאת, חשוב לציין כי הגלאי חייב להיות מדוייק במיוחד בכדי לא לגרום לאי-מחיקה בשלמדידת קיטוב שגויה. לדוגמא, נניח כי אליס משדרת.,אך בשל טעות מדידה הנובעת מסטיית הגלאי ב-,אם בוב החליט לבצע את המדידה בבסיסהוא ביצע אותה בבסיס,,ייתכן סיכוי קטן שהמדידה תניבמה שיגרום לו להסיק שאליס שידרה."0"ההסתברות למקרה כזה מתקבלת מ:לזיהוי ותיקון השגיאות.שימוש בעקרונות האי-וודאותגליוןולכן, חשוב מאוד להבטיח דיוק זוויתי, אחרת אנחנו )ובפועל, זה מה שעושים תמיד( נאלץ להפעיל מערך52למניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
BMM92הפרוטוקול,BMM92הינו מימוש משופר של הרעיון העומד מאחורי הפרוטוקול,E91והוא הולך כך:-מקור שלישי)הממוקם,או צל אליס,או אצל בוב(פולט זוג של חלקיקים שזורים במצב סינגלט,חלקיק אחד לאליס וחלקיק אחד לבוב.גם אליס וגם בוב בוחרים באופן אקראי בסיס מדידה לכל חלקיק, אוה-X ועל ציר ה-Y( ומבצעים בעזרתו מדידה.או 0)מוגדרים אצלנו על ציראליס ובוב מודיעים אחד לשני )באופן פומבי( באיזה בסיסים הם השתמשו למדידת כל חלקיק )אבללא מודיעים מה התוצאות שיצאו להם בכל מדידה(.גם אליס וגם בוב משמיטים את התוצאות שיצאו כאשר מדדו בצירים שונים.התוצאות שנמצאות אצלהם לאחד ההשמטה מחוייבים להיות בהתאמה מלאה לחלוטין )בהנחה שלאבוצע ציטוט לתווך התקשורת(.בכדי לאמת כי אכן לא בוצעה האזנה לתקשורת בעתהתהליך,אליס ובוב מפרסמים באופן פומביחלק גדול מספיק מתוצאות המדידה.במידה ואכן התוצאות מתואמות, משמע, לא בוצעה פעולת ציטוט לתווך התקשורת,משתמשים בשארית המחרוזת )שלא פורסמה( בתור מפתח ההצפנה.אליס ובובבכדי לאמת את אבטחת ערוץ התקשורת,אליס ובוב יכולים,בדיוק כמו בפרוטוקולE91 לבדוק אתהתוצאה של:Sבכדי שהערוץ יהיה מאובטח, הם חייבים לקבל:20גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
מסקנות לעתידאין ספק כי ביטחון הופך להיות חלק חשוב יותר ויותר בחברה שלנו. עד כה רק אלגוריתמים מבוססימספרים ראשוניים שולטים שולטים בשדה זה ומסתמכים על קושי החישוביות כפתרון אבטחה לבעייתחלוקת מפתחות ההצפנה, פתרון שכזה יכול להיות מובס על ידי התפתחויות עתידיות במגזר הטכנולוגי אוהמתמטי. עם זאת, מערכות הצפנה המבוססות על עקרונות קוונטים, מתבססות באופן טבעי על עקרון איהודאות ועל שזירות המאפיינים מצבים קוונטים. מאחר ומדידה בעולם הקוונטי משפיעה באופן ישיר עלהמצב הנמדד, ניתן לגלות האזנה באופן יחסית קל ומהיר. יתרה מזאת, על ידי בדיקת מתאמי הקורלציהנוכל לדעת שהאזינו – אפילו אם ההאזנה נכשלה.נראה כיעלשנתQKDמקבל עניין רב בשנים האחרונות, בשנת2005,QKDרשת זאת נבנתה לאחר שיתוף פעולה בין אוניברסיטת הרווארד,הוצגה לראשונה רשת מחשבים המבוססתו-technology .BBN2007דגם דומה שימש בז'נבה לאבטחת תהליך בחירות אלקטרוני. בשנת2009הקימו מספר רשתות עירוניות המבוססות על תקשורת קוונטית. בנוסף לכך בשנתבמהלךגם סינגפור וגם סין2009טוקיו חנכה גםהיא רשת מבוססת ,QKD ובמסגרתה הוצגו שיחות ועידה מאובטחות ופלאפונים חכמים המבוססים גם הםעל אבטחת רשת זו.22גליוןשימוש בעקרונות האי-וודאותלמניעת מתקפותMiddle Man In Thewww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021
דברי סיוםבזאת אנחנו סוגרים את הגליון ה-32 של.<strong>Digital</strong> <strong>Whisper</strong>אנו מאוד מקווים כי נהנתם מהגליון והכיחשוב- למדתם ממנו. כמו בגליונות הקודמים, גם הפעם הושקעו הרבה מחשבה, יצירתיות, עבודה קשהושעות שינה אבודות כדי להביא לכם את הגליון.אנחנו מחפשים כתבים, מאיירים, עורכים )או בעצם-שיש לו קצת זמן פנוי ]אנו מוכנים להתפשר גם על חום גוףלגליונות הבאים. אם אתם רוצים לעזור לנו ולהשתתף במגזיןכל יצור חי עם טמפרטורת גוף בסביבת ה-37)]36.5ואנשים המעוניינים לעזור ולתרום- <strong>Digital</strong> <strong>Whisper</strong>צרו קשר!ניתן לשלוח כתבות וכל פניה אחרת דרך עמוד "צור קשר" באתר שלנו, או לשלוח אותן לדואר האלקטרונישלנו, בכתובת.editor@digitalwhisper.co.ilעל מנת לקרוא גליונות נוספים, ליצור עימנו קשר ולהצטרף לקהילה שלנו, אנא בקרו באתר המגזין:www.<strong>Digital</strong><strong>Whisper</strong>.co.il"Talkin' bout a revolution sounds like a whisper"הגליון הבא ייצא ביום האחרון של חודש יוני.אפיק קסטיאל,ניר אדר,31.05.201221גליוןדברי סיוםwww.<strong>Digital</strong><strong>Whisper</strong>.co.il,32 יוני 1021