Tổng lượt truy cập

Tuesday, September 28, 2010

Giao thức SET (Secure ElectronicTransaction)

1. Giới thiệu

“ TMĐT cần được diễn giải theo nghĩa rộng để bao quát các vấn đề phát sinh từ mọi quan hệ mang tính chất thương mại dù có hay không có hợp đồng. Các quan hệ mang tính thương mại bao gồm các hoạt động sau đây: bất cứ giao dịch nào về thương mại cung cấp hoặc trao đổi hàng hóa hoặc dịch vụ; thỏa thuận phân phối; đại diện hoặc đại lý thương mại, ủy thác hoa hồng; cho thuê dài hạn; xây dựng các công trình; tư vẫn; kỹ thuật công trình; đầu tư; cấp vốn; ngân hàng; bảo hiểm; thỏa thuận khai thác hoặc tô nhượng; liên doanh các hình thức khác về hợp tác công nghiệp hoặc kinh doanh; chuyên chở hàng hóa hay khách hàng bằng đường biển, đường không, đường sắt hoặc đường bộ”

TMĐT gồm các 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 tuyến tới người tiêu dùng và các dịch vụ sau bán hàng.

1. Cung cấp sự bảo mật thông tin – Nó được hoàn thành bởi việc sử dụng mã hóa thông báo.
2.
Đảm bảo sự toàn vẹn của quá trình truyền dữ liệu – Nó được hoàn thành bởi việc sử dụng chữ ký số.
3.
Xác nhận một cardholder chứng tỏ rằng anh ta là người sử dụng thẻ thanh toán đó là hợp pháp. Nó được hoàn thành bởi việc sử dụng nhưng chữ ký số và chứng chỉ cardholder.
4.
Xác nhận sự buôn bán để chấp nhận những giao dịch qua thẻ thanh toán và đảm bảo mối quan hệ giữa anh ta cùng với tài chính thu được – Nó đựợc hoàn thành bởi việc sử dụng chữ ký số và chứng chỉ thương mại.
5.
Bảo vệ tất cả những người tham gia hợp pháp trong giao dịch và sử dụng một cách an toàn nhất.
6.
Làm đơn giản tính vận hành với nhau giữa những nhà cung cấp phần mềm và mạng – Nó được hoàn thành bởi việc sử dụng những giao thức cụ thể và những khuôn dạng thông báo.

2. Tổng quan về giao thức SET

Các hệ thống thanh toán an toàn hay chỉ trích về sự phát triển của thương mại điện tử. Có 4 yếu tố bảo mật cần thiết cho các thanh toán điện tử an toàn (xác thực, mã hóa, toàn vẹn và chống chối bỏ). Các quá trình mã hóa được các hệ thống thanh toán điện tử chấp nhận sử dụng như các giao thức giống như SSL và SET.

2.1. Vấn đề với SSL

Giao thức SSL, đã phát triển một cách rộng rãi trên Internet ngày này, được giúp đỡ để tạo một chuẩn cơ bản về khả năng bảo mật cho website thương mại. Đa phần người tiêu dùng sử dụng các trình duyệt web có SSL, cũng như phần mềm server bán hàng. Hàm trăm triệu USD đã được dùng để mua bán khi khách hàng sử dụng số thẻ tín dụng của họ trên các website bán hàng có sử dụng công nghệ bảo mật SSL.

Trong trường hợp này, SSL cung cấp một kênh bảo mật giữa người tiêu dùng và người bán hàng cho việc trao đổi các thông tin thanh toán. Điều này có nghĩa là bất kỳ dữ liẹu nào được gửi trên kênh này đều được mã hóa. Hay nói cách khác, SSL có thể tạo ra các kết nối tin cậy, nó cũng có các rủi ro lớn như:

- Người chủ thẻ được bảo vệ trước những kẻ nghe trộm nhưng không được bảo vệ trước những người bán hàng. Một vài người bán hàng ko đáng tin cậy, và một trong số họ là các hacker, những người có thể lập ra các website về thời trang của hãng XYZ hay giả mạo website của hãng XYZ để thu thập thông tin về thẻ tín dụng của khách hàng.

- Người bán hàng không được bảo vệ trước những người mua hàng không tin cậy, những người sử dụng các thẻ tín dụng không còn giá trị sử dụng hoặc những người bị ngân hàng trả lại tiền mà không cần bất kỳ lý do nào.

