راهنمای کاربر

GravesZIP v1.0.0 — همان راهنمایی که درون خود برنامه هست

۱. دربارهٔ این راهنما

این راهنما GravesZIP 1.0 را شرح می‌دهد: قالب‌هایی که با آن‌ها کار می‌کند، رفتار رمزگذاری‌اش، آنچه از آن محافظت می‌کند و آنچه نمی‌کند، و شیوهٔ استفاده از هر بخش رابط کاربری. هیچ‌چیز در این راهنما قابلیتی را شرح نمی‌دهد که کار نکند؛ آنچه برنامه‌ریزی شده ولی هنوز نیامده، در پایان بخش رابط کاربری با همین عنوان فهرست شده است.

۲. GravesZIP چیست

یک مدیر بایگانی: پرونده‌ها را در بایگانی بسته‌بندی می‌کند، دوباره بازشان می‌کند، و می‌تواند آنچه را بسته‌بندی می‌کند رمزگذاری کند.

فشرده‌سازی و رمزگذاری را SharpZipLib انجام می‌دهد، کتابخانه‌ای متن‌باز و باسابقه، و اینجا از نو پیاده‌سازی نشده است. بایگانی‌هایی که GravesZIP می‌سازد پرونده‌های ZIP معمولی‌اند: بایگانی رمزگذاری‌نشده در هر چیزی باز می‌شود، از جمله پشتیبانی درونی Windows و macOS از بایگانی. بایگانی رمزگذاری‌شده در هر برنامه‌ای که رمزگذاری AES-256 در ZIP را بفهمد باز می‌شود — 7-Zip، WinZip و دیگران. برخی ابزارهای درونی ZIP، از جمله ابزار خود Windows در نگارش‌های قدیمی‌تر، AES را نمی‌فهمند و نمی‌توانند بایگانی رمزگذاری‌شدهٔ هیچ برنامه‌ای را باز کنند؛ از GravesZIP یا یکی از آن برنامه‌ها استفاده کنید.

هیچ اتصال شبکه‌ای برقرار نمی‌کند. بیانیهٔ حریم خصوصی را ببینید.

۳. قالب‌ها

این انتشار با ZIP کار می‌کند.

zipخوانده و نوشته می‌شود، از جمله بایگانی‌های رمزگذاری‌شده با AES-256.

کل فهرست همین است، و آگاهانه کوتاه است. پیام‌های محافظت‌شده با گذرواژهٔ GravesMail به‌صورت ZIP می‌رسند، هر برنامهٔ بایگانی دیگری می‌تواند ZIP را بخواند، و درست انجام دادن یک قالب بیش از نیمه‌کاره انجام دادن چند قالب می‌ارزد. قالب‌های دیگر افزوده خواهند شد؛ تا آن زمان، این راهنما ادعایی درباره‌شان نمی‌کند.

7z، RAR، tar و بقیه هنوز پشتیبانی نمی‌شوند. GravesZIP نه 7-Zip را در خود دارد و نه به نصب بودن آن نیاز دارد.

۴. باز کردن پیام محافظت‌شده با گذرواژه

پیام محافظت‌شده با گذرواژه از GravesMail به‌صورت پیوستی به نام protected-message.zip می‌رسد. آن را با GravesZIP باز کنید و گذرواژه‌ای را وارد کنید که فرستنده جداگانه به شما داده است — با تلفن یا پیامک، هرگز در خود ایمیل.

درون آن این‌ها را می‌یابید:

message.htmlخودِ پیام. برای خواندن متن، آن را باز کنید.
attachment-01, attachment-02, …پرونده‌هایی که همراه پیام آمده‌اند، با نام‌های خنثی.

نام پیوست‌ها آگاهانه عوض شده است. ZIP درون هر پرونده را رمزگذاری می‌کند، اما فهرست نام‌ها را برای هر کس که بایگانی را در دست داشته باشد خوانا می‌گذارد؛ پس پرونده‌ای به نام «layoff-list.xlsx» پیش از آنکه کسی گذرواژه را بنویسد خودش را لو می‌دهد. نام‌های واقعی در message.html است.

