تفاوت امضای الکترونیک با امضای دیجیتال

امضا الکترونیک و دیجیتال

امضای الکترونیک و دیجیتال

در قانون تجارت الکترونیک ایران در تعریف امضای الکترونیک مقرر می‌دارد: امضای الکترونیک عبارت از هر نوع علامت منضم شده یا به نحو منطقی متصل شده به داده  است که برای شناسایی امضاء کننده داده مورد استفاده قرار می‌گیرد.»

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

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

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

امضاهای دیجیتال اغلب برای به انجام رساندن امضاهای الکترونیکی به کار می‌روند.

از دیدگاه فنی طرح امضای دیجیتال معمولاً سه الگوریتم را شامل می‌شود: ۱- الگوریتم تولید کلید ، ۲- الگوریتم امضا ، ۳-الگوریتم صحت امضا که مفاهیم فنی گسترده ای در آن نهفته است. از کاربردها و مزایای امضای دیجیتال  می توان به مواردی از این قبیل اشاره کرد :   

– ایجاد اعتبار برای امضاهای الکترونیکی در یک سیستم اتوماسیون اداری در بازه های زمانی و انتخاب بر اساس نوع کار و گردش آن 

– ایجاد یک کلید خصوصی برای هر کاربر در اتوماسیون که با استفاده از آن می‌تواند کار را امضا کرده و به آن ارزش و اعتبار ویژه ببخشد. 

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

اما این ابزار معایبی هم دارد : 

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

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

امضای دیجیتال و امنیت دیجیتالی چیست ؟

امضای دیجیتال و امنیت دیجیتالی چیست ؟

امضای دیجیتال و امنیت دیجیتالی چیست ؟

امضای [[دیجیتال]] برای فایل های اطلاعاتی همان کار را انجام می دهد که امضای شما بر روی سند کاغذی انجام می دهد.امضای دیجیتال و امضای دست‎نویس هر دو متکی بر این واقعیت هستند که پیداکردن دو نفر با یک امضا تقریباً غیرممکن است. باامضای دیجیتال اصل بودن و صداقت یک پیغام یا سند و یا فایل اطلاعاتی تضمین میشود. به منظور ایجاد امضای دیجیتال از یک [[الگوریتم ریاضی]] به منظور ترکیب اطلاعات در یک کلید با [[اطلاعات]] پیام ، استفاده می شود . ماحصل عملیات ، تولید رشته ای مشتمل بر مجموعه ای از حروف و اعداد است .یک امضای دیجیتال صرفا” به شما نخواهد گفت که ” این شخص یک پیام را نوشته است ” بلکه در بردارنده این مفهوم مهم است که : “این شخص این پیام را نوشته است ” .

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

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

گواهینامه دیجیتالی چیست و چرا ما به یکی نیاز داریم؟

اجازه دهید برای پاسخ به سوال فوق ، سوالات دیگری را مطرح کنیم ! • برای تشخیص و تائید هویت فرد ارسال کننده یک نامه الکترونیکی از چه مکانیزم هائی استفاده می شود؟ • فرض کنید یک نامه الکترونیکی از یکی از دوستان خود دریافت داشته اید که از شما درخواست خاصی را می نماید ، پس از مطالعه پیام برای شما دو سوال متفاوت مطرح می گردد : الف ) آیا این نامه را واقعا” وی ارسال نموده است ؟ ب ) آیا محتوای نامه ارسالی واقعی است و وی دقیقا” همین درخواست را داشته است ؟ • آیا وجود هر نامه الکترونیکی در صندوق پستی ، نشاندهنده صحت محتوا و تائید هویت فرد ارسال کننده آن است ؟ سوءاستفاده از آدرس های Email برای مهاجمان و ویروس ها به امری متداول تبدیل شده است و با توجه به نحوه عملکرد آنان در برخی موارد شناسائی هویت فرد ارسال کننده یک پیام بسیار مشکل و گاها” غیرممکن است . تشخیص غیرجعلی بودن نامه های الکترونیکی در فعالیت های تجاری و بازرگانی دارای اهمیت فراوانی است . یک نامه الکترونیکی شامل یک امضای دیجیتال، نشاندهنده این موضوع است که محتوای پیام از زمان ارسال تا زمانی که به دست شما رسیده است ، تغییر نکرده است . در صورت بروز هر گونه تغییر در محتوای نامه ، امضای دیجیتال همراه آن از درجه اعتبار ساقط می شود .

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

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

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

ثبت نام برای یک گواهینامه دیجیتالی

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

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

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

پخش کردن گواهینامه دیجیتالی

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

انواع مختلف گواهینامه دیجیتالی

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

  • شخصی: قابل استفاده توسط اشخاص حقیقی برای امضای ایمیل و تبادلات مالی.
  • سازمان ها: قابل استفاده توسط اشخاص حقوقی برای شناساندن کارمندان برای ایمیل های محفوظ و تبادلات تحت اینترنت.
  • سرور: برای اثبات مالکیت یک دامین اینترنتی.
  • تولید کنندگان: برای اثبات حق تالیف و حفظ حقوق آن برای نشر برنامه نرم افزاری.

سطوح مختلف گواهینامه های الکترونیکی

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

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

 

  • منابع اینترنتی:

 

http://www.webopedia.com/TERM/S/SSL.html

http://www.rsasecurity.com/

http://www.webopedia.com/TERM/S/S_HTTP.htm

