کانال در اندروید

طراحی اپلیکیشن

کانال در اندروید

۲۴ بازديد

کانال در اندروید
کانال سازی در اندروید تفاوت قابل توجهی با بقیه فضا های طراحی اپلیکیشن در مشهد  لینوکس ندارد.
نکته کلیدی اعتقاد و باور استعمال از پروتکل های مطلوب برای داده های حساس میباشد، مانند HttpsURLConnection برای ترافیک اینترنت که پروتکلی تماما امن میباشد.
می بایست از HTTPS در هر جایی که HTTPS روی سرور حمایت می‌گردد، به کار گیری فرمائید،
چون دستگاه‌های گوشی اکثر زمان ها به کانال‌هایی متصل میگردند که ایمن نیستند، مانند نقاط اتصال Wi-Fi همگانی.

پیوندها encrypted socket-level و رمزگذاری گردیده را می شود به راحتی با استعمال از کلاس SSLSocket طراحی کرد.

بعضا از اپلیکیشن ها از پورت های کانال صاحبخانه محلی برای رئیس IPC حساس به کارگیری می نمایند.
شما نباید از این شیوه استعمال فرمائید چون این رابط ها به وسیله بقیه اپ های جانور در دستگاه قابل دسترسی میباشند.
در قبال، از مکانیزم Android IPC در جایی که قابلیت و امکان احراز نام‌و‌نشان وجود داراست، مانند یک خدمت استعمال فرمایید.
اتصال به INADDR_ANY بدتر از به کار گیری از رینگ بک میباشد چون در این حالت نرم‌افزار شما ممکن میباشد از هر جایی درخواست اخذ نماید.

رئیس داده های مخاطب
در کل، شایسته ترین رویه برای امنیت داده های استفاده کننده، به دست‌کم رساندن به کار گیری از API هایی میباشد
که به داده های حساس یا این که فردی استفاده کننده دسترسی دارا‌هستند.
در صورتیکه به داده‌های استفاده کننده دسترسی دارید و میتوانید از ذخیره یا این که جابجایی آن اجتناب نمایید، داده‌ها را ذخیره یا این که جابجایی ندهید.
در لحاظ بگیرید که آیا راهی وجود دارااست که منطق نرم افزار شما می‌تواند با استعمال از یک هیبت هش یا این که غیر قابل رجوع داده طراحی خواهد شد.
برای مثال، اپلیکیشن شما ممکن میباشد از هش نشانی نشانی اینترنتی تحت عنوان کلید اساسی برای خودداری از جابجایی یا این که ذخیره نشانی نشانی اینترنتی به کار گیری نماید.
این دستور شانس افشای ناگهانی اطلاعات را کاهش میدهد و همینطور احتمال سعی مهاجمان برای سوء به کار گیری از اپ شما‌را کاهش می‌دهد.

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

استعمال از WebViwe
از آنجایی که WebView محتوای اینترنت را مصرف می‌نماید که قادر است دربرگیرنده HTML و جاوا اسکریپت باشد،
استعمال خطا قادر است سبب ساخت خطاها رایج امنیتی اینترنت مانند cross-site-scripting (JavaScript injection) خواهد شد.
Android مشمول چند سازوکار برای کاهش دامنه این ایرادات بالقوه با محصور کردن امکان WebView به دستکم تلاش ما یحتاج نرم افزار شما میباشد.
در شرایطی که اپ شما مستقیماً از جاوا اسکریپت در WebView به کارگیری نمی نماید، () setJavaScriptEnabled را فراخوانی نکنید.
برخی از کدهای مثال از این شیوه به کارگیری می نمایند، که ممکن میباشد در نرم‌افزار مجدداً از آن به کار گیری فرمایید،
به این ترتیب در شکل عدم نیاز، آن فراخوانی را حذف فرمائید.
به صورت پیش فرض، WebView جاوا اسکریپت را اعمال نمی نماید، بدین ترتیب قابلیت اسکریپت cross-site-scripting نیست.

از addJavaScriptInterface با تمرکز خاصی استعمال فرمائید چون به جاوا اسکریپت اذن می دهد تا
عملیاتی را که معمولاً برای نرم‌افزار‌های Android رزرو شد‌ه‌است فراخوانی نماید.
در حالتی‌که از آن استعمال میکنید،() addJavaScriptInterface را تنها در صفحه های وبی قرار دهید که مجموع ورودی های آن ایمن میباشد.

