-סמינר בתקשורת ומערכות מבוזרות- Near Field Communication מציגים :יהונתן שלו ושלמה שמש החוג למדעי המחשב ,מכללת הדסה ,תשע''ה מה זה ? NFC )Near Field Technology( NFCהיא טכנולוגיית תקשורת אלחוטית בתדר גבוה לטווח קצר. NFCמיועד בעיקר למכשירים ניידים או מחשב כף יד. תקשורת רדיו שנוצרת ע''י מגע בין שני מכשירים או קירוב שלהם בטווח של עד 10ס''מ. מאפשר טרנזקציות פשוטות ,חילופי נתונים וחיבורים אלחוטיים בין שני מכשירים. NFC trademark logo מאפשר תקשורת בין: שני מכשירים אקטיביים מכשיר אקטיבי ומכשיר פאסיבי. תכונות NFCהוא ההרחבה של טכנולוגיית )Radio frequency identification( RFID המשלבת את הממשק של כרטיס חכם וקורא לתוך מכשיר אחד משולב .שילוב זה מאפשר תקשורת דו-כיוונית בין מכשירים שונים שהתאפשרה בעבר בכיוון אחד בלבד. עבודה בתחום תדר של MHz13.56ברוחב פס של .14kHz מרחק העבודה עם אנטנות סטנדרטיות :עד 10ס''מ. קצבי נתונים נתמכים 212Kbit/s , 106Kbit/s :ו.424Kbit/s - בזמן תקשורת בין שני מכשירים באמצעות ,NFCמכשיר אחד חייב להיות קורא/כותב ,והמכשיר השני חייב להכיל .NFC tag NFC Reader בד''כ מערכת מבוססת מעגלים משולבים המסוגלת לייצר תדרי רדיו של 13.56 MHz המכילה רכיבים נוספים כמו מקודדים ,מפענחים, אנטנה ו FW-שנועדה לשדר גלים לתג ולקרוא מידע בחזרה .הקורא פולט אותות RFברציפות, ומקבל אותו אלו המתפרשים כנתונים. An NFC Reader ) (A Smartphone NFC Tag מכשיר RFIDמשולב עם שבב זיכרון עשוי סיליקון המחובר לאנטנה חיצונית. מכיוון שה Tag-נחשב לרכיב פאסיבי ,אין לו מקור כוח משלו .הוא סופג חלק קטן מהאנרגיה הנפלטת ע''י בקורא (המכשיר האקטיבי) ומתחיל לשלוח מידע כאשר מספיק אנרגיה התקבלה מהצד השני. פעולות של :NFC קיימים 2מצבי תקשורת: מצב אקטיבי :גם היוזם וגם היעד מתקשים באמצעות יצירת שדה RFמשלהם לסירוגין .מכשיר הממתין לנתונים ינוטרל משדה זה. במצב זה ,שני המכשירים זקוקים לאספקת חשמל. מצב פאסיבי :המכשיר היוזם מספק שדה כוח ומכשיר היעד שולח תשובות ע''י ויסות השדה הקיים .במצב זה ,מכשיר היעד עשוי למשוך אליו מכוח ההפעלה של השדה האלקטרומגנטי שסופק ע''י יוזם הטרנזקציה. פעולות של :NFC מכשירי NFCמתקשרים זה עם זה באמצעות אינדוקציית שדה מגנטי שבו שתי אנטנות בצורת לולאה נמצאות קרוב זו לזו. הקורא מייצר ברציפות גלי RFבתדר MHz13.56וממתין שיווצר ויסות של התדר .ויסות זה מצביע על הימצאות של Tagקרוב שמשדר לקורא. השוואה מול טכנולוגיות קיימות אחרות: מצבי פעולה של מכשירי :NFC מצב קורא/כותב מכשיר NFCמסוגל לקרוא סוגי תגי NFCשונים כמו תג המוטבע על פוסטר NFCחכם. מצב Peer-to-Peer שני מכשירי NFCהמחליפים נתונים ביניהם .למשל ,אפשר להחליף מידע כמו כרטיסי ביקור וירטואליים ,תמונות, מסמכים ועוד. מצב מדמה כרטיס מכשיר NFCשנראה כמו smart cardרגיל עבור קורא חיצוני .מאפשר תשלומים ללא מגע וכרטוס על ידי מכשיר NFCמבלי לשנות את התשתיות הקיימות בשוק כיום. מפרטים: פורום ה NFC-פרסם מפרטים שונים עבור ,NFCביניהם: מפרט מטרה )NFC Data Exchange Format (NDEF מגדיר תבנית נתונים משותפת בין מכשירים ותגי .NFCזהו המידע המועבר בתקשורת. )Record Type Definition (RTD מציין כללים לבניית סוגי -redordים המשמשים להרכבת ההודעות. )Logical Link Control Protocol (LLCP פרוטוקול נתונים לתמיכה בתקשורת peer- to-peerבין שני מכשירים התומכים ב.NFC- Connection Handover מגדיר איך ליצור חיבור תוך שימוש בטכנולוגיות תקשורת אלחוטיות אחרות. Operations Specifications for Four Tag )Types (1/2/3/4 מאפשר יכולת פעולה הדדית בין -tagים לבין התקני .NFC יתרונות של :NFC NFCמספק מגוון רחב של יתרונות לצרכנים ולעסקים ,כגון: רב-שימושיות NFC :מתאים למגוון רחב של תעשיות ,סביבות עבודה ושימושים שונים בעולם. פתיחות טכנולוגית NFC :מאפשר התקנה מהירה ופשוטה של טכנולוגיות אלחוטיות כמו Bluetooth ,Wi-Fiועוד. מוצר מאובטח :שידורי NFCנחשבים למאובטחים מאוד בשל העובדה שהם מתבצעים בטווח קצר. יכולת פעולה הדדית" NFCעובד עם טכנולוגיות כרטיסים קיימות, למשל .smart-card פתיחות לאבטחה NFC :מכיל תמיכה מובנית יישומים מאובטחים. אפליקציות :NFC אפליקציות :NFC פוסטר חכם: אובייקט המכיל תג NFCאחד או יותר הניתן לקריאה (מודבר או מוטבע) המכיל הודעות NDEFהמאוחסנות בו. כל תג נקרא כאשר מכשיר NFCנמצא קרוב מספיק. יכול להיות לוח מודעות ,תג לביש ,עיתון או אובייקט תלת ממדי אחר כלשהו. אפליקציות :NFC תשלום חכם: לקוח מבצע תשלום באמצעות המכשיר הסלולרי תוך שימוש בטכנולוגיית :NFC טלפון בעל NFCיפתח את אפליקציית הארנק. הארנק יציג את עלות המוצר כאשר המשתמש יבחר את המוצר. לפני התשלום ,הארנק יציג למשתמש את כל אמצעי התשלום הקיימים עבורו. הלקוח יבחר את אמצעי התשלום הרצוי. האפליקציה תציג דף אישור לתשלום. הארנק יתחבר לרשת המוכרת לשם אישור והצגת מידע המעקב. אפליקציות :NFC Peer-to-peer העברת חיבור :החלפת הגדרות המידע ע''י קישור NFC לצורך הקמת חיבור בקלות( .למשל )Bluetooth ,Wi-Fi ולקבלת המידע המשותף בחיבור זה .חיבור יכול להתבצע בין מכשירי NFCבלבד. •מכשירים בתוך הרכב •רכיבי PC • אוזניות •מערכות בידור ביתיות •הגדרת מודם WLAN מאובטח •מצלמות ומדפסות )Speakers (touch to connect אם כמות המידע קטנה( ,עד )1kbאפשר להשתמש בNFC- עצמו כדי להעביר את הנתונים במקום לייצר תשתית. (למשל בכרטיסי ביקור ,אנשי קשר וכו') Smart Tags אפליקציות :NFC שימושים נוספים של פוסטרים בעלי :NFC smart-card • • • דיווח מרחוק של עובדים – עובדים מרחוב המאשרים סיום עבודה או ביקור במקומות. מפות -מפת פוסטר NFCאינטראקטיבית המאפשרת למשתמש להוריד את המפה, לקבל מידע נוסף על שירותים רלוונטיים וכו'. לוח אירועים – הורדת כרטיסים או קופונים לאירועים ,קבלת מידע ועוד. • ניהול נכסים – קריאת כמות המלאי ע''י תגים חכמים. • גישה – וידוא גיש מאובטחת לשטח בניין עבור אנשים עם מכשיר NFCוקורא אלחוטי מתאים בלבד. • חניה – שימוש ב NFC-לאימות כניסה לחניה ולשמירת תיעוד הכניסות. >> NFC Parking << Security Gate NDEF ()NFC Data Exchange Format NDEFהוא מבנה הודעה בינארית קלת משקל שמיועדת לאחסן מטען אחד או יותר של מידע לתוך מבנה אחד. כל הודעת NDEFמכילה NDEF recordאחד או יותר ,שכל אחד מכיל מידע מסוג כלשהו ,בגודל של עד 2בחזקת 32פחות .1 ניתן לשרשר -Recordים על מנת ליצור מטעני מידע גדולים יותר. כל NDEF recordמכיל 3פרמטרים :אורך המידע ,סוג המידע (כל סוג ניתן לאחסון .סוג המידע נשמר בצורת )TNF ומזהה המידע (.)MIME/URI = ID NDEF מבנה הודעת :NDEF ההודעה מורכבת מ recordאחד או יותר .ה recordהראשון בהודעה מסומן ע''י דגל ) MB(message beginשערכו ,1והאחרון מסומן ע''י הדגל ) MB(message endשערכו .1אורך הודעה מינימלי הוא record אחד שבו .MB=ME=1אין הגבלה על גודל ההודעה. מבנה ההודעה: NDEF Message Rt ME=1 … Rs … Rr … R1 MB=1 סדר האינדקסים של הrecordים נקבעים ע''י הסדר שבו המידע הוכנס להודעה (תלוי אפליקציה) ,והם לא נשמרים כחלק מה-recordים עצמם. Recordהוא היחידה שנושאת את מטען המידע ) (payloadבהודעת ה .NDEFכל payloadמתואר ע''י קבוצת הפרמטרים שלו. NDEF נתח :record נושא נתחים של -payloadים .נתחי payloadמשמשים לחלוקת כמות גדולה של מידע לחלקים קטנים יותר והכנסה שלהם להודעות .NDEF כל נתח payloadמקודד כרצף של נתחי recordים: .Iהראשון הוא ההתחלתי שבו הדגל .)chunk flag(CF = 1סוג המידע חייב להיות זהה לסוג המידע המוחזק ב payloadשאותו הוא נושא ,בלי קשר לאורך ההודעה. .IIאפס או יותר נתחים אמצעיים ,שבכל אחד הדגל ,1 = CFסוג המידע חייב להיות זהה לסוג המידע של הנתח הראשון ואורך המידע מוגדר להיות אורך המידע השמור ב payloadשאותו הוא נושא. .IIIהנתח המסיים ,שבו ,0=CFוע''י כך מציין שסוג המידע זהה לנתחים הקודמים .אורך המידע הוא כאורך ה payloadהמסיים. NDEF נתח :record Payloadמכיל את השדות :אורך ,סוג ו.ID- הודעת NDEFמועברת בשלמותה. המידע הנשמר בהודעה מגיע כרצף של אוקטטים כאשר כל אוקטט מיוצג בשיטת ( .big-endianהאוקטט היותר משמעותי ראשון). NDEF מבנה :NDEF record כל recordהוא בעל אורך משתנה ומבנה קבוע המכיל את הדגלים הבאים: :MBבית 1המשמש כדגל לסימון תחילת ההודעה. :MEבית 1המשמש כדגל לסימון סוף ההודעה. :CFבית 1המשמש כדגל לסיון שזהו הנתח הראשון או האמצעי של מטען מחולק. :)short record(SRבית 1המשמש כדגל האומר שאורך המטען נשמר באוקטט יחיד (ולא יותר). SR=1 SR=0 header NDEF מבנה :NDEF record :ILבית 1המשמש כדגל שאומר שאורך השדה ID_lengthהוא אוקטט יחיד. 3 )Type Name Format( TNFבתים לציון פורמט סוג המידע שבו משתמשים: NDEF מבנה :NDEF record unsigned 8-bit :Type_lengthשמציין את כמות האוקטטים הנמצאים בשימוש להחזקת השדה .TYPE unsigned 8-bit :ID_lengthשמציין את כמות האוקטטים הנמצאים בשימוש להחזקת השדה .IDייתכן שהאורך הוא 0ואז השדה IDמושמט מNDEF record- זה. unsigned int :Payload_lengthשמציין את כמות האוקטטים הנמצאים בשימוש להחזקת השדה .PAYLOADאורך שדה זה נקבע ע''י .SR_FLAG :TYPEשדה שמציין את סוג המידע שנשמר ב .recordערך השדה חייב להיות תואם לערך ה TNF-ששייך לו. :IDמכיל כתובת .URIהייחודיות הדרושה ל id-של ההודעה מובטחת ע''י שולח הודעה .לנתחי recordאמצעיים וסופיים אין שדה ,IDושדה זה לא חייב להתקיים. :PAYLOADהשדה שמכיל את תוכן ההודעה שנשלחה. פרוטוקול SNEP SNEP=Simple NDEF Exchange Protocol פרוטוקול מסוג בקשה/תגובה שבו לקוח SNEPשולח בקשה לשרת SNEPוממתין לתגובה ממנו .מטרת הפרוטוקול היא להחליף הודעות .NDEF הבקשה מגיעה בצורת טופס המכיל את השדות :גירסת הפרוטוקול ,מתודת בקשה, אורך המידע באוקטטים והמידע עצמו. השרת מבצע את הבקשה המתוארת ע''י המתודה על המידע שהתקבל ומחזיר תשובה ללקוח. התשובה מכילה את השדות :גירסת הפרוטוקול ,ערך החזרה של המתודה (הצלחה/כישלון) ,אורך שדה המידע באוקטטים ואת המידע המוחזר. פרוטוקול SNEP אם גודל הבקשה עובר את הקיבולת של יחידת שירות אחת הנמצאת שכבה אחת מתחת לפרוטוקול ההעברה ,הודעת ה SNEPתועבר בחלקים (פרגמנטים). הפרגמנטים ייבנו ע''י חזרה על הסרה והעברה של מספר תתי סדרות של אוקטטים מתוך ההודעה השלמה .על מנת שמקבל ההודעה ידע כמה אוקטטים עליו לקבל, הפרגמנט הראשון יכלול לפחות את ה headerשל הודעת ה.SNEP מקבל ההודעה המחולקת (לאחר קבלה של הפרגמנט הראשון) ידווח לשולח ההודעה האם הוא מסוגל לקבל את הכמות שצוינה בפרגמנט הראשון .שאר הפרגמנטים יישלחו רק אם השולח מקבל הודעת .continue ניתן להעביר הודעה בחלקים גם אם מקבל ההודעה מסוגל לקבל את כל ההודעה בשלמותה. פרוטוקול SNEP אם מקבל ההודעה לא תומך בגירסת הפרוטוקול של ההודעה שקיבל ,הוא יתייחס אל ההודעה כאל הודעה שנגמרה( .לאחר שקיבל את הפרגמנט הראשון) .אחרת, המקבל יבדוק האם ההודעה חולקה בצד השולח ע''י הערכה של אורך ההודעה שהתקבלה מול אורך שדה המידע בכותר .הודעת SNEPתחולק אם לא כל האוקטטים בשדה המידע התקבלו ביחידת השירות הראשונה. פרוטוקול SNEP תגובתו של שרת שלא תומך בגירסת הפרוטוקול תהיה .unsupported versionאם לקוח SNEPלא מכיר את גירסת הפרוטוקול של התגובה שנשלחה בחזרה מהשרת, אזי המשך התקשורת לא יתאפשר והטרנזקציה תופסק. אם ההודעה נשלחה בפעם הראשונה בשלמותה (ללא צורך בחלוקה) ,הצד המקבל לא יישלח הודעת continueאלא את התגובה הסופית. פרוטוקול SNEP דוגמה לבקשת :GET •בקשת ה GETמועברת בשלמותה, אבל התגובה מחולקת לפרגמנטים. דוגמה לבקשת :PUT •בקשת ה PUTדורשת חלוקה לפרגמנטים אבל תגובת השרת נשלחת כיחידה שלמה פרוטוקול SNEP העברת הודעות: LLCP= Logical Link Control Protocol LLCPמספק שירות תעבורה שהוא connection-orientedעם העברה סדורה ומובטחת של יחידות מידע שכל אחת תכיל לפחות 128אוקטטים. האפשרות של ריבוי חיבורי datalinkנתמכת ע''י .LLCP הודעות SNEPמועברות על קישור נתונים של LLCPבאמצעות שירות ה.LLCP שרת SNEPפעיל ימתין לבקשות התחברות על שירות נקודת גישה ( ACCESS )POINTשל .LLCהכתובת של נקודת גישה זו מצויינת בבקשת ההתחברות שנשלחת מהלקוח .ברגע שחיבור datalinkמוקם ,הלקוח יכול לשלוח רק בקשות ,SNEP והשרת יכול להחזיר רק הודעות תגובה על חיבור ה. datalink לבסוף ,הלקוח סוגר את החיבור כשהשיחה מסתיימת. הודעות :SNEP הודעות SNEPמורכבות מבקשות של הלקוח לשרת ותגובות מהשרת ללקוח. הודעות בקשה: הודעת בקשה נשלחת מהלקוח לשרת על מנת לבצע מתודה ספציפית על השרת. ההודעה מכילה 4שדות :גירסה ,קוד בקשה ,אורך ההודעה ותוכן ההודעה. הודעות :SNEP הודעות בקשה: :Versionגירסת פורמט ההודעה .מציין את פורמט ההודעה ואת יכולת השולח להבין הודעות עתידיות. הגירסה היא אוקטט יחיד שמייצג מבנה של 4-bit 2 4 .unsigned integersהביטים היותר משמעותיים מציינים את הגירסה באופן כללי ו 4-הביטים הפחות משמעותיים מציינים את הגירסה הספציפית. הודעות :SNEP הודעות בקשה: :Requestמכיל את הפעולה המבוקשת שתתבצע ע''י השרת .זהו אוקטט יחיד שמייצג .8-bit unsigned integerערכים אפשריים: הודעות :SNEP הודעות בקשה: :Lengthמכיל את גודל שדה תוכן ההודעה באוקטטים .מיוצג באמצעות 4אוקטטים שמייצגים .32-bit unsigned integer :Informationתוכן ההודעה .תלוי בערך שדה הבקשה .שדה זה מושמט אם שדה גודל ההודעה מכיל את הערך .0 הודעות :SNEP הודעות תגובה: הודעת תגובה נשלחת מהשרת ללקוח על מנת להעביר את תוצאות הריצה על המתודה שנשלחה כבקשה מהלקוח. ההודעה מכילה 4שדות :גירסה ,קוד תגובה ,אורך ההודעה ותוכן ההודעה. הודעות :SNEP הודעות תגובה: :Versionמציין את פורמט ההודעה ואת יכולת השולח להבין הודעות עתידיות .הגירסה היא אוקטט יחיד שמייצג מבנה של .4-bit unsigned integers 2 4הביטים היותר משמעותיים מציינים את הגירסה באופן כללי ו 4-הביטים הפחות משמעותיים מציינים את הגירסה הספציפית. הודעות :SNEP הודעות תגובה: :Responseמכיל את תוצאת ניסיון ההבנה של השרת את בקשת הלקוח ובמקרה של הצלחה-גם את תוצאות הבקשה .מדובר באוקטט יחיד שמייצג 8-bit unsigned .integerערכים אפשריים: הודעות :SNEP הודעות תגובה: :Lengthמכיל את גודל שדה תוכן ההודעה באוקטטים .מיוצג באמצעות 4אוקטטים שמייצגים .32-bit unsigned integer :Informationתוכן ההודעה .תלוי בערך שדה הבקשה .שדה זה מושמט אם שדה גודל ההודעה מכיל את הערך .0 הודעות :SNEP כל הודעת בקשה בפרוטוקול SNEPמכילה אחד מקודי הבקשה הבאים: קודי בקשה: :Continueהלקוח מבקש שהשרת ישלח את שאר הפרגמנטים של הודעת התגובה. הלקוח מזהה את היכולת שלו לקבל את שאר הפרגמנטים ולהרכיב אותם בהצלחה לכדי הודעת SNEPשלמה. :Getהלקוח מבקש שהשרת יחזיר הודעת NDEFשתועבר עם הבקשה .שדה תוכן ההודעה של הבקשה יכיל 32-bit unsigned intשערכו יהיה האורך המירבי של הודעת NDEFשהלקוח יכול לקבל בתגובה ,ולאחר 32הביטים שרשור של הודעת NDEFיחידה שמזהה את המשאבים לאיחזור .מבנה ההודעה: הודעות :SNEP קודי בקשה: :Acceptable Length Fieldמכיל את האורך המקסימלי (באוקטטים) של שדה תוכן המידע שניתן לקבל בהודעת התגובה של השרת .מיוצג ע''י 4אוקטטים שהם 32- .bit unsigned int :PUTהלקוח מבקש שהשרת יקבל את הודעת ה NDEFהמועברת עם הבקשה .שדה תוכן ההודעה יכיל הודעת NDEFיחידה .מבנה ההודעה: הודעות :SNEP קודי בקשה: :Rejectהלקוח לא יכול לקבל את שאר הפרגמנטים של הודעת התגובה של הSNEP המחולקת .הלקוח לא מצפה לטפל בפרגמנטים נוספים בהודעה הנוכחית ,וקבלת פרגמנטים נוספים עלולה לאלץ את הלקוח לסגור את קישור הנתונים .קוד בקשה זה יכול להישלח רק אחרי קבלה של הפרגמנט הראשון בהודעת ה SNEPהמחולקת. בהודעה עם בקשה זו ,לא יהיה שדה תוכן מידע. הודעות :SNEP קודי תגובה: :Continueהשרת קיבל את הפרגמנט הראשון של הודעת ה SNEPהמחולקת והוא מסוגל לקבל את שא הפרגמנטים .השרת מזהה את היכולת שלו לקבל את שאר הפרגמנטים ולהרכיב אותם בהצלחה לכדי הודעת SNEPשלמה. :Successהבקשה הצליחה .המידע שהוחזר עם התגובה תלוי בקוד הבקשה שהועבר בהודעת הבקשה: א :GET .תוכן ההודעה יכיל הודעת .NDEF ב :PUT .תוכן ההודעה לא יוצג. : Not Foundהשרת לא מצא שום דבר שתואם את הבקשה .תוכן ההודעה לא יועבר עם התגובה במקרה זה. הודעות :SNEP קודי תגובה: :Excess Dataהשרת לא מצא משאב שתואם את הבקשה ,אבל החזרה של התוצאה עלולה לעבור את גודל ההודעה האפשרי שהלקוח יכול לקבל כתגובה .תוכן ההודעה לא יכלל במקרה זה. :Bad Requestהבקשה לא מובנת ע''י השרת בעקבות שגיאות סינטקס .תוכן ההודעה לא יכלל במקרה זה. : Not Implementedהשרת לא תומך בפונקציונליות שדרושה על מנת למלא את הבקשה .תגובה זו מתאימה כאשר השרת לא מזהה את קוד הבקשה .תוכן המידע לא יכלל. הודעות :SNEP קודי תגובה: :Rejectהשרת לא יכול לקבל את שאר הפרגמנטים של הודעת הבקשה של הSNEP המחולקת .השרת לא מצפה לטפל בפרגמנטים נוספים בהודעה הנוכחית ,וקבלת פרגמנטים נוספים עלולה לאלץ את השרת לסגור את קישור הנתונים .קוד תגובה זה יכול להישלח רק אחרי קבלה של הפרגמנט הראשון בהודעת ה SNEPהמחולקת. בהודעה עם בקשה זו ,לא יהיה שדה תוכן מידע. סיכום מכשירים ניידים הם היעד העיקרי עבור .NFCלמרות של NFC-יש את הטווח הקצר ביותר מבין טכנולוגיות תדרי הרדיו ,הוא נחשב למהפכני בזכות יתרון האבטחה ,התאימות ,הממשק הידידותי למשתמש וכמות האפליקציות התומכות בו.
© Copyright 2024