trusted timestamping – اثبات دارا بودن اطلاعاتی در زمانی معین

تاحالا شده به این احساس نیاز کنید که بتونید ثابت کنید در فلان تاریخ شما دارای اسناد/اطلاعات خاصی بودید؟

منظورم چیه.
مثلا فرض کنید شما یه الگوریتم جدید فوق خفن پفن اختراع میکنید، بعد میخواید اونو بنام خودتون ثبت کنید، ولی میترسید از اینکه در این فرایند اختراع شما رو بدزدن و بعدا نتونید ثابت کنید که شما مخترع واقعی اون بودید!
یا شاید میخواید چیزی رو بصورت عمومی منتشر کنید، مثلا از طریق سایت خودتون یا سایتهای دیگری، ولی میخواید بعدا اگر لازم شد بتونید ثابت کنید که شما قبل از زمانیکه هرکس دیگری بتونه ثابت کنه، مالک اون اطلاعات بودید.

یا فرض کنید نمیخواید چیزی رو به زودی منتشر کنید، ولی میخواید یه زمانی اگر خواستید بتونید ثابت کنید که آره آقا مثلا 5 سال قبل من این الگوریتم رو نوشته بودم، یا فلان شعر رو گفته بودم، فلان اسناد رو در اختیار داشتم و غیره.

برای این چه راه حلی هست؟

خب راه حلش چیزی هست بنام trusted timestamping.

در این روش شما اطلاعات خودتون رو در فایل یا فایلهایی وارد میکنید. بعد از اون فایل یا فایلها یک هش SHA-256 میگیرید. این هش رو به سایتهایی که سرویس Trusted timestamping میدید و اونا بهتون یک امضای دیجیتال میدن. درواقع اون هش شما همراه با زمان جاری و احتمالا یکسری اطلاعات جانبی دیگر رو با کلید خصوصی خودشون امضاء دیجیتال میکنن. شما باید این امضای دیجیتال رو که ثابت میکنه در اون تاریخ شما اون هش رو به سرویس دادید نگه دارید.

به این شکل شما هر زمانی میتونید ثابت کنید که در فلان تاریخ فلان اسناد رو داشتید، چون تولید کردن اسناد دیگری که همون هش رو تولید کنن در عمل غیرممکنه.
ضمنا برای اطمینان بیشتر میتونید همزمان از چند تا از این سرویسها استفاده کنید تا اگر در آینده اعتبار یکی از اونا به دلایلی (مثلا زیر سوال رفتن درست کاری اونا یا هک شدنشون) مخدوش شد، بتونید به موارد دیگر اتکا کنید. حتی بنظر بنده بعنوان یک آدم مطلع در امور رمزنگاری، حتی میشه از چند نوع هش استفاده کرد تا اگر یک الگوریتم هش در آینده شکسته شد، بشه بر هش هایی که با الگوریتم های دیگری تولید شدن برای اثبات تکیه کرد.

اگر در اینترنت سرچ کنید از این سرویسهای ارائه کنندهء خدمات Trusted timestamping هست. هم پولی و هم مجانی.

البته من بعنوان مثال از هش SHA-256 و امضای دیجیتال صحبت کردم. سیستمهای Trusted timestamping چند نوع دارن که باهم کم و بیش تفاوت میکنن، ولی بهرحال کاربرد همه یکسانه و کم و بیش اصول و طرز کار نسبتا مشابهی دارن. مثلا یک روشی هست که زنجیره ای از هش ها رو محاسبه میکنن و بعد یک هش نهایی رو در جراید عمومی منتشر میکنن! به این شکل میشه بعدا به هش منتشر شده بصورت عمومی استناد کرد ثابت کرد که در فلان تاریخ شما فلان اطلاعات/اسناد رو در اختیار داشتید که هش اونا برابر اون هش منتشر شده بوده.

——————

