একটি টানেলের জন্য অর্থ দেওয়ার মানে এই নয় যে প্রতিটি সংযোগে বিলিং পরিচয় দেখাতে হবে। একটি নকশা একবার যোগ্যতা যাচাই করে গ্রাহককে ক্রিপ্টোগ্রাফিক টোকেন দিতে পারে, এবং পরে গেটওয়েকে পেছনের অ্যাকাউন্ট না দেখেই একটি টোকেন গ্রহণ করতে দিতে পারে। এটি আসলে কিছু লুকায় কি না তা নির্ভর করে ইস্যু ও রিডেম্পশনের সিদ্ধান্তের উপর, তাই এটিকে চালু করার মতো কোনো বৈশিষ্ট্য নয়, বরং চারটি অংশের একটি স্পেসিফিকেশন অনুশীলন হিসেবে দেখুন।

ক্রয়ের ধাপকে সেশনের ধাপ থেকে আলাদা করুন

RFC 9576-এ Privacy Pass আর্কিটেকচার শব্দভাণ্ডার দেয়: ক্লায়েন্ট, অ্যাটেস্টার, ইস্যুয়ার এবং অরিজিন। ক্লায়েন্ট ইস্যুয়ারের কাছে কিছু বৈশিষ্ট্য প্রমাণ করে টোকেন পায়; পরে সে একটি টোকেন অরিজিনের কাছে উপস্থাপন করে, যা সেটি পরিবেশন করবে কি না তা ঠিক করে। VPN-এ প্রয়োগ করলে যে বৈশিষ্ট্যটি সত্যায়িত হয় তা হতে পারে অ্যাক্সেসের একটি একক।

বিলিং তার নিজের প্রক্রিয়ার প্রয়োজনীয় সবকিছু এখনও দেখে, এবং কেউ অন্যথা দাবি করছে না। সংকীর্ণ লক্ষ্য হল, পরবর্তী রিডেম্পশনকে সেই ক্রয়ের সঙ্গে যুক্ত করা যাবে না যা টোকেনটি তৈরি করেছিল। এটি একটি নির্দিষ্ট, পরীক্ষাযোগ্য বৈশিষ্ট্য এবং এটিই লিখে রাখার যোগ্য।

এলোমেলো দেখতে একটি বহনকারী স্ট্রিং এটি দেয় না। যদি ইস্যুয়ার মানটি একটি গ্রাহক রেকর্ডের পাশে সংরক্ষণ করে এবং গেটওয়ে সেই ম্যাপিং চাইতে পারে, তবে দুটি মিথস্ক্রিয়া ক্রিপ্টোগ্রাফি নয়, ডেটাবেস দ্বারা যুক্ত হয়। নির্মাণটিকে ইস্যুয়ারকে সেই প্রশ্নের উত্তর দিতে অক্ষম করতে হবে, এবং স্থাপনকে ইস্যুয়ার ও গেটওয়েকে তাদের দৃষ্টিভঙ্গি একত্র করার থেকে বিরত রাখতে হবে।

একটি টোকেন কীসের অনুমোদন দেয় তা নির্ধারণ করুন

«একটি টোকেন অ্যাক্সেস কিনে» পরিচালনার দিক থেকে প্রায় কিছুই উত্তর দেয় না। এককটি কি একটি সংযোগ, একটি সময়সীমা, নাকি একটি আয়তন? যে ক্লায়েন্ট তার উত্তর হারিয়েছে সে কি একই অনুদান আবার শুরু করতে পারে? নেটওয়ার্ক পরিবর্তনের সময় একটি ডিভাইস পুনরায় সংযোগ করলে কী হয়? এই উত্তরগুলোই ঠিক করে নকশাটি ব্যবহারযোগ্য কি না, এবং প্রতিটির একটি গোপনীয়তা পরিণতি আছে।

Reuse ruleWhat it buysWhat it leaks
Single use per connectionStrongest unlinkability between sessionsFrequent reissuance, more purchase-to-use timing pairs
Bounded time windowFewer tokens, reconnects workActivity inside the window is linkable
Long-lived grantOperationally simpleBehaves like an account reference with extra steps

সচেতনভাবে একটি বেছে নিন এবং তার পাশে ব্যর্থতার আচরণ লিখুন। যে ক্লায়েন্ট অপেক্ষা শেষ হওয়ার পর নতুন অধিকার নিয়ে আবার চেষ্টা করে সে আরেকটি একক খরচ করে, যা একই সঙ্গে বিলিংয়ের বিস্ময় এবং গোপনীয়তার সংকেত।

