افراد مختلف حساسیتهای متفاوتی نسبت به اطلاعات خود دارند. برای مثال ممکن است فردی دوست نداشته باشد که دیگران حقوقش را بدانند اما برای شخص دیگر افشا شدن این موضوع اهمیتی نداشته باشد. اصطلاحا یعنی سطح حریم خصوصی افراد با یک دیگر متفاوت است.
در حریم خصوصی تفاضلی، سطح حریم خصوصی با یک پارامتر کلی مثل ε تعیین میشود. یعنی برای تمامی کاربران یک سطح از حریم خصوصی در نظر گرفته میشود که ممکن است برای بعضی افراد راضی کننده نباشد و یا حریم خصوصی بیش از سطح انتظاری را به برخی دیگر ارائه دهد.
برای حل این مشکل، تعریف جدیدی از حریم خصوصی با عنوان «حریم خصوصی تفاضلی شخصی شده» ارائه شد که سعی دارد حریم خصوصی متفاوت افراد را در نظر بگیرید تا از این طریق بتواند بهرهوری پرسمانها را افزایش دهد.
ابتدا به مقدمات این موضوع میپردازیم و سپس در انتها به تعریف «حریم خصوصی تفاضلی شخصی شده» خواهیم پرداخت و نهایتا یک سازوکار معرفی خواهیم کرد که خواهد توانست هر الگوریتم موجودی را از «حریم خصوصی تفاضلی» به «حریم خصوصی تفاضلی شخصی شده» تبدیل کند.
اولین راهکارهای حریم خصوصی شخصی شده
ایدهی شخصی کردن حریم خصوصی مربوط به این تعریف و مقاله نیست بلکه از قبل افراد در فکر شخصی کردن حریم خصوصی بودهاند.
برای مثال در k-گمنامی از طریق ارائهی سطوح مختلفی از عمومیسازی (Generalization) سعی در برقراری سطوح مختلفی از حریم خصوصی داشتند.
در واقع این مقاله، ویژگی شخصیسازی را به حریم خصوصی تفاضلی اضافه میکند.
یادآوری حریم خصوصی تفاضلی
در تعریف حریم خصوصی تفاضلی دو فرض بسیار مهم وجود دارد که عملا قدرت حریم خصوصی تفاضلی نشات گرفته از آن دو است:
- سطح حریم خصوصی ε یک پارامتر عمومی است یعنی همه و حتی مهاجم از آن اطلاع دارند، بنابراین در تعریف جدید نیز باید این ویژگی وجود داشته باشد.
- مهاجم تمامی اطلاعات را در مورد پایگاه داده به جز اطلاعات در مورد یک شخص خاص را دارد، عملا یعنی مهاجم به هیچ چیزی محدود نشده است و هر دانش پسزمینهای میتواند داشته باشد. در تعریف جدید باید این فرض برقرار باشد تا همچنان قدرت حریم خصوصی تفاضلی را داشته باشد.
ضعف حریم خصوصی تفاضلی
همان طور که در بالاتر گفته شد، در حریم خصوصی تفاضلی، میزان حریم خصوصی برای همهی کاربران یکسان است و به وسیلهی پارامتر ε تعیین میشود. این سطح از حریم خصوصی ممکن است برای برخی افراد راضی کننده نباشد زیرا آنها به سطح حریم خصوصی بیشتری نیاز دارند؛ از این رو این شرایط، تحلیلگر را مجبور میکند یا سطح حریم خصوصی را افزایش دهد یا این که دادههای این کاربران را از پایگاه داده حذف کند.
افزایش سطح حریم خصوصی باعث افزایش نوفهی دادهها خواهد شد و متعاقبا باعث کاهش بهرهوری خواهد شد. همچنین حذف دادههای کاربران نیز مناسب نیست زیرا اگر تعداد این اطلاعات حذف شده زیاد باشد باز هم باعث میشود که نتیجهی پرسمانها دقیق نباشد و دوباره بهرهوری پایین بیاید.
ایدهی حریم خصوصی تفاضلی شخصی شده
قبل از ارائهی «حریم خصوصی تفاضلی شخصی شده» در چند تحقیق مشاهده شده بود که افزودن عدم قطعیت به دادهها موجب تقویت حریم خصوصی میشود و حریم خصوصی بیشتری را فراهم میکند.
از این رو این تعریف سعی میکند که با افزودن عدم قطعیت از این ویژگی بهره ببرد.
تابع سطح حریم خصوصی
با توجه به این که در این تعریف، در مورد سطوح مختلف حریم خصوصی برای کاربران صحبت میکنیم، ابتدا نیاز است که این تعریف را به شکل ریاضی بیان کنیم:
\(\Phi = U \rightarrow R_{+}\)در واقع تابع بالا، به ازای هر کاربر، سطح حریم خصوصی وی را مشخص میکند.
سطح حریم خصوصی کاربر u را میتوان با نماد زیر نشان داد:
\( \Phi^{u} \)دقت شود که سطح حریم خصوصی، همانند حریم خصوصی تفاضلی، باید عددی بین ۰.۰۱ تا ۱ باشد. بعضی از کاربران ممکن است که سطح حریم خصوصی خود را تعیین نکنند و از این رو باید یک سطح حریم خصوصی پیشفرض نیز در نظر گرفت. برای مثال میتوان ۱ را به عنوان سطح حریم خصوصی پیشفرض در نظر گرفت.
نکتهای که در مورد این تابع مطرح است این است که این تابع باید به شکل عمومی قابل دسترسی باشد و قرار نیست که پنهان نگه داشته شود زیرا قبلتر دیدیم که پارامتر سطح حریم خصوصی در حریم خصوصی تفاضلی نیز به شکل عمومی در دسترس بود.
بنابراین این تابع را باید به شکل عمومی منتشر کرد اما باید حواسمان باشد که خود تابع باعث افشای حریم خصوصی کاربران نشود؛ بدین منظور سطح حریم خصوصی به ازای هر داده در نظر گرفته شود، برای هر کاربر در نظر گرفته میشود. برای مثال:
- فرض کنید یک کاربر تعیین میکند که حقوقش از سطح حریم خصوصی ۰.۰۱ برخوردار است، با انتشار این اطلاعات سایرین میتوانند حدس بزنند که این کاربر حقوق بالایی دریافت میکند که در مورد آن حساس است. بنابراین نشت اطلاعات رخ داد.
- فرض کنید یک کاربر تعیین میکند که سطح حریم خصوصی تمام اطلاعاتش برابر با ۰.۰۱ است، با انتشار این اطلاعات هیچ استنتاجی نمیتوان در مورد این کاربر داشت و از این رو حریم خصوصی رعایت شده است.
طبیعی است که سطح حریم خصوصی هر کاربر باید قبل از تولید هر گونه دادهای تعیین شود، بنابراین هنگام ثبتنام هر کاربر سطح حریم خصوصی او را میپرسیم.
راهکارهای در نظر گرفتن سطوح حریم خصوصی متفاوت
قبل از پرداختن به «حریم خصوصی شخصی شده» قصد داریم چند راهکار ساده بپردازیم که ببینیم چگونه میتوان با وجود سطوح حریم خصوصی متفاوت، حریم خصوصی تفاضلی را ایجاد کرد.
کمینه
هنگامی که کاربران سطوح مختلفی از حریم خصوصی را دارند میتوان ε را برابر با کمترین مقدار کمترین مقدار موجود در تابع در نظر گرفت. در این صورت حریم خصوصی تمامی کاربران قطعا رعایت میشود اما برای بعضی از آنها حریم خصوصی بیش از حد انتظار ایجاد میشود:
\( \alpha = min_{u} \Phi^{u} \Longrightarrow \epsilon = \alpha \)طبیعی است که این روش باعث افزایش نوفهی دادهها میشود.
سطح آستانه
روش دوم که قبل تر نیز به آن اشارهی کوچکی کردیم این است که یک سطح حریم خصوصی را همانند t در نظر بگیریم و همهی کاربرانی را که سطح حریم خصوصی آنها قویتر از t است را حذف کنیم:
\( D_t = \{ x \in D | \Phi^{x_u} \ge t \} \)یعنی این روش مجموعهی دادهها را تغییر میدهد. طبیعی است چون این روش به احتمال زیاد تعداد زیادی از دادهها را حذف میکند باعث میشود که نتیجهی پرسمانها دقیق نباشد و بهرهوری را پایین میآورد.
حریم خصوصی تفاضلی شخصی شده
حال به راهکار اصلی این مقاله میپردازیم.
در این تعریف، از دادههای همهی کاربران استفاده نمیشود بلکه اطلاعات هر کاربری با توجه به سطحی از حریم خصوصی که خود کاربر تعیین میکند احتمال دارد که در دادههای ورودی باشد یا خیر.
در واقع «حریم خصوصی تفاضلی شخصی شده» دیگر با قطعیت همهی دادهها را انتخاب نمیکند و بلکه هر دادهای را با احتمال خاصی میتواند انتخاب کند یا خیر. در واقع اینجا دقیقا جایی است که این تعریف از عدم قطعیت بهره میبرد تا حریم خصوصی مورد نظر را فراهم نماید.
هر کاربر با احتمال زیر انتخاب میشود:
\( \pi_x = \left\lbrace \begin{array}{c} \frac{e^{\Phi^{x_u}}-1}{e^{t} – 1}\qquad \textrm{if}\; \Phi^{x_u} < t \\ 1 \qquad otherwise \end{array} \right. \)در واقع ما در اینجا همچنان یک سطح آستانه تعیین میکنیم اما به جای این که همهی کاربرانی که سطح حریم خصوصی آنها قویتر از آستانه است را حذف کنیم، آنها را با عدم قطعیت و با احتمال بیان شده انتخاب میکنیم.
بعد از این که مجموعهی دادهها را انتخاب کردیم آنها را به یک الگوریتم حریم خصوصی تفاضلی با ε = t میدهیم.
میتوان اثبات کرد که نتیجه حریم خصوصی همهی کاربران را حفظ میکند.
مزایای حریم خصوصی تفاضلی شخصی شده
علاوه بر افزایش بهرهوری، حریم خصوصی تفاضلی شخصی شده باعث میشود که کاربران بیشتری در ارائهی اطلاعات خود همکاری کنند.
شواهدی وجود دارد که نشان میدهد اگر به کاربران اجازه داده شود تا میزان حریم خصوصی را خودشان تعیین کنند، آنها را بیشتر ترغیب به استفاده از خدمات میکند.
Jorgensen, Zach, Ting Yu, and Graham Cormode. “Conservative or liberal? Personalized differential privacy.” 2015 IEEE 31St international conference on data engineering. IEEE, 2015