البته اینم بگم که نگه داشتن اطلاعات اولیه دقیقا بصورتی که موقع هش گرفتن بودن هم مهمه. و روشی که هش گرفتید هم مهمه و باید ازش نگهداری کنید (یادتون نره).
چون مثلا اگر شما یک شعری رو گفتید، بعد حساب کنید فایل اصلی که شعر توش بوده و هش گرفتید رو از دست میدید، حالا اگر بخواید ادعای خودتون رو ثابت کنید باید یک فایل دقیقا با همون محتوا ایجاد کنید و فرضا اگر فقط یک حرف هم مطابق فایل اولیه نباشه، مثلا حساب کنید یک نقطه جابجا بشه، یا حتی یک فاصله جایی کم و زیاد بشه، اونوقت هش بدست آمده کاملا متفاوت خواهد بود و شما با دردسر بزرگی روبرو خواهید شد که شاید هیچوقت نتونید حلش کنید (بخصوص درمورد اسناد حجیم/پیچیده که جزییات زیادی دارن).

راستی ببخشید این مقاله رو کمی با عجله نوشتم زیاد روی دقت جزییاتش وقت صرف نکردم. فقط خواستم بگم چنین چیز جالبی هم از مدتها پیش بوده. برای جزییات دقیقش به منابع مربوطه مراجعه کنید یا سوالی ابهامی داشتید بپرسید اگر وقت داشتم و تونستم جواب میدم.
راستی خیلی وقت پیش بچه هایی بودن که به چنین چیزی نیاز داشتن، ولی بنده اون موقع از وجود این داستان trusted timestamping اطلاع نداشتم، و بخاطر همین یکسری راه حل های شخصی که بنظرم میرسید بهشون پیشنهاد کرده بودم. مثلا من گفته بودم اطلاعات خودتون رو رمز کنید (با یک پسورد خیلی قوی)، مثلا در یک فایل RAR که تاجاییکه میدونم از الگوریتم رمزنگاری AES-256 استفاده میکنه که الگوریتم استاندارد و قوی ای هست، بعد اون فایل رمز شده رو از طریق چند منبع منتشر کنید و به اشتراک بذارید. اینطوری مثلا طرف بعدا اگر به مشکل میخورد و میخواست ثابت کنه که در فلان تاریخ ایشون اون اطلاعات رو منتشر کرده بوده کافی بود که پسورد مورد نظر رو منتشر کنه بگه ایناها برید اون فایل رو که من اون زمان گذاشتم با این پسورد باز کنید. البته بنده همون موقع هم گفته بودم که احتمالا امکانات مخصوصی و مراجعی برای چنین نیازهایی از قبل موجود باشه، ولی نمیدونستم دقیقا چطور و آیا مثلا چطور میشه به خود اون مراجع اطمینان کرد. ولی الان با روشهای trusted timestamping و سرویسهایی که توی اینترنت این نیازها رو پشتیبانی میکنن، عملا تمام مشکلات به نحو خوبی حل شده.

5 دیدگاه در “trusted timestamping – اثبات دارا بودن اطلاعاتی در زمانی معین

  1. به نام خداوند مهرگستر خیلی مهربان
    خواستم همانند برخی اپرا مینی اندروید را دستکاری کنم میزبانش را چیزِ دیگر بگذارم هر کاری کردم با دستکاری گرِ 16 بیتی هگز ادیتور اندرویدی نشد به گمانم پیوند به همین رشته رمزی هش باشد باز همون میزبانِ اپرا را می گذاشتم برنامه درست می شد ،ولش کردم مرا چه به این کارها ، خداوندا تویی که روزی بنده هایت را می رسانی هر چند آنها ناتوان باشند هم تنگ کنی هرچند آنها توانا باشند ما را ببخش

    • نیازی نیست دوست عزیز. در این مقاله یک روش علمی و راحت تر و به گمانم حتی ایمن تر برای این کار معرفی کردم دیگر!
      تازه بنده متوجه نشدم با این روشی که میفرمایید چطور میتوان در هر زمانی این مسئلهء در اختیار داشتن آن اطلاعات در زمان معین را ثابت کرد. میتوانید توضیح دهید؟

      • بله قطعا راه حل شما که جالب و مفید و کاربردی و سهل بود…
        اما توضیح
        به طور مثال وقتی به اداره پست میرید اونجا یه مهری میزنن رو پاکت پستی که سی دی هم داخلش هست و درش رو چسب میزنن … و از اونجا میفرستین منزلتون با نام خودتون…
        این مهری که تاریخ هم روش هست و نامی که روش نوشتین سندی میشه برای
        اینکه بله شما این فایل رو از زمان فلان که مهر نشون میده داشتین….
        فکر کنم برای هر مکان و زمانی قابل استناد خواهد بود …

  2. بازپینگ: علم خوره

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>