অবসন্ন পয়েন্টগুলির জন্য কোন সহজ, কার্যকর কৌশল উপলব্ধ?


14

আমরা এমন একটি ওয়েবসাইট তৈরি করছি যা ব্যবহারকারীদের কাছ থেকে অবস্থানের তথ্য (পয়েন্ট) সংগ্রহ করবে। আমরা ব্যবহারকারীর অবস্থানের গোপনীয়তা সংরক্ষণের কৌশলগুলি অন্বেষণ করছি (উদাহরণস্বরূপ, প্রায়শই ব্যবহারকারীরা তাদের বাড়ির ঠিকানা ভাগ করবেন যা সংবেদনশীল) is একটি বিকল্প যা মাথায় এসেছিল তা হ'ল পয়েন্টগুলি ডাটাবেসে সংরক্ষণের আগে "হ্যাশ" অবলম্বন করা বা এই সংবেদনশীল তথ্যগুলিকে আদৌ সংরক্ষণ করার প্রয়োজনীয়তা বাদ দেওয়া।

আমাদের প্রাথমিক প্রয়োজনীয়তা হ'ল, আমি বিশ্বাস করি:

  1. একটিমাত্র অবলম্বন বিন্দুর ভিত্তিতে, মূল পয়েন্টটি এক কিলোমিটারের মধ্যে (যেমন) বলতে পারা সম্ভব নয় এমনকি পয়েন্টের সাথে সম্পর্কিত সমস্ত মেটাডেটা দেওয়া (যেমন, পুরো ডাটাবেসকে আপস করা আছে বলে ধরে নিন)।

  2. একই মূল পয়েন্টের সাথে মিলেমিশে বড় আকারের অবিচ্ছিন্ন পয়েন্টগুলি দেওয়া হলেও মূল পয়েন্টটি পাওয়া এখনও সম্ভব নয়। (উদাহরণস্বরূপ, একটি সহজ কৌশলটি মূল বিন্দুতে এলোমেলো ভেক্টর যুক্ত করা হবে, তবে আপনি যদি এটি যথেষ্ট সময় করেন তবে অবলুপ্ত পয়েন্টগুলি মূল পয়েন্টের চারপাশে ক্লাস্টার হয়ে যাবে))

বিভিন্ন পরিসংখ্যানগত সম্পত্তি সংরক্ষণ করা থাকলে এটি দুর্দান্ত হবে, যদিও এই পর্যায়ে কোন বৈশিষ্ট্য গুরুত্বপূর্ণ তা আমি জানি না। উদাহরণস্বরূপ, আমি গ্রিডে জমা হওয়ার পরিবর্তে "প্রাকৃতিক" উপায়ে বিচ্ছিন্ন পয়েন্টগুলি ছড়িয়ে দিতে চাই। তবে এর চেয়ে গোপনীয়তা বেশি গুরুত্বপূর্ণ।


আপনার প্রয়োজনীয়তাগুলিতে আপনি কোন ধরণের যথাযথতা বজায় রাখতে চান তা উল্লেখ করে না, আপনি কেবল আপত্তি প্রয়োজনীয়তার দিকে মনোনিবেশ করেন। নিম্নলিখিত তালিকাভুক্ত অ্যালগরিদম তুচ্ছভাবে আপনার তালিকাভুক্ত প্রয়োজনীয়তাগুলি পূরণ করে, তবে এটি অপদার্থ: প্রতিটি পয়েন্টটি 0 ° N, 0 ° পূর্ব দিকে ম্যাপ করুন। সম্ভবত আপনি কিছু মানদণ্ডকেও সন্তুষ্ট করতে চান, যেমন অস্পষ্ট বিন্দুটি প্রকৃত পয়েন্টের x কিলোমিটারের মধ্যে।
ভালোবাসা

দ্বিতীয় প্রশ্ন: আপনি মেটাডাটা উল্লেখ করেছেন এবং পুরো ডাটাবেস আপস করা হলে সত্য পয়েন্টটি পুনর্গঠন করতে সক্ষম হবেন। যদি মেটাডেটা আপনাকে একই "সত্য পয়েন্ট" এর সাথে সম্পর্কিত অবসন্ন পয়েন্টগুলি সনাক্ত করতে দেয় না, তবে কেউ যদি একে অপরের সাথে সংযুক্ত না করতে পারেন তবে বারবার এলোমেলো নমুনাগুলি থেকে "সত্য পয়েন্ট" পুনর্গঠন করতে পারেন কীভাবে? অন্যদিকে, যদি মেটাডেটা আপনাকে পয়েন্টগুলি সংযুক্ত করার অনুমতি দেয়, তবে আপনাকে যখন ইতিমধ্যে কিছু আবদ্ধ বিন্দুর অবস্থানটি পুনরায় জানাতে বলা হয়, কেবল আগের সমস্ত সময় একই ধরণের মান ফিরে আসবে।
ভালোবাসা