http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO

http://www.verisign.com/products-services

http://www.fekrinejat.com/

http://www.hamkelasy.com/

http://www.ircert.com/

http://www.persiantop.com/

http://www.ostadonline.com/

http://www.parslan.com/

http://www.ouriran.com/

http://www.yazdit.mihanblog.com/

http://www.ksajadi.com/

http://www.golha.ir/

http://www.wikipedia.com/

http://www.sgnetway.com/

http://www.reporter.ir/

http://www.mcs-8051.com

  • منابع فارسی

قدیر پور رستم ، مدل های اعتماد بر بستر کلید عمومی ، کتاب مقالات چهارمین همایش ملی دانشجویی،انجمن کامپیوتر ایران ، ۱۳۸۱

فهرست مطالب

امضای دیجیتال و امنیت دیجیتالی چیست ………………………………………۴

گواهینامه دیجیتالی چیست و چرا ما به یکی نیاز داریم؟……………………۵

ثبت نام برای یک گواهینامه دیجیتالی…………………………………………………۶

پخش کردن گواهینامه دیجیتالی…………………………………………………………۶

انواع مختلف گواهینامه دیجیتالی…………………………………………………………۷

سطوح مختلف گواهینامه های الکترونیکی…………………………………………..۷

امضای دیجیتالی از دید برنامه نویسی…………………………………………………۸

چگونه یک امضای دیجیتالی درست کنیم؟…………………………………………۹

نحوه عملکرد یک امضای دیجیتال……………………………………………………..۱۱

نحوه ایجاد و استفاده از کلید ها…………………………………………………………۱۲

حملات ممکن علیه امضاء های دیجیتالی………………………………………….۱۲

مرکز صدور گواهینامه چیست؟…………………………………………………………..۱۳

رمزنگاری چیست؟……………………………………………………………………………..۱۴

اهداف CA ………………………………………………………………………………………..15

نکاتی در مورد گواهینامه ها……………………………………………………………….۱۶

تشخیص هویت از طریق امضای دیجیتالی…………………………………………۱۶

امضای دیجتالی زیربنای امنیت تبادلات الکترونیکی…………………………۱۷

گفتگو با دبیر کمیته IT دفتر مطالعات فناوری ریاست جمهوری…….۱۸

۲- SSL چیست؟

۱-۲ InstantSSL چیست؟……………………………………………………………..۲۵

۲-۲ تکنولوژی پیشرفته تائید کردن (Authentication)………………25

۳-۲ دسترسی آنلاین به پروفایل تجاری تان …………………………………….۲۵

۳- مفاهیم رمز گذاری

۱-۳ معرفی و اصطلاحات …………………………………………………………………..۲۵

۲-۳ معرفی الگوریتمهای رمزنگاری …………………………………………………..۲۷

۳-۳ رمزنگاری کلید – عمومی ……………………………………………………….۲۸

۴-۳ مقدار Hash ……………………………………………………………………………29

۵-۳ آیا شما معتبر هستید ؟ …………………………………………………………..۳۰

۶-۳ سیستمهای کلید متقارن …………………………………………………………۳۳

۷-۳ سیستمهای کلید نامتقارن………………………………………………………..۳۵

۴- ساختار و روند آغازین پایه گذاری یک ارتباط امن

۱-۴ پروتکل های مشابه …………………………………………………………………۴۱

۵- مفهوم گواهینامه در پروتکل SSL

۱-۵ مراکز صدور گواهینامه ……………………………………………………………۴۲

۲-۵ مراحل کلی برقراری و ایجاد ارتباط امن در وب ……………………..۴۳

۳-۵ نکاتی در مورد گواهینامه ها …………………………………………………..۴۴

۴-۵ تشخیص هویت ……………………………………………………………………….۴۵

۶ مشکلات و معایب SSL

۱-۶ مشکل امنیتی در SSL    ……………………………………………………..۶۰

۲-۶ مشکلات تجارت الکترونیکی در ایران …………………………………….۶۰

ضمیمه ۱ : پیاده سازی SSL در Windows 2000 Server………………62

ضمیمه ۲ : پراکسی (Proxy)……………………………………………………………………..66

واژه نامه………………………………………………………………………………………………………..۷۷

فهرست منابع………………………………………………………………………………………………

چگونه یک نام مناسب برای سایت خود انتخاب کنیم ؟

دامنه مناسب برای سایت

دامنه مناسب برای سایت

«دیگر هیچ نام مناسبی برای سایت شرکت ما وجود ندارد»، این جمله ای است که بارها از زبان دیگران شنیده ایم ، و معنای آن این است که تمام نام های مناسب پیش از این اشغال شده اند . البته منظور از نام های مناسب ، نام های کوتاه ، شیک ، گویا و البته با پسوند دات کام است . اما اگر کمی خلاق باشیم ، همواره می توانیم نامی را که مناسب سایت و نوع فعالیتمان باشد را انتخاب کنیم .

اجازه دهید که ویژگی های یک دامنه مناسب را بررسی کنیم :

