हमारा लाइसेंस मॉडल सार्वजनिक / निजी कुंजी क्रिप्टोग्राफी का उपयोग करके काम करता है। वे हमें अपने नाम और संपर्क विवरण भेजते हैं, जिन्हें हम अपनी निजी कुंजी का उपयोग करके एन्क्रिप्ट करते हैं। एन्क्रिप्टेड फ़ाइल को फिर लाइसेंस में भेजा जाता है जिसे वे एप्लिकेशन में दर्ज करते हैं। एप्लिकेशन में हमारी सार्वजनिक कुंजी बाइनरी में एम्बेड की गई है (या यदि उनके पास नेट से कनेक्शन है, तो यह हमारी साइट से इसे खींचता है) और यह लाइसेंस जानकारी को डिक्रिप्ट करने के लिए इसका उपयोग करता है। यदि डिक्रिप्ट लाइसेंस उनके द्वारा दर्ज किए गए विवरण से मेल खाता है तो उन्हें उत्पाद का उपयोग करने के लिए लाइसेंस प्राप्त है!
निजी / सार्वजनिक कुंजी क्रिप्टोग्राफी का उपयोग करके हम अपने आवेदन को विश्वास देते हैं कि लाइसेंस कुंजी में डेटा वास्तव में हमारे द्वारा है (लाइसेंस की प्रामाणिकता)
लाइसेंस कुंजी में एन्कोडिंग सदस्यता स्तर की तरह, आप इसके साथ अन्य साफ-सुथरे चीजें भी कर सकते हैं। एप्लिकेशन लाइसेंस कुंजी को डिक्रिप्ट करेगा और देखें कि उन्हें केवल कार्यक्षमता के कुछ बिट्स का उपयोग करने की अनुमति है।
हालांकि हमला किया जा सकता है। उदाहरण के लिए, ब्लैकहाट या तो द्विआधारी के पूरे लाइसेंस कुंजी जांच भाग को हटा सकता है, या एप्लिकेशन में संग्रहित सार्वजनिक कुंजी को उनके द्वारा जेनरेट किए गए एक को अपडेट कर सकता है। फिर वे इसे अपना लाइसेंस स्वीकार कर पाएंगे। हालांकि, चूंकि हमारे आवेदन मुख्यधारा नहीं हैं क्योंकि हम इसे एक बड़ा खतरा नहीं मानते हैं।