مولد امن اعداد شبه‌تصادفی در رمزنگاری

تولیدکننده عدد شبه تصادفی رمزنگاری (CSPRNG) یا تولیدکننده عدد شبه تصادفی رمزنگاری (CPRNG) یک تولیدکننده عدد شبه تصادفی (PRNG) با ویژگی‌هایی است که آن را برای استفاده در رمزنگاری مناسب می‌کند.

همچنین به صورت عمومی به عنوان یک تولیدکننده عدد تصادفی رمزنگاری (CRNG) آزادانه شناخته می‌شود (به تولید اعداد تصادفی واقعی در مقابل اعداد شبه تصادفی مراجعه کنید).

بیشترینکاربردهای رمزنگاری که نیاز به اعداد تصادفی دارند، درموارد زیر دیده می‌شود:

میزان «کیفیت» تصادفی بودن، در کاربردها مختلف متفاوت است. در برخی از پروتوکل‌ها در تولید یک رمزنانسی فقط یکتا بودن مقدار تصادفی تولید شده کافی است اما در سمت دیگر، تولید یک کلید اصلی با میزان کیفیت بالاتری در بحث تصادفی بودن می‌طلبد و همچنین باید آنتروپی مولد نیز بیشتر باشد. همچنین در کاربرد پد یکبار مصرف، نظریه ی اطلاعات تنها در صورتی کلید از یک منبع تصادفی با یک آنتروپی بالا آمده باشد، رازداری را تضمین می‌کند؛ بنابراین هر مولد تولید اعداد تصادفی، نمی‌تواند برای نیازهای آن کافی و مفید واقع شود.

به صورت مطلوب، اعداد تصادفی مورد نیاز در رمزنگاری باید از منابع با کیفیت بالا مانند مولد سخت‌افزاری اعداد تصادفی یا سیستم‌های پیش‌بینی‌ناپذیر تأمین گردند. اما همواره میزانی همبستگی میان داده‌های تصادفی که برخی فرایندهای ظاهراً تصادفی وجود دارد. بنابر تئوری اطلاعات، میزان تصادفی بودن و آنتروپی داده‌های که می‌تواند توسط یک سیستم تولید شود، همواره برابر آنتروپی خود آن سیستم است اما گاهی در مثال‌های عملی، تعداد اعداد تصادفی مورد نیاز بیشتر از میزان آنتروپی موجود است. دراین موارد CSPRNG می‌تواند جایگزین شود که توانایی آنتروپی را در اختیار بیت‌های بیشتری قراردهد.

الزامات (ویژگی‌های موردنیاز)

ویژگی‌های مورد نیاز برای یک مولد معمولی اعداد شبه‌تصادفی، توسط مولد امن اعداد شبه‌تصادفی نیز تأمین می‌شوند. اما عکس این مطلب درست نیست. ویژگی‌های خاص مولد امن شبه‌تصادفی، دو دسته هستند. اولاً این مولدها باید از آزمون‌های آماری بگذرند و ویژگی‌های آماری مورد نیاز برای اعداد تصادفی تولیدشده را برآورده سازند. ثانیاً این مولدها باید در برابر حمله‌های احتمالی به اندازه کافی مقاوم باشند؛ حتی اگر قسمتی از حالت اولیه یا جاری آنها به دست مهاجمی بیفتد که قصد حمله دارد.

  • هر مولد امن اعداد تصادفی باید از آزمون آزمون بیت بعدی بگذرد. این آزمون رشته‌ای از بیت‌های تصادفی را به عنوان ورودی می‌گیرد. برای موفقیت در آزمون، هیچ الگوریتم با مرتبه زمانی چندجمله‌ای نباید وجود داشته باشد که با احتمال بیش از یک دوم، بیت بعدی بلافاصله پس از رشته را پیش‌بینی کند.
  • در هر مولد امن اعداد شبه‌تصادفی، چنانچه تمام یا قسمتی از یک حالت مولد فاش شود یا به درستی حدس زده شود، بازسازی اعدادِ قبلی نباید امکان‌پذیر باشد. علاوه بر این، چنانچه از یک رشته یا مقدار اولیه در مولد امن اعداد تصادفی استفاده می‌شود، دسترسی به این رشته یا مقدار اولیه نباید به پیش‌بینی حالات بعدی مولد منتهی شود.
      مثال: اگر CSPRNG مورد نظر از یک نقطهٔ نامشخص از دنبالهٔ بیت‌های مربوط به شروع به تولید کند، ممکن است آزمایش بیت بعدی را برآورده کند و از این لحاظ از نظر آماری تصادفی باشد، زیرا به نظر می‌رسد π دارای دنباله تصادفی از بیت‌ها است. . (برای مثال اگر π عدد نرمال باشد این تضمین می‌شود) با این حال، این الگوریتم از نظر رمزنگاری ایمن نیست. مهاجمی که تعیین کند کدام بیت pi (یعنی حالت فعلی الگوریتم) در حال استفاده است قادر خواهد بود تمامی بیت‌های قبلی را نیز محاسبه کند.

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

