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

Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử

49 2 0
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

Tiêu đề Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Tác giả Dương Thu Hương
Người hướng dẫn T.S Phạm Thế Quế
Trường học Trường Đại Học Hòa Bình
Chuyên ngành Công Nghệ
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 49
Dung lượng 804,08 KB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ (7)
  • CHƯƠNG 2: BẢO MẬT TRONG THƯƠNG MẠI ĐIỆN TỬ (18)
    • 1. Giới thiệu chung (18)
    • 2. Khái niệm mã hóa và giải mã (20)
    • 4. Kỹ thuật mã hóa khóa công khai (23)
    • 5. Chữ ký điện tử (30)
    • 6. Phân loại các hệ thống chữ kí điện tử (36)
    • 7. Các loại chữ ký số (42)
  • CHƯƠNG 3: ỨNG DỤNG CHỮ KÝ SỐ TRONG THƯƠNG MẠI ĐIỆN TỬ (0)

Nội dung

Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử

TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ

1.Giới thiệu về thương mại điện tử

Thương mại điện tử là gì?

Càng về những năm gần đây, tại các nước công nghiệp phát triển cũng như ở các nước NICs, xuất hiện ngày càng nhiều loại hình kinh doanh mới hoạt động trên các mạng truyền thông số và đặc biệt là trên mạng Internet Đó là các doanh nghiệp thương mại điện tử Sự xuất hiện của mô hình kinh doanh này không chỉ làm đa dạng hoá hoạt động doanh nghiệp của con người mà còn thực sự trở thành một cuộc cách mạng kinh tế - xã hội có ý nghĩa lịch sử, đánh dấu bước đột phá mới về kinh tế của nhân loại trong thiên niên kỷ thứ ba Ủy ban Châu Âu đưa ra định nghĩa về Thương mại điện tử như sau [12]: Thương mại điện tử được hiểu là việc thực hiện hoạt động kinh doanh qua các phương tiện điện tử Nó dựa trên việc xử lý và truyền dữ liệu điện tử dưới dạng text, âm thanh và hình ảnh Thương mại điện tử gồm nhiều hành vi trong đó hoạt động mua bán hàng hóa và dịch vụ qua phương tiện điện tử, giao nhận các nội dung kỹ thuật số trên mạng, chuyển tiền điện tử, mua bán cổ phiếu điện tử, vận đơn điện tử, đấu giá thương mại, hợp tác thiết kế, tài nguyên mạng, mua sắm công cộng, tiếp thị trực tiếp tới người tiêu dùng và các dịch vụ sau bán hàng Thương mại điện tử được thực hiện đối với cả thương mại hàng hóa (ví dụ như hàng tiêu dùng, các thiết bị y tế chuyên dụng) và thương mại dịch vụ (ví dụ như dịch vụ cung cấp thông tin, dịch vụ pháp lý, tài chính); các hoạt động truyền thống (như chăm sóc sức khỏe, giáo dục ) và các hoạt động mới (ví dụ như siêu thị ảo)

Tóm lại, theo nghĩa rộng thì thương mại điện tử có thể được hiểu là các giao dịch tài chính và thương mại bằng phương tiện điện tử như: trao đổi dữ liệu điện tử; chuyển tiền điện tử và các hoạt động gửi rút tiền bằng thẻ tín dụng Thương mại điện tử theo nghĩa hẹp bao gồm các hoạt động thương mại được thực hiện thông qua mạng Internet Các tổ chức như: Tổ chức Thương mại

6 thế giới (WTO), Tổ chức Hợp tác phát triển kinh tế đưa ra các khái niệm về thương mại điện tử theo hướng này Thương mại điện tử được nói đến ở đây là hình thức mua bán hàng hóa được bày tại các trang Web trên Internet với phương thức thanh toán bằng thẻ tín dụng Để có một cách hiểu thống nhất, có thể định nghĩa :

Thương mại điện tử là việc ứng dụng các công nghệ thông tin để tiến hành các giao dịch mua – bán các sản phẩm, dịch vụ và thông tin thông qua các mạng máy tính có sử dụng các tiêu chuẩn truyền thông chung

Thương mại điện tử sử dụng hệ thống mạng truyền thông số toàn cầu để tạo ra một thị trường điện tử cho tất cả các loại hình sản phẩm, dịch vụ, công nghệ và hàng hoá; bao hàm tất cả các hoạt động cần thiết để hoàn tất một thương vụ, trong đó có đàm phán, trao đổi chứng từ, truy cập thông tin từ các dịch vụ trợ giúp (thuế, bảo hiểm, vận tải ) và ngân hàng, tất cả được thực hiện trong các điều kiện an toàn và bảo mật Trong thương mại điện tử, người ta hiện sử dụng các phương tiện chủ yếu như máy điện thoại, fax, hệ thống thiết bị thanh toán điện tử, mạng nội bộ (Inttranet), mạng ngoại bộ (Extranet) và mạng toàn cầu (Internet)

Các đặc trưng của Thương mại điện tử: Đặc trưng nổi bật nhất của thương mại điện tử là các hoạt động kinh doanh như mua, bán, đầu tư và vay mượn được thực hiện và chuyển giao giá trị qua các mạng thông tin điện tử

So với các hoạt động Thương mại truyền thống, thương mại điện tử có một số điểm khác biệt cơ bản sau:

• Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc trực tiếp với nhau và không đòi hỏi phải biết nhau từ trước

• Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong một thị trường không có biên giới (thị trường thống nhất toàn cầu) Thương mại điện tử trực tiếp tác động tới môi trường cạnh tranh toàn cầu

• Trong hoạt động giao dịch thương mại điện tử đều có sự tham gia của ít nhất ba chủ thể, trong đó có một bên không thể thiếu được là người cung cấp dịch vụ mạng, các cơ quan chứng thực

• Đối với thương mại truyền thống thì mạng lưới thông tin chỉ là phương tiện để trao đổi dữ liệu, còn đối với thương mại điện tử thì mạng lưới thông tin chính là thị trường

