LỰA CHỌN ĐƢỜNG CONG ELLIPTIC PHÙ HỢP

Một phần của tài liệu Nghiên cứu một số chữ ký đặc biệt trên đường cong Elliptic (Trang 57)

Sau khi xem xét các phƣơng pháp tấn công, chúng ta thấy việc chọn một đƣờng cong elliptic thế nào ảnh hƣởng đến tốc độ, tính hiệu quả, độ dài khóa và tính an toàn của hệ mật mã trên đƣờng cong này. Dù E, K và điểm cơ sở G E cố định và

công khai nhƣng việc chọn các tham số này phù hợp là bƣớc quan trọng nhất.

2.4.1. Trường K

Trƣớc hết chúng ta xem xét sự ảnh hƣởng của trƣờng K đến cấu trúc nhóm của

E(K) và các hệ mật mã trên E(K).

Một đƣờng cong elliptic trên một trƣờng hữu hạn tạo thành nhóm Abel đƣợc sử dụng trong mật mã học. Một ví dụ là việc chọn trƣờng F2r giúp thực hiện các phép tính nhanh và dễ dàng triển khai đƣợc trên các thiết bị cứng. Tuy nhiên, các đƣờng cong trên trƣờng F2rcó thể bị tấn công bởi MOV, trong khi các đƣờng cong trên trƣờng Fp (p là số nguyên tố lớn) lại chống lại đƣợc kiểu tấn công này. Rõ ràng, các đƣờng cong elliptic trên trƣờng nguyên tố Fp và trên trƣờng Fqncó các tính chất giúp chúng có thể thực thi đƣợc trên các thiết bị mà vẫn đảm bảo an toàn.

Một chú ý nữa là việc tính số điểm trên #E(K). Với #E(K) thích hợp có thể là

điều kiện cho phép thực hiện tấn công Pohlig – Hellman. Có thể dùng thuật toán đơn định thời gian đa thức Schoof để tính #E trên trƣờng hữu hạn Fqvới đặc số khác 2 hoặc 3. Tốc độ của thuật toán Schoof phụ thuộc vào kích thƣớc và đặc số của trƣờng

K.

Ví dụ với r nhỏ, tính #E(F2r) có thể nhanh hơn một chút so với tính #E(Fp), trong đó p lớn hơn đáng kể so với 2r, nhƣng khi r tăng thì tính #E(F2r) mất nhiều thời gian hơn tính #E(Fp).

2.4.2. Dạng của đường cong elliptic

Trƣớc hết, chúng ta cần xem các dạng đƣờng cong elliptic. Trên trƣờng Fq có hai lớp đƣờng cong elliptic đƣợc dùng trong các hệ mã hóa là supersingular và non- supersingular (xem [22]). Xét Fq có đặc số là 2 (g = 2m ). Khi đó:

i) Tập tất cả các cặp nghiệm (x, y) của phƣơng trình y2 + ax = x3 + bx + c với a, b, c  Fqa = 0 (mod q) cùng với điểm trung hòa O tạo thành một đƣờng cong

elliptic dạng supersingular.

ii) Tập tất cả các cặp nghiệm (x, y) của phƣơng trình y2 + ax = x3 + bx + c với a, b, c  Fqb = 0 (mod q) cùng với điểm trung hòa O tạo thành một đƣờng cong

elliptic dạng non-supersingular.

Supersingular Curve:

Menezes và Vanstone đã tìm ra các ƣu điểm của các đƣờng cong elliptic supersingular cho các hệ mật mã, đặc biệt trên trƣờng F2r . Tuy nhiên, các đƣờng cong supersingular có thể bị tấn công bằng MOV.

Nonsupersingular:

Ƣu điểm của các đƣờng cong nonsupersingular là nó cung cấp độ bảo mật tƣơng đƣơng nhƣ các đƣờng cong supersingular nhƣng với các trƣờng nhỏ hơn. Độ dài khóa ngắn giúp chúng có thể đƣợc triển khai trên các thiết bị nhƣ smart card. Hơn nữa, các đƣờng cong nonsupersingular có thể chống lại tấn công MOV, ví dụ với nhóm con cyclic cỡ 2160

2.4.3 Phương pháp lựa chọn

Có một số phƣơng pháp để lựa chọn các đƣờng cong elliptic. Phƣơng pháp tự nhiên nhất là chọn ngẫu nhiên. Chọn ngẫu nhiên một đƣờng cong elliptic E trên trƣờng