আপনার কি হ্যাশ ডেটা থেকে প্রকৃত অবস্থানটি পুনরায় তৈরি করতে সক্ষম হওয়া দরকার, বা কোনও ব্যক্তির তারা যেখানে রয়েছে বলে সেখানে এটি নিশ্চিত করার জন্য ব্যবহার করা হবে? যদি এটি পরে থাকে তবে একমুখী হ্যাশ, জ্যামিতির নুন + ডাব্লু কেটি যথেষ্ট পরিমাণে যথেষ্ট would যদি এটি পূর্ব হয়, তবে আপনার হ্যাশ ফাংশনের বিপরীত রূপান্তর করতে আপনাকে কোথাও কিছু ফাংশন করতে হবে - একটি দ্বি-মুখী হ্যাশ।
MerseyViking

পরিষেবার অংশ হিসাবে অন্যান্য ব্যবহারকারীর ডেটা / অন্যান্য ডেটাসেটগুলির সাথে পয়েন্টগুলি কি তুলনা করা হবে?
ম্যাথু স্নেপ

@ লেভেলস, আমি আসলে করি: "এক কিলোমিটার বা তার মধ্যে"। তবে আমি আশা করব যে দ্বিধায়িত স্তরটি অ্যালগরিদমের একটি প্যারামিটার is আপনার দ্বিতীয় মন্তব্য সম্পর্কে, হ্যাঁ, মেটাডেটা পয়েন্টগুলি সংযুক্ত করার অনুমতি দেয় (উদাহরণস্বরূপ, একজন ব্যবহারকারী একই পয়েন্টে বহুবার প্রবেশ করতে পারে)। এবং একটি অ্যালগরিদম যা একই মূল বিন্দুতে একই অবচিত পয়েন্টে ফলাফল করে; তবে যদি অ্যালগরিদম এটি না করে, একই অচল বিন্দুটি ব্যবহার করা উচিত কিনা তা পরীক্ষা করার জন্য আমি মূল বিন্দুটি পুনরুদ্ধার করতে পারি না (এটাই প্রশ্নের পুরো কারণ)।
রিড

উত্তর:


6

একটু দেখো:

এমপি আর্মস্ট্রং, রুশটন জি, জিমারম্যান ডিএল। ভৌগলিকভাবে গোপনীয়তা রক্ষার জন্য স্বাস্থ্য ডেটা মাস্কিং । স্ট্যাট মেড .১৯৯৯; 18: 497-525।

( উদ্ধৃতি , সম্পূর্ণ পাঠ্য )

তারা স্থানচ্যুতি, আবর্তন, এলোমেলো ছদ্মবেশ এবং একত্রিকরণ সহ পয়েন্ট ডেটার জন্য বিভিন্ন 'জিও-মাস্ক' নিয়ে আলোচনা করেন। এটি কীভাবে কার্যকর করা যায় সে সম্পর্কে তারা নির্দিষ্ট প্রযুক্তিগত সমাধানগুলি নিয়ে আলোচনা না করলেও, প্রতিটি পদ্ধতির সাথে আপনি কী অর্জন করবেন / আলগা করবেন সে সম্পর্কে তথ্যের জন্য দরকারী পয়েন্টার রয়েছে।

আরও তাত্ত্বিক বিবেচনার জন্য অনুরূপ বিষয়ে আমার প্রশ্নের উত্তরটি একবার দেখুন ।


2
চমৎকার রেফারেন্স, এটি একটি সক্রিয় ক্ষেত্র তাই অনেকগুলি উপলব্ধ। আমি অন্য প্রশ্নের একটি ওভারভিউ নিবন্ধ ( ম্যাথিউস এবং হ্যারেল, 2011 ) সুপারিশ করেছি । আমি আরও বিশ্বাস করি যে আন্তর্জাতিক জার্নাল অফ হেলথ জিওগ্রাফিক্সের সময়ে সময়ে কাগজপত্র রয়েছে ( জিওমাস্ক ট্যাগ সহ আমার সিটুলাইক লাইব্রেরি দেখুন )। কাজটি করার পরেও আমি কোনও সরঞ্জাম পাই নি, সম্ভবত একটি কার্যকর প্রচেষ্টা।
অ্যান্ডি ডাব্লু