Cho dù SET là một giải pháp hoàn hảo cho thanh toán điện tử an toàn, một phiên bản tương đối đơn giản của SSL đang được sử dụng rộng rãi hiện nay. Đó là vì giao thức SET phức tạp và các chứng thực không được phân phối rộng rãi với một cách thức ổn định. Về mặt lý thuyết, giao thức SSL (Netscape 1996) có thể sử dụng một chứng thực song không bao gồm khái niệm một cổng nối thanh toán. Những người kinh doanh cần nhận được cả thông tin về việc đặt hàng lẫn thông tin thẻ tín dụng bởi vì quá trình cầm giữ được khởi phát bởi người kinh doanh.Giao thức SET, trái lại, giấu các thông tin về thẻ tín dụng của khách hàng đối với người kinh doanh và cũng giấu cả thông tin về đơn hàng đối với các ngân hàng để bảo vệ sự riêng tư. Thiết kế này được gọi là chữ ký kép (dual signature). Cho đến khi SET trở nên thông dụng, một phiên bản đơn giản của SSL là một sự lựa chọn rất đúng đắn.

2.2. Tổng quan về giao thức SET

Đây là một giao thức được sử dụng rất thuận tiện trong các giao dịch bằng thẻ tín dụng, và SET có một vài chức năng mà không được SSL hỗ trợ.

2.2.1. Mục đích và các thực thể.

Mục đích

Mục đích của giao thức SET là thiết lập các giao dịch thanh toán có:

- hỗ trợ sự tin cậy về thông tin.

- Đảm bảo tính toàn vẹn cho các yêu cầu thanh toán và các dịch vụ liên quan đến dữ liệu.

- Có cơ chế xác thực giữa người bán hàng và người mua hàng với nhau.

Các thực thể chính:

Có 4 thực thể chính trong giao thức SET:

- Cardholder (người mua hàng, chủ thẻ): Một người tiêu dùng hay một công ty mua hàng, người sử dụng thẻ tín dụng để trả tiền cho người bán (người kinh doanh).

- Merchant (người bán hàng): Một thực thể chấp nhận thẻ tín dụng và cung cấp hàng hoá hay dịch vụ để đổi lấy việc trả tiền.

- Merchant’s Bank (cổng thanh toán hay ngân hàng của người bán hàng): Một cơ quan tài chính (thường là một ngân hàng) lập tài khoản cho người kinh doanh và có được chứng từ của các phiếu bán hàng uỷ quyền.

- Issuer (ngân hàng của người chủ thẻ): Một cơ quan tài chính (thường là một ngân hàng) lập tài khoản cho người chủ sở hữu thẻ và phát hành thẻ tín dụng.

Những người tham gia trong giao thức SET & những sự tương tác của họ

2.2.2. SET hoạt dộng như thế nào.

Đầu tiên, cả hai bên chủ thẻ và người bán hàng cần phải đăng ký với một CA (trung tâm xác thực) trước khi họ có thể mua hay bán hàng trên Internet. Sau khi đã đăng ký thành công, chủ thẻ và người bán hàng có thể bắt đầu các giao dịch với nhau theo 9 bước trong giao thức SET, bao gồm:

1. Người mua hàng duyệt website và quyết định món hàng mà mình muốn mua.

2. Người mua hàng gửi yêu cầu mua hàng và thông tin thanh toán, bao gồm 2 phần trong 1 thông báo:

a. Thông tin về mặt hàng cần mua – phần này dành cho người bán hàng

b. Thông tin về thẻ tín dụng – phần này chỉ dành cho ngân hàng

3. Người bán hàng chuyển thông tin của thẻ tín dụng (phần b) tới ngân hàng phía cửa hàng

4. Ngân hàng thương mại (phía cửa hàng) kiểm tra tính xác thực của thanh toán với ngân hàng thương mại (phía chủ thẻ).

5. Ngân hàng thương mại (phía chủ thẻ) kiểm chứng thông tin thanh toán từ cổng thanh toán.

6. Ngân hàng thương mại gửi lại thông tin xác thực cho người bán hàng.

7. Người bán chấp nhận yêu cầu mua bán và gửi hàng cho phía khách hàng.

8. Người bán hàng nhận giao dịch thanh toán từ ngân hàng của họ.

9. Ngân hàng (phía chủ thẻ) gửi thông tin về hóa đơn tới khách hàng.

2.2.3. Tổng quan về giao thức.

SET (Secure Electronic Transaction) là một giao thức bảo mật khá toàn diện, sử dụng mật mã để cung cấp tính bảo mật cho thông tin, đảm bảo tính toàn vẹn trong thanh toán, và cho phép xác thực các thực thể với nhau. Để xác thực, những người mua hàng và người bán háng được yêu cầu cần phải có các chứng chỉ số được cấp bởi các tổ chức được đảm bảo.