• Để tiến hành các giao dịch thương mại điện tử, cần có một chương trình máy tính được cài đặt tại ít nhất một điểm cuối của giao dịch hoặc quan hệ thương mại Tại điểm cuối khác có thể có một chương trình máy tính, một người sử dụng đầu cuối khác có thể là một chương trình máy tính hay sử dụng một kĩ thuật truy nhập mạng nào đó

• Hoạt động thương mại điện tử được thực hiện trên cơ sở các nguồn thông tin dưới dạng số hóa của các mạng điện tử Nó cho phép hình thành những dạng thức kinh doanh mới và những cách thức mới để tiến hành hoạt động kinh doanh Ví dụ, Công ty thương mại Amazon.com kinh doanh rất nhiều sản phẩm như đồ điện, băng đĩa nhạc, các loại sách

• Thương mại điện tử phụ thuộc nhiều vào sự phát triển của công nghệ thông tin

2.Giao dịch trong thương mại điện tử

[12]Giao dịch trong thương mại điện tử là một hệ thống bao gồm không chỉ các giao dịch liên quan đến mua bán hàng hóa và dịch vụ, tạo thu nhập, mà còn là các giao dịch có khả năng trợ giúp quá trình tạo ra thu nhập: kích thích nhu cầu đối với hàng hóa và dịch vụ, cung ứng dịch vụ trợ giúp bán hàng, trợ giúp người tiêu dùng, hoặc trợ giúp trao đổi thông tin giữa các doanh nghiệp

Tính chất và nội dung của các giao dịch trong thương mại điện tử phụ thuộc nhiều vào việc chúng xảy ra trong môi trường của mô hình kinh doanh nào? Hiện nay có hai mô hình kinh doanh cơ bản nhất được hầu hết các doanh nghiệp thương mại điện tử quan tâm [26]: thương mại điện tử giữa doanh nghiệp và người tiêu dùng (B2C), thương mại giữa các doanh nghiệp (B2B)

• Mô hình giao dịch B2C : Các doanh nghiệp bán các hàng hóa vật thể trực tiếp đến từng cá nhân người tiêu dùng cuối cùng B2C đang trở nên phổ biến khi ngày càng nhiều người nhận ra sự thuận tiện của nó và khả năng đáp ứng nhanh những yêu cầu của khách hàng cũng như sự xuất hiện của vô số các dịch vụ B2C trên thị trường

• Mô hình giao dịch B2B : Các doanh nghiệp bán buôn thông qua các catalog bán hàng trực tuyến cho các doanh nghiệp khác So với B2C, B2B liên quan đến giao dịch giữa các tổ chức Một trong những mục tiêu chính của B2B là cải thiện một cách đáng kể việc cung cấp và trao đổi hàng hoá nhanh chóng, hiệu quả trong quá trính sản xuất Hơn nữa viêc trao đổi hàng hoá trong B2B ngày càng có khuynh hướng bảo mật,việc trao đổi này cho phép các công ty buôn bán với các bạn hàng hiện tại trong một môi trường kinh doanh thuận lợi mà không cần phải đi qua một số giai đoạn ban đầu của chu trình B2B Quá trình mua bán trên mạng diễn ra bao gồm các giao dịch cơ bản sau [12]:

• Tương tác với khách hàng

• Thực hiện đơn đặt hàng

Thu hút khách hàng là quá trình marketting và quảng cáo bao gồm các hoạt động khác nhau như:

BẢO MẬT TRONG THƯƠNG MẠI ĐIỆN TỬ

Giới thiệu chung

Các vấn đề an toàn thông tin trên mạng có thể được giải quyết dựa trên cơ sở lý thuyết mật mã Mật mã học (cryptography) đã được ứng dụng từ thời Ai cập cổ đại và xuyên suốt tiến trình lịch sử để truyền đi các thông tin quân sự và ngoại giao bí mật Ngày nay để thực hiện việc mã hoá, người ta sử dụng một thuật toán đặc biệt và một giá trị số học duy nhất được gọi là chìa khoá mã hoá (encryption key) Để khôi phục lại các thông tin đã được mã hoá, người sử dụng phải biết thuật toán tương ứng để giải mã dữ liệu, và một chìa khoá giải mã (decryption key), chìa khoá này có sự liên hệ với chìa khoá mã hoá

Mật mã học nghiên cứu về các kỹ thuật toán học liên quan đến các khía cạnh của an toàn thông tin như tính tin cậy , tính toàn vẹn dữ liệu, tính xác thực thực thể, và xác thực gốc dữ liệu Có nhiều công cụ mật mã (cryptographic tools

- Primatives ) được dùng để đảm bảo an toàn thông tin Phân loại các công cụ này được mô tả trong sơ đồ sau [1]:

Hình 2.1: Phân loại các công cụ mã hóa (Primatives)

Cho tới gần đây, hầu hết việc mã hoá được thực hiện bằng cách sử dụng thuật toán mã hoá đối xứng (Symmetric-key crytography) hay thuật toán mã khoá bí mật (Secret-key Crytography) Đây là thuật toán trong đó một chìa khoá được sử dụng cho cả việc mã hoá và giải mã sử dụng một số hàm toán học đặc biệt Sự phức tạp của hàm toán học và độ dài của chìa khoá sẽ quyết định mức an toàn của sự mã hoá Đặc tính ưu việt của mã hoá đối xứng là tốc độ xử lý rất nhanh Thuật toán mã hoá đối xứng được sử dụng nhiều nhất hiện nay là DES (Data Encryption Standard), thuật toán này sử dụng chìa khoá có độ dài 56 bit Tuy nhiên thuật toán mã hoá đối xứng có nhiều nhược điểm Thứ nhất, khi sử dụng thuật toán này, hai bên phải chia sẻ chung một chìa khoá, việc thông báo cho nhau chìa khoá phải thực hiện bằng một phương thức an toàn Thứ hai, mỗi cặp truyền cần sử dụng một chìa khoá riêng, do đó nếu muốn truyền với nhiều đối tác khác nhau sẽ cần sử dụng nhiều chìa khóa khác nhau, do đó sẽ khó quản lý

Các công cụ bảo mật

