জিরো-জ্ঞান কোড হোস্টিং? [বন্ধ]


28

অনলাইন পরিষেবা সরবরাহকারীদের দ্বারা সঞ্চিত ডেটাগুলির ব্যাপক সরকারী পর্যবেক্ষণ সম্পর্কে সাম্প্রতিক প্রকাশের আলোকে, শূন্য-জ্ঞান পরিষেবাগুলি এখন সমস্ত ক্ষিপ্ত।

একটি শূন্য-জ্ঞান পরিষেবা হ'ল যেখানে সমস্ত ডেটা একটি কী দ্বারা এনক্রিপ্ট করা থাকে যা সার্ভারে সঞ্চয় করা হয় না। এনক্রিপশন এবং ডিক্রিপশন পুরোপুরি ক্লায়েন্টের পক্ষেই ঘটে এবং সার্ভার কখনও প্লেইনটেক্সট ডেটা বা কী দেখতে পায় না। ফলস্বরূপ, পরিষেবা প্রদানকারী ডিক্রিপ্ট করতে এবং তৃতীয় পক্ষের কাছে ডেটা সরবরাহ করতে অক্ষম, এমনকি এটি চাইলেও।

উদাহরণ দেওয়ার জন্য: স্পাইডারঅককে ড্রপবক্সের শূন্য-জ্ঞানের সংস্করণ হিসাবে দেখা যেতে পারে।

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

আমার প্রশ্নগুলি হ'ল:

  1. শূন্য-জ্ঞান কোড হোস্টিং পরিষেবা তৈরি করতে কোনও প্রযুক্তিগত বাধা আছে? উদাহরণস্বরূপ, এসভিএন, মার্কিউরিয়াল, বা গিটের মতো জনপ্রিয় সংস্করণ নিয়ন্ত্রণ সিস্টেমগুলি দ্বারা ব্যবহৃত নেটওয়ার্ক প্রোটোকলগুলি সম্পর্কে এমন কিছু রয়েছে যা ক্লায়েন্ট এবং সার্ভারের সাথে ডেটা যোগাযোগ করা হচ্ছে এমন কোনও স্কিম বাস্তবায়নে অসুবিধা (বা অসম্ভব) তৈরি করবে একটি কী কী সার্ভার জানে না?

  2. আজ কি কোন শূন্য-জ্ঞান কোড হোস্টিং পরিষেবা অস্তিত্ব আছে?


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

2
@AndresF। আমি কেবল স্পাইডারঅাকের অর্থ ধরে নিতে পারি যে ক্লায়েন্টের উপর পৃথক প্রজন্ম ঘটে, সার্ভারটি এনক্রিপ্ট করা ডিফগুলি সংরক্ষণ করে এবং তারপরে ডিফ এবং বেসটি এনক্রিপ্ট করা হলে ক্লায়েন্টে আবার ডিফ-টু-বেস অ্যাপ্লিকেশন হয়। আমি সম্মত হই যে তাদের ভাষা খুব অস্পষ্ট।
অ্যাপসিলাররা

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

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

2
@gnat: আমি কোন সুপারিশ চাইছি না। আমি কেবল জিজ্ঞাসা করছি যে আমি বর্ণিত সাজানোর কোনও পরিষেবা বিদ্যমান কিনা। এই জাতীয় পরিষেবাটির অস্তিত্ব প্রমাণ দেয় যে আমি আগে যে প্রশ্নে জিজ্ঞাসা করি প্রযুক্তিগত বাধাগুলি ওভারকোমেবল।
এইচসি 4 - মনিকা

উত্তর:


3

আপনি প্রতিটি লাইন আলাদাভাবে এনক্রিপ্ট করতে পারেন। আপনি যদি নিজের ফাইলের নাম এবং আনুমানিক রেখার দৈর্ঘ্য এবং যে রেখার লাইন পরিবর্তন হয় তার লাইন নম্বরগুলি ফাঁস করার পক্ষে যদি আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন:

https://github.com/ysangkok/line-encryptor

প্রতিটি লাইন পৃথকভাবে এনক্রিপ্ট করা হয়েছে (তবে একই কী দিয়ে), আপলোড করা পরিবর্তনগুলি (সাধারণত: সাধারণত) কেবল প্রাসঙ্গিক লাইনগুলিকে জড়িত করে।

