تأیید اعتبار – آیا این یک پیاده سازی امن از نشانه های تجدید JWT است؟

من یک نشانه ی بازخوانی JWT را اجرا میکنم و روش زیر را برای تشویق نشانه ها توسعه داده ام. زیر برنامه جریان است:

  • هنگامی که سرور اطلاعات ورود را بازیابی می کند، آن را در برابر رمز عبور بررسی می کند
    پایگاه داده و ایجاد Token JWT با یک نشانه تازه کردن به عنوان یکی از آن
    ادعا می کند در محموله. (کاراکترهای تصادفی). این تازه سازی را ذخیره خواهد کرد
    نشانه در یک پایگاه داده.
  • پس از ورود، سرور ورود به سیستم: true و Token access JWT
  • از آنجا که نشانگر refresh در داخل JWT است، دو نشانه لازم نیست
    فرستاده می شود
  • اگر مشتری یک نشانه دسترسی را که تمام شده است، ارسال می کند، سرور خواهد شد
    کد زیر را در ادعا بررسی کنید و ببینید آیا در داخل db است.
    اگر این کار را کرد، یک نشانه جدید با یک نشانه تازه کردن ایجاد خواهد کرد و
  • اگر مشتری بخواهد از همه دستگاه ها بیرون برود، می توانند به راحتی تمام آنها را لغو کنند
    از نشانه های بازخوانی آنها و زمانی که همه آنها بیرون می آیند
    نشانه ها منقضی می شوند (نشانه های 15 دقیقه JWT).

مزایایی که می توانم در این پیاده سازی ببینم عبارتند از:

  • بدون نیاز به ارسال دو نشانه. تازه سازی در داخل JWT جاسازی شده است
    و نمی تواند اصلاح شود زیرا امضای آن نامعتبر است.
  • بدون نیاز به رمز نویسی مجدد در پایگاه داده را رمزگذاری می کند، زیرا اگر یک
    مهاجم نشانه ی refresh را نگه داشته است، آنها نمی توانند کاری انجام دهند
    با آن به دلیل آن است که در داخل JWT است و نمی تواند اصلاح شود. (که در
    پیاده سازی های دیگر با نشانه های جداگانه باید فرض کنیم
    مهاجم به هر حال هر دو را می گیرد)

مشکلاتی که من با آنها می بینم عبارتند از:

  • JWT ها همیشه دارای نشانگر refresh هستند، بنابراین مهاجم همیشه باید باشد
    قادر به انجام یک تازه کردن و استفاده از نشانه refresh تا زمانی که منقضی شود
    مگر اینکه مشتری آن را با ورود به سیستم (از تمام دستگاه ها) لغو می کند.
  • مشتری می تواند تماس ورود به سیستم را در حلقه اجرا کند و پایگاه داده را پر کند
    زیرا هر بار که آنها وارد سیستم می شوند، یک نشانه دسترسی جدید ایجاد می شود و یک
    کد جدید refresh در پایگاه داده ذخیره می شود.

آیا این روش امن است؟ اگر چنین است، من عمدتا با کسی که با پایگاه داده های جدید refresh و پر کردن دیسک پر می کند، نگرانم. چگونه می توانم از وقوع اجتناب کنم؟

آیا PASETO جایگزین JWT برای مجوز API می شود؟

آیا سرور PASETO متقارن کلید به طور جدی به عنوان یک کاندیدای قابل قبول برای جایگزینی JWT برای مجوز جلسه API ارزیابی شده است؟

JWT

https://tools.ietf.org/html/rfc7519

https: / /jwt.io

PASETO

https://raw.githubusercontent.com/paragonie/paseto/d7a1067c48e5ada67567fc546e8a6232d82c94ce/docs/RFC/draft-paragonie-paseto-rfc-00.txt

https://paragonie .com / blog / 2018/03 / paseto-platform-agnostic-security-tokens-is-secure-alternative-jose-standards-jwt-etc

برنامه وب – چگونه یک نشانه JWT میتواند اسرار چندگانه داشته باشد؟

من از ابزار jwtcrack استفاده میکنم تا یک نشانه صادر شده JWT را امتحان کنم. من فکر می کنم فقط خروجی زیر باید توضیح دهد که چه چیزی به خوبی پیش می رود:

[0] ٪ ./jwtcrack [token]
راز "P" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "یک" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "ال" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "ال" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "یک" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "یک" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "R" است

joseph @ MBA <master ●>: ~ / c-jwt-cracker
[0]٪ ./jwtcrack [token]
راز "ال" است

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

tcp – MQTT بدون TLS – جلوگیری از ارسال پیام ها از دستگاه های غیرقابل شناسایی

من یک مورد استفاده دارم که در آن من نمی توانم از MQTTS / TLS به دلیل محدودیت در دستگاه استفاده کنم.

برنامه ما این است که در طول MQTT CONNECT تأییدیه را منتقل کنیم، یک نشانه JWT به عنوان یک کلمه عبور. اگر به درستی درک کنم MQTT یک اتصال TCP را برای تمام پیام های بعدی باز نگه می دارد.

با توجه به یک Broker استاندارد MQTT (مانند HiveMQ، VerneMQ، …)، ممکن است یک مهاجم به PUBLISH mqtt message بدون تماس CONNECT ابتدا؟

البته آنها به طور بالقوه میتوانند نشانه JWT را تشخیص دهند و با CONNECT تماس بگیرند، اما این نشانه تنها برای مدت کوتاهی معتبر خواهد بود .. و همچنین ما می توانیم برخی از حسابرسی در CONNECT برای جلوگیری از حملات (فیلتر کردن IP، …)

قرار داد.

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

نگرانی من این است که آیا مهاجم فقط می تواند ترافیک را از طرف یک اتصال TCP دیگر ارسال کند؟ تماس انتشار بدون تماس اول CONNECT . شاید این حس نداشته باشد …

نحوه استفاده از Oauth2 و JWT برای حفاظت از معماری میکرو سرویس؟

ما در حال بررسی مکانیزم مناسب برای ایمن سازی سرویس های میکروسکوپی هستیم که ما از طریق برنامه مدیریت API به عنوان نقاط پایانی API ارائه می دهیم.

اساسا ما نیاز به مکانیزم امنیتی غیرقانونی مانند JWT برای ایمن سازی هر نقطه پایانی API دارد

 اینجا را وارد کنید

اما به نظر می رسد که هر درخواست باید از طریق Auth Server و پس از آن مکان بسیار شلوغ خواهد شد. هر مکانیسم استاندارد برای غلبه بر این وضعیت وجود دارد. ما در مورد ارائه نشانه دسترسی جداگانه به مشتری به جای نشانه اصلی Auth شنیدیم، اما با تأیید نشانه دسترسی از سطح سرویس microservice مواجه شدیم. هر راه حل واقعا قدردانی خواهد شد

با تشکر از قبل.