ইউডিপি ডেটা পে-লোডগুলিতে কি কোনও সিআরসি অন্তর্ভুক্ত করা উচিত?


16

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

আমি অনুমান অনুযায়ী চেকটি আমার শেষ পর্যন্ত প্রয়োগ করেছি, তবে আমি সবসময় ভাবতাম যে এটি প্রয়োজনীয় কিনা was সর্বোপরি, ইউডিপি প্রোটোকল নিজেই কি 16 বিট সিআরসি বহন করে না? অতএব, যদিও ইউডিপি প্যাকেটগুলি হারিয়ে যেতে পারে বা অর্ড-অফ-অর্ডার হতে পারে, তবে আমি এই ধারণার মধ্যে ছিলাম যে তারা ওএসের প্রক্রিয়াগুলিতে পৌঁছানোর আগে নেটওয়ার্ক হার্ডওয়্যার দ্বারা ফেলে দেওয়া ছাড়া তারা দুর্নীতিগ্রস্থ হতে পারে না। অথবা আমি অনুপস্থিত কিছু বিশেষ ব্যবহার আছে?

এটি যুক্ত করার অপেক্ষা রাখে না যে আমি প্রতিরক্ষা শিল্পে কাজ করছিলাম, যা আমি নিশ্চিত যে আপনি কল্পনা করতেই পারেন, এই জাতীয় সবকিছু সম্পর্কে অতি স্পষ্ট হওয়া পছন্দ করে, তাই আমি ভাবছি এটি কেবল "সিকিউরিটি ওসিডি" এর একটি ঘটনা ছিল কিনা। ..


2
যদি এটি সুরক্ষা উদ্দেশ্যে হয়, কেবল দুর্ঘটনাজনিত দুর্নীতি রোধ করতে নয়, আপনাকে একটি ম্যাক ব্যবহার করতে হবে যা চেকসামের মূল সমতুল্য।
কোডসইনচওস

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

@ থমাস ওউইনসটি উত্পন্ন ডিভাইস থেকে রিসিভ হার্ডওয়ারে পিছনে থেকে পিছনে পাঠানো হয়েছিল। মধ্যম পুরুষ নেই। প্রেরক দ্বারা প্রেরণের আগে একটি শেষ পদক্ষেপ হিসাবে চেকসাম তৈরি করা হয়েছিল।
জেনোপ্রাইমেট

উত্তর:


23

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

... সাধারণত ....

প্রথমত, IPv4- র (না IPv6,) এর সাথে, চেকসাম হল ঐচ্ছিক । এর অর্থ আপনি সম্ভবত একটি বহিরাগত কনফিগারেশন ব্যবহার করছেন যা চেকসাম উত্পাদন এবং যাচাইকরণ করে না (তবে সেই ক্ষেত্রে আপনার অ্যাপ্লিকেশন স্তরের জুরি-রিগিংয়ের পরিবর্তে আপনার নেটওয়ার্ক স্ট্যাকটি ঠিক করা উচিত)।

দ্বিতীয়ত, 16 বিট চেকসামের সাথে 65536 এর মধ্যে এমন একটি সম্ভাবনা রয়েছে যা একটি সম্পূর্ণ র্যান্ডম বার্তায় একটি বৈধ চেকসাম রয়েছে। আপনার ব্যবহারের ক্ষেত্রে এই ত্রুটির মার্জিন যখন বড় হয় (এবং প্রতিরক্ষা শিল্পে আমি এটি যেখানে ছিল সেগুলি বেশ কয়েকটিতে কল্পনা করতে পারি), অন্য একটি সিআরসি -16 চেকসাম যুক্ত করা এটি আরও কমাতে পারে। তবে সেক্ষেত্রে আপনি CRC-16 এর পরিবর্তে SHA-256 এর মতো কোনও সঠিক বার্তা ডাইজেস্ট ব্যবহার করার কথা বিবেচনা করতে পারেন। অথবা পুরো পথে যান এবং একটি সত্যিকারের ক্রিপ্টোগ্রাফিক স্বাক্ষর ব্যবহার করুন। এটি কেবল এলোমেলো দুর্নীতির বিরুদ্ধে নয় আক্রমণকারী দ্বারা ইচ্ছাকৃত দুর্নীতির বিরুদ্ধেও সুরক্ষা দেয়।

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


3
ক্রিপ্টোগ্রাফিক কেন ? ক্রিপ্টোগ্রাফিক হ্যাশ ডিজাইন করতে ব্যবহৃত বাধাগুলি হস্তান্তরিত ট্রান্সমিশনে ব্যবহৃত হ্যাশ ডিজাইনের ক্ষেত্রে ব্যবহৃত হিসাবে একই নয় (উদাহরণস্বরূপ, সংস্থার নিবিড় হওয়া ক্রিপ্টোগ্রাফিক হ্যাশগুলির জন্য একটি বৈশিষ্ট্য এবং সংক্রমণে ইস্যু)।
এপ্রোগ্রামার

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

2
এটি বার্তা অপরিবর্তিত রয়েছে তা নিশ্চিত করার চেষ্টা করে তবে ইউডিপিতে ব্যবহৃত চেকসামটি বরং দুর্বল। সমস্ত 16-বিট চেকসামের জন্য 65৫৫ valid in তে একটি বৈধ চেকসাম থাকার র্যান্ডম বার্তার সম্ভাবনা আসলেই 1, আরও কার্যকর ব্যবস্থাগুলি এলোমেলোভাবে বা একটি বিস্ফোরণে সজ্জিত বিট ফ্লিপগুলির সনাক্তযোগ্য সংখ্যার সাথে জড়িত এবং সমস্ত চেকসাম সমানভাবে সম্পাদন করে না এই মেট্রিক।
বেন ভয়েগট

