speeding up secure web transactions using elliptic curve cryptography

19

Upload: benaam

Post on 05-Dec-2014

237 views

Category:

Technology


0 download

DESCRIPTION

Elliptic Curve Cryptography (ECC) is emerging as an attractive alternative to traditional public-key cryptosys- tems (RSA, DSA, DH). ECC offers equivalent security with smaller key sizes resulting in faster computations, lower power consumption, as well as memory and bandwidth sav- ings. While these characteristics make ECC especially ap- pealing for mobile devices, they can also alleviate the com- putational burden on secure web servers. This article studies the performance impact of using ECC with SSL, the dominant Internet security protocol. We cre- ated an ECC-enhanced version of OpenSSL and used it to benchmark the Apache web server. Our results show that, under realistic workloads, an Apache web server can han- dle 13%–31% more HTTPS requests per second when using ECC-160 rather than RSA-1024 reflecting short-term secu- rity levels. At security levels necessary to protect data be- yond 2010, the use of ECC-224 over RSA-2048 improves server performance by 120%–279%.

TRANSCRIPT

Page 1: Speeding up secure web transactions using Elliptic Curve Cryptography

����� ����� ����� �������������� ���� �������������� ��� ���� ��� ������

��� ����� � ��� ��� ��������� ����� �� �������!��� �������

����"��� �� ������ #�� $��� ������ % ��� �������� ���&� ������������

���'��( ��"� �������" �� ����������� )���*����� ��� ������� �+ %�+

��� ,-. /00,

Page 2: Speeding up secure web transactions using Elliptic Curve Cryptography

���� �����

������� ����� ��

�������� � ��� ����������� ����� ����� �� ������� ���� ����� ��������

���������� �� ��� � � !�" �� ���

� ����� ��� �# � � �� ���� ������� �����

Page 3: Speeding up secure web transactions using Elliptic Curve Cryptography

��� ���� ��� � ��� � ��� ��

�������

��� �� ���� �������� �������

��� ����������� �����������������

�� ��� �� ������ ������ ���������

������� ���� ���� ������������������ �� ����� �����

������� ���� ������� �������� ������� ������ �����������

������ �����������

�������

�������

Page 4: Speeding up secure web transactions using Elliptic Curve Cryptography

�������� ��� ���� �����

������������ ����� �������� � ���������� ������ �� � ������ ��� ��� � ����

� ����� ��� � ���������� �������� ���� � ��� ��� �� �������� � � ��� ��

������� ������ � ��� ������ �� ��� ��

���� � � ��������! � ��"#$%� �"$#� # � # %&

'��� ����� ��� � $

