ابرووا
شروع رایگان
☰ فهرست مستندات · امنیت و داده

امنیت و داده‌ها

Abrova Auth چه اطلاعاتی از کاربران شما نگه می‌دارد، چطور رمزگذاری می‌شود، رمزهای عبور، توکن‌ها و کدها چطور محافظت می‌شوند، سقف‌ها در برابر حدس زدن و ربات‌ها، گزارش فعالیت، و حذف حساب چطور کار می‌کند.

به‌روزرسانی: ۵ آبان ۱۴۰۵
امنیت و داده‌ها.

Abrova Auth تا جای ممکن کمترین اطلاعات را از کاربران شما نگه می‌دارد، هر چه را که مجبور است نگه دارد رمزگذاری می‌کند، و اطلاعات محرمانه (رمزهای عبور، توکن‌ها، کدها) را فقط به شکلی ذخیره می‌کند که نتوان آن را به مقدار اصلی برگرداند.

چه چیزی ذخیره می‌شود#

دادهچه زمانیچگونه
شناسه‌ی کاربر، زمان ساخت، آخرین فعالیتهمیشهبدون رمزگذاری (شناسه تصادفی است)
روش‌های وصل‌شدههمیشهاینکه کدام روش‌ها، به‌علاوه‌ی یک keyed hash از شناسه‌ی حساب Apple یا Google
آدرس ایمیلایمیل و رمز عبور و لینک یک‌بارمصرف (ایمیل همان شناسه‌ی ورود است)رمزگذاری‌شده، به‌علاوه‌ی یک keyed hash برای پیدا کردن حساب
ایمیل و نام از Apple یا Googleفقط وقتی ذخیره‌ی اطلاعات پروفایل روشن است (به‌طور پیش‌فرض خاموش)رمزگذاری‌شده
شماره تلفنورود با تلگرام (شماره همان شناسه‌ی ورود است)رمزگذاری‌شده، به‌علاوه‌ی یک keyed hash برای پیدا کردن حساب
رمز عبورایمیل و رمز عبورفقط هش یک‌طرفه
refresh tokenها، tokenهای لینک ایمیلی، کدها، nonceهاتا وقتی معتبرندفقط هش

ذخیره‌ی اطلاعات پروفایل را در Abrova Auth › تنظیمات فقط وقتی روشن کنید که اپ شما به ایمیل یا نامی که Apple و Google برمی‌گردانند نیاز دارد. وقتی خاموش است، این کاربران فقط با شناسه‌شان و هش شناسه‌ی حساب ارائه‌دهنده شناخته می‌شوند.

رمزگذاری#

  • در حالت ذخیره: داده‌های شخصی (آدرس‌های ایمیل، نام‌ها و شماره تلفن‌ها) رمزگذاری‌شده ذخیره می‌شوند.
  • در حین انتقال: همه‌ی درخواست‌ها از HTTPS استفاده می‌کنند.
  • رمزهای عبور: به‌صورت هش یک‌طرفه ذخیره می‌شوند و هرگز به هیچ شکل خوانایی ذخیره یا log نمی‌شوند. ورود، چه ایمیل حساب داشته باشد چه نه، همان مدت زمان را می‌برد.
  • اطلاعات محرمانه‌ی پروژه‌ی شما (bot token تلگرام و کلید Apple برای حذف حساب) رمزگذاری‌شده ذخیره می‌شوند و بعد از ذخیره دیگر نمایش داده نمی‌شوند.
  • logها هرگز توکن، رمز عبور، آدرس ایمیل، شماره تلفن یا آدرس IP را به‌صورت خوانا ندارند.

جداسازی پروژه‌ها#

پروژه‌ی هر درخواست از کلید API آن تعیین می‌شود، هرگز از چیزی که اپ در درخواست می‌فرستد. کاربران، نشست‌ها و تنظیمات یک پروژه از پروژه‌ی دیگر قابل خواندن یا استفاده نیستند. هر access token نام پروژه‌اش را دارد و همه‌ی محصولات ابرووا توکنِ پروژه‌ی دیگر را رد می‌کنند.