1
অ্যান্ডি পয়েন্টারদের জন্য ধন্যবাদ প্রকৃতপক্ষে - জনস্বাস্থ্য / স্থানিক মহামারীবিদ্যায় উচ্চ রেজোলিউশনের জিওডাটা ক্রমবর্ধমান পরিমাণের সাথে সমস্যা আরও বেশি প্রাসঙ্গিক হয়ে ওঠে। আমার একই অনুভূতি ছিল যে ব্যবহারিক সমাধানগুলি এখনও তাত্ত্বিক দিক থেকে অনেক পিছনে রয়েছে - অবশ্যই এমন একটি জায়গা যেখানে কিছু দুর্দান্ত উন্নয়ন করা যায়!
radek

1

আপনি নিজের পয়েন্টগুলিকে এলোমেলো পরিমাণে স্থানান্তরিত করতে পার্লিন শব্দটি ব্যবহার করার চেষ্টা করতে পারেন , তবে এই সুবিধার সাথে একে অপরের নিকটবর্তী পয়েন্টগুলি একে অপরের নিকটেই থাকবে, তবে এই মিলটি দূরত্বের সাথেই বন্ধ হয়ে যায়। যদি শব্দটির ফাংশনটি 0-এর কেন্দ্রিক হয় তবে পরিসংখ্যান বিশ্লেষণে উত্স অনুসারে এখনও একই রকমের ডেটা ফেরানো উচিত, কারণ পার্লিন শব্দ (বিশেষত ২০০২ সংস্করণ) মোটামুটি গাউসিয়ান বিতরণ।


যদি আমি একই পয়েন্টের অনেকগুলি অনুলিপি স্থানান্তরিত করি তবে মূল পয়েন্টটি কি স্থানান্তরিত পয়েন্টগুলি বিশ্লেষণ করে পুনরুদ্ধার করা যেতে পারে?
রিড করুন

আমি এটি যেভাবে কল্পনা করেছি, আপনি শব্দটির কার্যকারিতাটি অনুসন্ধানের জন্য পয়েন্টটির স্থানাঙ্কগুলি ব্যবহার করবেন। সুতরাং দুটি অভিন্ন বিষয় কাকতালীয় থাকবে। আপনি একটি তৃতীয় মান ব্যবহার করতে পারেন, বলুন যে তারিখটি 3D পার্লিন শোর ফাংশনটিতে লুকিং হিসাবে তৈরি হয়েছিল। তারপরে (এবং আমি কোনও পরিসংখ্যানবিদ নই), এলোমেলো বীজ এবং আপনি যে গোলমালটি বেছে নিয়েছিলেন তা যদি না জানা থাকে তবে উত্সের ডেটা পুনর্গঠন করা অবৈধ হবে। তারপরেও আমি নিশ্চিত নই যে এটি ব্যবহারিকভাবে কার্যকর হবে।
মিরসিভিকিং

আহ, সুতরাং আপনি এটি একটি হ্যাশ ফাংশন তৈরি করছেন। এটি নির্ধারণ করা অনিরাপদ হতে পারে যে এলোমেলো বীজ এবং স্কেলটি গোপন থাকে, যদিও; আমি ধরে নিচ্ছি যে সার্ভারটি সম্পূর্ণরূপে আপস হয়েছে।
রিড

রাম রাম! ঠিক আছে তবে, আমি একটি চ্যালেঞ্জ পছন্দ করি :) এখন আপনি সত্যিই শারীরিক সুরক্ষা সম্পর্কে কথা বলছেন। হ্যাশগুলি তৈরি করতে আপনার কাছে আলাদা আলাদা সাইট মেশিন রয়েছে, এসএসএলের মতো কোনও সুরক্ষিত সংযোগের মাধ্যমে তাদের প্রেরণ করুন। আপনি একটি বা উভয় সার্ভারে একটি ওয়াচডগ সেট আপ করতে পারেন যেমন যদি একটি নীচে যায়, বা আপনি একটি বড় লাল বোতাম টিপেন, অন্যটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। যদি আপনি মেঘের উদাহরণ ব্যবহার করেন, তবে অ্যামাজনের ডেটাসেন্ট্রেস ভাঙার পক্ষে অন্য উদাহরণ থেকে কোনও কিছু পাওয়ার কোনও ব্যবহারিক উপায় থাকবে না ...
মার্সিভিকিং

রূপান্তরকারী হিসাবে, আপনার কেবলমাত্র ডেটা সুরক্ষায় যতটা ব্যয় করা উচিত data আপনার সুরক্ষা মডেলে আপনি যুক্ত করতে পারেন এমন অনেকগুলি স্তর রয়েছে তবে কোনও পর্যায়ে আপনাকে যথেষ্ট বলতে হবে। এটি অন্য একটি এসই সাইটের কাছে সম্ভবত এই প্রশ্নটি ফিল্ড করা উপযুক্ত হবে।
মিরসিভিকিং

