1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mật mã hóa ECC( an ninh mạng viễn thông)

19 1,6K 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 390,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ví dụ, trong hệ mật mã công khai RSA, bài toán một chiều được sử dụng là bài toán phân tích 1 số nguyên dương rất lớn thành tích của 2 thừa số nguyên tố, hệ mật mã Diffie-Hellman được xâ

Trang 1

Từ xa xưa đến nay, vấn đề bảo đảm an toàn cho tài sản luôn là một vấn đề quan trọng trong đời sống Tài sản có thể là bất cứ thứ gì có giá trị, từ cụ thể như đồ vật, tiền bạc … cho đến trừu tượng như thông tin Ngày nay, con người không chỉ trao đổi thông tin qua qua trò chuyện trực tiếp, thư giấy mà còn qua các hệ thống truyền thông Do đó vấn đề bảo đảm an toàn cho hệ thống truyền thông cũng như thông tin được truyền trên các hệ thống đó là một yêu cầu rất quan trọng Mạng điện thoại di động là mạng lưới truyền thông không dây lớn nhất hiện nay với 6,8 tỉ thuê bao

Bên cạnh sự gia tăng không ngừng về quy mô, dịch vụ, mạng di động cũng đang phải đối mặt với những thách thức bảo mật ngày một lớn hơn Kết nối mở qua đường vô tuyến, người dùng đầu cuối không cố định vị trí, có thể kết nối đến các mạng ngoài như Internet … là những nhân tố khiến người dùng/mạng lưới có thể bị mất an toàn Các mạng di động thế hệ sau đã chú trọng

và có những cải tiến về mặt bảo mật tuy nhiên khả năng bị tấn công vẫn luôn hiện hữu Qua thời gian, đã có một số thuật toán mã hóa và cơ chế bảo mật bị chinh phục Cùng với đó, sự xuất hiện của các dịch vụ mới trên nền di động, đặc biệt là các dịch vụ thương mại điện tử dẫn tới yêu cầu tìm kiếm những phương pháp bảo mật mới có độ an toàn cao hơn

Do vậy, nghiên cứu ứng dụng của các loại mật mã hóa mới như mã hóa đường cong Elliptic là một nhu cầu cần thiết

Page 1

Trang 2

Chương 1: Tổng quan về bảo mật.

1.1 Tổng quan

1.1.1 Khái niệm bảo mật

Bảo mật trong hệ thống thông tin được hiểu các biện pháp nhằm giảm thiểu

đến mức tối đa khả năng bị xâm hại thông tin/tài nguyên Trong đó "khả

năng bị xâm hại" là bất kỳ điểm yếu nào có thể bị lợi dụng để tấn công hệ

thống hoặc thông tin trong hệ thống đó

1.1.2 Các hình thức tấn công

Để hiểu rõ hơn về cơ chế bảo mật, trước tiên ta cần quan tâm tới các kiểu

tấn công Có nhiều cách để phân chia, tuy nhiên dựa theo hình thức thực

hiện tấn công, có thể chia thành hai nhóm lớn: tấn công Chủ động và tấn

công Bị động

a Tấn công chủ động

Là hình thức tấn công dưới dạng tác động đến tài nguyên hay dữ liệu của hệ

thống và làm ảnh hưởng đến hoạt động của hệ thống đó Tấn công chủ động

có thể phân chia thành các nhóm nhỏ sau: Tấn công giả mạo, tấn công lặp

lại, tấn công sửa đổi thông tin và tấn công từ chối dịch vụ

b Tấn công bị động:

Tấn công bị động là hình thức tấn công dưới dạng thu thập, phân tích thông

tin trên đường truyền mà không gây nguy hại tới tài nguyên hay dữ liệu của

hệ thống Tấn công bị động rất nguy hiểm và khó bị phát hiện bởi nó không

làm thay đổi thông tin truyền Có hai loại tấn công thụ động phổ biến là nghe

lén và theo dõi lưu lượng

1.1.3 Các dịch vụ bảo mật

Dựa vào các hình thức tấn công, chuẩn kiến trúc bảo mật cho mô hình OSI

X.800 đưa ra 5 dịch vụ bảo mật Đó là các dịch vụ :

a Bảo mật dữ liệu

b Dịch vụ xác thực

c Dịch vụ điều khiển truy cập

d Toàn vẹn dữ liệu

e Chống chối bỏ

Trang 3

1.2 Tổng quan về mã hóa

1.2.1 Định nghĩa

Mã hóa là việc ứng dụng toán học vào việc biến đổi thông tin thành một

dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần được bảo