۱-یک دامنه خوب باید کوتاه باشد : البته هرروز پیش از قبل ، شانس یافتن یک دامنه با تعداد حروف کم ، سخت و سخت تر می شود .اگر شما بخواهید نام شرکت خود را به طور کامل در دامنه خود وارد نمایید با این مشکل مواجه خواهید شد . چرا که اجازه ثبت شرکت ها با نامهای ۴ بخشی صادر می شود و در این شرایط بازدیدکنندگان سایت دچار مشکل نگارشی خواهند شد . ضمن اینکه برگردان کلمه های فارسی به املای پینگلیش همواره منحصر به فرد نیست . فرض کنید نام شرک شما وب افزار بی کران باشد ، در این صورت دامین شما به این صورت خواهد بود : webafzarebikaran.com  علاوه بر این که اغلب افراد با درج حروف صدادار مشکل دارند ، حتی می توانند در تلفظ بیکران هم دچار مشکل شوند .

۲-یک دامین خووب بیاد ماندنی است : شما نام های عمومی  را همواره به راحتی حفظ می کنید .دامنه های مانند art.com , fun.com در حافظه بسیار ماندگارند . در عین حال دامنه های دیگری هم وجود دارند که با وجود عمومی نبودن به راحتی حفظ شده اند . نام های مانند :google.com,yahoo.com از این جمله اند که برخی تغییر شکل یافته اند  و یا مخفف یک جمله و یا مفهوم خاص هستند .

خوش آوایی یک کلمه و آهنگین بودن نام سایت دارای اهمیت است به عنوان مثال irna.ir یک گزینه مناسب و irtin.ir یک گزینه نامناسب به نظر می رسد .در مورد سایت های با نام دو بخشی هم باید دقت کرد به عنوان مثال سایت alibaba.com  با سایت babaali.com  متفاوت است .

۳-یک دامنه خوب نباید با دیگر دامنه ها اشتباه شود : برخی افراد نام های را برای خود انتخاب می کنند که قبلا توسط افراد و شرکت های معتبر ثبت گردیده است ، سپس با ایجاد تغییراتی جزیی در آن ، مشابه آن را برای خود ثبت می کنند مانند yahoo4ir.com .

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

۴- سعی کنید املای سخت و پیچیده ای را در نظر نگیرید :مانند cappuccinomag.com

۵-یک دامنه خوب باید بیانگر فعالیت شما یا نوع آن باشد : یک نام خوب دامین باید به گونه ای باشد که هرکسی بتواند با مشاهده آن ، نوع فعالیت شما را تشخیص دهد.البته احتمال اینکه شما نامی پیدا کنید که به صورت تک کلمه ای فعالیتتان را آشکارا بیان کند ، بسیار اندک است با این حال شما می توانید با اضافه کردن برخی کلمه ها به کلمه پایه به دامنه خوبی دست پیدار کنید . به عنوان مثال bestfunny.com

۶-یک دامنه خوب باید مخاطبان شما را درست هدف بگیرد : شما می توانید از پسوندهای جدیدی مانند .ir, .tv, .to استفاده کنید . این انتخاب می تواند بر اساس حوزه کشور و یا تجارت خاص باشد .

۷-خرید دامنه از مالکان آن : در برخی از مواقع می توانید با استفاده از سایت whois  مالکین وب سایت ها و اطلاعات تماسی آنها را یافته و با آن ها تماس بگیرید و دامنه آنها را با قیمت مناسب شرکتتان خریداری نمایید .

توجه شود :

سایت های وجود دارند که می توانند به شما در انتخاب نام مناسب یاری برسانند ، تعدادی از این سایت ها عبارتند از :

www.nameboy.com

www.enom.com

www.yahoo.com

مدیریت دانش چیست؟

مدیریت دانش

مدیریت دانش

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

توجه شود دانش دارای خصوصیات زیر می باشد :

۱- دانش در اثر استفاده تقلیل نمی یابد و کاهش پیدا نمی کند . مصرف کنندگان می توانند بر آن و ارزش آن بیفزایند.

۲- با رشد و توسعه دانش ، دانش را می توان شاخه بندی و بخش بندی نمود .دانش پویا است ، بنابراین یک سازمان باید مرتبا دانش خود را به روز رسانی کند تا بتواند از آن به عنوان یک مزیت رقابتی بهره ببرد .

۳-دانش جوانب نامحسوس بسیاری دارد که تخمین میزان تاثیر آن در سرمایه گذاری را مشکل می کند .

۴-ارزش و اعتبار آن با گذشت زمان تغییر می کند ، از مهم ترین صفات دانش می توان به هنگام بودن ،عمر مشخص و فانی بودن و فرار بودن آن را ذکر کرد .

مدیریت استراتژیک در امنیت فناوری اطلاعات

مدیریت استراتژیک در امنیت فناوری اطلاعات

مدیریت استراتژیک در امنیت فناوری اطلاعات

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

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

امروزه بنگاه ها و موسسات کسب و کار غالبا به اینترنت اتصال دارند و اگر اتصال به اینترنت توسط دیواره آتش (fire wall  ) نشود ، مثل این است که از خانه خارج شوید و در و پنجره های آن را باز بگذارید .

دیواره آتش

دیواره آتش

دیواره های آتش ترکیبی از سخت افزار و نرم افزار ست که مرز بین شبکه ی خصوصی شما و شبکه عمومی اینترنت را محافظت می کند .

جبهه ی دیگری که باید از آن در مقابل خطرهای بیرونی حفاظت شود قابلیت های تماس از راه دور بنگاه است . یکی از روش های بسیار مطمئن برای کاربران راه دور استفاده از تکنیکی به نام secure ID است که وسیله ای در حد و اندازه یک کارت اعتباری است ، که کاربر می تواند آن را با خود همراه داشته باشد و زمانی که بخواهد وارد شبکه شود ۶۰ ثانیه زمان دارد تا از آن استفاده کند .