K và một điểm cơ sở PE. K đƣợc chọn và cố định trƣớc. Phƣơng pháp chọn ngẫu

nhiên Koblitz cho các đƣờng cong elliptic trên trƣờng Fq (với q lớn ) nhƣ sau:

1. Chọn ngẫu nhiên 3 phần tử từ Fq là x, y, a 2. Tính b = y2(x3 + ax)

3. Kiểm tra 4a327b2 0để đảm bảo phƣơng trình x3

+ ax + b = 0

không có nghiệm kép

4. Nếu điều kiện trên không thỏa mãn quay lại bƣớc 1

5. Còn lại, đặt P = (x, y) và đƣờng cong y2 = x3 + ax + b là đƣờng

cong cần chọn.

Phương pháp chọn ngẫu nhiên Koblitz

Tuy nhiên phƣơng pháp này có thể tạo ra các đƣờng cong không đảm bảo một số yêu cầu định trƣớc. Một kỹ thuật cải tiến là xây dựng các đƣờng cong với các tính chất cho trƣớc. Cũng có thể chọn những đƣờng cong để tạo các hệ mã hóa không phụ thuộc vào bài toán EDLP, chẳng hạn các hệ elliptic dựa trên RSA.

Các hệ mật mã elliptic làm việc với các nhóm con cylic của E với phần tử sinh là điểm P. Vì vậy, việc lựa chọn P phù hợp là rất quan trọng.

2.5. MỘT SỐ CHUẨN SỬ DỤNG HỆ MẬT ECC

Việc đƣa ra một chuẩn chung cho các hệ thống mật mã, các giao thức, các giao diện là một việc quan trọng. Việc chuẩn hóa mang lại 3 lợi ích chính:

(1). Cho phép kết hợp phần cứng và phần mềm của nhiều nhà cung cấp khác nhau.

(2). Đƣa ra chuẩn cho việc đảm bảo an toàn các hệ thống dƣới khía cạnh mật mã học

(3). Cho phép có thiết kế chuẩn cho các môi trƣờng ứng dụng khác nhau.

Các đƣờng cong elliptic đã đƣợc xem xét và nghiên cứu kỹ lƣỡng bởi các nhà toán học trong hơn 10 năm và đã đƣợc khảo sát kỹ bởi các tổ chức chuẩn hóa từ năm 1995. Điều này đảm bảo rằng tính tin cậy của nó đã đƣợc kiểm chứng.

Nỗ lực để có thể chuẩn hóa các hệ mật mã khóa công khai đƣợc bắt đầu từ nhiều năm trƣớc bởi Viện nghiên cứu điện và điện tử IEEE (Institute of the Electrical and Electronics Engineers) với phiên bản P1363. Nó đƣa ra định dạng và thủ tục cho 3 hệ thống mã hóa khóa công khai khác nhau bao gồm xác thực, toàn vẹn và tin cậy. ISO/IEC SC27 cũng bắt đầu xem xét các chuẩn cho ECC. Trong ANSI X9.25 có sơ đồ chữ ký ECC là ECDSA (Elliptic Curve Digital Signature Algorithm) và trong ANSI X9.63 có các chuẩn về thỏa thuận và truyền khóa. ECC cũng đã đƣợc hỗ trợ trong các chuẩn mới của Internet về bảo mật cho tầng IP (IPSEC, ISAKMP, Oakley). Trong các chuẩn liên quan đến công nghiệp có SET (Secure Electronic Transaction).

ANSI X9. ECC đã đƣợc thử nghiệm trong 2 lĩnh vực bởi ANSI ASC X9 (dịch vụ tài chính). ANSI X9.62, chữ ký số ECDSA, ANSI X9.63, giao thức thỏa thuận khóa ECC ECKA (Elliptic Curve Key Agreement) và các giao thức giao vận ECTP (Transport Protocols). ANSI TG-17 (Technical Guideline on Mathematical Background for Elliptic Curve Cryptosystems ) chứa các thông tin mở rộng về mặt toán học cho ECC, bao gồm các thuật toán đếm số các điểm trên đƣờng cong Elliptic.

ATM Forum. Cung cấp các cơ chế bảo mật cho các mạng ATM (chế độ truyền thông không đồng bộ Asynchronous Transfer Mode). Các dịch vụ bảo mật bao gồm tính tin cậy, tính xác thực, toàn vẹn dữ liệu, điều khiển truy cập. ECC là một trong các hệ thống đƣợc hỗ trợ.

