নিরাপদে এসকিউএল সার্ভারে একটি ইউনিকুইডেন্টিফায়ার উত্পন্ন করুন


15

UNIQUEIDENTIFIERব্যবহারকারীরা নির্দিষ্ট ডেটা অ্যাক্সেস করতে ব্যবহার করতে পারে এমন একটি অ্যাক্সেস কী হিসাবে আমি ব্যবহার করতে চাই । কীটি সেই অর্থে পাসওয়ার্ড হিসাবে কাজ করবে।

একটি INSERT...SELECTবিবৃতিতে অংশ হিসাবে আমাকে একাধিক এ জাতীয় শনাক্তকারী তৈরি করতে হবে । স্থাপত্যগত কারণে আমি এই ক্ষেত্রে শনাক্তকারীদের সার্ভার-সাইড তৈরি করতে চাই।

আমি কীভাবে নিরাপদে র্যান্ডম তৈরি করতে পারি UNIQUEIDENTIFIER? দ্রষ্টব্য, এটি NEWIDযথেষ্ট এলোমেলো হবে না কারণ এটি কোনও সুরক্ষা বৈশিষ্ট্যের প্রতিশ্রুতি দেয় না। আমি সিস্টেম.সিকিউরিটি.ক্রিপোগ্রাফি.র্যান্ডম নাম্বার জেনারেটরের সমতুল্য এসকিউএল সার্ভারের সন্ধান করছি কারণ আমার অদম্য আইডি দরকার। যেকোনো কিছু উপর ভিত্তি করে CHECKSUM, RANDবা GETUTCDATEআরো যোগ্যতা অর্জন করতে হবে।


2
@AaronBertrand খুব অন্তত, যদি ডিজিট এক সর্বদা 4। তবে আমার কাছে দৃ strong় প্রমাণ নেই যে তারা অনুমানযোগ্য হতে পারে তার অর্থ এই নয় যে তারা তা নয়। আমি এই পর্যবেক্ষণের ভিত্তিতে এই সুরক্ষা সিদ্ধান্তটিকে ভিত্তি করতে পারি না।
usr

1
হয়তো NEWID ঠিক যেমন "ডেবিয়ান দুর্বল SSH কী" হিসাবে র্যান্ডম হয়: en.wikinews.org/wiki/... তারা অবশ্যই র্যান্ডম ডেভেলপার তাদের পরীক্ষিত ... দিতে লাগলাম
usr ডিরেক্টরির

2
4 টি আপনাকে জানায় যে জিইউইডি উত্পন্ন করতে কোন অ্যালগরিদম ব্যবহার করা হয়। en.wikipedia.org/wiki/Globally_unique_identifier#Algorithm
Mr.Mindor

1
আপনি কি বুঝতে পারছেন যে আপনার সুরক্ষার মাত্রার একমাত্র নির্ধারণকারী উপাদানটি বিট এনট্রপি? NEWID আপনার প্রয়োজনের জন্য পর্যাপ্ত এলোমেলো নয় এই ধারণাটি বোঝায় যে আপনার ব্যবহারের ক্ষেত্রে "সুরক্ষিত" হওয়া দরকার এমন বিট এনট্রপির পরিমাণ সম্পর্কে আপনার কিছু ধারণা রয়েছে। সংখ্যাটি কী?
ক্যাড রক্স

2
@ ইউএসআর - "অভ্যন্তরীণ অবস্থার সম্পূর্ণ জ্ঞান দেওয়া", যে কোনও পদ্ধতির ক্র্যাক করতে পারে ।

উত্তর:


26
SELECT CAST(CRYPT_GEN_RANDOM(16) AS UNIQUEIDENTIFIER)

আমি ভাবলাম যে কৌশলটি করা উচিত।

CRYPT_GEN_RANDOM

ক্রিপ্টো এপিআই (সিএপিআই) দ্বারা উত্পন্ন একটি ক্রিপ্টোগ্রাফিক এলোমেলো নম্বর প্রদান করে।


4

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

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

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

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


আকর্ষণীয় পয়েন্ট। আমার ডেটা টাইপ পছন্দটি UNIQUEIDENTIFIERবেশিরভাগই কাকতালীয়। এই ধরণেরটি ব্যবহার করে 16 বাইট পরিমাণ হ্যান্ডেল করা সহজ। আমি এটি একটি পাসওয়ার্ড হিসাবে মনে করি। এটি অনন্য হতে হবে, যদিও। আমি নিশ্চিত যে আমি কখনই সংঘর্ষ দেখতে পাব না (এবং অ্যাপ্লিকেশন থাকলেও কেবল ক্র্যাশ হবে - তাই এটি নিরাপদও) safe
usr ডিরেক্টরির

