Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
kroxylicious-pqc-filter — एक Kroxylicious फ़िल्टर प्लगइन जो Apache Kafka के लिए पारदर्शी पोस्ट-क्वांटम (ML-KEM + AES-256-GCM) रिकॉर्ड-स्तरीय एन्क्रिप्शन प्रदान करता है, जिसके लिए क्लाइंट कोड में कोई बदलाव आवश्यक नहीं है। | Kitploit
उपकरण/GitHubGitHub/oscerd/kroxylicious-pqc-filter
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाएन्क्रिप्शन/डिक्रिप्शन उपकरणक्रिप्टोग्राफीउपयोगिताएँ और फ्रेमवर्क
GitHuboscerd/kroxylicious-pqc-filter

kroxylicious-pqc-filter

एक Kroxylicious फ़िल्टर प्लगइन जो Apache Kafka के लिए पारदर्शी पोस्ट-क्वांटम (ML-KEM + AES-256-GCM) रिकॉर्ड-स्तरीय एन्क्रिप्शन प्रदान करता है, जिसके लिए क्लाइंट कोड में कोई बदलाव आवश्यक नहीं है।

रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
1144 महीने पहलेअभी तक समीक्षित नहीं
साझा करें

Kroxylicious PQC रिकॉर्ड एन्क्रिप्शन फ़िल्टर

एक Kroxylicious फ़िल्टर प्लगइन जो Apache Kafka के लिए पारदर्शी Post-Quantum Cryptography (PQC) रिकॉर्ड-स्तरीय एन्क्रिप्शन प्रदान करता है, जो ML-KEM (FIPS 203) key encapsulation के साथ AES-256-GCM सममित एन्क्रिप्शन का उपयोग करता है।

Kafka प्रोड्यूसर और कंज़्यूमर को शून्य कोड परिवर्तन की आवश्यकता होती है। Kroxylicious प्रॉक्सी ट्रैफ़िक को इंटरसेप्ट करता है और Produce पर एन्क्रिप्ट / Fetch पर डिक्रिप्ट स्वचालित रूप से करता है।``` Producer ──plaintext──> Kroxylicious ──encrypted──> Kafka Broker Consumer <──plaintext── Kroxylicious <──encrypted── Kafka Broker

## Kafka के लिए PQC क्यों?

शास्त्रीय कुंजी स्थापना एल्गोरिदम (RSA, ECDH) भविष्य के क्वांटम कंप्यूटरों के प्रति संवेदनशील हैं। यदि प्रति-रिकॉर्ड एन्क्रिप्शन कुंजियाँ किसी शास्त्रीय KEM का उपयोग करके स्थापित की जाती हैं, तो एक क्वांटम प्रतिद्वंद्वी उन कुंजियों को ब्रोकर पर सिफरटेक्स्ट के साथ संग्रहीत एनकैप्सुलेशन से पुनर्प्राप्त कर सकता है।

यह प्लगइन क्वांटम-प्रतिरोधी कुंजी एनकैप्सुलेशन के लिए ML-KEM (FIPS 203) का उपयोग करता है, जिससे यह सुनिश्चित होता है कि Kafka ब्रोकर पर विश्राम अवस्था (data at rest) में मौजूद डेटा को क्रिप्टोग्राफिक रूप से प्रासंगिक क्वांटम कंप्यूटर वाले प्रतिद्वंद्वी द्वारा भी डिक्रिप्ट नहीं किया जा सकता।

**नोट:** यह फ़िल्टर **ब्रोकर पर विश्राम अवस्था में डेटा (data at rest)** की सुरक्षा करता है, न कि ट्रांज़िट में TLS चैनल की। पूर्ण विश्लेषण के लिए देखें [THREAT_MODEL.md](https://github.com/oscerd/kroxylicious-pqc-filter/blob/main/THREAT_MODEL.md) कि किस चीज़ से बचाव होता है और किससे नहीं।

| Standard | Algorithm | इस प्लगइन में उद्देश्य |
|----------|-----------|------------------------|
| FIPS 203 | ML-KEM (Kyber) | कुंजी एनकैप्सुलेशन - प्रति-संदेश AES कुंजी सुरक्षित रूप से स्थापित करता है |
| N/A | AES-256-GCM | रिकॉर्ड पेलोड की सममित प्रमाणित एन्क्रिप्शन |
| N/A | X25519 ECDH | हाइब्रिड मोड रक्षा-गहराई के लिए शास्त्रीय कुंजी समझौता |

## विशेषताएँ

- **पारदर्शी एन्क्रिप्शन/डिक्रिप्शन** - क्लाइंट-साइड में कोई बदलाव आवश्यक नहीं
- **ML-KEM-512, ML-KEM-768 (डिफ़ॉल्ट), ML-KEM-1024** पैरामीटर सेट
- **हाइब्रिड मोड** (डिफ़ॉल्ट) - ML-KEM + X25519 ECDH को जोड़ता है ताकि दोनों को तोड़ना आवश्यक हो
- **प्रति-रिकॉर्ड एन्क्रिप्शन** - प्रत्येक रिकॉर्ड को एक नया KEM एनकैप्सुलेशन + यादृच्छिक IV मिलता है
- **टॉपिक फ़िल्टरिंग** - रेगेक्स पैटर्न चुनते हैं कि कौन से टॉपिक एन्क्रिप्ट करने हैं
- **छेड़छाड़ का पता लगाना** - AES-GCM प्रमाणित एन्क्रिप्शन संशोधित सिफरटेक्स्ट को अस्वीकार करता है
- **सिमेंटिक सुरक्षा** - समान प्लेनटेक्स्ट अलग-अलग सिफरटेक्स्ट उत्पन्न करते हैं (IND-CCA2)
- **कुंजी स्वतः-जनरेशन** - अनुपलब्ध होने पर पहले स्टार्टअप पर ML-KEM कुंजियाँ जनरेट और सेव करता है
- **`x-pqc-encrypted` हेडर** - डाउनस्ट्रीम जागरूकता के लिए एन्क्रिप्टेड रिकॉर्ड को चिह्नित करता है
- **प्लग करने योग्य कुंजी प्रदाता** - `KeyProvider` SPI फ़ाइलसिस्टम (डिफ़ॉल्ट) और HashiCorp Vault बैकएंड का समर्थन करता है

## आवश्यक शर्तें

| आवश्यकता | संस्करण |
|-------------|---------|
| JDK | 17+ (21+ अनुशंसित) |
| Maven | 3.8+ |
| Kroxylicious | 0.19.0 |
| Apache Kafka | 3.9.x |

## त्वरित आरंभ

### 1. प्लगइन बनाएं```bash
git clone <this-repo>
cd kroxylicious-pqc-filter
mvn clean package -DskipTests

