ماژول های یک  سیستم ERP

 

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

 

 مزایای پیاده‌سازی ERP

  1. ایجاد یکپارچگی سازمانی از بعد اطلاعاتی و افزایش سازگاری در اطلاعات موجود در سازمان.
  2. استانداردسازی فرایندهای سازمانی بر اساس تجربیات برتری که شرکت های عرضه کننده نرم‌افزار از سازمانهای مختلف به دست آورده اند.
  3. مهندسی مجدد فرایندهای سازمانی و کاهش زمان انجام آنها.
  4. امکان نصب و راه اندازی سریعتر سیستمهای مرتبط با ERP در سازمان از جمله ماژولهای مختلف این نرم افزار و یا سایر نرم‌افزارهای کاربردی که از طرف عرضه کنندگان ERP ارائه نشده و مخصوص آن سازمان هستند.
  5. امکان و یا تسهیل توسعه سیستمها و تکنولوژیهای جدیداز جمله JIT،ABC و…. ،
  6. تغییر تمرکز از برنامه نویسی کامپیوتری در سازمان به بهبود فرایندها،
  7. فراهم شدن زیر ساخت لازم به منظور پرداختن به SCM و CRM ، این دو مبحث در حال حاضر تبدیل به دو جزء جدایی ناپذیر ERP2 شده اند.
  8. توسعه زیر ساخت لازم به منظور وارد شدن به بحث e-Business.
  9. یکپارچه سازی اطلاعات: بر خلاف سیستهای دیگر که ممکن است هر یک از بخشهای مالی، فروش، تولید و… گزارشهای ضد و نقیضی در مورد فعالیتها و سهم خود در افزایش میزان درآمد شرکت ارائه دهند،ERP به شرکت کمک خواهد کرد که اطلاعات مورد نظر را بصورت جامع و کامل از یک سیستم بدست آورد.
  10. یکپارچگی اطلاعات در مورد سفارشات مشتریان :ERP کمک خواهد کرد تا سفارشات مشتریان از زمان دریافت سفارش از مشتریان، دریافت مواد اولیه از تامین کنندگان کالا برای تولید آن سفارش تا تحویل کالای تولید شده به مشتری و دریافت وجه آن بطور یکپارچه در یک سیستم نگهداری شود و به این ترتیب شرکتها قادرند براحتی سفارشات را ردیابی کنند و هماهنگی لازم بین بخشهای مختلف شرکت را ایجاد نمایند.
  11. استاندارد سازی و سرعت بخشیدن به فرآیند تولید: سیستمهایERP با استاندارد سازی فرایندهای تولید و استفاده از یک سیستم کامپیوتری منسجم باعث صرفه جویی در زمان و افزایش بهره وری خواهند شد.
  12. استاندارد سازی اطلاعات مربوط به منابع انسانی شرکت، صرفه‌جویی در زمان و جلوگیری از دوباره کاری.

سیستم های تشکیل دهنده ERP

سیستم های ERP شامل مجموعه‌های گوناگون و متعددی است که یکپارچگی آنها اهمیت و ارزشی مضاعف را برای سازمان و شاخه های مختلف آن پدید می آورد :

  • مجموعه زیر سیستم های لجستیک
  • مجموعه زیر سیستم های تولید
  • مجموعه زیر سیستم های مالی
  • مجموعه زیر سیستم های مدیریت منابع انسانی
  • مجموعه زیر سیستم های اطلاعات فنی

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

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

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

ماژول های HR به سیستم ها و فرآیندها یی که در تقاطع بین مدیریت منابع انسانی (HRM) و فن آوری اطلاعات هستند اشاره می کند. ارتباط ماژول های منابع انسانی و مالی از طریق یک پایگاه داده، مهم ترین تمایز این سیستم با سیستمهای قدیمی می باشد.

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

 این ماژول‌ها(زیر سیستم های مرتبط با سیستم مدیریت منابع انسانی) سازمان را قادر می­ سازند تا نسبت به جلب و حفظ نیروی انسانی خود به صورت بهینه اقدام نماید و همچنین زمینه لازم را برای دریافت  هر گونه اطلاعات منابع انسانی فراهم می­ سازد.

معمولا مدیریت منابع انسانی از زیرسیستم های ذیل تشکیل می شود:

  • مدیریت اطلاعات پرسنلی
  • مدیریت ساختار سازمانی
  • مدیریت­ حضور و غیاب
  • مدیریت آموزش
  • مدیریت حقوق و دستمزد
  • مدیریت ارزیابی عملکرد
  • مدیریت جذب و استخدام

نویسنده : 

روش های اجرای سیستم های ERP

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


متدولوژی Accelerated SAP)ASAP)
متدولوژی ASAP یک طرح جزیی از پروژه SAP است که تمام فعالیت های پیاده سازی را در بر می گیرد. طی کردن مراحل این پروژه سریع تر از پروژه های دیگر است. این متدولوژی دارای ۵ فاز و ۷ جریان کاری (Work flow) می باشد.
• فازاول: آماده سازی پروژه
در این فاز کارهای ابتدایی آماده سازی پروژه انجام می شود، همچنین در این مرحله، تهیه منشور پروژه ، ایجاد ساختار و سازمان پروژه، بازبینی و تصحیح طرح و استراتژی پیاده سازی اجرای راه حل، ایجاد تیم های کاری پروژه و تخصیص وظایف، تهیه طرح و برنامه عملیاتی پروژه به صورت تفصیلی، تعریف نیازمندیهای فنی ، برگزاری جلسات آغازین جهت شروع پروژه، شناسایی مدل لازم برای انجام فرایند شناخت ، مدل سازی و تحلیل نیازمندی ها و… انجام می گردد.
• فازدوم: طراحی مدل کسب وکار
بازنگری، شناسایی و طراحی فرایندهای حوزه های مختلف کاری ازطریق یک روش استاندارد در این مرحله انجام می گیرد به علاوه بررسی و مدلسازی اهداف کسب و کار و ساختار موجود آن صورت می گیرد. در این فاز پس از مرحله مدل کردن وضعیت فعلی فرآیند های سازمان به مرحله مدل کردن وضعیت آینده سازمان پس از تغییرات می رسیم.
• فاز سوم: محقق سازی
در این فازکارهایی از قبیل آموزش تیم پروژه، پیکربندی اولیه سیستم ، اعمال تغییرات در نرم افزار ERP پایه تا تبدیل شدن به راه حل ERP مناسب، سفارشی سازی با استفاده از ابزارهای تعریف شده، ایجاد و تست واسط های لازم ، ایجاد ابزارهای گزارش گیری و تست آنها، تست یکپارچگی سیستم انجام می گیرد. همچنین در این فاز برنامه ای برای فاز گذار تنظیم می گردد.
• فاز چهارم: آماده سازی نهایی
این فاز به بازبینی طرح وآماده سازی نهایی پروژه تخصیص یافته است. در این فاز آموزش مدیریت سیستم و کاربران، انجام تست های نهایی سیستم، اعمال تعدیلات و تغییرات نهایی، انتقال داده های سیستم های قبلی به سیستم های جدید انجام می شود
• فاز پنجم : راه اندازی نهایی وپشتیبانی
تهیه و بازبینی برنامه راه اندازی سیستم، تصحیح خطاها، تهیه طرح و برنامه پشتیبانی و زمانبندی آن و فعالیت های اختتامیه پروژه در فاز پایانی انجام می گیرد.

متدولوژی AIM)Application Implementation Method)
متدولوژی ارائه شده توسط شرکت اوراکل با نام AIM می باشد.دامنه AIM بسیار گسترده است در این زمینه سرمایه گذاری شرکت ها ، بخش ها و گروهی از شعبه ها وجود دارد.
• فاز اول : فاز تعریف
در این فاز پروژه طراحی می شود.این فاز به دنبال شناخت اهداف سازمان و درک فرایندهای کسب و کار سازمان است و طراحی مدلی برای ارزیابی این مساله که نیل به آن اهداف در چه مدت زمانی و با چه منابع و هزینه هایی امکان پذیر است. همچنین اگرنیاز به تغییر در فرایندهای کسب و کار سازمان باشد، طراحی فرایندها در این فاز صورت می گیرد. این فاز، مرحله تشکیل تیم پروژه و تخصیص وظایف به آن هاست.
• فاز دوم : تحلیل عملیات
در این مرحله تیم پروژه سناریوهای نیامندی های کسب و کار را تولید می کند. نقاط ضعف مشخص می شوند و راه حل پیشنهادی جدید مطرح می شود. مدلی برای معماری کاربردی و معماری تکنیکی طراحی می گردد که در فاز طراحی ر اه حل از آن استفاده می شود. اگر سیستم جدید به سفارشی سازی نیاز داشته باشد طراحی مستندات شرح آن، توسط تیم پروژه در این مرحله انجام می شود.
• فاز سوم : طراحی راه حل
هدف این فاز طراحی جزء به جزء راه حل جدید برای نیازمندی های کسب و کار سازمان می باشد همچنین بنا به نیاز سازمان و در صورت مقرون به صرفه بودن می تواند ویژگی های انتخابی دیگری به راه حل اضافه شود.
• فاز چهارم : فاز ساخت
کد نویسی و تست تمام بخش های سفارشی شده نرم افزار، تطبیق نرم افزار به صورت کاربردی در سازمان، تبدیل داده ها و طراحی واسط های کاربری در این فاز شکل می گیرد. تست کارایی و تست سیستم در این فاز انجام می شود. هدف این فاز تدوین و فرموله کردن جزئیات نیازمندی ها برای سیستم کاربردی کامپیوتر و ارائه یک راه حل است.
• فاز پنجم : انتقال
در این مرحله تیم پروژه سیستم طراحی شده را به سطح کل سازمان گسترش می دهند. یعنی تمام اجزایی که تاکنون پیاده سازی شده اند یکجا جمع شده و کنار هم قرار می گیرند. در زمانی که تیم تکنیکی محیط سازمان را برای اجرای یکپارچه و انتقال اطلاعات پیکربندی می کنند، تیم پروژه به آموزش کارکنان می پردازد و کارکنان سیستم جدید را جهت تعیین میزان رضایتشان تست می کنند.
• فاز ششم : بهره برداری
آخرین فاز پیاده سازی ERP استفاده از برنامه های کاربردی است که بصورت مستقل در محیط واقعی وارد عمل می شود . در این مرحله فرآیندهای کاری استاندارد جای فرآیندهای کاری جاری سازمان را می گیرد و کلیه سیستم های قدیمی از مجموعه حذف می گردد.

متدولوژی Signature
شرکت Epicor scala نیز یکی دیگر از تولید کنندگان ERP در دنیا است. متدولوژی این شرکت به نام Signature ، برای پیاده سازی ERP از ۶ فاز متوالی تشکیل شده است.
• فازاول: تحلیل
اهداف این فاز، تعریف نیازمندیهای کسب و کار مشتری، تعیین افراد کلیدی تیم پروژه، و طراحی نمونه اولیه سیستم می باشد . دراین فاز نیازمندیهای کسب و کار ارزیابی می شود، افراد کلیدی تیم پروژه آموزش می بینند.
• فازدوم: سازماندهی پروژه
در این مرحله، اهداف پروژه تعیین و تصویب می گردند، برنامه پروژه تهیه، تصحیح و تصویب شده ، تیم پروژه و برنامه زمانبندی آن مشخص می شود. همچنین مدیریت پروژه و کنترل روشها در این فاز برقرار می شوند.
• فاز: سوم طراحی
هدف این فاز طراحی و تنظیم سیستم می باشد. طراحی روشهای کسب و کار، طراحی ورودیها، خروجیها و واسط کاربران، تنظیم پارامترهای سیستم و تست آنها و آموزش کاربران نهائی سیستم همگی در این فاز محقق می شوند.
• فاز چهارم: آماده سازی داده ها
این فاز به تهیه، انتقال و معتبر سازی داده ها اختصاص یافته است. فعالیت های این فاز شامل : تعریف الزامات تبدیل داده ها، تعیین و ساخت روشهای تبدیل، انتقال داده ها به سیستم جدیدو ایجاد اطمینان از صحت داده های منتقل شده می باشد.
• فاز پنجم: اجرای آزمایشی
هدف این مرحله، بازبینی پروژه جهت اطمینان از عملکرد صحیح سیستم می باشد. به علاوه، اجرای آزمایشی سیستم با توجه به نیازمندیهای کسب و کار و انجام تنظیمات نهائی سیستم در این فاز صورت می گیرند.
• فاز ششم: تحویل
فاز نهایی به عملیاتی کردن سیستم جدید، بستن و تحویل پروژه تخصیص می یابد. عملیاتی کردن سیستم، ارزیابی پروژه، انجام کنترل کیفیت، تحویل به تیم پشتیبانی نیز در این فاز انجام می شوند
متدولوژی های مذکور هرسه قابلیت پیاده سازی همزمان در چند سایت یک سازمان را دارند. از لحاظ آغاز پشتیبانی پس از پیاده سازی هر سه متدولوژی در فاز پایانی چرخه پشتیبانی را آغاز می کنند. متدولو ژی های پیاده سازی فوق هر سه تا حدودی قابلیت سفارشی سازی و انطباق موردی با نیازهای سازمان ، خریدار را دارند. اما در این مورد اگر میزان سفارشی سازی از میزان خاصی فراتر برود SAP بخش های سفازشی شده مذکور را پشتیبانی نمی کند. در Epicor و SAP تنها یک فاز به تحلیل فرایندهای کسب و کار تخصیص یافته در حالیکه Oracle در ۲ فاز از متدولوژی به این مورد می پردازد که مسلما تاثیر مستقیمی بر شناخت بهتر فرایندهای سازمان دارد و به طراحی بهترمنجر می شود اما فرایند پیاده سازی پرو ژه را طولانی تر می کند. رویکرد متدولوژی ASAP بدون تجزیه و تحلیل به صورت عمیق و در روش AIM مطابقبت با نیازهای خاص سازمان و رویکرد روش Signature تجزیه و تحلیل عمیق از الزامات کسب و کار است. پیاده سازی ASAP سریع و متمرکز و با هزینه کم ولی در AIM پیاده سازی سریع و متمرکز و با هزینه نسبتا بالا و در Signature هزینه پیاده سازی کم است. هر سه متدولوژی روال تکرار پذیری و تجزیه و تحلیل به صورت عملیاتی گرا است. انتقال دانش برای کاربران در ASAP کم است به دلیل سریع بودن پروژه و تخصیص زمان ناکافی مشاوران و مستندات کم است ولی در AIM مستندات زیاد و انتقال دانش زیاد به دلیل این که مستندات منبع خوبی برای ارتقاء و سفارشی سازی در آینده هستند. روش ASAP و Signature برای کسب و کارهای کوچک و متوسط مناسب است و روش AIM برای کسب و کارهای بزرگ و پیچیده نیز مناسب است و پروژه های پیچیده را پشتیبانی می کند.