CSPRNGs برای مقاوت در برابر این رمزنگاری طراحی شده‌است.

تعاریف

در تنظیمات مجانبی، خانواده ای از توابع قابل محاسبه چند جمله ای قطعی مولد امن اعداد شبه‌تصادفی در رمزنگاری  برای برخی از p چند جملهای، در صورت ایجاد طول ورودی خود، یک مولد عدد شبه تصادفی (PRNG یا PRG است). مولد امن اعداد شبه‌تصادفی در رمزنگاری  برای هر k و اگر خروجی آن محاسباتی غیرقابل تشخیص برای هر احتمالی چند جمله ای الگوریتم زمان A که خروجی ۰ یا ۱ به عنوان یک distinguisher از اتفاقی واقعی، یعنی،

    مولد امن اعداد شبه‌تصادفی در رمزنگاری 

برای برخی از مقادیر ناچیز مولد امن اعداد شبه‌تصادفی در رمزنگاری  . (علامت گذاری مولد امن اعداد شبه‌تصادفی در رمزنگاری  بدین معنی است که x از یک توزبع یکنواخت مجموعه Xآمده‌است )

یک توصیف معادل وجود دارد: برای هر تابع خانوادهٔ مولد امن اعداد شبه‌تصادفی در رمزنگاری  ، G یک PRNG است اگر و تنها اگر بیت بعدی خروجی G توسط یک الگوریتم در زمان چندجمله ای غیرقابل حدس باشد.

یک مولد اعداد تصادفی امن رو به جلو با طول بلوک مولد امن اعداد شبه‌تصادفی در رمزنگاری  یک PRNG است مولد امن اعداد شبه‌تصادفی در رمزنگاری  ، به طوری که رشته ورودی مولد امن اعداد شبه‌تصادفی در رمزنگاری  با طول k درحالت فعلی و در دوره i ام تولید شده‌است و خروجی (مولد امن اعداد شبه‌تصادفی در رمزنگاری  ، مولد امن اعداد شبه‌تصادفی در رمزنگاری ) متشکل از حالت بعدی است مولد امن اعداد شبه‌تصادفی در رمزنگاری  و بلوک خروجی شبه تصادفی مولد امن اعداد شبه‌تصادفی در رمزنگاری  دوره i به نحوی که دربرابر شرایط زیر مقاومت می‌کند. اگر حالت اولیه مولد امن اعداد شبه‌تصادفی در رمزنگاری  از یک توزبع یکنواخت روی مولد امن اعداد شبه‌تصادفی در رمزنگاری  آمده باشند، پس از آن برای هر i، دنباله مولد امن اعداد شبه‌تصادفی در رمزنگاری  باید به صورت محاسباتی غیرقابل تشخیص باشد از رشتهٔ مولد امن اعداد شبه‌تصادفی در رمزنگاری  ، که در آن مولد امن اعداد شبه‌تصادفی در رمزنگاری  به‌طور یکنواخت و تصادفی از مولد امن اعداد شبه‌تصادفی در رمزنگاری  انتخاب شده‌است.