Nó dựa vào mật mã và chứng chỉ số để đảm bảo tính bí mật và an toàn cho thông báo. Gói dữ liệu được mã hóa bằng một khóa được sinh ngẫu nhiên rồi sử dụng khóa công khai của người nhận để mã hóa và được gửi đến cho người nhận với dạng một thông báo đã được mã hóa. Người nhận giải mã “digital envelope” bằng khóa riêng rồi dùng khóa đối xứng để giải mã và thu được thông báo ban đầu.

Các chứng chỉ số, còn được gọi là các giấy ủy nhiệm điện tử hoặc là các ID, là các tài liệu chứng thực số sử dụng một khóa công khai có ràng buộc với cá nhân hoặc thực thể. Cả khách hàng và người bán hàng cần phải đăng ký một chứng chỉ xác thực (CA) trước khi họ có thể thực hiên các giao dịch thanh toán. Theo cách đó, khách hàng sẽ có các giấy ủy nhiệm điện tử để chứng minh sự tin cậy của mình. Người bán hàng cũng đăng ký và nhận các chứng chỉ số đó. Các chứng chỉ số này không chứa các thông tin nhạy cảm như số thẻ tín dụng . Cuối cùng, khi khách hàng muốn thực hiện một giao dịch, anh ta và người bán hàng trao đổi các chứng chỉ số vói nhau. Nếu cả hai bên chấp nhận thì họ có thể thực hiện ngay việc giao dịch. Các chứng chỉ số phải được cấp lại sau vài năm, và tránh bị giả mạo.

3. SET Cryptography

3.1. Tổng quan.

Secure Electronic Transactions (SET) dựa vào kỹ thuật mật mã – hóa hóa và giải mã các thông báo. Có hai phương pháp mã hóa chính được dùng trong ngày nay: mật mã khóa bí mật và mật mã khóa công khai. Mật mã khóa bí mật không mang tính thực tế khi sử dụng để trong việc trao đổi các thông báo với số lượng lớn mà không biết trước người nhận trên một mạng công cộng. Với một người bán hàng quản lý các giao dịch được bảo đảm với hàng triệu đơn hàng, một khách hàng có thể cần một khóa khác nhau được ấn định bởi người mua hàng và truyền trên một vài kênh an toàn. Tuy nhiên, việc sử dụng mật mã khóa công khai, giống như là người bán hàng có thể tạo ra một cặp khóa riêng/công khai và công bố khóa công khai, cho phép bất kỳ khách hàng nào đều có thể gửi một thông báo bảo mật tới người bán hàng. Đó là lý do vì sao SET sử dụng cả hai phương pháp để thực hiện việc mã hóa. Mật mã khóa bí mật sử dụng trong SET là thuật toán khá phổ biến Data Encryption Standard (DES), được dùng bởi các công ty tài chính để mã hóa PINs (các số định danh người dùng). Và mật mã khóa công khai được dùng trong SET là RSA.

3.2. Sử dụng khóa đối xứng.

Trong SET, gói dữ liệu được mã hóa bằng cách dùng một khóa đối xứng ngẫu nhiên (DES 56 bit). Khóa này được mã hóa với khóa công khai (RSA) trong thông báo của người nhận. Kết quả thu được gọi là “digital envelope” của thông báo. Điều đó kết hợp tốc độ mã hóa của DES với ưu điểm quản lý khóa của mã hóa khóa công khai RSA. Sau khi mã hóa, phần envelope và bản thân thông báo đã mã hóa được gửi cho người nhận. Sau khi nhận gói dữ liệu đã mã hóa, đầu tiên người nhận giải mã “digital envelope”bằng cách dùng khóa riêng của người nhận để thu được khóa đối xứng ngẫu nhiên và sau dó dùng khóa đối xứng để giải mã thông báo ban đầu.

Việc sử dụng mã hóa DES có thể dễ dàng crack bằng cách dùng các phần mềm hiện đại. Năm 1993, chiếc máy crack DES được thiết kế bởi Michael Wiener, chỉ với ít hơn 1 triệu USD, một khóa DES có độ dài 56 bit có thể bị crack với thời gian trung bình là 3,5 giờ. Với 1 tỷ USD, một cỗ máy song song có thể crack một khóa DES với độ dài 56 bit trong 1 giây. Có thể thấy rằng, điều này liên quan lớn đến việc mã hóa DES trong một giao dịch SET.

3.3. Sử dụng khóa bất đối xứng – Chữ ký số (các thông báo tóm lược)

Mật mã khóa phi đối xứng.