Certicom. Certicom đã xuất bản các tài liệu về ECC. ECC trong X.509 mô tả cơ chế sử dụng các khóa ECC trong X.509 framework. Ví dụ nó định nghĩa các định dạng chứng chỉ và định dạng danh sách thu hồi chứng chỉ. Các chuẩn cho mã hóa ECC (SEC 1 Standards for Efficient Cryptography): ECC, các sơ đồ mã hóa khóa công khai trên ECC. Đặc biệt là các sơ đồ chữ ký điện tử, các sơ đồ mã hóa và các sơ đồ thỏa thuận khóa. SEC.2 bao gồm các tham số đƣợc khuyến nghị cho mã hóa ECC, danh sách các tham số ECC đƣợc yêu cầu tƣơng ứng với các cấp độ bảo mật khác nhau.

FSTC. FSTC (Financial Services Technology Consortium) liên quan đến các hệ thống thanh toán điện tử và các dịch vụ tài chính khác. Các thanh toán điện tử có thể sử dụng rất nhiều thiết bị khác nhau nhƣ máy tính cá nhân, điện thoại màn hình, máy ATM, hoặc các hệ thống kiểm toán. ECC đƣợc sử dụng để mã hóa Email truyền gửi các sec điện tử.

IEEE P1363. ECC đã đƣợc đƣa ra trong chuẩn phác thảo IEEE P 1363 (Đặc tả các chuẩn cho mật mã khóa công khai), bao gồm mã hóa, chữ ký số, các cơ chế thỏa thuận khóa. Các đƣờng cong Elliptic có thể đƣợc định nghĩa theo modulo p hoặc trên trƣờng F2m , trƣờng có 2m

phần tử.

IETF. (Internet Engineering Task Force). mô tả giao thức thỏa thuận khóa là biến thể của giao thức thỏa thuận khóa Diffie-Hellman. Nó cho phép sử dụng các nhóm khác nhau, bao gồm cả nhóm đƣờng cong Elliptic. Các nhóm trên đƣờng cong Elliptic đƣợc khuyến nghị dùng là các trƣờng F21 5 5và F22 1 0.

ISO/IEC. Bản phác thảo ISO/IEC 14888, trong phụ lục 3, các cơ chế dựa trên chứng chỉ, các thuật toán ký tƣơng tự nhƣ DSA.

NIST. (Viện nghiên cứu chuẩn quốc tế - National Institue of Standards). NIST cũng có các đặc tả cho ECC trong MISPC.

OTP 0.9. Open Trading Protocol là một framework các giao thức thanh toán. OTP cung cấp bản sao điện tử có hỗ trợ bảo mật cho các văn bản trên giấy cho thƣơng mại, mua, bán. ECDSA đƣợc hỗ trợ các sơ đồ chữ ký điện tử trong OTP.

SET. Chuẩn SET (Secure Electronic Transactions) đƣợc phát triển cho các giao dịch thẻ tín dụng trên Internet. ECC đƣợc xem xét nhƣ một chuẩn SET mới cho thƣơng mại điện tử trên Internet. Những lợi ích mà ECC mang lại cho các ứng dụng quan trọng đang đƣợc đánh giá kỹ lƣỡng.

WAP. Wireless Application Protocol, cung cấp cơ chế truy cập Internet an toàn cho các thiết bị không dây nhƣ điện thoại, thiết bị không dây đầu cuối. Các đặc tả giới thiệu trong kiến trúc mạng cho phép các ứng dụng sử dụng các lựa chọn giao thức truyền khác nhau và giữa các thiết bị khác nhau. ECC cũng đƣợc hỗ trợ trong tầng bảo mật WAP WTLS (Wireless Transport Layer Security).

Chương 3. CHỮ KÝ ECC TRONG TIỀN ĐIỆN TỬ

3.1. THANH TOÁN BẰNG TIỀN ĐIỆN TỬ

3.1.1. Khái niệm tiền điện tử

Tiền điện tử (e-money, digital money, digital cash, electronic money, electronic currency, digital currency hay internet money) là thuật từ vẫn còn mơ hồ và chƣa định nghĩa đầy đủ. Tuy nhiên có thể hiểu Tiền điện tử là loại tiền trao đổi theo phƣơng pháp “điện tử”, liên quan đến mạng máy tính và những hệ thống chứa giá trị ở dạng số (digital stored value systems).