هر PRNG مولد امن اعداد شبه‌تصادفی در رمزنگاری  می‌تواند به یک PRNG امن رو به جلو با طول بلوک مولد امن اعداد شبه‌تصادفی در رمزنگاری  تبدیل شود که با تقسیم خروجی آن به حالت بعدی و خروجی واقعی حاصل می‌شود. این کار با تنظیم انجام می‌شود مولد امن اعداد شبه‌تصادفی در رمزنگاری  ، که در آن مولد امن اعداد شبه‌تصادفی در رمزنگاری  و مولد امن اعداد شبه‌تصادفی در رمزنگاری  ؛ سپس G با یک PRNG ایمن رو به جلو است که مولد امن اعداد شبه‌تصادفی در رمزنگاری  به عنوان حالت بعدی و مولد امن اعداد شبه‌تصادفی در رمزنگاری  به عنوان بلوک خروجی شبه تصادفی دوره فعلی درنظر گرفته شده‌است.

استخراج آنتروپی

سانتا و وزیرانی ثابت کردند جریان‌های بیتی با تصادف ضعیف می‌توانند باهم ترکیب شوند و جریان بیتی شبه تصادفی با کیفیت بالاتری را بسازند. حتی پیش از این، جان فون نویمان ثابت کرده بود که یک الگوریتم ساده می‌تواند مقدار قابل توجهی از جانبداری را از هر جریان بیتی حذف کند این الگوریتم باید قبل از هرگونه تغییر در طرح Santha–Vazirani بر روی هر جریان بیتی اعمال شود.

طرح‌ها

در بحث زیر، طرح‌های CSPRNG به سه طبقه تقسیم می‌شوند:

  1. دسته اول مولدهایی هستند که بر پایه اصول رمزنگاری همچون الگوریتم‌های رمزگذاری یا تابع درهم سازی طراحی می‌شوند.
  2. دسته دوم مولدها با استفاده از نظریه اعداد ساخته می‌شوند. در این مولدها فرض سخت بودن حل برخی از مسائل در نظریه اعداد مورد استفاده قرار می‌گیرد.
  3. دسته سوم هم شامل مولدهایی می‌شود که برای هدفی خاص طراحی می‌شوند.

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

طراحی بر اساس اصول رمزنگاری

  • هر رمز بلوکی می‌تواند به عنوان مولد امن اعداد شبه‌تصادفی مورد استفاده قرار گیرد. برای این منظور کافی است تا رمز دنباله‌ای را در مد شمارشی مورد استفاده قرار دهیم. به بدان معنا خواهد بود که با استفاده از رمز دنباله‌ای به ترتیب اعداد صفر، یک، دو و … را رمزگذاری کنیم. مقدار اولیه برای شروع این پروسه می‌تواند عددی غیر از صفر هم باشد. به وضوح با استفاده از یک رمز دنباله‌ای nبیتی دوره تناوب مولد برابر ۲n خواهد بود. همچنین در این مورد باید مقادیر اولیه را نیز مخفی نگاه داشت.
  • هر تابع درهم سازی امن را می‌توان به مولد امن اعداد شبه‌تصادفی تبدیل کرد. کافی است ورودی مانند حالت بالا را به چنین تابعی وارد سازیم. در این حالت، باید مقدار اولیه مورد استفاده هم عددی تصادفی باشد. به هر صورت، در عمل برای تولید اعداد شبه‌تصادفی از این شیوه چندان استفاده نمی‌شود.
  • هر رمز دنباله‌ای نیز می‌تواند به عنوان مولد امن اعداد شبه‌تصادفی به کار گرفته شود. در رمزهای دنباله‌ای، معمولاً دنباله‌ای تصادفی با متن اصلی ترکیب می‌شود (معمولاً XOR می‌شود) تا متن رمز شده به دست آید. اما چنانچه ورودی شمارشی که در موارد قبلی استفاده نمودیم را با دنباله شبه‌تصادفی ترکیب کنیم، دنباله شبه‌تصادفی جدیدی به دست می‌آید. این دنباله رمز شده نیز تنها زمانی امن خواهد بود که دنباله تصادفی اول امن باشد. در این مورد نیز باید حالت اولیه مخفی نگاه داشته شود.