Trong SET, mật mã khóa công khai được dùng để mã hóa các khóa DES và dùng để xác thực (chữ ký số) nhưng không dành cho phần chính trong giao dịch. Với SET, các module RSA có độ dài 1024 bit. Để tạo một chữ ký số, SET dùng một khóa công khai/ riêng khác biệt nhau. Mỗi lần SET thực hiện xử lý hai cặp khóa bất đối xứng: một cặp khóa trao đổi, dùng để mã hóa và giả mã khóa phiên, và một cặp “signature” để tạo và xác minh các chữ ký số (160 bit)

Thuật toán cho phép nhận ra sự thay đổi của thông báo khi thay đổi dù chỉ một bit. Khả năng hai thông báo có cùng một thông báo giản lược là 1/1.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000.000, có nghĩa là không thể tính toán để tạo hai thông báo khác nhau mà có cùng một thông báo giản lược.

Mật mã khóa công khai: Trong cách tiếp cận này, mỗi người tham gia sẽ tạo ra hai khóa duy nhất. Một là “khóa công khai” sẽ được công bố cho mọi người biết và một khóa dùng để mã hóa dữ liệu. Hai khóa này có liên quan đến nhau về mặt toán học và như vậy dữ liệu mã hóa với mọi khóa có thể chỉ được giải mã nhờ vào sử dụng khóa khác. Người dùng phân phối khóa công khai. Bởi vì mối quan hệ toán học giưa hai khóa, người dùng và những người khác nhận khóa công khai có thể chắc chắn rằng dữ kiệu được mã hóa bởi khóa công khai và gửi cho người dùng và có thể chỉ được giải mã khi người dùng đó sử dụng khóa riêng. Một ví dụ của mật mã khóa công khai đó là giải thuật RSA.

Ký số: Một chữ ký số cung cấp một cách để liên kêt thông báo với người gửi. Nó giúp đỡ trong việc bảo đảm tính xác thực và toàn vẹn của thông báo. Khi được kết hợp với tài liêu thông báo, sử dụng những khóa riêng cho phép người dùng ra hiệu các thông báo. Một tài liệu thông báo là giá trị duy nhất được phát sinh cho thông báo đặc biệt đó. Việc chuyển thông báo thông qua một hàm mật mã một chiều phát sinh một tài liệu thông báo. Tài liệu thông báo này được mã hóa sử dụng khóa riêng của người gửi và được nối vào tới thông báo nguyên bản kết quả trong ký số của thông báo. Người nhận ký số có thể chắc chắn rằng thông báo thật sự đến từ người gửi bởi vì thay đổi thậm chí một ký tự trong tài liệu thông báo cũng đều không có thẩm quyền.

Chứng chỉ số: Trước khi hai thực thể bắt đầu mật mã khóa công khai, từng cái phải chắc chắn rằng thực thể khác được xác nhận, nó được làm bởi sự sử dụng của một đối tác thứ ba có thể tin cậy được để xác nhận thực thể đó – khóa thuộc về người được dụ định. Đối tác thứ ba trong trường hợp này được gọi là ủy quyền chứng chỉ (CA). Ban đầu người tham gia sẽ được xác nhận và phải chứng minh sự nhận biết của anh ta với CA. Mỗi lần gnười tham gia chứng minh sự nhận biết của anh ấy, CA sẽ tạo ra một thông báo chứa tên của người tham gia và khóa công khai của nó. CA số ra hiệu thông báo này được biết như chứng chỉ.

Tóm lược về sự tích cực của mật mã (mã hóa/giải mã). Giả sử rằng giao dịch giữ hai người A và B. Người A đưa ra một dữ liệu nào đó và gửi nó cùng với sự mã hóa tới B.

* Sự mã hóa(bên A):

Bước I: ‘A’ chạy thông báo thông qua một hàm mật mã một chiều để phát sinh ra một tài liệu thông báo. Đó là giá trị tài liệu thông báo duy nhất. Tài liệu thông báo này được A mã hóa với một khóa chữ ký riêng để sản sinh ra chữ ký số.

Bước II: A tạo ra một khóa đối xứng ngẫu nhiên. Thông báo, ký số và sự sao chép của A mới sử dụng để tạo ra khóa đối xứng ngẫu nhiên.

Bước III: A mã hóa khóa đối xứng và được sử dụng làm khóa công khai cho B. Mã hóa khóa được coi như phong bì số, cùng với mã hóa thông báo sẽ được gửi cho B.

Vào lúc cuối của quá trình mã hóa A gửi những thành phần thông báo tới B: Mã hóa thông báo đối xứng, chữ ký và chứng chỉ và phong bì số.

Hinh 5: Qúa trình mã hóa thục hiện bỏi A.

* Giải mã (bên B):