هیچ‌چیز از باز کردن چنین پیامی به شبکه نمی‌رسد، و نه GravesZIP و نه GravesWare هرگز گذرواژه را نمی‌بینند.

۵. رمزگذاری

گذاشتن گذرواژه روی ZIP آن را با AES-256 رمزگذاری می‌کند.

ZIP از دو رمز پشتیبانی می‌کند، و یکی از آن‌ها شکسته شده است. رمز اولیه، ZipCrypto، روی سخت‌افزار معمولی در چند ثانیه در برابر حملهٔ متن آشکارِ معلوم از پا درمی‌آید، و بیشتر ابزارها — از جمله 7-Zip — وقتی برای ZIP گذرواژه می‌گذارید به‌طور پیش‌فرض همان را به کار می‌برند. GravesZIP هرگز از آن استفاده نمی‌کند. تنظیمی برای آن وجود ندارد، چون هیچ وضعیتی نیست که در آن پاسخ درست باشد.

آنچه رمزگذاری نمی‌پوشاند

ZIP نمی‌تواند فهرست پرونده‌های خودش را رمزگذاری کند. نام، اندازه و مُهر زمانی هر چه درون آن است برای هر کس که بایگانی را در دست داشته باشد خوانا می‌ماند، هرچند محتوا خوانا نیست. این محدودیتِ قالب است، نه GravesZIP، و هیچ ابزار ZIP دیگری هم بهتر از این نمی‌تواند.

اگر خود نام‌ها حساس‌اند، پیش از بایگانی کردن نام پرونده‌ها را عوض کنید — و این دقیقاً همان کاری است که GravesMail می‌کند وقتی به‌جای نام واقعی attachment-01 می‌نویسد.

خود پروندهٔ بایگانی هم نام، اندازه و تاریخ تغییر دارد، که هیچ‌کدام رمزگذاری نمی‌شود. بایگانی‌ای به نام «resignation-letter.zip» پیشاپیش بیش از اندازه گفته است.

GravesZIP وانمود نمی‌کند که جز این است. اگر از آن بخواهید ZIP رمزگذاری‌شده‌ای با فهرست پرونده‌های پنهان بسازد، به‌جای آنکه بی‌سروصدا فهرستی خوانا بنویسد، نمی‌پذیرد.

۶. گذرواژه‌ها

گذرواژهٔ فراموش‌شده قابل بازیابی نیست

نه به دست شما، نه به دست GravesWare، نه به دست هیچ‌کس. نه درِ پشتی هست، نه کلید بازیابی و نه بازنشانی. اگر آن را از دست بدهید، بایگانی از دست رفته است. رمزگذاری برای همین است.

پیش از آنکه تنها نسخهٔ چیزی را حذف کنید به این دلیل که حالا در یک بایگانی رمزگذاری‌شده است: نکنید.

انتخاب گذرواژه

همهٔ امنیت در گذرواژه است. نقطه‌ضعف AES-256 نیست و هرگز نخواهد بود؛ گذرواژهٔ قابل‌حدس است.

طول بر پیچیدگی می‌چربد. چند واژهٔ بی‌ربط قوی‌تر از رشته‌ای کوتاه از نویسه‌های جایگزین‌شده‌اند و آسان‌تر هم به یاد می‌مانند. «correct horse battery staple» بسیار بهتر از «P@ssw0rd!» در برابر حدس زدن دوام می‌آورد.

گذرواژه‌ای را که جای دیگری به کار می‌برید دوباره استفاده نکنید. بایگانی ممکن است بیشتر از حسابی که گذرواژه را از آن وام گرفته‌اید عمر کند، و ممکن است سر از جایی درآورد که نمی‌خواستید.

