مدیر داده های استفاده کننده
به صورت کلی، شایسته ترین رویه برای امنیت داده های استفاده کننده، به دستکم رساندن به کار گیری طراحی اپلیکیشن در مشهد از 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 استعمال نمائید
که مکانیزمی را برای ذخیره وقت گیر بازه زمانی و بازیابی کلیدهای رمز گذاری مهیا می نماید.)
مدیر داده های استفاده کننده
به صورت کلی، شایسته ترین رویه برای امنیت داده های استفاده کننده، به دستکم رساندن به کار گیری طراحی اپلیکیشن در مشهد از 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 استعمال نمائید
که مکانیزمی را برای ذخیره وقت گیر بازه زمانی و بازیابی کلیدهای رمز گذاری مهیا می نماید.)

کارداران اثر گذار بر CPC در تبلیغات