Bước I: Từ việc nhận thông báo từ A, B sẽ giải mã phong bì số bằng cách sử dụng khóa riêng cho việc khôi phục khóa đối xứng ngẫu nhiên.

Bước II: Sử dụng khóa đối xứng ngẫu nghiên dược khôi phục, B sẽ giải mã để khôi phục những thông báo, ký số và chứng chỉ và chạy thông báo thông qua một hàm mật mã một chiều để sinh ra tài liệu thông báo cho thông báo để so sánh về sau.

Bước III: Ký số của A được giải mã nhờ sử dụng khóa công khai đang rồn tại từ chứng chỉ đó. Như vậy, B khôi phục tài liệu thông báo nguyên bản. B so sánh tài liệu thông báo với tài liệu thông báo ở bước II. Nếu chúng giống nhau, thì có nghĩa là thông báo đó là đúng và tính toàn vẹn, hợp lệ được chứng minh. Hơn nữa, thông qua việc sử dụng ký số và chứng chỉ, B có thể biêt được thông báo là đúng hay sai.

Quá trinh giải thực hiện bởi B.

3.4. RSA-OAEP

RSA-OAEP (RSA Encryption Scheme – Optimal Asymmetric Encryption Padding) được đưa ra bởi Bel-lare và Rogaway năm 1994, là một trong cải tiến trong SET. Mã hóa khóa công khai RSA-OAEP là sự kết hợp giữa phương pháp mã hóa của OAEP với mã hóa RSA nguyên thủy. RSA-OAEP sử dụng bản rõ làm đầu vào, chuyển chúng thành thông báo đã được mã hóa bằng OAEP và áp dụng RSAEP (RSA encryption primitive) để cho kết quả (dạng số nguyên) sử dụng một khóa công khai RSA. RSA-OAEP dùng cả hai khả năng bảo mật và được thiết kể cho việc mã hóa một thông báo ngắn – các khóa bí mật điển hình trong mật mã đối xứng hay trong thuật toán MAC. OAEP ràng buộc yếu tố bảo mật trong mã hóa RSA với tính toán RSA cơ bản. Phiên bản của OAEP được dùng trong SET là một phiên bản với nhiều ưu điểm so với phiên bản ban đầu. OAEP vẫn còn khá mới mẻ nhưng nó là một trong các chuẩn IEEE P1363.

3.5. Chữ ký kép.

Một ứng dụng mới trong chữ kỹ số được giới thiệu trong SET, đó là khái niệm về chữ ký kép. Chữ ký kép được dùng khi hai thông báo cần được kết hợp bí mật nhưng chỉ có một thông báo được phép đọc từng cái.

Trong SET, chữ ký kép được dùng để kết hợp một thông báo yêu cầu gửi cho người bán hàng với chỉ dẫn thanh toán chứa thông tin tài khoản gửi cho ngân hàng phía người bán hàng. Khi người bán hàng gửi một yêu cầu xác thức tới ngân hàng, nó bao gồm các thông tin thanh toán gửi cho ngân hàng bởi chủ thẻ tín dụng và một thông báo giản lược về thông tin đặt hàng. Ngân hàng sử dụng thông báo giản lược từ người bán hàng và tính toán thông báo giản lược về chỉ thị thanh toán để kiểm tra các chữ ký kép.

4.Hoạt động của SET

Giao thức SET sử dụng mật mã để cung cấp tính bảo mật cho thông tin, đảm bảo tính toàn vẹn cho các thông tin thanh toán và cho phép xác thực giữa các thực thể. Để xác thực, những người mua hàng và người bán háng được yêu cầu cần phải có các chứng chỉ số được cấp bởi các tổ chức được đảm bảo. Nó cũng sử dụng chữ ký kép, cho phép những người bán hàng không thể biết thông tin về thẻ tín dụng của các khách hàng, đồng thời phía ngân hàng không được biết các thông tin về đơn mua hàng nhằm bảo vệ tính riêng tư cho khách hàng.

4.1. Các bước xử lý

1. Người bán hàng gửi hóa đơn và một ID giao dịch duy nhất (XID)

2. Người bán hàng gửi chứng chỉ của mình và chứng chỉ của ngân hàng (được mã hóa bằng khóa riêng của CA)

3. Khách hàng giải mã các chứng chỉ để thu được các khóa công khai

4. Khách hàng gửi đặt hàng (OI) và thông tin thanh toán (PI) được mã hóa bằng các khóa phiên khác và chữ ký kép

5. Người bán hàng gửi yêu cầu thanh toán tới ngân hàng được mã hóa bằng khóa phiên giữa người bán hàng và ngân hàng, PI, thông báo giản lược của OI và chứng chỉ của người bán hàng.