GravesZIP آن را کجا نگه می‌دارد

در حافظه، تا پایان همان عملیات، و نه هیچ جای دیگر. هرگز روی دیسک نوشته نمی‌شود. گزینهٔ «این گذرواژه را به خاطر بسپار» وجود ندارد، و این عمدی است.

برای حدود این محافظت، بیانیهٔ حریم خصوصی را ببینید.

۷. رمزگذاری امضا نیست

گذرواژه ثابت می‌کند هر کس بایگانی را ساخته آن را می‌دانسته است. ثابت نمی‌کند او چه کسی بوده، و ثابت نمی‌کند بایگانی‌ای که دریافت کرده‌اید همانی است که فرستاده‌اند — کسی که گذرواژه را بداند می‌تواند بایگانی دیگری بسازد که به همان خوبی با آن باز شود.

رمزگذاری نمی‌گذارد محتوا خوانده شود. اینکه چه کسی چیزی را ساخته مسئله‌ای جداست، و این برنامه آن را حل نمی‌کند.

۸. استخراج ایمن

بایگانی‌ای که از کس دیگری رسیده ورودیِ غیرقابل‌اعتماد است.

GravesZIP هیچ پرونده‌ای را بیرون از پوشه‌ای که انتخاب می‌کنید نمی‌نویسد. بایگانی‌هایی هستند که مسیرهایی مانند «../../.ssh/authorized_keys» را در خود دارند تا استخراج‌کنندهٔ بی‌دقت هر جا که مسیر نشان می‌دهد بنویسد. GravesZIP این‌ها را یکسره رد می‌کند و به‌جای رد شدن از آن مدخل، استخراج را متوقف می‌کند، پس بایگانی مخرب نمی‌تواند نیمه‌کاره بنشیند.

GravesZIP آنچه را استخراج می‌کند برای بدافزار پویش نمی‌کند. این کارِ نرم‌افزار ضدویروس شماست.

۹. آزمایش بایگانی

پرونده > آزمایش بایگانی هر مدخل را از حالت فشرده درمی‌آورد و با مجموع مقابله‌ای ذخیره‌شده همراهش می‌سنجد، بدون آنکه چیزی روی دیسک نوشته شود. تأیید می‌کند که بایگانی سالم است و، برای بایگانی رمزگذاری‌شده، که گذرواژه درست است. اگر گذرواژه لازم باشد آن را می‌پرسد، و اگر گذرواژهٔ داده‌شده نادرست باشد دوباره می‌پرسد.

پاسخ به زبان ساده برمی‌گردد: یا همهٔ موارد بررسی شده و بایگانی سالم است، یا دست‌کم یک مورد با مجموع مقابله‌ای‌اش نمی‌خواند و بایگانی آسیب دیده است. بایگانی آسیب‌دیده شاید هنوز با «استخراج موارد انتخاب‌شده» برخی از پرونده‌هایش را پس بدهد؛ اگر می‌توانید، نسخهٔ تازه‌ای از آن بگیرید.

تأیید نمی‌کند که بایگانی از کجا آمده یا چه کسی آن را ساخته است.

نتیجهٔ «آزمایش بایگانی» در GravesZIP، که گزارش می‌دهد همهٔ موارد بررسی شده و بایگانی سالم است.
حکم «آزمایش بایگانی»، به زبان ساده.

۱۰. رابط کاربری

پنجره

وقتی هیچ بایگانی‌ای باز نیست، پنجره «باز کردن» و «بایگانی جدید» را به‌صورت دکمه پیش می‌گذارد. وقتی بایگانی‌ای باز است، آنچه را درونش هست فهرست می‌کند: نام و پوشهٔ هر مورد، اندازه‌اش و زمان آخرین تغییرش، به ترتیب الفبا. قفلِ کنار یک ردیف یعنی محتوای آن مورد رمزگذاری شده است.

