من عدنان بابکانم!

وب بهتر و راحت تر

من عدنان بابکانم!

وب بهتر و راحت تر

۲ مطلب با کلمه‌ی کلیدی «امنیت» ثبت شده است

انواع رمز نگاری

عدنان بابکان | سه شنبه, ۱۷ بهمن ۱۳۹۶، ۰۹:۳۳ ب.ظ

 

 

رمزنگاری متقارن (Symmetric Encryption)
روش رمزنگاری متقارن برای انجام رمزنگاری و رمزگشایی از یک کلید یکسان استفاده میکند. همانطور که در شکل زیر هم نشان داده شده است، فرستنده از یک کلید برای رمز کردن داده رمز نشده استفاده کرده و داده رمز شده را به سمت گیرنده ارسال میکند. گیرنده داده رمز شده را با همان کلیدی که برای رمزکردن داده بکار رفته بود، رمزگشایی کرده و دیتای رمزگشایی شده را میخواند.
از آنجایی که یک کلید در این فرآیند مورد استفاده قرار میگیرد، رمزنگاری متقارن را با نام "رمزنگاری کلید امنیتی" و یا Secret Key Cryptography نیز عنوان میکنند. این نوع از رمزنگاری زمانی بخوبی کار خواهد کرد که با تعداد محدودی از مردم ارتباط و تبادل داده داشته باشید.
 

مشکلی که کلید امنیتی دارد، انتقال آن در بطن شبکه های بزرگ و یا اینترنت و خطر افتادن بدست افراد غیر است. در این فرآیند، هرکسی که کلید امنیتی را در اختیار داشته باشد، میتواند براحتی داده ها را رمزگشایی کند. این مشکل با روش رمزنگاری نامتقارن حل شده است.

رمزنگاری نامتقارن ( Asymmetric Encryption)
رمزنگاری نامتقارن از کلیدهای متفاوتی برای رمزنگاری و رمزگشایی استفاده میکند. در این نوع رمزنگاری، کاربر نهایی در شبکه عمومی و یا خصوصی، یک جفت کلید در اختیار دارد: یک کلید عمومی برای رمزکردن و یک کلید اختصاصی برای رمزگشایی. در اینجا باید دقت داشت که کلید اختصای از کلید عمومی بدست نمیآید.
روش رمزنگاری نامتقارن در مقابل حملات هکرها، امنیت را پایدار کرده است. در این روش، فرستنده داده را با کمک یک کلید عمومی کد کرده و گیرنده پیام را با استفاده از یک کلید تصادفی که توسط فرستنده کلید عمومی ایجاد میشود، کدگشایی میکند.


کدها (Ciphers)
رمزنگاری بر بحث امن نویسی دلالت میکند و متعاقب آن برای تعریف کد چیزی نداریم بگوییم جر آن که الگوریتمی است که در رمزنگاری و رمزگشایی استفاده میشود. روش سنتی و مرسومی که در رمزنگاری و رمزگشایی مورد استفاده قرار میگیرد، در شکل متفاوتی قرار دارد. در این روش به ازای هر حرف از الفبا، شماره ای در نظر گرفته و بوسیله آن داده ها رمز میشوند. فقط در صورتی که هکر سیستم شماره گذاری را بشناسد، میتواند دیتا را رمزگشایی کند.
در علم رمزنگاری، الگوریتم کد که برای رمزکردن مورد استفاده قرار میگیرد، با نام Enciphering و در بحث رمزگشایی با نام Deciphering شناخته میشود.
مثال:
A b c d e f g h…z در دنباله اعداد 26....4 3 2 1 کد میشوند. داده ها نیز مانند این مثال کد میشوند و در مثابل بخوبی و امنیت کامل رمزگشایی خواهند شد. در یک کد، داده بشکل رمز نشده نمایش داده میشود اما در ادامه توسط یک کلید رمز خواهند شد. بسته به شرایط، کلید میتواند یک نماد یا بصورت اشکال دیگری از متن باشد. اگر داده بسیار محرمانه باشد، استفاده از کلید به فرستنده و گیرنده محدود خواهد شد اما در موارد عادی در شبکه های باز، برخی کلیدها بدون این که بر اصل داده اثر منفی بگذارند، به اشتراک گذارده میشوند. انواع مختلفی از کدها وجود دارند:

