‏نمایش پست‌ها با برچسب رایانه. نمایش همه پست‌ها
‏نمایش پست‌ها با برچسب رایانه. نمایش همه پست‌ها

۱۳۹۴ مهر ۱۲, یکشنبه

ماندن یا رفتن (۲): انگیزه‌های بازگشت و وضعیت حرفه‌ای



انگیزه‌های بازگشت

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

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

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

چرا دانشگاه؟

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

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

دانش‌جویان

در نیم‌سال تحصیلی گذشته، دو درس ارائه کردم، یکی در مقطع کارشناسی با یک کلاس ۶۰-۷۰ نفری (طراحی الگوریتم) و یک درس ارشد با کلاسی کوچک (الگوریتم‌های بیوانفورماتیک). تدریس و سروکله زدن با دانش‌جویان برای بعضی دل‌چسب و برای بعضی کسل‌کننده است. قبل از رفتن به ایران در زمستان گذشته، مطمئن نبودم که در کدام‌یک از دو دسته‌ قرار دارم، به‌خصوص که سال‌ها در صنعت فعال بوده‌ام و حتی پروژه‌ی دوران دکترایم یک کار کاملا صنعتی در یک شرکت نرم‌افزاری بود. از نکات خیلی مثبت تجربه‌ی ترم گذشته، درک این موضوع از نزدیک بود که هنوز از تدریس و آموزش لذت می‌برم و شاید از آن مهم‌تر، ارتباط با دانش‌جویان برایم لذت‌بخش است. واقعا این بخش از تجربه فراتر از انتظارم بود و به‌نظرم یک دلیل اصلی آن همان موضوع «خانواده‌ی بزرگ» است. به‌خصوص در مقطع لیسانس قبلا این دغدغه را داشتم که چه معنایی دارد که کسی از غرب به ایران بازگردد و دانشجو تربیت کند و عمده‌ی دانشجویان خوب به غرب مهاجرت کنند؟! این دغدغه هنوز هم وجود دارد ولی مشاهدات زیر تلطیف‌کننده‌ی این دغدغه است:
  • اولا همه به خارج از ایران مهاجرت نمی‌کنند، حتی در بین دانش‌جویان خوب در یک دانشگاه خوب مثل تهران. درصد قابل توجهی می‌مانند و آینده‌ی صنعت نرم‌افزار کشور به دست آن‌ها خواهد بود.
  • حتی برای آن دسته که مهاجرت دائم (یا موقت) می‌کنند، اگر به دید عضوی از همان «خانواده‌ی بزرگ» نگاه کنیم، باز شاید خیلی جای تاسف نباشد. من سعی می‌کنم به این جنبه نگاه کنم که شاید تاثیر مثبت هرچند اندکی در زندگی یک «انسان» داشته‌ام و این حس آرامش بخشی‌ست که به زندگی معنا می‌دهد. به‌علاوه شاید این تاثیر احتمال بازگشت این استعداد‌ها را بیش‌تر کند. به‌نظرم، برای دانش‌جویان توانا، واقعا وضعیت ایده‌آل (از دید کشور) این است که برای تحصیلات تکمیلی به یکی از دانشگاه‌های درجه‌ی یک دنیا بروند و البته بعد از آن بازگردند (و البته می‌دانیم که متاسفانه این بخش آخر معمولا محقق نمی‌شود).
  • نهایتا این‌که تصمیم ماندن در ایران یا رفتن، یک موضوع خیلی روشن و بدیهی در بین دانش‌جویان نیست. حداقل در دانشگاه تهران این‌گونه نبود، شاید جایی مثل شریف وضعیت دیگری داشته باشد. به‌علاوه، این تصمیم در خلا اتخاذ نمی‌شود و اگر مثلا اساتید خوبی در دانشگاه باشند، خیلی از دانش‌جویان شاید ماندن در دانشگاه‌های خوب ایران را به تحصیلات تکمیلی در یک دانشگاه دست دوم آمریکای شمالی ترجیح دهند.
