মূল লেখায় যান

সফটওয়্যার লাইসেন্সের ডিভাইস বাঁধাই ও স্থানান্তর

এক ডিভাইসের লাইসেন্সে সফটওয়্যার ও ক্যাশ অন্য সাধারণ কম্পিউটারে কপি করলে আগের অনুমতি সরাসরি কাজ করবে না।

Device binding vs user account licensing

Account sign-in identifies the customer and their purchases; device binding determines which machine may use the license. After sign-in, the SDK must still verify device identity, signatures and feature entitlements. Copying account session data or cache files to another computer does not replace that computer's own license verification.

SDK কম্পিউটার চিনবে কীভাবে?

প্রতি শুরুতে SDK সিস্টেমের পরিচয় ও product ID দিয়ে ডিভাইস হ্যাশ বানায়। সার্ভার স্বাক্ষরে এই হ্যাশ থাকে; স্থানীয় যাচাইয়েও মেলানো হয়।

Windows পড়ে MachineGuid, Linux machine-id, macOS IOPlatformUUID। মূল পরিচয় পাঠায় না, গণনা করা হ্যাশ পাঠায়। কনফিগের পুরোনো device_id আসল স্থানীয় পরিচয় বদলায় না।

A-এর ফাইল B-তে নিলে কী হয়?

  1. A সক্রিয় হলে A-এর হ্যাশে বাঁধা স্বাক্ষর পায়।
  2. B নিজের পরিচয়ে আলাদা হ্যাশ পায়, A-এর ক্যাশ ফিরিয়ে দেয়।
  3. B-কে অনলাইনে সক্রিয় হতে হবে। সীমা 1 ও A বাঁধা থাকলে সার্ভার B-কে প্রত্যাখ্যান করে।

গ্রাহক কম্পিউটার বদলাবেন কীভাবে?

গ্রাহক পুরোনো কম্পিউটার মুক্ত করে নতুনটি সক্রিয় করবে। পুরোনোটি নষ্ট হলে কনসোলের ডিভাইস সক্রিয়করণ থেকে মুক্ত করুন। বদলালে লাইসেন্সের মেয়াদ নতুন করে শুরু হয় না।

সিস্টেম পুনঃস্থাপনে পরিচয় বদলাতে পারে, নতুন ডিভাইস হিসেবে সক্রিয় করা লাগবে। সম্পূর্ণ OS ক্লোন, ভুয়া পরিচয় বা পরিবর্তিত ক্লায়েন্ট শক্তিশালী আক্রমণ; শুধু এই হ্যাশ দিয়ে ঠেকানোর নিশ্চয়তা নেই।

দীর্ঘ অফলাইনে A-এর পুরোনো স্বাক্ষর মুক্ত হওয়ার খবর সঙ্গে সঙ্গে জানে না; সফল সার্ভার অনুরোধে অবস্থা বদলায়। অফলাইন যত দীর্ঘ, দূর থেকে বাধা তত দেরিতে কার্যকর।

ভাষাভিত্তিক একই ডিভাইস হ্যাশ
নয় SDK একই পদ্ধতি ব্যবহার করে
SHA256(UTF8(
  "LicenovaDevice/v2\n"
  + lower(product_id) + "\n"
  + lower(trim(OS_machine_identity))
))