طراحی بر پایه نظریه اعداد

  • الگوریتم Blum Blum Shub براساس سختی تجزیهٔ اعدا، اثبات شده‌است که ایمن است. چون تنها راه شناخته شده برای حل آن مشکل، عامل سازی ماژول هاست، به‌طور کلی در نظر گرفته می‌شود که مشکل فاکتورسازی عدد صحیح اثبات امنیت الگوریتم Blum Blum Shub را موجب می‌شود. با این حال الگوریتم بسیار ناکارآمد است و بنابراین غیرعملی است مگر اینکه به امنیت زیادی موردنیاز باشد.
  • الگوریتم Blum-Micali دارای اثبات امنیتی بی قید و شرط بر اساس مشکل مشکل لگاریتم گسسته‌است ، اما همچنین بسیار ناکارآمد است.
  • دانیل براون از Certicom یک سند امنیتی ۲۰۰۶ برای Dual_EC_DRBG نوشته‌است، که بر اساس فرض سختی فرضیه تصمیم Diffie-Hellman، مشکل x-logarithm و مشکل نقطه کوتاه می‌باشد. اثبات سال ۲۰۰۶ صریحاً فراتر از حد استاندارد Dual_EC_DRBG فرض می‌کند، و این که P و Q در استاندارد Dual_EC_DRBG (که در سال ۲۰۱۳ توسط NSA مشخص شد که احتمالاً دارای در پشتی است) با مقادیر بدون در پشتی جایگزین می‌شوند.

طرح‌های ویژه

تعدادی از مولدهای امن تولید اعداد شبه‌تصادفی با طراحی خاص در ذیل عنوان شده‌اند.

  • الگوریتم Yarrow که سعی در ارزیابی کیفیت آنتروپیک ورودی‌هایش را دارد. بومادران در macOS (همچنین به عنوان / dev / تصادفی) استفاده می‌شود.
  • الگوریتم ChaCha20 جایگزین RC4 در OpenBSD (نسخه ۵٫۴)، NetBSD (نسخه ۷٫۰)، و FreeBSD (نسخه ۱۲٫۰) شد.
  • ChaCha20 همچنین در نسخه ۴٫۸ جایگزین SHA-1 در لینوکس شد.
  • الگوریتم Fortuna، که ازYarrow نشات گرفته‌است، سعی در ارزیابی کیفیت آنتروپیک ورودی‌هایش را ندارد. Fortuna در FreeBSD استفاده می‌شود.
  • عملکرد CryptGenRandom در رابط برنامه‌نویسی برنامه رمزنگاری مایکروسافت ارائه شده‌است
  • ISAAC مبتنی بر نوع رمزنگاری RC4
  • الگوریتم تکاملی مبتنی بر مجموعه آزمون آماری NIST.
  • arc4random
  • AES - CTR DRBG اغلب در سیستم‌هایی که از رمزگذاری AES استفاده می‌کنند به عنوان یک تولیدکننده عدد تصادفی استفاده می‌شود.
  • استاندارد ANSI X9.17 (مدیریت کلیدی مؤسسه مالی (wholesale))، که به عنوان استاندارد FIPS نیز پذیرفته شده‌است. یک ورودی TDEA (کلید زنی گزینه ۲) می‌گیرد به همراه بسته نرم‌افزاری کلید k و (مقدار اولیه) ۶۴ بیتی دانه تصادفی است. هر بار که تعداد تصادفی مورد نیاز است:
    • تاریخ / زمان فعلی D را به حداکثر وضوح ممکن می‌رساند.
    • مقدار موقت t = TDEAk(D) را محاسبه می‌کند.
    • مقدار تصادفی x = TDEAk(st)را محاسبه می‌کند. به طوری که ⊕ بیانگر یای انحصاری بیتی است.
    • دانه s = TDEAk(xt) را بروزرسانی می‌کند.
    بدیهی است برای اینکه روش به راحتی به هر رمزنگاری بلوکی تعمیم داده شود، AES پیشنهاد شده‌است

استانداردها