به‌هرحال من از تجربه آموزش در ترم گذشته، به‌خصوص در سطح کارشناسی، لذت بردم. تاکید کنم که کیفیت نسبتا بالای دانشجویان و از آن مهم‌تر انگیزه‌ی آن‌ها برای به‌تر شدن و یادگرفتن، خیلی در مثبت بودن این تجربه تاثیر داشته. به‌علاوه خیلی از این دوستان، مشتاق مشارکت در فعالیت‌های فوق‌برنامه (از نوعی که قبلا اشاره کردم) بودند. بجاست یادی از این دوستان بکنم:

جلسه‌ی آخر کلاس الگوریتم، دانشگاه تهران، بهار ۱۳۹۴


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

وضعیت اقتصادی

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

نرخ تورم و رشد قیمت شاخص ۱۳۸۹ تا ۱۳۹۳، منبع بانک مرکزی ایران


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

فعالیت‌ها و انتظارات حرفه‌ای

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

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

همکاران و فضای دانشگاه

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


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

فضای همکاری صنعتی

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

پانوشت‌ها

۱۳۹۴ شهریور ۲۲, یکشنبه

ماندن یا رفتن؟ مسئله این است!



زمینه‌ی مسئله‌ی بازگشت به ایران

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

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

نمایی از شمال تهران از روی پل طبیعت، بهمن ۱۳۹۳




هدف و چگونگی نوشتن تجربه‌ها

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

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


دعوت به مشارکت

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

پانوشت‌ها

۱۳۹۲ خرداد ۱۸, شنبه

امنیت در اینترنت به زبان ساده (قسمت دوم - رمزنگاری)


مرور گذشته و برنامه‌ی این قسمت

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


مبنای روش‌های رمزنگاری «کلید عمومی»

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

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

تصویر زیر یک شهود ساده نسبت به این روش‌ها به‌دست می‌دهد، بدون این‌که وارد بحث ریاضی آن شود:

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



بررسی روش آر‌اس ای

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

برای توضیح روش آر‌اس‌ای با استفاده از مثال بالا (ارسال عدد ۱۲۱ توسط احمد برای بهروز):
  1. بهروز دو عدد اول بزرگ انتخاب می‌کند به نام‌های p و q سپس حاصل‌ضرب n=pq را به‌طور عمومی به همه اعلام می‌کند.
  2. بهروز هم‌چنین حاصل‌ضرب f=(p-1)(q-1) را هم حساب می‌کند ولی آن را برای خودش نگه‌می‌دارد.
  3. مرحله‌ی بعدی، انتخاب عدد اول دیگری به اسم e است به شکلی که بزرگ‌ترین مقسوم‌علیه مشترک f و e مساوی یک باشد (لازم نیست e خیلی بزرگ باشد). بهروز این عدد را نیز به‌شکل عمومی به همه اعلام می‌کند. ولی در عین‌حال عدد دیگری به اسم ‌d انتخاب می‌کند به‌شکلی که حاصل‌ضرب de در تقسیم بر f باقیمانده‌اش برابر یک باشد. دقت کنید که اعداد p, q, f, d را تنها بهروز می‌داند ولی n, e را همه می‌دانند.
  4. حالا برای این‌که احمد عدد خودش (یا همان ۱۲۱) را به شکل رمزشده برای بهروز بفرستد آن را به‌توان e می‌رساند و باقی‌مانده‌ی این عدد بر n را به شکل عمومی اعلام می‌کند يعنی باقیمانده‌ی ۱۲۱e در تقسیم بر n .
  5. در بین کل جمع، تنها بهروز می‌تواند به‌سرعت به عدد رمز شده، یعنی ۱۲۱ پی ببرد! برای این‌کار بهروز باقی‌مانده‌ی فرستاده شده توسط احمد را به توان d می‌رساند و مجددا باقی‌مانده تقسیم این عدد بر n را حساب می‌کند. این باقیمانده برابر ۱۲۱ خواهد بود!
