ابزار رایگان

تقسیم راز به چند بخش

عبارت seed یک تناقض دارد: یک نسخه گم می‌شود، چند نسخه یعنی هر کدام یک خطر اضافه. این صفحه راز را طوری به چند بخش می‌برد که هر K بخش لازم از آن‌ها راز را برمی‌گردانند و تعداد کمتر چیزی درباره‌اش نمی‌گوید. سه بخش پیش سه نفر نزدیک، هر دو تایی بازیابی می‌کنند، و هیچ‌کدام به‌تنهایی نمی‌توانند کاری بکنند.

همه‌چیز در مرورگر حساب می‌شود: نه راز و نه بخش‌ها جایی فرستاده نمی‌شوند.

نه راز و نه بخش‌ها جایی فرستاده نمی‌شوند: تمام ریاضیات در همین تب حساب می‌شود.

چطور کار می‌کند

طرح شامیر. هر بایت راز در یک چندجمله‌ای پنهان می‌شود: جملهٔ ثابت برابر خود بایت است، بقیهٔ ضریب‌ها تصادفی‌اند و درجه یکی کمتر از آستانه است. بخش شمارهٔ x مقدار چندجمله‌ای در نقطهٔ x است. از هر K نقطه دقیقاً یک چندجمله‌ای با درجهٔ لازم می‌گذرد، پس K بخش بایت اصلی را یکتا می‌دهند. اما از K−1 نقطه بی‌نهایت چندجمله‌ای از این دست می‌گذرد و همهٔ جمله‌های ثابت هم‌احتمال‌اند؛ برای همین تعداد کمتر بخش‌ها اصلاً چیزی نمی‌گوید.

همه‌چیز در میدان GF(256) حساب می‌شود؛ همان که داخل AES است. بایت‌ها بایت می‌مانند، بخش‌ها کوتاه از آب درمی‌آیند و نوشتنشان روی کاغذ واقعاً شدنی است.

چطور از آن به شکل عملی استفاده کنیم

کارآمدترین طرح برای نگهداری خانگی: سه بخش با آستانهٔ دو. یکی پیش شما، یکی پیش یک خویشاوند، یکی در صندوق امانات بانک یا پیش نفر نزدیک دوم. مال خودتان گم شد؟ با دو تای باقی‌مانده بازیابی می‌کنید. یکی دزدیده شد؟ دزد هیچ چیزی ندارد، حتی سرنخ.

چه کاری نباید کرد: دو بخش را در یک جا نگه داشتن (همان نگه داشتن یک نسخه است) و آستانه را برابر تعداد بخش‌ها گذاشتن (آن‌وقت گم شدن هر بخشی یعنی از دست رفتن راز).

در همین نزدیکی: بررسی عبارت seed, رمزگذاری فایل با رمز عبور و رمزگذاری متن.

هیچ‌کدام از این‌ها را نگه نمی‌داریم

نه رازها، نه بخش‌ها، نه رمزها؛ مثل لاگ بازدید در خود VPN. چیزی برای تحویل دادن نیست.

چطور کار می‌کند ←

پرسش‌های پرتکرار

guest@404vpn:~$ cat secret-split-faq.md
[01] $ این از اینکه عبارت را به سه تکه ببریم چه بهتر است؟
> در اینکه تکه‌ای از عبارت معمولی خودش بخشی از جواب است: با هشت کلمه از دوازده تا، بقیه را پیدا می‌کنند. اینجا هر بخش به‌تنهایی چیزی دربارهٔ راز نمی‌گوید: تا تعداد لازم بخش‌ها جمع نشده، حتی طول متن اصلی را هم نمی‌شود با اطمینان فهمید. این ویژگی ریاضی طرح است، نه قول.
[02] $ چند بخش بسازم و چند تا لازم باشد؟
> برای نگهداری خانگی معمولاً سه بخش با آستانهٔ دو می‌گیرند: یکی گم شد، همچنان بازیابی می‌کنید؛ یکی دزدیده شد، دزد چیزی به دست نمی‌آورد. آستانهٔ برابر با تعداد بخش‌ها (سه از سه) خطرناک است: گم شدن هر بخشی یعنی از دست رفتن راز برای همیشه.
[03] $ بخش‌ها را کجا نگه دارم؟
> جدا و در جاهای مختلف؛ کل معنا همین است. دو بخش در یک گاوصندوق بهتر از یک نسخه نیست. بخش‌ها را می‌شود روی کاغذ نوشت: کوتاه‌اند و از حروف و رقم‌های معمولی ساخته شده‌اند.
[04] $ اگر بخشی خراب باشد یا مال راز دیگری باشد چه؟
> متوجه می‌شویم. پیش از بریدن، دو بایت از هش راز به آن اضافه می‌شود و هنگام جمع کردن بررسی می‌شوند. اگر بخش‌ها از یک راز نباشند یا یکی خراب باشد، صفحه این را می‌گوید، نه اینکه آشغالی باورپذیر تحویل بدهد.
[05] $ راز من را می‌بینید؟
> نه. صفحه هنگام بریدن و جمع کردن حتی یک درخواست شبکه‌ای نمی‌فرستد؛ تمام ریاضیات در تب شما انجام می‌شود. در تب Network ابزار توسعه‌دهنده دیده می‌شود.