امضای SDK


منظور از امضای دیجیتال چیست؟

امضای دیجیتال یا digital signature یک مدل ریاضی است که برای اعتباربخشی به پیام‌ها یا اسناد دیجیتال به کار می‌رود.از نظر طراحی، یک امضای دیجیتال نمایان‌گر این است که پیام در امنیت کامل منتقل شده است و هیچ اطلاعاتی از آن در جریان فرآیند انتقال در معرض تغییر نبوده است .هنگامی که پیغامی از کانالی ناامن ارسال می‌شود، یک امضای دیجیتال در صورتی که به شکل صحیح استفاده شده باشد می‌تواند برای شخص گیرنده‌ی پیام، سند معتبری باشد تا ادعای شخص فرستنده را باور کند.به عبارت بهتر، شخص گیرنده از طریق امضای دیجیتال می‌تواند این اطمینان را حاصل کند که همان شخص فرستنده آن سند را امضا کرده‌است و پیام مورد نظر جعلی نیست.

منظور از رمز اپ چیست؟

منظور از رمز اپلکیشن یا App Secret مجموعه‌ای از 5 عدد است که متریکس از این مقادیر برای رمزدار کردن داده‌های کلیدی وخاصی به هنگام ارسال ترافیک SDK به سرور متریکس استفاده می‌کند؛ یعنی جایی که متریکس می‌تواند صحت نصب‌ها را بر اساس این مقدار رمزشده تأیید کند.نکته مهم و اساسی در مورد رمز اپلکیشن این است که این پارامتر حتماً باید در قالب و فرمت متنی ساده plain text (دقیقاً به همان صورتی که از داشبورد متریکس دریافت می‌کنید) استفاده شود.

توصیه ما برای اثربخش بودن بیشتر، این است که برای هر یک از موارد زیر یک رمز جدید ایجاد کنید:

  • پلتفرم‌های متفاوت (iOS، اندروید و غیره) و
  • انتشار هر ورژن جدید از اپلیکیشن

چطور می توانم یک رمز اپ پیاده سازی کنم؟

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

مستندات

sdk signature

داده‌های مربوط به امضای SDK چطور در داشبورد من ظاهر می شوند؟

نصب های تقلبی در بخش آمارهای مربوط به تقلب در داشبورد شما نمایش داده می‌شوند.نصب‌هایی که به دلیل داشتن امضای غیر معتبر رد شده محسوب می‌شوند تحت عنوان untrusted devices> invalid structure ظاهر می‌شود.

تفاوت میان یک امضای نامعتبر و یک امضای ناموجود (missing signature) چیست؟

یک امضا زمانی نامعتبر است که با امضایی که متریکس بر اساس رمز اپ شما محاسبه می‌کند همخوانی نداشته باشد.این نوع امضاها دربردارنده‌ی امضاهای تقلبی و امضاهایی است که از رمز اپ‌های غیرفعال شده محاسبه شده باشند.

اما امضای missing هنگامی است که یک نصب اپلیکیشن بدون هیچ امضایی به سرور برسد.نصب‌های بدون امضا تنها درصورتی رد خواهند شد که گزینه SDK Signature enforcement یا اجبار برای امضای SDK فعال و روشن باشد.

چطور می‌توانم از نصب‌های مردود در ترکر متریکس باخبر شوم؟

در صورتی که یک نصب به دلیل امضای SDK نامعتبر یا مفقود شده مردود و تقلبی اعلام شود می‌توانید از طریق سیستم کال بک در لحظه (real-time callback) متریکس مطلع شوید.برای اینکه دلیل یک نصب تقلبی یا اتریبیوشن مجدد تقلبی را دریافت کنید {rejection_reason} را به کال بک نصب تقلبی خود اضافه کنید.

برای دریافت کال‌بک‌ها در لحظه (real-time calback) به روش زیر عمل کنید:

در داشبورد متریکس:

  1. به اپلیکیشن خود بروید و گزینه‌های اپ خود را باز کنید

  2. گزینه تنظیمات< کال بک های در لحظه را انتخاب کنید

  3. آیکون ویرایش را در کنار rejected install را انتخاب کنید

  4. آدرس (URL) خود را وارد کنید و یک جفت مقدار را به صورت کلید برای دلیل رد نصب اضافه کنید

    a. یک کلید از انتخاب خود وارد کنید: این کلید می‌تواند متناسب با تنظیمات سرور خودتان باشد

    b. مقدار مورد نظر باید {rejection_reason} باشد

    c. مثال: rejected_install_reason={rejection_reason}

  5. گزینه update یا به روز رسانی را انتخاب کنید.

درصورتی که یک نصب به دلیل امضای SDK نامعتبر یا ناموجود (missing) رد شده و تقلبی محسوب شده باشد چنین پیامی را از طریق کال بک دریافت خواهید کرد:

rejected_install_reason=invalid_signature

نکته: امضاهای مفقود شده تنها زمانی رد می‌شوند که گزینه اجبار امضای SDK فعال و روشن باشد.

چرا باید برای ترافیک SDK رمز اپ و امضا انتخاب کنم؟

هرچند که SDK متریکس با استفاده از کانال‌های ارتباطی رمزنگاری شده نظیر HTTPs با سرورهای متریکس در ارتباط است این داده‌ها قابلیت ویرایش و خوانده شدن از سوی متقلبان را دارند.این اطلاعات استخراج شده طی یک «حمله» می‌تواند برای ایجاد نصب‌های غیرواقعی و جعلی مورد استفاده قرار گیرد.

درست در همینجا است که امضای SDK متریکس به کمک شما خواهد امد.روشی که SDK متریکس یک امضا را از روی رمز اپ (مقداری که تنها در اختیار ناشر اپلیکیشن و متریکس است) محاسبه می‌کند به سرورهای متریکس این امکان را می‌دهد که صحت تمامی نصب‌های آتی اپ را تأیید و تصدیق کنند.

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

در بلاگ متریکس فیچر امضای SDK را معرفی کرده‌ایم.از لینک زیر بخوانید:

قابلیت دیگری در متریکس: امکان امضاکردن کیت توسعه نرم‌افزار