کاربرد فناوری اطلاعات در اقتصاد دیجیتال

کاربرد فناوری اطلاعات در اقتصاد دیجیتال

کاربرد فناوری اطلاعات در اقتصاد دیجیتال

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

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

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

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

امروزه IT به یکی از بزرگترین تسهیل کننده فعالیت های تجاری در جهان تبدیل شده است . IT توانسته است پنج هدف اصلی هر بنگاه تجاری را برآورده کند که این اهداف عبارتند از :

۱-بهبود کارآیی

۲-کاهش هزینه

۳-بهبود تصمیم گیری

۴-برقراری ارتباط خوب با مشتری

۵-توسعه برنامه های کاربردی استراتژیک جدید

در واقع IT در روش انجام کارهای تجاری تغییرات اساسی ایجاد کرده و تغییر به سمت اقتصاد دیجیتالی را تسهیل نموده است .

اقتصاد دیجیتالی

اقتصاد دیجیتالی

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

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

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

انقلاب اقتصادی

انقلاب اقتصادی

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

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

برخی کابردهای هوش مصنوعی در پزشکی

کاربردهای هوش مصنوعی در پزشکی 

کاربردهای هوش مصنوعی در پزشکی

 

طراحی نرم افزار تشخیص بیماریها بوسیله هوش مصنوعی

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

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

این نرم افزار همچنین می‌تواند بیش از دو هزار بیماری و ۳۰۰ علا‌ئم و نیز اطلا‌عات جامعی در زمینه ۶۰۰ آزمایش پزشکی ۱۳۰ مورد جراحی و ۹۰۰ عنوان دارو را در خود ذخیره کند.

مهمترین قابلیت این نرم افزار بررسی و تشخیص همزمان هزار و ۵۰۰ بیماری و ۱۰۰ هزار رابط فی ما بین بیماریها می با شد و برای کمک بیشتر به پزشکان ده هزار صفحه از متون معتبر پزشکی ، مجلا‌ت ، مقالا‌ت و تصاویر تخصصی در این نرم افزار گردآوری شده است .

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

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

این نرم‌افزار را برای شناسایی بیماران دارای عفونت‌های قلبی توسعه یافته و این در صورتی است که چنین عفونت‌هایی با نرخ مرگ و میر بین ۳۰ تا ۵۰ درصد، از عفونت‌های بسیار وخیم به شمار می‌روند. تشخیص دادن التهابات غشای درونی قلب (اندوکاردیتیک) یک عمل جراحی تهاجمی محسوب می‌شود و قصد از طراحی این نرم افزار تشخیص این عفونت بدون روانه کردن لوله کاوشی به درون مری فرد بیماراست..

تصویری که با استفاده از داخل کردن ابزار آندوسکوپی به درون نای شخص بیمار که با کمک دارو تسکین دهنده ، گرفته می‌شود اصطلاحا قلب‌نگاری فرامری (ترانسوفاژل اندوکاردیوگرام) است که در نوع خود فرآیندی تهاجمی و گران به حساب می‌آید. در واقع یک عمل ۳۰ دقیقه‌ای با این روش بالغ بر ۲۰۰۰ دلار هزینه دربر دارد و از طرفی انجام این عمل به تجهیزات فنی خاصی نیاز دارد که بسیاری از بیمارستان‌ها فاقد آن هستند. این در حالی است که پزشکان می توانند به جای وارد کردن لوله‌های پزشکی، به وارد کردن داده‌های لازم به رایانه و تحلیل آنها بپردازند. در این شیوه عمل، پزشکان ابتدا با ثبت داده‌هایی از جمله ضربان قلب، فشار خون، شمارش گلبول‌های سفید خون، حضور ادواتی نظیر ضربان سازهای قلبی یا سایر دستگاه‌های تعبیه شده، دمای بدن دریافتی بیماران در رایانه، نرم‌افزار دستیار عمل خود را آماده سازی می‌کنند. در این میان، تشخیص نهایی این بیماران نیز شامل اطلاعات داده شده به رایانه خواهد بود. در مرحله بعدی این الگوریتم رایانه‌ای به تحلیل داده‌های موجود برای ارتباط دادن علائم بیماری با تشخیص بیماری می‌پردازد . در ۵۰ درصد موارد این نرم‌افزار می‌تواند ظرف کمتر از ۴ ثانیه یک پیش‌بینی محاسبه‌ای را با دقت ۹۹/۹۹ درصد انجام دهد ، در باقی موارد نیز این نرم‌افزار، بیش از ۸۰‌‌درصد صحت عمل داشته است. البته محققان به این مرحله بسنده نکرده و قصد دارند، گام بعدی پروژه هوش مصنوعی خود را روی ۲۰۰ مورد از پرونده پزشکی بیمارانی اجرا کنند که رایانه، اطلاعی از تشخیص نهایی آنها ندارد.تشخیص عفونت‌های قلبی مشکل است اما اغلب می‌توان آنها را با تجویز و مصرف حدود یک هفته آنتی‌بیوتیک‌ معالجه کرد.

طراحی نرم افزاری بر پایه هوش مصنوعی برای کمک به التیام زخمهای باز

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

