در زیرساختهای حیاتی، دیتاسنترهای بانکی، مراکز دادخواهی و نیروگاهی، اتصال سامانههای اداری و مانیتورینگ به اینترنت عمومی طبق دستورالعملهای پدافند غیرعامل و الزامات مرکز افتا ممنوع است. این شبکههای کامپوزیت که اصطلاحاً به آنها ایزوله فیزیکی یا Air-Gapped Network گفته میشود، امکان برقراری تماس با سرورهای اکتیویشن سازندگان خارجی (مانند مایکروسافت، کاسپرسکی، ویامویر، منیج انجین و نینتکس) را ندارند. در چنین شرایطی، فعالسازی آنلاین به دلیل ناتوانی در دسترسی به اینترنت با شکست مواجه شده و مکانیزمهای تایماوت پیشفرض، سرویسها را پس از دوره موقت Trial متوقف میکنند.
سامانه Licentra با بهرهگیری از معماری رمزنگاری دوگانه و صدور گواهیهای دیجیتال محلی، بدون نیاز به ارسال یک بایت داده به بیرون سازمان، پایداری عملیاتی دائمی را تضمین میکند. این راهنما معماری اعتبارسنجی آفلاین، فرمول استخراج شناسه سختافزاری (Hardware Hash)، نحوه مقابله با تغییر زمان سرور و فرآیند پچ کردن باینریها را تشریح مینماید.
۱. چرخه رمزنگاری و اعتبارسنجی نامتقارن (Asymmetric Offline Activation) #
هسته اصلی صدور لایسنس بر پایه معماری کلید عمومی/کلید خصوصی (RSA-4096 + SHA256) طراحی شده است. هیچ کلید خصوصی (Private Key) در سمت سرور مشتری قرار نمیگیرد تا امکان مهندسی معکوس و افشای اطلاعات وجود نداشته باشد:
[محیط خارج از سازمان / مرکز مهندسی Licentra]
┌─────────────────────────────────────────────────────────┐
│ کلید خصوصی ریشه صدور لایسنس (RSA-4096 Root Private Key) │
└────────────────────────────┬────────────────────────────┘
│ امضای دیجیتال مشخصات سازمان و ویژگیهای مجاز
▼
┌─────────────────────────────────────────────────────────┐
│ فایل گواهی لایسنس رمزنگاریشده (*.lic / *.xml / *.cert) │
└────────────────────────────┬────────────────────────────┘
│ انتقال آفلاین از طریق رسانه امن (USB / CD)
▼
[شبکه ایزوله داخلی سازمان (Air-Gapped Datacenter)]
┌─────────────────────────────────────────────────────────┐
│ ماژول اعتبارسنجی باینری (Licentra.Security.Verifier) │
│ - کلید عمومی ریشه (Embedded Public Key) │
│ - استخراج پارامترهای سختافزاری (CPU, BIOS, Disk Hash) │
│ - تایید ریاضی امضای دیجیتال بدون نیاز به هرگونه شبکه │
└────────────────────────────┬────────────────────────────┘
│
▼
سرویس سازمانی با لایسنس دائمی و تایید پایداری
مشخصات امنیتی کلید و کانتینر لایسنس:
-
1
الگوریتم رمزنگاری: RSA-PSS با طول کلید ۴۰۹۶ بیت و هضم داده SHA-512.
-
2
پایداری در برابر دگرگونی: هرگونه تغییر حتی ۱ بایت در فایل لایسنس (تغییر نام سازمان، تغییر تاریخ انقضا یا تعداد نودها)، بلافاصله امضای دیجیتال را بیاعتبار کرده و مانع از بارگذاری سرویس میشود.
-
3
امکان تعریف سقف دسترسی (Feature Flags): قابلیت فعالسازی تکتک زیرسیستمها بر اساس نیازمندی بدون نیاز به تغییر نسخه کد باینری.
۲. فرمول استخراج شناسه سختافزاری (Hardware Fingerprint) #
برای نرمافزارهایی که نیازمند قفل سختافزاری سرور (Hardware-Locked Licensing) هستند، نباید از فاکتورهای متغیر مانند آدرس IP یا نام سرور استفاده کرد، زیرا در سناریوهای ارتقای شبکه، لایسنس دچار وقفه میشود. فرمول استاندارد استخراج هش بر مبنای ترکیبی از سه شناسه سطح پایین مادربرد و پردازنده تعریف میگردد:
$$\text{HW\_Hash} = \text{HMAC-SHA256}(\text{ProcessorId} + \text{BaseBoardSerial} + \text{SystemUUID}, \text{Salt})$$
اسکریپت استخراج دقیق مشخصات سختافزاری در سرورهای ویندوزی:
# Licentra Hardware Fingerprint Collector for Air-Gapped Windows Servers
function Get-LicentraMachineFingerprint {
$cpuId = (Get-CimInstance Win32_Processor | Select-Object -First 1).ProcessorId
$biosUuid = (Get-CimInstance Win32_ComputerSystemProduct).UUID
$boardSerial = (Get-CimInstance Win32_BaseBoard).SerialNumber
$rawIdentity = "$cpuId-$biosUuid-$boardSerial".Trim()
$sha = [System.Security.Cryptography.SHA256]::Create()
$bytes = [System.Text.Encoding]::UTF8.GetBytes($rawIdentity)
$hash = [System.BitConverter]::ToString($sha.ComputeHash($bytes)).Replace("-", "")
[PSCustomObject]@{
GeneratedAt = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss")
MachineHash = $hash
RawAttributes = [PSCustomObject]@{
CPU = $cpuId
UUID = $biosUuid
Board = $boardSerial
}
}
}
Get-LicentraMachineFingerprint | Format-List
اسکریپت استخراج مشخصات در سیستمعاملهای لینوکس سازمانی (RHEL / Ubuntu / Rocky):
#!/usr/bin/env bash
# Licentra Machine Fingerprint Extractor for Linux Systems
set -euo pipefail
CPU_ID=$(dmidecode -t processor 2>/dev/null | grep -i "ID:" | head -n1 | awk '{print $2, $3, $4, $5}')
SYS_UUID=$(dmidecode -s system-uuid 2>/dev/null || cat /sys/class/dmi/id/product_uuid)
BOARD_SERIAL=$(dmidecode -s baseboard-serial-number 2>/dev/null || cat /sys/class/dmi/id/board_serial)
RAW_SIG="${CPU_ID}|${SYS_UUID}|${BOARD_SERIAL}"
MACHINE_HASH=$(echo -n "$RAW_SIG" | sha256sum | awk '{print $1}')
echo "=== Licentra Air-Gapped Node Identity ==="
echo "Node Hardware Hash: ${MACHINE_HASH}"
۳. مکانیزم مقابله با دستکاری ساعت سرور (Anti-Clock-Tampering) #
یکی از نگرانیهای مدیران امنیت در شبکههای ایزوله که سرورها به سرور زمان اینترنتی (NTP) دسترسی ندارند، خطای تغییر ساعت و از کار افتادن سرویسها است. مکانیزم هوشمند لایسنترا زمان را تنها از ساعت سیستمی نمیخواند، بلکه سه فاکتور را ارزیابی میکند:
-
1
بررسی پیوستگی مونوتونیک زمان (Monotonic Tick Counter): استفاده از تایمر سختافزاری پردازنده (
QueryPerformanceCounter) که با تغییر ساعت ویندوز تغییر نمیکند. -
2
بررسی نشانگر آخرین تراکنش دیتابیس: آخرین تاریخ تراکنش ثبتشده در پایگاه داده نباید جلوتر از ساعت فعلی باشد.
-
3
تغییرات سال کبیسه جلالی: محاسبات تقویم به گونهای کالیبره شده است که سالهای ۳۶۶ روزه هجری شمسی (مانند سال ۱۴۰۳ و سالهای آتی) را به درستی در بازه لایسنس منظور میکند و وقفه ایجاد نمیشود.
// Logic sample of Monotonic Safe Time Validation in offline environment
public bool IsTimestampValid(DateTime currentSystemTime, DateTime lastLoggedDbTime)
{
// Clock cannot roll backward past the last committed transaction
if (currentSystemTime < lastLoggedDbTime.AddMinutes(-5))
{
EventLogger.LogSecurityAlert("System clock rollback detected. Suspicious time tampering.");
return false;
}
return true;
}
۴. نحوه پچ باینری (Binary Patching) با حفظ سلامت کد #
در نرمافزارهایی که از مکانیسم اعتبارسنجی آنلاین مبتنی بر وبسرویس SOAP/REST استفاده میکنند (مانند سیستمهای مدیریت اسناد، BPMS و مانیتورینگ شبکه)، بسته بومیساز لایسنترا یک پچ باینری بهینه اعمال میکند:
-
1
عدم دستکاری منطق تجاری (Business Logic Preserved): هیچ ماژول عملیاتی یا توابع پردازش داده حذف یا تغییر داده نمیشود.
-
2
هدایت آدرس لایسنس به گواهی محلی: تنها تابعی که وظیفه برقراری ارتباط با وبسرویس شرکت خارجی را دارد، بازنویسی شده و خروجی را مستقیماً از فایل گواهی رمزنگاریشده لوکال استخراج میکند.
-
3
پشتیبانی کامل از HA / Cluster / vMotion: در صورت انتقال ماشین مجازی به سرور دیگر درون کلاستر ESXi، باینری پچشده بدون وابستگی به شناسه تک هاست به کار خود ادامه میدهد.
۵. چکلیست استقرار در محیطهای ایزوله وزارتخانهای و بانکی #
| مرحله | شرح اقدام فنی | ابزار مورد نیاز | مسئولیت |
|---|---|---|---|
| ۱ | استخراج مشخصات سختافزاری سرورها بدون اینترنت | اسکریپت PowerShell / Bash | مدیر سیستم سازمان |
| ۲ | صدور کلیدهای RSA اختصاصی و گواهی رمزنگاریشده | سامانه امنیتی لایسنترا | تیم مهندسی Licentra |
| ۳ | انتقال فایل گواهی لایسنس و پکیج به شبکه ایزوله | مدیا امن تاییدشده توسط حراست | کارشناس امنیت سازمان |
| ۴ | جایگزینی فایلهای پچشده و تزریق کلید عمومی | اسکریپت خودکار Deploy.ps1 | مدیر شبکه / پشتیبان |
| ۵ | اجرای آزمونهای بار و راستیآزمایی تداوم کارکرد | ابزارهای مانیتورینگ محلی | کارشناس تضمین کیفیت |
استقرار از طریق این معماری مانع از نشت اطلاعات سازمانی و هرگونه باگ مربوط به تحریمها یا قطعی ارتباط با شبکه اینترنت جهانی میشود.


