تأیید اعتبار – آیا یک مکانیزم مجوز ثروتمند که در آن رمز عبور روشن در keychain ذخیره می شود امن است؟

آیا استفاده از مکانیزم مجوز استقرار زیر بین مشتری (iOS & Android) و سرور امن است؟

ثبت نام

  1. مشتری یک ایمیل و رمز عبور را فراهم می کند و رمز عبور پاک می کند در Keychain در iOS و با استفاده از یک جایگزین برای آندروید.

  2. سرور قدرت رمز عبور را بررسی می کند، اگر آن را به اندازه کافی قوی که کاربر در DB ایجاد شده است.

  3. سرور یک Token JWT را تولید می کند و آن را به مشتری می فرستد. Token زمان انقضا 15 دقیقه است.

  4. مشتری نشانه را (شاید در Keychain خود ذخیره می کند و شامل آن برای هر درخواست زیر در header Authorization می باشد. 19659004] برای هر درخواست، سرور نشانگر ارائه شده را بررسی می کند (امضا و زمان انقضا را بررسی می کند). اگر درست باشد، درخواست پردازش می شود، در غیر این صورت، HTTP 401 بازگشت می شود.

ورود

  1. هنگامی که مشتری یک HTTP 401 از سرور دریافت می کند، به این معنی ورود به سیستم مورد نیاز است. بنابراین برنامه به Keychain دسترسی پیدا می کند و ایمیل و رمز عبور را دریافت می کند (بدون مداخله کاربر لازم است).

  2. سرور معتبر ارائه شده است و اگر معتبر باشد، آن را تکرار خواهد کرد ثبت نام مراحل از 3 تا 5.

با تشکر از زمان انقضا در Token، اگر یک Token به خطر بیافتد، در طول یک دوره کوتاه معتبر خواهد بود.

