আমি কীভাবে একটি পাসওয়ার্ডের এনট্রপি অনুমান করতে পারি?


14

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

আমি একটি অ্যালগরিদম তৈরি করার চেষ্টা করছি যা যথাসম্ভব বিস্তৃত। এই মুহুর্তে আমার কাছে কেবলমাত্র সিউডোকোড রয়েছে তবে অ্যালগরিদমটি নিম্নলিখিতটি অন্তর্ভুক্ত করে:

  • পাসওয়ার্ড দৈর্ঘ্য
  • পুনরাবৃত্তি অক্ষর
  • নিদর্শন (যৌক্তিক)
  • বিভিন্ন অক্ষরের স্থান (এলসি, ইউসি, সংখ্যা, বিশেষ, প্রসারিত)
  • অভিধান আক্রমণ

এটি নিম্নলিখিতটি আবরণ করে না এবং এটি অবশ্যই ভাল কভার করবে (যদিও নিখুঁত নয়):

  • অর্ডারিং (পাসওয়ার্ডগুলি কঠোরভাবে এই অ্যালগরিদমের আউটপুট দ্বারা অর্ডার করা যেতে পারে)
  • নিদর্শন (স্থানিক)

এই অ্যালগরিদমটি কী দুর্বল হতে পারে সে সম্পর্কে কি কেউ অন্তর্দৃষ্টি দিতে পারে? বিশেষত, কেউ কি এমন পরিস্থিতিতে ভাবতে পারেন যেখানে অ্যালগরিদমে একটি পাসওয়ার্ড খাওয়ানো তার শক্তিটি অতিক্রম করবে ? অবমূল্যায়ন একটি ইস্যু কম হয়।

অ্যালগরিদম:

// the password to test
password = ?
length = length(password)

// unique character counts from password (duplicates discarded)
uqlca = number of unique lowercase alphabetic characters in password
uquca = number of uppercase alphabetic characters
uqd   = number of unique digits
uqsp  = number of unique special characters (anything with a key on the keyboard)
uqxc  = number of unique special special characters (alt codes, extended-ascii stuff)

// algorithm parameters, total sizes of alphabet spaces
Nlca = total possible number of lowercase letters (26)
Nuca = total uppercase letters (26)
Nd   = total digits (10)
Nsp  = total special characters (32 or something)
Nxc  = total extended ascii characters that dont fit into other categorys (idk, 50?)

// algorithm parameters, pw strength growth rates as percentages (per character)
flca = entropy growth factor for lowercase letters (.25 is probably a good value)
fuca = EGF for uppercase letters (.4 is probably good)
fd   = EGF for digits (.4 is probably good)
fsp  = EGF for special chars (.5 is probably good)
fxc  = EGF for extended ascii chars (.75 is probably good)

// repetition factors.  few unique letters == low factor, many unique == high
rflca = (1 - (1 - flca) ^ uqlca)
rfuca = (1 - (1 - fuca) ^ uquca)
rfd   = (1 - (1 - fd  ) ^ uqd  )
rfsp  = (1 - (1 - fsp ) ^ uqsp )
rfxc  = (1 - (1 - fxc ) ^ uqxc )

// digit strengths
strength =
( rflca * Nlca + 
  rfuca * Nuca +
  rfd   * Nd   +
  rfsp  * Nsp  +
  rfxc  * Nxc    ) ^ length

entropybits = log_base_2(strength)

কয়েকটি ইনপুট এবং তাদের পছন্দসই এবং প্রকৃত এনট্রপি_বিট আউটপুট:

INPUT           DESIRED        ACTUAL
aaa             very pathetic  8.1
aaaaaaaaa       pathetic       24.7
abcdefghi       weak           31.2
H0ley$Mol3y_    strong         72.2
s^fU¬5ü;y34G<   wtf            88.9
[a^36]*         pathetic       97.2
[a^20]A[a^15]*  strong         146.8
xkcd1**         medium         79.3
xkcd2**         wtf            160.5