vệ Một phương pháp mã hóa đầy đủ, có thể áp dụng cho một hệ thống thông

tin được gọi là một hệ mã hóa

Có 2 loại mã hóa chính: mã hóa đối xứng (mã hóa quy ước) và mã hóa bất

đối xứng (mã hóa công khai)

1.2.2 Mã hóa đối xứng

Mã hóa đối xứng là loại mã hóa mà quá trình mã hóa và giải mã một thông

điệp sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa đối

xứng (symmetric key)

Mã hóa đối xứng gồm các loại mã hóa sau:

a Mã hóa dịch chuyển

b Mã hóa thay thế

c Mã hóa bằng phép nhân

d Phương pháp DES (Data Encryption Standard)

e Mã hóa AES (Advanced Encryption Standard)

1.2.3 Mã hóa bất đối xứng

Trong mã hóa quy ước, có một vấn đề phát sinh là việc quy định chung mã

khóa k giữa người gửi và người nhận Khóa này cần được thay đổi để đảm

bảo bí mật và mỗi khi thay đổi, nó phải được trao đổi giữa hai bên

Mã hóa bất đối xứng (mã hóa công khai) vận dụng một ý tưởng khác so với

mã hóa quy ước Trong đó, nó sử dụng hai loại khóa khác nhau trong cùng

một cặp khóa: khóa công khai (public key) được công bố rộng rãi trên kênh

truyền, khóa riêng (private key) chỉ do một người nắm giữ Loại mã hóa này

khai thác những ánh xạ mà việc thực hiện ánh xạ ngược rất khó Chỉ khi

biết được mã khóa riêng thì mới có thể thực hiện được ánh xạ ngược

Hiện nay có hai phương pháp mã hóa công khai phổ biến được sử dụng là

RSA và ECC

Trang 4

Chương 2: Hệ mật mã công khai ECC

2.1 Hệ mật mã công khai ECC

Như đã nêu ở các phần trước, cơ sở toán học để xây dựng một hệ mật mã công khai là các bài toán một chiều Tức các bài toán “dễ giải” theo chiều thuận, nhưng “rất khó giải” theo chiều ngược lại Ví dụ, trong hệ mật mã công khai

RSA, bài toán một chiều được sử dụng là bài toán phân tích 1 số nguyên dương rất lớn thành tích của 2 thừa số nguyên tố, hệ mật mã Diffie-Hellman được xây dựng dựa vào bài toán logarit rời rạc Tương tự như hệ mật mã Diffie-Hellman,

hệ mật mã đường cong Elliptic (ECC – Elliptics Curve Cryptography) được xây dựng trên cơ sở bài toán logarit trên đường cong Elliptic

Xét phương trình trên đường cong Elliptic Q=k.P, trong đó P, Q ∈ E(a,b).Từ điểm P cho trước và hệ số k

Ta có thể dễ dàng tính ra được điểm Q dựa vào các thuật toán nhân, trong đó có nhiều thuật toán nhanh, và có thể được tối ưu hóa bằng phần cứng Tuy nhiên để tìm ra k từ điểm Q và điểm P thì là một bài toán “rất khó” nếu hệ số k là một số lớn 224 bit

Ta xét một ví dụ :

Xét tập các điểm thuộc đường cong (9, 17) được xác định bởi phương trình :

mod23=(+9x+17) mod 23 Biết P = (16, 5), Q= (4, 5) Tìm hệ số k thỏa mãn Q= k.P?

Phương pháp đơn giản và tự nhiên nhất để tính hệ số k là ta nhân các hệ số nguyên tăng dần từ 2 với P rồi so sánh với điểm Q, ta có các kết quả sau:

P = (16, 5), 2P = (20, 20), 3P = (14, 14), 4P = (19, 20), 5P = (13, 10), 6P = (7, 3), 7P = (8, 7), 8P = (12, 17), 9P = (4, 5)

Đến đây, ta tính được 9P = Q = (4,5) Do vậy hệ số k phải tìm là k = 9

Trong thực tế, các ứng dụng ECC sẽ phải sử dụng hệ số k có độ lớn để tránh bị tấn công vét cạn

Hệ mật mã công khai ECC là hệ mật mã được xây dựng trên cơ sở bài toán lograrit rời rạc trong phép nhân xét trên tập các điểm thuộc đường cong Elliptic

Hệ mật mã công khai ECC cung cấp đầy đủ 4 dịch vụ an ninh: Mã hóa, xác

Trang 5

thực, ký số và trao đổi khóa Trong phần này, ta sẽ xét các thuật toán của các dịch vụ an ninh đó

2.1.1 Các tham số của hệ mật mã hóa ECC