در صورتی‌که اپلیکیشن شما با WebView به داده های حساس دسترسی پیدا می نماید، ممکن میباشد بخواهید
از طریق () clearCache برای حذف پوشه های ذخیره گردیده محلی به کارگیری نمائید.
همینطور میتوانید از هدرهای سمت سرور مانند no-cache استعمال فرمائید تا نماد دهید که یک اپ نباید محتوای خاصی را در یاد مخفی ذخیره نماید.

کد گذاری در اندروید
اندروید ضمن هواخواهی از رمزگذاری بدون نقص filesystem و ارائه شبکه های ارتباطی امن،
طیف عظیم ای از الگوریتم ها را برای نگهداری از اطلاعات با به کار گیری از کدگذاری ارائه می نماید.

مجموعاَ، بایستی بدانید که اپ شما از کدام ارائه دهندگان امنیتی Java Cryptography Architecture (JCA) به کارگیری می نماید.
تلاش نمائید از بالاترین سطح طراحی چارچوب از گذشته جانور به کار گیری فرمائید که میتواند گزینه به کار گیری شمارا دفاع نماید.
در شکل وجود، از ارائه‌دهندگان ارائه‌گردیده به وسیله Google به ترتیب معین گردیده به وسیله Google به کار گیری فرمائید.

در شرایطی‌که نیاز به بازیابی ایمن یک پوشه از یک جای کانال شناخته گردیده دارید، یک URI بی آلایش HTTPS ممکن میباشد کافی باشد و نیازی به علم کد گذاری نداشته باشد.

در شرایطی‌که به یک تونل امن نیاز دارید، به مکان تایپ کردن پروتکل خویش، از HttpsURLConnection یا این که SSLSocket به کارگیری نمائید.

در حالتی‌که از SSLSocket استعمال می‌کنید، دقت داشته باشید که تأیید اسم صاحبخانه را اجرا نمی دهد.

در حالتی‌که متوجه شدید که می بایست پروتکل خویش را طراحی نمایید، نباید الگوریتم های کد گذاری خویش را طراحی نمائید.
از الگوریتم های کدگذاری جانور، مانند AES و RSA ارائه گردیده در کلاس Cipher استعمال فرمائید.
خلال این، شما می بایست شایسته ترین نحوه ها را دنبال نمائید:

از AES 256 بیتی برای هدف ها تجاری به کار گیری نمائید. (در شرایطی‌که در دسترس وجود ندارد، از AES 128 بیتی استعمال فرمائید.)

برای کد گذاری elliptic curve (EC) از کلید همگانی 224 یا این که 256 بیتی به کارگیری نمایید.

بدانید چه هنگامی از شرایط های بلوک CBC، CTR یا این که GCM به کار گیری نمایید.

از به کارگیری دوباره IV/counter در وضعیت CTR اجتناب نمایید. مطمئن گردید که از دید کدگذاری تصادفی می باشند.

هنگام به کارگیری از رمزگذاری، یکپارچگی را با به کار گیری از موقعیت CBC یا این که CTR با یکی‌از عملکردهای ذیل طراحی فرمائید:

HMAC-SHA1
HMAC-SHA-256
HMAC-SHA-512
Mode GCM
از یک مولد اعداد تصادفی ایمن، SecureRandom، برای مقداردهی نخستین کلیدهای کدگذاری ایجاد گردیده به وسیله KeyGenerator استعمال فرمایید.
به کار گیری از کلیدی که با مولد اعداد تصادفی ایمن ساخت‌و‌ساز نمی‌شود، اقتدار الگوریتم را به معیار قابل توجهی ضعیف می نماید و ممکن میباشد تهاجم ها آفلاین را قابلیت پذیر نماید.

(در صورتی‌که نیاز به ذخیره کلید برای استعمال مکرر دارید، از مکانیزمی مانند KeyStore به کارگیری فرمایید
که مکانیزمی را برای ذخیره زمانبر بازه زمانی و بازیابی کلیدهای کدگذاری آماده می نماید.)
تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بلاگ 9 ثبت نام کرده اید می توانید ابتدا وارد شوید.