توی سوکت پرگرمینگ هیچ فرقی نمیکنه برنامه روی لوکال باشه رو شبکه محلی یا اینترنت پس در واقع هیچ کاری به جز اینکه آیپی لوکال رو لیستین نکنی و بجاش یه ۰ بذاری انجام نشدهپس این برنامه رو نوشتم که البته در ابتدا فقط قابلیت استفاده local رو داشت، یعنی میتونستی از روی سرور کلاینت ها رو مدیریت کنی، ولی بعدا گفتم پروژهء جالبیه و کاربردی هم هست، بخاطر همین امکان دسترسی از راه دور (اینترنت) رو هم بهش اضافه کردم.
پروتکلهای SSL/TSL استاندارد برای امن کردن یک ارتباط تو شبکه غیر ایمن ساخت شده اند کسی خودش پروتکل ابداع نمیکنه مگر اینکه واقعا دانش ودلیل خوبی داشته باشه, دوم اینکه کسی که هنوز چیزی ارائه نداده نمیتونه ادعا کنه که برنامه من کاملا امن هست! حداقل کاری که میتونی کنی اینه که یک گراف از روال ارتباط بین سرور و کلاینت بذاریضمنا چون بنده تخصص خوبی در رمزنگاری و امنیت دارم، این برنامه از روشهای رمزنگاری حرفه ای بقدر کافی استفاده میکنه و بنابراین امنیت خیلی خوبی داره. تمام ارتباطات دو طرف با سرور واسط که نقش Relay رو ایفا میکنه با AES-128-CBC+HMAC-SHA256 رمز میشن. علاوه بر این، ارتباط بین دو طرف بصورت End to end با کلید جداگانه ای رمز میشه و بنابراین حتی اگر سرور واسط امن نباشه و هکر بهش نفوذ کنه یا هاستینگ قابل اعتماد نباشه بازم امنیت برنامه مخدوش نمیشه. البته مسلما کسی که به سرور واسط دسترسی پیدا کنه میتونه با خرابکاری باعث از کار افتادن این برنامه بشه، ولی نمیتونه هیچ اطلاعات رد و بدل شده ای رو بخونه و هیچ فرمانی به کلاینت ها بده.
ضمنا این برنامه در برابر Replay attack هم امن شده (با استفاده از counter و تشکیلات دیگری).
خلاصه از لحاظ امنیت خیال آدم میتونه خیلی راحت باشه.
پس پروژه سری و فوق امنیتی بوده! کسی که ادعا میکنه برنامه امن هست چرا باید یه برنامه ریموت لاگ, ریبوت..، که ساختنش چند روز زمان میبره رو مخفی نگه داره؟راستش نمیخواستم این برنامه رو حتی اطلاع رسانی کنم، چون قرار بود مخفی باشه، ولی گفتم شاید مشتری پیدا کرد اگر پول کافی بابتش میدادن که ارزشش رو داشت بفروشمش