بررسی این‌که چرا باقیمانده‌ی نهایی برابر عدد رمزشده‌ی اولیه است خارج از حوصله‌ی این نوشته است. به علاوه نکته‌ی کلیدی این روش این است که بدون داشتن p و q محاسبه‌ی d از نظر پیچیدگی محاسبات، کاری بسیار دشوار است و اگر p و q به اندازه‌ی کافی بزرگ باشند تقریبا غیر ممکن. ولی همین محاسبه اگر p و q مشخص باشند خیلی ساده است. بنابراین کسی جز بهروز نمی‌تواند d را حساب کند و بدون آن رمزگشایی پیام ممکن نیست. نهایتا دقت کنید که n برای همه مشخص است و همه می‌دانند که این عدد حاصل‌ضرب دو عدد اول است ولی مسئله‌ی «تجزیه‌ی یک عدد به عوامل اول» در زمان کوتاه «احتمالا» با کامپیوتر‌های امروزی غیرممکن است. برای مسئله‌ی تجزیه اعداد صحیح یا Integer Factorization الگوریتم سریعی پیدا نشده است. به عبارت ساده منظور از این گزاره این است که برای تجزیه‌ی عددی با b بیت زمانی معادل ab لازم است که در آن a یک عدد بزرگ‌تر از یک است، مثلا ۲b. چون در روش آراس‌ای در استفاده‌های واقعی p, q اعداد اول با ۱۰۲۴ یا ۲۰۴۸ بیت‌اند، عملا زمان لازم برای تجزیه‌ی n=pq آن‌قدر زیاد است که بدون داشتن p یا q تجزیه‌ی n غیر ممکن می‌شود. اگر علاقمندید یک مثال عددی از این روش را ببینید به پاورقی مراجعه کنید. بیایید در یک مثال ساده روش آراس‌ای را تحقیق کنیم. همان‌طور که گفته شد p، q، و n اعداد بزرگی‌اند ولی ما برای سادگی یک مثال کوچک را بررسی می‌کنیم:
  1. p=۱۷‌، q=۳۱، n=۱۷×۳۱=۵۲۷
  2. f=(p-1)(q-1)=۱۶×۳۰=۴۸۰
  3. e=۱۳ و d=۳۷ توجه کنید که باقی‌مانده‌ی ۱۳×۳۷ بر ۴۸۰ برابر یک است. بهروز n=۵۲۷ و e=۱۳ را به شکل ‌«عمومی» به همه اعلام می‌کند ولی d=۳۷ را به‌شکل «خصوصی» نگه می‌دارد.
  4. احمد باقیمانده‌ی ۱۲۱۱۳ را بر ۵۲۷ حساب می‌کند و حاصل، یعنی ۱۰۰ را اعلام می‌کند.
  5. بهروز باقی‌مانده‌ی ۱۰۰۳۷ بر ۵۲۷ را حساب می‌کند. اگر این محاسبه را انجام دهید خواهید دید که حاصل ۱۲۱ است.


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

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


