پرش به مستندات
پایگاه دانش

رمزگذاری در حالت سکون

هر فیلد یک پیام پیش از آنکه نوشته شود مهروموم می‌شود (متن، موضوع، نشانی‌ها و بایت‌های پیوست)، تا یک نسخه از پایگاه داده به‌جای ایمیل، متن رمزشده باشد.

هنوز نه

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

جزئیات

  • عرضه نشده است. فقط یک چیز پیش از آنکه نوشته شود مهروموم می‌شود و بس: کلید مخفی امضای وب‌هوک. این مقدار زیر کلید مشتق‌شدهٔ خودش مهروموم می‌شود تا متن رمزشده‌ای که از یک جدول برداشته شده به‌عنوان مقداری دیگر باز نشود، و این تنها جایی در کدبیس است که اصلاً چیزی مهروموم می‌شود. هیچ متن، موضوع، مخاطب، یادداشت، رویداد تقویم یا پیوستی از آن عبور نمی‌کند.
  • این ادعا با دو ادعای کناری‌اش فرق دارد، و تفاوت در این است که کلید دست کیست. رمزگذاری سرتاسری یعنی کلید مال شماست و ایمیل اینجا خوانا نیست؛ رمزگذاری در حالت سکون یعنی ایمیل در مسیر ورود به فضای ذخیره‌سازی زیر کلیدی که همین سرور مشتق می‌کند مهروموم می‌شود، تا یک خروجی کامل از پایگاه داده، یک نسخهٔ پشتیبان که گم می‌شود، یا کوئری‌ای که کسی نباید اجرایش می‌کرد، متن رمزشده باشد، در حالی که خود سرور هنوز می‌تواند آن را برای رشته‌بندی، جست‌وجو و خلاصه‌سازی باز کند. اولی شما را در برابر ما محافظت می‌کند. دومی شما را در برابر بقیه محافظت می‌کند، و همین است که مدام بر سر دیگران می‌آید.
  • آنچه امروز درست است ارزش دارد که صریح گفته شود، نه اینکه به استنباط واگذار گردد: ایمیل روی زیرساختی ذخیره می‌شود که دیسک‌های خودش را رمزگذاری می‌کند، هیچ لایه‌ای از خودمان روی آن نیست، و کلیدها دست ماست؛ پس سرور می‌تواند آنچه را ذخیره می‌کند بخواند، و قابلیت‌هایی که ایمیل شما را جست‌وجو و خلاصه می‌کنند دقیقاً همین کار را می‌کنند. صفحهٔ حریم خصوصی از زمان نگارشش همین را با همین کلمات گفته و تا وقتی این قابلیت عرضه شود همچنان می‌گوید.
  • «هر فیلد» یعنی چیزی بیشتر از متن پیام. موضوع، فهرست فرستنده و گیرندگان، و تکه‌متنی که نمای فهرست نشان می‌دهد، در ستون‌های نمایه‌شدهٔ معمولی می‌نشینند؛ و همین‌طور خلاصه‌هایی که از یک پیام ساخته می‌شوند، یادداشت‌هایی که به یک رشته می‌چسبانید، نام مخاطبان، عنوان و مکان رویدادهای تقویم، و نام و نوع هر فایل. کارتی که بنویسد رمزگذاری‌شده در حالی که خط موضوع بدون رمز بماند، همان قفلی است که این محصول در هیچ جای دیگری حاضر به کشیدنش نیست.
  • هزینهٔ آن پرسش باز بود، و حالا نیمهٔ مربوط به جست‌وجو به‌جای استدلال، عددی در برابرش دارد. جست‌وجو امروز کوئری‌ای است روی 4,000 نویسهٔ نخست جدیدترین پیام هر رشته که به‌صورت متن ساده نگه‌داری می‌شود. در حالت مهروموم، این کار به یک رمزگشایی و پویش درون انبار صندوق تبدیل می‌شود که از پیش کلید را در اختیار دارد و به‌جای ردیف‌به‌ردیف، تکه‌تکه انجام می‌شود: روی یک مجموعهٔ ساختگی، حدود 100 تا 400 میلی‌ثانیه در 50,000 رشته، و از حدود 200,000 به بالا نتایج باید به‌تدریج برسند نه یکجا. این اندازه‌گیری روی یک دستگاه توسعه و با ایمیل تولیدشده انجام شده، نه روی یک صندوق واقعی؛ پس شکل کلی هزینه است، نه وعده‌ای دربارهٔ صندوق شما. بدین ترتیب تطبیق روی هر تکه از یک واژه دقیقاً مثل امروز باقی می‌ماند، و لازم نیست نمایه‌ای از هش واژه‌ها روی دیسک نوشته شود تا بعداً کسی آن را بردارد. همین متن است که خلاصه‌ساز، مرحلهٔ بررسی متنِ امتیازدهندهٔ فیشینگ، بررسی نوشتار هوش مصنوعی و هر قاعده‌ای که روی واژه‌ها تطبیق می‌دهد می‌خوانند، و هر کدام به همان شیوه بازش می‌کنند؛ و این شکل صادقانهٔ این ادعاست: مهروموم در برابر یک کپی از پایگاه داده، هرگز مهروموم در برابر خود سرور.
  • پیش از آنکه چیز جبران‌ناپذیری مهروموم شود، پاکت باید نسخه و شناسهٔ کلید خودش را حمل کند. امروز همهٔ کلیدهای مشتق‌شده به یک راز واحد آویخته‌اند و چرخاندن آن به قیمت از دست رفتن کلیدهای امضای وب‌هوک تمام می‌شود؛ اگر متن پیام‌ها هم به همان شکل مهروموم شوند، چرخاندن آن به قیمت از دست رفتن ایمیل‌ها تمام خواهد شد. آن قطعه ساخته شده و هیچ‌چیز با آن مهروموم نشده است. هر پاکتی که می‌سازد نسخهٔ خودش و شناسهٔ کلیدی را که آن را ساخته حمل می‌کند، به‌گونه‌ای که پیش از تلاش برای باز کردن خوانا باشد، و خودش را به همان ردیفی که به آن تعلق دارد گره می‌زند: مقداری که از یک ردیف برداشته و در ردیفی دیگر گذاشته شود باز نمی‌شود و می‌گوید جابه‌جا شده است، نه اینکه مثل یک کلید نادرست شکست بخورد. هنوز هیچ‌چیز آن را فراخوانی نمی‌کند، و نکتهٔ ساختن زودهنگامش همین است. قالب، تعهد است؛ پذیرفتنش، فیلد به فیلد، همان بخشی است که برگشت‌پذیر می‌ماند.
  • یک جمله تعیین می‌کند چه چیزی مهروموم می‌شود، تا بتوان آن را بر ستونی هم که هنوز کسی به آن فکر نکرده اعمال کرد: هر چیزی را که یک انسان نوشته یا انتخاب کرده مهروموم کن، و هر چیزی را که ماشین انتخاب کرده رها کن. یک موضوع، یک متن پیام، یادداشت یک رشته، نام یک مخاطب، عنوان یک رویداد تقویم، نام یک فایل، قاعده‌ای که خودتان تایپ کرده‌اید: این‌ها از شما آمده‌اند. شناسهٔ یک پیام، وضعیت یک صف، شمارش تلاش مجدد، شناسهٔ یک ردیف: این‌ها همین‌جا تولید شده‌اند، و مهروموم‌کردنشان هیچ سودی ندارد در حالی که برای هر کوئری‌ای که آن‌ها را می‌خواند هزینه دارد. دو استثنا روی این قاعده می‌نشیند. مقداری که از پیش بازگشت‌ناپذیر است، یک هش یا چکیدهٔ یک توکن، با مهروموم‌شدن امن‌تر نمی‌شود. مقداری که عمداً منتشر شده خوانا می‌ماند، چون مهروموم‌کردنش همان تنها چیزی را می‌بندد که اصلاً برای تحویل‌دادن وجود دارد.
  • زیر این قاعده سه چیز خوانا می‌مانند، و هر کدام چیزی است که صندوق بر آن بنا شده، نه گوشه‌ای که ناتمام مانده باشد. برچسب‌های زمانی، چون کلید مرتب‌سازی و مکان‌نمای صفحه‌بندی‌اند، و صندوقی که نتواند بر اساس تاریخ مرتب کند صندوق نیست. دامنهٔ شما، چون کوئری‌ای که آن را می‌خواند همان راهی است که یک پیام ورودی مستأجر خودش را با آن پیدا می‌کند، پیش از آنکه کسی وارد شده باشد و پیش از آنکه کلیدی در دست باشد. کلیدهای منتشرشده، چون فرستنده کلید شما را جست‌وجو می‌کند. هر یک از این‌ها چیزی دربارهٔ شکل یک حساب می‌گوید و هیچ‌کدام محتوای ایمیل شما نیست.
  • مهروموم‌کردن زیر کلیدی که سرور مشتق می‌کند پلهٔ اول است و همان چیزی است که در دست ساخت است. پلهٔ دوم، یعنی مهروموم‌کردن با کلید شما در همان لحظهٔ رسیدن ایمیل، به‌گونه‌ای که هیچ کلیدی اینجا بازش نکند، تغییری بزرگ‌تر و محصولی متفاوت است: متن پیام برای همیشه از جست‌وجو و قابلیت‌های هوش مصنوعی بیرون می‌رود، و نگه‌داری کلید و یک عبارت بازیابی میان شما و ایمیل خودتان قرار می‌گیرد. این انتخابی است که باید آگاهانه گرفته شود، نه کلیدی که فقط بزنید؛ و این کارت خواهد گفت کدام‌یک عرضه شده است، به‌جای آنکه این دو را در هم مبهم کند.