انجمنهای فارسی اوبونتو
جامعه کاربران => کافه اوبونتو => نویسنده: mskf1383 در 08 اسفند 1401، 04:05 بظ
-
معرفیِ غیرفنیِ شبکهٔ پیامرسانیِ ماتریکس
مقدمه
هر پیامرسان از دو نرمافزار تشکیل شده است:
کارخواه: نرمافزاری است که کاربر روی تلفنِ همراهش نصب میکند و با آن از پیامرسان استفاده میکند. کارخواه مانندِ صندوقِ پست است.
کارساز: نرمافزاری است که روی رایانهای همیشه متصل به اینترنت نصب میشود و مغزِ پیامرسان است. کارساز مانندِ شرکتِ پست است.
ماتریکس
ماتریکس یک شیوهنامه برای پیامرسانی است. مانندِ قوانین ریاضی که به شما میگویند چگونه باید با عبارتهای ریاضی سر و کله بزنید. هر کارخواه یا کارسازی که از شیوهنامهٔ ماتریکس پیروی کند، عضوی از شبکهٔ ماتریکس است. به همین خاطر تعدادِ زیادی کارخواه و کارساز برای شبکهٔ پیامرسانی ماتریکس وجود دارد و کاربر آزاد است هر کدام را که دوست دارد، انتخاب کند.
در این مقاله، کارخواهِ «اِلِمِنت» و کارسازِ «سیناپس» معیار هستند.
ماتریکس نامتمرکز است
هر کسی میتواند با اجرای سیناپس، نمونهای از ماتریکس داشته باشد. هر نمونهٔ ماتریکس مانندِ یک شرکتِ پست است و از نمونههای دیگر مستقل است. اما شیوهنامهٔ ماتریکس طوری طراحی شده که شرکتهای پستِ مستقل از هم (نمونههای ماتریکس)، میتوانند بینِ یکدیگر پیام رد و بدل کنند.
این باعث میشود که هر کسی بتواند پیامرسانِ خودش را داشته باشد و همچنین تمرکزِ قدرت اتفاق تخواهد افتاد. اما لازم نیست هر کسی یک نمونهٔ ماتریکس داشته باشد. نمونههای عمومی بسیاری وجود دارند که روزبهروز هم در حال بیشتر شدن هستند.
ماتریکس رمزگذاری شده است
وقتی کاربر پیامی را ارسال میکند، المنت ابتدا این پیام را رمزگذاری میکند و سپس به کارساز میفرستد. کلیدهای رمزگشاییِ پیام نیز فقط در دستِ فرستنده و گیرندهٔ پیام هستند. به این معنی که مدیرِ نمونه (و هیچ کسِ دیگر) نمیتواند پیام را بخواند.
ماتریکس نرمافزار آزاد است
تمامِ موارد بالا بدونِ این مورد، بیمعنی هستند. نرمافزارِ آزاد یعنی کاربر در استفاده از نرمافزار آزاد است، کدِ آن در دسترس است و هر کسی حق دارد در آن تغییر ایجاد کند و تغییراتش را منتشر کند.
اگر ماتریکس یک قدمِ کج بگذارد، سریع گندش در میآید و اگر توسعهدهندگانش اقدام به اصلاح نکنند، خیلی زود عدهای دیگر شروع به توسعهٔ انشعابی از ماتریکس در مسیر درست خواهند کرد.
چگونه به شبکهٔ ماتریکس بپیوندیم؟
کافی است نمونهای برای خود انتخاب کنید. توجه داشته باشد که ممکن است بعضی از نمونههای فیلتر یا کند باشند یا محدودیت خاصی داشته باشند. در زیر فهرستی از چند نمونهٔ عمومی را آوردهام:
https://matrix.org
https://mozilla.org
https://tchncs.de
https://envs.net
برای عضویت باید اِلِمِنت (Element) (پیوند افدروید: https://f-droid.org/fa/packages/im.vector.app/) را نصب کنید. نمونهٔ پیشفرض روی matrix.org است که به خاطر ترافیک بالا معمولاً کند است. برای تعویض نمونه، هنگام ایجاد حساب، matrix.org را با نمونهٔ مورد نظر عوض کنید.
راهنماهای دیگر
https://fa.wikibooks.org/wiki/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C_%D8%B4%DB%8C%D9%88%D9%87%E2%80%8C%D9%86%D8%A7%D9%85%D9%87_%D9%BE%DB%8C%D8%A7%D9%85%E2%80%8C%D8%B1%D8%B3%D8%A7%D9%86%DB%8C_%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%DA%A9%D8%B3
بازنشری از: https://fediverse.blog/~/%D8%AA%D9%81%DA%A9%D8%B1%D8%A7%D8%AA%DB%8C%DA%A9%D8%B1%DB%8C%D8%B2%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87/%D9%85%D8%A7%D8%AA%D8%B1%DB%8C%DA%A9%D8%B3%20%D8%A8%D9%87%20%D8%B2%D8%A8%D8%A7%D9%86%20%D8%A2%D8%AF%D9%85%DB%8C%E2%80%8C%D8%B2%D8%A7%D8%AF
-
ممنون این به زبون آدمیزاد نیاز بود(:
ماتریکس رمزگذاری شده است
وقتی کاربر پیامی را ارسال میکند، المنت ابتدا این پیام را رمزگذاری میکند و سپس به کارساز میفرستد. کلیدهای رمزگشاییِ پیام نیز فقط در دستِ فرستنده و گیرندهٔ پیام هستند. به این معنی که مدیرِ نمونه (و هیچ کسِ دیگر) نمیتواند پیام را بخواند.
ببین میفهمم اینجارو ولی یه چیزی میلنگه؟ خب المنت رمزگذاری میکنه و به کارساز میده و کارساز میده به کاربر مقابل، ولی کارساز میتونه این وسط دستکاری کنه برای شنود اصلا از کجا معلوم خودش رو جای کاربر مقابل جا نزنه؟ البته میدونم میشه کاربر رو تایید کرد با شکلک ها، و البته اون تایید هویت هم باید به صورت امن شاید حضوری یا با شبکه امن دیگهای!
بنابراین نتیجه میگیریم تا کاربری تایید نشه کاملا امن نیست درسته؟ یعنی ما هرکی رو در ماتریکس میبینیم مطمئن نیستیم که اتصالمون امن هست یا خیر چون از جای دیگه به طرف دسترسی نداریم و صرفا اون تایید شکلکی هم از خود برنامه انجام دادیم که «درستی و غلط بودنش» با «خداست» درسته؟
-
ممنون این به زبون آدمیزاد نیاز بود(:
خواهش میکنم :)
ببین میفهمم اینجارو ولی یه چیزی میلنگه؟ خب المنت رمزگذاری میکنه و به کارساز میده و کارساز میده به کاربر مقابل، ولی کارساز میتونه این وسط دستکاری کنه برای شنود اصلا از کجا معلوم خودش رو جای کاربر مقابل جا نزنه؟ البته میدونم میشه کاربر رو تایید کرد با شکلک ها، و البته اون تایید هویت هم باید به صورت امن شاید حضوری یا با شبکه امن دیگهای!
بنابراین نتیجه میگیریم تا کاربری تایید نشه کاملا امن نیست درسته؟ یعنی ما هرکی رو در ماتریکس میبینیم مطمئن نیستیم که اتصالمون امن هست یا خیر چون از جای دیگه به طرف دسترسی نداریم و صرفا اون تایید شکلکی هم از خود برنامه انجام دادیم که «درستی و غلط بودنش» با «خداست» درسته؟
اگر درست متوجه شده باشم، منظورتون اینه که کارساز به کلیدهای رمزگشایی دست پیدا کنه؟ راستش نمیدونم کلیدها چهطور به دست کاربر میرسه. ولی با توجه به این که ماتریکس ادعا کرده کلیدها فقط در دست فرستنده و گیرنده هستن، و کسی هم تاکنون خلافش رو ثابت نکرده ;D، بعید میدونم این وسط کارساز بتونه اون کلیدها رو به دست بیاره و در نتیجه چون کلیدها رو نداره، نمیتونه پیامها رو رمزگشایی کنه.
اون «تأیید کاربر» برای اینه که اگر مثلاً یه نفر اطلاعات حساب کاربر رو به دست آورد و وارد حسابش شد، پیامها براش ارسال نشه و پیامها فقط به اون کارخواه تأیید شده برن.
بهتره منتظر دوستان فنی بمونیم :)
-
کلید رمزگشایی رو کارساز به کاربر میده؟
-
اگه اشتباه نکنم رمزنگاریِ دو کلیده!
-
در رمزنگاریِ ۲ کلیده، با یک کلید فقط میشه پیامو رمز کرد و با کلیدِ دیگه فقط میشه بازش کرد!
پس من اگر کارساز باشم و کلید اولِ ممد رو بگیرم بدم عباس، اون کلید به دردِ من نمیخوره که بخوام نگهش دارم حتا! چون عباس پیامشو با کلیدِ اولِ ممد رمز میکنه میده من، ولی منِ کارساز کلیدِ دیگه رو ندارم که بازش کنم که! کلیدِ اول رو داشته باشم هم به درد عمهم میخوره! کلیدِ دومِ ممد هم که رو گوشیِ خودشه، پس فقط خودش میتونه پیامِ عباسو ببینه.
-
دقیقا، ولی این درصورتی هست که مطمئنی کلید درستی بهت داده از کجا معلوم با مدیر کارساز بجای عباس حرف نمیزنی((:
این مشکل در سایت ها حل شده چون وقتی مرورگر رو نصب میکنی یکسری پرونده برای تایید اینکه کلید ها واقعی هستن دریافت میشه که اگه کلید ها جعلی بود بهت خطا بده(اسمش یادم رفت ولی تو همه مرورگرا هست) خب ولی عباس که چیزی برای عباس بودنش نداره(شرمنده عباس نوکرتم) فقط یه راه داره اینه که حضوری طرف رو ببینی یا از یه فضای امن دیگه با طرف هماهنگ کنی و تایید بشید، این چیزی بود که درباره کلید های تلگرام هم مخم رو درگیر کرده بود که ممکنه امن نباشه!، البته مگه اینکه روند کار طور دیگه باشه
-
نرمافزار آزاده ها! میدونی آیا واقعا داره همون کاری رو میکنه که میگه یا نه دیگه.
-
کارساز که نرم افزار آزاد نیست، یعنی هست ولی مطمئن نیستی همونه، الان تو به سرور های تمام نمونه های ماتریکس دسترسی داری؟ معلومه که خیر! همین الان من میتونم یه نمونه بزنم وبقیهرو بیارم، یه تغییری هم رو نمونه ام انجام دادم..
-
خب المنت رمزگذاری میکنه و به کارساز میده و کارساز میده به کاربر مقابل، ولی کارساز میتونه این وسط دستکاری کنه برای شنود
نه. این کار در حالت رمزنگاری عادی قابل انجامه. رمزنگاری ماتریکس سرتاسریه.
اصلا از کجا معلوم خودش رو جای کاربر مقابل جا نزنه؟
کارساز که نرم افزار آزاد نیست، یعنی هست ولی مطمئن نیستی همونه،
میتونید کد المنت رو ببینید که کلید خصوصی رو نگه میداره و کلید عمومی رو میفرسته.
-
میتونید کد المنت رو ببینید که کلید خصوصی رو نگه میداره و کلید عمومی رو میفرسته.
یعنی به المنت مربوطه؟ ببینید من اینطوری متوجه شدم که: دو کلید داریم یکی عمومی و یکی خصوصی، با خصوصی رمز میکنیم میدیم به طرف همراه با کلید عمومی و طرف هرچی که با عمومی ما هست با خصوصی خودش باز میکنه و برعکس همینطوری ما میتونیم پیام های طرف رو بخونیم..، خب حالا گیریم عباس اومد گفت بده؟ و منم میدم بهش ولی از کجا معلوم من دارم با عباس حرف میزنم؟ گیریم من دارم به شناسه عباس پیام میدم و کلید عمومیم رو بهش میدم، ولی شاید اون وسط کلید عمومی و پیام من رو خود کارساز بگیره و جوابم رو بده بگه اره عباس هستم بیا کلید هارو به اشتراک بذاریم!
درست متوجه شدم یا طور دیگهای هست؟
-
اشتباه گفتی که!
من با کلیدِ خودم پیامِ خودمو رمز نمیکنم که، با کلیدِ عمومی تو رمز میکنم، میدم کارساز میده تو! تو با کلیدِ خصوصیِ خودت بازش میکنی.
با کلیدِ عمومی فقط میشه رمز کرد و با خصوصی فقط میشه بازش کرد.
تو تویِ ماتریکس به هر کی پیام میدی، کلیدِ عمومیشو داری، باهاش پیامت رمز میشه میرسه دستش، اوت با کلیدِ خصوصیِ خودش بازش میکنه.
-
اوهوم درستش اینه، خب کلید عمومی تایید هویتی نداره، در مرورگر تایید هویتش در مرورگره ولی در ماتریکس هیچی، فقط یه کلید میاد میگیری و باهاش ارتباط برقرار میکنی، اینطور که معلومه پس اگه نتونید از روش امن دیگهای هم رو تایید کنید، کلا ماتریکس تایید هویت درستی نداره؟! خب پس رسما همه گروه هایی که هستیم با بقیه ارتباط داریم و.. پر؟
-
اوهوم درستش اینه، خب کلید عمومی تایید هویتی نداره، در مرورگر تایید هویتش در مرورگره ولی در ماتریکس هیچی، فقط یه کلید میاد میگیری و باهاش ارتباط برقرار میکنی، اینطور که معلومه پس اگه نتونید از روش امن دیگهای هم رو تایید کنید، کلا ماتریکس تایید هویت درستی نداره؟! خب پس رسما همه گروه هایی که هستیم با بقیه ارتباط داریم و.. پر؟
تأیید هویت میخواد چی کار؟ اسمش روشه: عمومی. قراره به هر کسی که میخواد بهت پیام بده، داده بشه. حالا چه قلی باشه، چه بدل قلی. باهاش فقط میشه رمزگذاری کرد؛ نه برعکس. مهم اون کلید خصوصی هست که فقط دست خودته و فقط با اون میشه پیام رو رمزگشایی کرد.
-
ببین یه مثال میزنم شایدم من اشتباه میکنم ولی خب منظورم دقیقا اینه:
من در گروه ایکس ۳۰ نفر رو میبینم و میرم به آقای وای پیام بدم، خب این وسط که من میخوام به وای پیام بدم این کارساز هست که کلید رو به من میده و تبادل میکنه، همچنین اطلاعات رو، پس یعنی ممکنه اصلا من به اون شخص پیام نداده باشم و اون شخص جوابم نداده باشه و کارساز این وسط ارتباط من رو با خودش برقرار کرده باشه!
مگه کارساز نیست که کلید هارو جابه جا میکنه، خب شاید من رفتم به آقای وای پیام بدم، و کارساز گفت خب باشه میرم به آقای وای میگم خواستی بهش پیام بدی، ولی در اصل به آقای وای نگه و خودش رو جای آقای وای جا بزنه، یا بین من و آقای وای یه پل درست که که خودش شنود داشته باشه به حرف های ما
یعنی اگه نمونه نا امنی ثبت نام کنیم میتونه کارهای خطرناکی با ما کنه
حالا این درسته یا نه؟ اگه نه لطف میکنید یه پیش زمینه اینکه پس چطور کلید ها جابهجا میشه عرض کنید
-
تا اونجایی که از پروتکل ماتریس میدونم، این چیزی که گفتید ممکن هست. بهش میگن حمله مرد میانی (https://fa.m.wikipedia.org/wiki/%D8%AD%D9%85%D9%84%D9%87_%D9%85%D8%B1%D8%AF_%D9%85%DB%8C%D8%A7%D9%86%DB%8C).
ولی مطمئن نیستم پروتکل ماتریکس دقیقا اینجوری کار میکنه یا نه.
-
آقا دانیال کجایی؟ بیا که ماتریکستو کشتن! 🤕
-
تا اونجایی که از پروتکل ماتریس میدونم، این چیزی که گفتید ممکن هست. بهش میگن حمله مرد میانی (https://fa.m.wikipedia.org/wiki/%D8%AD%D9%85%D9%84%D9%87_%D9%85%D8%B1%D8%AF_%D9%85%DB%8C%D8%A7%D9%86%DB%8C).
ولی مطمئن نیستم پروتکل ماتریکس دقیقا اینجوری کار میکنه یا نه.
ممنون از ارائه آدرس مطلب، شانسی دقیقا همین چیزی که گذاشتی رو تعریف کردم ولی جزئیات بیشتری بهم یاد داد! :)
-
البته توی لینک بالا، قسمت "نمونهای از یک حمله" یکم مشکل داره و درست توضیح نداده.
-
خب چارهش چیه؟
-
چاره چی؟
-
شاید، من متوجه مشکلش نشدم، البته شاید بخاطر اینه که کلا مطالب کتابی حداقل ۲۰ درصدش رو نمیفهمم چی میگه ;)
فکر میکنم تا وقتی کاربر چیزی برای تایید شدنش نداره راهی مستقیم برای اعتبار سنجی کاربران وجود نداره..
ولی سر همین خیلی کنجکاو شدم بدونم واقعا ماتریکس همینطور کار میکنه یا روش خفنی که «حداقل من فکرش نمیکنم» رو دارا هست.
ولی خب دنبالش نمیرم چون درباره رمزگذاری چیز زیادی نمیدونم و میدونم تهش از ۶ تا سایت با ۱۰ صفحه مطلب انگلیسی مواجه میشم که مترجم میزنم و این رو میبینم: اگر شما هم فکر میکنید اینطوره خب اینطور نیست، عملکرد این سیستم به گونه ای شکل گرفته است که این عمل رو لغو میکند اما(لعنت به نوشتار کتابی و هوش مصنوعی و مترجم)
-
خب این خیلی طبیعیه. برای همین هم هست که نباید از کارسازی استفاده کنید که برای خودتون نیست یا به مدیرش صددرصد اطمینان ندارید
-
راهی نیست که توی کارخواه ارزیابی بشه که آیا این پیام با همون کلیدی رمز شده که باید؟ نمیدونم، یا هر چی.
-
وقتی چیز مشترکی از قبل از طرف اون کاربر نداشته باشید، نمیشه.
-
تهش ممکنه یه نفر کاربر مقابل رو گروگان گرفته باشه. یا مثلا با دزدی، به سیستمش دسترسی مستقیم پیدا کرده باشه. 😁
در هر صورت هر چی فکر میکنم از قبل باید یه چیزی از طرف داشت که مطمئن شد خودشه. حتی شده در حد سوال شخصی!
-
کاش یه پایگاه داده ایمنی وجود داشت و میشد استاندارد کل ماتریکس! مثلا: سایت شناسه خیلی خیلی امن| و این سایت شناسه های کاربران و کلید های عمومی اون هارو به صورت امن نگه میداشت بنابراین اگه صاحب نمونه بخواد دلقک بازی در بیاره دستش رو میشه
-
از کجا معلوم که اون سایتی که میگی دلقک بازی در نیاره؟
-
کاش یه پایگاه داده ایمنی وجود داشت و میشد استاندارد کل ماتریکس! مثلا: سایت شناسه خیلی خیلی امن| و این سایت شناسه های کاربران و کلید های عمومی اون هارو به صورت امن نگه میداشت بنابراین اگه صاحب نمونه بخواد دلقک بازی در بیاره دستش رو میشه
اینجوری ماتریکس به شکل متمرکز در میاد.
-
یه مفهومی داریم تو ماتریکس به اسم «کارساز هویت» که شبیه اینه. منتها به صورت نامتمرکز پیاده شده.
-
از کجا معلوم که اون سایتی که میگی دلقک بازی در نیاره؟
زمزمه«جای سختش همینه»
یه مفهومی داریم تو ماتریکس به اسم «کارساز هویت» که شبیه اینه. منتها به صورت نامتمرکز پیاده شده.
تو اینترنت چیزی درموردش پیدا نکردم، اگه این مشکل که خیلی هم آسون نیست رفع شدنش رفع بشه، واقعا یکی از بینقص ترین پیامرسان های جهان میشه!
-
این یه پیادهسازی نمونه است:
https://github.com/matrix-org/sydent