همهٔ عمل‌های بایگانی در منوی «پرونده» هست، و همین عمل‌ها در منوی راست‌کلیک هم هست: هر جای پنجره راست‌کلیک کنید، یا Shift+F10 یا کلید Menu را بزنید. عمل‌هایی که به بایگانیِ باز یا به انتخاب نیاز دارند، تا وقتی یکی نباشد خاکستری‌اند.

باز کردن بایگانی

پرونده > باز کردن، یا مسیر بایگانی را در خط فرمان بدهید — و این همان چیزی است که رخ می‌دهد وقتی GravesZIP برنامهٔ پرونده‌های ‎.zip تعیین شده باشد، یا وقتی بایگانی‌ای روی نشانهٔ آن رها شود. نسخهٔ Microsoft Store خودش را در فهرست «باز کردن با» در Windows برای پرونده‌های ‎.zip پیشنهاد می‌کند.

فهرست بی‌درنگ ظاهر می‌شود، حتی برای بایگانی رمزگذاری‌شده. این رخنهٔ امنیتی نیست: نمایهٔ ZIP رمزگذاری نمی‌شود، پس نام‌ها، اندازه‌ها و تاریخ‌ها برای هر کس که پرونده را در دست داشته باشد خواناست.

استخراج

پرونده > استخراج همه همه‌چیز را باز می‌کند. پرونده > استخراج موارد انتخاب‌شده فقط ردیف‌هایی را باز می‌کند که انتخاب کرده‌اید — روی یکی کلیک کنید، و برای انتخاب بیشتر Ctrl+کلیک یا Shift+کلیک کنید. انتخاب ردیف یک پوشه هر چه را درون آن پوشه است با خود می‌آورد.

در هر دو حالت، انتخاب کنید پرونده‌ها کجا گذاشته شوند. بایگانی رمزگذاری‌شده همین‌جا گذرواژه‌اش را می‌پرسد، چون این نخستین جایی است که واقعاً به آن نیاز است. اگر گذرواژه نادرست باشد، GravesZIP به‌جای ناکام گذاشتن کل عملیات همین را می‌گوید و دوباره می‌پرسد.

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

آزمایش

پرونده > آزمایش بایگانی. بخش آزمایش بایگانی را در بالا ببینید.

ایجاد بایگانی

پرونده > بایگانی جدید. پرونده‌ها و پوشه‌هایی را که می‌خواهید اضافه کنید؛ هر کدام با نامش فهرست می‌شود و پوشه‌ای که از آن آمده زیرش می‌آید. میزان فشرده‌سازی را انتخاب کنید و، اگر خواستید، گذرواژه بگذارید. پوشه به‌طور کامل افزوده می‌شود، با هر چه زیر آن است، و نام خودش را درون بایگانی نگه می‌دارد.

فشرده‌سازی به‌جای مقیاسی نُه‌پله‌ای سه تنظیم دارد:

هیچ‌کدامپرونده‌ها همان‌گونه که هستند ذخیره می‌شوند. سریع‌ترین حالت، و انتخابی به‌جا برای چیزهایی که از پیش فشرده‌اند — عکس، ویدیو، یا بایگانی درون بایگانی — که فشردنشان سودی ندارد و فقط وقت می‌گیرد.
معمولیپیش‌فرض معقول.
بیشینهکوچک‌تر، کندتر. سودش نسبت به «معمولی» بیشتر وقت‌ها ناچیز است؛ زمانش نه.

برای بایگانی معمولی، گذرواژه را خالی بگذارید. اگر گذرواژه‌ای بنویسید، کادر دومی برای تأیید آن پدیدار می‌شود، چون گذرواژه قابل بازیابی نیست: گذرواژه‌ای که اشتباه تایپ شده باشد بایگانی را از همان لحظهٔ نوشته شدن ناخوانا می‌کند، و بعداً هیچ‌چیز نمی‌تواند این را به شما بگوید. یادآوری اینکه نام پرونده‌ها خوانا می‌ماند هم همراه آن نمایش داده می‌شود.

