با استفاده از اینترنت و رایانه ، گذرواژه\u200cهای بیشتر و بیشتری داریم. اینها کلمه عبور و ورود به صندوق پستی ، اسکایپ ، سایتهایی است که ما در آن ثبت نام کرده ایم (VKontakte ، همکلاسی ها و غیره) ، و کاربران پیشرفته تری نیز از رمزهای عبور برای برنامه های مختلف ، کلمات عبور FTP ، کلیدهای مجوز و اینها استفاده می کنند. این لیست می تواند برای مدت طولانی ادامه یابد. هرچه تعداد رمزهای عبور بیشتری داشته باشیم (البته به آنها نیز وارد شوید) بدیهی تر این است که ما به نوعی حافظه مطمئن برای آنها احتیاج داریم. البته می توانیم یک اسناد .txt ایجاد کنیم و همه چیز را در آنجا ضبط و ذخیره کنیم. ممکن است با خواندن این سطرها فکر کنید: "من همین کار را می کنم ، چرا بد است؟" ممکن است بد نباشد ، اما راحت نیست ، علاوه بر این روش بهتری برای ذخیره گذرواژها نیز وجود دارد. من مطمئن هستم که شما آن را دوست دارید. این روش است با استفاده از یک مدیر رمزعبور به نام KeePass. مزایای آن چیست؟
1) کلیه رمزهای عبور شما در برنامه ای قرار دارد که به طور قابل اطمینان در برابر ترک رمز محافظت می شود و در عین حال با الگوریتم AES رمزگذاری می شوند (رمزنگاری بلوک 128 بیتی با استفاده از یک کلید 256 بیتی). هنگام ورود به برنامه ، باید یک رمز عبور وارد کنید ، در غیر این صورت دسترسی در دسترس نیست. توصیه می شود که رمز عبور حداقل از 20 کاراکتر تشکیل شده باشد ، اگر کرکر بخواهد چنین پسوردی را انتخاب کند ، چندین دهه طول خواهد کشید. به سختی کسی علاقه ای به انتخاب چنین رمز عبور طولانی دارد.
2) رابط کاربر پسند برنامه ، می توانید گروه ها را با گذرواژه ها ترکیب کنید (برای مثال ، گروه شبکه های اجتماعی ، گروه Mail).
3) عملکرد خودکار - برنامه می تواند به طور خودکار وارد یک رمز ورود و رمز عبور شود.
4) نسخه قابل حمل KeePass به شما امکان می دهد تمام رمزهای عبور خود را به راحتی در یک درایو فلش حمل کنید.
5) یک سازنده رمز عبور در KeePass وجود دارد ، بنابراین اکنون نیازی نیست که خودتان آنها را اختراع کنید. ژنراتور رمز عبور همچنین حاوی تنظیمات اضافی است که به شما امکان می دهد مشخص کنید که کدام شخصیت ها از آنها استفاده کنند یا از آنها استفاده نکنند و چند بار باید با همان رمز عبور رخ دهند.
اینها مزایای اصلی هستند. حال بیایید ببینیم که چگونه با برنامه KeePass کار کنیم. بیایید با نصب و Russification KeePass شروع کنیم. (در پایان این مقاله برنامه KeePass را بارگیری کنید). نصب بصری است ، بنابراین ما در آن ساکن نخواهیم شد. پس از نصب ، برنامه باید روسی شود. برای این کار ، در بایگانی که بارگیری کرده اید ، پرونده "روسی" را پیدا کنید و با برنامه نصب شده آن را در پوشه کپی کنید. معمولاً مسیر این است: "C / Programm Files / KeePass رمز عبور ایمن". اما بسته به تنظیمات شما ممکن است روش دیگری وجود داشته باشد.
سپس برنامه را اجرا کنید. در اولین پرتاب آن چنین پنجره ای وجود خواهد داشت:
از ما سؤال می شود که آیا می توان بروزرسانی های خودکار را فعال کرد یا خیر. البته این کار باید انجام شود ، بنابراین گزینه اول را انتخاب می کنیم: "فعال کردن (توصیه)". پنجره اصلی برنامه را خواهیم دید:
KeePass هنوز به زبان انگلیسی است و شما باید Russification را انجام دهید. برای تکمیل آن ، به: مشاهده / تغییر زبان بروید. تصویر صفحه:
در اینجا روسی را انتخاب می کنیم
به این ترتیب Russification of KeePass پیش می رود.
و اکنون ما شروع به ایجاد پایگاه داده رمز عبور خود می کنیم. برای انجام این کار ، روی: File / New یا فقط Ctrl + N کلیک کنید.
ما برای بانک اطلاعاتی خود نامی آورده ایم و روی "ذخیره" کلیک می کنیم. توجه داشته باشید که در آنجا پایگاه داده رمز را ذخیره می کنید ، زیرا از این پس تمام رمزهای عبور شما در اینجا ذخیره می شود. به عنوان مثال ، اگر می خواهید پایگاه داده رمز عبور را به رایانه دیگری منتقل کنید ، باید این فایل را کپی کنید. ممکن است موقعیت های دیگری وجود داشته باشد که به یک فایل پایگاه داده رمز عبور نیاز داشته باشید. بنابراین ، آن را در جایی ذخیره کنید که به راحتی بتوانید آن را پیدا کنید. این نکته مهم را خیلی با دقت انجام دهید.
در اینجا باید یک رمزعبور اساسی را بیابیم که هنگام ورود به برنامه استفاده خواهد شد. باید حداقل 20 کاراکتر باشد ، همانطور که در ابتدای مقاله ذکر شد. از گذرواژه کمتر از 20 کاراکتر نباید استفاده شود. تعداد کاراکترهای موجود در پسورد را ذخیره نکنید. اکنون این تنها رمز عبور شما باید به خاطر داشته باشید ، دیگران در برنامه ذخیره می شوند. همچنین کادر کنار "پرونده اصلی" را علامت بزنید ، بدون آن ، حتی با دانستن رمز عبور ، دیگر نمی توانید وارد برنامه شوید. اگر کسی سعی در انجام این کار داشته باشد ، این مرحله شکستن بانک اطلاعاتی رمزعبور را دشوارتر می کند. این نوع محافظت در KeePass استفاده می شود. روی "جدید" کلیک کنید
در اینجا نام فایل اصلی را تنظیم کرده و آن را ذخیره می کنیم. به یاد داشته باشید که در آن ذخیره کنید. پرونده پایگاه داده رمز عبور و پرونده کلیدی دو پرونده اصلی هستند که برای ورود به پایگاه داده رمز عبور لازم هستند. شما نباید آنها را گم کنید ، در غیر اینصورت برای بازگشت دسترسی به رمزهای عبور ذخیره شده در KeePass کار نمی کند.
در این پنجره باید عدد تصادفی تولید کنید. اگرچه پیچیده به نظر می رسد ، اما بسیار ساده است. مکان نما را روی ناحیه خاکستری حرکت دهید و این باعث ایجاد تعداد تصادفی می شود. "چه مدت می توان موش را بر روی ناحیه خاکستری سوار کرد؟" - تو پرسیدی. توجه داشته باشید که در زیر یک منطقه خالی وجود دارد (پیکان دوم به آن اشاره دارد). ماوس را بطور تصادفی حرکت دهید تا این منطقه پر شود.
نتیجه چه باید باشد؟ تصویر صفحه را مشاهده کنید:
ما می بینیم که تعداد بیت ها 256 است ، به این معنی که همه کار را به درستی انجام دادیم و اکنون روی "OK" کلیک کنید. کلید ما آماده است!
اکنون نیز در اینجا ، همه چیز آماده است. تأیید را کلیک کنید
در پنجره "ایجاد یک پایگاه داده جدید رمز عبور" بر روی "OK" کلیک کنید.
همه چیز آماده است و در تصویر می بینیم که KeePass چگونه به نظر می رسد.
همانطور که در ابتدای مقاله ذکر شد ، رمزهای عبور را می توان در این برنامه به گروهها طبقه بندی کرد. در آن ، به طور پیش فرض ، گروه هایی برای ذخیره رمزهای عبور و ورودی های رمز عبور آزمایش از قبل ایجاد شده اند. در سمت چپ گروه ها قرار دارند و در سمت راست رمزعبورها قرار دارند. البته ما نیازی به سوابق آزمایشی نداریم. آنها را حذف کنید.
همچنین گروه را حذف کنید. اگر گروه هایی که از قبل وجود دارند برای شما مناسب هستند ، شما نمی توانید آنها را حذف کنید. گروه های موجود را حذف خواهیم کرد و گروه های جدیدی را ایجاد خواهیم کرد. برای حذف یک گروه ، بر روی آن راست کلیک کرده و مورد "حذف گروه" را انتخاب کنید.
بنابراین ، گروه ها حذف شده اند ، و اکنون ما گروه های جدیدی را ایجاد می کنیم. برای انجام این کار ، به ویرایش / افزودن گروه بروید
نام گروه را وارد کنید. بگذارید در این گروه رمزهای عبور برای صندوق پستی خود ذخیره کنیم. ما گروه رمزهای عبور را "نامه" می نامیم. تصویر صفحه:
همانطور که مشاهده می کنید ، ما گروهی از رمزهای عبور را ایجاد کردیم که با نام Mail ایجاد کردیم. یک نام صحیح انتخاب شده ، درک این موضوع را که رمزهای ذخیره شده در آنجا تعلق دارند ، آسانتر می کند. نتیجه گیری: اسامی دوستانه به ما بسپارید و سوابق مورد نیاز خود را آسانتر و سریعتر خواهید یافت.
کار بعدی ضبط در یک گروه است. همانطور که قبلاً حدس زده اید ، ورود و پسورد ایمیل و همچنین برخی موارد مفید دیگر در رکورد ذخیره می شود. ما کمی بیشتر در مورد آنها صحبت خواهیم کرد. حال بیایید ببینیم چگونه می توان ورودی را به یک گروه اضافه کرد. برای انجام این کار ، به "ویرایش / افزودن ورودی ..." بروید
ما پنجره "افزودن ضبط" را باز کرده ایم
فرم را پر می کنیم ، 1) نام ورودی را پیدا می کنیم ، 2) نام ورود است ، 3) رمز عبور را که از قبل وجود دارد را پاک می کنیم و شخصی را که برای نامه پستی استفاده می کنیم وارد می کنیم ، همچنین می توانید یک پیوند به صفحه ای تنظیم کنید که در آن شما نیاز به ورود به سیستم و رمز عبور و نظرات بیشتری بنویسید در نظرات می توانیم به سؤال امنیتی یا برخی داده های دیگر که در هنگام ثبت نام ارائه داده ایم ، به طور کلی تمام آنچه نیاز داریم ، بیان کنیم. به عنوان مثال:
این همان چیزی است که سابقه ایجاد شده به نظر می رسد.
به هر حال ، ورود به سیستم (در KeePass به آن نام داده می شود) مانند ستاره مخفی می شود. برای انجام این کار ، به تب View رفته و مورد مناسب را انتخاب کنید.
بیایید کار انجام شده را خلاصه کنیم. ما یک رکورد اضافه کردیم و این کافی است تا درک کنیم که این روند چگونه پیش می رود. اکنون شما به طور مشابه تمام رمزهای عبور خود را نیز به این برنامه منتقل می کنید. بنابراین ، پایگاه خود را ایجاد خواهید کرد و قادر خواهید بود به راحتی و به سرعت ترکیب ترکیبی از ورود و کلمه عبور مورد نیاز خود را پیدا کنید.
چگونه اکنون ورود و رمز ورود را از رکورد خارج کنیم؟ روی رکورد راست کلیک کنید. تصویر صفحه را مشاهده کنید:
یک منو ظاهر شده است با بررسی دقیق آن می توانید مشاهده کنید که می توانید نام را کپی کنید ، رمز عبور را کپی کنید ، ورودی را تغییر دهید و حذف کنید. اینها اساسی ترین کارکردها هستند. اما یکی دیگر از ویژگی های بسیار مفید دیگر به نام "Start Auto Dial" وجود دارد. چگونه از آن استفاده کنیم؟ ابتدا مکان نما را در قسمت ورود به فرم در سایت قرار دهید و سپس به سوابق بروید و "شروع خودکار شماره گیری" را انتخاب کنید. برنامه به طور خودکار نام کاربری و رمز عبور را وارد می کند.
نکته مفید دیگری که KeePass در اختیار دارد ، تولید کننده رمز عبور است. امیدوارم همه بدانند چیست و چرا مورد نیاز است. در تب ابزار قرار دارد. همه چیز آنجا بصری است ، فکر می کنم تشخیص آن دشوار نخواهد بود.
این می تواند تکمیل شود. بهترین آرزوها برای شما.
آیا می توان به طریقه ترک KeePass و ادغام کلمات عبور اشاره کرد؟
اگر کسی نمی داند KeePass چیست ، به طور خلاصه - این یک برنامه مدیر رمز عبور است که به شما امکان می دهد یک رمز عبور اصلی را با یادآوری ذخیره کنید. می توانید اطلاعات بیشتر در مورد مدیران رمز عبور را در مورد ما بخوانید.
تا همین اواخر ، هک کردن KeePass غیرممکن بود ، اما روز دیگر شخصی Denis Andzakovic یک ابزار رایگان KeeFarce را در شبکه قرار داد ، که به یک مهاجم اجازه می دهد رمزهای یک مدیر رمز عبور محبوب را سرقت کند.
KeeFarce را به صورت رایگان در این لینک مستقیم بارگیری کنید.
هک کردن KeePass با KeeFarce
برای کرک کردن مدیر رمز عبور KeePass و ادغام گذرواژه\u200cها ، باید باز باشد ، یعنی به طوری که کاربر با ورود به سیستم رمزعبور وارد شوید تا مدتی برنامه را ببندد.
استفاده از KeeFarce بسیار ساده است. فقط پرونده ها را در پوشه KeePass کپی کنید:
- BootstrapDLL.dll
- KeeFarceDLL.dll
- Microsoft.Diagnostic.Runtime.dll
و فایل اجرایی KeeFarce.exe را اجرا کنید
پس از شروع ، برنامه به روند KeePass در حال اجرا تزریق می کند. سپس ابزار تمام رمزهای عبور موجود در پرونده csv را به پوشه appdata صادر می کند.
چگونه خود را از هک KeePass محافظت کنید
اول از همه ، رایانه خود را برای trojans () بررسی کنید ، زیرا اگر مهاجمی از راه دور به رایانه شما دسترسی داشته باشد یا دسترسی فیزیکی داشته باشد در حالی که مدیر رمز عبور را باز کرده و به طور خلاصه کامپیوتر را ترک کرده است ، می توانید این طرح را اجرا کنید.
نکته دوم و مهم این است که مدیر رمز عبور را برای مدت طولانی باز نکنید. ما وارد برنامه شدیم ، نام کاربری و رمزعبور لازم را بیرون کشیدیم ، وارد سایت شدیم و بلافاصله مدیر را بستیم. می توانید اطلاعات بیشتر در مورد پیکربندی مناسب KeePass را در مقاله "" "بخوانید. به هر حال ، من در مورد این تهدید صحبت کردم و توصیه کردم زمان لازم برای بستن خودکار برنامه در زمان بیکار شدن ، قبل از ظاهر شدن این ابزار ، کاهش یابد.
در مورد سایر مدیران رمزعبور چطور؟
این آسیب پذیری (نه تنها این ابزار) همچنین می تواند برای سرقت رمزهای عبور از دیگر برنامه های ذخیره رمز عبور نیز استفاده شود. من فکر می کنم به زودی تعداد کمی از این ابزارها ، چه جداگانه و چه در برنامه های مختلف مخرب ، ساخته نمی شوند.
آیا باید از استفاده از مدیران رمز عبور امتناع کنم؟
تو تصمیم بگیر. من شخصاً معتقدم با استفاده صحیح از KeePass و بهداشت صحیح رایانه ، مشکلی ایجاد نمی شود.
در یکی از فیلم های قبلی ، من قبلاً در مورد برنامه ای برای ذخیره ایمن رمزهای عبور صحبت کرده ام. اما در نتیجه آزمایشات مشخص مشخص شد که ذخیره رمزهای عبور در آن چندان بی خطر نیست ، اما این امر در مورد نسخه کلاسیک این برنامه صدق می کند. بنابراین ، در این ویدئو ، نسخه حرفه ای KeePass را در نظر خواهیم گرفت. علاوه بر این ، آن را به عنوان نسخه کلاسیک رایگان است. اگر این اولین بار است که در مورد این برنامه می شنوید ، توصیه می کنم ابتدا به بررسی من برای نسخه کلاسیک بپردازید تا سوالات غیر ضروری نداشته باشید.
و بنابراین ، ما در این درس چه خواهیم کرد:
بیایید نسخه کلاسیک رمز عبور KeePass Safe را از طریق Key Logger کرک کنیم.
ما پایه را از نسخه کلاسیک به نسخه حرفه ای وارد می کنیم.
تفاوت های اصلی و نوآوری ها را در نظر بگیرید؛
و سعی کنید Logger Key را با نسخه حرفه ای هک کنید.
و اول از همه ، اجازه دهید به وب سایت برنامه نویسان برنامه www.keepass.info \\ بارگیری برویم. ما هر دو نسخه را با فرمت قابل حمل بارگیری خواهیم کرد ، زیرا من یک پایگاه داده را با رمزهای عبور بر روی فلش مموری حمل می کنم ، بنابراین برنامه مشاهده آنها نیز باید از یک درایو فلش شروع شود ، بدون اینکه آن را در سیستم عامل نصب کنید.
من قبلاً این کار را کردم ، و همچنین یک پایگاه داده تست برای نسخه کلاسیک ایجاد کردم. در حال حاضر ، من یک برنامه جاسوسی LanAgent دارم که روی سیستم من اجرا می شود. این برنامه متعلق به Loggers Key است ، یعنی برنامه هایی که تمام اقدامات کاربر را بر روی رایانه ضبط می کنند. بنابراین ، اکنون می فهمیم که چگونه این برنامه با اطمینان از رمزهای عبور ما محافظت می کند!
ما نسخه کلاسیک را راه اندازی می کنیم و بانک اطلاعاتی ایجاد شده را در آن باز می کنیم ، رمز عبور پایگاه داده را وارد کرده و وارد وب سایت Rutracker.org می شویم.
حال بیایید ببینیم که LanAgent چگونه قادر به رهگیری ، بروزرسانی سیاههها بوده است و می بینیم که این برنامه هم در کلید master و هم از ورود و رمز ورود سایت Rutracker رهگیری کرده است. حتی اگر سعی کنیم داده ها را از طریق کلیپ بورد وارد کنیم ، برنامه همچنین محتویات بافر را رهگیری می کند. از طرف دیگر ، رمز عبور بانک اطلاعاتی بی فایده است اگر مهاجم چیزی برای استفاده از آن نداشته باشد ، یعنی. پایه در درایو فلش ما قرار دارد. اما در این شرایط برنامه ها می توانند محتویات فلش مموری یا پرونده هایی را که در پس زمینه قابل دسترسی بودند کپی کنند و بنابراین ، به طور نامرئی برای ما ، می توان از پایگاه داده کپی کرد و تمام رمزهای عبور را با استفاده از کلید اصلی باز کرد!
به طور کلی ، نتیجه گیری زیر را می توان نتیجه گرفت ، نسخه کلاسیک مناسب است به منظور اینکه رمزهای عبور را به شکلی کاملاً باز نگه ندارید ، اما هنگام استفاده از نرم افزارهای جاسوسی ، کمکی نخواهد کرد. و برای خلاص شدن از این شکاف ، نسخه حرفه ای به ما کمک می کند!
1) برنامه را برای کار راحت تر Russify کنید ( www. نگهدار. اطلاعات \ ترجمه ها \ روسی \\ 2.28 \\ از برنامه با پوشه جدا شوید.چشم انداز \ تغییر دادن زبان \ روسی)
2) یک پایه جدید ایجاد کنید ( پرونده \\ جدید \\ مسیر و نام را مشخص کنید \\ گذرواژه اصلی را تنظیم کنید)
3) داده ها را از پایگاه داده قدیمی انتقال دهید تا همه چیز به صورت دستی هدایت نشود ( پرونده \\ واردات \\نگهدار 1. ایکس \\ مسیر را برای پایگاه داده قدیمی مشخص کنید \\ خوب \\ گذرواژه را به پایگاه داده وارد کنید \\ شناسه های جدید)
اکنون در این نسخه چیزهای جدید و جالب را در نظر بگیرید. من تمام نوآوری ها را در نظر نمی گیرم ، زمان زیادی می برد ، اما به نظر من روی جالب ترین ها متمرکز می شوم:
1) وارد کردن رمز اصلی در حالت محافظت شده ، که به شما امکان می دهد هنگام وارد کردن رمز اصلی ، عملکرد Logger Key را مسدود کنید ( سرویس \\ تنظیمات \\ امنیت \\ رمز ورود اصلی را در حالت امن وارد کنید)
2) ژنراتور رمز عبور با توجه به پیچیدگی انتخابی ، بلافاصله 30 گذرواژه ایجاد می کند. که از نظر شما می توانید ، از نظر شما ، سخت ترین را انتخاب کنید.
3) زبان شماره گیری خودکار نسبت به نسخه کلاسیک ساده تر است. من در بررسی نسخه کلاسیک درباره او صحبت نکردم ، بنابراین بیایید ببینیم که چگونه می تواند کمک کند!
به طور پیش فرض ، ترتیب توالی زیر دستورات در هنگام ورود خودکار انجام می شود. قسمت فعال ورود به سیستم ، TAB ، رمز عبور و ENTER وارد می شود. این دنباله را می توان مشاهده کرد اگر ورود را باز کنید \\ شماره گیری خودکار \\ از دنباله زیر استفاده کنید. و این گزینه در بیشتر موارد مناسب است ، زیرا به ورودی روتراکر نزدیک می شود.
با این وجود ، برای ورود نامه از طریق سایت www.mail.ru مناسب نیست. از آنجا که کادر تست من در mail.ru نیست ، اما bk.ru است ، می توانید الگوریتم ورودی فردی برای این سایت وارد کنید (USERNAME) (TAB) (رمز عبور) (TAB) (پایین) (پایین) (پایین) (پایین) (TAB) (وارد).
لیست دستورات در اینجا آورده شده است ، اگرچه به زبان انگلیسی نیز هست ، راهنمایی نیز وجود دارد ، اما در صورت تمایل می توانید آنرا بفهمید. از تمرین خودم ، بعضی اوقات توصیه می کنم از تیم استفاده کنم (DELAY 1000)این دستور تأخیر بین تیمهاست. فقط اتفاق می افتد که با اینترنت کند ، مرورگر وقت لازم برای قبول توالی دستورات را ندارد ، بنابراین به فکر زمان نیاز دارد ، در این شرایط این دستور کمک می کند (5000 - 5 ثانیه تأخیر).
4) عارضه مضاعف مجموعه - با این روش برنامه به طور صریح داده ها را وارد نمی کند ، بخشی از نام کاربری و رمز عبور را از کلیپ بورد می گیرد و قسمت با کاراکترها وارد می شود.
حالا بیایید بررسی کنیم که آیا LanAgent می تواند رمزهای عبور ما را فاش کند !؟ همانطور که می بینید ، هیچ چیزی نمی تواند بیرون کشیده شود ، و بنابراین ، این برنامه به طور کامل کار می کرد و اکنون از رمزهای عبور شما تا حد امکان محافظت می شود!
- آموزش
روز دیگر ، من نیاز به پیاده سازی رمزگشایی پایگاه داده KeePass داشتم. من از این واقعیت ناراحت شدم که یک سند منفرد و یک مقاله واحد با اطلاعات جامع در مورد الگوریتم رمزگشایی برای پرونده های .kdb و .kdbx با در نظر گرفتن تمام تفاوت های ظریف وجود ندارد. این باعث شد که من این مقاله را بنویسم.
در حال حاضر 2 نسخه KeePass وجود دارد:
- KeePass 1.x (فایلهای .kdb تولید می کند)؛
- KeePass 2.x (فایلهای .kdbx تولید می کند).
ساختار پرونده با پایگاه داده KeePass (.kdb ، .kdbx) از 3 قسمت تشکیل شده است:
- امضا (رمزگذاری نشده)؛
- عنوان (رمزگذاری نشده است)؛
- داده ها (رمزگذاری شده)
رمزگشایی پایگاه داده KeePass
ترتیب دهی:
- امضای پایگاه داده را بخوانید.
- عنوان پایگاه داده را بخوانید.
- ما یک کلید اصلی تولید می کنیم.
- ما پایگاه داده را رمزگشایی می کنیم.
- یکپارچگی داده ها را بررسی کنید.
- اگر پرونده فشرده شد ، آن را باز کنید.
- رمزهای عبور را رمزگشایی می کنیم.
موارد 5 ، 6 و 7 فقط مربوط به پرونده های .kdbx است!
امضا
BaseSignature (4 بایت)
امضای اول برای پرونده های .kdb و .kdbx یکسان است. او می گوید که این پرونده یک پایگاه داده KeePass است:
- 0x9AA2D903
VersionSignature (4 بایت)
امضای دوم نسخه KeePass را نشان می دهد و بنابراین برای پرونده های .kdb و .kdbx متفاوت است:
- 0xB54BFB65 - KeePass 1.x (پرونده .kdb).
- 0xB54BFB66 - KeePass 2.x پیش از انتشار (پرونده .kdbx).
- 0xB54BFB67 - KeePass 2.x پس از انتشار (پرونده .kdbx).
FileVersion (4 بایت)
فقط فایلهای .kdbx یک امضای سوم دارند و شامل نسخه پرونده هستند. برای پرونده های .kdb ، این اطلاعات در هدر بانک اطلاعات موجود است.
بنابراین ، در KeePass 1.x ، طول امضا 8 بایت و در KeePass 2.x 12 بایت است..
عنوان
بعد از امضای دیتابیس ، هدر شروع می شود.
هدر KeePass 1.x
سربرگ پرونده .kdb از قسمتهای زیر تشکیل شده است:
- پرچم ها (4 بایت): این قسمت نشان می دهد که هنگام ایجاد پرونده از انواع رمزگذاری استفاده شده است:
- 0x01 - SHA256؛
- 0x02 - AES256؛
- 0x04 - ARC4؛
- 0x08 - Twofish.
- نسخه (4 بایت): نسخه پرونده.
- Master Seed (16 بایت): برای ایجاد یک کلید اصلی استفاده می شود.
- رمزگذاری IV (16 بایت): برای رمزگشایی داده ها استفاده می شود.
- تعداد گروه ها (4 بایت): تعداد کل گروه ها در دیتابیس.
- تعداد مدخل ها (4 بایت): تعداد کل ورودی های پایگاه داده.
- محتویات هش (32 بایت): داده های رمزگشایی شده هش.
- Transform Seed (32 بایت): برای ایجاد یک کلید اصلی استفاده می شود.
- Transform Rounds (4 بایت): برای ایجاد یک کلید اصلی استفاده می شود.
هدر KeePass 2.x
پرونده های B.kdbx ، هر قسمت هدر از 3 قسمت تشکیل شده است:
- شناسه فیلد (1 بایت): مقادیر ممکن از 0 تا 10 است.
- طول داده (2 بایت).
- داده ([طول داده] بایت)
هدر پرونده .kdbx از قسمتهای زیر تشکیل شده است:
- ID \u003d 0x01 نظر: این قسمت می تواند در عنوان نمایش داده شود ، اما در پایگاه داده من نبود.
- ID \u003d 0x02 رمزنگاری ID: UUID روش رمزگذاری مورد استفاده را نشان می دهد (برای مثال ، برای AES 256 UUID \u003d).
- ID \u003d 0x03 پرچم های فشرده سازی: شناسه الگوریتمی که برای فشرده سازی بانک اطلاعاتی استفاده می شود:
- 0x00: هیچکدام
- 0x01: GZip.
- ID \u003d 0x04 Master Seed: برای ایجاد یک کلید اصلی استفاده می شود.
- ID \u003d 0x05 Transform Seed: برای ایجاد یک کلید اصلی استفاده می شود.
- ID \u003d 0x06 Transform Round: برای ایجاد یک کلید اصلی استفاده می شود.
- ID \u003d 0x07 رمزگذاری IV: برای رمزگشایی داده ها استفاده می شود.
- ID \u003d 0x08 Protected Stream Key: برای رمزگشایی رمزهای عبور استفاده می شود.
- ID \u003d 0x09 Bytes Start Bytes: 32 بایت اول از پایگاه داده رمزگشایی شده. آنها برای تأیید صحت داده های رمزگشایی شده و درست بودن کلید master استفاده می شوند. این 32 بایت به طور تصادفی در هر بار تغییر در فایل ذخیره می شود.
- ID \u003d 0x0A Inner Random Stream ID: شناسه الگوریتم مورد استفاده برای رمزگشایی رمزهای عبور:
- 0x00: هیچکدام
- 0x01: ARC4؛
- 0x02: Salsa20.
- ID \u003d 0x00 End Header: آخرین فیلد عنوان پایگاه داده ، که پس از آن خود پایگاه داده شروع می شود.
تولید کلید اصلی
تولید کلید اصلی در 2 مرحله انجام می شود:
- تولید کلید ترکیبی؛
- کلید اصلی را بر اساس یک کلید کامپوزیت تولید کنید.
1. تولید کلید ترکیبی
الگوریتم هش SHA256 برای تولید کلید کامپوزیت استفاده می شود. جداول زیر کد شبه تولید کلید کامپوزیت را نشان می دهد که بر اساس آن از نسخه KeePass استفاده می شود و برای رمزگشایی پایگاه داده (فقط رمز عبور ، فقط کلید پرونده یا همه با هم) به چه ورودی نیاز است:
KeePass 1.x
KeePass 2.x
توجه شما را به این نکته جلب می کنم که اگر چندین نهاد نیاز به رمزگشایی بانک اطلاعاتی (به عنوان مثال رمزعبور و کلید پرونده) دارید ، ابتدا باید هش را از هر موجودیت دریافت کنید ، و سپس آنها را به هم وصل کنید (concat) و هش را از توالی ترکیبی بگیرید.
2. تولید کلید اصلی مبتنی بر یک کلید کامپوزیت
- باید رمزگذاری کلید کامپوزیت با استفاده از الگوریتم AES-256-ECB به دست آمده در بالا.
- به عنوان کلید مورد نیاز برای استفاده از Transform Seed از هدر.
- این رمزگذاری باید بارهای Transform Rounds (از سرصفحه) انجام شود.
- با استفاده از SHA256 هش را از کلید کامپوزیت رمزگذاری شده دریافت می کنیم.
- ما استاد بذر را از سربرگ با هش دریافت شده متصل می کنیم.
- با استفاده از SHA256 از توالی ترکیبی هش می گیریم - این کلید اصلی ماست!
کد شبه
void GenerateMasterKey () (// رمزگذاری کلیدهای کامپوزیت TransformRounds برای (int i \u003d 0؛ i< TransformRounds; i++) { result = encrypt_AES_ECB(TransformSeed, composite_key); composite_key = result; }