
AI-संचालित दुनिया में बुनियादी ढांचे, अनुप्रयोगों और डेटा के लिए Zero Trust सुरक्षा लागू करने के लिए निर्मित एक हल्का, क्रिप्टोग्राफी-संचालित, ओपन-सोर्स टूलकिट।

OpenNHP एक हल्का, क्रिप्टोग्राफी-संचालित, ओपन-सोर्स टूलकिट है जो इंफ्रास्ट्रक्चर, एप्लिकेशन और डेटा के लिए Zero Trust सुरक्षा लागू करता है। यह Cloud Security Alliance (CSA) के Network-infrastructure Hiding Protocol (NHP) specification का संदर्भ कार्यान्वयन है, और इसमें दो मुख्य प्रोटोकॉल शामिल हैं:
वेबसाइट · दृष्टिकोण · लाइव डेमो · दस्तावेज़ीकरण · डिस्कॉर्ड
आधुनिक इंटरनेट एक अंधकारमय वन है। हमलावर — जो increasingly LLMs द्वारा समर्थित हैं जो Autonomous Vulnerability Exploitation के माध्यम से मशीन की गति से स्कैन, फिंगरप्रिंट और शोषण करते हैं — हर पहुंच योग्य सेवा को लक्ष्य मानते हैं। Gartner का अनुमान है कि AI-संचालित साइबर हमले तेजी से बढ़ेंगे। पारंपरिक सुरक्षा उपाय नेटवर्क में प्रवेश के बाद उपयोगकर्ताओं को प्रमाणित करते हैं, जिससे खुले पोर्ट, IP और डोमेन हमेशा के लिए हमले की सतह बने रहते हैं।
AI युग में, दृश्यता = भेद्यता (VISIBILITY = VULNERABILITY).
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 ब्रिज जो ब्राउज़र-आधारित एजेंटों को HTTPS के माध्यम से NHP नॉक भेजने में सक्षम बनाता है |
| NHP-KGC | आइडेंटिटी-बेस्ड क्रिप्टोग्राफी (IBC) के लिए कुंजी जनरेटर केंद्र |
NHP_KNK) भेजता है।NHP_AOP) भेजता है।NHP_ART) भेजता है।NHP_ACK) एक्सेस जानकारी के साथ लौटाता है।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
│ ├── utils/ # Utility functions
│ ├── plugins/ # Plugin handler interfaces
│ ├── log/ # Logging infrastructure
│ └── etcd/ # Distributed configuration support
└── endpoints/ # Daemon implementations (Go module, depends on nhp)
├── agent/ # NHP-Agent daemon
├── server/ # NHP-Server daemon
├── ac/ # NHP-AC (access controller) daemon
├── db/ # NHP-DB (Data Broker for DHP)
├── kgc/ # NHP-KGC (Key Generation Center)
└── relay/ # NHP-Relay daemon
make# Build all components
make
# Build individual daemons
make agentd # NHP-Agent
make serverd # NHP-Server
make acd # NHP-AC
make db # NHP-DB
make relayd # NHP-Relay
make kgc # NHP-KGC
cd nhp && go test ./...
cd endpoints && go test ./...
cd docker && docker-compose up --build
पूर्ण प्रमाणीकरण वर्कफ़्लो को Docker वातावरण में अनुकरण करने के लिए त्वरित प्रारंभ ट्यूटोरियल का पालन करें।
हम योगदान का स्वागत करते हैं! कृपया पुल अनुरोध सबमिट करने से पहले CONTRIBUTING.md पढ़ें।
नोट: सभी कमिट्स को एक सत्यापित GPG या SSH कुंजी से हस्ताक्षरित होना चाहिए।
git commit -S -m "your message"