منبع : artarad.ir

نویسنده :

کارگزینی و حضور غیاب در یک سیستم ERP

کارگزینی و حضور غیاب در یک سیستم ERP

 

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


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

 

منبع : http://artarad.ir

نویسنده :

معرفی ماژول منابع انسانی یک سیستم ERP

معرفی ماژول منابع انسانی یک سیستم ERP

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


اغلب نرم افزارهای ERP نیز با استقرار ماژول منابع انسانی خود وارد یک سازمان می شوند. این ماژول به واحد مدیریت منابع انسانی این قابلیت را می دهد تا اطلاعات مربوط به نیروی انسانی خود را  نگهداری کنند و همچنین به پرسنل این امکان را می دهد تا برخی از اطلاعات خود را ویرایش و بروز رسانی نمایند.
اما سوال اینجاست که ماژول منابع انسانی دربرگیرنده کدام اقلام اطلاعاتی است؟ لیست ذیل به بیان برخی از این اقلام و امور مرتبط با آنها می پردازد
•    برخی اقلام اطلاعاتی پرسنل مانند نام، نام خانوادگی، جنسیت، تاریخ تولد، … . بسیاری از مواقع گزارشات مدیریتی از این اطلاعات کمک بسزایی به مدیران سازمان در خصوص وضعیت جاری سازمان(بازه سنی کارکنان، سطح تحصیلات . ..) و برنامه های آتی استخدام می کند.
•    اطلاعات تماس ضروری نیز از بخشی از سیستم منابغ انسانی هستند که در شرایط مقتضی استفاده می شوند.
•    اطلاعات اعضاء خانواده نیز در این ماژول جایریزی می شوند که معمولا باید بروز باشند چرا که ممکن است در میزان پرداختی به کارکنان تاثیر مستقیم داشته باشد.
•    اطلاعات مربوط به پست سازمانی پرسنل، وضعیت استخدامی ایشان، واحد سازمانی  نیز از جمله داده های موجود در سیستم منابع انسانی هستند. سابقه تغییرات ایجاد شده در این چارت(درختواره ای  یا چارت سازمانی) از اهمیت بسیاری برخوردار می باشد.
•    میزان حضور کاری پرسنل و آیتم های مرتبط با حضور غیاب کارکنان(اضافه کاری، تاخیر در آغاز کار، تعجیل در پایان کار و …) و محاسیات ماهانه این آیتم ها در ماژول حضور غیاب که از زیر سیستم های مدیریت منابغ انسانی است انجام می شود.
•    حقوق و دستمزد نیز از زیر مجموعه های سیستم منابع انسانی است. اطلاعات به جا مانده از این زیر سیستم در طول زمان، امکان بررسی میزان پیشرفت و افزایش حقوق کارکنان را مهیا می کند. همچنین با این اطلاعات می توان به مقایسه دریافتی کارکنان در واحد های مختلف در وضعیت جاری سازمان پرداخت و در صورت لزوم اقداماتی را انجام داد.
•    اطلاعات آموزش کارکنان مانند دوره های آموزشی سپری شده توسط ایشان، مدت زمان هر دوره، مهارت های فعلی آنها و حتی مهارت های مورد نیازشان در این ماژول قرار می گیرد. با این تفاسیر قابلیت ارزیابی کارکنان برای افزایش حقوق و یا برنامه ریزی های آموزشی آنها به وجود می آید.
•    مدیریت جذب و استخدام نیروی انسانی جدید نیز از طریق ماژول مدیریت منابع انسانی انجام می شود. نگهداری اطلاعات داوطلبان استخدام در سازمان، وضعیت جاری ایشان، مقایسه تواناهای داوطلبین برای جذب و …. در زیر سیستم جذب و استخدام اتفاق می افتد.
هر یک از اطلاعات ذکر شده با فرایندها و گردش های کاری مختلف و در تعامل با سایر اطلاعات و زیر سیستم ها،  کاربرد خاصی در برنامه ریزی منابع انسانی ایفا می کنند.
به طور مثال کاربرد زیر سیستم حضور و غیاب، دریافت و کنترل اطلاعات کارکرد پرسنل سازمان و تهیه گزارشات متنوع در مورد ساعات حضور و غیاب کارکنان سازمان با توجه به برنامه‌های کاری تعریف شده برای هر دسته از کاربران می‌باشد. از ویژگی های مهم این زیرسیستم، ارسال خودکار اطلاعات حضور و غیاب جهت انجام محاسبات حقوق کارکنان به سیستم حقوق و دستمزد، ایجاد ارتباط با دستگاه کارت ‌ساعت ، امکان ورود اطلاعات به ‌صورت دستی و غیرمکانیزه و … می‌باشد. به طور کلی سیستم حضور و غیاب می بایست امور زیر را پوشش دهد
•    عملیات مربوط به ورود و خروج کارکنان شامل مرخصی ها، مأموریت ها، اضافه‌کاری، شیفت ها، تقویم‌کاری، کارکرد
•    ثبت تقویم‌‌کاری با تعیین تعطیل رسمی، تعطیل آخر هفته، تعطیل توافقی، رخدادها و مناسبت های تاریخ
•    ثبت شیفت های کاری از جمله شیفت هفتگی، گردشی(نوبت کاری)
•    مأموریت ها شامل انواع درخواست مأموریت مانند ساعتی، روزانه، داخل کشور، خارج از کشور
•    حکم ماموریت محاسبه کارکرد پرسنل به صورت روزانه و ماهیانه
•    امکان تهیه گزارشات متنوع آماری کارکردها، مغایرت ها، مرخصی‌ها، مانده مرخصی ها، مأموریت ها

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

نویسنده : 

منبع : http://artarad.ir

رمزنگاری یا Cryptography

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

 

 

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

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

انواع رمز نگاری:
سه نوع رمز نگاری وجود دارد: فیزیکی – ریاضیاتی – کوانتومی

1 -رمزنگاری فیزیکی Physical Cryptography
روش های مختلفی دارد، عمومی ترین این روش عبارتیست از جابجایی یا جایگزینی حروف (کاراکترها) یا کلمات میباشد. این روش شامل یک حالت دیگری است که به آن Stenography گفته می شود. این روش علمی است که شامل پنهان سازی اطلاعات داخل اطلاعات دیگر است مانند یک تصویر. به طور کلی در رمز نگاری فیزیکی پردازش ریاضی روی متن صورت نمی گیرد. Cipher روشی است که برای کد کردن حروف (کاراکترها) برای پنهان کردن ارزش خود استفاده می شود. به فرآیند کد کردن یک پیام Ciphering گفته می شود.

2 – رمزنگاری ریاضی (Cryptography Mathematical)
از فرآیندها و پردازشهای ریاضی روی متن یا کاراکترها استفاده می کند. معروفترین این روش ادغام سازی یا همان Hashing است. در این روش یک محاسبه روی پیام انجام می شود و آنرا به یک مقدار عددی تبدیل می کند که به آن Hash Value گفته می شود. مثال:
هر کاراکتر را در 2 ضرب کن
مقادیر بدست آمده را با هم جمع کن
حاصل جمع را بر 10 تقسیم کن

Message : this
ASCII Value : 116 104 105 115
Calculated Values : 232 208 210 230
Hash value Calculation : ( 232+208+210+230)/10
Hash value : 88

این الگوریتم یک طرفه است و نمی توان از مقدار Hash به متن رسید.

3 – رمزنگاری کوانتومی (Cryptography Quantum)
روشی جدید در رمز نگاری می باشد. تا قبل از 2002 کاربرد آن در آزمایشگاهها و برخی مراکز امنیتی دولتی بود. در این روش پیام با استفاده از یکسری فوتون ارسال می گردد. اگر دریافت کننده ترتیب (توالی) و حال مثبت و منفی (قطب مغناطیسی) فوتون ها را بفهمد میتواند پیام را decode کند. در غیر اینصورت فوتون ها تغییر یافتده اند. این به گیرنده مفهماند که فرد یا افرادی پیام را شنیده اند. فرستنده پس از اطلاع از این موضوع Pattern (قالب) پیام را عوض کرده و شروع به ارسال مجدد پیام با یک سری جدیدی از فوتون ها می نماید. رمزنگاری کوانتومی بسیار پرهزینه است و کاربرد محمدودی دارد.

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

  • Frequency Analysis
  • Algorithm Errors
  • Brute Force Attacks
  • Human Error
  • Social Engineering

الگوریتمهای رمز نگاری
3 روش اصلی برای کد کردن عبارتند از: Hashing – Symmetric  Asymmetric

الگوریتم های Hashing دو نوع اصلی دارد: SHA و MD

1 – الگوریتم SHA – Secure Hash Algoritm 

  • یک طرفه است
  • یک کد 160 بیتی تولید می کند.

2 – الگوریتم MD – Message Digest:

  • یک الگوریتم یکطرفه است.
  • چندین نسخه دارد که مهمترین آنهاعبارتند از: MD2 ,MD4,MD5
  • یک کد 128 بیتی تولید می کند.
  • از hashing برای اطمینان از صحت اطلاعات استفاده می شود.

الگوریتمهای متقارن (Symmetric):
یک کلید امنیتی تولید می کند. یک کلید اختصاصی دارد که برای بقیه افراد غیر مجاز قابل استفاده نیست. اگر این کلید ذر اختیار دیگران قرار گیرد و یا دزدیده شود کل فرآیند با شکست مواجه می شود. کلید بین فرستنده و گیرنده یکسان است.