Hệ thống Tiền điện tử cho phép ngƣời dùng có thể thanh toán khi mua hàng, hoặc sử dụng các dịch vụ nhờ truyền đi các “dãy số” từ máy tính (hay thiết bị lƣu trữ nhƣ smart card) này tới máy tính khác (hay smart card). Giống nhƣ dãy số (serial) trên tiền giấy, dãy số của tiền điện tử là duy nhất. Mỗi "đồng" tiền điện tử đƣợc phát hành bởi một tổ chức (ngân hàng) và biểu diễn một lƣợng tiền thật nào đó.

Tiền điện tử có loại ẩn danh và định danh. Hệ thống tiền ẩn danh không tiết lộ thông tin định danh của ngƣời sử dụng, và hệ thống này dựa vào Sơ đồ chữ ký “mù”. Hệ thống tiền định danh tiết lộ thông tin định danh của ngƣời sử dụng, hệ thống dựa vào Sơ đồ chữ ký thông thƣờng.

Tính ẩn danh của tiền điện tử tƣơng tự nhƣ tiền mặt thông thƣờng, hệ thống tiền định danh tƣơng tự nhƣ hệ thống thẻ tín dụng.

Có nhiều cách tiếp cận tính ẩn danh khác nhau, có hệ thống tiền điện tử là ẩn danh đối với ngƣời bán, nhƣng không ẩn danh với ngân hàng. Có hệ thống ẩn danh hoàn toàn, nghĩa là ẩn danh với tất cả mọi ngƣời.

3.1.2. Lược đồ giao dịch

Lƣợc đồ giao dịch của hệ thống tiền điện tử cơ bản, có 3 giao dịch chính sau:

Hình 3.1. Mô hình giao dịch cơ bản của hệ thống tiền điện tử.

Rút tiền: A chuyển tiền của ông ta từ tài khoản ở ngân hàng vào „Túi‟ của mình (Nó có thể là smart card hay là máy Pc).

Thanh toán: A chuyển tiền từ „Túi‟ của ông ta đến ông B.

Gứi tiền: B chuyển tiền nhận đƣợc vào tài khoản của ông ta ở ngân hàng.

Lƣợc đồ trên có 3 đối tƣợng tham gia vào quá trình giao dịch, đó là:

 Ngân hàng (Tổ chức tài chính).

 A: Ngƣời trả tiền (Ngƣời mua hàng).

 B: Ngƣời đƣợc trả tiền (Ngƣời bán hàng).

Ngân hàng Ông A Rút tiền Thanh toán Gửi tiền Ông B

Trong lƣợc đồ giao dịch này, có thể thực hiện 2 kiểu giao dịch: trực tuyến (online) và ngoại tuyến (offline).

Trực tuyến: ông B liên lạc với ngân hàng và kiểm tra tính hợp lệ của đồng tiền trƣớc khi tiến hành thủ tục thanh toán và phân phối hàng. Quá trình thanh toán và quá trình trả tiền (ghi tiền vào tài khoản ngƣời bán) đƣợc tiến hành đồng thời.

Ngoại tuyến: quá trình giao dịch với ngân hàng và việc kiểm tra tính hợp lệ của đồng tiền đƣợc tiến hành sau quá trình thanh toán.

3.1.3. Phân loại

Hiện nay tiền điện tử có thể chia thành hai loại: Tiền điện tử định danh

(identified e-money)và Tiền điện tử ẩn danh (anonymous identified e-money).

Tiền điện tử định danh chứa thông tin định danh của ngƣời sử dụng từ khi bắt đầu rút tiền từ ngân hàng. Kiểu lƣu thông tin ngƣời dùng giống nhƣ trƣờng hợp sử dụng thẻ tín dụng trong thanh toán, tiền điện tử định danh cũng cho phép ngân hàng lƣu dấu vết của tiền khi luân chuyển.

Tiền điện tử ẩn danh giống nhƣ tiền giấy thực sự. Đồng tiền điện tử ẩn danh đƣợc rút từ một tài khoản, có thể đƣợc tiêu xài hay chuyển cho ngƣời khác mà không để lại dấu vết.

Trong 2 loại tiền điện tử trên, dựa vào phƣơng pháp thực hiện, có thể chia mỗi loại trên thành 2 dạng: trực tuyến (online) và ngoại tuyến (offline).

Trực tuyến: nghĩa là cần phải tƣơng tác với phía thứ ba để kiểm soát giao dịch.

Ngoại tuyến: nghĩa là có thể kiểm soát đƣợc giao dịch, mà không phải liên quan trực tiếp đến phía thứ ba (ngân hàng)