1
@ এপ্রোগ্রামার ক্রিপ্টোগ্রাফিক হ্যাশগুলি (MD5, SHA-1/2/3, ...) লক্ষ্য হিসাবে সংঘর্ষ প্রতিরোধের মতো সুরক্ষা বৈশিষ্ট্যগুলি নিশ্চিত করে যতটা সম্ভব সস্তা হওয়া। সাধারণত তারা প্রতি সেকেন্ডে কয়েক শ এমবি প্রক্রিয়া করতে পারে, তাই এগুলি গিগাবাইট সংযোগের চেয়ে কম বাধা হওয়া উচিত নয়। এগুলি এখনও অনেকগুলি অ-ক্রিপ্টোগ্রাফিকগুলির চেয়ে ধীরে ধীরে যার সংঘর্ষ প্রতিরোধের প্রয়োজন হয় না। কেবল পাসওয়ার্ড হ্যাশগুলি (PBKDF2, bcrypt, scrypt, Argon, ...) লক্ষ্য করা গণনা ব্যয়বহুল।
কোডসইনচাউস

12

তবে ইউডিপি একটি চেকসাম সরবরাহ করে।

  1. ইউডিপি চেকসামটি কেবলমাত্র 16 বিট। এর অর্থ, চেকসামটি পাস করার জন্য একটি দুর্নীতিগ্রস্থ প্যাকেটের 65536 এর মধ্যে 1 টির সম্ভাবনা।
  2. আইডিভি 4 এর উপরে ইউডিপিতে চেকসামটি alচ্ছিক, সুতরাং কোনও প্রেরক তাত্ত্বিকভাবে চেকসাম ছাড়াই প্যাকেট পাঠানো শেষ করতে পারেন।
  3. চেকসামে আইপি / পোর্টের পাশাপাশি ডেটাও অন্তর্ভুক্ত থাকে। এটি দুর্নীতিগ্রস্ত ঠিকানা সহ প্যাকেট ফেলে দেওয়ার ক্ষেত্রে এটির অর্থ হ'ল প্যাকেটটি যদি একটি NAT এর মধ্য দিয়ে যায় তবে অবশ্যই চ্যাটসামটি NAT দ্বারা পুনরায় গণনা করতে হবে।
  4. চেকসাম কেবলমাত্র ইউডিপি প্যাকেটে ভ্রমণ করার সময় ডেটা সুরক্ষিত করে। একটি অ্যাপ্লিকেশন স্তরের চেকসাম আরও জটিল সিস্টেমে যাওয়ার সময় ডেটা শেষ পর্যন্ত সুরক্ষা দিতে পারে।
  5. ইউডিপি চেকসাম ক্লিইলি কেবল আপনাকে বলে যে প্যাকেটটি ইউডিপি বাস্তবায়নের মাধ্যমে তৈরি হয়েছিল। এটি আপনাকে বলবে না যে এটি আপনার সেন্সর থেকে এসেছে। অন্যদিকে অ্যাপ্লিকেশন স্তরের একটি চেকসাম প্যাকেটগুলি বৈধ ইউডিপি হিসাবে প্রত্যাখ্যান করতে সহায়তা করতে পারে তবে অন্য কোনও উত্স থেকে এসেছে।

সুতরাং আমি ইউডিপি চেকসামকে বিশ্বাস না করার জন্য ইউডিপি চেকসামকে সমানভাবে বিশ্বাস না করার এবং তারপরে অ্যাপ্লিকেশন স্তরে অনুরূপ দুর্বল চেকসাম বাস্তবায়ন করা বৈধ কারণগুলি দেখতে পাচ্ছি seems

এমন সম্ভাবনা রয়েছে যে প্রোটোকলটি অনুগ্রহ করে সেই ব্যক্তিটি সহজেই জানত না যে ইউডিপি চেকসাম সরবরাহ করেছে বা প্রোটোকলটি এমন একটি মাধ্যমের উপরে চালিত করার জন্য নকশাকৃত একটি সামান্য বৈকল্পিক যা চেকসাম সরবরাহ করে না।

PS এই পোস্টটি যেহেতু সুরক্ষিত ট্যাগযুক্ত তাই সচেতন হোন যে প্রশ্নে থাকা চেকসামগুলি অজানা পরিবর্তন থেকে রক্ষা করার জন্য ডিজাইন করা হয়েছে। ইচ্ছাকৃত সংশোধন বা স্পোফিংয়ের বিরুদ্ধে সুরক্ষার জন্য ক্রেপ্টোগ্রাফিক হ্যাশ ফাংশনগুলি ব্যবহার করা প্রয়োজন যা ইচ্ছাকৃত সংঘর্ষ / প্রাকিমেজগুলির বিরুদ্ধে প্রতিরোধী এবং হ্যাশগুলি যাচাই করার জন্য কিছু ব্যবস্থার (যেমন একটি পাবলিক কী ব্যবহার করে তৈরি স্বাক্ষর) ব্যবহারের প্রয়োজন হয় যা নিজে পরিবর্তন করা হয়নি।

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