توضیح ساده‌ی امنیت بر روی اینترنت، با اشاره‌ی غیر مستقیم به رمزنگاری با کلید عمومی. برای مشاهده‌ی فیلم با زیر‌نویس فارسی اینجا را ببینید و از فهرست ترجمه‌های زیر فیلم (Select Language)، فارسی (Persian) را انتخاب کنید، توجه کنید که عبارت‌های داخل پرانتز در متن اصلی نیست. ترجمه‌ی فارسی فیلم در پانوشت‌های همین نوشته هم موجود است.
نیمه‌ی دوم این فیلم، یعنی ارسال کلید با استفاده از جعبه و قفل فروشگاه، مثالی از استفاده از رمزنگاری با کلید عمومی است. در این‌جا قفل ارسالی، کلید عمومی فروشگاه است و کلید این قفل، همان کلید خصوصی فروشگاه است.
قطعه فیلم کوتاه رو‌به‌رو شهود خوبی از رمزنگاری بر روی اینترنت می‌دهد. اگر مایلید ترجمه‌ی فارسی این قطعه فیلم را به شکل زیرنویس بر روی فیلم تماشا کنید به این برگه مراجعه کنید. متن ترجمه در پانوشت هم موجود است. اگر مایلید ترجمه‌ی فارسی این قطعه فیلم را به شکل زیرنویس بر روی فیلم تماشا کنید به این برگه مراجعه کنید. متن زیر همان زیرنویس‌ها با ذکر زمان شروع هر قسمت است (توجه کنید که عبارت‌های داخل پرانتز در متن اصلی نیست و برای توضیح بیش‌تر در زمان ترجمه اضافه شده است).
  • 0:00 – 0:03
    امنیت اینترنتی چگونه کار می‌کند.
  • 0:04 – 0:12
    ما امروزه بیش‌تر و بیش‌تر خرید اینترنتی انجام می‌دهیم و این به این معنی است که باید اطلاعات حساس کارت اعتباری‌مان را بر روی وب بفرستیم.
  • 0:12 – 0:19
    ولی نمی‌توانیم این جزییات را بدون تغییر بفرستیم زیرا هیچ وقت نمی‌دانید چه کسی ممکن است به اطلاعات ارسالی شما گوش دهد.
  • 0:20 – 0:24
    بنابراین کاری که انجام می‌دهیم، ارسال اطلاعات به شکل رمز شده است.
  • 0:24 – 0:30
    می‌توانید به این شکل به آن فکر کنید: این قفل، یک قطعه برنامه‌ی کامپیوتریست که اطلاعات را رمز می‌کند
  • 0:30 – 0:35
    این کلید یک برنامه‌ی دیگر است که آن را در سوی دیگر رمزگشایی می‌کند.
  • 0:36 – 0:46
    کاری که ما باید بکنیم، اگر بخواهم اطلاعات کارت اعتباری‌‌ام را بر روی شبکه بفرستم، این است که آن را درون جعبه‌ای قرار دهم،‌ قفلش کنم، و کلید را پیش خودم نگه دارم.
  • 0:46 – 0:50
    بعد از آن می‌توانم آن را برای هرکس بخواهم بفرستم.
  • 0:50 – 0:57
    اهمیتی ندارد اگر در طول مسیر کس دیگری آن را دریافت کند، به‌خاطر این‌که رمز شده است و هیچ‌کس دیگری بدون داشتن کلید من نمی‌تواند آن را باز کند.
  • 0:58 – 1:03
    نهایتا، اطلاعات کارت اعتباری من با امنیت کامل به فروشگاه اینترنتی خواهد رسید.
  • 1:04 – 1:12
    حالا یک کار دیگر باقی می‌ماند: من باید کلیدم رابه فروشگاه اینترنتی بفرستم بدون این‌که کسی در بین راه بتواند صاحب آن شود. این‌کار به این شکل انجام می‌شود:
  • 1:12 – 1:21
    فروشگاه اینترنتی برای من یک جعبه می‌فرستد، به‌همراه یک قفل باز بدون کلید (این قفل همان «کلید عمومی» فروشگاه است).
  • 1:21 – 1:29
    حالا من کلیدم را داخل جعبه‌ی آن‌ها قرار می‌دهم و با قفل فروشگاه آن را قفل می‌کنم.
  • 1:31 – 1:35
    نه من و نه هیچ کس دیگری قادر به باز کردن آن نخواهد بود، فقط فروشگاه اینترنتی کلید قفل را دارد (این کلید، همان «کلید خصوصی» فروشگاه است).
  • 1:35 – 1:39
    حالا من می‌توانم کلیدم را با امنیت کامل برای فروشگاه بفرستم.
  • 1:39 – 1:45
    در این‌جا هم اهمیتی ندارد که چه کسی در بین راه جعبه را دریافت کند، چون قفل است و فقط فروشگاه اینترنتی می‌تواند آن را باز کند.
  • 1:45 – 1:55
    نهایتا جعبه به فروشگاه اینترنتی می‌رسد. در آن‌جا با استفاده از کلید فروشگاه، جعبه را باز می‌کنند و کلید من را از آن خارج کرده، جعبه اول را با استفاده از این کلید باز می‌کنند.
  • 1:55 – 2:00
    به این شکل، اطلاعات کارت اعتباری من، با امنیت کامل به دست فروشگاه اینترنتی می‌رسد.