target/kroxylicious-pqc-filter-1.0.0-SNAPSHOT.jar पर स्थित shaded JAR, Bouncy Castle को बंडल करता है ताकि इसे बिना किसी अतिरिक्त निर्भरता के Kroxylicious में डाला जा सके।

HashiCorp Vault key provider समर्थन शामिल करने के लिए, vault प्रोफ़ाइल के साथ बिल्ड करें:```bash mvn clean package -Pvault -DskipTests

यह `spring-vault-core` और `VaultKeyProvider` को JAR में बंडल करता है।

### 2. ML-KEM कुंजियाँ जनरेट करें```bash
java -cp target/kroxylicious-pqc-filter-1.0.0-SNAPSHOT.jar \
  io.kroxylicious.filter.pqc.PqcKeyGeneratorCli \
  ML_KEM_768 \
  /etc/kroxylicious/pqc/

The input for chunk 9 is empty — no content was provided to translate.``` Generating ML-KEM-768 key pair... Public key: /etc/kroxylicious/pqc/pqc-public.der Size: 1206 bytes Format: X.509 Private key: /etc/kroxylicious/pqc/pqc-private.der Size: 2498 bytes Format: PKCS#8

वैकल्पिक रूप से, कॉन्फ़िगरेशन में कुंजी पथों को छोड़ दें और फ़िल्टर
पहली बार प्रारंभ होने पर कुंजियाँ स्वचालित रूप से उत्पन्न करेगा।

### 3. Kroxylicious को कॉन्फ़िगर करें

अपने Kroxylicious प्रॉक्सी YAML कॉन्फ़िगरेशन में फ़िल्टर जोड़ें:```yaml
filterDefinitions:
  - name: pqc-encryption
    type: PqcRecordEncryptionFilterFactory
    config:
      kemAlgorithm: ML_KEM_768
      hybridMode: true
      publicKeyPath: /etc/kroxylicious/pqc/pqc-public.der
      privateKeyPath: /etc/kroxylicious/pqc/pqc-private.der
      topicPatterns:
        - "sensitive-.*"
        - "pii-.*"