Hiện nay, để tấn công hệ mật mã ECC, các nhà nghiên cứu công bố 4 phương pháp chính : Tấn công Pohlig-Hellman, tấn công Polland rho, tấn công theo

phương pháp giải tích “index-calculus”, và tấn công đẳng cấu (Isomorphism

Attacks) Việc nghiên cứu lựa chọn các tham số của hệ mã hóa ECC nhằm mục đích khắc phục những điểm yếu của thuật toán, để tránh được những hình thức tấn công kể trên Do vậy, việc sử dụng và lựa chọn các tham số ECC là một việc rất quan trọng

a. Tham số hệ mật mã ECC trên trường nguyên tố hữu hạn Fp

Tổ chức tiêu chuẩn mật mã hiệu quả (SECG – Standards for Efficient Cryptography Group) trong bản khuyến nghị “SEC2 : Recommended Elliptic Curve Domain Parameters” (version 2 - 2010), đã định nghĩa các tham số của hệ mật mã ECC trên truyền nguyên tố hữu hạn Fp, bao gồm :

T=(p,a,b,G,n,h) Trong đó :

• p: là số nguyên dương xác định trường nguyên tố hữu hạn Fp và

[p] {192,224,256,384,512}

• a,b : Là 2 hệ số a,b ∈ Fp, xác định đường cong Elliptic E(Fp) trên trường

Fp :

E: mod p=( +ax+b) mod p

• G: Là điểm cơ sở thuộc E(Fp)

• n : Là một số nguyên tố và là thứ tự của điểm cơ sở G

• h : Là phần phụ đại số (cofactor) thỏa mãn h= #E(Fp)/n Với #E(Fp) là

số các điểm thuộc đường cong E(Fp)

b. Tham số hệ mật mã ECC trên trường nhị phân hữu hạn

Tương tự như phần a, SECG định nghĩa các tham số của hệ mật mã ECC trên trường nhị phân hữu hạn Bao gồm các tham số sau:

Y=(m,f(x),a,b,G,n,h) Trong đó :

• m: là số nguyên dương xác định trường nhị phân hữu hạn và

m {163,233,239,283,409,571}

Trang 6

• f(x) : Là một đa thức bất khả quy, có bậc m và là đa thức cơ sở biểu diễn trường

• a,b : Là 2 hệ số a,b ∈ xác định đường cong Elliptic E() trên

trường :

E:+x.y= + a+b

• G: Là điểm cơ sở thuộc E(Fp)

• n : Là một số nguyên tố và là thứ tự của điểm cơ sở G

• h : Là phần phụ đại số (cofactor) thỏa mãn h = #E ()/n Với #E() là số các điểm thuộc đường cong E()

2.1.2 Các kiểu dữ liệu trong hệ mật mã ECC

Để có thể áp dụng các phương pháp mã hóa, giải mã, ký số và xác thực các thông điệp, việc đầu tiên là phải có bước chuyển đổi dữ liệu từ các dạng khác nhau để áp dụng thuật toán Ví dụ, thông điệp sẽ có dạng tổng quát là các xâu bit Tuy nhiên các xâu bit này sẽ không thể được sử dụng trong các thao tác điểm trên đường cong Elliptic, do vậy ta phải có các bước chuyển đổi

Hệ mật mã công khai ECC sử dụng 5 kiểu dữ liệu có thể chuyển đổi được cho nhau đó là : Kiểu xâu bit, kiểu số nguyên, kiểu điểm trên đường cong Elliptic, kiểu xâu Octect, và kiểu thành phần trường ( các thành phần trong trường Fp hoặc )

Các quan hệ chuyển đổi các kiểu dữ liệu được mô tả trong hình 3.5 dưới đây:

Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu

2.1.3 Thuật toán sinh khóa

Trang 7

Thuật toán sinh khóa của ECC đơn giản hơn thuật toán của sinh khóa của RSA, được thực thi theo các bước sau:

Thuật toán 3.2 : Thuật toán sinh khóa ECC

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc

T(m,f(x),a,b,G,n,h)

Output : Khóa công khai và khóa bí mật của ECC

1 : Sinh ngẫu nhiên số nguyên dương k với k < n

2 : Tính điểm Q = k G

3: Khóa bí mật là (k,Q), khóa công khai là Q

2.1.4 Thuật toán trao đổi khóa ECDH

Hệ mật mã ECC có khả năng cung cấp dịch vụ trao đổi khóa an toàn mà không đòi hỏi các bên phải thiết lập trước một khóa bí mật chia sẻ Phương pháp trao đổi khóa này này tương tự với phương pháp trao đổi khóa Diffie-Hellman nên ta gọi đây là thuật toán ECDH (Elliptic Curve Diffie-Diffie-Hellman) Thuật toán ECDH được thực thi theo các bước sau:

Thuật toán 3.3 : Thuật toán trao đổi khóa ECDH

Input : Alice và Bob thống nhất đường cong Elliptic với tham số T(p,a,b,G,n,h)

hoặc T(m,f(x),a,b,G,n,h)

Ouput : Khóa công khái của Alice, Bob và khóa chia sẻ được thiết lập

1 : Alice sinh ngẫu nhiên 1 số nguyên dương < n

2 : Alice tính điểm PA = x G và gửi cho Bob

3: Bob sinh ngẫu nhiên 1 số nguyên dương < n

4: Bob tính điểm = x G và gửi cho Alice

5: Khóa công khai của Alice là , Alice tính khóa bí mật chia sẻ

K = x Khóa công khai của Bob là , Bob tính khóa bí mật chia sẻ

K = x

Alice và Bob có khả năng tính toán độc lập được khóa chia sẻ K bởi :

K=x =x(x G)= x(x G)= x

Trang 8

2.1.5 Thuật toán chữ ký điện tử ECDSA

Hệ mật mã công khai ECC cung cấp dịch vụ chữ ký điện tử tương tự như hệ mật mã RSA, thuật toán ký số ECDSA (Elliptic Curve Digital Signature Algorithm) đã được chuẩn hóa và được đưa vào các bộ chuẩn như ANSI X9.62, FIPS 186-2, IEEE 1363-2000 và ISO/IEC 15946-2 Thuật toán ECDSA được mô tả chi tiết trong “SEC1: Elliptic Curve Cryptography” , gồm các bước sau:

Thuật toán 3.4 : Thuật toán tạo chữ ký điện tử ECDSA

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h), khóa bí mật k và thông điệp M

Output : Chữ ký điện tử của M

1: Tính giá trị băm của thông điệp M, sử dụng thuật toán băm SHA1, được giá

trị băm H = SHA1(M) Chuyển xâu băm về kiểu số nguyên được số nguyên e

2: Sinh ngẫu nhiên d (0 < d < n) Tính điểm R = d x G Điểm R có tọa độ (, )

3: Chuyển tọa độ từ kiểu trường sang kiểu số nguyên

Tính r = mod n

Nếu r = 0, quay về bước 2

4: Tính giá trị s=((e+k x r)x ) mod n Nếu s = 0, quay về bước 2.

5: Chữ ký điện tử thông điệp M là (r,s)

2.1.6 Thuật toán xác thực chữ ký điện tử ECC

Khi Bob nhận được thông điệp M với chữ ký điện tử (r,s) được tạo bởi thuật toán ECDSA Bob sẽ tiến hành xác thực theo thuật toán sau :

Thuật toán 3.5 : Thuật toán xác thực chữ ký điện tử ECC

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc

T(m,f(x),a,b,G,n,h), khóa công khai bên gửi Q, thông điệp gửi m, và chữ ký (r,s)

Output: Chữ ký điện tử có hợp lệ không

1 : Nếu 0 < r < n thì tiếp tục bước tiếp theo, nếu không trả về kết quả không hợp

lệ và kết thúc

2 : Tính giá trị băm của thông điệp m, sử dụng thuật toán băm SHA1, ta được

giá trị H = SHA1(m) Chuyển xâu băm nhận được về kiểu số nguyên ta được số

e

Trang 9

3 : Tính nghịch đảo của s theo modulo n: w = s-1 mod n

4 : Tính hai giá trị : u1=(e x w) mod n và u2=(r x w) mod n

5 : Tính điểm R= u1x G+ u2 X Q Chuyển hoành độ của R là xR từ kiểu trường sang kiểu số nguyên

6 : Nếu ≡ r (mod n) thì thông báo chữ ký hợp lệ và ngược lại.

Theo thuật toán ECDSA ta có :

s ≡ ( e + k x r) d-1( mod n)

d ≡ ( e+ k x r) s-1( mod n)

d ≡ ex s-1+k x r x s-1 ≡ e x w+ k x r xw ≡ u1+ k x u2(mod n)

Theo bước 5 :

R= u1 x G+ u2 x Q R= u1 x G+ u2 x k x G=( u1+ u2 x k)x G

R= d x G

Do vậy R = (xR, yR), và = r (mod n)

2.1.7.Mô hình mã hóa tích hợp đường cong Elliptic - ECIES

