تابحال درباره "قانون حفاظت عمومی داده" (General Data Protection Regulation یا به اختصار GDPR) که از ۴ خرداد ۱۳۹۷ در اروپا لازم-الاجرا خواهد شد شنیدهاید؟!
بعد از رسوائی که فیسبوک با افشاء اطلاعات کاربرانش به بار آورد ، کمیسیون اروپا برای هماهنگ کردن قوانین مربوط به حفاظت از اطلاعات و حریم خصوصی شهروندانش در محدوده اروپا ، این قانون را از ۴ خرداد ۱۳۹۷ (۲۵ می ۲۰۱۸) لازم-الاجرا کرد. لذا اگر شما صاحب استارتاپ هستید و ممکن است شهروندان اروپایی از سرویس و خدمات شما استفاده کنند بهتر است زیرساخت خود را برای حفاظت از اطلاعاتشان آماده کنید.
قانون حفاظت عمومی داده (GDPR) ، بر حفاظت اطلاعات کاربران بر اساس اصول پایهای که در اینجا قید شده تاکید میکند تا دنیا بطور امن به سمت داده محور شدن حرکت کند.
بر اساس این قانون ، در صورت نشت دیتا از سازمانی که اطلاعات شهروندان اروپائی را نگهداری میکند، رویه های خاصی برای پاسخگویی آن سازمان/شرکت به کمیسیون اروپا ویا سازمان های مربوطه طراحی شده که دانستن این رویهها و مراحل ، به کسانی نظیر ما که توسعهدهندگان و طراحان سیستمهای نرمافزاری و داده-محور هستیم ، کمک میکند در صورت جهانی شدن این فرآیند -که چیزی دور از ذهن نیست- به خوبی به استقبال آن برویم. در این پست ، باهم به سراغ بررسی چارچوب های حفاظت از داده که GDPR مشخص کرده میرویم و چگونگی پیاده سازی پلتفرمهای نرمافزاریتان با این قوانین را بررسی میکنیم.
فقط مربوط به اروپا نیست.
همه ما اخبار مهیجی درباره جریمههای بزرگ نشت اطلاعات کاربران در شرکتهای خارجی شنیدهایم. هرچند کشور ما با این استانداردها ، چند میلیون سال نوری فاصله دارد ولی قانون جدید حفاظت عمومی داده (GDPR) ، تمامی نهادها، موسسات ،شرکتها و حتی آژانسهای دولتی سرتاسر جهان را که اطلاعات شهروندان اروپا را جمعآوری و نگهداری میکنند (حتی درصورتیکه حضور فیزیکی در خاک اروپا ندارند) را شامل میشود که ایران نیز از این قاعده مستثنی نخواهد بود. همچنین طبق این قانون هر مجموعه و نهادی که نتواند مفاد این قانون جدید را در زیرساختش بگنجاند ، بیشترین جریمه را پرداخت خواهد کرد که معادل ۴٪ درآمد آن مجموعه یا ۲۰ میلیون یورو خواهد بود و همچنین اجازه دسترسی به کاربران اروپایی خود را از دست خواهد داد.
هرچند طبق این نظرسنجی که گارتنر انجام داده ، بیش از ۵۰ درصد موسسات، حتی ۷ ماه بعد از لازم-الاجرا شدن این قانون یعنی تا آخر سال ۲۰۱۸ از نظر فنی نخواهند توانست این قانون را بطور کامل در زیرساختهایشان لحاظ کنند ، با اینحال هر شرکتی که کامل قانون عمومی حفاظت داده (GDPR) را پیاده سازی کند ، مطمئنا اروپاییان بیشتری به وی اعتماد خواهند کرد.
آماده سازی زیرساخت برای قانون عمومی حفاظت داده (GDPR)
این قانون ، چندین پالیسی (سیاست) مختلف دارد که بطور کامل روش دریافت ، ذخیره سازی و دسترسی به دیتا را محدود میکند. باهم این پالیسیهارا مرور کنیم.
پالیسیهای (Policy) مرتبط با دیتا
قانون عمومی حفاظت داده (GDPR) ، بطور مستقیم به روشهای دسترسی ، ذخیرهسازی و حفاظت از اطلاعات در لایه داده (Data Model) در دیتابیس اشاره میکند که میبایست هنگام طراحی و ذخیرهسازی لایه دیتا نرمافزارتان آنها را مد نظر داشته باشید:
حفظ حریم خصوصی در طراحی (Privacy by Design) به این مورد اشاره میکند که Best Practiceهای مربوط به امنیت اطلاعات کاربران ، در نرمافزارها پیاده سازی شده باشند. تمامی موسسات و شرکتها از همان روزهای اول شروع طراحی سیستمهای نرمافزاری و اطلاعاتیشان ، حریم خصوصی کاربران را مدنظر داشته باشند و بعد از اتمام مراحل طراحی و توسعه سیستمهای نرمافزاری مربوطه ، بر حفاظت درست اطلاعات کاربران محصولاتشان نظارت داشته باشند.
حق دسترسی (Right to Access) حق دسترسی به این موضوع اشاره میکند که موسسات و شرکتها، بطور کامل یک کپی از اطلاعاتی که در سیستمهایشان ذخیره شده ، به کاربر صاحب اطلاعات بدهند. برای مثال ، ویرگول امکان دانلود یک کپی کامل از دیتایی که از شما ذخیره کرده (از پست های وبلاگ و آنالیتیکس گرفته تا حتی پسورد هش شدهتان با sha256) را میبایست به شما بدهد.
انتقال-پذیری دیتا (Data Portability) در صورتیکه کاربر براساس حق دسترسی که در بالا ذکر شد، درخواست کپی از اطلاعاتش را بدهند ، موسسه و شرکتی که مبادرت به ذخیره دیتا کرده، این دیتا را را در قالب های متداول ذخیره سازی (نظیر XML ، JSON, YAML و...) در اختیار شخص صاحب دیتا قرار دهد.
انطباق پایگاهداده (Database)
اجرای کامل مفاد قانون عمومی حفاظت داده (GDPR) تنها با تغییر زیرساخت امکانپذیر نیست، بلکه یک پروسه سنگینایست که تغییرات زیادی را در حوزه زیرساخت فناوری اطلاعات ، نرم افزارها و اتوماسیون تمام مفاد این قانون در تک تک رگ و ریشههای سازمان و کسب و کار است. یکی از لایههای مهم در این پروسه ، لایه پایگاه داده است که بطور خلاصه به برخی از پیاده سازی های GDPR که شامل حال دیتابیسها میشود میپردازم:
دانستن مکان دادههایتان شما ممکن است دیتای مربوط به نرمافزار را در چندین جا ذخیره کنید، ممکن است چندین دیتابیس باشد ، یه کلاستر و ریپلیکیت پخش شده از نظر جغرافیایی. ممکن است در سیستم های قدیمی هنوز یک کپی از دادههای کاربرانتان وجود داشته باشد و یا حتی نسخه های بکاپ روی سیدی یا Tape که روحتان هم خبردار نیست مکان فیزیکیشان کجاست ! همهی اینها باید سازماندهی شده و در اولین قدم برای اجرای GDPR ، یک طرح یا نقشه از دیتابیسهایتان،مکانهای ذخیرهسازی آنها، فایلسیستمهایی که دیتای اشخاص در آن قراردارد و کسانیکه که مجاز به دسترسی به آنها هستند رسم کنید. در هنگام ایجاد چنین طرحی ، میبایست به سوالاتی امثال سوالات زیر پاسخ دهید: - چه اطلاعات شخصی پردازش میشوند؟ - دادهها چطور جمعآوری و ذخیرهسازی میشوند؟ - آیا داده بصورت لوکال روی سرورهای شما ذخیره میشوند یا روی کلاود؟ یا هردو؟ - آیا نسخه پشتیبانی از دادهها تهیه میشود؟ اگر تهیه میشود، کجاست و چه کسانی دسترسی دارند؟ - آیا دادهها ، توسط یک میزبان شخص سومی نگهداری میشوند؟ مثلا روی سرور یا VPS اجارهای؟ - آیا فقط به اندازه ضروری از کاربر اطلاعات میگیرید یا همه اطلاعات جزئی و غیرضروری را هم از وی طلب میکنید؟
مطمئن شدن از کامل پاک شدن دیتا هرچقدر سیستمهای جدیدتری به مجموعه آی تی شما اضافه میشود، جزیرهای شدن اطلاعات بیشتر میشود. بدین صورت که دیگر همه اطلاعات در یکجا و یک سرور ذخیره نمیشوند. شما میبایست اطلاعات خصوصی افراد را در سازمانتان شناسایی کنید و مطمئن شوید وقتی که دیگر آن اطلاعات لازم نیست یا به درخواست شخص صاحب اطلاعات نیازمند پاک شدن است ، بطور کامل از سیستم پاک شوند. (بقول دولوپرها: هارد-دیلیت کنید نه سافت-دیلیت!) پس باید بگیم خداحافظ فلگ deleted. در این مرحله برای طراحی چنین سیستمی، باید به سوالاتی مثل سوالات زیر پاسخ دهید: - برای چهمدتی دادهها در سیستم ذخیره خواهند شد و تاریخ انقضاء آنها برای پاک شدن کامل چه زمانیست؟ - چه زمانی داده جمعآوری شده ، هدف اولیه جمعآوریش را برآورده نمیکند؟ آیا لازم است در سیستم نگهداری شود؟ - آیا داده موجود در دیتابیس، دقیق و بروز است؟ - آیا وقتی دادهای از سیستم پاک میشود ، واقعا پاک شده یا قابل بازیابیست؟ (باید کامل غیرقابل بازیابی باشد)
تصمیمگیری برای کسانیکه اجازه دسترسی به دیتا دارند هرکسی نیاز به دسترسی کامل به دادهها را ندارد. شما میبایست در سیستم ذخیرهسازیتان ، تعداد نفراتی که به دادهها دسترسی دارند را به کمترین تعداد نفرات ممکن برسانید. کنترل دسترسیها اجازه میدهد که مشخص کنید چه کسی به چه دادهای دسترسی دارد. سوالاتی مثل سوالات زیر برای طراحی این مرحله مطرح کنید: - کارمندان و کاربران چه اختیاراتی برای ذخیرهسازی و نگهداری دادهها دارند؟ - چه دورههای آموزشی برای حفاظت از اطلاعات برای کارمندان و کاربران برگزار شده است؟ - معیارهای امنیتی این دو دسته برای سنجش امنیت اطلاعات و جلوگیری از نشت آن چیست؟ - چه سیستمهایی برای ناتیفیکیشن و اعلام خطر نشت اطلاعات در مراکز ذخیرهسازی داده نصب شده؟
حفاظت از دیتا رمزنگاری دادهها میتواند به حفاظت دادهها کمک کند. موارد زیر را در نظر بگیرید: - آیا دادهها رمزنگاری شده اند؟ - آیا برای ذخیرهسازی آنها از اسممستعار برای مخفیسازی آنها استفاده شده؟ - چه سیستمهایی برای اعلان و جلوگیری سریع از نشت اطلاعات در مکان دسترسی دارید؟
امنیت تمامعیار سیستمهای امنیتی خود را در امنترین حالت ممکن برای حفاظت از دیتابیسهایتان راهاندازی کنید. در صورتیکه دادههای کاربران بصورت فیزیکی در حال جابجایی در شرکت است نه تنها لازم است که بطور کامل آنرا پیگیری کنید و بهتر است چند لایه امنیتی برای اینکار در نظر بگیرید. برای مثال یکی از حراست شرکت را همراه با کسی که دیتا را حمل میکند همراه شود. اگر به خارج از کشور قرار است دادههای کاربران منتقل شود مطمئن شوید که به همان خوبی که شما از دادههای کاربران حراست میکنید ، آنها نیز به همان صورت مراقب دیتای کاربران باشند.
یکی از دلایلی که در گزارش گارتنر برای زمانبر بودن پروسه پیاده سازی چنین پروتکلهای امنیتی برای همه سازمانهای اتحادیه اروپا و تمامی سازمانها و شرکتهایی که از دیتای کاربران اروپایی نگهداری میکنند قید شده ، این است که بسیاری از سیستمهای سازمانها نمیتوانند همزمان با کارهای روزانهای که انجام میدهند اقدام به پیادهسازی موازی این قانون در زیرساختشان نمایند. شما چه فکر میکنید؟ آیا این قوانین خوب است یا دست و پا گیر؟! اصلا امکان حرکت کشور ما که هنوز ای-نماد ، نماد امنیتش است به چنین سمت و سویی امکانپذیر است؟ واقعا چه بلایی سر اطلاعاتی که ما روی سرورها و سایت های ایرانی داریم میاورند؟ شاید ترس مردم و عدم اعتمادشان به سرویس های داخل کشور ، بخاطر نداشتن چنین قوانین محکم و سرسختانهایست.