رمزگذاری – رمزهای عبور: ذخیره رمزگذاری شده، مشاهده در متن ساده

من قبلا این سوال را در stackoverflow پرسیدم اما اطلاع دارم که کمی بیش از حد وسیع است و به جای آن در اینجا بیشتر متکی است. بنابراین اجازه دهید فقط کپی و چسباندن آنچه را که از آن پرسیدم کپی کنم:

من یک معضل مربوط به امنیت دارم که من نمیتوانم از خودم درباره امنیت برنامههای وب استفاده کنم.

بگذارید بگوییم میخواهم خدماتی ایجاد کنم که در آن کاربر می تواند ذخیره و مشاهده در متن ساده کلمات عبور خود را برای خدمات متعدد. در چنین مواردی، موارد کمی را باید در نظر گرفت: اقدامات امنیتی اولیه با رمزگذاری رمزهای عبور ذخیره شده با هش، نحوه محافظت از کلمه عبور در صورتی که از پایگاه داده به سرقت رفته باشد، برای مثال، از بین بردن پایگاه داده توسط مهاجم.

گذرواژهها باید رمزگذاری شده ذخیره شوند، اما ممکن است برای نمایش دادن به یک کاربر در متن ساده استفاده شوند. روش استاندارد برای ذخیره گذرواژه برای احراز هویت این است که آنها را به عنوان مثال با استفاده از bcrypt یا روش دیگر با نمک اضافه شده به آن ها هش کنید و چنین رمزگذاری به شما اجازه رمزگشایی کلمات عبور را به راحتی نمی دهد.

آیا آنچه من می خواهم حتی ممکن است برای رسیدن به آن؟ یا یک رویکرد دیگر وجود دارد که باید به جای هش کردن، اما هنوز هم امن برای ذخیره چندین کلمه عبور برای سرویس های چندگانه توسط یک کاربر واحد؟

من فقط به آن اضافه خواهم کرد که فرض کنیم رمز عبور یک یا مجموعه ای از کلمات عبور یک پست وبلاگ است مشاهده در یک متن ساده تنها توسط نویسنده چنین پست و تحت شرایط خاص توسط مدیر و ناظر

خود تکنولوژی خود را مهم ترین چیز در اینجا نیست، اما من قصد دارم برای ایجاد این برنامه با استفاده از چارچوب پی اچ پی و لارو. [19659002] برای نگهداری و مشاهده یک چیز است، چیز دیگری این است که چگونه چنین برنامه هایی را از انواع مختلف پست های رمزگذاری شده، خرابکاری های پایگاه داده و حملات مشابه محافظت کنید؟

رمزگذاری – استفاده از پرونده ها از پرونده های رمزگذاری شده استفاده کنید

من برای امنیت سایبری تازه کار هستم، اما من در پروژه ای هستم که نیاز به استفاده از آن دارم و نمی دانم کجا شروع کنم. برنامه ای که من در حال کار بر روی Connects to jira برای بازیابی داده ها و تولید گزارش ها هستم. برای اتصال به جیرا می خواهم از یک نام کاربری و رمز عبور خاص استفاده کنم. من نمی توانم آنها را به عنوان رشته در کد من قرار دهد، زیرا هر کاربر اعتبار من را دریافت می کند. بنابراین، من درباره نوشتن یک فایل رمز شده فکر کردم.

این چیزی است که اگر میخواهید فایل من رمزگشایی شود، باید کلید رمزگشایی را در کد من ارائه دهم. و من فکر می کنم این کاملا امن نیست، زیرا هر کسی که به کلید دسترسی داشته باشد می تواند به راحتی فایل را رمزگشایی کند و بنابراین اعتبار من را دریافت می کند.

من روشی را یافتم که یک فایل را رمزگذاری می کند و آن را به طوری که تنها کسی که رمزگشایی می کند کاربر است که آن را رمزگذاری می کند. مشکل این است که مدیر تنها کسی است که حق رمزگذاری فایل ها را دارد و این فقط به این معنی است که او تنها کسی است که ارتباطش با جیرا را تایید می کند، زیرا او تنها کسی است که توانایی رمزگشایی اعتبارها را دارد.