* these 2 passwords use shortened notation, where [a^N] expands to N a's.
** xkcd1 = "Tr0ub4dor&3", xkcd2 = "correct horse battery staple"

অ্যালগরিদম বুঝতে পেরেছেন (সঠিকভাবে) যে বর্ণমালার আকার বৃদ্ধি করা (এমনকি এক অঙ্কের দ্বারা) দীর্ঘ পাসওয়ার্ডকে বৃহত্তর করে তোলে, both ষ্ঠ এবং 7th ম পাসওয়ার্ডের জন্য এনট্রপি_বিটসের পার্থক্যের দ্বারা দেখানো হয়েছে, যা উভয়ই 36 এ এর ​​সমন্বিত, তবে দ্বিতীয়টির 21 তম এ মূলধন। যাইহোক, তারা এই সত্যের জন্য অ্যাকাউন্ট করে না যে ৩ 36 এ এর ​​পাসওয়ার্ড থাকা ভাল ধারণা নয়, এটি একটি দুর্বল পাসওয়ার্ড ক্র্যাকারের সাথে সহজেই ভেঙে যায় (এবং যে কেউ আপনাকে টাইপ করে এটি দেখতে পাবে) এবং অ্যালগরিদম এটি প্রতিফলিত করে না ।

তবে, এটি এই সত্যটি প্রতিফলিত করে যে বৃহত্তর জটিলতার ঘনত্ব থাকা সত্ত্বেও xkcd1 হল xkcd2 এর তুলনায় একটি দুর্বল পাসওয়ার্ড (এটি কি এমনকি কোনও জিনিস?)।

আমি কীভাবে এই অ্যালগরিদমকে উন্নত করতে পারি?

সংযোজন ঘ

অভিধান আক্রমণ এবং প্যাটার্ন ভিত্তিক আক্রমণগুলি বড় জিনিস বলে মনে হচ্ছে, তাই আমি তাদের সম্বোধন করার জন্য একটি ছুরিকাঘাত করব।

আমি একটি শব্দ তালিকা থেকে শব্দের জন্য পাসওয়ার্ডের মাধ্যমে একটি বিস্তৃত অনুসন্ধান করতে পারি এবং তাদের প্রতিনিধিত্বকারী শব্দের সাথে টোকেনের সাহায্যে শব্দগুলি প্রতিস্থাপন করতে পারি। ওয়ার্ড-টোকেনগুলি অক্ষর হিসাবে বিবেচিত হবে এবং তাদের নিজস্ব ওজন সিস্টেম থাকবে এবং পাসওয়ার্ডে তাদের নিজস্ব ওজন যুক্ত করবে। আমার কয়েকটি নতুন অ্যালগরিদম প্যারামিটার প্রয়োজন (আমি তাদের lw, NW ~ = 2 ^ 11, fw ~ = .5, এবং rfw কল করব) এবং আমি অন্য যে কোনওটির মতো পাসওয়ার্ডে ওজনকে ফ্যাক্টর করব ওজন।

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

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

এই মুহুর্তে, আমি পাসওয়ার্ডটির দৈর্ঘ্য নেব। প্রতিটি শব্দ টোকেন এবং প্যাটার্ন টোকেন একটি অক্ষর হিসাবে গণনা করা হবে; প্রতিটি টোকেন তারা প্রতীকীভাবে প্রদর্শিত অক্ষর প্রতিস্থাপন করবে।

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

পরিবর্তিত উদাহরণ:

Password:          1234kitty$$$$$herpderp
Tokenized:         1 2 3 4 k i t t y $ $ $ $ $ h e r p d e r p
Words Filtered:    1 2 3 4 @W5783 $ $ $ $ $ @W9001 @W9002
Patterns Filtered: @P[l=4,o=1,b='1'] @W5783 @P[l=5,o=0,b='$'] @W9001 @W9002

