امنیت و مالکیت

امنیت نرم‌افزار پایش: دسترسی، رمزنگاری و لایسنس

چه کسی چه نیروگاهی را ببیند، با کدام دستگاه وارد شود، تا چه تاریخی، و اینکه خود نرم‌افزار چطور از کپی و دستکاری محافظت می‌شود.

چه کسی چه چیزی را می‌بیند

در یک سامانه‌ی پایش، «دسترسی» دو سؤال جدا است که اغلب با هم قاطی می‌شوند: کدام نیروگاه‌ها و کدام کارها. نورانت هر دو را جداگانه کنترل می‌کند.

یک حساب، یک دستگاه

هر حساب کاربری به یک دستگاه گره می‌خورد و در یک کانال معنا دارد: اپلیکیشن اندروید، نسخه‌ی وب، یا پرتال استیشن. این محدودیت عمدی است — گذرواژه‌ای که بین چند نفر دست‌به‌دست شود، عملاً یعنی هیچ کنترل دسترسی‌ای وجود ندارد.

  1. ثبت‌نام و درخواست دستگاهکاربر با مشخصاتش ثبت‌نام می‌کند و دستگاهش در انتظار تأیید قرار می‌گیرد.
  2. تأیید مدیرمدیر در پنل، دستگاه را تأیید و نیروگاه‌های مجاز و مدت اعتبار را تعیین می‌کند.
  3. تعویض دستگاهاگر کاربر با گوشی جدیدی وارد شود، دستگاه جدید در انتظار تأیید می‌ماند و گوشی قبلی تا آن لحظه کار می‌کند — قطع‌شدن ناگهانی از نیروگاه، در بهترین حالت آزاردهنده و در بدترین حالت خطرناک است.
  4. تأیید مجدددر تمدید، همان شناسه‌ی دستگاه باقی می‌ماند و فقط مهلت تازه می‌خورد؛ کاربر لازم نیست دوباره همه‌چیز را از اول تنظیم کند.

ورود اشتباه، پیام روشن می‌گیرد. اگر دارنده‌ی حساب نسخه‌ی وب بخواهد وارد اپلیکیشن شود، به‌جای «نام کاربری یا گذرواژه اشتباه است» — که فقط سردرگمی می‌سازد — پیام می‌گوید این حساب متعلق به کدام برنامه است.

داده در مسیر

نیروگاه ← سرور
MQTT روی TLS، با احراز هویت هر نیروگاه
موبایل و وب ← سرور
HTTPS با نشست گره‌خورده به دستگاه
گذرواژه‌ها
به‌صورت هش یک‌طرفه (bcrypt) ذخیره می‌شوند — قابل بازیابی نیستند، حتی برای ما. در صورت فراموشی، مدیر گذرواژه‌ی جدید تعیین می‌کند.
پرتال محلی دستگاه
HTTPS با گواهی خود دستگاه و نشست با کوکی امضاشده
تنظیم از راه دور
اعتبارسنجی با امضای HMAC و بازگشت خودکار در صورت خرابی

مالکیت نرم‌افزار و محافظت از کپی

همه‌ی نرم‌افزارهای پایا الکترونیک سلیمی (کاسیان) به‌صورت نسخه‌ی نصبی ویندوز عرضه می‌شوند که:

🔒

رمزنگاری‌شده

کد قابل استخراج و دستکاری نیست؛ نه منطق تجاری بیرون می‌آید، نه کسی می‌تواند رفتار برنامه را تغییر دهد.

🔑

قفل سخت‌افزاری و لایسنس

هر نصب به دستگاه مجاز گره می‌خورد و روی دستگاه دیگری اجرا نمی‌شود.

✍️

به‌روزرسانی امضاشده

بسته‌ی به‌روزرسانی با امضای دیجیتال تأیید می‌شود؛ بسته‌ی امضانشده یا دستکاری‌شده نصب نمی‌گردد.

به‌روزرسانی به‌صورت مرحله‌ای و بدون نیاز به مراجعه‌ی حضوری انجام می‌شود — که برای نیروگاه‌های دورافتاده تفاوت بین «به‌روز ماندن» و «هرگز به‌روز نشدن» است.

ثبت اینکه چه کسی چه کاری کرد

در بسیاری از کارخانه‌ها و نیروگاه‌ها، اجبار اپراتور به لاگین در هر شیفت در عمل جواب نمی‌دهد: گذرواژه‌ها روی کاغذ کنار مانیتور می‌چسبند و همه با یک حساب کار می‌کنند.

نورانت راه دیگری هم دارد: می‌توانید ورود اجباری در شروع برنامه را غیرفعال کنید و در عوض جدول شیفت اپراتورها را تعریف کنید. آن‌گاه هر کار ثبت‌شده — مثلاً تکمیل یک دستور کار نگهداری — به‌صورت خودکار به اپراتور آن شیفت نسبت داده می‌شود. نسبت‌دادن کار به شخص حفظ می‌شود، بدون آنکه اپراتور خط را با یک صفحه‌ی ورود اذیت کنید.

ادامه‌ی مطلب

بخش‌های دیگر نورانت

سؤال امنیتی خاصی دارید؟

درباره‌ی معماری، رمزنگاری و مدل دسترسی با تیم فنی ما صحبت کنید.

همین شماره در واتساپ، تلگرام، ایتا و بله پاسخگوست.