توجه کنید که در هیچ‌کجای این فیلم اشاره‌ای به رمزنگاری با کلید عمومی نمی‌شود، ولی شما قاعدتا بعد از مشاهده‌ی فیلم متوجه استفاده از این روش شده‌اید. به‌طور مشخص، در نیمه‌ی دوم فیلم، آنجا که فروشگاه اینترنتی جعبه و قفل باز را برای خریدار می‌فرستد، این قفل باز در واقع کلید عمومی فروشگاه است، همان‌طور که در مثال احمد و بهروز هم اشاره شد . کلید خصوصی فروشگاه هم همان کلید این قفل باز است. تصویر و مثال شهودی قفل‌ها که در انتهای بخش توصیف رمزنگاری با کلید عمومی ذکر شد، از همین قطعه فیلم اقتباس شده است. دقت کنید که کلیدی که خریدار داخل جعبه‌ی قفل شده قرار می‌دهد، کلید عمومی یا خصوصی کسی نیست و می‌تواند هر پیام رمز شده‌ای باشد. این کلید در واقع همان رمز مشترکی است که فروشگاه و خریدار با استفاده از آن می‌توانند یک صحبت خصوصی انجام دهند و در مثال‌های واقعی طول عمر این رمز مشترک، معمولا به اندازه‌ی تنها یک خرید است و بعد از دور انداخته می‌شود.


مشکل «جاسوس بین راه» کماکان باقیست!

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


پانوشت‌ها

۱۳۹۲ اردیبهشت ۱, یکشنبه

امنیت در اینترنت به زبان ساده (قسمت اول)


مقدمه

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

سفارش پیتزا در دنیایی بدون احترام به حریم خصوصی!

دلایل بالا احتمالا کافیست تا حداقل آشنایی با امنیت برروی شبکه را برای همه‌ی کابران این شبکه ضروری کند و هدف این مجموعه از نوشته‌ها هم همین است. تلاش بر این است که مفاهیم به شکل خیلی ساده مطرح شود و در عین حال ارتباط مثال‌های ساده با دنیای واقعی شبکه‌ها مشخص شود. به‌طور مشخص در پایان آخرین قسمت این نوشته‌ها شما، مستفل از پیش‌زمینه‌ی تحصیلی‌تان (تنها با فرض دانش ریاضی در سطح دبیرستان)، احتمالا می‌توانید نحوه‌ی کار پروتکل https را درک کنید و مثلا بدانید حمله‌هایی که در سال‌ گذشته از ایران به اکانت ایمیل بعضی از کاربران جی‌میل صورت گرفت، چگونه انجام شد. این حمله در تابستان ۱۳۹۰ (۲۰۱۱) صورت گرفت و این گزارش اولیه‌ی گوگل از ماجراست. برای گزارش‌های خبری به فارسی می‌توانید این خبر بی‌بی‌سی یا این گزارش دویچه‌وله را ببینید. درپایان این مقدمه لازم است تاکید کنم که امنیت شبکه، حتی برای شهروندان کشورهای به اصطلاح پیش‌رفته، کاملا مهم است، چه از بعد جرایم مالی و چه از بعد حریم خصوصی، برای کوتاه کردن سخن شاید دیدن این فیلم طنز کوتاه مناسب باشد.


نحوه‌ی برقراری ارتباط در اینترنت