Thuật toán mã hóa và giải mã của mô hình ECIES được đề xuất bởi 2 nhà khoa học Bellare và Rogaway , và là một biến thể của hệ mật mã hóa công khai ElGamal ECIES đã được chuẩn hóa bởi chuẩn ANSI X9.63 và ISO/IEC

15946-3 và được nêu trong chuẩn “SEC1: Ellitptic Curve Cryptography”

Trong ECIES, mô hình chia sẻ khóa Diffie-Hellman được sử dụng để 2 bên truyền thông thiết lập và chia sẻ 2 khóa k1 và k2 Trong đó k1 sẽ được sử dụng

để mã hóa thông điệp truyền bằng hệ mật mã khóa đối xứng, k2 được sử dụng

để xác thực kết quả của bản mã

Mô hình ECIES sử dụng các hàm chức năng sau:

• KDF (Key Derivation Function) : Là hàm sinh khóa (k1, k2) từ điểm R

và hoành độ xz của điểm Z

• ENC : Là 1 hàm mã hóa khóa đối xứng Ví dụ như AES

• MAC : Hàm sinh mã xác thực thông báo Ví dụ HMAC

a. Thuật toán mã hóa ECIES

Thuật toán mã hóa của ECIES được thực thi như sau :

Trang 10

Thuật toán 3.6 : Thuật toán mã hóa ECIES

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc

T(m,f(x),a,b,G,n,h), khóa công khai bên nhận Q, thông điệp gửi M

Output: Bản mã của thông điệp M

1 : Sinh ngẫu nhiên số nguyên dương d thỏa mãn 0 < d < n

2 : Tính điểm R= d x G và điểm Z=h x d x Q Nếu Z = 0 thì quay lại bước 1.

3 : Tính cặp khóa (k1, k2) = KDF(xz, R)

4 : Tính bản mã sử dụng khóa k1 : C = ENC(k1, M)

5 : Tính mã xác thực thông báo cho bản mã sử dụng khóa k2 : t= MAC(k2, C)

6: Trả về bản mã (R, C, t)

b. Thuật toán giải mã ECIES

Ngược lại với thuật toán mã hóa, thuật toán giải mã được thực thi như sau: Thuật toán 3.6 : Thuật toán mã hóa ECIES

Input : Đường cong Elliptic với tham số T(p,a,b,G,n,h) hoặc

T(m,f(x),a,b,G,n,h), khóa bí mật k, và bản mã (R, C, t)

Output: Bản rõ M hoặc thông báo thông điệp không hợp lệ

1 : Kiểm tra điểm R có thuộc đường cong Elliptic không Nếu không thuộc, trả

về thông báo không hợp lệ

2 : Tính điểm Z=h x k xR .Nếu Z = 0 thì trả về thông báo không hợp lệ

3 : Tính cặp khóa (k1, k2) = KDF(xz, R)

4 : Tính t’ = MAC(k2, C) Nếu t’ ≠ t, trả về thông báo không hợp lệ.

5 : Giải mã M = ENC(k1, C)

6 : Trả về bản rõ M

Như đã nêu ở trên, bản chất của việc mã hóa và giải mã của ECIES là thiết lập một khóa phiên rồi sử dụng khóa phiên đó để mã hóa và giải mã theo mô hình mật mã khóa chia sẻ Khóa phiên trong mã hóa và giải mã chỉnh là điểm Z Thật vậy, ta có :

Z=h x d x Q= h x d x (k x G)=h x k x (d x G)= h x k x R

2.2 Ưu điểm của hệ mật mã đường cong Elliptic

Theo nội dung đã trình bày ở phần trên, ta nhận thấy hệ mật mã ECC cung cấp tất cả các dịch vụ an ninh của 2 hệ mật mã công khai RSA và Diffie-Hellman Cụ thể hệ mật mã ECC cung cấp các dịch vụ an ninh sau:

• Trao đổi khóa an toàn

Ngày đăng: 19/04/2016, 17:55

HÌNH ẢNH LIÊN QUAN

Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu - Mật mã hóa ECC( an ninh mạng viễn thông)
Hình 3.5 Quan hệ chuyển đổi giữa các kiểu dữ liệu (Trang 6)
Bảng 2.1. So sánh khóa RSA và ECC với cùng mức độ an toàn - Mật mã hóa ECC( an ninh mạng viễn thông)
Bảng 2.1. So sánh khóa RSA và ECC với cùng mức độ an toàn (Trang 11)
Bảng 3.1: Các giai đoạn trong vòng đời chứng thư - Mật mã hóa ECC( an ninh mạng viễn thông)
Bảng 3.1 Các giai đoạn trong vòng đời chứng thư (Trang 14)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w