مواردی همچون زخم‌ پای بیماران دیابتی یا زخم بیمارانی که به دلیل عوارض دیگری، قبلا فرآیند بیمارستانی را گذرانده‌اند، از موارد شایع و هدف زخم‌های باز محسوب می‌شود. گروهی تحقیقاتی برای کمک به درمان زخم‌های موضعی، برنامه‌ای را توسعه داده‌اند که داده‌های بیماران را پردازش می‌کند؛ اطلاعاتی از قبیل غلظت خون، فاکتورهای رشد، حضور گلبول‌های سفید و تراکم فیبروبلاستی از جمله داده‌هایی است که به رایانه داده می‌شوند. رایانه نیز با استفاده از این داده‌ها مدلی سه‌بعدی از زخم مربوط را ایجاد و چگونگی التیام یافتن و بهبود سریع آن را ظاهر می‌‌کند و بعلاوه زمان بسته شدن زخم را نیز تخمین می‌زند. به ادعای محققان اکنون و بر اساس این مدل، یک زخم معمولی ظرف حدود ۱۳ روز بسته خواهد شد و این در حالی است که پس از گذشت ۲۰ روز تنها ۲۵ درصد از زخم‌های باز موضعی التیام و بهبود می‌یابند. این اعداد و ارقام با آنچه عملا برای بیماران اتفاق می‌افتد، تطبیق می‌کند، اما در این میان نباید از نظر دور داشت که تا اینجای کار تنها در قالب تئوری استفاده شده و مدل حاضر هنوز روی بیماران انسانی امتحان نشده است.

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

نمونه سوال اصول رمز نگاری

نمونه سوال اصول رمز نگاری

نمونه سوال اصول رمز نگاری

قابل توجه دانشجویان دانشگاه امام رضا یک سری نمونه سوال اصول رمز نگاری برای دوستان قرار داده شده است :

  1. انواع تهدیدات امنیتی را نام ببرید و هریک را تعریف کنید.(۳مورد)
  2. موارد زیر را تعریف کنید:
    1. حمله
    2. نقطه اسیب پذیر
  3. خدمات امنیتی را نام ببرید و هر یک را توضیح دهید(۵ مورد)
  4. موارد زیر را تعریف کنید
    1. استراق سمع
    2. دستکاری
    3. جعل
    4. وقفه
  5. حملات فعال و غیر فعال را تعریف کنید.
  6. اصول ششگانه کرکهف را بیان کنید
  7. رمز نگاری متقارن را توضیح دهید
  8. رمزنگاری کلید عمومی را توضیح دهید
  9. منظور از رمزشکنی چیست
  10. رمز شکنی «صرفا متن رمز شده» یا cipherText-Only را شرح دهید
  11. رمز شکنی «متن شناخته شده و اشکار» یا Known-Plaintext را شرح دهید
  12. رمز شکنی «متن انتخابی و شناخته شده » یا Chosen-Plaintext را شرح دهید
  13. اصول رمزنگاری زیر را شرح دهید
    1. استحکام
    2. تازگی
    3. افزونگی
  14. نقاط ضعف هر یک از روش های زیر را بیان کنید
    1. رمز سزار
    2. جانشینی تک حرفی
    3. رمز نگاری دوحرفی Playfair
    4. رمزنگاری چند حرفی هیل
    5. رمزنگاری one-time-pad
  15. روش رمز نگاری one-time-pad را شرح دهید
  16. جعبه جایگشت یا P-BOX را شرح دهید
  17. جعبه جانشینی یا S-BOX را شرح دهید
  18. ویزگی های بنیادین سیستم های مدرن رمز نگاری را نام ببرید
  19. هریک از موارد زیر را شرح دهید
    1. پخش و پراکنده سازی
    2. گمراه کنندگی
    3. اثر فروپاشی بهمنی
    4. برابری طول خروجی و ورودی
  20. معماری فیستلی را با رسم شکل شرح دهید
  21. الگوریتم رمز نگاری DES را با رسم شکل شرح دهید
  22. تفوت الگوریتم DES و ۳DES را شرح دهید
  23. الگوریتم ۳DES را شرح دهید
  24. چهار عملکرد اصلی درون الگوریتم AES را بیان کنید
  25. شیوه کتابچه رمز را شرح دهید
  26. زنجیره سازی بلوکهای رمز CBC را با رسم شکل توضیح دهید.
  27. ویژگی انتشار رو به جلو چیست
  28. ویژگی انتشار خطا چیست
  29. شیوه فیدبک (feedback) را به کمک رسم نمودار توضیح دهید
  30. رمزنگاری به شیوه استریم را توضیح دهید
  31. رمز نگاری به شیوه شمارنده را با رسم شکل توضیح دهید.
  32. دلایل استفاده از شیوه رمز زنجیره بلوک داده چیست
  33. رمزنگاری به شیوه شمارنده به چه منظور ارائه شده است.
  34. کلید عمومی و کلید خصوصی را شرح دهید
  35. الگوریتم RSA را بنویسید.

بررسی معروف ترین الگوریتم های Hash در رمز نگاری

بررسی انواع توابع درهم سازhash function

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

جدید  دریافت فایل پی دی اف مقاله (انتشار فقط با ذکر منبع مجاز ) دریافت

معرفی اجمالی امضای دیجیتال :