انواع الگوریتمهای متقارن:
1 – (DES (Data Encryption Standard

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

2 – (AES (Advanced Encryption Standard

  • جایگزین DES می باشد.
  • کلیدهای 128 و 192 و 256 بیتی تولید می کند.
  • توسط 2 نفر بنامهای Vincent Rijmen و Joan Damon طراحی شده است.

3 – 3DES

  • نسخه ارتقا یافته DES می باشد.
  • از DES امن تر می باشد و شکستن قفل آن بسیار مشکل است.

4 – CAST

  • توسط Carlisle Adams and Stafford Tavares طراحی شده است.
  • شرکتهای مایکروسافت و IBM از این الگوریتم استفاده میکنند.
  • کلیدهای 40 و 128 بیتی استفاده میکند.

5 – RC

  • توسط آزمایشگاههای RSA استفاده می شود.
  • طراح آن Ron Rivest می باشد.
  • انواع نسخه ها: RC5 , RC6
  • کلید 2048 بیتی تولید می کند.

6 – Blowfish

  • توسط سیستمهای Counterpane ایجاد گردیده است.
  • نویسنده اصلی آن Bruce Schneier می باشد.
  • نسخه بعدی آن Twoofish می باشد.
  • از کلیدهای 448 بیتی استفاده میکند.

7 – (IDEA (International Data Encryption Algorithm

  • از کلید 128 بیتی استفاده میکند
  • به لحاظ سرعت و قبلیت شبیه الگوریتم DES می باشد ولی امن تر از آن است.
  • در(PGP (Pretty Good Privacy (امنیت در پست الکترونیک) استفاده می شود.

الگوریتمهای نا متقارن (Asymmetric Algorithm):
از 2 کلید برای code و decode کردن داده ها استفاده می کند. این کلیدها را Public key و Private key می گویند. Public برای کد کردن پیام توسط فرستنده و Private key برای رمزگشایی توسط گیرنده استفاده می شود.

انواع الگوریتمهای نامتقارن:
1 – RSA

  • طراحان آن Ron Rivest , Adi Shamir , Leonard Adleman می باشد.
  • هم برای امضای دیجیتال و هم برای SSL استفاده می شود.

2 – الگوریتم Diffie Helman 

  • توسط 2 نفر بنامهای دکتر W.Diffie و دکتر M.E.Hellman توسعه یافته است.

3 –(ECC (The Elliptic Curve Cryptosystem

  • شبیه الگوریتم RSA است.
  • در شبکه های وایرلس کاربرد دارد.

4 – EL Gamal

  • نام دیگر آن DSA است.
  • برای انتقال امضای دیجیتال و تبادل کلیدها استفاده می شود.
  • در سال 1985 ایجاد شده است.

حملات در رمزنگاری

  • Attacking the key
  • Attacking the Algorithm
  • Intercepting the Transmission
  • Birthday Attack
  • Weak key Attack
  • Mathematical Attack

منبع: https://geekboy.ir

معرفی فایروال های نسل بعدی NGFW

فایروال های سنتی قدیمی بر اساس فیلتر کردن یک پورت یا یک پروتکل خاص فعالیت می کردند. مثلا کلیه ترافیکی که مربوط به پورت 80 بوده را بسته و به پروتکل HTTP اجازه عبور نمی دادند و یا اینکه تمامی ترافیک مربوطه به پورت 443 را مسدود کرده و تمامی صفحاتی که با پروتکل HTTPS کار می کنند را مسدود می کردند. این نشانگر یک قانون است: یا همه چیز یا هیچ چیز.

 

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

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

از این به بعد به فایروال های نسل بعدی NGFW می گوییم. اینگونه فایروال های به دلیل اینکه بسیار مناسب Tune شده اند میتوانند مدیریت بسیار مناسبی بر روی امنیت و پهنای باند عبور کننده از خود داشته باشند و دلیلی اصلی آن هوشمندی و دقت بیشتر در قدرت واکاوی داده هایی است که از آنها عبور میکنند. قدرت فیلترینگ محتویات یا content filtering همچنین وجود سرویس Qos در این فایروال ها این اجازه را به فایروال میدهد که پهنای باند را با توجه به اولویت نرم افزارها به آنها اختصاص دهد، مثلا نرم افزاری که دارای اولویت در استفاده از اینترنت باشد میتواند پهنای باند بیشتری را به خود اختصاص دهد. با توجه به رشد روز افزون فناروی و استفاده از سرویس های پردازش ابری، امکان سرویس دهی به اینگونه فناوری ها نیز در NGFW دیده شده است.

در اینجا برخی از ویژگیهای معمول فایروال های NGFW را بررسی می کنیم:

امکانات استاندارد یک فایروال: در این نوع فایروال های قابلیت های همان فایروال های قدیمی ( نسل اولی ) از قبیل مسدود کردن پورت ها و پروتکل ها و همچنین سرویس شبکه خصوص مجازی یا VPN و سرویس NAT وجود دارد.

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

واکاوی SSH و NGFW :SSL ها میتوانند ترافیک رمزنگاری شده پروتکل های SSL و SSH را نیز واکاوی کنند . آنها توانایی رمزگشایی ترافیک را داشته و پس از رمز گشایی و اطمینان از سالم بودم و عدم وجود ترافیک غیر مجاز با توجه به خط مشی تعیین شده برای آن مجددا رمزگذاری کرده و ارسال می کنند. این قابلیت از مخفی شدن کد های مخرب در درون ترافیک رمزنگاری شده توسط نرم افزارهای مخرب جلوگیری کرده و از ورود اینگونه ترافیک به درون شبکه جلوگیری کند.

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

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

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

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

 منبع : https://geekboy.ir

 

سایت experfy منبعی برای انجام و درخواست پروژه های تحلیل داده

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

 

سایت Experfy که توسط دانشگاه هاروارد راه اندازی شده است، دقیقا به همین منظور در اختیار علاقه مندان قرار گرفته است. مکانی مناسب برای ساخت پروفایل برای متخصصین داده با گروه بندی های مناسب و نیز عرضه پروژه های برون سپاری و پردازش داده ای توسط شرکتها و سازمانها.

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

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

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

 

منبع : https://geekboy.ir

دیتاگریپ: چاقوی همه کاره برای کار با بانکهای اطلاعاتی رابطه ای

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

 

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

ز جمله امکانات آن می توان به موارد زیر اشاره کرد:

تغییرات مختلف در بانکهای اطلاعاتی و مشاهده اسکریپت متناظر به صورت لحظه ای

1modify

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

complletion

  • آنالیز کوئری و پیشنهاد های هوشمند برای اصلاح

executing

  • مشاهده نمودار روابط بین جداول

00_14_diagram

  • …..

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

 

منبع : https://geekboy.ir

چگونه هدوپ را برای بار اول نصب کنیم

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

 

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

توصیه بنده برای نصب راحت و سریع هدوپ و شروع کار با آن بدون درگیر شدن با جزییات نصب و پیکربندی، یکی از سه گزینه زیر است:

نصب تصاویر (Image) آماده شده هدوپ روی ماشین های مجازی

راحت ترین راه برای نصب سریع هدوپ استفاده از Image آماده شده شرکتهای معتبر ارائه کننده خدمات هدوپ است. کافیست یک نرم افزار شبیه سازی ماشین مجازی مانند VMWare یا VirtualBox را نصب کنید، Image آماده شده هدوپ که یک نسخه آماده شده آن روی یک توزیع لینوکس است، را دانلود و روی ماشین مجازی اجرا کنید. همین !

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

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

سه عدد از نسخه های آماده شده هدوپ که توسط شرکتهای معتبر و معروف حوزه کلان داده و هدوپ آماده شده اند از قرار زیر است:

a. سندباکس هورتورورکز (HortonWorks SandBox)

b. سندباکس شرکت MapR

c. توزیع هدوپ شرکت Cloudera

 

CDH_diagram-2014-02-620x394

 

نصب هدوپ از طریق داکر

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

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

اجرای آنلاین هدوپ

یکی از روشهای سریع تست و کار با هدوپ، اجرای آنلاین آن است بدین صورت که در فضایی که شرکت Cloudera روی وب در اختیار شما قرار می دهد، فایلهای خودتان را آپلود می کنید، کدهای انتخاب و تلخیص (Map/Reduce) را هم روی سرور قرار داده و آنها را اجرا می کنید. این روش سریعترین روش ممکن و آسان ترین آن است و بیشتر برای شروع کار و آشنایی اولیه با مفاهیم و ابزار هدوپ کاربرد دارد و برای ادامه کار، بهتر است سراغ یکی از روشهای فوق بروید.

منبع : https://geekboy.ir

100 کتاب رایگان در حوزه مهندسی داده

100 کتاب رایگان در حوزه مهندسی داده

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

لینک دانلود

منبع : https://geekboy.ir

معرفی هدوپ و آشنایی با معماری آن

بر‌اساس گزارش IDC، حجم داده‌هاي دیجیتالی که در سال 2011 تولید‌ شده‌اند، ده برابر سال 2006 بوده است: 1800 اگزابایت! و این رقم در سال 2015 به 1 زتابایت!! رسیده است. بخش اعظم این داده‌ها، داده‌هاي بی‌ساختار و پیچیده‌اي خواهند بود که برای مدیریت شدن با سیستم‌هاي رابطه‌اي سنتی اصلاً مناسب نیستند. این داده‌هاي بی‌ساختار شامل هر چیزی هستند: ‌از فایل‌هاي متنی، اطلاعات حسگرها، داده‌هاي تولید‌شده توسط کاربران، پیام‌هاي متنی، صدا، عکس و بسیاری از موارد دیگر. حجم عظیم داده‌هاي پیچیده مي‌تواند چشم‌اندازها و واقعیات بسیاری را به‌صورت پنهان در خود داشته‌باشد.

 

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

هدوپ چیست؟

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

به زبان ساده، هدوپ یک فریم‌ورک کلی پردازشی است که برای اجرای پرس‌و‌جوها و دیگر عملیات تکراری روی مجموعه‌هاي داده‌اي عظیم با حجم­‌های ترابایت و حتی پتا‌بایتی طراحی‌شده است. در این نرم‌افزار، داده­‌ها در یک سیستم فایلی مخصوص و توریع یافته با نام HDFS (سرنامHadoop Distributed File System) ذخیره‌سازی و بارگذاری مي‌شوند.

این پروژه که هم اکنون یکی از پروژه‌هاي سطح بالای آپاچی است، بر اساس مفهوم Map Reduce و GFS معرفی شده از طرف گوگل توسعه داده‌شده است. هدوپ برای نخستين‌بار توسط فردی با نام دوگ کاتینگ (Doug Cutting) برای پشتیبانی از توزیع‌شدگی در پروژه موتور جست وجوی Nutch ایجاد شد. کاتینگ نام پروژه را از روی فیل عروسکی پسرش انتخاب کرد (شكل۱).

شکل ۱- سازنده هدوپ و فیل عروسکی معروف پسرششکل ۱- سازنده هدوپ و فیل عروسکی معروف پسرش

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

معماری

بسیاری از ابزارهای مدیریت‌داده در سطح سازمان‌هاي بزرگ، از جمله پایگاه‌هاي داده‌ رابطه‌اي سنتی، طوری طراحی شده‌اند که پرس و جوهای ساده را با سرعت اجرا كنند. آن‌ها با استفاده از تکنیک‌هاي پیشرفته‌اي مانند نشانه‌گذاری داده‌ها، به ارزیابی قسمت کوچکی از داده‌هاي موجود پرداخته و عملیات پرس‌و‌جو را به اتمام مي‌رسانند. در نقطه مقابل، هدوپ ابزار متفاوتی است که عملیات فوق را به روش دیگری انجام می‌دهد. هدوپ، مسائلی را هدف گرفته که یافتن پاسخ آن‌ها، به تحلیل كل داده‌هاي موجود در سیستم نياز دارد. به‌عنوان مثال، در تحلیل متن یا پردازش تصاویر نیاز است تا هر رکورد اطلاعاتی خوانده شده و براساس محتوای دیگر رکوردهای مشابه تفسیر شود. هدوپ عملیات روی داده‌هاي بسیار بزرگ و حجیم را با مقیاس‌دهی افقی (Scale Out) پردازش­‌ها روی تعداد بسیار زیادی از سرورها و با استفاده از روش MapReduce (توزیع و تجمیع) به انجام مي‌رساند. توجه به این مفهوم در چند سال اخیر به آن دلیل است که مقیاس پذیری عمودی (Scale Up) یا استفاده از یک سرور منفرد اما بسیار قوی، بسیار پر هزینه و محدود کننده است. در اصل، در حال حاضر و آینده قابل پیش بینی ما، هیچ سرور منفرد مناسبی برای پردازش حجم‌هاي بسیار زیادي از داده‌ها در زمان قابل قبول وجود ندارد و به همین دلیل، تمام توجه‌ها به سمت شکستن سربار عملیات پردازش روی ماشین‌هاي کوچک‌تر، ارزان‌تر و با قابلیت نگه‌داری بالاتر جلب شده است. با استفاده از این مفهوم، مي‌توان با افزایش یا کاهش تعداد سرورهای فعال در یک مجموعه توان‌پردازشی را به میزان دلخواه کم یا زیاد‌كرد و همچنين، از امکان جایگزینی ماشین‌هاي معیوب با ماشین‌هاي سالم نیز بهره برد. استفاده از این قابلیت، اما به قابلیت مقياس‌دهی افقی پردازش‌هاي مورد‌نظر و امکان اجرای موازی آن‌ها نیزبستگی دارد. با استفاده از روش توزیع و تجمیع، هدوپ یک پردازش را شکسته و پردازش‌هاي کوچک‌تر را به سرورهای مختلف ارسال مي‌کند تا هر کدام پردازش مربوط به خود را به اتمام برسانند. سپس، هدوپ نتایج هر کدام را دریافت کرده و در فایل‌هایی مي‌نویسد که ممکن است به‌عنوان ورودی به پله‌هاي جدیدی از توزیع و تجمیع ارسال شوند. تکنیک توزیع و تجمیع در آغاز توسط دو تن از مهندسان گوگل و برای ایندکس کردن در کاربردهای مربوط به جست‌وجوی وب معرفی شد و بعدها توسط بسیاری از پروژه‌ها مورد استفاده قرار‌گرفت. در بحث جست‌وجو، تابع Map پارامترهای جست‌وجو پذیر هر صفحه وب را پیدا کرده و تابع Reduce این داده ها را به‌عنوان ورودی دریافت کرده و تعداد بارهایی را که پارامترهای مذکور در این صفحه استفاده شده‌اند، به دست مي‌آورد.

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

در هدوپ، مفهوم توزیع و تجمیع به‌صورت Master/Slave اجرا مي‌شود. در این مجموعه، یک سرور Master وجود دارد که با نام Job Tracker شناخته مي‌شود و تعدادی سرور Slave که با نام Task Tracker مشخص مي‌شوند و به ازای هر نود در یک کلاستر، یکی از آن‌ها وجود دارد. ماشین Job Tracker نقطه برقراری ارتباط کاربر و کل فریم‌ورک است. در این سیستم، کاربر وظایف توزیع و تجمیع خود را به ماشین Job Tracker تحویل داده و این ماشین وظایف را بر‌اساس تکنیک نخستين ورودی/اولین اجرا شونده، روی صفی از وظایف منتظر اجرا قرار داده و به ماشین‌هاي slave مي‌فرستد. ماشین Job Tracker مدیریت و نحوه تخصیص عملیات توزیع و تجمیع به Task Tracker ها و همچنین مبادلات داده‌اي میان آن‌ها و میان عمليات دوگانه توزیع و تجمیع را بر عهده دارد. توجه كنيد که به دلیل عدم انجام عملیات به روز رسانی و پردازش تراکنش‌ها، هدوپ را نمی‌توان یک پایگاه داده به شمار آورد. همچنين، هدوپ از کاربردهای پایه‌اي مانند ایندکس‌کردن یا رابط‌هاي SQL پشتیبانی نمی‌کند، اما در این زمینه، چند پروژه اپن‌سورس برای فعال‌سازی این امکانات در هدوپ آغاز شده است.

شکل ۲- عملیات توزیع و تجمیع در هدوپشکل ۲- عملیات توزیع و تجمیع در هدوپ شکل ۳- نحوه ذخیره سازی فایل‌هاي روی HDFS – توزیع بلاکهای هر فایل روی چندین نود در شبکهشکل ۳- نحوه ذخیره سازی فایل‌هاي روی HDFS – توزیع بلاکهای هر فایل روی چندین نود در شبکه

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

HDFS، نقطه قوت هدوپ

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

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

به این دلیل که کپی‌هاي مختلفی از بلوک‌ها روی یک کلاستر توسط HDFS ایجاد مي‌شود، کلاینت‌هاي بیشتری مي‌توانند بدون ایجاد گلوگاه به داده‌هاي سیستم دسترسی داشته باشند.

البته اکنون نیز، تکنیک‌هاي بسیاری برای تکراری‌سازی داده‌ها، به خصوص راهبردهاي استفاده‌شده در RAID وجود دارند‌. پس واقعاً به هادوپ و HDFS چه نیازی وجود دارد؟ مزیت HDFS نسبت به RAID در دو نکته خلاصه مي‌شود: نخست این‌که HDFS و هادوپ به سخت افزار خاصی نیاز ندارند و با استفاده از سرورهای آماده و موجود نیز قابل پیاده‌سازی و استفاده هستند و دوم این‌که قابلیت مقاومت در برابر خطاهای بیشتری از جمله خطاهای دیسک، نود، شبکه و رابط شبکه را دارند. با این حال، یک نکته منفی درباره استفاده از HDFS، استفاده سه برابری فضای ذخیره‌سازی به دليل نگه‌داری سه نسخه (البته این مقدار قابل تنظیم است) از داده‌ها است؛ که در بسیاری از موارد و با توجه به مزایای موجود در استفاده از HDFS، امری مقرون به صرفه است.

کاربردها

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

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

جامعه علمی نیز با استفاده از امکانات هدوپ مي‌توانند پردازش‌هاي علمی بسیار سنگینی مانند تحلیل‌هاي هواشناسی، اخترشناسی و تحلیل واکنش‌هاي ذرات اتمی و شکل‌گیری‌هاي پروتئین‌هاي زیستی را در زمانی بسیار کوتاه به انجام برسانند. همچنین تحلیل‌گران امنیتی مي‌توانند با استفاده از این فناوری و از روی داده‌هايي مانند مبادلات تجاری، تماس‌هاي‌کاربران و مسافرت‌هاي آن‌ها، تهدید‌هاي خرابکارانه و امنیتی را ردگیری و آشکار كنند. فیس‌بوک نیز از هدوپ برای مدیریت چهل میلیارد عکس ذخیره شده در آن استفاده مي‌کند. جف هامرباکر، یکی از مهندسان سابق این شبکه‌اجتماعی مي‌گوید: «این همان روشی است که این شبکه اجتماعی تشخیص مي‌دهد که افراد چقدر با دیگران ارتباط نزدیکی دارند.»

شکل ۴ – تعدادی از شرکتهای فعال در زمینه ارائه خدمات تجاری هدوپشکل ۴ – تعدادی از شرکتهای فعال در زمینه ارائه خدمات تجاری هدوپ

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

منبع : https://geekboy.ir

سایت experfy منبعی برای انجام و درخواست پروژه های تحلیل داده

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

 

سایت Experfy که توسط دانشگاه هاروارد راه اندازی شده است، دقیقا به همین منظور در اختیار علاقه مندان قرار گرفته است. مکانی مناسب برای ساخت پروفایل برای متخصصین داده با گروه بندی های مناسب و نیز عرضه پروژه های برون سپاری و پردازش داده ای توسط شرکتها و سازمانها.

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

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

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

 

منبع : https://geekboy.ir

جنگ بر سر رمزنگاری

جنگ بر سر رمزنگاری

زمانی که شما به رمزنگاری فکر می‌کنید، احتمالاً چیزی که به فکر شما خطور می‌کند فیلم‌ها و نمایش‌های تلویزیونی هستند که درون آنها پر از پیام-های هک و عجیب و غریب است. شاید هم اولین چیزی که به فکر شما می‌رسد داستان جنگ بین کمپانی اپل و سازمان FBI به علت این که این کمپانی حاضر به بازکردن قفل گوشی iPhone مجرم دستگیر شده به وسیله FBI نشده است، باشد. اما این بحث خیلی ساده تر از این حرف‌هاست: رمزنگاری یک تکنیک است که به وسیله آن عبارت‌های نامفهوم و گنگ و غیرقابل فهم را ارائه می‌دهیم-یعنی این عبارات تنها برای افرادی نامفهوم است که کلید مورد نظر را در دست ندارند. جاسوس‌ها برای ارسال اطلاعات از رمزنگاری استفاده می‌کنند، همچنین در جنگ‌های مختصاتی، و استفاده‌های جرم شناسی این رمزنگاری کاربرد فراوان دارد.
همچنین سیستم‌های رمزنگاری در همه جنبه‌های فناوری امروزی وارد شده‌اند، و نه تنها برای مخفی کردن اطلاعات از مجرمان، دشمنان و جاسوسان بلکه برای تایید و شفاف سازی اطلاعات اولیه و شخصی افراد کاربرد دارند. داستان رمزنگاری به قرن‌ها پیش بازمی‌گردد، و به همان اندازه‌ علم ریاضی، که به این سیستم معنا داده است، مشکل و پیچیده است. و دیدگاه‌ها و ایده‌های متفاوت می‌توانند به طور کلی سیستم رمزنگاری را تغییر دهند.
ما در این زمنیه با چند متخصص صحبت کردیم تا برای فهمیدن جنبه‌های فراوان رمزنگاری به ما کمک کنند: هدف ما فهمیدن تاریخ رمزنگاری، وضعیت کنونی آن، و آینده‌ی احتمالی آن بود. صحبت‌های این متخصصان به این گونه بود:
تولد رمزنگاری مدرن
پروفسور مارتین هلمن یک شب در ماه مه، سال ۱۹۷۶، یعنی ۴۰ سال پیش، بر روی میز کار خود مشغول کار بود، در همین زمان با من تماس گرفت تا به من بگوید که در آن چه چیزهایی نوشته است. او مقاله مشهور ‘New Directions in Cryptography’ را نوشته بود که به طور کامل نحوه-ی نگه‌داری اطلاعات محرمانه را تغییر می‌داد و کم و بیش، اینترنت را به این صورتی که امروز می‌بینیم قادر به نگه داری این اطلاعات می‌کرد.
قبل از منتشر کردن این مقاله، رمزنگاری یک نظم مشخصی داشت و سرراست بود. شما یک کلید داشتید که وقتی برای یک سری داده به کار می-بردید باعث می‌شد این داده برای افرادی که این کلید را ندارند غیرقابل خواندن باشد. برخی از ارکان آن هنوز هم وجود دارند، مثل پازل‌هایی که از شما می‌خواهند یک حرف را با حرف دیگر جایگزین کنید. زمانی که شما این حرف را بیابید و جانشین‌سازی را انجام دهید، خواندن بقیه پیام موردنظر برای شما ممکن می‌شود.
برای این که یک رمز کار کند، باید کلید آن محرمانه بماند. این قانون حتی بعد از پیچیده و پیچیده‌تر شدن روش‌های رمزنگاری نیز ثابت ماند. پیچیدگی فناوری و شدت زیاد و کشنده جنگ جهانی دوم باعث ساخته شدن دستگاه‌های رمزنگاری زیادی شد، که در حالی که چالش‌هایی هم داشتند ولی بازهم بر پایه همین قانون عمل می‌کردند.
متحدین دارای سیستم SIGSALY، سیستمی که می‌توانست ارتباطات صوتی را به صورت real-time تجزیه و تحلیل کند، بودند. کلیدهای این سیستم شبیه به رکوردهای تصویری مشابهی بودند که زمانی که یک مکالمه در حال انجام بود به صورت همزمان با هم عمل می‌کردند. زمانی که فردی با تلفن صحبت می‌کرد، حرف‌های او دیجیتالی شده و به وسیله نویزهای به خصوصی بر روی رکورد نگه داری می‌شدند. سپس سیگنال رمزگشایی شده به یک ایستگاه SIGSALY دیگر ارسال می‌شد، در آنجا به وسیله دستگاه‌های مخصوص کدشکنی می‌شدند و صدای فرد موردنظر از بلندگوها مجدداً تولید می‌شد. بعد از هر مکالمه، این رکوردها را نابود می‌کردند. پس برای هر تماس جدید از رمزها و کدهای جدید استفاده می‌کردند. پس هر پیام به وسیله‌ی یک کد متفاوت از قبلی تولید می‌شد و رمزگشایی آن هم به مراتب سخت‌تر می‌شد.
ارتش آلمان هم از یک سیستم مشابه اما پیچیده‌تر برای ارتباطات متنی استفاده می‌کرد. نام این ماشین Enigma بود و از صفحه‌کلید، سیم، یک بورد مشابه سوئیچ‌‌بورد تلفن، چرخ‌های چرخنده، و یک بورد خروجی تشکیل شده بود. با فشردن یک دکمه، این ماشین شروع به برنامه‌ریزی‌های ریاضی خود می‌کرد و هربار یک حرف را خارج می‌کرد، که این لغت بر روی بورد خروجی روشن می‌شد. سپس پیام‌ها به محض تایپ شدن می‌توانستن رمزگذاری یا رمزگشایی شوند اما رمز موفقیت این دستگاه این بود که رمز و کد مربوط به هر حرف، بعد از هربار فشردن عوض می‌شد. با فشردن A دستگاه حرف E را نشان می‌داد، اما اگر بازهم A را فشار می‌دادید این ماشین یک حرف کاملاً متفاوت از قبلی را نشان می‌داد.
سیستم‌ ماشین‌های Enigma و SIGSALY تقریباً شبیه به یک الگوریتم (یا چندین الگوریتم) بودند، به طوری که یک تابع ریاضی را چندین و چند بار اجرا می‌کردند. اولین بار زمانی که Alan Turing به اتفاق همکاران کدشکن خود در محوطه‌ی Bletchley Park در انگلستان توانستند کدهای Enigma را بشکنند، باعث شد قادر باشند که روش کار این ماشین را درک کنند و بر نحوه کدگذاری آن واقف شوند.
اما کار آقای هلمن بر روی رمزنگاری از چند نظر کاملاً متفاوت بود. یکی از این دلایل این بود که او و آقای Diffie (که هردو ریاضیدانانی از دانشگاه استنفورد بودند) تحت نظر سازمان‌های دولتی کار نمی‌کردند و از کسی دستور نمی‌گرفتند، و همه به او می‌گفتند که تو دیوانه‌ هستی. طبق تجربه آقای هلمن، این کار جدیدی نبود. او می‌گوید: «زمانی که همکاران من به من گفتند که بر روی رمزنگاری کار نکن- به جای اینکه من را از عواقب آن بترسانند، این حرف‌ها مرا بیشتر جذب این زمینه می‌کرد».
رمزگذاری‌های عمومی
Hellman و Diffie، با کمک یک فرد سوم به نام Ralph Merkle، یک نوع متفاوت از رمزگذاری را پیشنهاد کردند. به جای این که برای قفل کردن یک سیستم از یک کلید استفاده کنند، آنها از دو کلید استفاده کردند. یکی از این کلیدها، همان کلید خصوصی، که به وسیله سیستم رمزگذاری سنتی قرار داده می‌شد بود و دیگر کلید به صورت عمومی (public) قرار داده می‌شد.
برای این که شما یک پیام برای هلمن ارسال می‌کردید از کلید عمومی او برای کدگذاری بر روی پیام استفاده می‌کردید و سپس آن را ارسال می-کردید. به این ترتیب هرکس که بدون اجازه این پیام را مشاهده می‌کرد تنها مقداری متن به هم ریخته و ناخوانا را می‌دید. ‌مزیت این نوع از کدگذاری شاید بلافاصله مشخص نباشد، اما SIGSALY را به یاد بیاورید، برای این که سیستم این ماشین کار کند باید هردوی ارسال‌کننده و دریافت کننده دارای کلیدهای رمز مشابه باشند. اگر دریافت‌کننده کلید رمز خود را گم می‌کرد، هیچ راهی برای رمزگشایی کردن پیام وجود نداشت. اگر کلید رکورد موردنظر دزدیده یا کپی می‌شد، به راحتی افراد سودجو یا دشمن می‌توانستند پیام‌ها را باز کرده و بخوانند. به این ترتیب با باز کردن و خواندن و تجزیه و تحلیل کردن چند پیامی که به وسیله این ماشین تولید شده می‌توانستند نحوه کدگذاری آن را یاد بگیرند و هر پیامی را در آن کدشکنی کنند. پس اگر شما می‌خواستید یک پیام ارسال کنید و کلید رمز موردنظر را گم کرده بودید، نمی‌توانستید از ماشین SIGSALY استفاده کنید.
سیستمی که آقای هلمن طراحی کرده بود می‌گفت که کلید رمز کدگذاری نیازی نیست محرمانه باشد. هر فردی می‌تواند کلید عمومی را داشته باشدو به وسیله آن پیام‌ها را ارسال کند، اما فقط دارند کد خصوصی و محرمانه می‌توانست پیام را کدگشایی کند.
روش رمزگذاری عمومی همچنین توانست نیاز به ابزار امن جهت نگه داری کدهای رمزنگاری را از بین ببرد. ماشین‌های Enigma و بسیاری از دستگاه‌های کدگذاری دیگر نیاز شدیدی به امنیت فیزیکی داشتند، و اگر به دست دشمن می‌افتادند باید به سرعت نابود می‌شدند. با استفاده از یک سیستم کلید عمومی، می‌توان کلیدهای عمومی را به صورت عمومی و برای همه رد و بدل کرد، و هیچ خطری در این کار نیست. پس هلمن می-توانست کلید عمومی مربوط به خودش را بلند به همه اعلام کند. سپس ما می‌توانیم کلیدهای عمومی همدیگر را گرفته و آنها ترکیب کرده و به عنوان کلید رمز خصوصی خود قرار دهید که به این کار امنیت مشترک (shared secret) گفته می‌شود. این کلید ترکیبی سپس می‌تواند برای کدگشایی کردن پیام‌هایی که به همدیگر ارسال می‌کنیم، مورد استفاده قرار گیرد. هلمن به من گفت که از پتانسیل کار خود در سال ۱۹۷۶ آگاه بوده است. او گفت: «به یاد دارم که داشتم با Horst Feistel، یک فرد فوق‌العاده باهوش در زمینه رمزنگاری که با همکاری که با کمپانی IBM داشت منجر به استاندارد کدگذاری بر روی داده‌ها شد، صحبت می‌کردم، و سعی کردم که کار خودم یعنی «کلید عمومی رمزنگاری» را برای او توضیح دهم. که او بلافاصله حرف من را قطع کرد و گفت تو نمی‌توانی».
این حرف Fiestel تنها دلیل برای هلمن جهت استفاده عمقی از ریاضیات در کار خود، نبود، چون عشق او به ریاضیات هم تاثیر داشت. او گفت: «زمانی که من برای اولین بار به کتاب ‘mathematical systems’ نگاه کردم حس آلیس در سرزمین شگفتی‌ها به من دست داد».

شهرت بد رمزگذاری
رمزنگاری از نظر آقای هلمن و همکارانش مانند یک سرزمین عجایب ریاضیات است، اما شاید دید عوام به این قضیه این باشد که رمزگذاری تعدادی از کارهایی است که عجیب و غریب است.
آقای Phil Dunkelberger فردی است که سال‌ها بر روی رمزگذاری کار کرده است. او کار خود را بنیانگذاری شرکت PGP شروع کرد، و کار خود بر اساس پروتوکل Pretty Good Privacy که توسط Phil Zimmerman اختراع شده بود آغاز کرد و با روزنامه‌نگار مشهور آمریکایی به نام ادوارد اسنودن همکاری کرده بود. Dunkelberger اکنون مدیرعامل و رئیس Nok Nok Labs است، شرکتی که بر روی سیستم ‌هایFIDO کار می‌کند تا به خوبی شناسایی افراد را انجام دهند- و البته امیدوار هستند که استفاده از پسورد را از بین ببرند.
Dunkelberger گفت مشکلی که برای استفاده از رمزگذاری وجود دارد واضح است، و آن مشکل این است که به صورت گسترده‌ای غیرقابل دیدن است، و با وجود این که قسمتی از زندگی روزمره برای ما شده است هنوز کسی از نحوه کار کردن آن مطلع نیست. اکثر مردم زمانی که شما یک PIN را وارد می‌کنید چیزی بیشتر از اجرای یک طرح رمزگذاری، و تبادل کلیدها، و حفاظت از داده‌های شما جهت دزدیده نشدن آنها، اتفاق نمی‌افتد، و به این طریق است که به راحتی می‌توانید پول‌های خود را جابه‌جا کنید.
Dunkelberger افزود: «رمزگذاری، به موازات پیشرفت فناوری محاسباتی گسترش پیدا کرده است. رمزگذاری باید قادر باشد از داده‌های شما محافظت کند تا نیازهای قانونی و اعتمادی که سال‌هاست در دنیا وجود دارد را برای شما فراهم کند.»

اهمیت ریاضیات قوی در رمزنگاری
آقای Bruce Schneier تخصص ریاضی در زمینه رمزنگاری دارد، اما بیشتر به دلیل تخمین‌های صحیح در مسائل مربوط به امنیت کامپیوتر شهرت دارد. این فرد برای خیلی‌ها حکم یک اسطوره را دارد. برای مثال، یکی از همکاران من یک تی‌شرت دارد که بر روی آن تصویر آقای Schneier حک شده است و آن را به تن می‌کند.
او از لحاظ شخصیتی خیلی روراست و بی‌پروا است. مثلاً در کنفرانس RSA سال ۲۰۱۳ در مورد رمزگذاری گفت «سازمان امنیت ملی نیز نمی‌تواند این رمز را بشکند و همین امر باعث عصبانیت مقامات آن خواهد شد» او همچنین عنوان کرد که احتمالاً سازمان امنیت ملی در نوع خاصی از سیستم رمزگذاری توانسته یک ضعف پیدا کند و با دست کاری کردن همان ضعف سعی در اعمال تغییرات در آن داشته است تا به این ترتیب این ضعف بیشتر رخ دهد. پس کارهایی که NSA (سازمان امنیت ملی) برای شکستن این رمزها می‌کند بیشتر یک کار مهندسی است نه کار ریاضی. او همچنین گفت که شاید بتوانند رمزنگاری را بشکنند اما بازهم نیاز به کدشکنی پیام ها در این سیستم دارند.
Schneier فردی است که به خوبی به ارزش ریاضی قوی، در این زمینه واقف است. او به من گفت که رمزنگاری ترکیبی از ریاضیات و درهم و برهم کردن، و درنهایت ساختن یک منطق خیلی قوی است اما در عین حال بسیار کار پیچیده‌ای است. او گفت: «این کار نظریه اعداد، یعنی همان نظریه پیچیدگی در ریاضیات است، و بسیاری از رمزنگاری‌های ضعیف در دنیا توسط افرادی صورت گرفته است که ریاضیات ضعیفی دارند».

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

ظهور بلاکچین (Blockchain)
درحالی که اطلاعاتی که به وسیله‌ی رمزنگاری امضا شده‌اند غیرقابل خواندن هستند، با این حال کلیدهای نهفته‌ای (رمزنگاری شده) وجود دارند که می‌توانند این اطلاعات را باز کنند و امضای موردنظر را تایید هویت کنند. بنابراین می‌توان از رمزنگاری برای تایید اطلاعات استفاده کرد، و به جای مبهم کردن اطلاعات، آنها را شفاف تر کرد. این کلیدی به بلاکچین، یعنی یک فناوری که با رمزگذاری مشکل دارد، می‌باشد.
سردبیر مجله‌ی PCMag آقای Rob Marvin که چند صندلی آن طرف تر از من کار می‌کند، گفت: «بلاکچین یک دفتر توزیع شده و غیرقابل تغییر است که بدون درنظر گرفتن دلیل استفاده شما از آن، وظیفه ایمن کردن اسناد دیجیتالی را برعهده دارد- این اسناد ممکن است مبلغی پول، قراردادها یا میلیون‌ها دلار نقد باشند. به این دلیل که این رمز در بین کاربران و شریکان مختلفی تقسیم شده است، هیچ خطری برای حمله به آن وجود ندارد. قدرت این سیستم در اعداد آن است.»
همه بلاکچین‌ها مانند هم نیستند. مشهورترین کاربرد این فناوری قدرت دادن به انتقال پول‌ها توسط رمزنگاری (Cryptocurrency) مانند Bitcoin، است.

رمزشناسی کاربردی
آقای Matt Green که استادیار رشته‌ی علوم کامپیوتر در دانشگاه است و بیشتر در زمینه‌ی رمزنگاری فعالیت می‌کند می‌گوید: «اگر من بخواهم به شما یک پیام محرمانه ارسال کنم، این کار را می‌توانم با رمزگذاری بر روی آن انجام دهم. این کار یکی از ابتدایی ترین فناوری‌های روز است اما اکنون رمزنگاری برای هر نوع کاری استفاده می‌شود. یعنی کاربرد رمزنگاری بسیار گسترده‌تر از قبل شده است».
او افزود : «رمزنگاری در نوشتن ریاضیات بر روی یک وایت‌برد وجود دارد. رمزنگاری در انواع پروتوکل‌های پیشرفته تئوری که دیگران در حال کار کردن بر روی آنها هستند کاربرد دارد. چیزی که من بر روی آن تمرکز دارم درواقع این است که این تکنیک‌های رمزنگاری را انتخاب کنم و آن ها را کاربردی می‌کنم.» منظور او از کاربردها، مانند خرید کالاها، کارهایی که است که شما با آن ها سروکار دارید.
تمامی جنبه‌های انتقال‌ وجه‌های مالی شامل نوعی از رمزگذاری در خود، یا نوعی تشخیص هویت می‌باشند، که ابتدا تایید می‌کنند که این پیام را شما ارسال کرده‌اید. یک مثال دیگر مبهم از این دسته مربوط به محاسبات خصوصی است، جایی که گروهی از مردم می‌خواهند چیزی را با هم محاسبه کنند و این کار بدون به اشتراک گذاشتن ورودی‌هایی که در این محاسبات وارد شده است انجام دهند.
آقای Green گفت: زمانی که شما از یک وب‌سایت بانک بازدید می‌کنید، آن بانک دارای یک کلید رمزنگاری است که این کلید رمز را تنها کامپیوترهای آن بانک دارند. این همان کلید خصوصی است که قبلاً در مورد آن گفتیم. او گفت: «مرورگر اینترنتی من راهی برای تبادل اطلاعات با این کامپیوترها دارد، و می‌تواند بگوید که این کلید خصوصی مربوط به کدام بانک است و به نوعی خیال من را از این بابت که سایت تقلبی است یا نه راحت می‌کند».
برای اکثر مردم، باز شدن کامل یک وب‌سایت و مشاهده کردن چند آیکن بر روی آن که در مقابل آدرس URL قرار دارد به این معنی است که سایت امن است. اما در پشت صحنه در کامپیوترهای ما، سروری که از وب‌سایت میزبانی می‌کند، و یک قدرت صلاحیت‌دار که این کلید را به وب‌سایت داده است، یک تبادل رمزنگاری صورت می‌گیرد.
رمزنگاری کوانتومی، می‌تواند همه چیز را متحول کند
به دلیل علاقه مشتاقانه‌ای که برخی افراد به این مبحث نشان داده‌اند، آقای هلمن در مورد محدودیت‌های سیستم رمزنگاری که او کشف کرد، باعث روی آوردن بسیاری از محققان در این زمینه و کار کردن بر روی این موضوع شد. پس آقای هلمن وقتی می‌گوید سیستم رمزنگاری با چالش‌های هیجان‌برانگیزی روبه‌رو است، باید به حرف او اعتماد کرد.
او گفت که در سال ۱۹۷۰ در زمینه ریاضی یک نقطه عطف شکل گرفت و آن نقطه عطف به دلیل پیدایش توابع پیوسته بود. سختی موجود در فاکتورگیری از اعداد بزرگ، همان پیچیدگی موجود در سیستم‌های رمزنگاری است. سپس در سال ۱۹۸۰ این فاکتورگیری کمی جلوتر رفت و به این ترتیب هم عمل رمزنگاری پیشرفت بیشتری کرد و به همان نسبت هم کرک کردن رمزهای تولید شده توسط آن، سخت‌تر از قبل شد.
آقای Phil Dunkelberger گفت این مسئله خیلی پیچیده‌تر از آنی است که به نظر می‌رسد. او گفت در زمینه رکوردهای بانکی، ممکن است ده‌ها رکورد با کلیدهای رمزگذاری تکی وجود داشته باشند، و سپس و هر کلید هم به قسمتی از این اطلاعات ذخیره شده اختصاص داشته باشد. این امر، اصطلاحی به نام master key را به وجود می‌آورد که با ضعیف کردن ریاضیات در قلب این سیستم توانسته این لایه‌ها بردارد.
و شاید آسیبی که این کار به بدنه‌ی علم رمزنگاری وارد می‌کند حتی بیشتر از خطرهای آینده آن باشد. آقای Dunkelberger گفت: ما نباید همان مشکلات قبلی را بازنگری کنیم. به این ترتیب باید به دنبال راه‌های خلاقانه برای از سر راه برداشتن مشکلات و پیش‌برد این علم به سمت جلو با سرعت بیشتر بگردیم. تنها در این صورت است که کاربران احساس امنیت کامل خواهند کرد و به زندگی آرام روزمره خود ادامه می‌دهند.

منبع : در شبکه و امنیت, مجله شماره 279 - آذر 95 بهمن ۲۵, ۱۳۹۵

طراحی و معماری زیرساخت کلید عمومی یا PKI قسمت اول – شناسایی نیازمندیهای PKI

یکی از مهمترین مباحثی که در خصوص رمزنگاری داده ها وجود دارد زیرساختار کلیک عمومی یا PKI است ، این نوع رمزنگاری از نوع نامتقارن است که دارای دو کلید است که یکی برای رمزنگاری و دیگری برای رمزگشایی استفاده می شود ، معمولا تا نامی از ساختار PKI در سیستم عامل های مایکروسافت می آید به فکر سختی ها و ابهاماتی می افتیم که همیشه در این مسئله جزئی از کار هستند ، اکثر ایرانی هایی که در راه اندازی PKI دستی دارند و در سازمان خود از PKI های مایکروسافتی استفاده می کنند ، از مفاهیم موجود در آن اطلاعاتی ندارند و صرفا آن را نصب می کنند ، در این سری مقالات ضمن بررسی چیستی PKI به بررسی و طراحی این ساختار بصورت اصولی در سیستم عامل های مایکروسافت خواهیم پرداخت . در شبکه های تحت سیستم عامل ویندوز سرور 2008 زیرساخت کلید عمومی یا PKI به یک یا چندین Certificate Authority یا CA گفته می شود که از طریق سرویس Active Directory Certificate Services پیاده سازی شده باشند. تعجب نکنید در خصوص تمامی این واژه ها در ادامه توضیحات کاملی را ارائه خواهیم داد اما توجه کنید که پیاده سازی PKI به همین سادگی ها نیست که صرفا در Server Manager یک Role نصب کنید و کار تمام شود. برای بیشتر سازمان های متوسط و رو به بزرگ پیاده سازی PKI نیازمند طراحی اولیه و تهیه مستندات است.

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


 

مروری بر مفاهیم PKI


PKI مخفف کلمه Public Key Infrastructure یا زیرساخت کلید عمومی می باشد که در واقع یک سری از تکنولوژی ها هستند که به شما امکان استفاده از رمزنگاری نامتقارن یا در لفظی دیگر رمزنگاری کلید عمومی را می دهند. در رمزنگاری کلید عمومی یک جفت کلید با استفاده از الگوریتم های رمزنگاری ریاضی تولید می شوند که به نام های کلید عمومی یا Public Key و کلید خصوصی یا Private Key معرفی می شوند ، با استفاده از مجموع این دو کلید شما می توانید عملیات رمزنگاری و رمزگشایی اطلاعات را انجام دهید. اگر کلید خصوصی برای رمزنگاری استفاده می شود ، صرفا کلید عمومی مرتبط با آن می تواند اطلاعات مربوطه را رمزگشایی کند. عکس همین عمل هم ممکن است و اگر شما با کلید عمومی چیزی را رمزنگاری کنید ، صرفا با کلید خصوصی مرتبط با آن عملیات رمزگشایی انجام خواهد شد. اگر بخواهیم تخصصی تر در این مورد توضیح بدهیم می توانیم بگوییم که PKI یک سیستم است که از ترکیبی از گواهینامه های دیجیتال ( Digital Certificates ) ، مراکز صدور گواهینامه ( Certificate Authorities ) و مراکز ثبت گواهینامه ( Registration Authorities ) تشکیل شده است که در مجموع می توانند سرویسی برای رمزنگاری اطلاعات ایجاد کنند که بتواند تبادلات الکترونیک را رمزنگاری و یا اشخاص را احراز هویت کنند. ساختار PKI در ساده ترین حالت شامل اجزای زیر می باشد:

  • گواهینامه های دیجیتال یا Digital Certificates : در ترجمه به معنی اعتبار است اما بهتر است بگوییم که Credential های الکترونیکی می باشند که شامل کلید عمومی هستند که برای رمزنگاری داده ها و استفاده به عنوان امضاء الکترونیکی استفاده می شوند. در واقع Digital Certificate ها پایه و اساس کار PKI هستند و بدون آنها PKI بی معنی است.

 

  • یک یا بیش از یک مرکز صدور گواهینامه دیجیتال یا Certificate Authority : مراجع یا موجودیت های مورد اعتمادی هستند که برای صدور Digital Certificate ها مورد استفاده قرار می گیرند. زمانیکه از بیش از یک عدد CA در یک مجموعه استفاده می شود ، همیشه برای آنها یک نظم در طراحی وجود دارد که وظایف هر یک از آنها را به تفکیک روشن کرده است ، برای مثال CA ریشه یا Root در هسته اصلی مرکز قرار دارد ، در زیر مجموعه Root CA مرکزی به نام Subordinate CA وجود دارد و در نهایت مرکزی برای صدور گواهینامه برای کاربران به نام Issuing CA وجود دارد.

 

  • Certificate Policy و Certificate Practice Statement : اینها دو عدد مستند مکتوب هستند که در آنها شیوه استفاده از CA و همچنین Certificate هایی که در آن وجود دارند تشریح شده است و همچنین درجه اعتمادی که می توان به Certificate های این مجموعه داد را تعیین می کند ، تمامی موارد و مسائلی که در خصوص از بین رفتن اعتماد به CA و از این قبلی مشکلاتی که در ساختار PKI به وجود می پیوندند در این مستندات دیده شده است.

 

  • Certificate Repository: محلی است که مانند یک ساختار directory Service که از اکانت های کاربری محافظت می کند ، از Certificate های تولید شده توسط ساختار PKI موجود محافظت و آنها را ذخیره می کند ، Certificate ها از این محل منتشر می شوند . در یک محیط دامین معمولا پایگاه داده اکتیودایرکتوری معمولترین Repository است که برای انتشار و نگهداری Certificate ها مورد استفاده قرار می گیرد.

 

  • Certificate Revocation List یا CRL : لیستی از Certificate هایی است که قبل از اینکه تاریخ انقضای آنها برسد بر اساس شرایط بوجود آمده باطل یا Revoke شده اند.

 


 

شناسایی ابزارها و سرویس های کاربردی PKI یا PKI-Enabled Applications


همیشه زمانی استفاده از یک تکنولوژی باب می شود که نیازی به استفاده از آن ایجاد شود و PKI هم از این قضیه استثناء نیست . سازمان هایی که امروزه از PKI استفاده می کنند نیاز به استفاده از آن را بیشتر در نرم افزاهای کاربردی و سرویس هایی می بینند که برای بالا بردن سطح امنیت خود از PKI استفاده می کنند. بعد از اینکه نیاز به PKI ملموس شد سازمان مجبور می شود که بر اساس نیاز پشتیبانی های لازم برای برآورده سازی نیازهای راه اندازی PKI را برطرف کند. در ادامه لیستی از تکنولوژی های و نرم افزارهای کاربردی که سازمان را مجبور به استفاد از PKI می کند را به شما معرفی خواهیم کرد :

  • 802.1x Port Based Authentication : این قابلیت به شما اجازه می دهد که بتوانید دسترسی به شبکه وایرلس و یا شبکه اترنت خود را برای کاربران غیرمجاز مسدود کرده و صرفا به کسانی اجازه متصل شدن به سیستم را بدهند که از طریق 802.1x احراز هویت شده اند. زمانی که شما در این سرویس از پروتکل های Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) Extensible Authentication Protocol-Tunneled Transport Layer Security (EAP-TTLS یا (Protected Extensible Authentication Protocol (PEAP استفاده می کنید بایستی از ساختار PKI استفاده کنید.

 

  • امضای دیجیتال یا Digital Signatures : مهمترین رکن در امضاهای دیجیتال ساختار PKI است . Digital Signatures تبادلاتی که در اینترنت انجام می شوند را امن می کنند و روشی را برای شما فراهم می کنند که متوجه بشوید چه کسی ، چه اطلاعاتی و چه محتوایی را منتقل کرده است و از طرفی از دستکاری نشدن اطلاعات نیز اطمینان حاصل می کند. بسته به روشی که Certificate صادر شده است شما می توانید از امضاهای دیجیتال برای انکارناپذیری یا non-repudiation نیز استفاده کنید ، بدین معنی که اگر کسی کاری را انجام داده است نتواند انجامش را انکار کند. در این حالت اگر شخصی اطلاعاتی را منتقل کند ، نمی تواند منکر این قضیه شود به دلیل اینکه صرفا کسی که دارای Private Key مربوطه می باشد توانایی انتقال چنین داده ای را دارد.

 

  • Encryption File System یا EFS : این قابلیت ، سرویس محرمانگی یا Confidentiality را به NTFS می دهد. در این قابلیت از دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی فایل ها و همچنین برای بازیابی اطلاعات در مواقع ضروری یا Recovery Agent استفاده می شود. Certificate هایی که برای EFS ایجاد می شوند صرفا از طریق Enterprise CA ها امکان صدور دارند ، در جایی که شما Enterprise CA در اختیار ندارید هرگاه از EFS استفاده کنید ، Certificate ها بصورت Self-Signed صادر و استفاده می شوند.

 

  • IPSec : اگر با پروتکل امنیتی IPSecurity یا IPSec آشنایی داشته باشید حتما می دانید که این پروتکل برای رمزنگاری و همچنین Tunneling بین دو سیستم برای برقراری ارتباط امن مورد استفاده قرار می گیرد ، اما برای اینکه بتوانید ساختار احراز هویت را نیز به IPSec اضافه کنید می توانید از Certificate ای که در PKI تولید می شود استفاده کنید. IPSec می توانید ارتباطات بین دو Endpoint را به خوبی Digitally Sign کند. توجه کنید که Certificate های بصورت مستقیم برای رمزنگاری داده هایی که توسط IPSec منتقل می شوند استفاده نمی شوند بلکه برای Authentication یا احراز هویت دو Endpoint استفاده می شوند.

 

  • Secure E-Mail یا S/MIME : پروتکل Secure Multipurpose Internet Mail Extensions یا همان SMIME برای برقراری ارتباطات ایمیل محرمانه ، دارای تمامیت و صحت اطلاعات و انکارناپذیری استفاده می شود. SMIME از Certificate برای شناسایی هویت فرستنده ، اصل و ماهیت پیام ارسالی و صحت و تمامیت پیام ایمیل استفاده می کند. همچنین SMIME محرمانگی پیام ایمیل را با استفاده از رمزنگاری اطلاعات درون آن انجام می دهد.

 

  • کارت های هوشمند یا Smart Card : کارت های هوشمند شبیه کارت های اعتباری هستن که در آنها Certificate کاربر ذخیره می شود. شما می توانید با استفاده از کارت های هوشمند فرآیند احراز هویت Two Factor با درجه امنیتی بالاتری نسبت به رمزعبور خالی برای ورود به سیستم ها ایجاد کنید.

 

  • Code Signing : با استفاده از قابلیت Code Signing شما می توانید از نصب درایورها یا نرم افزارهای غیر مجاز بر روی سیستم جلوگیری و محافظت کنید ، نرم افزارهایی که از قابلیت Code Signing پشتیبانی می کنند مانند Microsoft Internet Explorer می توانند به گونه ای تنظیم شوند که از اجرا کنترل ها و کدهای Unsigned جلوگیری کنند.

 

  • Virtual Private Network یا VPN: سرویس VPN به شما اجازه برقراری ارتباط از راه دور با شبکه های خصوصی از طریق پروتکل های Tunneling از قبیل PPTP و L2TP و SSTP را می دهد. البته تمامی پروتکل های VPN از Certificate برای برقراری ارتباط استفاده نمی کنند بلکه پروتکل L2TP زمانیکه از IPSec استفاده می کند از Certificate برای فرآیند احراز هویت استفاده می کند و از طرفی کلیه فعالیت های SSTP که با SSL رمزنگاری می شود از Certificate برای اینکار استفاده می کند.

 

  • Web Authentication و SSL: این دو سرویس با استفاده از این دو سرویس با استفاده از Certificate ها می توانند برای وب سرور قابلیت رمزنگاری اطلاعات مربوط به احراز هویت در شبکه داخلی و یا اینترنت را فراهم کند ، با استفاده از SSL کاربران وب می توانند از هویت اصلی و واقعی بودن سرور وب اطمینان حاصل کنند و تمامی ارتباطات بین کلاینت و سرور رمزنگاری خواهد شد. تمامی وب سرورهایی که دارای سرویس SSL هستند دارای Certificate هستند که توسط یک Third Party CA معتبر صادر می شود اما در برخی از مواقع پیش می آید که شما می توانید از Certificate ای که Client ها دارند برای سرور هم استفاده کنید که این مورد معمولا به ندرت پیاده سازی می شود.

 


 

شناسایی نیازمندیهای Certificate


بعد از اینکه تعیین کردید که از کدامیک از سرویس ها یا نرم افزارهای مرتبط یا PKI می خواهید در سازمان خود استفاده کنید ، بایستی تعیین کنید که چه کسی مسئول صدور Certificate ها و نوع Certificate ای خواهد بود که قرار است صادر شود. معمولا Certificate ها به شکل زیر صادر می شوند :

  • User Certificate: این نوع Certificate برای یک کاربر خاص صادر می شود که قرار است از سرویس ها یا نرم افزارهای PKI استفاده کند. کاربر مورد نظر در این حالت یک Certificate مخصوص به خود دریافت می کند که با استفاده از آن می تواند از سرویس ها و قابلیت های PKI مختص یک کاربر مانند سرویس EFS که برای رمزنگاری اطلاعات یک کاربر خاص مورد استفاده قرار می گیرد استفاده کند ، این Certificate در این حالت صرفا برای مصرف EFS مورد استفاده قرار می گیرد . Certificate هایی که برای کاربران صادر می شود در Current User Certificate Store ذخیره می شوند.

 

  • Computer Certificate: این نوع Certificate همانطور که از نامش پیداست صرفا برای یک کامپیتور صادر می شود و زمانی که یک کامپیوتر یا یک User به این کامپیوتر متصل می شود این Certificate هویت واقعی این کامپیوتر را مشخص می کند. این Certificate هویت کامپیوتر را مشخص می کند و در قسمت Local Machine Certificate Store ذخیره می شود.

 

  • Network Device Certificate : برخی از سخت افزارهایی که در شبکه فعالیت می کنند می توانند از امکانات و سرویس هایی که PKI در اختیار آنها قرار می دهد استفاده کنند و احراز هویت کلاینت ها و سرورها را با استفاده از PKI انجام دهند. این دستگاه ها شامل تجهیزات سخت افزاری VPN و Firewall و Router ها هستند اما فقط به اینها محدود نمی شوند. فرآیند نصب یک Certificate بر روی یک دستگاه بستگی به نوع سیستم عامل بکار رفته بر روی دستگاه مورد نظر و از طرفی Interface های شبکه ای دارد که بر روی دستگاه مورد نظر وجود دارد. Network Device Enrollment یک امکان جدید است که در CA های مایکروسافت بر روی ویندوز سرور 2008 معرفی شده است ، این قابلیت وابستگی مستقیمی به سرویس Network Device Enrollment Service یا NDES دارد. این سرویس در واقع معادل مایکروسافتی سرویسی به نام Simple Certificate Enrollment Protocol یا SCEP است ، این سرویس در واقع یک پروتکل است که به شما امکان پیاده سازی استاندارد X.509 را بر روی سخت افزارها و دستگاه هایی که قابلیت احراز هویت در شبکه را دارند فراهم می کند و این بدین معناست که این دستگاه ها می توانند از CA برای خود Certificate دریافت کنند.

 

  • Service Certificate : سرویس ها نیز برای احراز هویت و رمزنگاری از Certificate هایی که برای کامپیوترها صادر می شود استفاده می کنند. Certificate ها در واقع برای سرویس ها صادر نمی شوند بلکه در عوض Certificate ای که برای کامپیوتر صادر می شود و توسط سرویس مورد استفاده قرار می گیرد در Local Machine Store یا در پروفایل اکانت سرویس مورد نظر ذخیره می شود. برای مثال اگر یک Certificate برای سرویس World Wide Web یا WWW یک سرویس وب نصب شود ، Certificate مورد نظر در قسمت Local Machine Store ذخیره خواهد شد. از طرفی دیگر Certificate ای که برای Recovery Agent مربوط به EFS مورد استفاده قرار می گیرد در User Profile کاربر سرویس مورد نظر ذخیره می شود.


نکته : کجا باید برای یک سرویس Certificate مورد نیازش را نصب کنید ؟
ساده ترین روشی که شما می توانید تعیین کنید که آیا یک سرویس نیاز به Certificate دارد یا خیر این است که تشخیص دهید که سرویس مورد نظر به وسیله چه چیزی احراز هویت را انجام می دهند ، اگر سرویس از Local System استفاده می کند ، Certificate مورد نظر بایستی در Local Machine Store ذخیره شود و اگر سرویس مورد نظر از یک نام کاربری و رمز عبور مشخص شده استفاده می کند ، بنابراین Certificate مورد نظر در پروفایل کاربر مورد نظر ذخیره می شود.


 

شناسایی نیازمندی های امنیتی Certificate ها


نیازمندی های امنیتی Certificate ها بر اساس نوع سرویس PKI ای که قصد استفاده از آن در سازمان خود دارید ، متفاوت است . شناسایی این نیازمندی ها به شما اجازه می دهد که تنظیمات Certificate های مورد نیاز را به خوبی برآورد کنید ، برای هر مجموعه ای از Certificate ها شما بایستی نیازمندی های امنیتی زیر را به خوبی شناسایی و درک کنید:

  • طول کلید خصوصی یا Private Key Length : در یک پیاده سازی تعریف شده ، طول کلید خصوصی هایی که در یک سطح از hierarchy یا سلسله مراتب ساختار PKI قرار میگیرند نصب طول کلید خصوصی است که در سطح بالایی خود استفاده می شود. برای مثال در ساختار PKI طول کلید خصوصی که برای یک کاربر صادر می شود ممکن است 1024 بیتی باشد و در همین حال طول کلید خصوصی CA صادر کننده 2048 بیتی باشد و طول کلید خصوصی Root CA یا ریشه 4096 بیتی باشد. توجه کنید که با اگر طول کلید خصوصی شما طولانی تر باشد طبیعی است که برای شکستن این کلید زمان بیشتری از لحاظ دانش ریاضی مورد نیاز می باشد بنابراین به تناسب طول کلید بیشتر ، عمر Certificate ای که صادر می شود نیز بیشتر خواهد بود. برای انتخاب طول کلید خصوصی در هر لایه از CA ها بزرگترین مسئله قابلیت استفاده نرم افزارها و سرویس ها از کلید هایی با طول زیاد است ، برخی از سرویس ها و نرم افزارها نمی توانند از کلید هایی با طول زیاد پشتیبانی کنند.

 

  • الگوریتم رمزنگاری یا Cryptographic Algorithm : الگوریتم های رمزنگاری جزء جدا ناشدنی Certificate ها هستند. تنظیمات استاندارد Certificate هایی که از طریق CA های ویندوز سرور 2008 صادر می شوند بایستی دارای یک سری پارامترهای امنیتی پیشفرض باشند. اما گاهی برای شما پیش می آید که می خواهید برای گروه خاصی که در شبکه فعالیت می کنند تنظیماتی انجام دهید که طول کلید خصوصی آنها و عمر گواهینامه یا Lifetime آن طولانی تر یا کمتر از موراد مشابهی باشد که برای سایر کاربران وجود دارد. شما با استفاده از الگوریتم های رمزنگاری خاص می توانید روش ذخیره سازی کلید خصوصی در کارت های هوشمند را به گونه ای تعیین کنید که از درجه امنیتی بالاتری برخوردار باشند.

 

  • عمر گواهینامه یا Lifetime و کلید خصوصی و چرخه تجدید Certificate : یک Certificate در زمان صدور دارای یک تاریخ و زمان اعتبار و یک تاریخ و زمان انقضاء می باشد. شما نمی توانید اعتبار یک Certificate صادر شده را بعد از صدور تغییر دهید. عمر گواهینامه دیحیتال یا Certificate Lifetime بسته به نوع Certificate ، نیازهای امنیتی ، استانداردهای بکار گرفته شده در سازمان شما و همچنین مقررات دولتی می تواند متغیر باشد

نکته : عمر گواهینامه ها یا Certificate Lifetime : زمانی که شما می خواهید Certificate Lifetime را برای ساختار PKI خود تعیین کنید ، گزینه درست این است که Certificate Lifetime مربوط به CA های Parent یا والد را دو برابر CA های Subordinate یا میانی در نظر بگیرید. علاوه بر این زمان اعتبار یا Validity Period مربوط به CA ای که به عنوان صادر کننده یا Issuing CA مشغول به کار است را بایستی حداقل دو برابر زمان اعتبار Certificate هایی باشد که توسط همان CA صادر می شود. برای مثال شما برای یک Certificate که برای کاربر صادر می شود تاریخ اعتبار یک ساله در نظر می گیرد و این در حالی است که CA صادر کننده دارای تاریخ اعتبار 5 ساله می باشد و CA ریشه یا Root CA دارای تاریخ اعتبار 10 ساله می باشد.

  • نگهداری و ذخیره سازی کلید های خصوصی خاص یا Special Private Keys : هر سازمانی برای خود بایست دارای یک خط مشی امنیتی یا Security Policy باشد که در آن به نیازمندی های امنیتی که برای نگهداری کلید خصوصی CA وجود دارد اشاره شده باشد. برای مثال یک سازمان ممکن است برای نگهداری کلید خصوصی خود از استاندارد محافظتی Federal Information Processing Standards یا FIPS شماره 140-2 استفاده کند. در خصوص این استاندارد به امید خدا در مقاله ای جداگانه بصورت مفصل توضیحاتی ارائه خواهیم کرد.


معیارهایی که شما می توانید برای محافظت از کلید خصوصی CA خود استفاده کنید شامل استفاده از یک Cryptographic Service Provider یا CSP است که به شما این قابلیت را می دهد که بتوانید کلید خصوصی CA خود را در درون هارد دیسک کامپیوتر خود ، در داخل یک کارت هوشمند CSP که اطلاعات مربوط به کلید خصوصی را در خود ذخیره می کند و با استفاده از یک PIN Code از آن نگهداری می کند ، در داخل یک Hardware Security Module یا HSM که بالاترین سطح امنیتی را برای کلید خصوصی شما فراهم می کند ، می باشد. HSM ها سخت افزارهای ویژه ای هستند که برای نگهداری کلید های خصوصی مورد استفاده قرار می گیرند.


 

Cryptographic Service Provider یا CSP چیست ؟


یک CSP در واقع چگونگی و روش دسترسی و محافظت از کلید خصوصی یا Private Key را تعیین می کند . این CSP است که تعیین می کند در کجا زوج کلید های Certificate ایجاد شود و چه زمانی Certificate در خواست شود و همچنین مکانیزم های امنیتی برای محافظت از کلید خصوصی را نیز تعیین می کند. برای مثال در یک CSP ممکن است برای دسترسی به کلید خصوصی موجود در یک کارت هوشمند حتما یک PIN Code نیاز باشد. CSP پیشفرضی که در ساختار AD CS در ویندوز سرور 2008 وجود دارد به نام RSA#Microsoft Software Key Storage Provider است . این CSP ضمن اینکه از الگوریتم های رمزنگاری قدیمی پشتیبانی می کند ، از الگوریتم های جدید نیز پشتیبانی می کند.

بازنگری و تازه سازی خط مشی امنیتی سازمان


بعد از اینکه ساختار و نیازمندیهای PKI و Certificate ها در سازمان دیده شد ، شما بایستی خط مشی امنیتی سازمان را مجددا بازنگری کنید. خط مشی امنیت اطلاعات یا Security Policy در واقع یک مستند تدوین شده توسط اعضای قانونی یا مدیران سازمان ، منابع انسانی و دپارتمان فناوری اطلاعات یک سازمان است که در آن استانداردهای امنیتی سازمان مشخص و مستند شده است. این مستند معمولا حاوی دارایی هایی است که برای سازمان دارای ازرش هستند و تهدیداتی که در مقابل این دارایی ها وجود دارد ، در نهایت کنترل هایی که برای محافظت از این دارایی ها در مقابل تهدیدات وجود دارد در این مستند آورده شده است. خط مشی امنیت اطلاعات یک سازمان برای اینکه بتواند به سئوالاتی که در سطوح بالا از پیاده سازی های PKI به وجود می آیند پاسخگو باشند بایستی به روز رسانی شوند که نمونه ای از این سئوالات به شرح زیر می باشد:

  • چه نرم افزارهایی بایستی به وسیله Certificate ها امن شوند ؟
  • چه سرویس های امنیتی بایستی به وسیله Certificate ها ارائه شوند ؟


معمولا در زمان طراحی و معماری ساختار PKI بایستی به خاطر داشته باشیم که PKI بایستی بتواند خط مشی امنیتی سازمان را مجبور به تغییر کند . یک ساختار PKI تنها زمانی به درستی می تواند در حیطه امنیتی خود عمل کند که خط مشی امنیتی سازمان و دستورالعمل های این خط مشی بتوانند از آن پشتیبانی کنند و PKI را قابل پیاده سازی کنند.


 

ارزیابی نیازمندی های تجاری


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

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

 

  • دسترسی پذیری بالا در صدور Certificate ها : یک سازمان همیشه به یک CA نیاز دارد که در صورت بروز مشکل برای CA های صادر کننده Certificate بتواند به روند کاری خود ادامه دهد و به هر دلیلی روند صدور Certificate ها دچار اخلال نشود. برای اطمینان از دسترسی همیشگی به یک CA شما بایستی از ساختار های Clustering برای Issuing CA های خود بر اساس Certificate Template تعریف شده استفاده کنید. اگر نیاز به uptime شما زیاد هم ضروری نیست شما می توانید Certificate Template تعریف شده در Issuing CA را در CA ها مختلفی که در ساختار سلسله مراتبی وجود دارند منتشر کنید تا در صورت بروز مشکل برای یکی از CA ها فرآیند کاری در جریان باشد.

 

  • مسئولیت شرکای PKI : در یک ساختار سلسله مراتبی CA یکی از CA ها در نقش Policy CA فعالیت می کند ، این CA تعیین کننده مسئولیت های CA می باشد. این مسئولیت ها بایستی بتوانند تمامی مراوداتی که از طریق Certificate هایی که از طریق CA ها صادر شده اند را پوشش دهند. معمولا در این چنین شرایطی محلی از سازمان که مسئول قانون گذاری در سازمان شما می باشد مسئولیت ها را در این خصوص تعیین کرده و به ساختار PKI و شرکایی که از آن استفاده می کنند ابلاغ می کند.

 


 

ارزیابی نیازمندی های خارجی


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

  • ارائه امکاناتی برای سازمان های خارجی که بتوانند Certificate های صادر شده برای کارکنان را شناسایی کنند. اگر می خواهید سایر سازمان ها بتوانند Certificate هایی که در سازمان شما به موجودیت ها داده می شود را شناسایی کنند ، شما می توانید در این حالت به جای استفاده از یک طراحی PKI داخلی ، از یک طراحی PKI جانبی و تجاری مثل VeriSign یا RSA یا GeoTrust استفاده کنید. علاوه بر این گزینه جانبی دیگری نیز وجود دارد که شما می توانید برای CA های خود Trust بین CA ها را ایجاد کنید.

 

  • استفاده از Certificate های صادر شده توسط CA های سازمان شما در سازمان های همکار ، ممکن است پرسنلی که در سازمان شما مشغول به کار هستند بخواهد اطلاعات یا امضاهای دیجیتال خود را که در سازمان شما استفاده می کنند را در یک سازمان همکار نیز مورد استفاده قرار دهند ، در این حالت شما می توانید یک Certificate دلخواه سازی شده یا Custom ایجاد کنید که نیازمندیهای سایر سازمان های همکار را نیز برطرف کند.


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

Certificate ها برای اشخاص غیر خودی ( Non Personnel ) ، اگر شما برای افراد خارج از سازمان خود نیز قصد ارائه Certificate دارید ، می توانید به شکلی ساختار سلسله مراتبی CA های خود را طراحی کنید که در Certificate Policy جزئیات بیشتری در خصوص شیوه ارائه سرویس به مشتری های بیرونی لحاظ شده باشد.


 

ارزیابی نیازمندی های Active Directory


شما قبل از اینکه اقدام به نصب و راه اندازی یک Enterprise CA در محیط اکتیو دایرکتوری ویندوز سرور 2008 یا 2003 یا 2012 کنید بایستی یک سری آماده سازی های اولیه و همچنین نیازمندی ها را پیشبینی و انجام دهید ، این آماده سازی ها به شرح زیر می باشد:

  • تعیین تعداد Forest های موجود در محیط : تعداد Forest های موجود در مجموعه در تعداد Enterprise CA هایی که می خواهید در ساختار AD CS خود داشته باشید تاثیر مستقیمی دارد. یک Enterprise CA صرفا می تواند برای User ها و Computer هایی که در همان Forest وجود دارند Certificate صادر کند.اگر تعداد Forest های شما در مجموعه بیش از یکی است ، برای هر یک از Forest های خود در طراحی بایستی یک Enterprise CA را در نظر بگیرید.

 

  • تعیین تعداد Domain های موجود در محیط : اگر بیش از یک Domain در ساختار Forest شما وجود دارد ، یکی از مهمترین مسائل در طراحی ساختار PKI محل قرار دادن CA ها بر روی Domain مد نظر است .انتخاب Domain ای که میزبانی Computer Account های مربوط به CA را بر عهده داشته باشد تا حدود زیادی به این بستگی دارد که آیا مدیریت Domain های شما بصورت متمرکز انجام می شود و یا بصورت غیر متمرکز انجام می شود. در یک مدل مدیریت متمرکز معمولا CA ها در یک Domain قرار می گیرند ، در یک محیط با مدیریت غیر متمرکز شما ممکن است CA ها خود را بر روی چندین Domain قرار دهید.

 

  • تعیین عضویت گروه Local Administrators بر روی Member Server : اگر شما از CSP برای نگهداری Private Key مربوط به CA استفاده می کنید ، تمامی اعضای گروه Local Administrators ای که بر روی CA قرار دارند می توانند Private Key مربوط به CA را Export کنند.در این مواقع شما بایستی Domain یا OU ای که دارای کمترین و محدودترین تعداد Local Administrators می باشد را شناسایی کنید. برای مثال در سازمانی که دارای یک Forest خالی می باشد ، شما ممی توانید تمامی Enterprise CA های خود را در ساختار Forest بر روی Forest Root Domain ایجاد کنید که کمترین تعداد ممکن Local Administrator را دارد.

 

  • تعیین نسخه Schema موجود در Domain : برای پیاده سازی CA های ویندوز سرور 2008 و استفاده از تمامی امکاناتی که این CA در اختیار ما قرار می دهد شما بایستی آخرین نسخه از Active Directory Domain Services Schema را در اختیار داشته باشید. Schema در ویندوز سرور 2008 می تواند در Forest هایی که دارای دامین کنترلر های ویندوز سرور 2000 یا 2003 یا 2008 هستند پیاده سازی شود.

 


 

ارزیابی نیازمندی های Certificate Template


Certificate Template ها امکانی را فراهم می کنند تا شما بتوانید فرآیند ثبت نام Certificate یا Enrollment را در یک محیط مدیریت شده در Active Directory انجام دهید.با توجه به اینکه هر نسخه از محصولات ویندوز سروری که مایکروسافت ارائه کرده است دارای Certificate Template هایی با ویژگیها و نسخه های خاصی خود هستند ، مسئله هماهنگی یا Compatibility بایستی یکی از مسائلی باشد که در طراحی PKI بایستی در نظر بگیرید. اگر تاریخچه Certificate Template هایی که مایکروسافت ارائه داده است را بررسی کنیم ، میبینیم که در نسخه ویندوز سرور 2000 مایکروسافت تعداد 71 عدد Certificate Template ایستا و ثابت ارائه کرد ، در ویندوز سرور 2003 به Certificate Template ها قابلیت دلخواه سازی یا Customization را اضافه کرد و تعداد Certificate Template های خود را به 73 عدد اضافه کرد ، اما در ویندوز سرور 2008 ضمن اینکه مایکروسافت Certificate Template های نسبتا بیشتری ، نسبت به محصولات قبلی خود اضافه کرده بود امکانات بیشتری به این قابلیت در ساختار CA نیز اضافه کرده بود ، تعداد Certificate Template ها در ویندوز سرور 2008 به عدد 73 رسید.

به دلیل محدودیت ها و وابستگی هایی که مربوط به سیستم عامل می باشد ، Template های ویندوز سرور 2008 صرفا می تواند به CA هایی ارائه شوند که بر روی آنها ویندوز سرور 2008 نصب شده باشد . فقط کلاینت های ویندوز ویستا و سون و سرور 2008 می توانند برای ثبت نام هر 73 عدد Template ای که در ساختار PKI این سرور وجود دارد برای کامپیتورهای خود ثبت نام کنند. اگر تا به حال فقط 72 عدد از Template ها را در AD DS Forest نصب کرده اید ، بایستی Template های فعلی خود را بروز رسانی کرده و به جدید ترین تعداد که 73 عدد است ارتقاء دهید ، اگر هیچگونه Certificate Template ای در ساختار خود ندارید ، هر تعداد Template که تاکنون ایجاد شده است را می توانید در قسمت Configuration Container در AD DS Forest براحتی اضافه کنید.

نویسنده : محمد نصیری
منبع : انجمن حرفه ای های فناوری اطلاعات ایران

زير ساخت کليد عمومي/ نظام مديريت امنيت داده ها(نماد)

Public Key Infrastructure-PKI 

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

در معماري يا زير ساختار PKI كه به رمز نگاري كليد عمومي و يا رمز نگاري نا متقارن نيز مشهور است بر خلاف رمزنگاري متقارن كه از يك كليد استفاده مي گردد، دو كليد يعني کليد عمومي و كليد خصوصي استفاده مي شود و اين امر باعث مي گردد كه در تراكنش هاي روزانه طرفين از اعتماد كامل به يكديگر برخوردار شوند. در اين سيستم،‌ كاربران داراي يك كليد عمومي هستند كه مي توانند در اختيار همگان قرار دهند و كليد ديگر يعني كليد خصوصي را محرمانه نگهدارند.

داده ها در اين سيستم با كليد عمومي طرف مقابل رمز نگاري شده و گيرنده پيام با كليد خصوصي خود پيام را رمزگشايي مي نمايد. اين سيستم داراي پيچيدگي هاي خاص خود مي باشد لذا بكار گيري يك تمثيل مي تواند درك آن را آسانتر نمايد.

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

پس هر شخصي كه كليد عمومي صاحب صندوق را داشته باشد مي تواند با امنيت كامل پيام خود را ارسال و هيچ كس به جز صاحب  صندوق كه داراي كليد خصوصي (زوج كليد عمومي) است نمي تواند صندوق را باز و به مفاد پيام دسترسي پيدا كند.

اما سؤالي كه در اينجا مطرح مي شود اين است كه صاحب صندوق با باز كردن آن مي تواند اطمينان يابد كه پيام براي او ارسال شده است  اما اين پيام از طرف چه كسي ارسال شده؟ حتي اگر يادداشتي همراه پيام گذاشته باشيد عملا اين مسئله ثابت نمي گردد كه پيام از طرف چه شخصي ارسال گرديده زيرا هر كسي كه كليد عمومي صاحب صندوق را داشته باشد مي تواند اقدام به ارسال پيام نمايد.

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

در مثال فوق همه چيز و تمامي موارد بصورت فيزيكي در نظر گرفته شده است اما در دنياي فناوري اطلاعات و در دنياي رايانه بايد معادل صندوق ها و كليدها را بكار گرفت. در اين حيطه با سيستم و فناوري بنام رمز نگاري سر و كار خواهيم داشت يعني پيام ها توسط الگوريتم هاي پنهان سازي داده ها نظير R5A بصورت رمزي در آمده و دريافت كننده با كليد خصوصي خود يعني رشته اي از كاراكتر ها، از حالت رمزي خارج و با كليد عمومي ارسال كننده پيام، هويت وي را تشخيص خواهد داد. به عبارت ديگر در اين سيستم متن هاي آشكار (Clear text) بصورت متن هاي سري (cipher text) در مي آيند.

در برنامه هاي كاربردي بانكي پيام هاي درون بانكي و بين بانك ها از چند شبكه مختلف عبور كرده و حامل داده هاي حساس مي باشد. اين پيام ها به شدت محرمانه بوده و در هر گروه از شبكه ارتباطي مي بايد سنديت آن تصديق گردد. اين اسناد توسط ارسال كننده و با استفاده از الگوريتم هاي sha2, MD5 فشرده شده و توسط كليد عمومي دريافت كننده رمز نگاري و توسط كليد خصوصي ارسال كننده امضاي ديجيتال و ارسال مي كردد که اين اقدامات باعث مي گردد كه پيام ها داراي خصايص ذيل گردند:

  • محرمانگي:‌ اطلاعات محرمانه و خصوصي مي گردند.
  • يكپارچگي: اطلاعات در بين مسير تغيير نمي يابد.
  • اصالت:‌ارسال كننده و دريافت كننده همديگر را شناسايي مي نمايند.
  • انكار ناپذيري :‌ارسال كننده يا دريافت كننده نمي توانند ارسال و يا وصول پيام ها را انكار نمايند.

منبع : http://www.nicholding.net/PKI.html