Breakdown:         3 small, unique words and 2 patterns
Entropy:           about 45 bits, as per modified algorithm

Password:          correcthorsebatterystaple
Tokenized:         c o r r e c t h o r s e b a t t e r y s t a p l e
Words Filtered:    @W6783 @W7923 @W1535 @W2285

Breakdown:         4 small, unique words and no patterns
Entropy:           43 bits, as per modified algorithm

নিদর্শনগুলি থেকে কীভাবে এনট্রপি গণনা করা হয় তার সঠিক শব্দার্থবিজ্ঞান আলোচনার জন্য। আমি এমন কিছু ভাবছিলাম:

entropy(b) * l * (o + 1) // o will be either zero or one

পরিবর্তিত অ্যালগরিদম ত্রুটিগুলি খুঁজে পেতে পারে এবং মূল টেবিলে প্রতিটি পাসওয়ার্ডের শক্তি হ্রাস করতে পারে, ব্যতীত s^fU¬5ü;y34G<, এতে কোনও শব্দ বা নিদর্শন থাকে না।


2
আপনি কি টেক.ড্রপবক্স.কম ?? p=165 দেখেছেন ? এটি আপনাকে কিছু ধারণা দিতে পারে। Dl.roidbox.com/u/209/zxcvbn/test/index.html এ একটি ডেমো রয়েছে এবং কোডটি গিথুবে রয়েছে।


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

1
@ মউভিচিয়েল: আমি আপনাকে ঘুষি মারলাম। প্রথম লাইনটি পড়ুন: ডি
ওয়াগ

@ ওয়াগ - দুর্দান্ত! আমি লিঙ্কটি অনুসরণ করি নি: ভাবতে পারেনি যে বিভিন্ন সংস্থানগুলি এই ধরণের অধ্যয়নকে আচ্ছন্ন করে!
mouviciel

উত্তর:


9

এনআইএসপি এসপি 800-63 এর পি 46 এ পরিশিষ্ট এ ক্লাউড শ্যাননের কাজ সম্পর্কে কথা বলেছেন , যিনি বেশ কয়েকটি বিট ব্যবহার করে পাসওয়ার্ড এনট্রপি অনুমান করেন। আসলে, এটি XKCD কার্টুনটি এনট্রপি বিট গণনা করতে ব্যবহার করে document বিশেষ করে:

  • প্রথম চরিত্রের এন্ট্রপি 4 বিট হিসাবে নেওয়া হয়;
  • পরবর্তী 7 টি অক্ষরের এনট্রপি প্রতিটি চরিত্রের জন্য 2 বিট; এটি শ্যাননের অনুমানের সাথে মোটামুটি সামঞ্জস্যপূর্ণ যে "যখন 8 টিরও বেশি বর্ণের বেশি নয় এমন পরিসংখ্যানগত প্রভাবগুলি এনট্রপি হিসাবে বিবেচিত হয় তখন চরিত্রের জন্য প্রায় 2.3 বিট হয়;"
  • 20 তম চরিত্রের মধ্য দিয়ে নবমটির জন্য এন্ট্রপিটি প্রতিটি চরিত্রের 1.5 বিট হিসাবে নেওয়া হয়;
  • অক্ষরের জন্য 21 এবং উপরে এনট্রপিটি প্রতিটি চরিত্রের জন্য 1 বিট হিসাবে নেওয়া হয়;
  • এনট্রপির b বিটের একটি "বোনাস" একটি রচনা নিয়মের জন্য বরাদ্দ করা হয় যার জন্য উভয় স্তরের এবং অক্ষরবিহীন অক্ষর প্রয়োজন। এটি এই অক্ষরগুলির ব্যবহারকে বাধ্য করে, তবে অনেক ক্ষেত্রে আপনি অক্ষরগুলি কেবলমাত্র পাসওয়ার্ডের শুরু বা শেষের দিকে দেখা দেয় এবং এটি মোট অনুসন্ধানের স্থানটি কিছুটা হ্রাস করে, তাই সম্ভবত বেনিফিটটি সামান্য এবং দৈর্ঘ্যের চেয়ে প্রায় স্বতন্ত্র is পাসওয়ার্ড;
  • বিস্তৃত অভিধানের চেকের জন্য এন্ট্রপির 6 বিট অবধি একটি বোনাস যুক্ত করা হয়। যদি আক্রমণকারী অভিধানটি জেনে থাকে, তবে সে এই পাসওয়ার্ডগুলি পরীক্ষা করতে এড়াতে পারে এবং যে কোনও পরিস্থিতিতে ডিকশনারিটির বেশিরভাগ অনুমান করতে সক্ষম হবে, তবে অভিধানের নিয়মের অভাবে সম্ভবত এটি সম্ভবত নির্বাচিত পাসওয়ার্ড হবে। অনুমানটি হ'ল ডিকশনারি পরীক্ষার জন্য অনুমান করা এন্ট্রপি সুবিধাগুলি বেশিরভাগ তুলনামূলকভাবে সংক্ষিপ্ত পাসওয়ার্ডগুলিতে অর্জিত হয়, কারণ যে কোনও দীর্ঘ পাসওয়ার্ড মনে রাখা যেতে পারে তা অবশ্যই অভিধানের শব্দের সমন্বিত একটি "পাস-বাক্যাংশ" হতে হবে, তাই বোনাসটি 20 এ শূন্যে নেমেছে চরিত্র.

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

