سلام.
با یک فریلنسر برای طراحی یک اپلیکیشن اندروید (به زبان جاوا) توافق کردم.
ایشون گفتند که از الگوریتم MD5 برای رمزنگاری اپلیکیشن استفاده میکنند.
این اپ قراره یک سری اطلاعات مورد نیاز من (که برای من حساس و مهم هست) رو به سرور مجازی خودم ارسال کنه.
سوالی که از اساتید دارم این هست که من چطور میتونم مطمئن بشم که این اطلاعات فقط به سرور من منتقل میشه و سوءاستفادهای از جانب فریلنسر (و ارسال اطلاعات به سرور خودش) اتفاق نمیافته؟
به زبان جاوا تسلط ندارم و نمیتونم کدهای برنامه رو دقیقاً رصد کنم تا ببینم فقط به سرور من ارسال میشه یا خیر.
و اینکه فرضاً اگه بتونم کدها رو چک کنم، نمیدونم که آیا از طریق الگوریتم MD5 میشه این سوءاستفادهی احتمالی رو پیادهسازی کرد؟ و مثلاً لینکهای سرور خودشون رو هش کنند تا قابل رؤیت نباشه؟
ممنون میشم اگه راهنماییم کنید.
@hesammousavi
سلام
با توجه به شرایط کار، امکان رمزگذاری وجود نداره.
و این اطلاعات قراره در بازههای زمانی تعیینشده، تولید و به سرور ارسال بشه.
نکتهی خیلی مهم، اطمینان از این موضوع هست که فریلنسر اطلاعات رو به جای دیگهای غیر از سرور مشخصشده ارسال نکنه.
ممنون میشم با این فرضیه، به سوال جواب بدید.
@Mirgholami
یه قرارداد حفظ اسرار محرمانه با مجری فریلنسر به صورت حضوری ببندید و از آن تضمین هایی دریافت کنید.
و غیر از این برنامه نویس در شرکت شما حضور پیدا کند و پروژه رو انجام دهد.
من و ایشون در دو شهر مختلف حضور داریم و متاسفانه امکان جلسات حضوری وجود نداره.
ایشون در نهایت، سورسکد اپلیکیشن رو با رمزنگاری MD5 به من تحویل میده و من واسهشون هزینه رو واریز میکنم.
سوالی که من دارم اینه که آیا فریلنسر میتونه از الگوریتم MD5 سواستفاده کنه و لینک سرور خودش رو هش کنه تا من متوجه این موضوع نشم؟
البته ایشون آدم محترمی هستند و احتمال این قضیه خیلی پایینه، اما جهت اطمینان و اینکه این اطلاعات، دیتای حساس شرکت به حساب میاد این سوال رو میپرسم.
@Mirgholami
درباره الگوریتم MD5 اینه به راحتی سو استفاده میشه و امنیتش پایینه...
بستگی به اطلاعاتش داره که چقدر محرمانه باشد و حتی سیستم های بانکی و اطلاعاتی مثل ثبت احوال و فروشگاهی یا غیره ...نباید از الگورتیم MD5 استفاده بشه...
ممنون از دوستانی که وقت میذارن و راهنمایی میکنن.
من هنوز نتونستم منظور خودم رو برسونم!
فرض کنین همکاری من و فریلنسر تموم شده و من سورسکد اپلیکیشن رو تحویل گرفتم و ایشون هم هزینه رو دریافت کردن.
کارکرد این اپلیکیشن به این صورته که یکسری اطلاعات مهم رو از من دریافت میکنه و بعد از پردازش، اطلاعات پردازششده رو به سرور مجازی من ارسال میکنه.
نگرانی من این هست که در کدهای اپلیکیشن، فریلنسر لینک سرور خودش رو هم قرار داده باشه تا این اطلاعات علاوه بر اینکه برای من ارسال میشه، برای فریلنسر هم فرستاده بشه.
من به کدها دسترسی دارم و میتونم خط به خط اونها رو بررسی کنم اما نمیدونم که آیا با استفاده از الگوریتم MD5 میشه بخشی از کدها رو غیرقابل فهم کرد تا نشه متوجه سوءاستفاده شد؟
مثلاُ فرض کنید متن کدها به این صورت باشه:
اطلاعات ورودی را از کاربر دریافت کن.
اطلاعات را پردازش کن.
اطلاعات جدید را به سرور کارفرما ارسال کن.
اطلاعات جدید را به سرور فریلنسر ارسال کن.
خب من در این حالت متوجه سوءاستفاده میشم چون میبینم که اطلاعات داره به سرور فریلنسر هم منتقل میشه.
اما اگه متن کدها به این صورت باشه:
اطلاعات ورودی را از کاربر دریافت کن.
اطلاعات را پردازش کن.
اطلاعات جدید را به سرور e10adc3949ba59abbe56e057f20f883e ارسال کن.
در این حالت اگه علاوهبر لینک سرور من، لینک سرور فریلنسر هم در عبارت e10adc3949ba59abbe56e057f20f883e گذاشته شده باشه، من متوجه نخواهم شد.
سؤال من همینجاست.
که آیا در زبان جاوا میشه از این کارها انجام داد یا خیر؟
یعنی لینکها رو بهنحوی دستکاری کرد تا غیرقابل مشاهده باشن.
الگوریتم MD5 فقط برای هش کردن پسوردها استفاده میشه یا لینکها و... رو هم میشه باهاش هش کرد؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