امضای آستانه (TSS) چیست ؟ بررسی اهمیت آن در امنیت بلاک چین

طرح امضای آستانه (TSS) یک شیوه رمزنگاری اولیه برای تولید و امضای کلید توزیع شده است. استفاده از TSS برای کاربران بلاکچین یک الگوی جدیدی است که میتواند مزایای بیشماری را به خصوص از نظر امنیت ارائه دهد. TSS در مفهوم گستردهتر خود میتواند طراحی سیستمهای مدیریت کلید (مانند کیف پولهای رمزنگاری) را تحت تاثیر قرار دهد. همچنین راه را برای پشتیبانی بومی در موارد استفاده از دیفای (DeFi) باز خواهد کرد. با این حال، TSS هنوز یک فناوری جدید است، بنابراین خطرات و محدودیتهای آن نیز باید مد نظر قرار گیرد.
در این مقاله از فکت کوینز، به این موضوعات خواهیم پرداخت که TSS چیست و چه مزایای بالقوهای برای فضای بلاکچین دارد. همچنین چگونه میتوان آن را در یک کلاینت بلاکچین پیادهسازی کرد و چگونه با اشتراکگذارهای مخفی مولتی سیگ (Multisig) و شمیر (Shamir) مقایسه میشود. سپس نحوه استفاده از TSS برای مدیریت کلید توزیع شده و درنهایت خطرات و محدودیتهای آن را مورد بحث قرار خواهیم داد.
قدرت رمزنگاری و امضای آستانه
برای درک هر چه بهتر مفهوم امضای آستانه (TSS) ابتدا باید به بررسی دانش اولیه رمزنگاری بپردازیم. از دهه 1970 سیستمهای اینترنتی بیشتری مانند TLS و PGP به سمت کاربرد رمزنگاری نامتقارن حرکت کردند. عبارت رمزنگاری نامتقارن با عنوان رمزنگاری کلید عمومی (PKC) نیز شناخته میشود که از دو کلید عمومی و خصوصی برای امنیت داده استفاده میکند. کلید عمومی مخفی نیست و میتواند توسط هر کسی دیده و استفاده شود. اما کلید خصوصی بخشی از اطلاعات سری است که نشاندهنده امنیت سیستم رمزنگاری خواهد بود.
رمزگذاری و امضای دیجیتال دو مورد از رایجترین کاربردهای رمزنگاری کلید عمومی (PKC) هستند. البته هر دو طرح رمزگذاری و امضای دیجیتال بر مجموعهای از سه الگوریتم متکی میباشند. این سه الگوریتم شامل تولید جفت کلید خصوصی و عمومی، تولید متن رمزنگاری یا امضا و سوم فرآیند رمزگشایی یا تایید خواهد بود. الگوریتم امضا در رابطه با امضای دیجیتال به یک کلید خصوصی نیاز دارد که فقط صاحب اصلی به ان دسترسی دارد تا یک امضای منحصر به فرد تولید کند. این امضای منحصر به فرد بهگونهای به یک پیام متصل میشود که هر فرد دارنده کلید عمومی میتواند صحت و سقم آن را تایید کند.
بلاکچین و امضای آستانه
شکی نیست که بلاکچین یک فناوری بسیار قدرتمند است که لایه اجماعی را فراهم کرده که رویدادها را سازماندهی و ثبت میکند. چنین زیرساختی میتواند قدرت بالقوهای را برای ایجاد اقتصادهای غیرمتمرکز به کاربران و حتی دولتها ارائه کند. با کمال تعجب، رمزنگاری مورد نیاز برای اجرای یک بلاک چین پایه میتواند تنها بر روی مفهوم امضای دیجیتال استوار شود.
درواقع کلیدهای خصوصی در بستر یک بلاکچین نشاندهنده هویت آن هستند. در حالی که امضا یک بیانیه عمومی یا ادعایی است که توسط آن هویت پشتیبانی میشود. بلاکچین میتواند این بیانیههای عمومی را سفارش داده و آنها را بر اساس مجموعهای از قوانین دستهبندی کند. در عین حال غیر قابل جعل شدن و درست بودن امضاها را نیز تضمین خواهد کرد.
بیشتر بخوانید : نقش بلاک چین در هویت دیجیتال (Digital Identity) چیست ؟
جعبه ابزار رمزنگاری مدرن برخلاف رمزنگاری کلاسیکتر مورد استفاده در بلاکچین شامل برخی از ترفندهای جادویی عالی است. برای اشاره به چند مورد از این ترفندها میتوان از اثبات دانش صفر، رمزگذاری همومورفیک و محاسبات چند جانبه نام برد. همانطور که در دهه گذشته شاهد بودیم، فناوری بلاکچین توانست رمزنگاری کاربردی را با پیشرفتهای اخیر خود در همه موارد فوق و بسیاری موارد دیگر به پیش ببرد. اما تمرکز ما در این مقاله بر روی یک پیشرفت بینظیر یعنی امضاهای آستانه ایمن و کارآمد (TSS) خواهد بود.
محاسبات چند جانبه و امضای آستانه
محاسبات چند جانبه (MPC) شاخهای از رمزنگاری است که تقریبا 40 سال پیش با کار اصلی اندرو سی. یائو شروع شد. در محاسبات چند جانبه مجموعهای از طرفهایی که به یکدیگر اعتماد ندارند، سعی میکنند یک تابع را به طور مشترک روی ورودیهای خود محاسبه کنند. در عین حال آن ورودیها را خصوصی نگه دارند.
به عنوان مثال، n کارمند یک شرکت را در نظر بگیرید که میخواهند بدانند چه کسی بیشترین حقوق را دریافت میکند. آن هم بدون اینکه حقوق واقعی خود را برای یکدیگر فاش کنند. در اینجا ورودیهای خصوصی حقوق افراد است و خروجی نیز نام کارمند با بالاترین حقوق خواهد بود. با انجام این محاسبات با استفاده از MPC تضمین میشود که حتی دستمزد یک نفر هم در طول محاسبه لو نرود. دو ویژگی اصلی محاسبات چند جانبه همانا صحت و حفظ حریم خصوصی است.
صحت یعنی خروجی تولید شده توسط یک الگوریتم صحیح و طبق انتظارات مجموعهها به دست آید. حفظ حریم خصوصی هم یعنی دادههای ورودی در یک طرف محاسبه مخفی بماند و به طرف دیگر یا خروجی درز نکند.
کاربردهای محاسبات چند جانبه
از محاسبات چند جانبه میتوان برای محاسبه یک امضای دیجیتال به روش توزیع شده استفاده کرد. بیایید ببینیم که چگونه ویژگیهای فوق را میتوان برای امضاهای دیجیتال اعمال کرد. به یاد داشته باشید که برای هر امضای دیجیتال باید سه مرحله زیر را دنبال کرد.
تولید کلید عمومی یا توزیع شده
مرحله اول تولید امضای دیجیتال را میتوان پیچیدهترین آنها به حساب آورد. زیرا باید کلیدی تولید کرد که هم عمومی باشد و هم برای تایید امضاهای خصوصی آینده استفاده شود. اما در عین حال باید یک راز جداگانه نیز برای هر یک از طرفین ایجاد کنیم که آن را سهم مخفی مینامیم. از نظر صحت و حفظ حریم خصوصی، میگوییم که این تابع کلید عمومی یکسانی را برای همه طرفها و یک سهم مخفی متفاوت برای هر یک از آنها به نمایش میگذارد. به این شکل که برای حفظ حریم خصوصی هیچگونه اطلاعات اشتراکی مخفی شدهای بین طرفین درز نکند و صحت کلید عمومی نیز تابعی از سهام مخفی باشد.
ذکر این نکته حائز اهمیت است که تولید کلید توزیع شده را میتوان بهگونهای انجام داد که انواع مختلف ساختارهای دسترسی را امکانپذیر میکند. تنظیم کلی t از n میتواند حداکثر t یا شکست دلخواه در عملیات مربوط به کلید خصوصی را بدون مقاومت و به خطر انداختن n یا امنیت کل شبکه تحمل کند.
تولید امضا
این مرحله شامل ایجاد یک تابع برای تولید امضای دیجیتال خواهد بود. ورودی هر طرف، سهم مخفی آن خواهد بود که به عنوان خروجی مرحله قبل (تولید کلید توزیع شده) ایجاد میشود. همچنین ورودی عمومی که پیامی شناخته شده برای همه است نیز باید امضا شود. خروجی نیز یک امضای دیجیتال خواهد بود که ویژگی حفظ حریم خصوصی را تضمین میکند تا در طول محاسبه هیچ نشت سهام مخفی رخ نداده باشد.
تایید
الگوریتم تایید همانطور که در تنظیمات کلاسیک است انجام میشود. هر کسی که از کلید عمومی آگاهی دارد باید بتواند برای سازگاری با امضاهای تک کلیدی، امضاها را تایید و اعتبارسنجی کند. این دقیقا همان کاری است که گرههای اعتبارسنجی بلاکچین انجام میدهند. طرح امضای آستانه (TSS) نامی است که ما به این ترکیب از تولید کلید توزیع شده (DKG) و امضای توزیع شده میدهیم.
ترکیب امضای آستانه با بلاکچین
تغییر کلاینت بلاکچین برای تولید کلیدها و امضاها با استفاده از TSS روش طبیعی ترکیب این دو مفهوم با یکدیگر محسوب میشود. در اینجا برای اشاره به مجموعه دستورات اجرا شده توسط یک گره کامل از اصطلاح مشتری بلاکچین استفاده میشود. فناوری TSS در عمل به ما این امکان را میدهد که همه دستورات مربوط به کلید خصوصی را با محاسبات توزیع شده جایگزین کنیم.
به زبان ساده، میتوان با تولید یک کلید خصوصی و سپس محاسبه کلید عمومی از کلید خصوصی یک آدرس جدید ایجاد کرد. تنها به این روش میتوان درنهایت ادعا کرد که آدرس جدید بلاکچین از یک کلید عمومی مشتق شده است. برای توضیح بیشتر این موضوع باید مختصری به نحوه ایجاد آدرسهای جدید در طراحی کلاسیک بلاکچین بپردازیم.
تولید آدرسهای جدید در بلاکچین
با استفاده از امضای آستانه مجموعهای از n طرف خواهیم داشت که به طور مشترک کلید عمومی را محاسبه میکنند. در عین حال، هر کدام نیز یک سهم مخفی از کلید خصوصی را در اختیار دارند. اما این اشتراکهای فردی برای طرفهای دیگر آشکار نمیشوند. درواقع میتوان آدرس جدید را به همان روشی که در سیستم سنتی وجود دارد از کلید عمومی نیز استخراج کرد. در عین حال نیازی هم به آگاه کردن اعضای زنجیره بلوکی نسبت به نحوه تولید آدرس وجود ندارد. مزیت این روش در آن است که کلید خصوصی دیگر یک نقطه شکست امنیتی نیست، زیرا هر یک از طرفین فقط یک قسمت از آن را در اختیار دارند.
همین کار را میتوان هنگام امضای معاملات نیز انجام داد. در این مورد، به جای اینکه یک طرف تنها با کلید خصوصی خود امضا کند، یک تولید امضای توزیع شده بین چندین طرف اجرا میشود. بنابراین هر یک از طرفین میتوانند یک امضای معتبر تولید کنند، البته تا زمانی که تعداد زیادی از آنها صادقانه عمل کرده باشند. در اینجا دوباره از محاسبات محلی (نقطه شکست واحد) به یک محاسبات تعاملی و چند جانبه حرکت کردهایم.
امضای آستانه در مقابل مولتی سیگ
برخی از بلاکچینها عملکرد TSS را به عنوان بخش داخلی یا قابل برنامهریزی نرمافزار خود ارائه میدهند. ما این قابلیت را مولتی سیگ یا قابلیت چند امضایی مینامیم. برای درک بهتر تفاوتها میتوان مولتی سیگ را به عنوان یک TSS در لایه کاربردی بلاکچین به حساب آورد. هم مولتی سیگ و هم TSS اساسا در تلاش برای دستیابی به اهدافی مشابه هستند. اما TSS از رمزنگاری خارج از زنجیره استفاده میکند، در حالی که مولتی سیگ روی خود زنجیره اتفاق میافتد.
با این حال، بلاکچین برای رمزگذاری مولتی سیگ به روشی متوسل میشود که ممکن است به حریم خصوصی آسیب برساند. زیرا ساختار دسترسی یا تعداد امضاکنندگان بلاکچین در معرض دید عموم قرار میگیرد. همچنین هزینه یک تراکنش مولتی سیگ بیشتر است، زیرا اطلاعات امضاکنندگان مختلف نیز باید در زنجیره بلوکی ارسال شود. جزئیات امضاکنندگان در پروتکل TSS با یک تراکنش معمولی جمع میشود که هم هزینه را کاهش میدهد و هم حریم خصوصی افراد را حفظ میکند. از سوی دیگر، مولتی سیگ میتواند غیرتعاملی باشد که از مشکل اجرای یک لایه ارتباطی پیچیده بین امضاکنندههای مختلف جلوگیری خواهد کرد.
مولتی سیگ مخصوص بلاکچین است و باید برای هر زنجیره مجددا پیادهسازی شود که در برخی موارد اصلا پشتیبانی نمیشود. برعکس، امضای آستانه بر رمزنگاری خالص متکی است و بنابراین پشتیبانی از آن همیشه امکانپذیر خواهد بود.
امضای آستانه در مقابل شمیر
طرح به اشتراک گذاری مخفی شمیر (Shamir) راهی را برای ذخیره کلید خصوصی به شیوهای توزیع شده فراهم میکند. به طوری که کلید خصوصی کاملا مخفی است و در مکانهای متعددی ذخیره میشود. دو تفاوت عمده بین طرح به اشتراک گذاری مخفی شمیر و TSS وجود دارد.
1. تولید کلید
در شمیر یک طرف به نام فروشنده وجود دارد که مسئول تولید سهام مخفی کلید خصوصی است. به این معنی که کلید خصوصی در زمان تولید خود در یک مکان واحد تولید شده و سپس توسط فروشنده به مکانهای مختلف توزیع میشود. اما در TSS هیچ فروشندهای وجود ندارد. زیرا نقش آن بهگونهای توزیع میشود که کلید خصوصی کامل هرگز در یک مکان واحد نباشد.
2. امضا
در شمیر طرفین باید کلید خصوصی کامل را بازسازی و امضا کنند. بنابراین مجددا و هر بار که نیاز به امضا باشد، یک نقطه شکست نیز پدید میآید. اما امضا در طرح TSS به صورت توزیع شده و بدون بازسازی سهام مخفی انجام میشود. همانطور که میبینیم، TSS کلید خصوصی که نشاندهنده امنیت کل سیستم است، در تمام طول عمر خود هرگز در یک مکان واحد قرار نمیگیرد.
کیف پول امضای آستانه
کیف پول مبتنی بر فناوری TSS کمی متفاوت از کیف پولهای ارز دیجیتال سنتی عمل میکند. به طور معمول، یک کیف پول ساده به تولید عبارت اولیه میپردازد و از آن برای استخراج آدرسها به طور قطعی استفاده میکند. کاربر بعدا میتواند از این ساختار قطعی سلسله مراتبی (HD) استفاده کند تا اولا به کلیدهای خصوصی مربوط به آدرس کیف پول دسترسی پیدا کرده و تراکنشها را با آنها امضا کند. ثانیا برای بازیابی همه کلیدهای کیف پول به عبارت seed متوسل شود.
از سوی دیگر، در یک کیف پول آستانه همه چیز پیچیدهتر رخ خواهد داد. در این نوع از کیف پول هم امکان تولید یک ساختار قطعی سلسله مراتبی (HD) وجود دارد. اما تولید آن باید به صورت توزیع شده و با استفاده از پروتکل محاسبه چند جانبه (MPC) انجام شود. یعنی طرفین باید به طور مشترک در مورد کلید بعدی مورد استفاده تصمیم بگیرند. به عبارت دیگر، هر یک از طرفین یک عبارت اولیه مخصوص به خود خواهد داشت. عبارات seed به طور جداگانه تولید میشوند اما هرگز با هم ترکیب نخواهند شد تا یک طرف به تنهایی نتواند کلیدهای خصوصی را از seed خود استخراج کند.
امنیت کیف پول امضای آستانه
کیف پولهای مبتنی بر امضای آستانه یک ویژگی امنیتی خوب دارند و آن امکان چرخش کلید خصوصی بدون تغییر کلید عمومی و آدرس بلاکچین مربوطه خواهد بود. چرخش کلید خصوصی، همچنین به عنوان اشتراکگذاری مخفی فعال نیز شناخته میشود. این پروتکل MPC میتواند اشتراکهای مخفی را به عنوان ورودی دریافت کرده و مجموعه جدیدی از اشتراکهای مخفی را به صورت خروجی ارائه دهد. اشتراکهای مخفی قدیمی در این روش به مرور زمان حذف شده و موارد جدید با همان روش قبلی جایگزین میشوند.
ساختار امضای آستانه یک بعد و لایه زمانی-مکانی هم به امنیت شبکه اضافه میکند. به این معنی که مهاجم سایبری باید همزمان در چندین مکان مختلف باشد تا به یک کیف پول آستانه حمله کند. بنابراین مهاجم به دلیل ترکیب سهام مخفی قبل و بعد از چرخش، قدرت کافی را برای جعل یک امضا نخواهد داشت.
نقطه ضعف این نوع کیف پول این است که فقدان عبارت seed آن را با سیستمهای کیف پول تک کلیدی ناسازگار میکند. بنابراین مهم است که در نظر بگیریم که کدام احزاب سهام مخفی را در اختیار خواهند داشت.
معماریهای مختلف طرح امضای آستانه
در طرح TSS شاهد چند نوع معماری مختلف خواهیم بود که انعطافپذیری شبکه را افزایش خواهد داد. در اینجا به معماریهای مختلف طرح TSS اشاره کردهایم.
1. برونسپاری
کاربران به سرورهای شبکه اجازه میدهند تا محاسبات را از طرف آنها انجام دهند. برونسپاری میتواند تولید، مدیریت و امضای کلید را به ارائهدهندگان خدماتی بسپارد که مالک داراییها نیستند. اما آنها لایه امنیتی خود را در ازای برخی انگیزههای مالی ارائه میکنند.
مزایای معماری برونسپاری این است که محاسبات سنگین TSS را از دوش کاربر برمیدارد. اما ارائهدهندگان خدمات میتوانند تبانی کرده و داراییهای کاربر را بدزدند. البته این فرض بسیار محال و دور از ذهن است اما در عمل ممکن خواهد بود.
2. استفاده از چندین دستگاه
کاربر در این طرح میتواند TSS را بین دستگاههای مختلف خود توزیع کند. به عنوان مثال، کلید خصوصی بین یک دستگاه اینترنت اشیا، موبایل، لپ تاپ، تبلت و سایر دستگاههای هوشمند کاربر تقسیم خواهد شد. این معماری میتواند کنترل کامل را به خود کاربر بدهد، اما انجام تراکنشها را دشوار میکند. زیرا برای آنلاین شدن و درگیر شدن با محاسبات TSS به تمامی دستگاههای هوشمند خود نیاز خواهید داشت.
3. مدل هیبریدی
در این مدل، برخی از کلیدها توسط ارائهدهندگان خدمات خارجی و برخی دیگر نیز بر روی دستگاههای متعلق به کاربر نگهداری و اجرا خواهند شد. این معماری امضای آستانه نسبت به دو روش دیگر بهترین گزینه در نظر گرفته میشود. زیرا راهی آسان و سریع را برای انجام تراکنشها در اختیار کاربر قرار میدهد، بدون اینکه تراکنشها بدون مجوز کاربر انجام شود.
امضای آستانه و قراردادهای هوشمند
محققان در طول سالهای اخیر کاربردهای زیادی را برای امضای دیجیتال پیدا کردهاند که برخی از آنها بهطور شگفتانگیزی بیاهمیت هستند. همانطور که گفته شد، TSS یک شیوه رمزنگاری اولیه است که میتواند امنیت را تا حد زیادی افزایش دهد. ممکن است بگویید که در زمینه بلاکچین میتوان بسیاری از عملکردها را با رمزنگاری مبتنی بر TSS جایگزین کرد.
برنامههای غیرمتمرکز، راهحلهای مقیاس بندی لایه 2 ، مبادله اتمی، مخلوط کردن، وراثت و بسیاری موارد دیگر را میتوان بر روی یک چارچوب TSS ساخت. این امر درنهایت باعث میشود تا عملیات قراردادهای هوشمند گرانقیمت و پرخطر با جایگزینهای ارزانتر و مطمئنتر جابجا شوند.
برای ارائه چند مثال ملموس میتوان به پروتکلهای Multi-Hop Locks و ShareLock اشاره کرد. راهحل مقیاسپذیری Multi-Hop Locks از امضای دو طرفه به روشی هوشمندانه استفاده میکند. بنابراین میتواند به عنوان جایگزینی برای شبکه لایتنینگ بیت کوین با کانال پرداخت امنتر و خصوصیتر استفاده شود. ShareLock نیز احتمالا ارزانترین راهحل اختلاط زنجیرهای برای اتریوم است که بر اساس تایید یک امضای آستانه واحد پشتیبانی میشود.
خطرات TSS
در چند سال گذشته، افزایش قابل توجهی در پیادهسازی طرح TSS به وجود آمده است. با این حال، TSS به عنوان یک فناوری نسبتا جدید، همچنان محدودیتها و نگرانیهایی هم در پی دارد. مثلا پروتکلهای TSS میتواند در مقایسه با رمزنگاری کلید عمومی کلاسیک، بسیار پیچیده باشد و هنوز آزمایش مقیاس بزرگ خود را پس نداده است.
TSS معمولا در مقایسه با امضای دیجیتال ساده، به مفروضات رمزنگاری اضافی و ضعیفتر نیاز دارد. درنتیجه، بردارهای حمله رمزنگاری که در تنظیمات سنتی وجود نداشتند اکنون در حال کشف هستند. این موضوع در کنفرانس بیت کوین سال 2019 مورد اشاره قرار گرفت. مهندسان امنیتی و رمزنگاران کاربردی میتوانند به استقرار ایمن TSS در سیستم شما کمک کنند. البته پیادهسازیهای جدیدتر امضای آستانه به دلیل افزایش مشارکتهای کیفی، بررسیهای مکرر، ممیزیها و بهبود عملکرد الگوریتمی قویتر خواهند بود.
جمعبندی
در این مقاله، اصول اولیه طرح امضای آستانه (TSS) را معرفی کردیم. این طرح یک روش رمزنگاری بدوی جذاب است که از پتانسیل تغییر قابل توجهی در نحوه استفاده از بلاکچین بهره میبرد. البته در این مقاله به آستانه ECDSA مورد استفاده در زنجیره بایننس و بیت کوین اشارهای نشد. زیرا قصد ما بررسی مفاهیم کلی مرتبط با این طرح جدید بود که امیدواریم برای شما کاربران گرامی فکت کوینز مفید واقع شده باشد.
فکت کوینز مرجع خبر،تحلیل،آموزش رمز ارز
برای دیدن آموزش های رایگان بیشتر،عضو شوید