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

advertisement
‫جلسه چهارم‬
‫رمزنگاری (‪)2‬‬
‫برگرفته از اسالیدهای ‪© University of Glamorgan‬‬
‫ارائه دهنده‪:‬‬
‫حسین محمدحسن زاده‬
‫‪ 27‬فروردین ‪1392‬‬
‫‪1‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫مزایای رمزنگاری متقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ساده‪ :‬تنها با اشتراک گذاری کلید توسط کاربران می توان عملیات را انجام داد‬
‫رمزنگاری و رمزگشایی فایل های شخصی با یک کلید‬
‫نرخ باال در توان عملیاتی (سریع)‬
‫عدم نیاز به منابع کامپیوتری زیاد‬
‫کلیدهای نسبتا ً کوتاه‬
‫در صورت افشای کلید‪ ،‬تنها در ارتباط دو کاربر اخالل ایجاد می شود و نه کل کاربران!‬
‫تأمین اهداف اولیه رمزنگاری افزون بر رمزنگاری‬
‫•‬
‫•‬
‫•‬
‫افزودن عددی تصادفی به متن پیام با هدف تشخیص تغییر در اصل پیام توسط گیرنده‬
‫ابزاری برای ایجاد مکانیزم های قوی تر رمزنگاری‬
‫دارای قدمتی تاریخی‬
‫‪2‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫معایب رمزنگاری متقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫نیازمند حفاظت از کلید در دو طرف ارتباط‬
‫مدیریت حجم عظیمی از کلیدها‪ :‬در شبکه های بزرگ‪ ،‬تعداد کلید زیادی باید مدیریت شود‬
‫تغییر مداوم کلید‪ :‬در نمونه های موفق رمزنگاری نشان داده شده کلید باید مداوم تغییر کند‬
‫نیازمند کلیدهای طوالنی با شخص سوم مورد اعتماد در امضای دیجیتال‬
‫نیازمند کانالی امن برای تبادل کلید‬
‫هویت و اصالت مبداء را نمی توان ضمانت نمود‬
‫‪3‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫مزایای رمزنگاری نامتقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سهولت در مکانیزم‪ :‬تنها الزم است کلید خصوصی به صورت محرمانه نگهداری شود‬
‫حضور تنها یک ‪ functional TTP‬کافیست (عدم نیاز به ‪)unconditionally TTP‬‬
‫زوج کلید عمومی‪،‬خصوصی را می توان بسته به کاربرد برای زمان زیادی بدون تغییر‬
‫استفاده نمود‬
‫مکانیزم های امضای دیجیتال بسیاری از این روش استفاده می کنند‬
‫در مقایسه با متقارن‪ ،‬در شبکه های بزرگ‪ ،‬به تعداد کمتری کلید نیاز است‬
‫امکان احراز هویت فرستنده برای گیرنده‬
‫قابلیت تشخیص تغییر در اصل پیام‬
‫عدم امکان انکار توسط فرستنده‬
‫‪4‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫مزایا و معایب رمزنگاری متقارن و نامتقارن‬
‫•‬
‫(ادامه)‬
‫معایب رمزنگاری نامتقارن‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سرعت پایین در مقایسه با رمزنگاری متقارن‬
‫اندازه بزرگ کلیدها‬
‫الزم است کلیدهای عمومی تصدیق اصالت شود (یعنی کلید واقعا متعلق به فرستنده است)‬
‫نیازمند منابع کامپیوتری بیشتر‬
‫مضرات جبران ناپذیر در صورت افشای کلید خصوصی‬
‫‪5‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫رمزنگاری و تجارت الکترونیک‬
‫•‬
‫کاربردهای رمزنگاری در تجارت الکترونیک‬
‫•‬
‫•‬
‫•‬
‫مراجع صدور گواهی‬
‫کوکی ها‪ ،‬کارت های خرید‪ ،‬رمزنگاری ‪ ،SSL‬الگوریتم های ‪Hash‬‬
‫پروتکل های پرداخت‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪iKp‬‬
‫‪Millicent‬‬
‫‪SET‬‬
‫‪Digital Cash, Digital Certificate, Digital Wallet‬‬
‫‪6‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫امضای دیجیتال‬
‫•‬
‫مکانیزمی مشابه امضای سنتی‬
‫•‬
‫نمادی که تنها فرستنده می تواند آن را تولید کند و دیگران می توانند به آسانی صحت آن را تأیید‬
‫کنند‬
‫•‬
‫دو شرط اساسی را می بایست برآورده سازد‪:‬‬
‫•‬
‫غیرقابل جعل باشد؛‬
‫•‬
‫•‬
‫معتبر باشد؛‬
‫•‬
‫•‬
‫اگر فرستنده ‪ ،P‬پیام ‪ M‬را با امضای )‪ S(P,M‬امضا کند‪ ،‬هیچ فرد دیگری امکان تولید‬
‫])‪ [M, S(P,M‬را نداشته باشد‬
‫اگر گیرنده ])‪ [M, S(P,M‬را دریافت نماید‪ ،‬باید بتواند اطمینان پیدا کند که فرستنده ‪ P‬بوده است‬
‫و دو نیازمندی دیگر اینکه‪:‬‬
‫•‬
‫غیرقابل تغییر باشد؛‬
‫•‬
‫•‬
‫امکان تغییر پیام پس از امضا و ارسال‪ ،‬برای گیرنده و یا هر شخص دیگر وجود نداشته باشد‬
‫غیرقابل استفاده مجدد باشد؛‬
‫•‬
‫هرگونه پیام قبلی که دوباره برای گیرنده ارسال شده باشد‪ ،‬قابل تشخیص باشد‬
‫‪7‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫امضای دیجیتال متقارن‬
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com‬‬
‫گواهی نامه ها (‪)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, Hassanzade@Gmail.com‬‬
H.M.Hassanzade, Hassanzade@Gmail.com
13
‫الگوریتم های‬
‫رمزنگاری‬
‫یک الگوریتم رمزنگاری ساده‬
H.M.Hassanzade, Hassanzade@Gmail.com
14
* A SIMPLE ENCRYPTION/DECRYPTION ALGORITHM FOR NUMBERS
‫کلیات روش‬
‫• مبتنی بر یک آرایه ‪ 16‬تایی از اعداد‬
‫• هر آرایه‪ ،‬متشکل از ‪ 10‬عدد یک رقمی از ‪ 0‬تا ‪( 9‬بدون تکرار)‬
‫• ترتیب اعداد در آرایه ها می تواند به صورت دلخواه باشد‬
‫• رمزنگاری شامل دو مرحله‪:‬‬
‫• مرحله نخست‪ :‬جایگزینی هر عدد با موقعیت متناظر با آن در آرایه‬
‫• مرحله دوم‪ :‬جایگزینی اعداد جایگزین شده با کاراکترهای بی معنی‬
‫‪15‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫مثال‬
‫• مرحله نخست‬
Input number
3
2
8
8
2
7
1
0
9
H.M.Hassanzade, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
•
RSA
H.M.Hassanzade, Hassanzade@Gmail.com
18
MCGRAW-HILL COMPANIES, INC ‫برگرفته از اسالیدهای‬
‫الگوریتم رمزنگاری ‪RSA‬‬
‫• رایج ترین الگوریتم رمزنگاری کلید عمومی‬
‫• مباحث پیش رو‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫انتخاب کلید‬
‫رمزنگاری‪/‬رمزگشایی‬
‫مثال‬
‫مالحظات امنیتی ‪RSA‬‬
‫‪19‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫ انتخاب کلید‬: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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
c = me mod n
17
m = cd mod n letter
12
l
23
encrypt:
letter
H.M.Hassanzade, Hassanzade@Gmail.com
24
‫ در یک نگاه‬:RSA
H.M.Hassanzade, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
26
8. Short Message must be padded
DES
H.M.Hassanzade, Hassanzade@Gmail.com
27
MCGRAW-HILL COMPANIES, INC ‫برگرفته از اسالیدهای‬
DES
Data Encryption Standard •
‫• رمزنگاری با کلید متقارن‬
H.M.Hassanzade, Hassanzade@Gmail.com
28
)‫• رمزنگاری بلوکی (قطعه ای‬
H.M.Hassanzade, Hassanzade@Gmail.com
29
‫ ساختار کلی‬:DES
‫ تولید کلید‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
30
Compression P-box
H.M.Hassanzade, Hassanzade@Gmail.com
31
‫ جایگشت ابتدایی و پایانی‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
32
‫ مرحله میانی‬16 ‫ یک مرحله از‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
33
F ‫ تابع‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
34
P ‫ جعبه بسط‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
35
S ‫ جعبه تقلیل‬:DES
H.M.Hassanzade, Hassanzade@Gmail.com
36
‫ رمزگشایی‬:DES
‫‪HASH‬‬
‫برگرفته از اسالیدهای پرداخت الکترونیک – دانشگاه صنعتی امیرکبیر‬
‫‪37‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫‪HASH‬‬
‫• نگاشت پیغام با طول متغیر به پیغامی با طول ثابت‬
‫‪38‬‬
‫‪H.M.Hassanzade, Hassanzade@Gmail.com‬‬
‫ اصول‬: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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
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, Hassanzade@Gmail.com
41
‫پایان‬
Download