MỘT SỐ KHÁI NIỆM VÀ TÍNH CHẤT CHỮKÝ ĐIỆN TỬ

Một phần của tài liệu Lý thuyết mã hóa và vấn đề xác minh thông tin (Trang 50)

2.3.1. Khái niệm:

Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi ngƣời sử dụng một cặp khóa công khai – bí mật và qua đó có thể kí các văn bản điện tử cũng nhƣ trao đổi các thông tin mật. Khóa công khai thƣờng đƣợc phân phối thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm hai quá trình: tạo chữ ký và kiểm tra chữ ký. [5]

Chức năng chữ ký số

- Xác minh tác giả và thời điểm ký thông tin đƣợc gửi - Xác thực nội dung thông tin gửi

- Là căn cứ để giải quyết tranh chấp – không thể từ chối trách nhiệm

Giao thức của chữ ký số bao gồm thuật toán tạo chữ ký số và thuật toán để kiểm tra chữ ký số

Hình 2.2. Minh họa chữ ký số của bên gửi cho thông báo M

KRa, KUa là khóa bí mật, khóa công khai của bên A K: khóa phiên đối xứng dùng chung của A và B

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

2.3.2. Các bƣớc tạo và kiểm tra chữ ký điện tử

[5] Bên gửi A thực hiện băm thông điệp cần gửi bằng hàm băm H, rồi mã khóa giá trị vừa đƣợc băm này bằng mật mã khóa công khai với khóa bí mật của bên A là KRa, phần thông tin này chính là chữ ký xác thực của ngƣời dùng A đối với thông điệp M gửi đi.

A gửi cho B văn bản và chữ ký (Thông điệp có thể đƣợc mã hóa hoặc không mã hóa tùy theo yêu cầu. Nhƣ hình vẽ trên chữ ký đƣợc gắn liền với thông điệp rồi mã hóa bằng mật mã đối xứng với khóa dùng chung K giữa A và B)

B nhận thông điệp (hoặc bản mã rồi giải mã với khóa chung K để lấy thông điệp) thì tiến hành hai việc: băm giá trị của thông điệp bằng hàm băm H, giải mã chữ ký bằng khóa công khai KUa của bên gửi rồi so sánh 2 giá trị vừa tính toán đƣợc. Nếu hai giá trị này trùng khớp thì chứng tỏ thông điệp nhận đƣợc có nội dung không thay đổi so với chữ ký.

2.3.3. Vị trí, vai trò của chữ ký số

- Trong cuộc sống đời thƣờng, xu hƣớng quốc tế hóa và toàn cầu hóa đã và đang ảnh hƣởng đến sự phát triển của thế giới. Việc trao đổi thông tin cũng từ đó yêu cầu nhanh gọn hơn, chính xác hơn và đặc biệt là phải an toàn. Việc trao đổi thông tin, xác minh thông tin theo phong cách bƣu điện thông thƣờng làm giảm tốc độ cũng nhƣ sự chính xác của thông tin. Những công việc đó mang tính chất thủ công gây ra sự chậm trễ và thiếu chính xác trong việc trao đổi.

- Chính khó khăn nêu trên đã nảy sinh sự phát triển mạnh mẽ của công nghệ thông tin và công nghệ mã hóa. Hiện nay ở nhiều nƣớc trên thế giới gồm cả các nƣớc phát triển cũng nhƣ đang phát triển, mạng máy tính đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội và nhu cầu bảo mật thông tin đƣợc đặt lên trên hết. Điểm hình là việc mã hóa bảo mật các thông tin số của doanh nghiệp,

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

dùng chữ ký số xác thực email trao đổi thông tin, ngân hàng điện tử, mua sắm trực tuyến, kiểm soát truy cập vào các sàn thƣơng mại điện tử và các đơn đặt hàng... mà vai trò chủ yếu là chữ ký số điện tử.

- Hiện nay chữ ký số không chỉ đƣợc thực hiện cho các giao dịch điện tử trên mạng internet mà còn qua hệ thống mạng viễn thông di động. Đặc biệc, nhiều nƣớc trên thế giới không chỉ triển khai chữ ký số trên mạng máy tính mà còn áp dụng trên mạng điện thoại di động để thực hiện các giao dịch điện tử. Việc làm này giúp đẩy nhanh giao dịch, đơn giản hóa mua sắm trực tuyến và giúp ngƣời dùng có thể truy cập mọi lúc, mọi nơi.

- Sự ra đời của chữ ký số khẳng định đƣợc lợi ích to lớn về chiến lƣợc kinh tế, đồng thời các vấn đề liên quan đến chữ ký số cũng là những chủ đề quan trọng nhất trong mật mã học.

2.3.4. Phân loại chữ ký số

Có nhiều loại chữ ký số tùy theo cách phân loại, chúng ta có thể chia chữ ký số theo một số cách phân loại sau:

Cách 1: Phân loại chữ ký theo đặc trưng kiểm tra chữ ký

- Chữ ký khôi phục thông điệp là loại chữ ký trong đó ngƣời gửi chỉ cần gửi “chữ ký”, ngƣời nhận có thể khôi phục lại đƣợc thông điệp đã đƣợc “ký” bởi “chữ ký” này. Chữ ký số RSA là chữ ký khôi phục thông điệp.

Do tính thực tế của chữ ký số mà luận văn chủ yếu tập trung vào kỹ thuật ký này.

- Chữ ký đi kèm thông điệp là loại chữ ký mà ngƣời gửi không chỉ gửi “chữ ký” mà phải gửi cả thông điệp đã đƣợc “ký” bởi “chữ ký” này. Ngƣợc lại ngƣời nhận sẽ không có đƣợc thông điệp gốc. Chữ ký Elgamal là chữ ký đi kèm thông điệp.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Cách 2: Phân loại chữ ký theo mức an toàn

- Chữ ký “không thể phủ nhận”

Nhằm tránh việc nhân bản chữ ký để sử dụng nhiều lần, tốt nhất là ngƣời gửi tham gia trực tiếp vào việc kiểm thử chữ ký. Điều đó đƣợc thực hiện bằng một giao thức kiểm thử, dƣới dạng một giao thức mời hỏi và trả lời.

Ví dụ: Chữ ký không thể phủ định Chaum - van Antwerpen. - Chữ ký “một lần” (adsbygoogle = window.adsbygoogle || []).push({});

Để bảo đảm an toàn, “Khóa ký” chỉ dùng 1 lần (one- time) trên 1 tài liệu. Ví dụ: Chữ ký Lamport, chữ ký Fail - Stop (Van Heyst & Pedersen)

Cách 3: Phân loại chữ ký theo ứng dụng đặc trưng

Chữ ký “mù” Chữ ký “nhóm” Chữ ký “bội” Chữ ký “mù nhóm” Chữ ký “mù bội” 2.3.5. Sơ đồ chữ ký số Hình 2.3. Sơ đồ chữ ký số

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Chữ ký số đƣợc phát triển dựa trên lý thuyết mật mã, cụ thể là kỹ thuật mật mã khoá công khai. Trong mô hình này, một hệ mã khóa công khai sẽ có hai chìa khóa. Một chìa khóa công khai (public key) và một chìa khóa bí mật (private key), mỗi chìa khóa là một số cố định đƣợc sử dụng trong quá trình mã hoá và giải mã, trong đó khóa công khai đƣợc công bố rộng rãi cho mọi ngƣời và đƣợc sử dụng để mã hoá, còn khóa bí mật thì đƣợc giữ kín và đƣợc sử dụng để giải mã. Một sơ đồ chữ ký số thƣờng bao gồm hai thành phần chủ chốt là thuật toán ký và thuật toán xác minh. Một sơ đồ chữ ký số là một bộ 5 (P, A, K, S, V) thỏa mãn các điều kiện sau :

- P là một tập hợp các bản rõ có thể. - A là tập hữu hạn các chữ ký có thể. - K là tập hữu hạn các khóa có thể. - S là tập hợp các thuật toán ký. - V là tập các thuật toán xác minh.

Với mỗi k є K, tồn tại một thuật toán ký sigk є S và một thuật toán xác minh verk єV, trong đó sigk và verk là các ánh xạ: sigk là một ánh xạ từ P sang A và verk là một ánh xạ từ A sang tập biểu diễn {True, False} thỏa mãn:

với mọi xє P, yє A, ver(x,y)= true nếu y=sig(x) và ver(x,y) = false nếu y≠ sig(x).

2.3.6. Sơ đồ chữ ký RSA

Cho n= p*q, p và q là các số nguyên tố. Cho P,A Zn và định nghĩa

P = {(n, p, q, a, b): n=p*q, p và q là nguyên tố, a*b 1(mod( (n))) }. Các giá trị n và b là công khai, ta định nghĩa :

Sigk(x)= xa mod n

verk (x,y)= true x yb (mod n) ( với x,y Zn)

Xét tóm tắt các kết hợp chữ kí và mã khóa công khai. Giả sử rằng, A tính toán chữ kí y= sigA (x) và sau đó mã cả x và y bằng hàm mã khóa công khai eB của B, khi đó nhận đƣợc z = eB (x,y). Bản mã z sẽ đƣợc truyền tới B. Khi B nhận đƣợc z, trƣớc

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

hết B sẽ giải mã hàm dB để nhận đƣợc (x,y). Sau đó dùng hàm xác minh công khai của A để kiểm tra xem verA(x,y) có bằng True hay không.

