Chap12-EmailSecurity-v2.ppt

‫امنیت پست الکترونیکی‬
‫ از کتاب‬12 ‫مبتنی بر فصل‬
Network Security, Principles and
Practice,2nd Ed.
‫ حمید رضا شهریاری‬:‫ویرایش شده توسط‬
http://www.fata.ir
http://mehr.sharif.edu/~shahriari
‫مرکز امنبت شبکه شریف‬
1
‫فهرست مطالب‬
‫‪‬‬
‫امنیت پست الکترونیکی‬
‫‪ ‬ویژگیهای ‪PGP‬‬
‫‪ ‬سرویس های ‪PGP‬‬
‫‪ ‬انواع کلیدهای مورد استفاده‬
‫‪ ‬مدیریت کلید‬
‫مرکز امنبت شبکه شريف‬
‫‪2‬‬
‫نیاز به امنیت‬
‫‪‬‬
‫‪‬‬
‫استفاده گسترده از سرویس پست الکترونیکی برای تبادل پیغامها‬
‫نیاز به استفاده از این سرویس برای کاربردهای دیگر‬
‫‪‬‬
‫‪‬‬
‫به شرط تضمین محرمانگی و احراز هویت‬
‫دو روش برای احرازهویت و ایجاد محرمانگی‬
‫)‪PGP (Pretty Good Privacy‬‬
‫‪S/MIME (Secure/Multipurpose Internet Mail‬‬
‫)‪Extensions‬‬
‫‪‬‬
‫‪‬‬
‫مرکز امنبت شبکه شريف‬
‫‪3‬‬
‫قراردادهای پست الکترونیکی‬
‫‪‬‬
‫)‪(Simple Mail Transfer Protocol‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪SMTP‬‬
‫قرارداد‪ SMTP‬اصلیترین و عمومیترین قرارداد پست الکترونیکی است‪.‬‬
‫یک پیغام را همراه با محتويات و سرآیند آن بصورت کدهای اسکی ارسال میکند‪.‬‬
‫‪ SMTP‬هیچ امنیتی برای دادههای ارسال شده فراهم نمیکند‪.‬‬
‫دادهها در طول مسیر میتوانند خوانده شده یا تغییر داده شوند‪.‬‬
‫آدرس فرستنده براحتی قابل تغییر است‪.‬‬
‫‪(Multipurpose Internet Mail Extensions) ‬‬
‫‪‬‬
‫‪‬‬
‫‪MIME‬‬
‫‪ MIME‬یک قرارداد پست الکترونیکی است که برای رفع محدودیتهای ‪ SMTP‬و‬
‫پیغامهای متنی پیادهسازی شد‪.‬‬
‫‪ MIME‬هیچگونه امنیتی فراهم نمیکند‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪4‬‬
‫ویژگیهای ‪PGP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ارائه شده توسط ‪Phil Zimmermann‬‬
‫استفاده گسترده از آن بعنوان سرویس پست الکترونیکی امن‬
‫استفاده از بهترین الگوریتمهای رمزنگاری موجود و ترکیب آنها در یک برنامه‬
‫کاربردی چند منظوره‬
‫قابلیت اجرای مستقل از ماشین و پردازنده(‪)... Macintosh،PC ،Unix‬‬
‫عدم انحصار توسط دولت یا شرکت خاص‬
‫دسترس ی به متن باز و بسته نرم افزاری آن مجانی است‬
‫‪‬‬
‫نسخه تجاری آن طی قراردادی با شرکت ‪ viacrypt‬در حال تهیه است‬
‫مرکز امنبت شبکه شريف‬
‫‪5‬‬
PGP basic Services
Sharif Network Security Center
6
‫سرویسهای ‪PGP‬‬
‫کنترل عدم تغيير‪:‬‬
‫‪‬‬
‫تولید چکیده ‪ 160‬بیتی از پیغام اولیه با استفاده از ‪SHA-1‬‬
‫استفاده از ‪ RSA‬و کلید خصوص ی فرستنده برای رمز کردن چکیده‬
‫الحاق چکیده رمز شده به انتهای پیغام‬
‫‪‬‬
‫استفاده از ‪ RSA‬با کلید عمومی فرستنده برای بازیابی چکیده در سمت گیرنده‬
‫تولید چکیده پیغام جدید توسط گیرنده و مقایسه آن با چکیده بازیابی شده‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مرکز امنبت شبکه شريف‬
‫‪7‬‬
PGP- Authentication
Only
‫مرکز امنبت شبکه شريف‬
8
‫سرویسهای ‪PGP‬‬
‫محرمانگی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از عدد تصادفی ‪ 128‬بیتی بعنوان کلید جلسه ویژه پیغام جاری‬
‫رمزکردن پیغام با استفاده از ‪ CAST-128‬یا ‪ IDEA‬یا ‪ 3DES‬و کلید‬
‫جلسه تولید شده‬
‫رمزکردن کلید جلسه با استفاده از الگوریتم ‪ RSA‬و کلید عمومی گیرنده‬
‫الحاق کلید رمزشده به پیغام و ارسال آن‬
‫استفاده از ‪ RSA‬با کلید خصوص ی گیرنده برای رمزگشایی و بازیابی کلید جلسه‬
‫رمزگشایی پیغام دریافت شده با استفاده از کلید جلسه‬
‫مرکز امنبت شبکه شريف‬
‫‪9‬‬
PGP- Confidentiality Only
‫مرکز امنبت شبکه شريف‬
10
‫سرویسهای ‪PGP‬‬
‫‪‬‬
‫محرمانگی ‪ +‬احرازهویت‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تولید امضاء و الحاق آن به متن‬
‫رمز کردن مجموعه امضا و متن با استفاده از ‪CAST-128‬‬
‫الحاق کلید جلسه رمزشده با الگوریتم ‪ RSA‬به مجموعه فوق‬
‫چرا اول امضاء رقمی انجام می شود و سپس رمزگذاری؟‬
‫‪‬‬
‫با این روش شخص ثالث برای تایید امضاء هیچ نوع نگرانی در رابطه با کلید‬
‫جلسه نخواهد داشت‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪11‬‬
Confidentiality&
Authentication
‫مرکز امنبت شبکه شريف‬
12
‫سرویسهای ‪PGP‬‬
‫فشرده سازی‬
‫‪‬‬
‫‪‬‬
‫به صورت پیش فرض فشرده سازی پس از امضاء و قبل از رمزگذاری انجام می شود‪.‬‬
‫چرا پس از امضاء؟‬
‫‪ ‬باید بتوان پیام و امضاء را برای تایید بعدی و بدون نیاز به فشردهسازی و یا بازگشایی مجدد ذخیره‬
‫نمود‪.‬‬
‫‪ ‬در صورتی که طرفین از مکانیسم های فشرده سازی متفاوت استفاده می کنند‪ ،‬در تایید امضا‬
‫تداخلی ایجاد نشود‪.‬‬
‫‪‬‬
‫چرا قبل از رمزگذاری؟‬
‫‪ ‬کاهش حجم و افزونگی متنی که باید رمز شود‬
‫‪ ‬کاهش اطالعات آماری پیغام‬
‫مرکز امنبت شبکه شريف‬
‫‪13‬‬
‫سرویسهای ‪PGP‬‬
‫حفظ سازگاری‬
‫‪‬‬
‫‪‬‬
‫مشکل‪:‬‬
‫‪ ‬فرستادن داده های باینری از طریق سرویس های پست الکترونیکی که تنها برای ارسال متن‬
‫‪ ASCII‬طراحی شده اند‪.‬‬
‫راه حل‪:‬‬
‫‪ ‬تبدیل داده های خام باینری به متن ‪: ASCII‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از الگوریتم ‪Radix-64‬‬
‫‪ ‬تبدیل ‪ 3‬بایت به ‪ 4‬کاراکتر قابل چاپ ‪ASCII‬‬
‫‪ ‬اضافه کردن ‪ CRC‬به انتهای آن‬
‫توسعه متن به اندازه ‪ %33‬به دلیل استفاده از ‪ Radix-64‬و فشرده سازی به اندازه ‪---%50‬‬
‫< ‪1.33 x 0.5=0.665‬‬
‫نتیجه ‪ :‬فشرده سازی به اندازه ‪1/3‬‬
‫مرکز امنبت شبکه شريف‬
‫‪14‬‬
‫سرویسهای ‪PGP‬‬
‫قطعه بندی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫محدودیت سرویس دهنده های ایمیل در اندازه پیغام ارسالی‬
‫انجام قطعه بندی توسط ‪ PGP‬به صورت خودکار و پس از انجام‬
‫کلیه محاسبات و تبدیالت‬
‫ارسال کلید جلسه و تایید امضاء رقمی فقط در ابتدای قطعه اول‬
‫بازیابی پیغام اصلی از روی قطعه ها در سمت گیرنده(قبل از انجام هر‬
‫پردازش ی)‬
‫مرکز امنبت شبکه شريف‬
‫‪15‬‬
‫مرکز امنبت شبکه شريف‬
‫‪16‬‬
‫کلیدهای مورد استفاده‬
‫‪ PGP‬از چهار نوع کلید بهره می برد‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫کلید متقارن یکبار مصرف(کلید جلسه)‬
‫کلید عمومی‬
‫کلید خصوص ی‬
‫کلید متقارن حاصل از گذرواژه (برای رمز کردن کلیدهای خصوص ی)‬
‫مرکز امنبت شبکه شريف‬
‫‪17‬‬
‫کلیدهای مورد استفاده‬
‫کلید جلسه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫به صورت تصادفی و یکبار مصرف ایجاد می گردد‬
‫الگوریتم تولید عدد تصادفی خود ‪ CAST-128‬می باشد طبق استاندارد‬
‫‪ANSI X12.17‬‬
‫الگوریتم از روی کلیدهای فشارداده شده روی صفحه کلید مقدار اولیه می‬
‫گیرد‪.‬‬
‫سپس کلیدهای جلسه را به صورت ‪ CFB‬تولید می کند‬
‫مرکز امنبت شبکه شريف‬
‫‪18‬‬
‫کلیدهای مورد استفاده‬
‫مسئله ‪ :‬امکان داشتن چند زوج کلید نامتقارن برای ارتباط با گروههای‬
‫مختلف‪.‬‬
‫راه حل ‪ :‬مشخص نمودن کلید استفاده شده بوسیله یک‬
‫شناسه(‪)Key Identifier‬‬
‫ استفاده از مقدار )‪ (KUa mod 264‬به عنوان شناسه‬‫ احتمال برخورد بسیار پایین است‪.‬‬‫مرکز امنبت شبکه شريف‬
‫‪19‬‬
Format of PGP Message
Sharif Network Security Center
20
‫کلیدهای مورد استفاده‬
‫دسته کلید خصوص ی(‪)Private Key Ring‬‬
‫برای مدیریت کلیدهای نا متقارن استفاده می شود‪ .‬شامل موارد زیر است‪:‬‬
‫‪ -2‬شناسه کلید‬
‫‪ - 1‬زمان تولید کلید‬
‫‪-4‬کلید خصوص ی(بصورت رمزشده)‬
‫‪ – 3‬کلید عمومی‬
‫‪-5‬شناسه مالک کلید‬
‫‪ ‬کلید خصوص ی توسط کلید متقارنی که بصورت چکیده ای از گذرواژه کاربر می‬
‫باشد‪ ،‬رمز می شود‬
‫‪ ‬جدول کلیدهای خصوص ی روی ماشین صاحبش ذخیره می شود‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪21‬‬
‫جدول کلید خصوص ی‬
‫مرکز امنبت شبکه شريف‬
‫‪22‬‬
‫کلیدهای مورد استفاده‬
‫دسته کلید عمومی(‪)Public Key Ring‬‬
‫شامل موارد زیر است‪:‬‬
‫‪ -2‬شناسه کلید‬
‫‪ - 1‬زمان تولید کلید‬
‫‪ -4‬شناسه کاربر‬
‫‪ – 3‬کلید عمومی‬
‫‪ -5‬و چند فیلد دیگر جهت امنیت بیشتر‬
‫این جدول شامل همه کلیدهای عمومی کاربران دیگر که برای این کاربر مشخص است‪،‬‬
‫می باشد‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪23‬‬
‫‪Public Key Ring‬‬
‫مرکز امنبت شبکه شريف‬
‫‪24‬‬
PGP Message Generation
Sharif Network Security Center
25
PGP Reception
Sharif Network Security Center
26
‫مدیریت کلید‬
‫مشکل‪ :‬در جدول کلیدهای عمومی ‪ ، A‬یک کلید به نظر می رسد متعلق به کاربر ‪B‬‬
‫است‪ ،‬ولی در واقع متعلق به ‪ C‬است‪ .‬در نتیجه ‪ C‬می تواند ‪:‬‬
‫‪‬‬
‫‪‬‬
‫بجای ‪ B‬به ‪ A‬پیغام بفرستد‬
‫پیغامهای ارسال شده از ‪ A‬به سمت ‪ B‬را بخواند‬
‫مرکز امنبت شبکه شريف‬
‫‪27‬‬
‫مدیریت کلید عمومی در‪PGP‬‬
‫‪‬‬
‫ارسال کلید عمومی با خاصیت احراز هویت‬
‫‪‬‬
‫انتقال بصورت فیزیکی‬
‫‪‬‬
‫‪‬‬
‫انتقال بصورت الکترونیکی و تایید توسط تلفن یا…‬
‫‪‬‬
‫‪‬‬
‫چکیدهای از کلید دریافتی از طریق تلفن با مالک بررس ی شود‪.‬‬
‫انتقال توسط فرد مطمئنی که کلید عمومی وی در اختیار است‪.‬‬
‫‪‬‬
‫‪‬‬
‫در شبکه این کار غیر عملی است‪.‬‬
‫کلید عمومی کاربر ‪ B‬توسط کاربر شناخته شده ‪ D‬امضاء و به کاربر ‪A‬‬
‫ارسال میشود‪.‬‬
‫انتقال بصورت گواهی تایید شده توسط مرجع قابل اعتماد‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪28‬‬
‫مدیریت کلید‬
‫‪‬‬
‫‪‬‬
‫‪ PGP‬برای مدیریت کلیدهای عمومی بجای ‪ CA‬از مدلی بنام‬
‫(‪ )Web of ٌTrust‬استفاده می کند‪.‬‬
‫فیلدهای ‪Trust‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫فیلد ‪ :Key Legitimacy‬بیانگر میزان اعتماد ‪ PGP‬به اعتبار کلید عمومی‪.‬‬
‫فیلد ‪ :signature trust‬هر مدخل که یک کلید عمومی کاربری را مشخص می کند‬
‫دارای چند امضا است‪ .‬هر یک از این امضاها دارای یک درجه اعتماد هستند‪.‬‬
‫فیلد ‪ : owner trust‬بیانگر میزان اعتماد به صاحب کلید برای تایید اعتبار کلیدهای‬
‫عمومی دیگر(گواهی)‪.‬‬
‫‪ -‬هر سه فیلد فوق در داخل یک بایت تحت عنوان ‪ trust flag‬نگهداری می شوند‪.‬‬
‫مرکز امنبت شبکه شريف‬
‫‪29‬‬
‫‪Trust Flag Bytes‬‬
‫مرکز امنبت شبکه شريف‬
‫‪30‬‬
Trust Model Example
Sharif Network Security Center
31
‫مدیریت کلید‬
‫چند نکته در مورد شکل قبل‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫کلیدهای کار برانی که مورد اعتماد یک کاربر می باشند‪ ،‬لزوما توسط وی امضاء نشده اند(مانند ‪)L‬‬
‫اگر دو کاربری که جزئا قابل اعتماد هستند کلیدی را امضاء کنند‪ ،‬کلید مربوطه مورد تایید قرار می‬
‫گیرد(‪ A‬و ‪)B‬‬
‫کلیدی که تایید شده است‪ ،‬لزوما نمی تواند برای تایید امضای کلید دیگری بکار رود(مانند ‪)N‬‬
‫کلید کاربری که بطور غیرمستقیم امضاء شده است‪ ،‬ممکن است به صورت مستقیم نیز امضاء شود‬
‫(مانند کلید ‪ E‬که توسط ّ‪ F‬و ‪ You‬به صورت غیرمستقیم و مستقیم امضا شده است)‬
‫مرکز امنبت شبکه شريف‬
‫‪32‬‬
Simple Mail Transfer
Protocol (SMTP, RFC 822)

SMTP Limitations - Can not transmit, or has a
problem with:

executable files, or other binary files (jpeg
image)

“national language” characters (non-ASCII)

messages over a certain size

ASCII to EBCDIC translation problems

lines longer than a certain length (72 to 254
characters)
‫مرکز امنبت شبکه شريف‬
33
Header fields in MIME

MIME-Version: Must be “1.0” -> RFC 2045, RFC
2046

Content-Type: More types being added by
developers (application/word)

Content-Transfer-Encoding: How message has
been encoded (radix-64)

Content-ID: Unique identifying character string.

Content Description: Needed when content is not
readable text (e.g.,mpeg)
‫مرکز امنبت شبکه شريف‬
34
S/MIME Functions

Enveloped Data: Encrypted content and
encrypted session keys for recipients.

Signed Data: Message Digest encrypted
with private key of “signer”.

Clear-Signed Data: Signed but not
encrypted.

Signed and Enveloped Data: Various
orderings for encrypting and signing.
‫مرکز امنبت شبکه شريف‬
35
Algorithms Used

Message Digesting: SHA-1 and MD5

Digital Signatures: DSS

Secret-Key Encryption: Triple-DES,
RC2/40 (exportable)

Public-Private Key Encryption: RSA with
key sizes of 512 and 1024 bits, and DiffieHellman (for session keys).
‫مرکز امنبت شبکه شريف‬
36
User Agent Role


S/MIME uses Public-Key Certificates - X.509 version 3
signed by Certification Authority
Functions:

Key Generation - Diffie-Hellman, DSS, and RSA
key-pairs.

Registration - Public keys must be registered with
X.509 CA.

Certificate Storage - Local (as in browser
application) for different services.

Signed and Enveloped Data - Various orderings for
encrypting and signing.
‫مرکز امنبت شبکه شريف‬
37
User Agent Role

Example: Verisign (www.verisign.com)

Class-1: Buyer’s email address
confirmed by emailing vital info.

Class-2: Postal address is confirmed as
well, and data checked against
directories.

Class-3: Buyer must appear in person,
or send notarized documents.
‫مرکز امنبت شبکه شريف‬
38
Recommended Web
Sites




PGP home page: www.pgp.com
MIT distribution site for PGP
S/MIME Charter
S/MIME Central: RSA Inc.’s Web Site
‫مرکز امنبت شبکه شريف‬
39
‫پایان‬
‫؟‬
‫‪40‬‬
‫مرکز امنبت شبکه شریف‬