چه مکانیزمی برای خصوصی کردن api در پلتفرمی مثل موبایل پیشنهاد می دهید

در جایی دارم به فردی در مورد پرایوت بودن api مشورت می دم وسط های صحبت خودم دو به شک شدم به همین منظور خواستم این بحث مطرح کنم از مشاوره های شما عزیزان هم استفاده کنم .

با یک مثال شروع می کنم :

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


به نظر شما اینجا چه راه حلی خوبی هست که همچنین کاری رو در api خودم انجام بدم ؟ تا فقط این api مخصوص خودم باشه ؟

لازم به ذکر هست هم موبایل داریم و هم یک فرونت روی سرور خودمون که با ری اکت نوشته شده برای هر دو نیاز هست

1 پسندیده

به غیر از auth token
وقتی app به اپل یا کوگل اپلود میکنی با certification
Sign میکنی که فقط از طریق app بشه به api دسترسی پیدا کرد

1 پسندیده

سام عزیز .تشکر بخاطر پاسخت .

به غیر auth token که فرمودید . و همینطور گوگل . آیا راه دیگه ای نظرتون می رسه ؟

آخه بیشتر مشکل در این هست که در سایت ری اکت باید چیکار کرد ؟

SSL دو طرفه هم می شه.

3 پسندیده

در سایت ریکت با CSP میتونی فقط سرور های فراتند و اجازه بدی با api کار کنند

1 پسندیده

ولی با همه ی اینها همیشه احتمال هک شدن وجود داره و هرگز نباید این و دسته کم گرفت

2 پسندیده

الیته این هم اضافه کنم که همه اینها راه دور زدن دارن. چون در نهایت دست کاربر هست کد.

2 پسندیده

ری اکتی که روی سرور هست نمی تونه درخواست بگیره چون روی سروره از لینکی مثل webservise.localhost داخلی بخونه برای این کار؟ البته فکر کنم این صحبتم در زمانی صادقه که رندر سرور ساید باشه درسته /؟

بله من صحبتم اینکه چطوری فقط کلینت خودت
Mobile و Frontend بتونن با API backend صحبت کنن

1 پسندیده

راهی نیست ک api رو مخفی کنی! . . و اصلا نیازم نیست بهش … و بخصوص توی rest … صرفا بتونی cross-origin رو ببندی ک سایر اپ های فرانت که روی مرورگر و لوکال ها اجرا میشن . .نتونن ریکوئست بزنن از بیرون… اما سایر اپلیکیشن ها قادر هستن ریکوئست بزنن . .

رو اپ های غیر مرورگر هم … با اسنیف … یا track … آدرس بدست میاد … صرفا رمزنگاری دو طرفه + SSL میتونه جلوی خونده شدن دیتای ردو بدل شده و کش رفتن توکن و دیتا رو بگیره(همینکاری ک تلگرام / اینستا / فیس بوک و همه میکنن)

1 پسندیده

شما هم فرمودید دوستان نیز بهش اشاره کردند SSl دو طرفه رو اگر بیشتر باز کنیدش ممنون می شم .

و همینطور این قسمت کمی بیشتر توضیح بدید لطفا چطور می شه توکن رو کش رفت . با اینکه با یک کلید خصوصی معتبری روی سرور ما درست می گردد ؟؟

و همینطور در این مورد اگر اطلاعات بیشتری رو بفرمایید که بتونم سرچ مناسب تری بزنم خیلی ممنون می شم

با تشکر از دوستان همیشه همراه و عزیز
ممنون

1 پسندیده

SSL/TLS یه پروتکل امن اینکریپت شده هست … کلاینت و سرور روی اون باهم ارتباط برقرار میکنن … نیاز نیست زیاد عمیق بشید روش… صرفا از یه سرویس دهنده SSL … یکی میگیرید برای دامین تون … و متصلش میکنید … اینوسط کسی نمیتونه بین کلاینت و سرور قرار بگیره … و دیتا رو بفهمه …

کش رفتن توکن هم همینه دقیقا … کافیه یه بد افزار روی کلاینت باشه… تا نت ورک یا یه اپ رو مانیتور کنه … تا بفهمه چی داره میفرسته … با بررسی هدر های ریکوئست …

رمزنگاری … که کلید اختصاصی ساخته میشه برای طرفین … درصورت دزدیده شدن اطلاعات … نمیتونن بازش کنن … و صرفا کسی ک کلید رو داره میتونه بازش کنه … معروفترینش RSA هست . … ک کتابخونه داره … میتونید استفادش کنید

کل کاری ک میکنید همین یه خرید SSL/tls هست … استفاده از یه کتابخونه RSA … و تبدیل ریکوئست های مهم تون به ٓPOST … چون GET رو هرچقدم رمزی کنید … بصورت کوئری استرینگ داره عینن دیتا رو میفرسته … و البته سایزش هم محدوده … برای ریکوئستای بزرگ کارایی نداره

2 پسندیده

فکر کنم سوال شهریار در مورد ssl نبود، بیشتر روی two way ssl تمرکز داشت

https://www.ibm.com/support/knowledgecenter/en/SSRMWJ_7.0.1.8/com.ibm.isim.doc/securing/cpt/cpt_ic_security_ssl_scenario.htm

و

www.ossmentor.com/2015/03/one-way-and-two-way-ssl-and-tls.html?m=1

1 پسندیده

بعله توماج جان منظورم همین شما فرمودید بوده منظورم دو طرف بود

درود خدمت شما ممنون پاسخ دادید . بله موارد فرمودید انجام شده جز مورد بالا که بنده فکر نمی کنم مشکل بد افزار سیستم کاربر به گردن بنده باشه . تضمین امنیت سیستم کاربر با خودش هست . بلخره من در معتبر ترین کتابخونه ها در این زمینه استفاده کردم که شرایط ارسال و … به صورت کامل مهیا بشه

این قسمت پاسخ شما رو نخونده بودم، چطور میشه با مانیتور کردن شبکه توکن رو کش رفت؟

راستش با اینکه بدافزار روی device کلاینت گردن شما نیست موافقم، اما اگر بدافزار براحتی از اپ شما دزدی کنه احتمالا تا حدودی مسئولیتش با شماست.

2 پسندیده

بله درست می فرمایید توماج جان . بلخره من تا حد سوادم سعی می کنم جلوی برخی از مواردی که خودکار زده می شه رو بگیرم ما بقی فکر کنم در کار باید یاد بگیرم و مشورت

2 پسندیده

فکر خوبیه

1 پسندیده

این لینکو خوندی؟
https://hackernoon.com/mobile-api-security-techniques-682a5da4fe10

1 پسندیده