Hình 3.2. Phân loại tiền điện tử

Hiện nay có nhiều hệ thống Tiền điện tử khác nhau sử dụng giải pháp là smart card hay phần mềm.

3.1.4. Những đặc điểm của tiền điện tử

Có nhiều cách để đƣa ra các đặc điểm cần thiết của một hệ thống tiền điện tử, tuy nhiên không thể đƣa ra tập các đặc điểm, thuộc tính chung tốt nhất cho tất cả các hệ thống tiền điện tử. Bởi vì mỗi hệ thống tồn tại trên môi trƣờng khác nhau, phục vụ cho những đối tƣợng khác nhau, thậm chí ngay cả sản phẩm của hệ thống là khác nhau (phần mềm hay smartcard).

Hiện nay tồn tại nhiều hệ thống tiền điện tử khác nhau. Tuy nhiên chúng có chung các đặc điểm cơ bản sau:

3.1.4.1 Tính an toàn

Tiền điện tử phải không thể bị sao chép (sử dụng lại) hay giả mạo. Chính vì vậy khi phát triển hệ thống tiền điện tử, phải quan tâm đến vấn đề giảm thiểu rủi ro về sự giả mạo và xây dựng một hệ thống xác thực tốt. Tính an toàn không chỉ ở phần mềm của hệ thống, mà còn thể hiện ở quá trình giao dịch của ngƣời tham gia hệ thống.

TI N Đ IỆ N T (E -M ONE Y ) Định danh (Identified) ngoại tuyến (offline) trực tuyến (online) Ẩn danh (Anonymous) Định danh (Identified) ngoại tuyến (offline) trực tuyến (online)

3.1.4.2 Tính riêng tư

Quá trình thanh toán của ngƣời trả tiền phải đƣợc ẩn danh, không để lại dấu vết, nghĩa là ngân hàng không nói đƣợc tiền giao dịch là của ai.

3.1.4.3 Tính độc lập

Việc sử dụng tiền điện tử không phụ thuộc vào bất kỳ vị trí địa lý nào. Tiền có thể đƣợc chuyển qua mạng máy tính hay chứa trên những thiết bị nhớ khác nhau.

3.1.4.4 Tính chuyển nhượng

Cho phép hai bên có thể chuyển tiền cho nhau mà không phải liên hệ với bên thứ 3 (ngân hàng). Tính chuyển nhƣợng là đặc trƣng của tiền mặt, nó cho phép ngƣời sở hữu tiền chuyển cho ngƣời khác, mà không cần liên hệ với ngân hàng.

Hình 3.3. Mô hình giao dịch có tính chuyển nhƣợng

Rút Thanh toán Gửi Ông B Thanh toán Ngân hàng Ông A ………

Chú ý, với hệ thống hỗ trợ tính năng chuyển nhƣợng, một số vấn đề sẽ nảy sinh: - Kích cỡ dữ liệu sẽ tăng lên ở mỗi lần chuyển nhƣợng, vì thông tin mỗi lần chuyển nhƣợng phải đƣợc lƣu giữ, thông tin này nhằm giúp cho ngân hàng có thể tìm ra đƣợc kẻ gian lận nào tiêu xài hai lần. Chính vì thế, hệ thống phải giới hạn số lƣợng tối đa những chuyển nhƣợng đƣợc phép trong hệ thống.

- Vấn đề rửa tiền và trốn thuế là khó phát hiện.

- Việc phát hiện sự giả mạo và tiêu xài nhiều lần là quá trễ, bởi vì tiền đã đƣợc chuyển qua nhiều ngƣời.

3.1.4.5 Tính phân chia

Ngƣời dùng có thể phân chia đồng tiền số của mình thành những đồng tiền có giá trị nhỏ hơn, với điều kiện tổng giá trị của các đồng tiền này bằng giá trị của đồng tiền điện tử ban đầu.

Không phải hệ thống nào cũng đáp ứng đƣợc tính chất này, vì tiền điện tử thực chất là dãy số đã đƣợc mã hóa, việc chia dãy số này nhƣ thế nào để đƣợc những đồng tiền có giá trị nhỏ hơn không phải là vấn đề đơn giản.

3.1.4.6 Tính dể sử dụng

Tính dể sử dụng đồng tiền với ngƣời dùng là đặc tính rất quan trọng. Bởi vì tiền

Một phần của tài liệu Nghiên cứu một số chữ ký đặc biệt trên đường cong Elliptic (Trang 57)