যদি এটি বর্তমানে পর্যাপ্ত সুবিধাজনক না হয় তবে আপনি দুটি গিট সংগ্রহস্থল তৈরি করতে পারেন, একটি প্লেটেক্সট এবং একটি সিফারেক্সট সহ with আপনি যখন প্লেটেক্সট রিপোজিটরিতে (যা স্থানীয়) প্রতিশ্রুতিবদ্ধ হন, তখন একটি কমিট হুক ডিফটি গ্রহণ করতে পারে এবং উপরের রেফারেন্স রেফারেন্সির সাহায্যে চালাতে পারে, যা এটি সিফেরেক্সটেক্স রিপোজিটরিতে প্রয়োগ করতে পারে। সিফারেক্সট রিপোজিটরি পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ এবং আপলোড করা হবে।

উপরের লাইন এনক্রিপটরটি এসসিএম অগ্নোস্টিক, তবে ইউনিফাইড ডিফ ফাইলগুলি (প্লেইনটেক্সট এর) পড়তে পারে এবং পরিবর্তনগুলি এনক্রিপ্ট করে সিফেরেক্সটে প্রয়োগ করতে পারে। এটি এমন কোনও এসসিএমকে ব্যবহারের যোগ্য করে তোলে যা আপনাকে একটি ইউনিফাইড ডিফারেট তৈরি করে (গিটের মতো)।


আপনি কি এই জন্য গিটের স্মাডজ-ক্লিন ব্যবহার করতে পারবেন না ?
সোভিক

@ এসভিক: আপনি পারতেন, কিন্তু এইভাবে, পুরো ফাইলটি পুনরায় এনক্রিপ্ট করা থেকে আপনি কীভাবে সুন্দরভাবে এড়াতে পারবেন তা আমি দেখতে পাচ্ছি না। তবে অবশ্যই ফাইলের আকার ছোট হওয়ায় কোডের পক্ষে এটি খুব বেশি গুরুত্ব পাবে না। তবে "লাইন এনক্রিপ্টর" এর দরকার নেই, আপনি কেবল কোনও এনক্রিপশন সরঞ্জাম ব্যবহার করতে পারেন।
জানুস ট্রয়লসন

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

@ মিশেলটি: না, চতুর্থ এর কারণে। এটি নিজে চেষ্টা করে দেখুন :) লিঙ্কযুক্ত প্রয়োগ ব্যবহার করে লাইনগুলিতে এনক্রিপ্ট করুন <IV>,<ciphertext>
জানুস ট্রয়লসন

1
@ এসভিক: লাইনগুলি পৃথকভাবে এনক্রিপ্ট করা হয়। আপনি যদি একটি লাইন পরিবর্তন করেন তবে পুরো লাইনটি পুনরায় এনক্রিপ্ট হবে তবে নতুন আইভি (সর্বদা হিসাবে) সহ। তবে ফাইলের বাকি অংশটি স্পর্শ হবে না! এনক্রিপশন হ'ল ডিটারমিনিস্টিক, তবে চতুর্থ এর ইনপুটগুলিও রয়েছে এবং সেগুলি ছদ্ম-এলোমেলোভাবে বেছে নেওয়া হয়েছে।
জানুস ট্রয়লসন

1

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

এমন অন্যান্য বিট রয়েছে যা যেমন মেটা ডেটা বৈশিষ্ট্য যা সহজেই এনক্রিপ্টযোগ্য হয় না - যেমন মাইম টাইপ - তবে অন্যগুলি এনক্রিপ্ট করা যায়, যেমন ইতিহাসের লগে মন্তব্য, যতক্ষণ না আপনি জানেন যে এগুলিকে ডিক্রিপ্ট করতে হবে ক্লায়েন্ট দেখতে। ডিরেক্টরিটির কাঠামোটি দৃশ্যমান হবে কিনা তা আমি নিশ্চিত নই, আমার ধারণা এসভিএন ডিরেক্টরিতে যেভাবে ডিরেক্টরি সঞ্চয় করে তার কারণে এটি দৃশ্যমান হবে না তবে এর সম্ভাব্যতা আমি ভুল wrong বিষয়বস্তুগুলি সুরক্ষিত থাকলে এটি আপনার পক্ষে গুরুত্বপূর্ণ নয়।