defaultFilters:
  - pqc-encryption

4. तैनाती

JAR को Kroxylicious के लिए सुलभ निर्देशिका में रखें और इसे KROXYLICIOUS_CLASSPATH पर्यावरण चर के माध्यम से क्लासपाथ में जोड़ें:```bash export KROXYLICIOUS_CLASSPATH="/opt/kroxylicious/plugins/*"

Docker का उपयोग करते समय, इसे अपने कंटेनर वातावरण में सेट करें:```yaml
environment:
  KROXYLICIOUS_CLASSPATH: /opt/kroxylicious/plugins/*

फिर प्रॉक्सी शुरू करें। प्रोड्यूसर और कंज़्यूमर ब्रोकर से सीधे जुड़ने के बजाय प्रॉक्सी पोर्ट से जुड़ते हैं।

कॉन्फ़िगरेशन संदर्भ

PropertyTypeRequiredDefaultDescription
kemAlgorithmenumNoML_KEM_768ML-KEM पैरामीटर सेट। इनमें से एक: ML_KEM_512, ML_KEM_768, ML_KEM_1024।
hybridModebooleanNotrueगहन सुरक्षा (defense-in-depth) के लिए ML-KEM को X25519 ECDH के साथ संयोजित करें।
publicKeyPathstringFilesystem only-ML-KEM सार्वजनिक कुंजी (X.509 DER एन्कोडेड) के लिए फ़ाइल सिस्टम पथ।
privateKeyPathstringFilesystem only-ML-KEM निजी कुंजी (PKCS#8 DER एन्कोडेड) के लिए फ़ाइल सिस्टम पथ।
topicPatternslist<string>No[".*"]Java regex पैटर्न। मेल खाने वाले टॉपिक्स में केवल रिकॉर्ड ही एन्क्रिप्ट/डिक्रिप्ट होते हैं।
keyProviderTypestringNofilesystemकुंजी भंडारण बैकएंड। इनमें से एक: filesystem, vault।
keyProviderConfigmap<string, string>Vault only{}बैकएंड-विशिष्ट कॉन्फ़िगरेशन (नीचे Vault अनुभाग देखें)।

कुंजी प्रदाता

Filesystem (keyProviderType: filesystem, डिफ़ॉल्ट): डिस्क पर DER फ़ाइलों से ML-KEM कुंजियाँ लोड करता है। यदि फ़ाइलें मौजूद नहीं हैं, तो एक नई कुंजी जोड़ी उत्पन्न करके उन्हें सहेजता है। इसके लिए publicKeyPath और privateKeyPath आवश्यक हैं।

HashiCorp Vault (keyProviderType: vault, -Pvault बिल्ड की आवश्यकता है): Vault KV v2 secrets engine से ML-KEM कुंजियाँ प्राप्त करता है। कुंजियाँ publicKey और privateKey फ़ील्ड्स में base64-एन्कोडेड DER के रूप में संग्रहीत होती हैं। कुंजी रोटेशन समर्थन के लिए Vault secret संस्करण, कुंजी IDs में मैप होते हैं।

Vault keyProviderConfig गुण:

PropertyRequiredDefaultDescription
vaultAddressहाँVAULT_ADDR पर्यावरण चरVault सर्वर URL (उदाहरण: http://vault:8200)
vaultTokentoken प्रमाणीकरण के लिएVAULT_TOKEN पर्यावरण चरVault प्रमाणीकरण टोकन
secretPathहाँ--secrets engine के भीतर पथ (उदाहरण: kroxylicious/pqc)
secretEngineनहींsecretKV v2 secrets engine माउंट नाम
authMethodनहींtokenप्रमाणीकरण विधि: token, approle, या kubernetes
roleIdapprole के लिए--AppRole भूमिका ID
secretIdapprole के लिए--AppRole गुप्त ID
kubeRolekubernetes के लिए--Kubernetes प्रमाणीकरण भूमिका नाम
kubeTokenPathनहीं/var/run/secrets/.../tokenसर्विस अकाउंट टोकन फ़ाइल पथ
टूल डाउनलोड करें