M - دانشگاه صنعتی امیرکبیر

Download Report

Transcript M - دانشگاه صنعتی امیرکبیر

‫جلسه چهارم‬
‫رمزنگاری (‪)2‬‬
‫برگرفته از اسالیدهای ‪© University of Glamorgan‬‬
‫ارائه دهنده‪:‬‬
‫حسین محمدحسن زاده‬
‫‪ 27‬فروردین ‪1392‬‬
‫‪1‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫مزایای رمزنگاری متقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ساده‪ :‬تنها با اشتراک گذاری کلید توسط کاربران می توان عملیات را انجام داد‬
‫رمزنگاری و رمزگشایی فایل های شخصی با یک کلید‬
‫نرخ باال در توان عملیاتی (سریع)‬
‫عدم نیاز به منابع کامپیوتری زیاد‬
‫کلیدهای نسبتا ً کوتاه‬
‫در صورت افشای کلید‪ ،‬تنها در ارتباط دو کاربر اخالل ایجاد می شود و نه کل کاربران!‬
‫تأمین اهداف اولیه رمزنگاری افزون بر رمزنگاری‬
‫•‬
‫•‬
‫•‬
‫افزودن عددی تصادفی به متن پیام با هدف تشخیص تغییر در اصل پیام توسط گیرنده‬
‫ابزاری برای ایجاد مکانیزم های قوی تر رمزنگاری‬
‫دارای قدمتی تاریخی‬
‫‪2‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫معایب رمزنگاری متقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫نیازمند حفاظت از کلید در دو طرف ارتباط‬
‫مدیریت حجم عظیمی از کلیدها‪ :‬در شبکه های بزرگ‪ ،‬تعداد کلید زیادی باید مدیریت شود‬
‫تغییر مداوم کلید‪ :‬در نمونه های موفق رمزنگاری نشان داده شده کلید باید مداوم تغییر کند‬
‫نیازمند کلیدهای طوالنی با شخص سوم مورد اعتماد در امضای دیجیتال‬
‫نیازمند کانالی امن برای تبادل کلید‬
‫هویت و اصالت مبداء را نمی توان ضمانت نمود‬
‫‪3‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫مزایای رمزنگاری نامتقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سهولت در مکانیزم‪ :‬تنها الزم است کلید خصوصی به صورت محرمانه نگهداری شود‬
‫حضور تنها یک ‪ functional TTP‬کافیست (عدم نیاز به ‪)unconditionally TTP‬‬
‫زوج کلید عمومی‪،‬خصوصی را می توان بسته به کاربرد برای زمان زیادی بدون تغییر‬
‫استفاده نمود‬
‫مکانیزم های امضای دیجیتال بسیاری از این روش استفاده می کنند‬
‫در مقایسه با متقارن‪ ،‬در شبکه های بزرگ‪ ،‬به تعداد کمتری کلید نیاز است‬
‫امکان احراز هویت فرستنده برای گیرنده‬
‫قابلیت تشخیص تغییر در اصل پیام‬
‫عدم امکان انکار توسط فرستنده‬
‫‪4‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫معایب رمزنگاری نامتقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سرعت پایین در مقایسه با رمزنگاری متقارن‬
‫اندازه بزرگ کلیدها‬
‫الزم است کلیدهای عمومی تصدیق اصالت شود (یعنی کلید واقعا متعلق به فرستنده است)‬
‫نیازمند منابع کامپیوتری بیشتر‬
‫مضرات جبران ناپذیر در صورت افشای کلید خصوصی‬
‫‪5‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫رمزنگاری و تجارت الکترونیک‬
‫•‬
‫کاربردهای رمزنگاری در تجارت الکترونیک‬
‫•‬
‫•‬
‫•‬
‫مراجع صدور گواهی‬
‫کوکی ها‪ ،‬کارت های خرید‪ ،‬رمزنگاری ‪ ،SSL‬الگوریتم های ‪Hash‬‬
‫پروتکل های پرداخت‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪iKp‬‬
‫‪Millicent‬‬
‫‪SET‬‬
‫‪Digital Cash, Digital Certificate, Digital Wallet‬‬
‫‪6‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫امضای دیجیتال‬
‫•‬
‫مکانیزمی مشابه امضای سنتی‬
‫•‬
‫نمادی که تنها فرستنده می تواند آن را تولید کند و دیگران می توانند به آسانی صحت آن را تأیید‬
‫کنند‬
‫•‬
‫دو شرط اساسی را می بایست برآورده سازد‪:‬‬
‫•‬
‫غیرقابل جعل باشد؛‬
‫•‬
‫•‬
‫معتبر باشد؛‬
‫•‬
‫•‬
‫اگر فرستنده ‪ ،P‬پیام ‪ M‬را با امضای )‪ S(P,M‬امضا کند‪ ،‬هیچ فرد دیگری امکان تولید‬
‫])‪ [M, S(P,M‬را نداشته باشد‬
‫اگر گیرنده ])‪ [M, S(P,M‬را دریافت نماید‪ ،‬باید بتواند اطمینان پیدا کند که فرستنده ‪ P‬بوده است‬
‫و دو نیازمندی دیگر اینکه‪:‬‬
‫•‬
‫غیرقابل تغییر باشد؛‬
‫•‬
‫•‬
‫امکان تغییر پیام پس از امضا و ارسال‪ ،‬برای گیرنده و یا هر شخص دیگر وجود نداشته باشد‬
‫غیرقابل استفاده مجدد باشد؛‬
‫•‬
‫هرگونه پیام قبلی که دوباره برای گیرنده ارسال شده باشد‪ ،‬قابل تشخیص باشد‬
‫‪7‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫امضای دیجیتال متقارن‬
SENDER
1
S sends sealed
M to Arbiter
ARBITER
2
KS
M
Arbiter retrieves
plaintext M from S
M
KR
KS
S
RECIPIENT
H.M.Hassanzade, [email protected]
3
M
Arbiter seals [ Message received from
Sender E(M,KS), Identify of Sender S,
and copy of plaintext M ] and sends all to R
8
M
‫امضای دیجیتال نامتقارن‬
• Alice encrypts a document M with her private key APRI, thereby signing the
document, e.g. E( APRI , M ).
• Alice encrypts the message with Bob’s public key BPUB, and then sends the message
C to Bob, e.g. C = E(BPUB , E( APRI , M ) )
• Bob decrypts the message using his private key BPRI and then Alice’s public key
APUB, thereby verifying the signature, e.g. M = D(BPRI , D( APUB , M ) )
SENDER
1
APRI
M
H.M.Hassanzade, [email protected]
RECIPIENT
Encrypts message with
BPUB and APRI and
then send the message
2
M
Decrypts message with
BPRI and APUB
in order to derive M.
9
BPUB
‫ امضای قرارداد‬:‫کاربرد‬
• Trusted Third Party (TTP) as an Arbitrator:
1. Bill signs a copy of the contract and sends it to the TTP.
2. Ben signs a copy of the contract and sends it to the TTP.
3. The TTP announces when both signed contracts have arrived.
4. Ben signs two copies of the contract and sends them to Bill.
5. Bill signs both copies of the contract and, keeps one for himself, and sends the other to
Ben.
6. Ben and Bill both inform the TTP that each have a copy of the contract signed by both of
them.
H.M.Hassanzade, [email protected]
10
7. The TTP destroys his two copies of the contract with only one signature each.
‫کاربرد‪ :‬امضای کورکورانه‬
‫•‬
‫امضا کننده نمی داند که چه چیزی را امضا کرده است‬
‫‪Sent to Signer‬‬
‫‪Remove Envelope‬‬
‫‪Blinding Process‬‬
‫‪Signature‬‬
‫‪Signature‬‬
‫‪Original Message‬‬
‫•‬
‫‪Envelope containing‬‬
‫‪Message and Carbon paper‬‬
‫‪Envelope containing‬‬
‫‪Message and Carbon paper‬‬
‫‪Original Message‬‬
‫به کارگیری در پول الکترونیکی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫هدف‪ :‬ناشناس ماندن کسی که پول را خرج کرده است‬
‫تولید شماره سلایر های ‪ 100‬رقمی توسط نرم افزار کیف پول مجازی‬
‫اعالم نوع (ارزش) سکه از طرف مشتری به بانک‬
‫امضای سکه توسط بانک با توجه به مبلغ آن ) ‪E( KeyPRI-SK$1 , Serial#‬‬
‫با هدف تسهیل در رمزگشایی سکه‪ ،‬نوع کلید مورد استفاده به صورت متن ارائه می شود‪:‬‬
‫) ‪Coin = Serial#, Key_Version, E( KeyPRI-$1 , Serial#‬‬
‫‪11‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫گواهی نامه ها (‪)CERTIFICATE‬‬
‫• ما انسان ها همواره به دنبال ایجاد اعتماد و استفاده از آن در روابطمان هستیم‬
‫• اعتماد به میزان توانایی افراد برای شناسایی و تصدیق هویت دیگران وابسته است‬
‫• در سیستم های رمزنگاری مدرن امروزی‪ ،‬کلید عمومی و هویت افراد به همراه یک گواهی نامه ارائه می شود‪ ،‬که صحت‬
‫اطالعات ارائه شده را تضمین می نماید‬
‫• گواهی نامه ها را مراجع ذی صالح (‪ )CA: Certification Authorities‬اعطا می کنند‪ ،‬که خود می توانند از مراجع‬
‫دیگر گواهی نامه دریافت کرده باشند‬
‫• گواهی نامه ها برای تولید و مدیریت کلیدهای رمزنگاری به کار می آیند‬
‫‪Encrypted under University of‬‬
‫‪Glamorgan’s Private Key‬‬
‫‪Encrypted under HEFC’s‬‬
‫‪Private Key‬‬
‫‪Iain Sutherland‬‬
‫‪Lecturer‬‬
‫‪71F1890ACDE45…..‬‬
‫‪Name:‬‬
‫‪Position:‬‬
‫‪Public Key:‬‬
‫‪University of Glam‬‬
‫‪Employer‬‬
‫‪7897636361FA…..‬‬
‫‪Name:‬‬
‫‪Position:‬‬
‫‪Public Key:‬‬
‫‪Certificate for Iain Sutherland‬‬
‫‪Chain of Certificates‬‬
‫‪12‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
H.M.Hassanzade, [email protected]
13
‫الگوریتم های‬
‫رمزنگاری‬
‫یک الگوریتم رمزنگاری ساده‬
H.M.Hassanzade, [email protected]
14
* A SIMPLE ENCRYPTION/DECRYPTION ALGORITHM FOR NUMBERS
‫کلیات روش‬
‫• مبتنی بر یک آرایه ‪ 16‬تایی از اعداد‬
‫• هر آرایه‪ ،‬متشکل از ‪ 10‬عدد یک رقمی از ‪ 0‬تا ‪( 9‬بدون تکرار)‬
‫• ترتیب اعداد در آرایه ها می تواند به صورت دلخواه باشد‬
‫• رمزنگاری شامل دو مرحله‪:‬‬
‫• مرحله نخست‪ :‬جایگزینی هر عدد با موقعیت متناظر با آن در آرایه‬
‫• مرحله دوم‪ :‬جایگزینی اعداد جایگزین شده با کاراکترهای بی معنی‬
‫‪15‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫مثال‬
‫• مرحله نخست‬
Input number
3
2
8
8
2
7
1
0
9
H.M.Hassanzade, [email protected]
328827109
Array element
0123456789
1234567890
2345678901
3456789012
4567890123
5678901234
6789012345
7890123456
8901234567
9012345678
0123456789
1234567890
2345678901
3456789012
4567890123
5678901234
Output number
4
2
7
6
9
3
6
4
2
16
• Original Social Security Number:
‫ ادامه‬- ‫مثال‬
‫• مرحله دوم‬
:‫ با کاراکترهای متناظر با آن اعداد بر روی صفحه کلید یعنی‬9-0 ‫• جایگزینی ارقام‬
• 0 1 2 3 4 5 6 7 8 9 -> !@#$% &*()
:‫خواهیم داشت‬
•
Original Social Security Number:
328827109
•
Numerically Encrypted Number:
427693642
•
"Garbage" Characters Encrypted Number:
%#*&)$&%#
17
H.M.Hassanzade, [email protected]
•
RSA
H.M.Hassanzade, [email protected]
18
MCGRAW-HILL COMPANIES, INC ‫برگرفته از اسالیدهای‬
‫الگوریتم رمزنگاری ‪RSA‬‬
‫• رایج ترین الگوریتم رمزنگاری کلید عمومی‬
‫• مباحث پیش رو‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫انتخاب کلید‬
‫رمزنگاری‪/‬رمزگشایی‬
‫مثال‬
‫مالحظات امنیتی ‪RSA‬‬
‫‪19‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫ انتخاب کلید‬:RSA
1. Choose two large prime numbers p, q.
(e.g., 1024 bits each)
2. Compute n = pq, z = (p-1)(q-1)
3. Choose e (with e<n) that has no common factors
with z. (e, z are “relatively prime”).
4. Choose d such that ed-1 is exactly divisible by z.
(in other words: ed mod z = 1 ).
H.M.Hassanzade, [email protected]
20
5. Public key is (n,e). Private key is (n,d).
‫رمزگشایی‬/‫ رمزنگاری‬:RSA
0. Given (n,e) and (n,d) as computed above
1. To encrypt bit pattern, m, compute
e
e
x = m mod n (i.e., remainder when m is divided by n)
2. To decrypt received bit pattern, c, compute
d
m = xd mod n (i.e., remainder when c is divided by n)
H.M.Hassanzade, [email protected]
21
Magic
m = (m e mod n) d mod n
happens!
x
d
m = (m e mod n) mod n ‫چرا‬
Useful number theory result:
If p,q prime and n = pq, then:
y
x mod n = x
:RSA
y mod (p-1)(q-1)
mod n
e
(m mod n) d mod n = medmod n
= m
ed mod (p-1)(q-1)
mod n
(using number theory result above)
1
= m mod n
= m
H.M.Hassanzade, [email protected]
22
(since we chose ed to be divisible by
(p-1)(q-1) with remainder 1 )
‫ مثال‬:RSA
Bob chooses p=5, q=7. Then n=35, z=24.
e=5 (so e, z relatively prime).
d=29 (so ed-1 exactly divisible by z.
decrypt:
m
me
l
12
1524832
c
17
d
c
481968572106750915091411825223071697
H.M.Hassanzade, [email protected]
c = me mod n
17
m = cd mod n letter
12
l
23
encrypt:
letter
H.M.Hassanzade, [email protected]
24
‫ در یک نگاه‬:RSA
H.M.Hassanzade, [email protected]
25
‫ پیچیدگی حمله‬:RSA
‫ مالحظات امنیتی‬:RSA
1. The number of bits for n should be at least 1024. This means that n should be
around
, or 309 decimal digits.
2. The two primes p and q must each be at least 512 bits.
3. The values of p and q should not be very close to each other.
4. Both p-1 and q-1 should have at least one large prime factor.
5. The ratio p/q should not be close to a rational number with a small enumerator
or denominator.
6. The value of e should be
7. If the private key d is leaked, Bob must immediately change n as well as both e
and d. It has been proven that knowledge of n and one pair (e,d) can lead to the
discovery of another pairs of the same modulus.
H.M.Hassanzade, [email protected]
26
8. Short Message must be padded
DES
H.M.Hassanzade, [email protected]
27
MCGRAW-HILL COMPANIES, INC ‫برگرفته از اسالیدهای‬
DES
Data Encryption Standard •
‫• رمزنگاری با کلید متقارن‬
H.M.Hassanzade, [email protected]
28
)‫• رمزنگاری بلوکی (قطعه ای‬
H.M.Hassanzade, [email protected]
29
‫ ساختار کلی‬:DES
‫ تولید کلید‬:DES
H.M.Hassanzade, [email protected]
30
Compression P-box
H.M.Hassanzade, [email protected]
31
‫ جایگشت ابتدایی و پایانی‬:DES
H.M.Hassanzade, [email protected]
32
‫ مرحله میانی‬16 ‫ یک مرحله از‬:DES
H.M.Hassanzade, [email protected]
33
F ‫ تابع‬:DES
H.M.Hassanzade, [email protected]
34
P ‫ جعبه بسط‬:DES
H.M.Hassanzade, [email protected]
35
S ‫ جعبه تقلیل‬:DES
H.M.Hassanzade, [email protected]
36
‫ رمزگشایی‬:DES
‫‪HASH‬‬
‫برگرفته از اسالیدهای پرداخت الکترونیک – دانشگاه صنعتی امیرکبیر‬
‫‪37‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫‪HASH‬‬
‫• نگاشت پیغام با طول متغیر به پیغامی با طول ثابت‬
‫‪38‬‬
‫‪H.M.Hassanzade, [email protected]‬‬
‫ اصول‬:HASH
Cryptographic checksum h: AB:
1. For any x  A, h(x) is easy to compute
2. For any y  B, it is computationally infeasible to find x 
A such that h(x) = y
3. It is computationally infeasible to find two inputs x, x  A
such that x ≠ x and h(x) = h(x)
H.M.Hassanzade, [email protected]
39
– Alternate form (stronger): Given any x  A, it is computationally
infeasible to find a different x  A such that h(x) = h(x).
)COLLISION(
‫ تداخل‬:HASH
If x ≠ x and h(x) = h(x), x and x are a collision
H.M.Hassanzade, [email protected]
40
• Pigeonhole principle: if there are n containers for n+1 objects, then at
least one container will have 2 objects in it.
• Application: if there are 32 files and 8 possible cryptographic
checksum values, at least one value corresponds to at least 4 files
H.M.Hassanzade, [email protected]
41
‫پایان‬