
opennhp v1.0.1
مجموعة أدوات الثقة الصفرية القائمة على التشفير والتي تنفّذ بروتوكولي NHP وDHP لإخفاء البنية التحتية للشبكة، وتشفير البيانات، وفرض سياسة الرفض الافتراضي للوصول إلى التطبيقات والبنية التحتية.

اجعل الإنترنت غير مرئي للمهاجمين
يخفي OpenNHP خوادمك ومنافذك ونطاقاتك عن الإنترنت العام. لا شيء يستجيب حتى يُثبت العميل هويته بحزمة مشفرة واحدة، لذا لا يجد الماسحات الضوئية والروبوتات والمهاجمون المدعومون بالذكاء الاصطناعي شيئًا لمهاجمته.
OpenNHP هي مجموعة أدوات مفتوحة المصدر وخفيفة الوزن ومدعومة بالتشفير، تُطبّق أمان الثقة الصفرية للبنية التحتية والتطبيقات والبيانات. وهي التنفيذ المرجعي لـ مواصفة بروتوكول إخفاء البنية التحتية للشبكة (NHP) الصادرة عن تحالف أمن السحابة (CSA)، وتتضمن بروتوكولين أساسيين:
- بروتوكول إخفاء البنية التحتية للشبكة (NHP): يخفي منافذ الخادم وعناوين IP وأسماء النطاقات لحماية التطبيقات والبنية التحتية من الوصول غير المصرح به.
- بروتوكول إخفاء محتوى البيانات (DHP): يضمن أمان البيانات وخصوصيتها عبر التشفير والحوسبة السرية، مما يجعل البيانات "قابلة للاستخدام ولكن غير مرئية."
الموقع الإلكتروني · الرؤية · عرض حي · التوثيق · Discord
لماذا OpenNHP
الإنترنت الحديث هو غابة مظلمة. يتعامل المهاجمون — المدعومون بشكل متزايد بنماذج اللغة الكبيرة التي تفحص وتحدد البصمات وتستغل الثغرات بسرعة الآلة عبر الاستغلال الذاتي للثغرات — مع كل خدمة يمكن الوصول إليها كهدف. وتتوقع دراسات Gartner أن ترتفع الهجمات السيبرانية المدعومة بالذكاء الاصطناعي بسرعة. تُصادق الدفاعات التقليدية على المستخدمين بعد أن تسمح لهم الشبكة بالدخول، مما يترك المنافذ وعناوين IP والنطاقات المكشوفة كسطح هجوم دائم.
في عصر الذكاء الاصطناعي، الرؤية = الثغرة.
يعكس OpenNHP هذا النموذج: غير مرئي حتى تتم الثقة. كل منفذ وعنوان IP واسم مضيف يقف خلف بوابة رفض افتراضي. لا يُمنح الوصول إلا بعد مصادقة طرق مشفّر موقّع والتحقق من تصريحه خارج النطاق. لا يمكن للمهاجمين استغلال ما لا يمكنهم اكتشافه.
بروتوكول إخفاء الشبكة من الجيل الثالث
NHP هو الخطوة التالية في سلسلة تصاميم "إخفاء الخدمة أولاً":
| الجيل | البروتوكول | القيود |
|---|---|---|
| 1 | Port Knocking | نص صريح، عرضة لإعادة الإرسال |
| 2 | Single Packet Authorization (SPA) | أسرار مشتركة، أحادي الاتجاه، يخفي المنافذ فقط عادةً، عادةً C/C++ |
| 3 | NHP | تشفير حديث، ثنائي الاتجاه مع الحالة، يخفي النطاق + IP + المنافذ، عديم الحالة وقابل للتوسع أفقيًا، Go آمن للذاكرة |
يتكامل NHP جنبًا إلى جنب مع محركات سياسات IAM وDNS وFIDO وZero Trust الحالية بدلاً من استبدالها — فهو يوسّع حزمتك بدلاً من تفريعها.
البنية المعمارية
يتبع OpenNHP تصميمًا معياريًا بثلاثة مكونات أساسية، مستوحى من NIST Zero Trust Architecture:

| المكون الأساسي | الدور |
|---|---|
| NHP-Agent | العميل الذي يرسل طلبات الطرق المشفرة للحصول على الوصول |
| NHP-Server | يصادق على الطلبات ويصرّح بها؛ يعمل بشكل منفصل ومفصول معماريًا عن المضيف المحمي |
| NHP-AC | وحدة التحكم في الوصول التي تدير قواعد جدار الحماية على الخادم المحمي |
| المكون الإضافي | الدور |
|---|---|
| NHP-Relay | جسر HTTP-to-UDP يمكّن الوكلاء المستندين إلى المتصفح من إرسال طرقات NHP عبر HTTPS |
| NHP-KGC | مركز توليد المفاتيح للتشفير القائم على الهوية (IBC) |
تدفق البروتوكول
التسجيل (مرة واحدة لكل جهاز). يولّد الوكيل زوج مفاتيحه الخاص، ثم يسجّل المفتاح العام:
- يطلب الوكيل كلمة مرور لمرة واحدة (
NHP_OTP)؛ تسلّمها إضافة المصادقة في الخادم إلى المستخدم (عبر البريد الإلكتروني مثلاً). - يرسل الوكيل كلمة المرور لمرة واحدة ومفتاحه العام (
NHP_REG)؛ يربط الخادم المفتاح بالمستخدم ويرد (NHP_RAK).
لا يغادر المفتاح الخاص الجهاز أبدًا.
الطرق (عند كل وصول).
- يرسل الوكيل طرقًا مشفرًا (
NHP_KNK) إلى الخادم. - يتحقق الخادم من الطرق ويرسل طلب عملية (
NHP_AOP) إلى AC. - يفتح AC جدار الحماية ويرد (
NHP_ART) إلى الخادم. - يعيد الخادم إقرارًا (
NHP_ACK) مع معلومات الوصول إلى الوكيل. - يصل الوكيل إلى المورد المحمي عبر AC.
وكلاء المتصفح، الذين لا يستطيعون إرسال UDP خام، يصلون إلى الخادم عبر NHP-Relay عبر HTTPS؛ ويعيد المرحّل توجيه كل حزمة داخل مغلف NHP_RLY موثّق.
التشفير
يأتي OpenNHP مع مجموعتَي تشفير قابلتين للتبادل:
CIPHER_SCHEME_CURVE— Curve25519 + AES-256-GCM + BLAKE2sCIPHER_SCHEME_GMSM— SM2 + SM4-GCM + SM3
كلتاهما مدفوعتان بـ Noise Protocol Framework. يتوفر وضع التشفير القائم على الهوية (IBC) عبر مركز توليد المفاتيح (KGC).
للحصول على تفاصيل البروتوكول ونماذج النشر والتصميم التشفيري، راجع التوثيق.
بنية المستودع
opennhp/
├── nhp/ # Core protocol library (Go module)
│ ├── core/ # Packet handling, cryptography, Noise Protocol, device management
│ ├── common/ # Shared types and message definitions
│ ├── keystore/ # Sealed (encrypted-at-rest) private key storage
│ ├── ebpf/ # eBPF/XDP programs (AC enforcement, Server ingress filter)
│ ├── plugins/ # Plugin handler interfaces
│ ├── utils/ log/ metrics/ audit/ etcd/
│ └── ...
├── endpoints/ # Daemons and SDKs (Go module, depends on nhp)
│ ├── agent/ # NHP-Agent daemon, plus the iOS/Android SDK (agent/iossdk)
│ ├── js-agent/ # JavaScript agent SDK for browsers (via NHP-Relay)
│ ├── server/ # NHP-Server daemon
│ ├── ac/ # NHP-AC (access controller) daemon
│ ├── relay/ # NHP-Relay daemon (HTTPS-to-UDP bridge)
│ ├── db/ # NHP-DB (Data Broker for DHP)
│ ├── kgc/ # NHP-KGC (Key Generation Center)
│ └── keystorecli/ # `seal` / `unseal` key subcommands shared by every daemon
├── examples/ # Server auth plugins and client SDK samples
├── demoapp/ # Example web app with NHP-protected login
├── docker/ # Docker Compose full-stack environment
└── docs/ # Documentation site (docs.opennhp.org)