কিছু নির্বিচারে নির্দিষ্ট নিয়মের চাপিয়ে দেওয়ার বিকল্প হিসাবে, একটি প্রমাণীকরণ সিস্টেম উপরের বর্ণিত বিধিগুলি ব্যবহার করে ব্যবহারকারীর পাসওয়ার্ডগুলিকে গ্রেড করতে পারে এবং কিছু ন্যূনতম এনট্রপির মান মেনে চলতে পারে তা গ্রহণ করে। উদাহরণস্বরূপ, ধরুন কমপক্ষে 24-বিট এনট্রপির সাথে পাসওয়ার্ডের প্রয়োজন ছিল। স্ট্রিংয়ের 23 টি অক্ষর রয়েছে এবং এটি উচ্চতর কেস এবং বর্ণমালা অক্ষরের জন্য একটি রচনা নিয়ম মেটায় আমরা "IamtheCapitanoftPP44" এর এনট্রপি অনুমান গণনা করতে পারি।

আপনি যা সন্ধান করছেন এটি হতে পারে বা নাও হতে পারে তবে অন্য কিছু না হলে এটি কোনও খারাপ রেফারেন্স পয়েন্ট নয়।

[সম্পাদনা করুন: নিম্নলিখিত যুক্ত করা হয়েছে।]

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


3
পাসওয়ার্ড শক্তি সম্পর্কিত উইকিপিডিয়া নিবন্ধে বলা হয়েছে যে এই নিয়মগুলি মানব উত্পন্ন পাসওয়ার্ডগুলির জন্য সঠিক নয়।
রাইথাল

1
সত্য ( আকর্ষণীয় পড়ার জন্য goo.gl/YxRk )।
অ্যাকটন

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

4

এই পৃষ্ঠার নীচে কেপাসের জন্য উত্স কোডটি দেখুন । বর্গ কার্যকরী বরং একটি চমৎকার অ্যালগরিদম আপনি জায়গায় আছে বেরাচ্ছেন কি সঙ্গে সঙ্গতিপূর্ণ বলে মনে হয়। আমার ফলাফলগুলি দেখতে দেখতে:QualityEstimation

aaa                              8
aaaaaaaaa                        9
abcdefghi                       18
H0ley$Mol3y_                    73
s^fU¬5ü;y34G<                   99
[a^36]*                         10
[a^20]A[a^15]*                  18
Tr0ub4dor&3                     66
correct horse battery staple    98