0

এটি সম্ভবত প্রয়োজনের তুলনায় আরও সংশ্লেষিত এবং জড়িত, তবে এটি গ্রহণের কোনও উপায় হতে পারে:

একটি সাধারণ অজগর স্ক্রিপ্ট তৈরি করুন যা আপনার মূল ইনপুট পয়েন্টগুলি গ্রহণ করে, নির্দিষ্ট গ্রহনযোগ্য দূরত্ব দ্বারা সেগুলি বাফার করে, বৈশিষ্ট্য সীমাবদ্ধকরণ হিসাবে উদাহরণস্বরূপ বাফারগুলি ব্যবহার করে এলোমেলো পয়েন্টগুলির সংখ্যা তৈরি করে (উদাহরণস্বরূপ, ১০০), এবং তারপরে একটি পয়েন্ট ব্যবহার করে একটি পয়েন্ট নির্বাচন করে সিউডো-এলোমেলো সংখ্যা জেনারেটর নতুন অবচিত পয়েন্ট হিসাবে ব্যবহার করতে। প্রতিটি অপ্রকাশের জন্য একটি নতুন সিউডো-এলোমেলো নম্বর তৈরি করাও প্রয়োজন হবে।

আপনার দৃশ্যের উপর নির্ভর করে, এটি একটি টুলবক্সে প্যাকেজ করা যেতে পারে এবং একটি জিএসপি সার্ভিস হিসাবে একটি আরএসটি শেষ পয়েন্ট সহ অ্যাক্সেস করা যায় যাতে মেমরির অবস্থানগুলিতে অচলতা ঘটে এবং কেবল আপনার অবৈধ পয়েন্টটি আপনার শারীরিক ডাটাবেসে পোস্ট করা হয়।


1
এটি একটি আর্কজিআইএস বাস্তবায়ন অনুমান করে তবে ওপিতে কোনওটিরই উল্লেখ করা হয়নি। তবুও, একটি আকর্ষণীয় সমাধান!
blah238

3
এই প্রাকৃতিক সমাধান পরীক্ষার উপর কিছু সম্ভাব্য ত্রুটি রয়েছে: (1) বিভিন্ন স্বতন্ত্র পয়েন্ট একই পয়েন্ট ম্যাপ করতে পারে। (২) এটি ওপেন শো হিসাবে, পয়েন্ট আনমাস্ক করা সহজ। (৩) প্রায়শই সম্পর্কিত বৈশিষ্ট্যগুলির সাথে কিছু ভৌগলিক সম্পর্কের ক্ষেত্রে পয়েন্টগুলি দাঁড়ানো প্রয়োজন: যেমন , বাড়ির অবস্থানগুলি রাস্তার পাশে হওয়া উচিত এবং হ্রদে বা রেল ইয়ার্ডে নয়। এগুলির মতো সমস্যাগুলি সমস্যাটিকে প্রকৃতপক্ষে কঠিন, আকর্ষণীয় এবং জিআইএস বিশ্লেষণের যোগ্য করে তোলে (অন্যথায় কোনও ব্যক্তি যখন প্রথম ডাটাবেসে প্রবেশ করানো হয় তখন এটি এলোমেলোভাবে মূল স্থানাঙ্কগুলি টিকিয়ে রাখতে পারে) এবং এটি দিয়ে সম্পন্ন করা হবে।
হোয়বার

0

ঠিক আছে, সুতরাং আমরা যে অ্যালগরিদমটি বিবেচনা করছি তা নিম্নরূপ:

  1. পয়েন্টটি 200 মিটার গ্রিডে গোল করুন (জিওকোডিংয়ের ক্ষেত্রে ভিজিরির ক্ষতিপূরণ দিতে)।
  2. কিছু ক্রিপ্টোগ্রাফিক হ্যাশিং অ্যালগরিদম (উদাহরণস্বরূপ, SHA2) ব্যবহার করে পয়েন্টের স্থানাঙ্কগুলির পাঠ্যটি হ্যাশ করুন।
  3. হ্যাশ ফাংশন থেকে ফলাফলের সাথে পয়েন্টের স্থানাঙ্কগুলির নিম্নতর অর্ডার বিটগুলি (1 কিলোমিটারের কাঙ্ক্ষিত অবলম্বন স্তর পর্যন্ত) প্রতিস্থাপন করুন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.