برخی مولدهای تولید امن اعداد شبه تصادفی رمز شده، استاندارد شده‌اند مانند:

    این استاندارد دارای چهار مولد اعداد شبه تصادفی است. دو مورد از آنها غیرقابل بحث و اثبات است: CSPRNGهایی به نام‌های Hash_DRBG و HMAC_DRBG.
    سومین مولد اعداد شبه تصادفی در این استاندارد CTR_DRBG است که مبتی بر رمزنگاری بلوکی است که که در حالت پیشخوان اجرا می شود. طرح این روش غیرقابل بحث است اما ثابت شده‌است که در برابر حملات تمایز دهندهٔ ضعیف تر از سطح امنیتی رمزنگاری بلوک زیرین است که تعداد بیت‌های خروجی PRNG بیشتراز دو برابر تعداد بیت‌های بلاک زیرین رمزنگاری است.
    وقتی حداکثر تعداد بیت‌های خروجی این PRNG برابر دو به توان اندازهٔ بلاک است، خروجی از نظر ریاضی سطح امنیت مورد انتظار اندازهٔ کلید را فراهم می‌کند اما خروجی آن ثابت شده‌است که از بیت‌های خروجی یک مولد اعداد تصادفی واقعی غیرقابل تمایز نیست. هنگامی که حداکثر تعداد بیت‌های خروجی از این PRNG کمتر از آن باشد، سطح امنیت فراهم می‌شود و خروجی از خروجی یک مولد اعداد تصادفی غیرقابل تمایز است.