���� ��� ��� ���� ����() *�)+� *,) ��� ���**+ +�)�( ++� ��� ����*+( -�).+ +/, ����*0+ .�,() -(� ����+/, */�-,) /+* ���

1���� � � � ��! �

Page 5: Speeding up secure web transactions using Elliptic Curve Cryptography

�������� ��� ���� �����

����������� ����� ���� ��� ����� ����� �

� ��� ����� ������ ������ � � � ������ ��� � �������� ���� �

!���� "���� #�� ���� $������%������� �!"#$��� ����� �� ����� &��'� ( �) *��� � ��������&��'�

+��� ���,� ���� �� �����& �%�

������%� -���.��R=P1+P2

P2

P1

'��/0 �/ �

Page 6: Speeding up secure web transactions using Elliptic Curve Cryptography

������� �����

������ ��� � ������

����� ������ ����� ���������������

�� �������������

���

������

�!���"�����

#�$��� �

#�$���%��

�����������

��������������

���

���

� ��

�������

��� �

��

��

���

���

����&��� "��������� ����������

���������

��

���������

�������������� !"#$�

����� "������� �'���($���� �))��*�!��

������ ���������'���(� �$��� ���*������

������ �$����'��� �������!�* +�������!���* � � �����

����&��� "��������� '(( ��� ������ $�����*(( ��" �,�- +�� ���� �"

�����%

�����

.�� ���*/��

��������&��'���#

�!��

Page 7: Speeding up secure web transactions using Elliptic Curve Cryptography

������ ������ ��� � �� ���

��������� �� ���� ���� ���������� ��������������� ��� � �� ������ � ������ �����

������ ����� ���� ������ ����� � ������ ������������� ������� ����� ��� ��� �� �� ���� �� �

!"������ �����# ����$� ���� �%� ��� �� ������������� � ��� ������ ��� ��� ������ ����

�&'() "'�*'�

Page 8: Speeding up secure web transactions using Elliptic Curve Cryptography

��� �������������������

���������

���������

�������� ���

������������� ����

�������� ����������

������������

�������� ���

������������� ���

�������� ���������

��� ��������������

��������

����� ��� � �

��� ��������������

��������

����� ��� � �

���������� ��� ����

������ ������� �����

� � ��� � � ��� � � �

����� � � ���� ������� ����������� �

��� �������� �������� �� ������ ��� ��� ��

!����� �� � ���

������������

���������

���������

�������� ���

������������

�������� ���

�������� ���������

��� ��������������

��������

����� ��� � � ����� ��� � �

����� �������� ������ ���"��������� �������� ���� � �����

�� � � �

������ ������ �� �� ���������� ����� ��� ���������� �� ����� ����

Page 9: Speeding up secure web transactions using Elliptic Curve Cryptography

���� ��������� � �������������� ���������������������������

������������

���������

���������

�������� ���

������������� ����

�������� ����������

������������

�������� ���

������������� ���

�������� ���������

��� ��������������

��������

����� ��� � �

��� ��������������

��������

����� ��� � �

���������� ��� ����

������ � ����� ���� ����������

����� � � ���� ������� ����������� �

������ �� � ���

������������

���������

���������

�������� ���

�������� ���

������������� ���

�������� ���������

��� ��������������

��������

����� ��� � � ����� ��� � �

����� �������� ������ ����� ����� ���� ����� ������

����� �� ���� ������ ��� ���

������ ����� �� ���� ������ ������ ��� �� ������

�� �������! ����"����#� ����"��#� �����"����#� �����"��#

Page 10: Speeding up secure web transactions using Elliptic Curve Cryptography

��

����������� ���� ���������������

���������

���������

����� ���� ����

���������������� �

��������

����� ���� ����

������ ���� ������ ������ ��

���� ������ ����� ������ ������� ���� ������

����� ��� ��� ����������������������

������� �� �� ������ �� �� ������

������������

���������

���������

���������������� �

��������

����� ���� ���� ����� ���� ����

��� ��������� ������������� ��������� ���

��������� ����� ���� ����������� ����

����� ���� ����

���������� ���������� �� ��� ���� ���

Page 11: Speeding up secure web transactions using Elliptic Curve Cryptography

��

���������� ���� �����

��������� ���� � ������ ������ �� ����� � ������������� ��������� ������� �� �� � � ����� ��� ��

!� � ������ �"# �� $"# %��� &"# �����

'%� ��� � ������� �������� �� ())* �����+������� ����������� (,$-.* �����+

�������� �����/0��1� �� ����� ������� 1�� ���� �

�21����� ��� �%� ��1��� ������� ����� �������� ����������� ���� ������ ���� ������ ����� ������

!�������� �1���� 3-"-4.� 51� 66�/67�!/3""&"&"8�8""�9� :����6!�0; <<< 1��������

Page 12: Speeding up secure web transactions using Elliptic Curve Cryptography

��

������������ ��������

�������� ������ ������ ����� ������� �������

��� ������� ��������� ��������� ������ ��

���!� ���"#�$���� �����%��� ��������� ��������%& ����� �������� �% � ��%� "��%�� %'�� (�&)��*� �����%���

���)��� ��)��� ���)��� ��)�+,� ���)�� ��)�� -.�$� /$�0 ,1�� -12+ ,1-2 �21 2 +1�� +�1�-