کدهای کلاسیک
کدهای کلاسیک اساسی ترین نوع کدها هستند که بر حسب حروف الفبا مثل A-Z عمل میکنند. پیاده سازی آن معمولا بصورت دستی و یا با استفاده از دیوایس های مکانیکی ساده انجام میشود. این روش زیاد قابل اعتماد نیست. دو نوع از کدهای کلاسیک عبارتند از:
•کد جانشینی ( substitution cipher): بخش متنی توسط متن رمز شده جایگزین میشود. در این جایگزینی، بیت ها، کاراکترها یا عبارت ها با بیت ها، کاراکترها و عبارات متفاوتی جایگزین خواهند شد.
•کد تقدم و تاخر (transposition cipher): حروف موجود در متن رمزنشده، به منظور تبدیل به متن رمزی، تغییر میکنند. در واقع متن رمز شده، جایگشتی از متن اولیه است.

کدهای مدرن
کدهای مدرن طوری طراحی شده اند تا بازه وسیعی از حملات را تحمل کنند. کدهای مدرن محرمانگی، یکپارچگی و احراز هویت فرستنده را در مورد داده تضمین میکنند. این کدها با کمک یک تابع یکطرفه ریاضی محاسبه میشوند که توانایی فاکتورگیری از تعداد زیادی اعداد اول را دارند. این کد ها بر حسب نوع کلید و داده ورودی به دودسته تقسیم میشوند:

بر اساس نوع کلیدی که مورد استفاده قرار میگیرد
•رمزنگاری کلید عمومی (الگوریتم کلید متقارن): بک کلید برای رمزکردن و رمزگشایی مورد استفاده قرار میگیرد.
•رمزنگاری کلید خصوصی (الگوریتم کلید نامتقارن): دو کلید مختاف در رمزنگاری و رمزگشایی مورد استفاده قرار میگیرند.

بر اساس نوع داده ورودی
•کدهای قطعه بندی شده: به الگوریتمی اشاره میکند که بر روی بلوکی (گروهی از بیت ها) با سایز و تغییر ثابتی که توسط کلید متقارن ایجاد میشود، عمل میکند.
•جریانی از کدها: به کدهای کلید متقارن اشاره میکند. این روش با ترکیب ارقام رمز نشده با جریانی از کلید ( جریانی از ارقام رمز شده شبه تصادفی) ایجاد میشود.

 

منبع: tosinso.com

  • عدنان بابکان

کپچا چیست؟ تعریف اسپم و اسپمر

عدنان بابکان | دوشنبه, ۱۵ آبان ۱۳۹۶، ۰۹:۴۲ ب.ظ

سلام!

بیایید اول به این مطلب برسیم که Spam چیه و اصلا Spammer به چه کسی میگن؟ اسپم یعنی پیام های مزاحمی که گاه خواه و ناخواه به شما از طریق ایمیل یا حتی اس ام اس ارسال میشه و شما رو اذیت می کن! چیز بدیه نه؟ خب اسپمر هم به همین افراد یا شرکت هایی میگن که این کار ها رو انجام میدن.

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

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

برای طراحی یک سیستم کپچا کافیه با استفاده از یک کتبخانه تصویری مانند GD در زبان برنامه نویسی PHP یک تصویر رو با یک متن مشخص تولید کنید و همون متن رو داخل یک SESSION مختص به همان کاربر قرار بدید و وقتی که کاربر مقدار رو وارد کرد مقایسه کنید که آیا مقدار وارد شده با مقدار ذخیره شده مساوی هست یا خیر. راحت بود نه؟

البته نسخه های پیچیده تری مانند نسخه صوتی یا ویدیویی هم برای جلوگیری از اسپمر ها هم وجود داره که خارج از بحث ما هست!

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

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

adnanbabakan [at] gmail [dot] com

یعنی به جای @ از [at] و به جای . از [dot] استفاده کنید. در این حالت بیشتر نرم افزار ها این متن رو به عنوان ایمیل تشخیص نمیدن و بیخیالش میشن.

 

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

  • عدنان بابکان