تمام رایانه‌های متصل به شبکه‌ی اینترنت، یک آدرس اینترنتی دارند، چیزی شبیه شماره تلفن یک نفر که هر کس برای تماس گرفتن با آن شخص باید آن را بداند. ممکن است چند رایانه در یک شبکه‌ی محلی، مثلا داخل یک خانه یا سازمان، یک آدرس اینترنتی مشترک داشته باشند به‌علاوه‌ی آدرس‌های داخلی که فقط در آن خانه یا سازمان معنا دارد، چیزی مانند شماره‌ تلفن‌های داخلی اگر بخواهیم از مثال تلفن استفاده کنیم. در این‌جا و جاهای دیگر از این جزییات به قصد ساده‌سازی چشم‌پوشی می‌کنیم، برای اطلاعات بیشتر نگاه کنید به NAT در ویکی‌پدیای انگلیسی. این آدرس که اصطلاحا به آن آدرس آی‌پی (IP برگرفته از Internet Protocol) گفته می‌شود، معمولا از چهار شماره بین صفر و ۲۵۵ تشکیل می‌شود، مثلا ۱۹۲.۲۲۵.۱۰۰.۳۴ این آدرس‌ عملا یک عدد ۳۲ بیتی در مبنای دو است که به شکل چهار عدد ۸ بیتی نمایش داده می‌شود. به همین دلیل هریک از این چهار عدد حداکثر ۲۵۵ است معادل ۸ بیت یک در مبنای دو. این آدرس‌ها مربوط به رایج‌ترین پروتکل اینترنت (Internet Protocol) یا همان IPv4 است. باز هم برای سادگی از جزییات مربوط به آدرس‌های جدید ۱۲۸ بیتی یا همان IPv6 صرف‌نظر می‌کنیم. وقتی رایانه‌ی شما با رایانه‌ی دیگری بر روی شبکه ارتباط برقرار می‌کند، از همین آدرس استفاده می‌کند، البته ارتباط به شکل مستقیم برقرار نمی‌شود بلکه در بین راه از تعدادی «مسیر‌یاب» (router) می‌گذرد. مسیر‌یاب رایانه‌ای است که اطلاعات مربوط به محل و نحوه‌ی اتصال رایانه‌های مختلف روی شبکه در آن نگه‌داری می‌شود. به‌عنوان مثال، فرض کنید شما برای جستجوی وب با یکی از رایانه‌های شرکت گوگل با آدرس ۷۴.۱۲۵.۲۲۶.۷۱ ارتباط برقرار کنید، مراحل برقراری این ارتباط به شکل خیلی خلاصه چنین است:
  1. رایانه‌ی شما آدرس مقصد را به نزدیک‌ترین مسیریاب اعلام می‌کند. این مسیریاب معمولا متعلق به شرکتی‌ است که خدمات اینترنت را از آن خریداری کرده‌اید ( «رساننده خدمات اینترنت» یا همان آی‌اس‌پی یا ISP ).
  2. این مسیریاب اگر مستقیما به رایانه‌ی مقصد هم متصل باشد (که در مثال بالا بعید است)، درخواست شما را به آن می‌فرستد. اگر نه، از روی آدرس مقصد (معمولا با استفاده از شماره‌ی اول، یعنی ۷۴ در این مثال) مسیریاب اول می‌داند که درخواست شما را به کدام‌یک از مسیریاب‌های دیگری که به آن متصل است ارسال کند.
  3. دو مرحله‌ی قبلی در مسیریاب یا مسیریاب‌های بعدی هم تکرار می‌شود تا نهایتا درخواست شما به رایانه‌ی گوگل برسد.
  4. بر روی «بسته»‌ی درخواستی شما، آدرس مبدا یعنی همان رایانه‌ی شما هم نوشته شده است (مانند آدرس فرستنده روی پاکت نامه) بنابراین رایانه‌ی گوگل بعد از استخراج پاسخ شما با همان روش قبلی اطلاعات را برای رایانه‌ی شما ارسال می‌کند.
شمایی از ارتباط رایانه‌ها در اینترنت، برگرفته از ویکی‌پدیا .
در توصیف بالا از عبارت «بسته» (یا packet) استفاده شد و دلیل آن این است که درخواست یا اطلاعاتی که بین دو رایانه رد و بدل می‌شود به قطعه‌های کوچک به نام بسته شکسته می‌شود. هربسته شامل قسمتی از اطلاعات ارسالی است به علاوه‌ی آدرس مبدا، آدرس مقصد، و داده‌های دیگر مربوط به مشخصات بسته. برای اندازه‌ی این بسته‌ها معمولا سقفی تعیین می‌شود، مثلا ۶۴ کیلوبایت. بررسی دلایل استفاده از این بسته‌ها فراتر از حوصله‌ی این نوشته است. مثلا یکی از فواید این است که اگر بسته‌ای به مقصد نرسید، تنها همان یک بسته را می‌توان مجددا ارسال کرد، به علاوه بسته‌ها کاملا مستقل از یکدیگرند و ارتباط مفهومی احتمالی آن‌ها تنها در مبدا و مقصد مهم است و از دید مسیریاب اهمیتی ندارد، بنابراین بسته‌های مختلف یک پیام ممکن است از مسیرهای مختلف به مقصد برسند. تصویر روبه‌رو شاید برای درک به‌تر مراحل بالا مفید باشد. مسیر‌یاب‌ها در این تصویر با استوانه‌های آبی نشان داده شده‌اند که علامتی شبیه ضربدر روی آنهاست. می‌توانید به این تصویر به شکل هرمی نگاه کنید که کاربران نهایی (مانند رایانه‌ی منزل شما) در قاعده‌ی هرم قرار دارند و هرچه به راس هرم نزدیک‌تر می‌شویم با شرکت‌های بزرگ و بزرگ‌تری سروکار داریم که وظیفه‌ی اصلی‌شان ارائه‌ی خدمات اینترنت و ایجاد و نگه‌داری زیرساخت‌های شبکه است. مثلا رایانه‌ی شما ابتدا به آی‌اس‌پی محلی در شهر یا محله‌تان متصل است. این آی‌اس‌پی خود به آی‌اس‌پی‌های بزرگ‌تر متصل است و ... توجه کنید که در مثال بالا، هم رایانه‌ی منزل شما و هم رایانه‌ی شرکت گوگل در قاعده‌ی هرم و به عنوان کاربران نهایی قلمداد می‌شوند. به این ساختار هرمی دقت کنید چون در جاهای دیگر هم مشابه آن تکرار خواهد شد!


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