���3��� �2�1, �� 1, �+-1� ,�1 ��+1+ �21-4��" ��%�# �1 � �1� 21� � �1� ��1� � �1�

5�&)��*� ��%�# �1� � �1 �1� � -1� �1� � �1�

Page 13: Speeding up secure web transactions using Elliptic Curve Cryptography

��

�������� ������� ����

�������� �� � ������� �� �������

RSA

-102

4

EC

C-1

60

RSA

-153

6

EC

C-1

92

RSA

-204

8

EC

C-2

24

RSA

-102

4

EC

C-1

60

RSA

-153

6

EC

C-1

92

RSA

-204

8

EC

C-2

24

RSA

-102

4

EC

C-1

60

RSA

-153

6

EC

C-1

92

RSA

-204

8

EC

C-2

24

RSA

-102

4

EC

C-1

60

RSA

-153

6

EC

C-1

92

RSA

-204

8

EC

C-2

24

0

5

10

15

20

25

30

35

40

45

50

55

60

65

70

75

Other

SHA

RC4

Public-key

HT

TP

S re

ques

t han

dlin

g tim

e (m

s)

0 KB 10 KB 30 KB 70 KB

Page 14: Speeding up secure web transactions using Elliptic Curve Cryptography

��

�������� ��� �� �� �������

���� ��� �� � ���� � �� ��������� ���� ���� ������� ������� �� ���� �������� �� �� ��!�� � " � �!#�

0 20 40 60 80 100 120 140 1600.025

0.050

0.075

0.100

0.125

0.150

0.175

0.200

0.225

0.250

0.275

0.300

0.325

0.350

0.375

0.400

0.425

Requests per second

Firs

t-R

espo

nse

Tim

e (s

)RSA-2048

ECC-160

ECC-224

RSA-1024Reuse: 66%Size: 30KB

Page 15: Speeding up secure web transactions using Elliptic Curve Cryptography

��

������ �� ���� ���

���� ��� ����� ��� ����������� �� ��������������� ������ ��� ��������� � ���� ��� �������� �������� ������

0% 20% 40% 60% 80% 100%0

20

40

60

80

100

120

140

160

180

200

220

% Session Reuse

Fetc

hes

per

seco

nd

ECC-160

ECC-224

RSA-2048

RSA-1024

Size: 30KB

Page 16: Speeding up secure web transactions using Elliptic Curve Cryptography

��

������� ������ ����� ��

������� �� ������

��� ������������� �� ��������� ������ �������� ������ ������ ������ !��� "�� ��� ���"��#$ ���� ������%

&��%���� ��� ���' (���' ��� )�� �������*+�,� �$ � �- ��� .� � �������

��%���%�

&�/0 ���������,������ 1��� ���'� ����� �� /��23�����4���4� �4��4�5��-�6

��� �� �4��� ����������� ��$ ��� 7//8� ����9

Page 17: Speeding up secure web transactions using Elliptic Curve Cryptography

��

������� ����� �� ��������� ������� ��� �������� ������� ���� ��� ������ ����

Page 18: Speeding up secure web transactions using Elliptic Curve Cryptography

��

�����������

����� ����� ���������

��� ������ �� �� ��� ��� ������� ��������� �� ������ �� ���� ����

����� �� � ������ �� ������� � ���� ���� ���� ������ �� ����!"#$�� �%�&�'&��� ( ����� ���&'��%� ) �%�&�'&�����*

+�� �������, ���������� ������ � �-�.������� ���� �� '�� �-� '����� �' ���

Page 19: Speeding up secure web transactions using Elliptic Curve Cryptography

������� ����������

�� �� �� �� ��� ����� ����������

��� ����������������� ��������� ��