در ویرایش بعدی ذکر شده‌است که قدرتی که برای CTR_DRGB ادعا شده بود، به محدود کردن تعداد کل اعداد درخواست شده و تعداد بیت‌های درخواست شده در هر درخواست، وابسته است.

    چهارمین و آخرین PRNG در این استاندارد Dual_EC_DRBG نام دارد که نشان داده شده‌است که از منظر رمزنگاری کاملاً ایمن نیست و اعتقاد بر این است که دارای یک پشتی NSA از کلپو گرافی است.
  • NIST SP 800-90A Rev.1: این در واقع NIST SP 800-90A است که Dual_EC_DRBG برداشته شده و جایگزین استاندارد برداشت شده‌است.
  • ANSI X9.17-1985 پیوست ج
  • ANSI X9.31-1998 پیوست A.2.4
  • ANSI X9.62-1998 ضمیمه A.4، منسوخ شده توسط ANSI X9.62-2005 و (Annex D(HMAC_DRBG

مرجع خوب توسط NIST فراهم شده‌است.

استانداردهایی برای تست آماری طراحی‌های CSPRNG های جدید موجود است:

در پشتی Kleptographic NSA درمولد اعداد شبه تصادفی Dual_EC_DRBG

گاردین و نیویورک تایمز که آژانس امنیت ملی (NSA) یک در پشتی را دریک مولد اعداد شبه تصادفی NIST SP 800-90A قرار داده است که به NSA اجازه می‌دهد تا به آسانی متونی که با کمک Dual_EC_DRBG رمزگذاری شده‌اند را رمزگشایی کند. درهر دو مقاله گزارش شده است که ان اس ای به عنوان کارشناسان مستقل امنیتی، در حال معرفی نقاط ضعف استاندارد CSPRNG 800-90 است. این موارد برای اولین بار توسط یکی از اسناد عالی مخفی که توسط ادوارد اسنودن به گاردین فاش شده است، تأیید شد. ان اس ای به‌طور مخفیانه کار کرد تا نسخهٔ شخصی‌سازی شده اش از پیش نویس استاندارد امنیتی NIST را به دست آورد که در سال ۲۰۰۶ برای استفادهٔ جهانی به تصویب رسید. در این اسناد منتشر شده آمده است که «در نهایت NSA تنها ویرایشگر شد.». باوجود مورد پنهان شناخته شده کلیپتوگرافیک و نواقص قابل توجه Dual_EC_DRBG، بعضی از شرکت‌ها مانند RSA به استفاده از Dual_EC_DRBG تا سال ۲۰۱۳ که ضعف آن تاییدشد، ادامه دادند. RSA برای این کار ۱۰ میلیون دلار از آزانس امنیت ملی دریافت کرد.

نقص‌های امنیتی

حمله DUHK

در ۲۳ اکتبر ۲۰۱۷، Shaanan Cohney , Matthew Green و Nadia Heninger، رمزنگارانی در دانشگاه پنسیلوانیا و دانشگاه جان هاپکینز جزئیات حمله DUHK (از کلیدهای رمزگذاری شده استفاده نکنید) را روی WPA2 منتشر کردند که در آن سخت‌افزارهایی که در آنها کلید تصادف الگوریتم ANSI X9.31 به صورت مستقیم در کد قرار داده شده‌اند درتناقض با استفاده از مولد اعداد تصادفی ANSI X9.31، عمل می‌کنند. "در این حمله مهاجم می‌تواند داده‌های رمزگذاری شده، با روش سعی و خطاهای فراوان (brute-force) به کار گیرد تا بقیه پارامترهای رمزنگاری را کشف کند و درنتیجه به کلید رمزنگاری اصلی که برای رمزنگاری جلسات وب یا اتصالات شبکه خصوصی مجازی (VPN)استفاده می‌شود، دست یابد."

منابع

پیوند به بیرون

Tags:

مولد امن اعداد شبه‌تصادفی در رمزنگاری الزامات (ویژگی‌های موردنیاز)مولد امن اعداد شبه‌تصادفی در رمزنگاری تعاریفمولد امن اعداد شبه‌تصادفی در رمزنگاری استخراج آنتروپیمولد امن اعداد شبه‌تصادفی در رمزنگاری طرح‌هامولد امن اعداد شبه‌تصادفی در رمزنگاری استانداردهامولد امن اعداد شبه‌تصادفی در رمزنگاری در پشتی Kleptographic NSA درمولد اعداد شبه تصادفی Dual_EC_DRBGمولد امن اعداد شبه‌تصادفی در رمزنگاری نقص‌های امنیتیمولد امن اعداد شبه‌تصادفی در رمزنگاری منابعمولد امن اعداد شبه‌تصادفی در رمزنگاری پیوند به بیرونمولد امن اعداد شبه‌تصادفی در رمزنگاریتولید اعداد تصادفیرمزنگاریمولد اعداد شبه تصادفی

🔥 Trending searches on Wiki فارسی:

یوتیوبیاشار سلطانیلگدمال کردن (عمل جنسی)آیات حجابگرایش جنسیباشگاه فوتبال رئال مادریدمحسن تنابندهپورن‌هابسرزمین مادری (مجموعه تلویزیونی)دودمان سلجوققلبقتل غزاله شکورنون خشکستن آلت مردیلاله مرزبانقانون اساسی جمهوری اسلامی ایرانکیر مصنوعی دودخولیغلفه (زنان)علی صادقیبیچارگان (فیلم)رونالدینیوشهاب زاهدیرافائل گروسیحریم سلطانشهریار (شاعر)سام درخشانیآدولف هیتلرجنگ‌های صلیبیمظفرالدین‌شاهاردشیر کاظمیصنعت سکسابراهیم چلیک‌کولداریوش بزرگسزار لوییس منوتیشیر (گربه‌سان)جنگ‌افزار هسته‌ایپنیس تارداربانک قرض‌الحسنه مهر ایرانفهرست بازی‌های شهرآورد تهرانآزادی پستانحشاشین (مجموعه تلویزیونی)علی کریمیداگی استایلساسحمله پانیکنشانگان ترنرمجید علیاریقوه قضائیه جمهوری اسلامی ایرانمترجم گوگلباشگاه فوتبال لیورپولسپهر حیدریمحیا دهقانیدسته جادویی هیتاچیبنسو سورالچه گواراشریک جنسیاسبخداقاعدگیمنیسکس ضربدریسینه‌لختیپارانویاانتخابات مجلس شورای اسلامی (۱۴۰۳–۱۴۰۲)ریما رامین‌فرجفت‌گیری (جانورشناسی)مردگان متحرک (مجموعه تلویزیونی)اگزیستانسیالیسمشهرزاد (مجموعه نمایش خانگی)علیرضا بیرانوندپروپرانولولجمشید هاشم‌پورگردن‌بند مروارید (کنش جنسی)گودال (مجموعه تلویزیونی)گلتپه ونوس🡆 More