سوالی که تا الان احتمالا پیش آمده این است که ما هر روز چندین بار از اینترنت و به‌طور خاص خدمات گوگل استفاده می‌کنیم ولی چرا تا به‌حال با آدرس‌های عجیبی مثل ۷۴.۱۲۵.۲۲۶.۷۱ سروکار نداشته‌ایم؟ پاسخ در رایانه‌هایی است که نام‌هایی مثل google.com را به این آدرس‌ها تبدیل می‌کنند و به آن‌ها «کارساز نام دامنه» يا دی‌ان‌اس (DNS: Domain Name Server) گفته می‌شود. در متون فنی به زبان فارسی، ترکیب اصطلاحات اصلی با ترجمه‌ی فارسی آن معمولا مشکل‌زاست. من در مواردی از ترجمه‌ها استفاده کرده‌ام ولی در موارد دیگر که اصطلاح اصلی خیلی رایج شده همان را به‌کار برده‌ام. به‌عنوان مثال در این‌جا «کارساز» ترجمه‌ی همان server است! به‌نظرم استفاده از ترکیب‌های فارسی ارجح است چون درک مطلب را برای غیر متخصصین راحت‌تر می‌کند ولی گاهی موجب سردرگمی می‌شود. یکی از این رایانه‌ها معمولا در همان آی‌اس‌پی محلی شما وجود دارد و وقتی شما عبارت google.com را در قسمت آدرس مرورگر (browser) خود وارد می‌کنید، مرورگر شما آدرس آی‌پی google.com را از این کارساز نام‌دامنه می‌پرسد و بعد از گرفتن پاسخ این آدرس را با آدرسی مثل ۷۴.۱۲۵.۲۲۶.۷۱ جایگزین می‌کند. از این‌جا به بعد، ادامه‌ی کار مانند مراحل بالاست. برای اطلاعات بیش‌تر نگاه کنید به ساناد یا سامانه‌ی نام دامنه. چیزی مشابه ساختار هرمی بالا بین مسیر‌یاب‌ها، برای این کارسازهای نام دامنه هم وجود دارد. مثلا دی‌ان‌اس اول ممکن است آدرس google.com را نداند که در این‌صورت از دی‌ان‌اس بزرگ‌تری در سطح بالاتر آن را می‌پرسد و الی آخر. آدرس دی‌ان‌اس اول را معمولا شرکت خدمات اینترنت به‌طور خودکار به رایانه‌ی شما اطلاع می‌دهد.

تبدیل نام به آدرس اینترنتی، برگرفته از Mx Toolbox
به عنوان نمونه می‌توانید به این وب‌سایت مراجعه کنید و آدرس اینترنتی وب‌سایت‌های مختلف را با استفاده از آن پیدا کنید. نام وب‌سایت را در قسمتی که در عکس نشان داده شده وارد کنید و بعد کلید DNS Lookup را فشار دهید.


مشکل «جاسوس بین راه»

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


پانوشت‌ها