محافظت در برابر حمله‌ها#

تهدیدمحافظت
حدس زدن رمز عبورسقف برای هر آدرس و هر ایمیل؛ پاسخ یکسان (INVALID_CREDENTIALS) برای ایمیل ناشناخته و رمز اشتباه.
فهمیدن اینکه چه کسی حساب داردبازیابی رمز عبور و لینک یک‌بارمصرف همیشه پاسخ یکسان می‌دهند، چه آدرس حساب داشته باشد چه نه.
ساخت کاربر توسط ربات‌هاسقف برای هر آدرس و سقف روزانه‌ی کاربران ناشناس جدید برای هر پروژه.
refresh token دزدیده‌شدهچرخش در هر تمدید؛ استفاده‌ی دوباره از توکن قدیمی نشست را پایان می‌دهد.
access token دزدیده‌شدهیک ساعت عمر دارد. هرگز log نمی‌شود.
ID token شنودشده‌ی Apple یا Googleهر nonce فقط یک بار کار می‌کند؛ ID tokenهای قدیمی‌تر از ۱۰ دقیقه رد می‌شوند.
ID token صادرشده برای اپ دیگرفقط برای bundle IDها، Services IDها و client IDهایی که برای این پروژه وارد کرده‌اید پذیرفته می‌شود.
حدس زدن کد یا لینککدهای ۶ رقمی ۵ تلاش در ۵ دقیقه دارند؛ لینک‌های ایمیلی مقادیر تصادفی طولانی‌اند که فقط یک بار کار می‌کنند.
لینک‌های ایمیلی به مقصد دیگرلینک‌ها فقط آدرس‌های لینکی را که مجاز کرده‌اید باز می‌کنند.

با عبور از سقف، فراخوانی با RATE_LIMITED شکست می‌خورد و می‌گوید کی دوباره امتحان کنید (retryAfterSec).

گزارش فعالیت#

برای همه‌ی پروژه‌ها شامل است: Abrova Auth › فعالیت رویدادهای امنیتی پروژه‌ی شما را نشان می‌دهد: ساخت کاربران، ورودها و ورودهای ناموفق، روش‌های وصل‌شده، بازیابی رمز عبور، خروج از همه‌جا، استفاده‌ی دوباره از refresh token، غیرفعال، فعال یا حذف شدن کاربران، و تغییر تنظیمات. رویدادها آدرس مبدأ را به‌صورت هش‌شده نشان می‌دهند، تا بدون دیدن آدرس بفهمید دو رویداد از یک جا آمده‌اند.

حذف حساب#

Apple از اپ‌هایی که امکان ساخت حساب دارند می‌خواهد اجازه دهند کاربران حساب‌شان را داخل اپ حذف کنند. deleteAccount() را صدا بزنید:

  • کاربر، همه‌ی نشست‌ها و روش‌های وصل‌شده‌اش، و هر چه Abrova Auth درباره‌ی او ذخیره کرده حذف می‌شود. این کار قابل بازگشت نیست.
  • اگر کاربر با Apple وارد شده و شما کلید حذف حساب (Team ID، Key ID و کلید خصوصی .p8 در Abrova Auth › روش‌های ورود › Apple) را تنظیم کرده باشید، Abrova Auth همان‌طور که Apple می‌خواهد، ورود با Apple این کاربر را برای اپ شما هم لغو می‌کند. وقتی کاربر با Apple وارد می‌شود authorizationCode مربوط به Apple را بفرستید، وگرنه این مرحله چیزی برای لغو ندارد.
  • داده‌ها در محصولات دیگر ابرووا (سندهای Sync، پیام‌های Chat، فایل‌های Storage) حذف نمی‌شوند. پیش از صدا زدن deleteAccount()، تا وقتی توکن کاربر هنوز کار می‌کند، آن‌ها را از داخل اپ حذف کنید.

همچنین می‌توانید کاربر را از Abrova Auth › کاربران در کنسول حذف کنید.

این صفحه مفید بود؟
گزارش مشکل