ولې د VPN یو کوډ شوی بسته ممکن ستاسو له فکر څخه کم لګښت ولري
یو بل کریپټوګرافیک لیبل یو بل کاري واحد نه دی۔ ټوله لاره پرتله کړئ: د AEAD جوړښت، د CPU ملاتړ، بفر کول او د هوکړې شوي ډیټا حالت۔
دوه پروفایلې په یوه ګیټوې پرتله کیږي، یو له کوډ کولو سره او بل پرته، او کوډ شوی یو ورو نه دی۔ کله ناکله دا ګړندی وي، چې معمولاً د دې په اړه اوږده بحث رامنځته کوي چې آیا ازموینه سمه ترسره شوې وه۔ پایله باوري ده، ځکه چې د یوې بستې لګښت په ترتیباتو کې د کریپټوګرافیک کلمو شمیر نه دی۔ دا هغه عملیاتو ټولګه ده چې پلي کوونکی یې ترسره کوي، په خپل لاسرسي کې سختې وسایل، او د خپل ټاکل شوي بفر پر بنسټ۔
نښه: ورو یو کوډ شوې پروفایله نه ده
فرض کړئ چې یوه پخوانۍ ازموینه د AEAD سایفر د „بې کوډ کولو“ حالت سره پرتله کوي، چې لا هم د هرې بستې لپاره جلا تصدیق کوډ محاسبه کوي۔ دوهمه پروفایله د بار محتوا پټوي خو د هرې بستې هش ساتي، او په هغه پروسیسر کې چې د دې هش لپاره ګړندي کوونکی نه لري، ممکن د هغه یوځای شوي جوړښت څخه ډیر لګښت ولري چې باید یې مات کړی وای۔
په ترتیباتو کې لیبل „کوډ کول“ وایي، او لیبل هغه څه دي چې ډیری پرتلیزې ورته ګوري۔ د بستې لاره بل څه وایي: یوه پروفایله هغه یوځای شوی عمل ترسره کوي چې CPU ورته لارښوونې لري، او بله جلا یو ترسره کوي چې نلري۔ یوازې د ترتیباتو فایل لوستل به هغه توپیر هیڅکله نه ښکاره کړي، ځکه چې دواړه داخلېدونکي د یوې کرښې په څیر ښکاري۔ یوازې هوکړې شوی حالت او د هغې شاته د کوډ لاره پایله تشریح کوي۔
دا ټوله تشریح ده، او د دې لپاره هیڅ ادعا نه غواړي چې کوم لومړنی عنصر په نړیواله توګه ګړندی دی۔ دواړه کیدای شي ګړندي وي، دواړه کیدای شي ورو وي، او ترتیب په ماشین او کوډ پورې اړه لري۔
لیبلونه نه، عملیات وشمېرئ
د AEAD جوړښت، لکه څنګه چې RFC 5116 تشریح کوي، پلي کوونکي ته یو واحد انټرفیس ورکوي چې سایفر متن او ټاګ یوځای بیرته ورکوي۔ AES-GCM یوه بېلګه ده: د شمېرونکي حالت کوډ کول د Galois تصدیق کوونکي سره یوځای۔ انټرفیس بشپړتیا وړیا نه کوي؛ دا یوځای والی ښه تعریف شوی کوي، او همدا پلي کوونکي ته اجازه ورکوي چې جوړه د یوې واحدې په توګه غوره کړي۔
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
دا د پروسس کولو خاکې دي، د ترتیباتو مشورې نه۔ لومړی محرمیت نلري خو لا هم د تصدیق لپاره CPU لګوي، او همدا لامل دی چې „کوډ کول بند کړه“ د „کریپټوګرافیک کار بند کړه“ مترادف نه دی۔
دوهم کیدای شي ارزانه وي ځکه چې پروسیسرونه د دواړو نیمو لپاره لارښوونې برابروي: د AES ګردونه او هغه بې لیږدونکې ضرب چې د Galois ساحه یې کاروي۔ کتابتونونه هم خپلواک بفرونه په موازي ډول پروسس کوي، چې هغه لارښوونې د حافظې د انتظار پر ځای بوختې ساتي۔
هوکړې شوی حالت واقعاً څه ممکن کوي
په Community OpenVPN کې، د AEAD ډیټا سایفر مانا دا ده چې auth اختیار نور خپل جلا د ډیټا چینل HMAC نه ورکوي۔ د کوډ کولو اختیار مرجع هغه حد تشریح کوي، او همدا لامل دی چې په متني فایل کې ورته ښکاره دوه ترتیبات کیدای شي په هرې بستې کار کې توپیر ولري۔
د غوښتنو لیست نه، هوکړې شوی حالت ولولئ۔ د اجازه ورکړل شوو سایفرونو لیست او د TLS سیټ نوم تاسو ته نه وایي چې پر بار کوم عملیات روان دي، او زوړ cipher کرښه ممکن هغه څه تشریح نه کړي چې اوسنیو اړیکو غوره کړي دي۔
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
لومړی حکم هغه سایفرونه لیست کوي چې باینري یې ملاتړ کوي، دا د وړتیاوو لیست دی، نه هوکړې شوې پایله۔ دوهم ښیي چې سرور واقعاً څه غواړي۔ د اړیکې لاګ هغه ځای دی چې وروستی انتخاب پکې تایید شي، ځکه چې کاروونکی کیدای شي پر هغه څه ورلوېږي چې سرور یې اجازه ورکوي خو چا نه دی فکر کړی۔
هغه بار واندازه کړئ چې واقعاً یې چلوئ
کریپټوګرافیک کوچنی اندازه کول یو لومړني عنصر په خپلو شرایطو کې اندازه کوي۔ د VPN لیږد بفرونه هم کاپي کوي، تارونه یا مداخلې مهالویش کوي، تګلاره ګوري او شبکه تیریږي۔ همدا برخې ډیری وخت غالبې وي، او همدا لامل دی چې ګړندی لومړنی عنصر تل ګړندی تونل نه جوړوي۔
openssl speed -evp aes-256-gcm openssl speed -evp sha1
هغه دوه حکمه تاسو ته ستاسو مخې ته په ماشین کې د لومړنیو عناصرو نږدې سیمه ییزه پرتله ورکوي، او په دې کې رښتیني دي چې کوچني اندازه کول دي۔ دوی ستاسو د تونل د تیریدو وړتیا په اړه هیڅ نه وایي، او باید هیڅکله داسې نقل نه شي۔
بیا هغه بار واندازه کړئ چې اهمیت لري، پاتې نور ټول ثابت ساتل: هماغه پای ټکی، هماغه د بستې اندازې، هماغه ترانسپورت، هماغه د کمپریشن تګلاره۔ که د پروفایل بدلون ترانسپورت یا د پروسس ځای هم بدل کړی وي، پایله هغه بنډل تشریح کوي، کریپټوګرافي نه۔
هدف هم سترګو ته ونیسئ۔ د ډیټا لاره چې اضافي کریپټوګرافیک وړتیا لري لا هم کیدای شي د ځنډ له امله محدوده وي ځکه چې اپلیکیشن د تلو راتلو سفرونو انتظار کوي، او لوی ظرفیت لاسته راوړنې یو ډیر خبرې کوونکی پروتوکول نه سموني۔ د ملاتړ شوي او د تګلارې له خوا تصویب شوي ترتیبات په بشپړه توګه واندازه کړئ، او „لږ صندوقونه باید ګړندي وي“ هغه فرضیه وګڼئ چې ده۔ ګټوره پوښتنه دا نه ده چې کوډ کول څه لګښت لري، بلکې دا ده چې آیا هغه لګښت په هغه اندازه کې ښکاري چې تاسو واقعاً ورته پام لرئ۔