بایگانی به‌محض نوشته شدن باز می‌شود، تا به‌جای اعتماد چشم‌بسته ببینید چه چیزی در آن رفته است.

پنجرهٔ «بایگانی جدید» در GravesZIP با پرونده‌هایی که افزوده شده، فشرده‌سازی «معمولی» که انتخاب شده، و گذرواژه‌ای که نوشته و تأیید شده است.
بایگانی جدید، با پرونده‌های افزوده‌شده و گذرواژهٔ تنظیم‌شده.

بستن

پرونده > بستن بایگانی. گذرواژه در همان لحظه از حافظه پاک می‌شود و تا بسته شدن برنامه در آن نمی‌ماند.

میان‌برهای صفحه‌کلید

در Windows و Linux این میان‌برها با Ctrl هستند؛ در Mac با Command.

Ctrl+Nبایگانی جدید
Ctrl+Oباز کردن
Ctrl+Wبستن بایگانی
Ctrl+Eاستخراج موارد انتخاب‌شده
Ctrl+Shift+Eاستخراج همه
Ctrl+Tآزمایش بایگانی
Shift+F10منوی راست‌کلیک (کلید Menu هم همین کار را می‌کند)

خود منوها با Alt و حرف زیرخط‌دار باز می‌شوند: Alt+F برای «پرونده»، Alt+H برای «راهنما».

آنچه هنوز اینجا نیست

باز کردن پرونده‌ای از درون بایگانی بدون استخراج آن، افزودن پرونده به بایگانی‌ای که از پیش وجود دارد، و قالب‌هایی جز ZIP.

۱۱. زبان‌ها

GravesZIP به ۵۵ زبان عرضه می‌شود. یکی را از راهنما > زبان انتخاب کنید؛ فهرست هر زبان را به خط خودش نام می‌برد و زبان کنونی علامت خورده است.

انگلیسی (از جمله املای بریتانیایی و استرالیایی)، اسپانیایی (اسپانیا و آمریکای لاتین)، فرانسوی، آلمانی (از جمله سوئیسی)، پرتغالی (اروپایی و برزیلی)، ایتالیایی، لهستانی، ترکی، ویتنامی، اندونزیایی، فیلیپینی، هلندی، سوئدی، فنلاندی، رومانیایی، کرواتی، بوسنیایی، صربی (لاتین و سیریلیک)، مالایی، سواحیلی، یوروبایی، ایگبویی، ازبکی، یونانی، روسی، اوکراینی، چینی ساده‌شده، چینی سنتی (هنگ‌کنگ)، ژاپنی، کره‌ای، تایلندی، هندی، بنگالی، تامیلی، پنجابی، مراتی، نپالی، گجراتی، اودیا، تلوگویی، کانارایی، مالایالامی، امهری، عربی (از جمله مصری)، فارسی، اردو، سندی و اویغوری.

این انتخاب با راه‌اندازی دوبارهٔ GravesZIP اعمال می‌شود. این راهی برای دور زدن یک محدودیت نیست: هر پنجره زبان را هنگام ساخته‌شدن می‌خواند و جهت چپ‌به‌راست یا راست‌به‌چپ آن در همان لحظه ثابت می‌شود؛ پس تغییر زبان زیر پنجره‌ای که از پیش روی صفحه است، آن را نیمه‌ترجمه‌شده و در جهت نادرست باقی می‌گذاشت.

تا وقتی خودتان زبانی انتخاب نکرده‌اید، GravesZIP از زبان سیستم‌عامل شما پیروی می‌کند.

در عربی، فارسی، اردو، سندی و اویغوری رابط کاربری راست‌به‌چپ چیده می‌شود. محتویات بایگانی قرینه نمی‌شود: مسیری مانند «docs/report.txt» در هر زبانی جهت خود را نگه می‌دارد، چون جداکننده یعنی آنچه در چپ است، آنچه را در راست است دربر دارد. نام پرونده‌ها و پوشه‌ها به هر خطی که باشد، همچنان در فهرست درست نمایش داده می‌شود.