Song nếu đầu tiên A mã x rồi sau đó mới kí tên bản mã nhận đƣợc thì sao? Khi đó A tính : y= sigA(eB (x)).

A sẽ truyền cặp (z,y) tới B. B sẽ giải mã z, nhận x và sau đó xác minh chữ kí y trên x nhờ dùng verA. Một vấn đề tiềm ẩn trong biện pháp này là nếu đối phƣơng nhận đƣợc cặp (x,y) kiểu này, sẽ thay chữ kí y của A bằng chữ kí của mình.

y’ = sigĐ (eB (x)).

Chú ý rằng, đối phƣơng có thể kí bản mã eB (x) ngay cả khi không biết bản rõ. Khi đó nếu đối phƣơng truyền (x, y’) đến B thì chữ kí của đối phƣơng đƣợc B xác minh bằng verĐ và B có thể suy ra rằng, bản rõ x xuất phát từ đối phƣơng. Do khó khăn này, hầu hết ngƣời sử dụng đƣợc khuyến nghị nên kí trƣớc khi mã.

2.3.7. Lƣợc đồ chữ ký số

Khi đề cập đến 1 lƣợc đồ chữ ký số, ngƣời ta luôn phải đề cập đến 4 thuật toán sau:

2.3.7.1. Thuật toán khởi tạo tham số của hệ thống

Là thuật toán xác suất nhận đầu vào là một tham số bảo mật k (k còn đƣợc gọi là độ dài bảo mật) và đƣa ra các tham số chung cho hệ thống. Thuật toán này thƣờng đƣợc tiến hành bởi server của hệ thống.

Với RSA là việc chọn ngẫu nhiên các số nguyên tố nhóm p & q, tính toán n…

2.3.7.2. Thuật toán sinh khóa

Đây là thuật toán xác suất, đƣợc tiến hành bởi ngƣời dùng trong hệ thống, thuật toán nhận đầu vào gồm các tham số của hệ thống và sinh ra cặp khóa bí mật/ công khai. Với RSA: Sinh khóa d, e.

2.3.7.3. Thuật toán sinh chữ ký số

Thuật toán này nhận đầu vào là một tin nhắn/ tài liệu, sinh ra chữ ký số nhờ vào khóa bí mật. Thuật toán này có thể đơn định hoặc xác suất.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

Trong RSA: s H m( ) d, đây là thuật toán đơn định vì không có sử dụng thêm yếu tố ngẫu nhiên nào.

2.3.7.4. Thuật toán xác thực chữ ký số

Thuật toán này đƣợc tiến hành bởi một ngƣời thứ ba khi muốn kiểm tra tính đúng đắn của một chữ ký số. Thuật toán nhận đầu vào là một tin nhắn, chữ ký số của tin nhắn đó và khóa công khai của ngƣời sở hữu tin nhắn và chữ ký số, đầu ra của thuật toán là câu trả lời “đúng” hoặc “sai”. Thuật toán này là thuật toán đơn định.

2.3.8. Yêu cầu chữ ký số

Các yêu cầu chữ ký số (chữ ký điện tử): - Chữ ký phải dựa vào thông điệp ký.

- Chữ ký phải chứa vài thông tin quan trọng duy nhất đối với ngƣời gửi để ngăn chặn sự giả mạo.

- Dễ dàng tạo ra chữ ký điện tử.

- Dễ dàng nhận diện và xác nhận chữ ký điện tử. - Không dễ dàng giả mạo một chữ ký điện tử.

Để có thể tạo ra và sử dụng chữ ký số ta cần phải sử dụng một hàm băm để rút gọn một thông điệp có chiều dài bất kỳ thành một giá trị. Giá trị này có thể đƣợc sử dụng để kiểm tra sự toàn vẹn của thông tin.

2.3.9. Đặc điểm của chữ ký số

- Tính xác nhận: một chữ ký điện tử đảm bảo rằng chính ngƣời ký là ngƣời tạo ra nó.

- Tính an toàn: không thể làm giả chứ ký nếu nhƣ không biết thông tin bí mật để tạo chữ ký.

- Không thể dùng lại: một chữ ký điện tử không thể dùng cho một tài liệu khác - Không thể phủ nhận: một khi ngƣời ký không thể phủ nhận chữ ký đó.

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

2.3.10. Tấn công chữ ký số

Khi nói đến chữ ký điện tử, chúng ta luôn đặt mục tiêu an toàn lên hàng đầu. Một chữ ký điện tử chỉ thực sự đƣợc áp dụng trong thực tế nếu nhƣ nó đƣợc chứng minh là không thể giả mạo. Mục tiêu lớn nhất của kẻ tấn công các sơ đồ chữ ký chính là giả mạo chữ ký; điều này có nghĩa là kẻ tấn công sẽ sinh ra đƣợc chữ ký của ngƣời ký lên thông điệp mà chữ ký này sẽ đƣợc chấp nhận bởi ngƣời xác nhận. Trong thực tế các hành vi tấn công chữ ký điện tử hết sức đa dạng, để dễ dàng phân tích một sơ đồ chữ ký là an toàn hay không ngƣời ta tiến hành kiểm nghiệm độ an toàn của chữ ký trƣớc các sự tấn công sau:

Total break: Một kẻ giả mạo không những tính đƣợc thông tin về khóa riêng (private key) mà còn có thể sử dụng một thuật toán sinh chữ ký tƣơng ứng tạo ra đƣợc chữ ký cho thông điệp.

Selective forgert: Kẻ tấn công có khả năng tạo ra đƣợc một tập hợp các chữ ký cho một lớp các thông điệp nhất định, các thông điệp này đƣợc ký mà không cần phải có khóa mật của ngƣời ký.

Existential forgery: Kẻ tấn công có khả năng giả mạo chữ ký cho một thông điệp, kẻ tấn công không thể hoặc có rất ít khả năng kiểm soát thông điệp đƣợc giả mạo này.

Ngoài ra, hầu hết các chữ ký điện tử đều dựa vào cơ chế mã hoá khóa công khai, các chữ ký điện tử dựa trên cơ chế này có thể bị tấn công theo các phƣơng thức sau:

Key-only attacks: Kẻ tấn công chỉ biết khóa chung của ngƣời ký.

Message attacks: ở đây kẻ tấn công có khả năng kiểm tra các chữ ký khác nhau có phù hợp với một thông điệp có trƣớc hay không. Ðây là kiểu tấn công rất thông dụng trong thực tế nó thƣờng đƣợc chia làm 3 lớp:

Known-message attack: Kẻ tấn công có chữ ký cho một lớp các thông điệp.

Chosen-message attack: Kẻ tấn công dành đƣợc các chữ ký đúng cho một danh sách các thông điệp trƣớc khi tiến hành hoạt động phá huỷ chữ ký, cách tấn công này là

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

non-adaptive (không mang tính phù hợp) bởi vì thông điệp đƣợc chọn trƣớc khi bất kỳ một chữ ký nào đƣợc gửi đi.

Adaptive-chosen message attack: Kẻ tấn công đƣợc phép sử dụng ngƣời ký nhƣ là một bên đáng tin cậy, kẻ tấn công có thể yêu cầu chữ ký cho các thông điệp mà các thông điệp này phụ thuộc vào khóa công khai của ngƣời ký, nhƣ vậy kẻ tấn công có thể yêu cầu chữ ký của các thông điệp phụ thuộc vào chữ ký và thông điệp dành đƣợc trƣớc đây và qua đó tính toán đƣợc chữ ký.

2.3.11. So sánh chữ ký thông thƣờng và chữ ký số

Chữ ký thông thƣờng (tức chữ ký viết tay) đƣợc dùng rất phổ biến trong các công việc hàng ngày, nhƣ viết thƣ, rút tiền từ ngân hàng, ký hợp đồng... Chữ ký đƣợc sử dụng nhƣ là bằng chứng để xác định ngƣời ký tài liệu là ai và khẳng định ngƣời ký đã chấp nhận hay chịu trách nhiệm về nội dung đƣợc đề cập trong tài liệu. Vì vậy, một chữ ký phải có các thuộc tính sau:

- Chữ ký phải có tính tin cậy (xác thực). (adsbygoogle = window.adsbygoogle || []).push({});

- Chữ ký không thể giả mạo đƣợc: chữ ký chứng minh chỉ có ngƣời ký đã ký tài liệu một cách chủ định mà không có ai khác.

- Chữ ký không thể đƣợc dùng lại: chữ ký phải là một phần của tài liệu và không thể chuyển chữ ký sang tài liệu khác.

- Tài liệu đã ký không thể thay đổi đƣợc, tức là không thể sửa đổi tài liệu sau khi ký.

- Chữ ký không thể chối bỏ: sau khi ký, ngƣời ký không thể phủ nhận chữ ký mà anh ta đã ký.

Trong thời đại bùng nổ công nghệ thông tin ngày nay, hầu nhƣ các hoạt động, giao dịch đều đƣợc thực hiện qua mạng máy tính. Vì vậy, thay vì sử dụng tài liệu giấy với chữ ký viết tay ngƣời ta sử dụng tài liệu điện tử với chữ ký số. Về hình thức, chữ ký số hoàn toàn khác với chữ ký thông thƣờng nhƣng vẫn đảm bảo các thuộc tính của chữ ký nhƣ: tính tin cậy (xác thực), tính không thể giả mạo, tính không thể dùng lại,

Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/

Một phần của tài liệu Lý thuyết mã hóa và vấn đề xác minh thông tin (Trang 50)