6. Ngân hàng xác thực rằng XID là chính xác trong PI

7. Ngân hàng gửi thông tin đã xác thực tới ngân hàng phía khách hàng.

8. Ngân hàng gửi thông tin chấp thuận yêu cầu tới người bán hàng.

9. Người bán hàng gửi một báo nhận tới khách hàng.

4.2. Khởi tạo thanh toán.

Mục địch của việc khởi tạo thanh toán là cho phép khách hàng nhận chứng chỉ từ người bán hàng. Yêu cầu khởi tạo - PinitReq- bao gồm 8 trường thông tin (Table 1). Trường bảo mật trong phần thông tin yêu cầu được liệt kê trong bảng 2.

PinitReq: {RRPID, Language, LID_C, [LID_M], Chall_C, BrandID, BIN, [Thumbs]}

Các trường trong phần khởi tạo thanh toán.

Trường

Thông tin

RRPID

Cặp ID của Request/Response

Language

Ngôn ngữ được khách hàng sử dụng

LID_C

ID riêng dành cho khách hàng

[LID_M]

ID riêng dành cho người bán hàng

Chall_C

Customer’s challenge salt to Merchant’s signature freshness

BrandID

Loại thẻ (VISA, Master, …)

BIN

Số ID của ngân hàng

Thumbs

Bản phác thảo ngắn (hashes) của chứng chỉ được khách hàng biết

5. Certificates Insurance

Trước khi hai bên sử dụng mật mã khóa công khai để áp dụng trong giao dịch thương mại, mỗi bên đều muốn chắc chắn rằng bên kia đã được xác thực. Một cách để đảm bảo là nhận khóa công khai bằng một kênh truyền an toàn. Tuy nhiên, phần lớn các tình huống trong giải pháp này không mang tính thực tiễn.

Một lựa chọn để truyền bí mật khóa là sử dụng bên thứ 3 tin cậy để xác thực rằng khóa công khai có liên quan đến Alice. Chẳng hạn như một Certificate Authority (CA). Vì các bên tham gia giao thức SET có hai cặp khóa, họ cũng có hai chứng chỉ. Cả hai chứng chỉ được tạo và ký cùng một thời gian bởi Certificate Authority.

5.1. Chứng chỉ của các bên tham gia.

5.1.1. Chứng chỉ của khách hàng.

Các chứng chỉ của khách hàng có chức năng như một chứng nhận điện tử cho thẻ thanh toán. Bởi vì chúng được ký điện tử bởi một trung tâm tài chính, các chứng chỉ không thể bị thay đổi bởi một bên thứ ba và chỉ có thể được tạo bởi một trung tâm tài chính. Chứng chỉ dành cho khách hàng không chứa số tài khoản và ngày hết hạn. Thay vào đó là thông tin tài khoản và một giá trị bí mật chỉ có chủ thẻ mới biết được mã hóa bằng thuật toán hash 1 chiều. Nếu biết số tài khoản, ngày hết hạn và giá trị bí mật, có thể chứng tỏ sự liên kết với chứng chỉ, nhưng không thể biết được thông tin khi biết chứng chỉ. Với giao thức SET, chủ thẻ cung cấp thông tin tài khoản và mã số bí mật cho cổng thanh toán, nơi mà liên kết đã được xác nhận.

Một chứng chỉ chỉ được phát hành cho chủ thẻ khi trung tâm tài chính phát hành của chủ thẻ xác nhận nó. Khi yêu cầu một chứng chỉ, chủ thẻ cho biết mục đích của giao dịch thương mại điện tử. Chứng chỉ này được chuyển đến người bán hàng dựa vào các yêu cầu và thông tin yêu cầu thanh toán đã được mã hóa. Khi chấp nhận chứng chỉ của khách hàng, người bán hàng có thể yên tâm rằng số tài khoản vẫn còn giá trị bởi trung tâm tài chính phát hành thẻ hoặc đại lý của nó.

5.1.2. Chứng chỉ của người bán hàng.

Các chứng chỉ của người bán hàng có chức năng như một chứng nhận điện tử cho các thông tin thanh toán xuất hiện trong cửa sở lưu trữ - bản thân decal đại diện cho người bán hàng mà có mối liên hệ với một trung tâm tài chính cho phép nó chấp nhận các thẻ thanh toán hàng hóa. Do chúng được ký điện tử bởi trung tâm tài chính, các chứng chỉ không thể thay đổi bởi một bên thứ ba và chỉ có thể được tạo ra bởi một trung tâm tài chính. Các chứng chỉ này được xác nhận bởi trung tâm tài chính và được đảm bảo rằng chỉ có người bán hàng được cho phép với một Acquirer. Người bán hàng phải có ít nhật một cặp chứng chỉ để được tham gia trong môi trường SET, nhưng một người cũng có thể có nhiều cặp chứng chỉ. Một người bán hàng sẽ có một cặp các chứng chỉ cho mỗi thẻ thanh toán mà nó chấp nhận.