Các công cụ không khóa

Các công cụ khóa đối xứng

Các công cụ khóa công khai

Các hàm băm độ dài tùy ý

Các phép hoán vị một chiều

Các mã khóa đối xứng

Các hàm băm độ dài tùy ý

Các công cụ định danh

Các mã khóa công khai

Các công cụ định danh

Các hạn chế trên của mã hoá đối xứng sẽ được giải quyết bằng mã khoá công khai (Public-key Crytography) hay mã hoá bất đối xứng (Asymmetric-key crytography Hệ thống này bao gồm hai chìa khoá: một bí mật (private key) và một công khai (public key) Chìa khoá bí mật sẽ được giấu kín, còn chìa khoá công khai sẽ được công bố rộng rãi (thường được chứa ở một máy chủ trên mạng để mọi người truy nhập) Thuật toán mã hóa công khai được sử dụng nhiều nhất hiện nay là RSA do Ronald Rivest, Adi Shamir và Len Adleman phát minh ra Trong hệ thống mã hóa bất đối xứng, biết chìa khoá riêng thì sẽ dễ dàng tính được chìa khoá công khai, nhưng không thể tính ngược lại Do đó có thể quảng bá chìa khoá công khai mà không sợ bị phá hỏng hệ thống Ngoài ra, mã hóa khóa công khai làm việc theo cả hai chiều Nghĩa là, thông tin được mã hóa bằng khóa bí mật sẽ được mở bằng khóa công khai, còn thông tin được mã hóa bằng khóa công khai sẽ được mở bằng khóa bí mật Một nhược điểm của mật mã khoá công khai là tốc độ xử lý chậm Như vậy tính riêng tư của dữ liệu được giải quyết bằng việc mã hóa Để giải quyết vấn đề tính toàn vẹn và tính xác thực người ta sử dụng chữ kí số và chứng thực Chữ ký số và chứng thực cũng dựa trên lý thuyết mật mã khóa công khai.

Khái niệm mã hóa và giải mã

Mã hoá (encryption) là quá trình chuyển đổi thông tin từ dạng có thể đọc được sang dạng không thể đọc được đối với những người không được nhận thông tin đó Giải mã (decryption) là quá trình chuyển đổi thông tin từ dạng không đọc sang dạng có thể đọc được Các thuật toán mã hoá là các hàm toán học đặc biệt [1]

Việc mã hoá nhằm đảm bảo tính bí mật của thông tin, ngăn chặn những kẻ đột nhập đọc được hoặc thay đổi nó Mã hoá và giải mã có nguyên tắc là phải đảm bảo quan hệ 1-1 giữa bản tin ban đầu (plaintext) và bản tin được mã hoá (ciphertext) Sự mã hoá và giải mã có ý nghĩa là thực hiện các hàm có hai tham số:

Bản tin được mã hoá (là plaintext) /giải mã (là ciphertext)

Gọi hai hàm đó là Ek và Dk ứng với một từ khoá mã K Khi đó hai hàm này phải thoả mãn biểu thức sau:

P = Dk(C) = Dk(Ek(P)) Để giải mã thì phải biết được cách mã hoá, tức là phải biết được hàm Ek và biết được Key Hàm mã hoá Ek có thể được thay đổi sau vài năm nhưng Key có thể thay đổi thường xuyên nếu cần, hàm Ek nói chung không thể thay đổi liên tục vì sẽ rất khó khăn để nhiều người dùng cùng thay đổi cả phần cứng và phần mềm thiết bị mã hoá, giải mã Một phương pháp mã hoá dữ liệu được bảo mật 5 năm thì có nghĩa là đã bảo mật thành công

Hàm Ek trước khi dùng phải được kiểm tra độ an toàn bảo mật và phải được thống nhất sử dụng chung Vì vậy hàm Ek chưa phải là cái bí mật, Key mới thực sự là bí mật Mức độ bảo mật sẽ tăng lên khi chiều dài của Key tăng lên

Hình 2.2: Mô hình Mã hoá và Giải mã Để bảo đảm an toàn thì phương thức mã hoá phải có độ bảo mật cao Ngay cả khi giải mã được một số đoạn tin thì vẫn rất khó giải mã được nội dung thông tin

Kích thước của không gian khóa là số các cặp khóa mã hóa / giải mã sẵn có trong hệ thống mã [1] Một khóa là một phương tiện đặc trưng để xác định phép biến đổi mã hóa (từ một tập các phép biến đổi) được dùng Ví dụ, một phép biến đổi mã khối độ dài t có số các hàm mã hóa là t! Mỗi hàm có thể được mô tả đơn giản bằng một phép hoán vị gọi là khóa

Có sự liên quan chặt chẽ giữa tính bảo mật của một hệ thống mã hóa với kích thước không gian khóa Kích thước khóa càng lớn thì mức độ bảo mật càng cao Đây là một tính chất rất quan trọng

3 Kỹ thuật mã hóa bí mật

Mã hóa khóa bí mật hay mã hóa khóa đối xứng là dạng kinh điển của mật mã học đã được sử dụng từ xa xưa Trong các hệ mã khóa đối xứng, hai bên gửi và nhận tin chia sẻ chung một khóa bí mật được dùng để mã hóa và giải mã các bản tin Điều này đòi hỏi giữa hai bên phải thiết lập một kênh truyền liên lạc an toàn để họ thống nhất về khóa bí mật dùng chung đó

Hình 2.3: Sơ đồ minh hoạ Symetric-key Crytography

Một truyền thông hai phía sử dụng mã hóa khóa đối xứng có thể mô tả bằng sơ đồ khối như hình sau [1]:

Hình 2.4: Truyền thông hai phía sử dụng mã hóa đối xứng

Kỹ thuật mã hóa khóa công khai

Mã hóa khóa đối xứng đã và đang được sử dụng rất rộng rãi, tạo ra nhiều hệ thống liên lạc một cách an toàn qua mạng công cộng Tuy nhiên, mã hóa khóa đối xứng gặp một số vấn đề, đặc biệt đối với các hệ thống lớn:

Vấn đề quản lý khóa (Tạo, lưu mật, trao chuyển …) là rất phức tạp và ngày càng khó khi sử dụng trong môi trường trao đổi tin giữa rất nhiều người dùng Với số lượng user là n thì số lượng khóa cần tạo lập là n(n - 1)/2 Mỗi người dùng phải tạo và lưu (n-1) khóa bí mật để làm việc với (n-1) người khác trên mạng Như vậy rất khó khăn và không an toàn khi n tăng lớn

Vấn đề thứ hai là trên cơ sở mã đối xứng, không thể thiết lập được khái niệm chữ kí điện tử (mà thể hiện được các chức năng của chữ kí tay trong thực tế) và

D d (c) = m Đích m e Kênh an toàn e Kênh không an toàn

22 cũng do đó không có dịch vụ không thể phủ nhận được (non - repudiation) cho các giao dịch thương mại trên mạng

Xuất phát từ sự hạn chế của phương pháp mã hoá đối xứng, mã khoá công khai hay mã hoá bất đối xứng (asymmetric algorithm) đã ra đời và nhanh chóng tạo ra một cuộc cách mạng trong toàn bộ lịch sử mã hoá a Mã khóa công khai

Diffie và Hellman trong các công trình của mình (1975 - 1976) đã đề xuất một loại hệ mã với nguyên tắc mới gọi là hệ mã với khóa công khai (public key cryptosystems), trong đó hệ mã được gắn với một người sử dụng (user) nhất định chứ không phải gắn với một cuộc truyền tin giữa một cặp người dùng

Trong hệ thống mã hóa khóa công khai, mỗi user có hai khóa, một được gọi là khóa bí mật (secret key hay private key) và một được gọi là khóa công khai (public key) Khóa thứ nhất chỉ mình user biết và giữ bí mật, khóa thứ hai được phổ biến công khai Khóa thứ nhất thường đi liền với thuật toán giải mã, còn khóa thứ hai thường đi liền với thuật toán sinh mã, tuy nhiên điều đó không phải là bắt buộc Kí hiệu z là khóa riêng và Z là khóa công khai

Hoạt động của chúng là đối xứng:

Trong đó (1) được sử dụng cho truyền tin mật : B, C, D muốn gửi tin cho A chỉ việc mã hóa thông tin với khóa công khai (ZA) của A rồi gửi đi Chỉ có A mới có thể có khóa riêng để giải mã (zA) và đọc được tin, E dù nghe trộm cũng không thể giải mã để lấy được tin vì không có khóa zA

Còn (2) sẽ được sử dụng để xây dựng các hệ chữ kí điện tử (Ký bằng E(ZA) và kiểm định bằng D(zA))

Hình 2.10: Sơ đồ minh hoạ Public-key Crytography

Một truyền thông hai phía sử dụng mã hóa khóa đối xứng có thể mô tả bằng sơ đồ khối như hình sau[1]:

Hình 2.11: Mô hình truyền thông hai phía sử dụng mã hóa khóa công khai b Nguyên tắc cấu tạo một hệ khóa công khai

Một hệ mã PKC có thể được tạo dựng trên cơ sở sử dụng một hàm kiểu one – way (một chiều) Một hàm f được gọi là one – way nếu: a Đối với mọi X tính ra Y = f(X) là dễ dàng;

Alice Bob e Kênh không an toàn c

24 b Khi biết Y rất khó để tính ra X

Cần một hàm one – way đặc biệt mà có trang bị một trap – door (cửa bẫy), sao cho nếu biết trap – door thì việc tính X khi biết f(X) là dễ dàng còn ngược lại sẽ khó khăn

Một hàm one – way có trap – door như thế có thể dùng để tạo một hệ mã PKC Lấy Ez (hàm sinh mã) là hàm one – way có trap – door Trap – door chính là khóa bí mật, mà nếu biết nó thì có thể dễ dàng tính được nghịch đảo của Ez tức là biết Dz, còn nếu không biết thì rất khó tính được

Những giải thuật khoá công khai dựa vào khóa công khai để mã hoá và khóa bí mật có liên quan để giải mã Như vậy, mỗi người tham gia vào hệ thống đều có hai khoá: khoá mã hoá E và khoá giải mã D

Những giải thuật này có những đặc tính quan trọng sau:

✓ D(E(P)) = P (Plaintext - bản tin mã hoá)

✓ Khối lượng tính toán không khả thi để xác định khóa giải mã D khi chỉ biết giải thuật mật mã và khóa mã hóa E

✓ Không thể phát hiện khoá mã hoá E từ bản tin P chọn sẵn

✓ Trong một số giải thuật như RSA còn có đặc điểm: hoặc một trong hai khóa liên quan có thể được sử dụng cho mã hóa còn khóa kia được dùng cho giải mã

✓ Ngoài ra có một đặc tính khác, đó là việc tính toán cho các bên tạo cặp khoá mã hoá - giải mã, việc tính toán khi biết bản tin cần mã hoá và khoá công khai của bên kia để tạo bản mã tương ứng, việc sử dụng bản tin đã được mã hoá và khoá bí mật của mình để khôi phục bản tin ban đầu phải dễ dàng thực hiện và với tốc độ cao

Các bước cần thiết trong quá trình mã hóa khóa công khai:

✓ Mỗi hệ thống đầu cuối trong mạng tạo ra một cặp khóa để dùng cho mã hóa và giải mã đoạn tin mà nó sẽ nhận

✓ Mỗi hệ thống công bố rộng rãi khóa mã hóa bằng cách đặt khóa vào một thanh ghi hay một file công khai Đây là khóa công khai (public key), khóa còn lại được giữ riêng (private key)

✓ Nếu A muốn gửi một đoạn tin P tới B thì A mã hóa đoạn tin bằng khóa công khai EB của B (gửi EB(P) cho B)

✓ Khi B nhận đoạn tin mã hóa, nó giải mã bằng khóa bí mật DB của mình (tính DB(EB(P))=P) Không một người nào khác có thể giải mã đoạn tin mã này bởi vì chỉ có mình B biết khóa bí mật đó thôi

Chữ ký điện tử

Trong môi trường thương mại hiện nay, để thiết lập một cơ cấu cho việc xác thực thông tin dựa trên máy tính đòi hỏi những hiểu biết về các khái niệm và các kĩ năng chuyên ngành trong cả hai lĩnh vực an toàn máy tính và luật pháp Một trong những kĩ thuật được sử dụng rộng rãi hiện nay đó là sử dụng chữ kí điện tử (Digital Signature)và các cơ chế mã hóa Chữ kí điện tử có đầy đủ chức năng và đóng vai trò như chữ kí viết tay trong các giao dịch truyền thông qua mạng Xét trên quan điểm an toàn thông tin, chữ kí điện tử là kết quả của việc áp dụng quá trình mã hóa lên một thông tin cụ thể Chữ kí điện tử của một bản tin là một số phụ thuộc vào thông tin bí mật (khóa bí mật) mà chỉ người kí biết và phụ thuộc vào nội dung của bản tin được kí Các chữ kí phải xác minh được, nếu xảy ra tranh cãi như việc xác định xem có đúng một người đã kí vào tài liệu hay không (vấn đề chối bỏ nguồn gốc), một bên thứ ba tin cậy có thể giải quyết vấn đề này mà không truy nhập đến thông tin bí mật của người kí

Chữ kí điện tử có nhiều ứng dụng trong an toàn thông tin, bao gồm xác thực (authentication), toàn vẹn dữ liệu (data integrity), không chối bỏ nguồn gốc

(non-repudiation) Một trong những ứng dụng quan trọng nhất của chữ kí điện tử là chứng chỉ khóa công khai trong các mạng lớn Chứng chỉ là một phương tiện cho bên thứ ba tin cậy (Trusted Third Party - TTP) kết hợp nhận dạng của người dùng với một khóa công khai, vì vậy tại một thời điểm sau đó các thực thể khác có thể xác thực khóa công khai mà không cần sự hỗ trợ của bên thứ ba b Một số khái niệm cơ bản

• Chữ kí số (Digital Signature) [4]

Chữ kí số là sự biến đổi của một bản tin sử dụng một hệ thống mã bất đối xứng (asymmetric cryptosystem) và một hàm băm mà một người có bản tin ban đầu và khóa công khai của người kí có thể xác định chính xác được:

1 Sự biến đổi có được tạo ra bằng cách sử dụng khóa bí mật tương ứng với khóa công khai của người kí hay không

2 Bản tin ban đầu có bị thay đổi do sự biến đổi của nó gây ra hay không Chữ kí số (hay chữ kí điện tử) là ứng dụng quan trọng nhất của mã hoá khoá công khai Chữ ký điện tử là một hình thức để đảm bảo tính pháp lý của các cam kết Người gửi mã hóa đoạn tin (ký) bằng khóa bí mật của mình, người nhận giải mã bằng khóa công khai của người gửi Chữ ký được áp dụng đối với thông điệp hay với một khối dữ liệu nhỏ tương ứng với thông điệp Nó phải đáp ứng được các yêu cầu sau:

- Phải tương đối dễ dàng để tạo ra chữ ký điện tử

- Phải tương đối dễ dàng để xác định và kiểm tra chữ ký điện tử

- Phải không có khả năng tính toán để giả mạo một chữ ký điện tử, hoặc tạo một đoạn tin mới cho một chữ ký điện tử có sẵn

- Người nhận có thể xác thực được đặc điểm nhận dạng của người gửi, nói cách khác, chữ ký phải sử dụng một số thông tin duy nhất đối với người gửi để chống cả giả mạo và phủ nhận Vì vậy, người gửi sau này không thể chối bỏ được nội dung của bản tin mà mình đã gửi

- Người nhận không thể bịa đặt hay thay đổi bản tin nhận được

Chứng chỉ là một bản tin thực hiện các chức năng sau:

1 Xác định tổ chức cấp chứng chỉ (Certification authority - CA) phát hành chứng chỉ đó

2 Gọi tên hoặc nhận dạng người sử dụng chứng chỉ (subscriber)

3 Chứa khóa công khai của người sử dụng chứng chỉ

4 Xác định thời hạn hợp lệ (operational period) của chứng chỉ (tức khoảng thời gian mà thông tin trong chứng chỉ còn hiệu lực)

5 Xác định chứng chỉ đã được kí một cách số hóa bởi tổ chức cấp chứng chỉ phát hành nó

Một người muốn xác minh một chữ kí điện tử thì ít nhất cần phải có: (1) khóa công khai tương ứng với khóa bí mật được dùng để tạo chữ kí, và (2) chứng cứ chắc chắn rằng khóa công khai (và do đó cả khóa bí mật tương ứng của cặp khóa) là của người ký Mục đích cơ bản của chứng chỉ là đáp ứng cả hai yêu cầu này theo cách thức tin cậy

Một chứng chỉ thông thường sẽ ở dạng các bản ghi nhị phân (binary record) nằm trong quá trình trao đổi dữ liệu điện tử (Electric Data Interchange - EDI) hiện thời Việc sử dụng các trường bổ sung hay các mở rộng nhằm cung cấp thêm thông tin hay các thuộc tính bổ sung (ví dụ như sự xác nhận người sử dụng chứng chỉ (subscriber ) như một tác nhân, hay tham chiếu chéo đến các cơ sở dữ liệu khác cung cấp thông tin về người sử dụng) là không bắt buộc

Tổ chức cấp chứng chỉ (CA) cần phải ký một cách số hóa lên chứng chỉ, nhằm hai mục đích: (1) Bảo vệ tính toàn vẹn thông tin của chứng chỉ, và (2) cho phép xác nhận chữ kí điện tử của tổ chức cấp chứng chỉ

Chữ kí điện tử của tổ chức cấp chứng chỉ (CA) cũng như chữ kí điện tử của người sử dụng chứng chỉ (subscriber) cần có một dấu thời gian (time - stamp) để thuận tiện cho việc chứng minh rằng chữ kí điện tử (của tổ chức cấp chứng chỉ hay của người sử dụng chứng chỉ) được tạo ra trong thời gian hiệu lực của một chứng chỉ hợp lệ, do đó chữ kí điện tử có khả năng kiểm định một chứng chỉ

• Xác nhận hợp lệ (Validation)[4]

Thông tin trong một chứng chỉ có thể thay đổi theo thời gian Một người sử dụng chứng chỉ (certificate user) cần phải đảm bảo là dữ liệu trong chứng chỉ là đúng (gọi là xác nhận hợp lệ chứng chỉ) Có hai phương pháp cơ bản để xác nhận hợp lệ chứng chỉ:

− Người sử dụng có thể trực tiếp hỏi CA về tính hợp lệ của chứng chỉ mỗi lần sử dụng nó Đây là kiểu xác nhận hợp lệ trực tuyến (online validation)

− CA có thể chứa thêm thời hạn hợp lệ vào trong mỗi chứng chỉ - một bộ thời gian sẽ định nghĩa khoảng thời gian mà các thông tin chứa trong chứng chỉ được cho là hợp lệ (còn hiệu lực) Đây là xác nhận hợp lệ không trực tuyến

Thu hồi chứng chỉ là kết thúc vĩnh viễn thời hạn hợp lệ (operational period) của một chứng chỉ xét từ một thời điểm xác định trở đi Sự thu hồi chứng chỉ là quá trình báo cho người sử dụng biết khi thông tin trong một chứng chỉ bất ngờ mất hiệu lực Việc này có thể xảy ra khi một chủ thể của khoá riêng bị lộ, hay khi thông tin định danh của một chứng chỉ thay đổi (thí dụ như chủ thể có một số điện thoại mới)

Xác thực là một quá trình được dùng để xác định nhận dạng của một người hoặc tính toàn vẹn của một thông tin cụ thể Đối với một bản tin, sự xác thực bao gồm việc xác định nguồn gốc bản tin và xác định nó chưa bị sửa đổi hoặc thay thế trong quá trình truyền thông

Khi một CA chứng thực một thực thể và người sử dụng xác nhận sự hợp lệ của chứng thực đó, thực thể được gọi là xác thực Mức độ mà người sử dụng tin tưởng vào các thông tin của chứng chỉ và sự hợp lệ của nó là cách để đánh giá độ mạnh (strength of Authentication) của sự xác thực Ví dụ, nếu bạn nhìn Alice và thấy mắt cô ta màu xanh, khi đó bạn có một sự xác thực mạnh mẽ về màu mắt của Alice, mặt khác nếu bạn nghe ai đó nói về điều đó thì sự xác thực là yếu và bạn chưa hoàn toàn tin tưởng vào điều đó

Phân loại các hệ thống chữ kí điện tử

Các hệ thống chữ kí điện tử bao gồm hai phân lớp tổng quát nhất, có thể mô tả tóm lược như sau [1]:

1 Các hệ thống chữ kí số với phụ lục (Digital Signature Schemes with appendix) yêu cầu đầu vào của thuật toán xác minh là bản tin nguyên gốc

2 Các hệ thống chữ kí số với hồi phục bản tin (Digital Signature Schemes with message recovery) không yêu cầu đầu vào của thuật toán xác minh là bản tin nguyên gốc Trong trường hợp này, bản tin gốc được khôi phục từ chữ kí

35 a Chữ kí điện tử với phụ lục

Các hệ thống chữ kí số với phụ lục được sử dụng rộng rãi trong thực tế Chúng dựa vào các hàm băm mã hóa (cryptographic) và ít bị tấn công[1]

Các hệ thống chữ kí số yêu cầu đầu vào của thuật toán xác minh là bản tin nguyên gốc được gọi là hệ thống chữ kí số với phụ lục

Các ví dụ của cơ chế chữ kí điện tử với phụ lục là các hệ thống chữ kí số DSA, ElGamal, Schnorr Các kí hiệu được dùng cho bởi bảng 3.1 sau:

Bảng 3.1 Các kí hiệu toán học

Mỗi thực thể tạo một khóa bí mật dùng để kí các bản tin, và một khóa công khai tương ứng cho các thực thể khác dùng để xác minh chữ kí

Tập các phần tử được gọi là không gian bản tin (message space)

Tập các phần tử được gọi là không gian kí số (sigining space) Tập các phần tử được gọi là không gian chữ kí (signature space) Ánh xạ 1 - 1 từ M đến MS gọi là hàm dư thừa (redundancy function) Ảnh của R ( MR = Im(R)) Hàm ngược của R (R -1 : MR → M) Tập các phần tử được gọi là tập chỉ số (indexing set of signing)

Hàm một chiều trên miền M Ảnh của h ( h: M → M h); Mh  MS được gọi là không gian giá trị Băm

Hệ thống chữ kí số kí

1 Mỗi thực thể A cần chọn một khóa bí mật định nghĩa một tập

S A = {S A,k : kR } các phép biến đổi Mỗi S A,k là một ánh xạ 1 – 1 từ M h tới

S và được gọi là một phép biến đổi ký (signing transformation)

2 S A định nghĩa một ánh xạ tương ứng V A từ M h × S tới tập {true, false} thỏa mãn:

Với tất cả m  M h , s *  S; m = h(m) với mM V A được gọi là phép biến đổi xác minh (verification transformation) và được xây dựng bằng các tính toán mà không cần biết khóa bí mật của người kí

3 Khóa công khai của A là V A ; khóa bí mật của A là tập S A

3 Thuật toán tạo chữ kí và xác minh chữ kí

Thực thể A tạo một chữ kí s  S cho bản tin m M , mà sau đó thực thể B có thể xác minh

1 Tạo chữ kí Thực thể A thực hiện các công việc sau:

(c) Chữ kí của A cho bản tin m là s * Cả m và s * là sẵn dùng cho các thực thể muốn xác minh chữ kí

2 Xác minh chữ kí Thực thể B thực hiện các công việc sau:

(a) Nhận khóa công khai đã xác thực của A là V A

(c) Chấp nhận chữ kí nếu và chỉ nếu u = true

Hình sau cho thấy cái nhìn tổng quan về mặt ngữ nghĩa của một hệ thống chữ kí số với phụ lục Các phép biến đổi kí số và xác minh chữ kí yêu cầu các đặc tính sau:

(i) Với mỗi kR , S A,k phải tính được

(iii) Về mặt tính toán, không một thực thể nào ngoài A có thể tìm được một giá trị mM và một s *  S mà V A ( m , s * ) = true với m = h(m)

(a) Quá trình kí số bản tin

(b) Quá trình xác minh chữ kí

Hình 3.6: Tổng quan về hệ thống chữ kí số với phụ lục

Hầu hết các hệ thống chữ kí số với hồi phục bản tin được áp dụng với các bản tin có độ dài cố định, trong khi các hệ thống chữ kí số với phụ lục được áp dụng cho các bản tin có độ dài tùy biến Hàm một chiều h trong thuật toán tạo và xác minh chữ kí thường được lựa chọn là một hàm băm không xung đột (collision – free function) Một phương pháp băm khác là chia nhỏ bản tin thành

38 các khối có chiều dài cố định, các khối này được kí riêng lẻ sử dụng hệ thống chữ kí số với hồi phục bản tin b Chữ kí điện tử với khôi phục bản tin

Một hệ thống chữ kí số với khôi phục bản tin là một hệ thống chữ kí số trong đó thuật toán xác minh chữ kí không yêu cầu sử dụng bản tin ban đầu[1]

Các hệ thống chữ kí số loại này có đặc tính là bản tin được kí có thể khôi phục được từ chữ kí Đặc tính này có được là do việc sử dụng các bản tin ngắn Các ví dụ của cơ chế chữ kí điện tử với hồi phục bản tin là các hệ thống chữ kí số RSA , Rabin, Nyberg – Rueppel [1]

2 Thuật toán tạo khóa (Key generation Algorithm)

Mỗi thực thể tạo một khóa bí mật dùng để kí các bản tin, và một khóa công khai tương ứng cho các thực thể khác dùng để xác minh chữ kí

1 Mỗi thực thể A lựa chọn một tập S A = {S A,k : k R } các phép biến đổi Mỗi S A,k là một ánh xạ 1 – 1 từ M S tới S và được gọi là một phép biến đổi ký (signing transformation)

2 S A định nghĩa một ánh xạ V A có đặc tính là : V A  S A,k là ánh xạ đồng nhất trên M S (identity map) với tất cả k R V A được gọi là phép biến xác minh chữ kí được xây dựng bằng các tính toán mà không cần biết khóa bí mật của người kí

3 Khóa bí mật của A là V A ; khóa công khai của A là tập S A

3 Thuật toán tạo chữ kí và xác minh chữ kí

Thực thể A tạo một chữ kí s  S cho bản tin m M , mà sau đó thực thể B có thể xác minh Bản tin m được hồi phục từ s

1 Tạo chữ kí (Signature Generation Algorithm)

Thực thể A thực hiện các công việc sau:

(b) Tính m = R(m) và s * = S A,k ( m ) (R là một hàm dư thừa)

(c) Chữ kí của A cho bản tin m là s * ; s * là sẵn dùng cho các thực thể muốn xác minh chữ kí và bản tin m được khôi phục từ s *

2 Xác minh chữ kí (Verification Algorithm)

Thực thể B thực hiện các công việc sau:

(a) Nhận khóa công khai đã xác thực của A là V A

(c) Kiểm tra m  M R Nếu m  M R , loại bỏ chữ kí

(d) Hồi phục m từ m bằng cách tính R -1 ( m )

Hình 3.7: Tổng quan về hệ thống chữ kí số hồi phục bản tin

Hình 3.7 cho thấy cái nhìn tổng quan về mặt ngữ nghĩa của một hệ thống chữ kí số hồi phục bản tin Các phép biến đổi kí số và xác minh chữ kí yêu cầu các đặc tính sau:

(i) Với mỗi kR , S A,k phải tính được

(iii) Về mặt tính toán, không một thực thể nào ngoài A có thể tìm được một giá trị s *  S mà V A ( s * )  M R

Các loại chữ ký số

Sơ đồ ký RSA (đề xuất 1978)

• Cho n = p*q, trong đó p, q là các số nguyên tố

K = {(n, p, q, a, b) : n = p*q, p và q là các số nguyên tố, a*b ≡ 1(mod 𝜙(n))}

• Các giá trị n và b là khóa công khai ; còn p, q là khóa bí mật

+ verk(x, y) = TRUE ⇔ x ≡ y b (mod n) với x, y ϵ Zn b Chữ ký mù a Giới thiệu chữ ký mù

Chữ ký mù đc Chaum giới thiệu vào năm 1983 Chữ ký mù là để người ký tạo ra chữ ký trên một văn bản mà chính người ký cũng không biết nội dung – không biết nội dung nhưng vẫn tạo ra được chữ ký hợp lệ Đặc trưng của nó là chỉ có duy nhất người chủ của chữ ký mới có khả năng tạo ra chữ ký hợp lệ cho một văn bản và chữ ký cho một văn bản đó có thể được kiểm tra tính đúng đắn bởi bất cứ ai

Chữ ký mù được áp dụng trong kỹ thuật bỏ phiếu từ xa và hệ thống e-money ẩn danh

Các bước tiến hành như sau:

1 Làm mù x: A làm mù x bằng một hàm: z = Blind(x) và gửi z lại cho B

2 Ký: B ký trên z bằng hàm y = Sign(z)=Sign(Blind(x))và gửi lại y cho

3 Xóa mù: A tiến hành xóa mù trên y bằng hàm

Sign(x) = UnBlind(y) = Unblind(Sign(Blind(x))

42 b Chữ ký mù dựa trên chữ ký RSA

Bài toán là A muốn lấy chữ ký của B trên x nhưng không muốn cho

B biết x Quá trình được thực hiện như sau:

Lấy p,q là các số nguyên tố lớn, n=p*q, 𝜙(n) = (p-1)*(q-1), ab = 1 mod 𝜙(n), r là một số ngẫu nhiên ϵ Zn

1 Làm mù x: A làm mù x bằng hàm: Blind(x) = Blind(x) = 𝑥𝑟 𝑏 mod n=z và gửi z cho B r được chọn sao cho tồn tại phần tử nghịch đảo 𝑟 −1 (mod n)

2 Ký: B ký trên z bằng hàm Sign(z) = Sign(Blind(x)) = 𝑧 𝑎 mod n=y và gửi lại y cho A

3 Xóa mù: A tiến hành xóa mù y bằng thuật toán:

UnBlind(y) = UnBlind(Sign(Blind(x))) = y*𝑟 −1 mod n = Sign(x) c Chữ ký kép

Chữ ký kép được sử dụng để xác minh khi dữ liệu được tạo thành từ các phần khác nhau của các đơn vị logic đơn lẻ Chữ ký kép kết nối hai bản tin một cách an toàn, nhưng mỗi bên chỉ có thể đọc được thông tin dành riêng cho mình

Trong thương mại điện tử, trường hợp khách hàng muốn gửi một thong tin đặt hàng (OI – Oder Ìnormation) tới nhà cung cấp và thong tin thanh toàn

(Payment Information - PI) tới ngân hàng Nhà cung cấp không cần biết mã số thẻ tín dụng của khách hàng và ngân hàng cũng không cần thiết chi tiết đặt hàng của khách hàng Khách hàng được cung cấp sự bảo vệ tính riêng tư bằng cách giữ hai mục tách rời nhau Tuy nhiên, hai mục này phải được lien kết với nhau theo cách mà có thể được sử dụng để giải quyết các vấn đề tranh cãi nhau khi cần Liên kết được yêu cầu để khách hàng có thể chứng minh rằng thanh toàn này dành cho đặt hàng này mà không phải là cho các mặt hàng hoặc dịch vụ khác

CHƯƠNG 3: ỨNG DỤNG CHỮ KÝ SỐ TRONG THƯƠNG MẠI ĐIỆN TỬ

Chương này sẽ tập trung mô tả hệ thống cài đặt chưong trình tạo và xác thực chữ ký số Chương trình được phát triển trên ngôn ngữ Java Chương trình thể hiện việc cấp phát khóa, tạo chữ ký số cho một file văn bản và xác thực chữ ký cho file văn bản đó

➢ Sử dụng BigInteger trong gói java.math.* cung cấp hầu hết các hàm dựng và các hàm số học cho phép thao tác thuận lợi với số nguyên lớn

➢ Một số hàm: o Hàm dựng BigInteger (int bitLength, int certainty, Random rnd): sinh số nguyên tố ngẫu nhiên với số bit cho trước; o Hàm BigInteger add(BigInteger val): cộng 2 số nguyên lớn; o Hàm BigInteger subtract(BigInteger val): Trừ 2 số nguyên lớn; o Hàm BigInteger multiply(BigInteger val): nhân 2 số nguyên lớn; o Hàm gcd(BigInteger val): Tìm USCLN của 2 số lớn o Hàm mod(BigInteger m): Tính modulo (phần dư) của phép chia nguyên; o Hàm BigInteger modInverse(BigInteger m): tính modulo nghịch đảo (this -

1mod m); o Hàm BigInteger modPow(BigInteger exponent, BigInteger m): Tính (this exponent mod m)

Mã hóa: (code này trong RSA , còn trong chữ ký số thì d bí mật được mã hóa)

Giải mã: (code này trong RSA , còn trong chữ ký số thì e công khai được mã hóa)

Hàm băm SHA-1 để lấy giá trị băm của file đầu vào chữ ký tạo ra bởi khóa bí mật + giá trị băm và được ghi ra file DigitalSignature.txt

2 Chọn kích thước khóa 1024 và tạo khóa công khoa và khóa bí mật

3 Người gửi chọn tập tin và ký

4 Người nhận chọn tập tin và kiểm tra chữ ký

Ngày đăng: 27/04/2024, 04:10

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Phân loại các công cụ mã hóa (Primatives) - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 2.1 Phân loại các công cụ mã hóa (Primatives) (Trang 19)
Hình 2.2: Mô hình Mã hoá và Giải mã - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 2.2 Mô hình Mã hoá và Giải mã (Trang 21)
Hình 2.3: Sơ đồ minh hoạ Symetric-key Crytography - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 2.3 Sơ đồ minh hoạ Symetric-key Crytography (Trang 22)
Hình 2.4: Truyền thông hai phía sử dụng mã hóa đối xứng - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 2.4 Truyền thông hai phía sử dụng mã hóa đối xứng (Trang 23)
Hình 2.11: Mô hình truyền thông hai phía sử dụng mã hóa khóa công khai  b. Nguyên tắc cấu tạo một hệ khóa công khai - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 2.11 Mô hình truyền thông hai phía sử dụng mã hóa khóa công khai b. Nguyên tắc cấu tạo một hệ khóa công khai (Trang 25)
Hình 3.1 Sơ đồ minh hoạ việc xác thực sử dụng chứng chỉ số và chữ ký điện tử - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 3.1 Sơ đồ minh hoạ việc xác thực sử dụng chứng chỉ số và chữ ký điện tử (Trang 35)
Bảng 3.1 Các kí hiệu toán học - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Bảng 3.1 Các kí hiệu toán học (Trang 37)
Hình 3.6: Tổng quan về hệ thống chữ kí số với phụ lục - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 3.6 Tổng quan về hệ thống chữ kí số với phụ lục (Trang 39)
Hình 3.7: Tổng quan về hệ thống chữ kí số hồi phục bản tin - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 3.7 Tổng quan về hệ thống chữ kí số hồi phục bản tin (Trang 41)
Hình 3.8:  Hệ thống chữ kí số với phụ lục nhận được từ một hệ thống hồi - Bảo Mật Trong Các Giao Dịch Thương Mại Điện Tử
Hình 3.8 Hệ thống chữ kí số với phụ lục nhận được từ một hệ thống hồi (Trang 42)

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

TÀI LIỆU LIÊN QUAN

w