در روش امضای دیجیتال مبتنی بر چکیده پیام ، از هر سند یک چکیده کوتاه چند بایتی استخراج می شود . این چکیده کوتاه به طرز بسیار پیچیده ای از تک تک بیت ها و جایگاه آن ها در متن تاثیر می پذیرد و به نحوی محاسبه و استخراج می شود که هرگونه تغییر جزیی یا کلی در متن باعث تغییرات چشمگیر در چکیده آن خواهد شد .

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

برای آنچه در بالا گفته شد دو الگوریتم عمده نیاز می باشد :

  • الگوریتمی بای محاسبه و استخراج چکیده پیام

  • الگوریتمی برای رمزنگاری عمومی

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

حال به معرفی انواع الگوریتم های درهم سازی به شرح ذیل می پردازیم :

 

 

۱ – الگوریتم MD5(Message Digest Version 5) :

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

این الگوریتم ها در ۱۵ سال اخیر کاربردهای بسیاری پیدا کرده است ولی این تابع درهم ساز نیز مانند اسلاف پیشین خود (MD4,MD3,……) در ۱۸ مارس سال ۲۰۰۶ توسط یک کامپیوتر کیفی در عرض یک دقیقه جعل شد و پیام مشابه ای تولید گردید .

الگوریتم MD5 پیامی را با هر طولی پذیرفته و آن را به قطعات ۵۱۲ بیتی تقسیم می کند ، با این استثنا که اخرین قطعه باید ۴۴۸ بیت باشد تا با احتساب ۶۴ بیت که به انتهای آن اضافه می شود تا کلیه قطعات به صورت ۵۱۲ بایتی درآیند .

هرگاه طول مناسب نباشد به انتهای آن مقادیر زائد اضافه می شود .هر بلوک ۵۱۲ بایتی در آرایه ای ذخیره می شود و داده های این آرایه درهم سازی می شوند و سپس مقادیر با هم جمع شده و شیفت داده می شوند . در این روش طول چکیده پیام ۱۶ بایت است .

الگوریتم MD5 درسطح بسیار وسیعی برای تضمین دست نخوردگی و سلامت داده ها کاربرد یافته بود و نهایتا در سال ۲۰۰۶ شکست خورد و در واقع یک برخورد (collision)کشف گردید .

 

 

۲- الگوریتم SHA-1(Secure Hash Algoritm Version 1) :

این الگوریتم توسط اداره استانداردها و فناوری های مدرن آمریکا جهت استفاده عموم بوجود آمد . این الگوریتم در سال ۱۹۹۳ معرفی شد و جایگزین مناسبی برای MD5 بود . مهم تر آن که عنوان استاندارد دولت فدرال آمریکا را با خود یدک می کشید .

البته این روش هم در سال ۲۰۰۵ در هم کوبیده شد .

این روش مانند MD5 است با این تفاوت که طول چکیده پیام ۲۰ بایت می باشد .این روش هم مانند MD5 از or و حلقه های تکرار استفاده می کند .

این الگوریتم در بسیاری از محصولات سخت افزاری و نرم افزاری به کار گرفته شده بود ، در واقع SHA -1 نسخه ارتقا یافته ای از SHA-0 بود که در سال ۱۹۹۳ توسط بیهام در هم کوبیده شده بود . بسیاری از رمزشکن هامعتقد بودند SHA-1 هم به دلیل شباهت به SHA-0 قابل شکستن است و برای مقابله با این ایده سازمان استاندارد آمریکا سریعا نسخه های SHA-256,SHA-512 را معرفی کرد ولی نهایتا برخورد در SHA-1 در سال ۲۰۰۵ و توسط گروهی چینی به سرپرستی ژیایون ونگ شناسایی شد و درستی این ادعا توسط بروس شاینر از بزرگان رمزنگاری جهان اثبات شد و نهایتا برخوردی در سال ۲۰۰۶ رسما ثبت گردید .

از آن جا که پیچیدگی در این الگوریتم دو به توان شصت ونه اعلام شده بود هنوز اندک امیدی باقی بود که در مدت ۶ ماه روش جایگزینی اعلام شود .

 

 

 

 

۳- الگوریتم SHA-2(Secure Hash Algorithm version 2) :

در واقع این روش همانند روش SHA-1 مورد تایید سازمان استاندارد دولت فدرال آمریکا می باشد و از طول چکیده ۲۰ بایتی استفاده می کند . این الگوریتم دارای انواع مختلفی از جمله : SHA-256,SHA-224,SHA-384,SHA-512 می باشد که عدد انتهایی ، طول چکیده پیام تولید شده به بیت را توسط توسط الگوریتم مشخص می کند .

این الگوریتم در سال ۲۰۰۲ معرف و در اختیار عموم قرار گرفت .SHA-256,SHA-512 هر دو الگوریتم های جدیدی به حساب می آیند که اولی بر روی کلمات ۳۲ بیتی و دومی بر روی کلمات ۶۴ بیتی کار می کند .

این الگوریتم ها از لحاظ ساختاری مشابه اند ولی در تعداد شیفت چرخشی ، تعداد دور حلقه و مقادیر ثابت ها با هم فرق دارند .

در این الگوریتم بر خلاف SHA-1 سعی شده است از روش های استفاده شود تا هر چه بیشتر مقادیر ثابت ها تصادفی باشند و امکان پیداکردن آن ها وجود نداشته باشد و این مقادیر در هر حلقه تکرار تغییر می کنند .

 

 

۴- الگوریتم SHA-3(Secure Hash Algorithm Version 3) :