5.1.3. Chứng chỉ của cổng thanh toán.

Các chứng chỉ dành cho cổng thanh toán dành cho các Acquirer hoặc các quy trình trong hệ thống xử lý việc xác thực và bắt giữ gói tin. Khóa mã hóa của cổng thanh toán, mà người chủ thẻ thu được từ chứng chỉ, được dùng để bảo vệ thông tin tài khỏan của người chủ thẻ. Các chứng chỉ dành cho cổng thanh toán được phát cho Acquirer bằng thanh toán đơn hàng.

5.1.4. Các chứng chỉ của Acquirer

Một Acquirer phải có các chứng chỉ để sử dụng một Certificate Authority mà có thể chấp nhận và xử lý các yêu cầu chứng chỉ từ những người bán hàng trên các mạng riêng và mạng công khai. Các Acquirer lựa chọn để nhận thẻ thanh toán hóa đơn xử lý các yêu cầu về chứng chỉ nhân danh họ sẽ không yêu cầu các chứng chỉ vì họ không thực hiện xử lý các thông báo SET. Các Acquire nhận các chứng chỉ của họ từ thẻ thanh toán đơn hàng.

5.1.5. Các chứng chỉ của Issuer

Một Issuer phải có các chứng chỉ để được phép sử dụng một Certificate Authority mà có thể chấp nhận và xử lý các yêu cầu cung cấp chứng chỉ từ những người chủ thẻ trong các mạng riêng và mạng công cộng. các Issuer lựa chọn để nhận thẻ thanh toán đơn hàng xử lý các yêu cầu cung cấp chứng chỉ nhân danh họ sẽ không cần yêu cầu các chứng chỉ bởi vì họ không thực hiện việc xử lý các thông báo SET. Các Issuer nhận các chứng chỉ của họ từ thẻ thanh toán đơn hàng.

5.1.6. Hệ thống phân cấp chứng chỉ SET.

5.2. Thực hiện đăng ký.

5.2.1. Đăng ký của các bên tham gia.

Cả hai bên, người chủ thẻ và người bán hàng phải đăng ký với một CA trước khi họ có thể thực hiện các giao dịch. Và quá trình xử lý phải đủ bảo mật, khi các quá trình này đều chứa các thông tin nhạy cảm.

Đăng ký của người chủ thẻ

Quá trình này bao gồm 6 thông báo giữa hai bên: chủ thẻ và Issuer (CA)

1. Chủ thẻ bắt đầu gửi yêu cầu đến CA.

2. Sau khi CA nhận được thông báo 1 từ người chủ thẻ, CA trả lời lại. Thông báo bao gồm chứng chỉ khóa trao đổi công khai của CA được ký bởi root CA, chứng chỉ chữ ký của CA và thông báo yêu cầu ban đầu được mã hóa bằng khóa riêng của CA.

3. Chủ thẻ yêu cầu một form đăng ký trong thông báo này. Chủ thẻ tạo ngẫu nhiên một khóa đối xứng K1, mà được dùng để mã hóa yêu cầu và gửi đi cùng vời một “digital envelop” chứa khóa K1 và số thẻ tín dụng của anh ta.

4. CA xác định ngân hàng phát hành của chủ thẻ bằng số thẻ tín dụng và trả lại một form đăng ký thích hợp, được ký bởi CA cùng với chứng chỉ chữ ký của CA.

5. Chủ thẻ tạo một cặp khóa công khai/riêng, hai khóa đối xứng K2, K3 và một số ngẫu nhiên S1. Chủ thẻ tạo một thông báo với các thông tin điền trong form đăng ký, khóa công khai, và K2, và chữ ký số của chủ thẻ. Thông báo này được mã hóa bằng K3 và gửi với một “digital envelop” bao gồm K3 và số thẻ tín dụng.

6. CA xác thực các thông tin, sau đó tạo ra một digital ID. CA tạo một giá trị bí mật sử dụng số ngẫu nhiên S2 được tổng hợp bởi CA và S1. giá trị bí mật này, cùng số tài khoản và ngày hết hạn được dùng làm đầu vào cho một hàm băm để tạo ra một số bí mạt. CA ký chứng chỉ bao gồm số bí mật đó và chữ ký khóa công khai của chủ thẻ. Sau đó, CA gửi chứng chỉ đã được mã hóa bằng khóa K2 đi cùng với chứng chỉ chữ ký của nó.