এটি কি এন্ট্রপি বা অন্য কিছু মেট্রিক যেমন সম্ভবত বোগোফিটেনস গণনা করে? এছাড়াও আপনি [a ^ 36] 'আআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআআ?
ওয়াগ

এর, না, আমি এই স্ট্রিংগুলি ভারব্যাটিমটি অনুলিপি করেছি :( আমি পুরোপুরি ভেবেছিলাম এটি বিশেষ চরিত্রের শীতল ব্যবহার ছিল, প্রথম নজরে কোনও রেজেক্স নয় I'll আমি এটি আবার শট দেব এবং এটি আপডেট করব Second দ্বিতীয়ত, এটি এনট্রপির বিট গণনা করে, হ্যাঁ ।
জেসি সি স্লিকার 14

1
অদ্ভুত স্বরলিপি হিসাবে এটি আমার নিয়মিত প্রকাশের এতটুকুও ছিল না যে আমি আমার টেবিলটি 25 টি অক্ষর দ্বারা সজ্জিত করা এড়াতে পারি
Wug

2
'এনফ্যাটেন' এর জন্য আমার মন্তব্যটি +1 করতে হয়েছিল। এই পরিস্থিতির জন্য একটি নিখুঁত ক্রমুনুল শব্দের মতো মনে হচ্ছে।
জেসি সি স্লিকার 15

1
এটি আসলে "কীপাস" এর পরিবর্তে "কীপাস" বানান করে। (আমি কেবল নিজেই একটি সম্পাদনা করব, তবে তাদের 6 টিরও বেশি চরিত্র হতে হবে ...)
ইয়ান ডান

1

আপনি জিজ্ঞাসা করুন

বিশেষত, কেউ কি এমন পরিস্থিতিতে ভাবতে পারেন যেখানে অ্যালগরিদমকে একটি পাসওয়ার্ড খাওয়ানো তার শক্তিটিকে অতিক্রম করবে?

তবে আপনার প্রশ্নের একটি উদাহরণ রয়েছে। ডিজাইন অনুসারে, xkcd2 এ rop 44 বিট এনট্রপি রয়েছে, তবে আপনার অনুমান 160.5 বিট।


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

@ ওয়াগ, এটি একটি ন্যায্য সাধারণীকরণ। এটি এমন কিছু যা zxcvbn দ্বারা মোকাবেলা করা হয়েছে, যা এই প্রশ্নের প্রথম মন্তব্যে উল্লেখ করা হয়েছে।
পিটার টেলর

1

এই অ্যালগরিদম কী দুর্বল হতে পারে সে সম্পর্কে কি কেউ অন্তর্দৃষ্টি দিতে পারে? বিশেষত, কেউ কি এমন পরিস্থিতিতে ভাবতে পারেন যেখানে অ্যালগরিদমকে একটি পাসওয়ার্ড খাওয়ানো তার শক্তিটিকে অতিক্রম করবে?

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

  • সর্বত্র
  • সর্বত্র
  • Everywhere1

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

অনেক কম ডিগ্রীতে, অন্যান্য সমস্যার পাসওয়ার্ডগুলি এমন স্পষ্ট নিদর্শন থাকতে পারে, যেমন:

  • abcdefghijklmnop
  • abcde12345

যদিও প্রকৃত অভিধান আক্রমণগুলিতে এগুলি সম্ভবত টার্গেট হওয়ার সম্ভাবনা কম, তারা আপনার "আআআআআআ ..." উদাহরণ হিসাবে একই ধরণের সমস্যায় ভুগছে।

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

সুতরাং, সংক্ষেপে বলতে গেলে, অ্যালগরিদম অনুমানের মোটামুটি ভাল কাজ করে তবে এটি পাসওয়ার্ডের গঠন এবং সাধারণ, জ্ঞাত নিদর্শনগুলির বিবেচনায় নেওয়া উচিত।


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