এর অর্থ হ'ল আপনার কাছে বিভিন্ন কোড ভিউ বৈশিষ্ট্যযুক্ত কোনও ওয়েবসাইট নেই, কোনও সার্ভার-সাইড রিপোজিটরি ব্রাউজার বা লগ ভিউয়ার নেই। কোনও কোডের পার্থক্য নেই, কোনও অনলাইন কোড পর্যালোচনা সরঞ্জাম নেই।

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


পুনরায়: "এর অর্থ হ'ল আপনার কাছে বিভিন্ন কোড ভিউ বৈশিষ্ট্য, কোনও সার্ভার-সাইড রিপোজিটরি ব্রাউজার বা লগ ভিউয়ার সহ কোনও ওয়েবসাইট থাকতে পারে না No কোনও কোড আলাদা নয়, কোনও অনলাইন কোড পর্যালোচনা সরঞ্জাম নেই।" - যদি আপনার অ্যাপ্লিকেশনটির যুক্তি ক্লায়েন্ট-সাইড জেএসে থাকে এবং এটি আপনাকে আপনার পাসওয়ার্ড / কী (তবে এটি সার্ভারে প্রেরণ করে না) প্রবেশ করিয়ে দেয়, তাই না?
এইচসি 4 - মনিকা

হ্যাঁ, এটি পারে .... যতক্ষণ না এটি জানত যে এটি নেটওয়ার্কের মাধ্যমে এনক্রিপ্ট করা ডেটা পাচ্ছে। এটি সার্ভারের কেবল স্পষ্ট সীমাবদ্ধতা যা এটি ডেটা ডিক্রিপ্ট করতে পারে না।
gbjbaanb

1

আমি এইগুলির মধ্যে একটি করতে 'ঘৃণা করি' এটি আপনার প্রশ্নের উত্তর পুরোপুরি দেয় না 'তবে ..

আমি দুটি প্রস্তুত সমাধানের কথা ভাবতে পারি যা এই উদ্বেগগুলির সমাধান করতে হবে should

  1. আপনার নিজের একটি ব্যক্তিগত গিট সার্ভার হোস্ট করুন Host তারপরে সেই সার্ভারটি কোনও ভিপিএন-তে রাখুন যাতে আপনি আপনার দলের সদস্যদের অ্যাক্সেস দেন। সার্ভারে এবং থেকে সমস্ত যোগাযোগ এনক্রিপ্ট করা হবে এবং আপনি অবশ্যই ওএস-স্তরে সার্ভারটি এনক্রিপ্ট করতে পারবেন।

  2. বিটসিঙ্কেরও কৌশলটি করা উচিত। সবকিছু এনক্রিপ্ট করা হবে, এবং একটি বিশাল নেটওয়ার্ক যা কোথাও থেকে উপলব্ধ হবে। এই সমস্ত বিটকয়েন / বিটম্যাসেজ / বিটসিনেক প্রযুক্তির সত্যই একটি ভাল প্রয়োগ হতে পারে ..

শেষ অবধি, https://security.stackexchange.com/ এ ভাবেন লোকদের আরও কিছু অন্তর্দৃষ্টি থাকতে পারে।


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

1
@ হাইকম্যান্ডার ৪ এটি চেষ্টা করে দেখেনি, তবে এটি কাজ না করার কোনও কারণ হওয়া উচিত নয় .. আপনি আপনার আরম্ভকৃত গিট ফোল্ডারটি ভাগ করে নেওয়ার জন্য সিঙ্ক সেটআপ করতে পারেন না, তবে কেবল একটি স্বাভাবিক 'git push ./syncedFolderActingAsServer/MyAwesomeProject/src/'? আপনি গিট স্তরের অনুমতি ইত্যাদিও করতে পারেন ইত্যাদি .. কারও এটি চেষ্টা করা উচিত!
রাবার হাঁসের

1

যেহেতু আমি এটি বুঝতে পেরেছি, git pullউপায়টি হ'ল সার্ভারটি আপনাকে একটি প্যাক ফাইল প্রেরণ করে যা আপনি চাইলে সমস্ত বস্তু রয়েছে তবে বর্তমানে নেই। এবং তদ্বিপরীত জন্য git push

আমি মনে করি আপনি এটি সরাসরি এটি করতে পারেন নি (কারণ এর অর্থ সার্ভারকে অবজেক্টগুলি বুঝতে হবে)। পরিবর্তে আপনি যা করতে পারেন তা হ'ল সার্ভারটিকে কেবল এনক্রিপ্ট করা প্যাক ফাইলগুলির একটি সিরিজ দিয়ে কাজ করা।

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.