الگوریتم SHA-3 در سال ۲۰۰۶ معرفی شد . البته معرفی این الگوریتم به معنای پایان کار SHA-2 و کشف برخورد در این الگوریتم نبود ، بلکه الگوریتم SHA-3 ارائه شده است تا در صورتی که بر SHA-2 حمله ای وارد شد و شکست خورد ، SHA-3 جایگزین آن شود.

در واقع این الگوریتم بر پایه الگوریتم Keccak مطرح شده است که این الگوریتم هم از بین ۵۱ الگوریتم مطرح شده ، پذیرفته شده است و در سال های ۲۰۰۶ تا ۲۰۰۸ در رقابتی سنگین به عنوان الگوریتم برتر پذیرفته شد و پس از آن به مدت ۲ سال مورد حمله قوی ترین رمز شکنان جهان قرار گرفت.

نهایتا این الگوریتم در سال ۲۰۱۲ به عنوان الگوریتم مورد قبول سازمان استاندارد آمریکا پذیرفته گردید .

در این الگوریتم تعداد حلقه ها از L+12 تا ۲L+12 افزایش یافته و میزان شیفت چرخشی به نزدیکترین توان ۲ افزایش یافته است .

بعد از شکست SHA-1 رمز نگاران به این نتیجه رسیدند که باید دیدگاه خود را تغییر دهند. برای همین در SHA-3 دیدگاه خاصی به نام اسفنجی (Sponge ) مطرح گردید که براساس این دیدگاه داده ها به راحتی جذب می شوند اما به سختی خارج می شوند. در حقیقت طراحان این روش از سیستم رمز گذاری تصدیق و درخت درهم سازی (tree hash ) در معماری خاصی استفاده می کنند .

 

منابع :

۱-کتاب امنیت دادها دکتر ملکیان ویراست چهارم

۲-سایت ها و منابع علمی از جمله سایت ویکی پدیا و کتابامنیت شبکه نوشته جان وایلی

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

الگوریتم ژنتیک

الگوریتم ژنتیک

الگوریتم ژنتیک

الگوریتم‌های ژنتیک، به عنوان یکی از راه‌حل‌های یافتن جواب مسئله در بین روش‌های مرسوم در هوش مصنوعی مطرح است. در حقیقت بدین روش می توانیم در فضای حالت مسئله حرکتی سریع‌تر برای یافتن جواب‌های احتمالی داشته باشیم؛ یعنی می توانیم با عدم بسط دادن کلیه حالات، به جواب‌های مورد نظر برسیم.

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

مانند رنگ چشم یا رنگ مو و البته هر ژن می‌تواند دارای مقادیر مختلفی باشد. مثلاً در رابطه با رنگ چشم می‌توانیم دارای مقادیری متناظر با مشکی، قهوه‌ای و آبی و سبز و… باشیم. هنگامی که دو ارگانیزم به تولید مثل می‌پردازند، در حقیقت ژن‌های خود را با یکدیگر ترکیب می‌کنند. بدین صورت که ارگانیزم تولید شده که در این متن از این بعد آن را نوزاد می‌نامیم، دارای نیمی از ژن‌های یک والد و نیم دیگر از والد دیگری است. این عمل را ترکیب می‌نامیم. گاهی اوقات بعضی از ژن‌ها دارای جهش می‌شوند. این جهش تغییری در ساختار کروموزوم ایجاد نمی‌کند، اما با توجه به این‌که مقدار جدیدی به یک ژن تخصیص می‌یابد، موجب بروز خصوصیت جدیدی می‌شود. از این اتفاق با نام جهش یاد می‌کنیم.

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

۱۰۱۱۰۱۱۰۱۰۰۰۰۱۰۱۰۱۱۱۱۱۱۱۰

‌یا

۱۲۶۴۱۹۶۳۵۲۴۷۸۹۲۳۴۵۵۵۴۸۲۱۶

‌برای شروع فعالیت الگوریتم ژنتیک نیازمند جمعیتی از کروموزوم‌ها به صورت تصادفی هستیم. یعنی در ابتدا به عنوان قدم اول، تعدادی کروموزوم به صورت تصادفی ایجاد می کنیم. فرض کنید N کروموزوم و این N را جمعیت آغازین می‌نامیم.

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

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

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

کروموزوم ها در الگوریتم ژنتیک

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

بدین ترتیب دو کرومزوم جدید تولید می‌شود (دو جواب جدید). راه دیگری نیز برای انجام عمل ترکیب وجود دارد و آن انتخاب چند نقطه شکست است. مثلاً به شکل زیر برای ۲ نقطه شکست توجه کنید.

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

ساخت کروموزوم جدید

نتیجه نهایی

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

بینایی ماشین

بینایی ماشین

بینایی ماشین در هوش مصنوعی

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

کنترل کیفیت و بینایی ماشین

بینایی ماشین

کنترل کیفیت خط تولید

