אני מגדיר שרת HTTP ביתי שיוכל לשלוח ולקבל נתוני JSON אל / מלקוחות שונים (אפליקציות אנדרואיד ואייפון).
ברצוני לאפשר גישה רק למשתמשים מסוימים ול אני שוקל להשתמש במנגנון פשוט של שם משתמש / סיסמה, שכן הגדרת אישורי לקוח נראית מעט מוגזמת לפרויקט הקטן הזה.
כמובן שאיני יכול לשלוח סיסמאות ברורות מהלקוח לשרת. ב- HTTP רגיל, אחרת כל מי שהתקין wireshark / tcpdump יכול לקרוא אותו. אז אני חושב על המנגנון הבא:
- ניתן להגדיר את שרת ה- HTTP כשרת HTTPS
- לשרת יש גם בסיס נתונים של שם משתמש / סיסמה (סיסמאות יכולות להיות נשמר באמצעות bcrypt)
- הלקוח פותח את חיבור HTTPS, הוא מאמת את השרת (כך שיש צורך באישור שרת) ולאחר החלפת מפתח הראשי, החיבור צריך להיות מוצפן.
- הלקוח שולח את שם המשתמש / הסיסמה בצורה ברורה לשרת
- השרת מריץ bcrypt על הסיסמה ומשווה אותה לזו המאוחסנת במסד הנתונים
האם יש בעיה בתצורה מסוג זה? הסיסמה צריכה להיות בטוחה מכיוון שהיא נשלחת בחיבור מוצפן.