مفاهیم کلیدی را در Tink درک کنید

وقتی برای اولین بار با Tink شروع به کار می‌کنید، مفاهیم کلیدی وجود دارد که باید قبل از شروع سفر خود آنها را درک کنید؛ این مفاهیم در بخش‌های بعدی توضیح داده شده‌اند.

موجودات اولیه

تینک از عناصر اولیه به عنوان بلوک‌های سازنده رمزنگاری استفاده می‌کند که یک الگوریتم زیربنایی را مدیریت می‌کنند تا کاربران بتوانند وظایف رمزنگاری را با خیال راحت انجام دهند. یک عنصر اولیه جزئیات یک الگوریتم رمزنگاری و نوع کلید را تعریف می‌کند.

انواع کلید

یک نوع کلید، یک نوع داده اولیه خاص را پیاده‌سازی می‌کند. اکثر انواع داده اولیه، بسته به نیازهای شما برای امنیت، زمان اجرا و فضا، چندین نوع کلید برای انتخاب دارند. به عنوان مثال، AES128_GCM یک AEAD است که برای اکثر نیازها سریع و مؤثر است. برای اطلاعات بیشتر به انواع کلید پشتیبانی شده بر اساس زبان مراجعه کنید.

مجموعه کلیدها و دسته‌های مجموعه کلید

تینک از مجموعه کلیدها برای مدیریت کلیدها استفاده می‌کند. یک مجموعه کلید اساساً مجموعه‌ای از کلیدها است که چرخش کلید را تسهیل می‌کند. ویژگی‌های قابل توجه یک مجموعه کلید عبارتند از:

  • هر کلید در یک مجموعه کلید، یک شناسه منحصر به فرد دارد که در داخل یک مجموعه کلید، منحصر به فرد است. این شناسه معمولاً به عنوان پیشوندی به هر متن رمزی، امضا یا برچسب تولید شده اضافه می‌شود تا نشان دهد از کدام کلید استفاده شده است (برای اطلاعات بیشتر به نحوه برچسب‌گذاری متن‌های رمزی توسط Tink مراجعه کنید).
  • فقط یک کلید در هر زمان در یک مجموعه کلید، کلید اصلی است. کلید اصلی در یک مجموعه کلید، کلیدی است که در حال حاضر "در حال استفاده" است.
  • تمام کلیدهای موجود در یک مجموعه کلید باید پیاده‌سازی‌هایی از یک نوع داده اولیه (مانند AEAD) باشند، اما می‌توانند انواع کلید متفاوتی داشته باشند (برای مثال، یک کلید AES-GCM و XCHACHA20-POLY1305).

هر پیاده‌سازی Tink رابط‌های برنامه‌نویسی کاربردی (API) برای ایجاد یا ویرایش مجموعه کلیدها ارائه می‌دهد. با این حال، توصیه می‌کنیم از ابزار خط فرمان (CLI) Tinkey استفاده کنید.

کاربران با استفاده از دستگیره‌های مجموعه کلید ، روی یک مجموعه کلید کار می‌کنند. یک دستگیره مجموعه کلید، افشای ماده کلید حساس واقعی را محدود می‌کند. همچنین یک مجموعه کلید را انتزاعی می‌کند و به کاربران اجازه می‌دهد تا یک اولیه را که کل مجموعه کلید را "در بر می‌گیرد" به دست آورند. به عنوان مثال، می‌توانید یک اولیه AEAD از یک مجموعه کلید با N کلید دریافت کنید. رمزگذاری و رمزگشایی با اولیه به دست آمده و سپس از کلید اصلی در مجموعه کلید استفاده می‌کند.

برای اطلاعات بیشتر، به طراحی مجموعه کلید مراجعه کنید.