یکی از کاربردهای بینایی ماشین در کنترل کیفیت خروجی کارخانه‌ها می‌باشد. شکل ۱۲ مثالی بسیار ساده از چنین سیستمی است. اجناس تولید‌شده در کارخانه که برروی یک نوار نقاله قرار گرفته‌اند و توسط یک دوربین CCD  برای آزمایش دیده می‌شوند و محصولات با کیفیتِ مناسب اجازه عبور پیدا خواهندکرد. چنانچه محصولی دارای استانداردهای مناسب نباشد از ادامه مسیر حذف می‌شود. معیار این استانداردها می‌تواند لبه‌های زائد، خراشیدگی و بادکردگی و تورم روی فلزات و بسیاری چیزهای دیگر باشد. در این مثال ما در پی یافتن مکانیزم خط تولید نیستیم و فقط می‌خواهیم ببینیم که یک شی تولیدشده چگونه استاندارد تشخیص داده شده و اجازه عبور می‌یابد و برعکس چگونه به بعضی از اشیاء اجازه عبور و ادامه دادن داده نمی‌شود.

 عکس‌برداری
در این مثال ما سعی در مکانیزه کردن فرآیندی یکنواخت داریم که به‌صورت معمول و تکراری توسط انسان انجام می‌شود . اولین مسأله و مشکل ما این است که چگونه عکس‌های تهیه شده از اشیایی که در حال حرکت بر روی نوار نقاله هستند را تبدیل به داده‌های قابل فهم و تفسیر برای سیستم نماییم، که این مشکل توسط دوربین CCD  حل می‌شود. عملکرد این دوربین را می‌توان به عملکرد چشم انسان که قادر است  سطوح  مختلف نور را تشخیص دهد تشبیه نمود.

چشم انسان و ساختار آن

ساختار چشم انسان

چشم انسان

چشم انسان که در شکل ۱۳ نشان داده شده است، تقریباً یک عدسی کروی با قطر ۵/۲ سانتی‌متر   می‌باشد که از چندین لایه مختلف که درونی‌ترین آن‌ها شبکیه نام دارد تشکیل شده است. ماهیچه‌های اطراف چشم اندازه لنز را تنظیم می‌کنند که این‌کار چشم را قادر به زوم (Zoom) کردن روی اشیاء می‌کند.

وظیفه عدسی چشم، فرم و شکل دادن به تصویری است که توسط میلیون‌ها سلول گیرنده مخروطی (Cone) و میله‌ای (Rod) گرفته شده و برروی پرده شبکیه افتاده است، می‌باشد. سلول‌های میله‌ای به یک عصب معمولی که از انتها به شبکیه ختم می‌شود و فقط در سطح نور پایین فعال است متصلند و سلول‌های مخروطی هر کدام به یک عصب اتصال دارند. آن‌ها در نورهای شدیدتر، بیشتر فعالند  و میزان درک ما از رنگ‌ها را نوع فعالیت این‌ مخروط‌ها مشخص می‌کند.

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

 دوربین CCD 

CCD از جهت عملکرد تقریباً مانند چشم انسان کار می‌کند. نور از طریق یک عدسی وارد دوربین و برروی یک پرده مخصوص تصویر می‌شود که تحت عنوان تراشه CCD شناخته می‌شود. تراشه Coupled Device Charge(CCD) که تصاویر با استفاده از آن گرفته می‌شوند از تعداد زیادی سلول تشکیل شده که همگی در یک  تراشه با الگوی خاصی مرتب شده‌اند و تحت عنوان پیکسل (Pixels) شناخته می‌شوند.

سیگنال دیجیتال

سیگنال دیجیتال

زمانی که تراشه CCD این اطلاعات را دریافت می‌کند، آن‌ها را به شکل سیگنال‌های دیجیتالی از طریق کابل‌هایی به سیستم دریافت‌کننده  می‌فرستد و بعد تصاویر در این سیستم به صورت مجموعه‌ای از اعداد ذخیره می‌شوند. همان‌طور که در شکل ۱۴ می‌بینید هر عدد نماینده یک پیکسل است.

درک تصویر

درک تصویر

 درک تصویر

با هر تصویر، چه با دوربین گرفته شود و چه با چشم انسان، مقداری تحریف و تغییر شکل و به عبارتی “نویز (Noise) ” وجود دارد. البته در مورد مثال ما در سیستم خط تولید این مسأله چندان اهمیت ندارد اما در موقعیت‌هایی که نیاز به دقت بالا وجود دارد باید از نورپردازی خاصی برای تصویربرداری استفاده شود.

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

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

خوشبختانه در حال حاضر تکنیک‌هایی برای انجام این کار وجود دارد. از بین بردن نویزها به‌صورت نرمال توسط تعدادی از توابع ریاضی یا الگوریتم‌هایی که تحت عنوان ‘Treshholding’ یا ‘Quantizing’ نامیده می‌شود انجام می‌گردد. این فرآیند بسیار حرفه‌ای و پیچیده‌ای است و نیاز به دانش و پشتوانه بالای ریاضی دارد. زمانی که خرابی‌ها از بین رفت، می‌توانیم پردازش عکس‌ها را ادامه دهیم  که این کار با استخراج صورت‌ها و حالت‌ها از یک تصویر انجام می‌شود. یک شیوه معمول که غالباً مورد استفاده قرار می‌گیرد استخراج لبه‌ها که در شکل ۱۵ دیده می‌شود، می‌باشد.

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

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

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

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

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

یعنی در این مثال، یک صحنه فرضی شامل ده‌ها یا حتی صدها شی مختلف در معرض دید است. این اشیاء در اندازه‌ها و تحت زوایای مختلف که متأثر از نوع نورپردازی هم هستند به نمایش درمی‌آیند و به همین دلیل برای تشخیص این اشیاء نیاز به تکنیک‌های هوش‌مصنوعی (Ai) می‌باشد.