আমি দ্বিমত পোষণ করছি, এটি অনন্যের চেয়ে এলোমেলো হয়ে যদি আপনি এটি কীভাবে এনক্রিপ্ট করেন তা নির্ভর করে। এটি সহজেই একই হতে পারে।
দাওসি

4

Https://blogs.msdn.microsoft.com/sqlprogrammability/2006/03/23/newsequentialid-histrorybenefits- and-implementation/ এর মতে , NEWID () ফাংশনটি কেবল উইন্ডোজ ফাংশন CoCreateGuid কে মোড় দেয় যা একটি v4- স্টাইলের জিইউডিটি দেয় । এবং ১৯৯৯ সালে উইন্ডোজ ২০০০ সালের পরে, https://msdn.microsoft.com/en-us/library/bb417a2c-7a58-404f-84dd-6b494ecf0d13#id11 অনুসারে ,

"উইন্ডোজে নির্মিত সমস্ত সংস্করণ 4 জিইউইডিগুলির জন্য র্যান্ডম বিটগুলি উইন্ডোজ ক্রিপ্টজেনর্যান্ডম ক্রিপ্টোগ্রাফিক এপিআই বা সমতুল্য, একই উত্স যা ক্রিপ্টোগ্রাফিক কী তৈরির জন্য ব্যবহৃত হয় তা দ্বারা প্রাপ্ত হয়"

সুতরাং আমি বলতে চাই আপনি NEWID () ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত বিবেচনা করতে পারেন - অন্তত এটি সরবরাহ করে এমন এনট্রপির 122 বিটের পরিমাণ পর্যন্ত।


ইহা আকর্ষণীয়. সুরক্ষার প্রয়োজনে আমি ব্যক্তিগতভাবে এটিকে বিশ্বাস করব না। উইন্ডোজ বা এসকিউএল সার্ভার উভয়ই এ সম্পর্কে গ্যারান্টি দেয় না।
usr

@ ইউআর আমি নিশ্চিত নই যে গ্যারান্টি কেমন হবে। এটি "গ্যারান্টি" শব্দটি ব্যবহার করে না তবে এটি স্ট্যান্ডার্ড এমএসডিএন উইন্ডোজ এসডিকে ডকুমেন্টেশন হিসাবে উপস্থিত রয়েছে। উইন্ডোজের ভবিষ্যতের কিছু সংস্করণে জিআইইডিগুলির ক্রিপ্টোগ্রাফিক র্যান্ডমনেস এমএসির পক্ষে হ্রাস করা অত্যন্ত অসম্ভব unlikely লাভের কিছুই থাকবে না।
জর্দান রিজার 19

এই এমএসডিএন পৃষ্ঠাটি কেবল historicতিহাসিক পছন্দগুলির দলিল করে তবে এটি ভবিষ্যতে রাখা হবে না তা বলে। এসকিউএল সার্ভারের জন্য একই। এই পরিস্থিতিতে যেটি ভেঙে পড়বে তা আমি কল্পনা করতে পারি না। তবে অনেকগুলি বিপর্যয়মূলক আরএনজি বিঘ্ন ঘটেছে। এই জাতীয় অনুমানগুলি প্রায়শই মিথ্যা প্রমাণিত হয়। এটি একটি তাত্ত্বিক যুক্তি।
usr

@ আরআর তবে কীভাবে কোনও এমএসডিএন ডকুমেন্টেশন উইন্ডোজের ভবিষ্যতের আচরণের গ্যারান্টি দিতে পারে ? এই ক্ষেত্রে আমরা সবচেয়ে বেশি আশা করতে পারি হ'ল বর্তমান আচরণের দলিল document আচরণ যদি কখনও পরিবর্তিত হয় তবে ভাল তারা ডকুমেন্টেশন আপডেট করে। এই কারণেই এই স্ট্যাক ওভারফ্লো প্রশ্নোত্তর সংস্করণ ট্যাগ রয়েছে এবং সময়ে সময়ে আপডেট হয়।
জর্দান রিগার

তারা যে জিনিসগুলি পরিবর্তন করবে না সে সম্পর্কে গ্যারান্টি দেয়। তারা পণ্যটি পরিবর্তন করতে পারে তবে তারা বলবে না যে "এই বৈশিষ্ট্যগুলির সাথে সুরক্ষা সমালোচনামূলক এখানে রয়েছে"। আমি ভবিষ্যতে বিবৃতি চেয়ে thanতিহাসিক দৃষ্টিভঙ্গির মতো প্রশ্নটিতে এই ডকুমেন্টেশনটির ব্যাখ্যা করি।
usr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.