۱۲. دسترس‌پذیری

GravesZIP طوری ساخته شده است که بدون بینایی هم بتوان از آن استفاده کرد.

صفحه‌خوان‌ها

هر کنترلی که بتوان با آن کار کرد نامی دارد که صفحه‌خوان می‌تواند آن را اعلام کند، از جمله پانل‌های سند در پنجرهٔ «درباره». این موضوع در هر بار ساخت برنامه به‌طور خودکار آزموده می‌شود، نه با بازبینی چشمی؛ کنترلی که نتوان آن را اعلام کرد، ساخت را ناموفق می‌کند.

صفحه‌کلید

منوها با Alt و حرف‌های زیرخط‌دار در دسترس‌اند و با کلیدهای جهت‌نما می‌توان در آن‌ها حرکت کرد. پنجره‌های گفت‌وگو با Escape بسته می‌شوند و دکمهٔ پیش‌فرض آن‌ها به Enter پاسخ می‌دهد.

منوی زبان به‌جای فهرست بازشو از گزینه‌های رادیویی استفاده می‌کند، چون صفحه‌خوان اعلام می‌کند کدام گزینه علامت خورده است. کاربر نابینا به این شیوه می‌شنود که اکنون کدام زبان در کار است و ناچار نیست آن را حدس بزند.

رنگ و تباین

GravesZIP رنگ‌های GravesWare را بر تن دارد، در یک نسخهٔ روشن و یک نسخهٔ تیره که از تنظیم روشن یا تیرهٔ سیستم شما پیروی می‌کنند. هر متنی در آن‌ها با استاندارد تباین WCAG AA یعنی 4.5 به 1 سازگار است و اگر تغییری یکی از آن‌ها را از این حد پایین‌تر بیاورد، یک آزمون خودکار ساخت را ناموفق می‌کند. هیچ چیز فقط با رنگ بیان نمی‌شود: ردیف رمزگذاری‌شده قفل خودش را دارد و صفحه‌خوان می‌گوید «رمزگذاری‌شده».

وقتی سیستم شما روی تباین بالا تنظیم شده باشد، GravesZIP رنگ‌های خودش را کنار می‌گذارد و به‌جای آن از پوستهٔ سادهٔ سیستم استفاده می‌کند. شما آن رنگ‌ها را برگزیده‌اید چون به آن‌ها نیاز دارید، و برنامه‌ای که روی این انتخاب رنگ خودش را بزند، خواندن خودش را دشوارتر کرده است.

اندازه

دکمه‌ها و کادرهای متن دست‌کم ۴۴ پیکسل ارتفاع دارند؛ کمترین اندازهٔ راحت برای نشانگر، انگشت یا دستی که می‌لرزد. GravesZIP به Windows اعلام می‌کند که از مقیاس‌بندی نمایشگر آگاه است، پس در ۱۵۰٪ یا ۲۰۰٪ واضح می‌ماند و کشیده و تار نمی‌شود.

۱۳. پشتیبانی

GravesWare, LLC
support@gravesware.com

این نشانی در صفحهٔ «درباره» هم هست (راهنما > دربارهٔ GravesZIP)، همراه با دکمهٔ «ایمیل به پشتیبانی» که برنامهٔ ایمیل خودتان را باز می‌کند و نشانی و نگارش برنامه را از پیش در آن می‌نویسد. تا خودتان نفرستید، چیزی فرستاده نمی‌شود.

لطفاً بگویید کدام نگارش را اجرا می‌کنید (پنجرهٔ «درباره» آن را نشان می‌دهد) و با کدام سیستم‌عامل. برای هر موضوعی که به بایگانی رمزگذاری‌شده مربوط است، نه بایگانی را بفرستید و نه گذرواژه را.