اگر یک کاربر وارد سیستم شده باشد چندین دستگاه و رمز عبور خود را از یک دستگاه تغییر می دهد، دستگاه های دیگر فقط برای یک دوره زمانی کوتاه وارد سیستم می شوند، اما رمز عبور روشن ذخیره شده در Keychain [19459009طولانیترنخواهدبود

کدام نقص را می بینید؟

من فکر کرده ام در مورد استفاده از روش نشانه بازنویسی برای جلوگیری از ذخیره رمز عبور پاک، اما این پیچیدگی را اضافه می کند و اشکالات دیگر (برای مثال: چگونگی تضمین refresh token فقط یک بار استفاده می شود). و تا آنجا که من دیده ام، ذخیره رمز عبور روشن در کلید KeyChain به اندازه کافی امن است:

Documentation Services KeyChain

بهترین روش برای حفظ اعتبار ورود به سیستم در iOS چیست؟ [19659012] اما من همچنین سؤالات دیگری را مشاهده کردم که توصیه نمیکنند رمزهای عبور را بر روی دستگاه ذخیره کنند.

بنابراین من می خواهم که نظرات دیگران را در این مورد بشنوم.

</p>
<pre>تأیید اعتبار - آیا یک مکانیزم مجوز ثروتمند که در آن رمز عبور روشن در keychain ذخیره می شود امن است؟<br />

مدیریت کلید – کدام فرمت یک کلید اختصاصی RSA رمزگشایی است، به ویژه در OS X Keychain؟

من سعی کردم یک کلید غیر قابل استخراج را از OS X Keychain استخراج کنم. من این ابزار را برای استخراج کلید استفاده کردم. این ابزار به من یک هشدار از کلید خصوصی را می دهد. یک کلید RSA 2048 بیت بعد از استخراج از طریق ابزار، 2441 بیت است.

مشکل این است که من نمیتوانم فرمت کلید را در آن قرار دهم تا آن را به PEM / DER یا هر فرمت استاندارد تبدیل کنم.
پس از استخراج، به نظر می رسد این است:

[+]  ضبط کلید خصوصی
 [-] نام چاپ: 
 [-]  برچسب
                                       
 [-]  کلاس کلید: CSSM_KEYCLASS_PRIVATE_KEY
 [-] خصوصی: 0
 [-] نوع کلید: CSSM_ALGID_RSA
 [-] اندازه کلید: 2048 بیت
 [-] اندازه کلی موثر: 2048 بیت
 [-] استخراج شده: 0
 [-] CSSM نوع: CSP CSP (فضای محلی)
 [-] نام کلید

 [-]  کلید خصوصی رمزگشایی شده

آیا کسی می داند که این کلید خصوصی رمزگشایی خصوصی است؟ و / یا نحوه تبدیل آن به قالب پشتیبانی شده با OpenSSL؟

تعیین محل مرجع باینری در گفت و گو keychain macOS

در اینجا یک مثال محاوره ای است:

 امنیت میخواهد از اطلاعات محرمانه شما ذخیره شده در

استفاده کند. در این مثال، من کاملا مطمئنم که امنیت باینری در واقع در / usr / bin / security ، اما چگونه می توانم اطمینان کنم؟ دکمه ؟ به سادگی پنجره پنجره مک را با این مقاله به ارمغان می آورد.

مجوز گواهی – ایجاد CA ریشه خود امضا با استفاده از MacOS Keychain

من می خواهم از Keychain MacOS برای ایجاد یک Root CA اولیه استفاده کنم که قادر به امضای CSR ها و / یا Intermediate CA است که می توانند این کار را انجام دهند.

برای اهداف دانش من می خواهم ایجاد یک ریشه و متوسطه و سپس گواهینامه داخلی SSL داخلی ما، اما IRL، فقط یک ریشه و برخی برگ ها کافی است.

من تلاش زیادی برای استفاده از ریشه و برگ ها می کنم. در MacOS، من فقط باید به گواهی ریشه اعتماد کنم و نسل ها اعتماد (که کاملا طبیعی است). اما در ویندوز، مهم نیست که چطور به ریشه اعتماد دارم، برگ ها همواره به عنوان نامعلوم پرچم گذاری می شوند، چیزی مانند "این گواهی نامعتبر است زیرا گواهی نامه امضا نمی تواند صدور گواهینامه صادر کند"، حتی اگر هر گونه استفاده امکان پذیر باشد.

As به عنوان مثال، در اینجا RootCA.pem :

 ----- آغاز گواهینامه -----
MIIDjTCCAnWgAwIBAgIBGTANBgkqhkiG9w0BAQsFADB3MQ8wDQYDVQQDDAZPUEgg
Q0ExHTAbBgNVBAoMFE9seW1waWMgUGFsYWNlIEhvdGVsMQwwCgYDVQQLDANDVE8x
FDASBgNVBAgMC0JyYXp6YXZpbGxlMQswCQYDVQQGEwJDRzEUMBIGA1UEBwwLQnJh
enphdmlsbGUwHhcNMTgwNDEwMTcyMzQ0WhcNMzgwNDA1MTcyMzQ0WjB3MQ8wDQYD
ویتامین D
VQQLDANDVE8xFDASBgNVBAgMC0JyYXp6YXZpbGxlMQswCQYDVQQGEwJDRzEUMBIG
A1UEBwwLQnJhenphdmlsbGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwgGAKAoIB
AQDVGJe8JL4jy7Y0Ovb2yn1NKrbnWmDY4Y4gZ5U9fd1C2b0rjUYw0 + gdIY + zZoC9
zqIOYpIIDhwcXQXTMGB0naAv + mmnmnmJh9PsyGZ7xl9UT / Z1scICpWUgOLC + 9xO4
wa8kbA88P + j + 6Ybg + CwRDRM4ut7jweQz / BGnK6C2QDLvuGOekLCQTzPMugJBImia
M1CfMqrbnYqP8U6ULRVu / GX7R1itsoMIm / IG6ZnDDLna4ReE5Fsxka7h7Mfqt8EH
Tcn7tBlV4QApEF + RIo2JpHHmw5UAZZqWUdUkk4sB7iVqiOvh3egEeWmpyK6pAa7S
dFnLk0SVEg / ociTj8l61OZtZAgMBAAGjJDAiMA8GA1UdEwEB / wQFMAMBAf8wDwYD
VR0PAQH / BAUDAwf / gDANBgkqhkiG9w0BAQsFAAOCAQEAM0vlrtpJS + kmVW7c0Kb3
OyQc9cSne9vcneu5vz8oPsMuv9N1emo8TKueiPEwPxNan / WqrLAanaMtpxP9XRco
O9JnlXqKzXxlym3abiKsV4XsxBC8gBlG5Gks5JNjj7pTpx9OwsShob0G / 8RzBlUZ
LoP1iPpO0mDw8wwI5X1TbmYodmtpNeEcd1JtfZ1 / iL0AMF + pE / FY1PYkBPs6S7mb
iWePjRv2QuVGv0dSzpJAPcAILmwLvHRVRB4DrV / liJ9DfiEjnQHV0SJfvc / tJcYs
hEDMxLEm + 2l4XsEWAmjlZMDIf1jZFKgXRsEAHHn1F4OxqspTmfhAFns6v9SKtQk7
ow ==
----- گواهی END -----

اینجا گواهی برگ است.پیم:

 ----- گواهی شروع -----
MIIEGzCCAwOgAwIBAgIBATANBgkqhkiG9w0BAQsFADB3MQ8wDQYDVQQDDAZPUEgg
Q0ExHTAbBgNVBAoMFE9seW1waWMgUGFsYWNlIEhvdGVsMQwwCgYDVQQLDANDVE8x
FDASBgNVBAgMC0JyYXp6YXZpbGxlMQswCQYDVQQGEwJDRzEUMBIGA1UEBwwLQnJh
enphdmlsbGUwHhcNMTgwNDEwMTczMDMwWhcNMjMwNDA5MTczMDMwWjCBpzEUMBIG
آیلتس
MQswCQYDVQQLDAJJVDEUMBIGA1UECAwLQnJhenphdmlsbGUxCzAJBgNVBAYTAkNH
MRQwEgYDVQQHDAtCcmF6emF2aWxsZTEqMCgGCSqGSIb3DQEJARYbaXRAb2x5bXBp
Yy1wYWxhY2UtaG90ZWwubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA1OKgramUyEMaByWJq6vXHR1n3Ump8qaE + iFgJIU4p + c9jfVMJuRtECcSJejI
IKp + 0um5rCJAeFNSmyLmMGp + zjmLTUySrrl / ZJKhwLolxJCK68MOJJ6CVEJammO6
dA55RIgukHpRsUnlUdu + VpQB7dsKreG44b23jpa5w3l4Hknb7lGxOPXjAya8kfiZ
lObbBne1xdOLQfjdHqpUvjJHv0uajq + R / YnoH7Dfp3UVNZ4rWwAtHcJbOpLAam4c
FcsDy + pG1ng2yryup + fGK0HjvSHhj6VjCJqZysJGF3zIFwEugoN0liCK6GsM6vM5
fm0FbEFoLvnrrfPdWP3gEcex5wIDAQABo4GAMH4wDwYDVR0TAQH / BAUwAwEBADAO
BgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMDwG
A1UdEQQ1MDOBG2l0QG9seW1waWMtcGFsYWNlLWhvdGVsLm5ldIIJKi5vcGgub3Zo
ggkqLm9waC5sYW4wDQYJKoZIhvcNAQELBQADggEBAD + 2KDcJ / XGLdfMsHWgn6au /
daGn0HAvjOvHDqBN + HG9zVrVa + C1IpoPFI9ZMfe5W4Ju2RFEZLAT1l4rMVghsHO2
hQ6Jf / PZE + 4K68C6ewp0isDDzah9w8nZ8N7LZHSVq2AaQQX3Zv7yOIxvpkeEjhzI
GInZM + UVJhbdV4g5Om + dcAMWjEQJN + AvAATZdJogfbPDEmHG + RbfTqn9L + ycA75t
/ uXdTxN3kdSS / iBfk07ZFTKB2nhJJPwI1NJHM6LBbfY9lIQnxAiyKaWmprZztWIC
oAS1tjTchbWQERYNBQ + kxIkgQLjVr4PL5F0Ji2FjWfRscMuXdPowFTpJ1exDC3M =
----- گواهی END -----

و در اینجا علامت خصوصی برگ برگ (رمزگشایی):

 ویژگی های کیسه
    دوستانه نام: lan.oph.ovh
    localKeyID: E7 36 A4 85 FC 43 2A F9 79 01 36 37 80 BB 00 38 30 74 0E 47
ویژگی های کلیدی: 
----- آغاز KEY PRIVATE ----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDU4qCtqZTIQxoH
JYmrq9cdHWfdSanypoT6IWAkhTin5z2N9Uwm5G0QJxIl6Mggqn7S6bmsIkB4U1Kb
IuYwan7OOYtNTJKuuX9kkqHAuiXEkIrrww4knoJUQlqaY7p0DnlEiC6QelGxSeVR
275WlAHt2wqt4bjhvbeOlrnDeXgeSdvuUbE49eMDJryR + JmU5tsGd7XF04tB + N0e
qlS + Mke / S5qOr5H9iegfsN + ndRU1nitbAC0dwls6ksBqbhwVywPL6kbWeDbKvK6n
58YrQeO9IeGPpWMImpnKwkYXfMgXAS6Cg3SWIIroawzq8zl + bQVsQWgu + eut891Y
/ اورجینال /
XStFu5lAo3K5tRILeU7qv3zurCR + w8cJpAPGc + HJL9tB5r + k8b299YtClnkDQxxI
tEqEqJdn / QcRgZ385e5DKzq9UH6Snx5ipfD5Xog9wpMdVGKuYUEXBMJbkL62cc1c
5JraBNvUPDoIkLI1fyBz2ZEc9Iz4wweSk2IldPCXXHmL2OLDSDwsl9HpJoMJTt8S
PaWTOOBrCBtW9if6vvwZDPOpdHISdfhg / N + ifE0eYn2s8cxPs / 9Y1dDo2L5gS8re
pOB4LAaeOos4mvQ8808HLX8Y9M + iuM3Qr8ToiGvkbTkCgYEA + EPHTfkllDUn2fel
6 + zxJv4omKZupJ3Bvx / g + AjFBnAzkMVkcuhRA7B5dlBq3f2N1QFBBJJnkmF7z3Mu
IAXTM5MOuwqgywApA / voK0p5ZragP9WZR / 5 + SakWeVF + Vk1Zvu816ppLBXW64H6 +
t + YRqa1KYAVj8xbgATxGb81QmPsCgYEA24SnSTBbhvMMaZoUGecIf29Pxx4 + WAhh
Dq1Q0V1CH / zBIYvgnN1cI4E / TFcrzHhxmxtb5B6PYpZfD59tzvbKGNPL64hAqWwg
4IFuvNpw2aJptQGz9D6Vu61kAe4m / 5Hw6wcJN3o73pMGV3CuoyHqYj85vqCasbFP
vOitYUpaDwUCgYBfQsqn / bDQtLDM7zyoUWubFa0IHdyYp7vfFWFiayMGvGjc5REN
El17t + xzXJoVAiS5FdkX4wGA5oz2ZfDN8s4 + nO / rD0Hxguc6Ex / b9KCuq + bDd7dw
K5PTueDYvk9m2BlWrT0X / wpIVwtU9u1BbTNb0xWV0JuwfBeKAdHZNoP1nwKBgQCf
YlGT8miCMzZv9k9h / z1MSaXDDVJ22SoHXg + v8 + ZvEzWnBciwHIkpvk4XP7OtYkYa
OGMf3pB9JHEhBsDT5JwYKq + E9Aj ++ mNknpWoyXHmkuXtZq8iR86v1dUnEaN / LJeg
DhvDDB0sHdQc6NPj3lwvuXhT0IiBPByJLOe2HCYHgQKBgDNRAJ4C1SAAW3XXnoCL
kjnvaXk0plj7Sh1JfZiipZun2Gl99JX68aNh + 5bnm5Yq + jQHKHmAQfHnXW4Nyjk7
vmlI + LGZvwVkKQn6xORWNz3T0CUD9MHNCWN5CNL6HJJ3mBYDqpjC5n2i10 / tF2Jv
WtTYDNeQf1HnCLuoDSV1y / nB
----- کلید خصوصی END -----

آیا کسی میتواند به من کمک کند به درک اینکه چرا این گواهینامه در ویندوز قابل اعتماد نیست و احتمالا از دستش چی هست؟