পুনর্ব্যবহার ও রিভোকেশন নীতি লিখুন

রিভোকেশনই সেই জায়গা যেখানে বেনামি নকশাগুলো সাধারণত নিজেদের প্রতিশ্রুতি ভাঙে। সাবস্ক্রিপশন বাতিল করা এবং ইতিমধ্যে ইস্যু করা টোকেন অকার্যকর করা ভিন্ন কাজ, এবং যে গেটওয়ে সিদ্ধান্ত নিতে চুপচাপ অ্যাকাউন্ট অনুসন্ধান করে সে ওই বিন্দুতে আর বেনামি নয়।

এমন একটি মেয়াদ, ইস্যু সীমা এবং রিভোকেশনের গল্প বেছে নিন যা একসঙ্গে খাপ খায়। তারপর গেটওয়ের নিজের রেকর্ডে এমন ফিল্ড খুঁজুন যা আপনি সরিয়ে দেওয়া লিঙ্কটি আবার ফিরিয়ে আনে।

sudo grep -rIl --include='*.log' -e 'Bearer ' -e 'account_id' /var/log/vpn/

সেই অনুসন্ধান টোকেন বা অ্যাকাউন্ট ফিল্ড থাকা লগ ফাইল তালিকাভুক্ত করে, এবং বাস্তবে সতর্ক নকশা প্রথম এখানেই ফাঁস হয়। যে সেশন রেকর্ড টোকেনের মান একটি অ্যাকাউন্ট শনাক্তকারীর পাশে রাখে তা পুরো নির্মাণটাই ব্যর্থ করে, এবং এটি সাধারণত এমন একটি ডিবাগিং পরিবর্তনের মাধ্যমে আসে যা কেউ আর দেখেনি।

সেশন শেষ হওয়ার পরে গেটওয়ে কী রাখে তাও নির্ধারণ করুন। সময়কাল, বাইট এবং এন্ডপয়েন্ট পরিচালনার জন্য দরকারি, এবং প্রত্যেকটিই ধাঁধার একটি টুকরো যা একজন পর্যবেক্ষক চাইবে। ধারণকাল ছোট এবং ফিল্ডের তালিকা ছোট রাখুন, তারপর ডিবাগিং পরিবর্তন একটি কলাম যোগ করলে দুটোই পুনরায় দেখুন। একটি নতুন লগ ফিল্ড এক বছর থাকার আগে কেউ তা লক্ষ্য করে না।

দাবিটি লিখুন, তারপর যে পর্যবেক্ষণগুলো থাকে

গোপনীয়তার দাবিটি একটি বাক্যে তার অনুমানসহ লিখুন: কোন পক্ষ কোন প্রসঙ্গগুলো লিঙ্ক করতে অক্ষম হতে হবে, এবং ইস্যুয়ার ও গেটওয়ে যদি নোট মিলায় তবে কী হয়। যে নকশা ওই বাক্যটি টিকিয়ে রাখে তা পর্যালোচনাযোগ্য; যেটি কেবল «শূন্য জ্ঞান» হিসেবে বর্ণিত তা নয়।

তারপর তালিকা করুন যা যাই হোক দৃশ্যমান থাকে। উৎস ঠিকানা, সংযোগের সময়, প্যাকেটের আকার এবং একটি সাধারণ সত্য যে একমাত্র নতুন সংযোগটি দেখা দেওয়ার অল্প আগে একটি ক্রয় ঘটেছিল — সবই ক্রিপ্টোগ্রাফির বাইরে। একজন গ্রাহক একটি একক কিনে একবার সংযোগ করলে কেবল সময় দিয়েই লিঙ্ক করা যায়, এবং কোনো টোকেন নকশা তা বদলায় না।

সৎ ফলাফল হল অ্যাকাউন্ট ও ব্যবহারের মধ্যে একটি সংকীর্ণ লিঙ্ক, অদৃশ্য সেশন নয়। ডকুমেন্টেশন যদি তা বলে এবং পরিচালন রেকর্ড দাবির সঙ্গে মেলে, তবুও এটি তৈরি করা মূল্যবান।

সম্পর্কিত নিবন্ধ