نقل قول:
از شما دوست عزیز که باعث بوجود آمدن این بحث زیبا شدید از طرف سایت IranSSL تشکر میکنم
من هم ازت ممنونم ، اما بخش قابل توجهی از نوشته ات غیر صحیح است که ذیلا" در موردش توضیح میدم .
نقل قول:
باید به شما بگویم که Certification دقیقا یک مفهوم یکتا است. و اگر هویت سایتی یا شخصی یا بطور کلی هویت در سیستم PKI یکتا نباشد , پس چه نیازی به تایید هویت به صورت الکترونیکی است و در دنیای Cyber هر کسی میتواند خودش را بجای کس دیگر و هر سروری بجای سرور دیگر جا بزند. پس با این فرض که تایید هویت یک امر یکتا نباشد بنظر میرسد که تکنولوژی PKI و گواهینامه های دیجیتالی بازیچه ای بیش نیستند.؟!؟!؟! نه دوست من اینگونه نیست.
دقیقا" به همین دلیل ( خصوصا آن بخشی که بولد شده است ) ، الگوی جامع PKI فقط مبتنی بر راه حلهای نرم افزاری نیست . یعنی رمزنگاری در کنار گواهی الکترونیکی و تائیدیه یک شرکت ثالث نمیتواند گریز مناسبی برای این چالش باشد . تاکید میکنم ، PKI ، فقط و فقط اعتماد متقابل را محور ایمن سازی کانال های ارتباطی قرار میدهد . یعنی نه راه حل نرم افزاری قابل اعتماد است به تنهائی ، نه نام و آوازه شرکت توسعه گر گواهی های الکترونیکی ، و نه حتی مورد تائید بودن آن توسط مایکروسافت یا امثالهم . با مطالعهء آنچه نوشتی ، ممکنه برای یک کاربر کم تجربه این سوال پیش بیاد که آیا به واقع کاربرد صحیح و کامل SSL بر فراز یک الگوی PKI در انحصار چند شرکت خاص و محدودیت پذیر است ؟ یا بالفرض در صورت وجود یک شبکه گسترده داخلی نمیتوان از SSL استفاده نمود ؟ یا اصولا" ذات اینترنت - به دور از هیاهو های فنی - اجازه میدهد ، موجودیتی در انحصار فردی باشد ؟ جواب تمام این سوالات منفی است .
همانطوری که حتما" میدونید ، PKI موظف است ، احراز هویت خادم و مشتری ( هر دو ) و اعتماد سازی در مسیر انتقال اطلاعات و راهکارهای بررسی صحت دادهء منتقل شده را حمایت کند . SSL و TLS ( که هر دو مورد تائید IETF هستند و دقیقا" همین اسم میتونه من رو متقاعد کنه بقیه این نوشته رو نخونم و یک ضرب برم به خط آخرش ) در مرحلهء احراز هویت خادم و مشتری از گواهینامه های الکترونیکی استاندارد X.509 استفاده میکنند که شامل :
- - زمان اعتبار
- کلید عمومی
- یک شماره سریال ( مخصوص همین گواهی )
- امضای دیجیتال صادر کنندهء گواهی
است که برای تحقق SSL ، باید این گواهی به طور مرتب با برای مدت خاصی دریافت شود و معتبر باشد . صدور این گواهی به عهدهء CA است که به عنوان یک طرف قابل اعتماد برای توسعه گران کسب و کاری که دنبال امنیت هستند ، صادر میشود . نه در چهارچوب PKI و نه در قالب SSL ، هیچ ، تاکید میکنم "هیچ" انحصار و محدودیت پذیری وجود ندارد . تولید گواهی دیجیتال و استفاده از آن ، با هر سیستم عامل ، هر مرورگر ( SSL فقط محدود به تراکنشهای وب نیست ! ) و هر نرم افزار خدمتگزار و کاربر شبکه ، چه در فضای اینترنت ، چه در فضای شبکه های خصوصی ، کاملا" آزاد و قابل توسعه است . یعنی به عنوان یک مثال ملموس ، هر کسی میتواند با ایجاد یک Certificate Authority توسط ویندوز 2003 ، پیکره بندی سیاست امنیتی مناسب برای تولید جفت کلیدها و گواهی نامه های اعتباری اقدام به صدور گواهی نامه اعتباری برای یک کاربر یا سازمان ، یا یک ارتباط کاربر-سازمان ، نماید ، بدون اینکه لازم باشه از جائی تائیدیه یا اجازه بگیره . Certification ، در انحصار هیچ شرکت ، سازمان یا سیستم عاملی نیست و دارای یک مفهوم یکتا نمیباشد. یعنی در صورت وجود اعتماد ، IranSSL همانقدر معتبر است که VeriSign معتبر است ( در مورد بدنهء فنی این سناریو بعدا" حرف میزنیم ، فعلا" موضوع منطق "اعتماد" است نه مباحث فنی ) و در صورت وجود اعتماد بانک مرکزی به InpyCA ( یا CAی فرضی که من راه میندازم ) ، ارتباط مشتریان بانک مرکزی با سرورهای بانک ، با استفاده از گواهی های یکتا و قابل اعتماد InpyCA ، همانقدر امن است که ارتباط مشتریان VeriSign امن است . خادم میتواند یک نرم افزار خاص منظور تولید ساعت و تاریخ باشد و مشتری هم یک برنامه کنسولی ساده برای دریافت این اطلاعات و سیستم عامل هم میتواند هر سیستم عاملی باشد ، از ویندوز گرفته تا کلیه توزیعات یونیکس / لینوکس و حتی سایر سیستمهای عامل . قبل از وارد شدن به بخش اصلی بحث دعوت میکنم به تعریف یک CA معتبر توسط مایکروسافت توجه کنید ( MSDN ) :
<span dir=ltr>- A CA is a mutually trusted third party that confirms the identity of a certificate requestor (usually a user or computer), and then issues the requestor a certificate. The certificate binds the requestors identity to a public key. CAs also renew and revoke certificates as necessary. For example, if a client is presented with a servers certificate, the client computer might try to match the servers CA against the clients list of trusted CAs. If the issuing CA is trusted, the client will verify that the certificate is authentic and has not been tampered with. Finally, the client will accept the certificate as proof of identity of the server
</span>
سناریوهای احراز هویت :
- یک طرفه : در یک سناریوی متداول ، صرفا" خادم خود را معرفی میکند . به عنوان مثال هنگام خرید از یک فروشگاه الکترونیکی ، اغلب فقط لازم است سرور معتبر و حقیقی باشد تا حملاتی نظیر Man - in - The - Middle و sniffing ( خصوصا روی مسیریابهای آی اس پی ) نا کام بمانند . در این سناریو ، سرویس دهنده برای کاربر یک گواهی الکترونیکی ارسال میکند تا کاربر با بررسی محتویات آن اطمینان حاصل کند ، ارسال کننده ء گواهی همان سرور حقیقی است . اگر خادم از یکی از Root CA ها گواهی دریافت کرده باشد ، بخاطر توافقات قبلی بین این CA ها و توسعه گران سیستم عاملهائی مثل ویندوز ، اعتبار یا عدم عتبار گواهی بصورت خودکار توسط سیستم عامل یا نرم افزار دیگری به همین منظور بررسی میشود ( هر چند کاربر کماکان امکان دارد به این CA مفروض ، اعتماد نکند و گواهی آن را حذف کند ) و در صورت عدم استفاده از یک Root CA ، کاربر باید خود ، گواهی را بشناسد ( و دقیقا همین نقطه ، نقطهء قوت PKI است . اگر قرار بود همه چیز فقط و فقط مبتنی بر توافقات بین توسعه گر سیستم عامل و تعدادی CA خاص و محدود باشد ، با نقض امنیت یکی از این CA ها تمام تبادلات امن موجود در فضای اینترنت مورد تهدید قرار میگرفت ، یا با انحصاری کردن مفهوم Certification ، تمام سازمانها ، فارغ از نوع و ماهیت بیزینس ، باید مشتری تعداد خاصی CA میشدند که خودش باعث نقض اصل Confidentiality است ) . روند این فرآیند به این شکل است :
- - نرم افزار مشتری ( مثلا" مرورگر اینترنت ) یک Hello Message برای سرور ارسال میکند که در ان اطلاعاتی در مورد پروتکلهای مورد حمایتش و ... وجود دارد و البته یک Session ID .
- نرم افزار خادم نیز یک Hello Message برای کاربر ارسال میکند که شامل اطلاعاتی در مورد پروتکلهای مورد حمایت است به همراه یک عدد ترکیبی که از یک عدد تصادفی و عدد جلسهء کاربر تشکیل شده است .
- نرم افزار خادم گواهی دیجیتالی خود را ارسال میکند . کاربر از کلید عمومی موجود در این گواهی برای رمزنگاری استفاده میکند و از نام سرور و امضای دیجیتالی آن خواهد فهمید آیا به سرور حقیقی متصل شده است یا خیر . CA گواهی الکترونیکی را چنان صادر میکند ( RSA ) که جزئیات مختلفی از مشخصات سرور را در خود داشته باشد . برخی نرم افزارهای مشتری مانند IE بصورت خودکار بررسی هائی روی این گواهی انجام میدهند و در صورت وجود اشکال ، آن را اطلاع میدهند و البته خود کاربر هم میتواند گواهی را بررسی کند و سر انجام پذیرفتن یا نپذیرفتن گواهی به عهدهء کاربر است .
( این تصویر را احتمالا" بارها دیده اید ، که متعلق به IE است . این سازو کار نشان میدهد ، فقط اعتماد کاربر به امضا کنندهء گواهی میتواند متضمن ایمنی باشد ، نه چیز دیگر )
http://www.visualwin.com/SelfSSL/ssl-warning.png
- سرور یک پیام Finished Message برای مشتری ارسال میکند به این معنی و مفهوم که وظیفهء اون خاتمه پیدا کرده است.
- نرم افزار کاربر یک کلید موقت تولید میکند ( بصورت تصادفی یا بر اساس سیاست امنیتی داخل دامنه ) و آن را با کلید عمومی داخل گواهی سرور رمزنگاری نموده و برای سرور ارسال میکند . اگر سرور بتواند این پیام را رمزگشائی کند ، SSL محقق شده است ، زیرا حتما" سرور دارای Private Key بوده است .
- ارتباط برقرار میشود و الا یک پیام اخطار به مضمون عدم توانائی در برقراری ارتباط با سرور برخواهد گشت و اتصال قطع میشود .
نقشی که یک CA در این سناریو ایفا میکند ، تولید یک جفت کلید و گواهی مربوط به آن برای سرویس دهنده است . این گواهی و جفت کلید توسط هر نرم افزاری که با پروتکلهای مربوطه سازگار باشد ، مانند Certificate Authority در ویندوز 2000 و 2003 قابل تولید و استفاده است . سرور فرضی مذکور ، بسته به حساسیت و نوع و ماهیت داده های قابل مبادله اش ، به یک CA مراجعه میکند و گواهی درخواست میکند . "تنها" عاملی که دارای نقش حیاتی و کلیدی در این سناریو است ، اعتماد به CA است . اینکه این CA مورد تائید توسعه گران سیستم عامل یا سایر نرم افزار ها ( مانند مرورگر ) هست یا نیست ، اهمیتی ندارد . ماهیت الگوریتمهای دو طرفه رمزنگاری در کنار گواهی های الکترونیکی و اعتماد به یک CA ، به گونه ای است که فقط و فقط در صورت وجود اعتماد به CA ، بقیه اجزاء به نحو احسن از امنیت حفاظت خواهند کرد .
http://www.domainnamecom.com/images/ssl.gif
نتیجه : در سناریو های یک طرفه ، وجود "اعتماد" به CA تنها عامل اعتباری CA است . Certification توسط هر مجموعه امنیتی قابل اعتماد امکان پذیر است و این دو مفهوم انحصاری نیستند
- دو طرفه : در این سناریو ، مشتری و خادم ، هر دو باید خود را معرفی کنند . این سناریو اغلب برای دسترسی های راه دور به نرم افزارها یا منابع محرمانه ، دسترسی به بانکهای اطلاعاتی و تبادل نامه های الکترونیکی استفاده میشه . پروتکل Schannel که باید مورد حمایت نرم افزار مشتری باشد ، کمک میکند گواهی الکترونیکی مشتری ( که مانند گواهی الکترونیکی خادم ، از طریق یک CA قابل اعتماد تهیه شده ) به خادم ارسال شود و به این ترتیب هر دو طرف میتوانند از هویت یکدیگر مطلع شده ، کلیدهای عمومی و کلید جلسه را برای ایجاد یک اتصال رمز شده مبتنی بر Asymmetric Crypto ایجاد شود . اینجا هم نقش CA ، ایجاد گواهی الکترونیکی و امضای آن برای ثبت هویت است و فقط و فقط وجود اعتماد به یک CA ( موجودی که بتواند گواهی صادر کند ، امضا کند ، کلیدهای ان را مدیریت کند ، و از کلیدهای نگهداری کند و ... ) است و لا غیر .
با توجه به این مطالب مقدماتی ، شما میتونید در بستر هر شبکه ای با وجود مفاهیم مشتری - خادم و CA ، یک الگوی کامل PKI داشته باشید ، بدون نیاز به اخذ تائیدیه از فلان سازمان یا فلان شرکت .
نتیجه :
الف. CA باید مورد اعتماد باشد
ب. علیرغم وجود سیستم قدرتمند رمزنگاری بر فراز PKI ، عامل حیاتی تصدیق امنیت ، امضای دیجیتالی گواهی امنیتی است .
ج. این امضای دیجیتالی صرفا" وظیفه اعتماد سازی را بر عهده دارد .
د. این امضای دیجیتال انحصاری نیست و قابل تحریم نمیباشد .
هـ. PKI از قانون Muttualy Trust تبعیت میکند . این قانون میگوید فقط به کسی اعتماد کن که او را میشناسی .
و. بنا بر Mutually Trust ، چیزی که عامل ایجاد اعتماد است ، توسط فرد ایجاد میشود نه نرم افزار . وجود Root CA هائی که مورد حمایت توسعه گران سیستم عامل هستند و حمایت پیش فرض فلان مرورگر از این CA به معنا و مفهوم لغو امکان ایجاد CA های خصوصی نیست .
شما براحتی میتونید از طریق ویزاردهای IIS یک گواهی دیجیتالی از CA خودتان روی شبکه محلی تان درخواست کنید و سپس این گواهی را به کاربر ارائه کنید . اگر او به CA شما اعتماد دارد ، حالا شما یک اتصال ایمن دارید . در PKI ایمنی یک مفهوم مجرد یا بقول کفار ابسترکت است . هیچ کس نمیتواند یک نسخهء انحصاری برای شما بپیچد و به تعبیر غلطی که گویا خیلی هم متداول شده ، SSL یا گواهی های آن را تحریم کند . شما میتوانید گواهی های خودتان را داشته باشید ، تا وقتی که به CA اعتماد وجود دارد . ضمن آنکه هر خطری که سایر CA ها را تهدید میکند ، CA شما را نیز تهدید میکند . شاید وجود پیش فرض تائیدیه برخی Root CA ها در یک نرم افزار مثل IE گاهی غلط انداز باشد ، گویا فقط این منابع میتوانند گواهی معتبر ایجاد کنند در حالیکه این تائیدیه ها با فرض اعتبار بین المللی منابع آنها ، مورد وثوق توسعه گران سیستم عامل قرار گرفته اند . این به آن معنی نیست که دیگر هیچ CA ای نمیتواند وجود داشته باشد ، هیچ کس نمیتواند گواهی امضا کند و ایجاد یک کانال امن مبتنی بر SSL در انحصار است . امیدوارم به تفاوت این مفاهیم توجه بشه
نکته : مرورگر وب تنها نرم افزاری نیست که از SSL بهره مند است . سایر نرم افزارها هم میتونن براحتی از مزایای SSL استفاده کنند . کافی است یک گواهی قابل اعتماد و یک محل صدور گواهی موثق وجود داشته باشه .
سوال : آیا گواهی ها قابل جعل هستند ؟ بله . هستند . چه گواهی توسط یک Root CA منتشر شده باشه چه توسط یک Sub-Root CA یا Local CA میتوان یک گواهی را جعل نمود . نکته اینجاست که وجود اصل "اعتماد" باعث میشه کاربر بتونه قبل از ایجاد کانال ، جعلی بودن گواهی رو کشف کنه . چون یک کانال زمانی امن است که کاربر گواهی رو بشناسه و امضا کننده ء اون رو تائید کنه .
نکات پایانی :
نقل قول:
اساسا دلیل وجود Certification و امکاناتی نظیر TrustLogo تنها جهت جلوگیری از خطای کاربران کم اطلاع است
Certification یک مفهوم است که اعتماد را به همراه دارد . دقت کنید ، بنا و اساس PKI بر اعتماد طرفین مبادله پیام است نه وجود TrustLogo از فلان شرکت معتبر . یعنی مهم این است که شما شرایط اعتماد را چه بدانید و مایل باشید چگونه گواهی تولید کنید و چگونه امضا کنید و چگونه منتشر کنید و ... ، PKI به تائید شده بودن امضا کنندهء گواهی توسط شرکتهای معتبر توجه نمیکند ، زیرا شاید شما اصلا" به آن احتیاج نداشته باشید یا حتی همین مساله بتواند "سیاست امنیتی" سازمان شما را ( فرضا" یک سازمان نظامی ) خدشه دار کند . شما میتونید خودتون CA باشید ، خودتون گواهی تولید کنید ، خودتون بهش اعتماد کنید و مبادله اطلاعاتتون رو امن بدونید ، تا وقتی که به گواهی و امضای اون دقت میکنید و از نرم افزارهائی استفاده میکنید که توانائی مقایسه اطلاعات مربوط به شروع جلسه HTTP و دریافت وگواهی و مقایسه داده ها و ایجاد کانال HTTPS ( فرضا" ) رو داشته باشند . نه لازم است از VersiSign و امثال آن تائیدیه داشته باشید ، نه لازم است گواهی های شما مورد تائید Root CA ها باشد و نه لازم است به عنوان مثال مرورگر شما به صورت پیش فرض از CA شما حمایت کند چون نهایتا" این شما هستید که اعتماد میکنید یا اعتماد نمیکنید .
نقل قول:
مسلما C هایی هم هستند که CA را نمیشناسند. دراینجا یک عامل و شخصیت دیگری مورد نیاز است. سیستمی که بتواند اعتمادی از طرف تمامی Cها به طرف یک B جلب کند
این نکته دقیقا" مطلبی است که یکبار بنده عرض کردم . شناخت سازمان مقابل یا CA آن سازمان ، چه برای مبادله های B2C چه برای مبادله های B2B ، فقط مبتنی بر اعتماد است . یعنی باید C ها به B و CA آن اعتماد کنند . این اعتماد "باید" همراه با شناخت باشد تا گواهی قابل بررسی باشه . البته اگر CA موسسه شناخته شده ای مثل VeriSign باشه ، حرفی باقی نمیمونه ، اما اگر اینطور نیست باید این اعتماد ، بوجود بیاید . "معنی" PKI همین است .
<span dir=ltr>- PKI : Short for public key infrastructure, a system of digital certificates, Certificate Authorities, and other registration authorities that verify and authenticate the validity of each party involved in an Internet transaction
Certificate Authority : The CA issues an encrypted digital certificate containing the applicant's public key and a variety of other identification information. The CA makes its own public key readily available through print publicity or perhaps on the Internet
</span>
نقل قول:
اما شما واقعا به چه کسی اعتماد کرده اید ؟
جواب : به سیستم عامل خود و در رأس آن به مرورگر اینترنت خود. در ویندوز این معتمد شما میتواند IE باشد.
این بخش واقعا" برام عجیب بود ! :roll:
شاید بطور عادی اغلب اینطور است که شما وارد یک کانال امن میشوید و خادم از گواهی های یک Root CA استفاده میکند که بصورت پیش فرض و طبق توافق قبلی مورد تائید مایکروسافت است و IE آن را معتبر میشناسد . اما آیا این به این معناست که راه بر استفاده از سایر CA ها بسته است ؟ یقینا" اینطور نیست . با یک نگاه ساده میتونید ببینید براحتی میشه برای IE یک یا بیشمار CA "مورد اعتماد" جدید تعریف کرد تا گواهی های آنها بصورت داخلی تائید شود . ( بروید به بخش Content بعد از آن بخش Certificates را ببینید و روی کلید Publisher کلیک کنید . اینجا میتوانید یک یا لیستی از CA های مورد اعتمادتان را وارد نمائید . اینجا نه تائید مایکروسافت اهمیت دارد نه چیز دیگر . فقط اعتماد شما مهم است ، ضمن آنکه این فقط IE نیست که از SSL بهره میبرد . هر نرم افزار دیگری نیز میتواند دارای چنین قابلیتی باشد )
نقل قول:
پس در اینجا درمیابیم که اولا اعتماد شما به CA و همینطور اعتماد کاربران به CA اصلا ملاک نیست و ثانیا Certification یک مفهوم یکتا است.
همانطور که منطق PKI را خواندیم و به عنوان نمونه IE را دیدیم ، مشخص میشه این مفهوم غلطه ، PKI فقط بر مبنای اعتماد کار میکنه و Certification هیچ معنای یکتای قابل انحصاری نداره . این الفبای ادبیات اینترنت است . هر کسی میتواند به هر چیزی که میخواهد اعتماد کند . این مشکل خود اوست . لازم نیست کس دیگری تصمیم بگیرد فلان چیز معتبر است یا نیست . "اعتبار" ( همانطور که سه بار گفتم ) فقط بر مبنای "اعتماد" است و لا غیر .
نقل قول:
جالب است بدانید که یکی از دلایل عملی نبودن طرح CA ملی همین است که آنها نمیتوانند یک اعتماد مطلق و 100% را برقرار کنند. چون برای اینکار باید یکی از سه راه زیر را انتخاب کرده و انجام دهند :
1) از شرکتهایی نظیر Microsoft بخواهند که نام آنها را در لیست خود اضاف کنند.
این راه به دلیل تحریمها به هیچ عنوان عملی نیست .
2) یک Patch به تمام کاربران خود بدهند و ازآنها بخواهند (یا آنها را مجبور کنند) که این Patch را بر روی سیستم خود نصب کنند.
(من شخصا به عنوان یک کاربر معمولی اینترنت به هیچ Patch بدون امضایی اعتماد نخواهم کرد)
3) گواهینامه های خود را به همراه سیستم عامل ملی ارائه دهند که خود سیستم عامل ملی هنوز بسیار بحث برانگیز است.
- مورد الف کاملا" غیر صحیح است . قبول کردن نصب پیش فرض گواهی های چند شرکت به معنای لغو قابلیت ایجاد گواهی های دیگر نیست . ر-ک توضیحات بالا
- هیچ Patch ای لازم نیست . میتوان براحتی یک CA ایجاد کرد ، به لحاظ قواعد و قوانین حقوقی شرایط و بستر لازم برای اعتماد سازی را ایجاد نمود ( مثلا" همان کاری که IranSSL تا حدی انجام داده است ) و سپس از کاربران خاص گواهی را به نرم افزارهای خود اضافه کنند. به همین راحتی !
نقل قول:
گواهینامه هایی که سایت IranSSL یا Verisign یا Thawte صادر میکنند با گواهینامه ای که یک شرکت برای خودش صادر کند بسیار متفاوت است.
بستگی داره به چه چیزی بگیم تفاوت . گواهی های داخلی یک شرکت الزاما" مورد اعتماد سایر شرکتها و سازمانها نیست ؛ در این صورت ، یک سمت سوم قابل اعتماد مانند IranSSL که دارای یک Security Policy مدون و مشخص است میتونه مورد اعتماد قرار بگیره . اما این "به این معنی نیست" که دیگه نمیشه هیچ گواهی صادر کرد ، نمیشه اون گواهی رو پذیرفت و نمیشه بر مبنای اون یک ارتباط SSL-Based ایجاد کرد . طبیعیه که اگر این اتفاق درون سازمانی بیفته ، عموما" توسط همان سازمان قابل اعتماد است و برای رویکردهای B2B باید از یک مرجع ثالث قابل اعتماد استفاده کرد که این مرجع انحصاری نیست . ر-ک توضیحات بالا
نقل قول:
هدف از این بحث تنها اطلاع رسانی و انتقال معلوماتی که در اینمورد خاص دراختیار داشتیم , بود
و هست . :)
با توجه به اینکه اغلب خوانندگان این بحث با فضا و فرهنگ حاکم بر ویندوز آشنائی بیشتری دارند تا معادلهای آن در خانوادهء یونیکس ، دعوت میکنم برای کسب اطلاعات فنی تر ، منطبق با اونچه عرض کردم ، صفحهء اختصاصی امنیت در ویندوز رو تو سایت مایکروسافت ببینید :
http://www.microsoft.com/technet/pro...y/default.mspx
اگر ابهام دیگری وجود داره در خدمت هستم .
خوش و موفق باشید :)