בדיקת הקישוריות למשאב CoAP מאובטח באמצעות OT CLI

הצגת המקור ב-GitHub

פרוטוקול OpenThread כולל פונקציונליות של שרת CoAP מאובטח וגם לקוח, וכך מאפשר להפעיל מכשירים להתחבר למשאבים בשרת Secure CoAP ולצפות בכל משאב שינוי במצב הנוכחי.

Secure CoAP משתמש ב-Datagram Transport Layer Security (DTLS) כדי ליצור אבטחה, חיבורים מקצה לקצה.

הסוכן Secure CoAP שמסופק ב-CLI יכול לפעול גם כלקוח Secure CoAP או כשרת Secure CoAP.

במדריך הזה מפורטות משימות בסיסיות שמשתמשות בכמה מהפקודות הנפוצות יותר בנושא Secure CoAP (coaps).

פקודות CoAP מאובטחות

כדי לקבל רשימה של פקודות CoAP מאובטחות, יש להקליד help:

coaps help
connect
delete
disconnect
get
isclosed
isconnactive
isconnected
post
psk
put
resource
set
start
stop
x509
Done

חומר עזר על פקודות ב-CLI

לקבלת תיאורים ותחביר של כל הפקודות, עיינו ב'חומר העזר בנושא פקודות ב-CLI'. פקודות CoAP המאובטחות מתחילות בסדר אלפביתי עם coaps connect.

דוגמה לשימוש בשרת מאובטח של CoAP ובפקודות לקוח

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

הגדרת אלגוריתמים להצפנה (cipher suite) של DTLS

ב-CLI של coaps יש פקודות psk ו-x509 שאפשר להשתמש בהן יחד מפתח PSK ואישור X.509. למידע על תחביר של פקודות ודוגמאות, coaps psk וגם coaps x509.

הגדרת השרת המאובטח של CoAP

בצומת השרת Secure CoAP, מבצעים את השלבים הבאים:

  1. הפעלת הנציג המאובטח של CoAP.

    coaps start
    Done
    
  2. יוצרים משאב לבדיקה.

    coaps resource test-resource
    Done
    

הגדרת לקוח CoAP מאובטח

בצומת הלקוח Secure CoAP, מבצעים את השלבים הבאים:

  1. הפעלת הנציג המאובטח של CoAP:

    coaps start
    Done
    
  2. מריצים את הפקודה connect כדי לאתחל סשן DTLS עם אפליקציה להשוואה:

    coaps connect fdde:ad00:beef:0:9903:14b:27e0:5744
    Done
    coaps connected
    
  3. מריצים את הפקודה get כדי לקבל מידע על המשאב:

    coaps get test-resource
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744 with payload: 68656c6c6f576f726c6400
    

    החלק האחרון של תגובת השרת הוא המונח with payload:, ואחריו כל הבייטים של המטען הייעודי (payload) בפורמט של ספרה הקסדצימלית. בדוגמה, with payload: 68656c6c6f576f726c6400 מציין שהמטען הייעודי (Payload) הנוכחי למשאב הוא הערך ההקסדצימלי 68656c6c6f576f726c6400, שממיר למחרוזת helloWorld. למידע נוסף על השימוש באפשרות payload, יש לעיין במאמר פוסט ב-Coaps.

  4. אפשר לשנות את המשאב באמצעות הפקודה put:

    coaps put test-resource con hellothere
    Done
    coaps response from fdde:ad00:beef:0:9903:14b:27e0:5744
    

    בדוגמה הזו, המשמעות של con היא שאתם רוצים הודעה אמינה, שהתקבלו באמצעות הודעה לאישור (con), שתישלח לשרת Secure CoAP. ברירת המחדל היא שליחת הודעה שאינה ניתנת לאישור (non-con).

    המחרוזת hellothere היא דוגמה לשימוש בפונקציה payload האופציונלית כשהערך של type הוא con או non-con. מידע נוסף זמין במאמר coaps Put.

    השרת מגיב בכתובת IPv6 שלו כדי לציין שהבקשה טופלה.

התשובות נשלחו לשרת Secure CoAP

בשרת, הפלט מהדוגמה הזו יהיה דומה לדוגמה הבאה:

coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 GET
coaps response sent
coaps request from fdde:ad00:beef:0:9e68:576f:714c:f395 PUT with payload: 68656c6c6f7468657265
coaps response sent

הערך payload של 68656c6c6f7468657265 הוא המחרוזת hellothere שהומרה לרצף עם קוד ASCII.