من نیز نگران این هستم که اگر من اعتبارنامه ها را خوانده و رمزگشایی کنم، هرکس می تواند از console.writeline استفاده کند و مدارک را دریافت کند.

من از برنامه C # استفاده می کنم

همانطور که گفتم من زیاد درباره امنیت سایبر نمی دانم، من فقط برای سال های قبل RSA نوشتم.

آیا راهی وجود دارد که می توانم اعتبارم را تأمین کنم؟

رمزگذاری – بلوک ورودی `dd` چیست؟

اندازه بلوک که dd پردازش تعداد از توسط bs ((19459003) ibs ، obs ) به dd :

 bs = BYTES
      خواندن و نوشتن تا بایت BYTES در یک زمان (به طور پیش فرض: 512)؛
      ibs و obs را برطرف می کند

این درحالی است که این صفحه جدید مرد است؛ زمانی که در SunOS 4 یاد گرفتم واضح تر بود که "bs" برای "اندازه بلوک" ایستاده بود:

 bs = n
   اندازه هر بلوک ورودی و خروجی به n bytes، ibs = و obs = را تعویض می کند. اگر
   هیچ تبدیل غیر از همگام سازی، noerror، و nonrunc مشخص شده است، هر ورودی
   بلوک بدون خروج بلوک های کوتاه به خروجی به عنوان یک بلوک کپی می شود.

و همانطور که در این پاسخ می توانید ببینید، نسخه های اولیه یونیکس از بلوک 512 بایت یا واحد تخصیص در سیستم های فایل استفاده می کنند. به همین دلیل پیش فرض فعلی برای dd bs هنوز 512 بایت است!

شما همچنین می توانید واحد های اندازه دیگر را مشخص کنید؛ به عنوان مثال، bs = 5M برای اندازه بلوک 5 مگابایت:

 N و BYTES ممکن است پسوند پسوندهای چند بعدی زیر را داشته باشد:
c = 1، w = 2، b = 512، kB = 1000، K = 1024، MB = 1000 * 1000، M = 1024 * 1024،
XM = M، GB = 1000 * 1000 * 1000، G = 1024 * 1024 * 1024، و غیره برای T، P، E،
Z، Y.

رمزگشایی – یک ابزار برای رمزگشایی XOR است

چیزی شبیه "یک رمز XOR نیست" وجود دارد. من فرض می کنم شما به معنای "یک بار-پد" -Cipher، که در صورتی که به درستی اجرا می شود unbreakable (پد یک بار تنها استفاده می شود یک بار ).

توصیه های ابزار موضوع نیست، اما این یک کار بسیار زیبا برای یادگیری است که برنامه نویسی شما را بهبود می بخشد.

شاید ما بتوانیم به شما کمک کنیم، اگر شما توضیح دهید که چه چیزی برای رسیدن به جزئیات کمی توضیح می دهید،

رمزگشایی – gpg نیاز به رمزگشایی برای رمزگشایی ندارد

ناگهان رفتار gpg تغییر کرده و دنیای من فرو میرود.

من کلید های متعددی دارم، اما نه برای اهداف تست. یکی کلید شخصی من است. تا به حال من توانستم با این کلید رمزگذاری کنم و به نظر میرسد که به یاد داشته باشم که باید رمز عبور خود را برای رمزگذاری تایپ کنم. در حال حاضر ناگهان من نمی اما آنچه ترسناک است، می توانم روی فایل رمزگذاری شده دوبار کلیک کنم و بدون نیاز به کلمه عبور من رمز گشایی می کنم.

من این را خوندم و پیشنهادات متعددی را یافتم، هیچ کدام کار نمی کنند. چگونه می توانم gpg را برای درخواست گذرواژه خود بپرسم قبل از اینکه یک فایل را رمزگشایی کند؟ و چگونه می توانم مطمئن باشم که آن را با کلید راست رمزگذاری می کند. من از r استفاده میکنم اما به نظر میرسد کلید انجام رمزگذاری کلید من نیست حتی اگر نام کلید شخصی من باشد. من می توانم قبول کنم که کلید گیرنده ها در رمزگذاری مهم است، اما من می خواهم هویت شخصی من درگیر شود و نه اولین کلید در کلاهبرداری.