Quá trình đăng ký này gồm 3 bước. Đầu tiên hai thông báo về nhận khóa công khai của CA. Khi chủ thẻ có khóa trao đổi công khai của CA, anh ta có thể yêu cầu một form đăng ký trong thông báo 3 và 4. Chứng chỉ này nằm ở phần cuối của thông báo 2.

Đăng ký của người bán hàng.

Việc đăng ký của người bán hàng đơn giản hơn của người chủ thẻ, bao gồm 4 thông báo. Hai thông báo đầu tiên cũng giống như đối với của người chủ thẻ, ngoại trừ form đăng ký được gửi đi trong thông báo thứ hai. Người bán hàng phải tạo hai cặp khóa công khai/riêng – một cái cho chữ ký số, cái còn lại cho khóa trao đổi, thay vì là một cặp khóa như của người chủ thẻ.

5.5.2. Hai vấn đề đối với giao thức đăng ký.

Giao thức đăng ký phải chứng minh được tính bí mật. Nhưng có hai vấn đề ảnh hưởng tới tính bảo mật. Thứ nhất đó là người chủ thẻ không cần buộc yêu cầu tạo một cặp chữ ký khóa mới, mà vẫn có thể đăng ký cặp khóa cũ. Vấn đề đó là cặp khóa cũ có thể bị tổn thương. Và vấn đề khác là phương pháp tạo giá trị bí mật bên bên mà phép toán OR giữa các số (S1, S2) được chọn bởi hai bên. Khi phép toán OR có thể đảo ngược, một hành động phạm pháp với CA có thể đưa cho các người chủ thẻ cùng một giá trị bí mật.

Hai lỗi trên đã được fix. Lỗi bảo mật đầu tiên có thể sửa trong quá trình thực hiện của chủ thẻ. Lỗi thứ hai có thể được fix bằng cách thay thế phép toán OR bằng hàm băm một chiều.

6.Bảo mật trong SET.

Thuật toán mã hóa trong SET

Mã hóa đối xứng

- DES (Data Encryption Standard): khóa có độ dài 56bit, bảo vệ dữ liệu tài chính.

- CDMF (Commercial Data Masking Facility): khóa có độ dài 40bit, bảo vệ thông báo yêu cầu tới chủ thẻ.

Mã hóa bất đối xứng và chữ ký số: RSA

Hàm băm: SHA-1

Mã xác thực thông báo: HMAC (dựa trên SHA-1)

Công nghệ bảo mật trong SET

- Các “Digital envelop”, các giá trị nonce, salt và chữ ký kép

- Hai cặp khóa công khai/riêng cho mỗi bên

- Thông báo giản lược có độ dài 160bit

- XIDs

- Các chứng chỉ (5 loại): chủ thẻ, người bán hàng, Acquirer, Issuer, cổng thanh toán

- Các module mã hóa phần cứng

- Tính lũy đẳng (thông báo có thể nhận nhiều lần nhưng chỉ xử lý duy nhất một cái) f(f(x))=f(x)

6.1.Các yêu cầu về bảo mật trong SET

SET không được bảo mật nếu như các server của nó không được bảo mật.

- Dành riêng một máy cho Merchant Server và phần mềm POS

- Sử dụng một firewall để cô lập nó khỏi các mạng Internet và Intranet. Không cho phép sử dụng FTP hay Telnet trên các cổng khác

- Gỡ bỏ tất cả các phần mềm không cần thiết khỏi Merchant Server

- Chỉ có các cổng được định nghĩa trong SET mới nên mở cho các việc thực hiện từ bên ngoài firewall

- Phần mềm Merchant Server nên giao tiếp với phần mềm POS thông qua các API

- Cần bảo vệ các dữ liệu thanh toán chống truy cập/thay đổi

6.2. Tương lai phát triền của giao thức SET

SET có thể làm việc trong môi trường thời gian thực hoặc có thể lưu trữ và chuyển tiếp, và là một nền công nghiệp được củng cố bởi các công ty thẻ tín dụng và các ngân hàng. Các giao dịch của nó có thể được hoàn thành trên WEB hoặc bằng email. Nó cung cấp tính bí mật, tính toàn vẹn, xác thực và (hoặc) chống từ chối.

Công nghệ tương lai của SET

Algorithm

Now

Near-Future

Future

Đối xứng

DES

3-DES

(AES)

Hash

SHA-1

?

?

Bất đối xứng

RSA

ECC

(ElGamal+Diffie Hellman+DSA)

?