Hệ thống thanh toán điện tử

Mục lục

1 TỔNG QUAN 2

1.1 TIỀN ĐIỆN TỬ LÀ GÌ? 2

1.1.1 Thanh toán điện tử 2

1.1.2 Sự an toàn của các thanh toán điện tử 3

1.1.3 Tiền điện tử 3

1.1.4 Giả mạo 4

1.2 MỘT SỐ HỆ THỐNG THANH TOÁN HIỆN CÓ 5

1.2.1 Các chỉ tiêu đánh giá 5

1.2.2 Tổng quan về một số hệ thống 5

1.3 MÔ TẢ HỆ THỐNG BẰNG MÃ HÓA 18

1.3.1 Các công cụ mã hóa khóa công khai 18

1.3.2 Một giao thức tiền điện tử đơn giản 19

1.3.3 Các thanh toán điện tử không tìm thấy dấu vết 20

1.3.4 Một giao thức tiền điện tử cơ bản 21

1.3.5 Các biện pháp an ninh và xác thực sử dụng trong các hệ thống điện tử 22

1.4 SƠ ĐỒ CÁC HỆ THỐNG THANH TOÁN KHÔNG TRỰC TUYẾN 32

1.4.1 Mô hình tổng quát của thanh toán không trực tuyến 32

1.4.2 Bao gồm thông tin định danh 32

1.4.3 Các kỹ thuật xác thực và chữ ký 33

1.4.4 Tổng kết các sơ đồ đã được giới thiệu 36

1.4.5 Các đăc tính tùy chọn của tiền off-line 37

1.4.6 Các vấn đề an ninh 40

1.4.7 Lỗ hổng bảo mật 41

1.5 THANH TOÁN TRỰC TUYẾN 44

1.5.1 Mô hình thanh toán trực tuyến 44

1.5.2 Mô hình thanh toán trực tuyến Abe và Fujisaki 45

1.5.3 Kiểm tra tiền trực tuyến 51

2 PHÂN TÍCH VÀ THIẾT KẾ 55

2.1 Phân tích 55

Các chức năng của hệ thống 56

Xây dựng các biều đồ luồng dữ liệu 57

Phân tích hệ thống về dữ liệu 62

Thiết kế hệ thống: 64

Thiết kế cơ sở dữ liệu: 64

Thiết kế môđun chương trình: 66

2.2 CÀI ĐẶT CỤ THỂ CỦA HỆ THỐNG 70

2.2.1 Nhắc lại sơ đồ lý thuyết 70

2.2.2 Các thao tác chung cần thiết trong hệ thống 73

2.2.3 Tạo tiền số (giao thức rút tiền) 82

 

 

doc116 trang | Chia sẻ: lynhelie | Lượt xem: 1378 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Hệ thống thanh toán điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
êng tư về người dùng mà người dùng không hay biết. Chaum và Pedersen giới thiệu ý tưởng về việc nhúng một thiết bị ngăn chặn giả mạo vào trong một môđun bên ngoài điều khiển bởi người dùng để có được các lợi ích an toàn của thiết bị chống giả mạo mà không yêu cầu người dùng phải tin tưởng vào thiết bị. Họ gọi sự kết hợp này là ví điện tử. Môđun bên ngoài (như là một máy tính cầm tay nhỏ hoặc máy tính cá nhân của người dùng) là truy cập được bởi người dùng. Môđun bên trong không thể được đọc và sửa gọi là “bộ giám sát”. Mọi thông tin mà ra hoặc vào bộ giám sát phải qua môđun bên ngoài, cho phép người dùng kiểm soát thông tin mà ra vào thẻ. Tuy nhiên môđun bên ngoài không thể hoàn tất giao dịch mà không phối hợp với bộ giám sát. Điều này cung cấp cho bộ giám sát khả năng ngăn chặn người dùng tạo các giao dịch mà không hợp pháp, như là dùng một đồng tiền hai lần. Brands và Ferguson cũng đã chỉ ra cách kết hợp bộ giám sát trong sơ đồ tiền điện tử của họ để ngăn chặn việc dùng tiền nhiều lần. Sơ đồ của Brands kết hợp với các bộ giám sát theo cách đơn giản và hiệu quả hơn. Trong sơ đồ Brands cơ bản, khóa mật của người dùng được kết hợp với mỗi đồng tiền của anh ta. Khi tiền được dùng, người dùng sử dụng khóa mật của mình để tạo một trả lời hợp lệ cho thử thách của người nhận. Người nhận sẽ kiểm tra trả lời trước khi chấp nhận thanh toán. Trong sơ đồ của Brands với bộ giám sát ví tiền, thông tin mật của người dùng được chia sẻ giữa người dùng và bộ giám sát. Thông tin bí mật kết hợp là tổng modulo của hai phần, một phần không tiết lộ thông tin mật. Sự phối hợp của người dùng và bộ giám sát là cần thiết để tạo một trả lời hợp lệ cho một thử thách trong quá trình thanh toán. Điều này được thực hiện mà người dùng và bộ giám sát không tiết lộ bất cứ thông tin nào về phần chia sẻ của thông tin bí mật cho nhau. Nó đồng thời cũng ngăn chặn bộ giám sát không điều khiển việc trả lời; vì vậy bộ giám sát không thể tiết lộ bất cứ thông tin gì về người dùng. Một bộ giám sát cũng có thể được sử dụng để theo dấu các giao dịch của người dùng các lần sau, vì nó lưu bản ghi của mọi giao dịch mà nó tham gia. Tuy nhiên, điều này yêu cầu ngân hàng (hoặc bất cứ ai làm việc theo dấu) phải có thể có được bộ giám sát và phân tích nó. Đồng thời, không phải mọi loại bộ giám sát có thể dùng để theo dấu các giao dịch. Cả Brands và Ferguson đều khẳng định họ có thể kết hợp các bộ giám sát vào sơ đồ của họ và vẫn giữ được khả năng không tìm thấy dấu vểt giao dịch của người dùng, thậm chí nếu bộ giám sát được dùng trong các giao dịch có thể bị lấy đi và phân tích. Lỗ hổng bảo mật Các kiểu lỗ hổng. Trong bất cứ hệ thống mã hóa nào vẫn có khả năng có lỗ hổng. Một lỗ hổng bảo mật trong hệ thống tiền điện tử cho kết quả là tiền có thể bị giả mạo hay sao chép tiền. Có một số cách khác nhau mà hệ thống tiền điện tử có thể bị phá hỏng. Một trong những sai hỏng nghiêm trọng nhất là mã hóa (giao thức hay các lý thuyết toán học bên dưới) không cung cấp sự an ninh cần thiết. Điều này cho phép một số người tạo sự giả mạo như thật mà không biết khóa mật của ngân hàng, hoặc có được khóa mật có giá trị mà không cần truy cập vào nó, những người mà nhận ra sự yếu kém của hệ thống có thể tạo các đồng tiền mà có vẻ như là đến từ ngân hàng trong hệ thống. Một kiểu lỗ hổng nghiệm trọng khác có thể xảy ra trong một cài đặt cụ thể của hệ thống. Ví dụ, nếu số sinh ngẫu nhiên của ngân hàng là không tốt, một người có thể đoán số ngẫu nhiên mật và dùng nó để tính các khóa mật và được dùng để tạo tiền điện tử. Thậm chí nếu phép mã hóa và việc thực hiện là an ninh, thì sự an toàn vẫn có thể đổ vỡ vì các đe dọa vật lý. Nếu một tin tặc, trộm, một nhân viên ngân hàng không trung thực có thể truy cập vào khóa mật của ngân hàng thì họ có thể tạo tiền giả. Nếu họ truy cập vào khóa mật của người dùng thì họ có thể dùng tiền của người dùng. Nếu họ có thể sửa đổi phần mềm của ngân hàng hay người dùng họ có thể phá hủy sự an toàn của hệ thống. Các lỗ hổng ở trên áp dụng không chỉ cho các hệ thống tiền điện tử mà đồng thời cho hạ tầng xác thực bên dưới. Bất cứ dạng nào của thương mại điện tử dựa nhiều vào sự tin tưởng của người dùng vào các cơ chế xác thực. Vì vậy nếu một kẻ tấn công có thể thực hiện việc giả mạo chữ ký số của tổ chức chứng chỉ, hắn có thể phá đi sự tin tưởng của người dùng khi xác định lẫn nhau. Vì vậy các tổ chức chứng chỉ cần phải được bảo đảm an toàn cũng như là các ngân hàng. Hậu quả của một lỗ hổng Cả ba sơ đồ cơ bản mô tả ở trên đều là nặc danh, làm không thể liên kết một đồng tiền được nạp với một bản ghi rút tiền của ngân hàng ban đầu cho đồng tiền đó. Thuộc tính này gây hệ quả nghiêm trọng trong trường hợp có lỗ hổng bảo mật dẫn đến làm giả thẻ tiền. Khi một đồng tiền được nạp thì không thể xác định là nó có bị làm giả. Thậm chí ngân hàng cũng không thể nhận ra các đồng tiền của chính mình làm ngăn chặn việc phát hiện giả mạo. Tức là việc vi phạm không thể bị phát hiện cho đến khi ngân hàng nhận thấy tổng lượng tiền nạp của tiền điện tử của họ lớn hơn lượng tiền mà được tạo bởi một khóa cụ thể. Lúc này thì sự mất mát có thể đã quá lớn. Sau khi một sự giả mạo khóa bị phát hiện, ngân hàng vẫn không có khả năng phân biệt tiền có giá trị với tiền giả vì việc nạp tiền và rút tiền là không liên kết. Ngân hàng phải thay đổi khóa mật và hủy giá trị của tất cả các đồng tiền đã được ký với khóa đã bị đe dọa. Ngân hàng có thể thay thế các đồng tiền chưa được tiêu, nhưng giá trị của các đồng tiền không thể theo dấu đã dùng hoặc nạp không thể được quyết định mà không có sự hợp tác của người thanh toán. Thanh toán không tìm thấy dấu vết cản trở ngân hàng xác định định danh của người dùng, và sự nặc danh của người thanh toán cản trở người nhận thanh toán xác định người thanh toán. Có thể giảm thiểu nguy cơ này bằng cách giới hạn lượng tiền bị ảnh hưởng bởi một lần tấn công đơn lẻ. Điều này có thể làm bằng cách thay đổi khóa công khai của ngân hàng sau một khoảng thời gian định trước, hoặc khi tổng giá trị của đồng tiền đã phát hành bởi một khóa vượt qua giá trị định trước. Tuy nhiên, kiểu làm này làm giảm tính nặc danh bởi giới hạn số lượng rút tiền mà làm cho có thể tương ứng với một lần nạp tiền cụ thể và ngược lại. Phục hồi khả năng tìm dấu vết Thuộc tính nặc danh của tiền điện tử đặt ra một số vấn đề vi phạm luật vì chúng cản trở việc rút tiền và nạp tiền liên kết với nhau. Nặc danh đồng thời cũng làm khó khăn để phát hiện việc rửa tiền và trốn thuế vì không có cách liên kết người thanh toán và người nhận thanh toán. Cuối cùng, tiền điện tử tạo ra các dạng mới của các kiểu tội ác cũ như là bắt cóc hay tống tiền khi tiền chuộc có thể được mang đi một cách an toàn từ máy tính ở nhà của kẻ phạm tội. Một cách để giảm thiểu các vấn đề này là yêu cầu một lượng lớn giao dịch hoặc lượng lớn giao dịch trong khoảng thời gian cho trước là tìm thấy dấu vết. Điều này gây khó khăn cho việc thực hiện tội ác trên một lượng tiền lớn. Tuy nhiên, ngay cả với các giới hạn ngặt nghèo nhất như là tối đa $100 một ngày cho việc rút tiền và nạp tiền vẫn có thể tăng số tiền phạm tội lên rất nhanh, nhất là khi một người có thể tạo nhiều tài khoản. Đồng thời, giới hạn lượng tiền được dùng trong một khoảng thời gian phải dựa trên các thiết bị ngăn ngừa giả mạo. Một cách khác để làm giảm các vấn đề này là cung cấp một cơ chế để phục hồi khả năng tìm thấy dấu vết dưới các điều kiện nhất định, như là yêu cầu của tòa án. Khả năng tìm thấy dấu vết có thể chia thành hai kiểu theo hướng của chúng. Tìm dấu vết tiến là khả năng xác định một bản ghi nạp tiền (và vì vậy người nhận thanh toán) khi cho trước một bản ghi rút tiền (và vì vậy định danh của người thanh toán). Nói cách khác, nếu một số giấy bảo hành là đạt được từ khách hàng, thì tìm dấu vết tiến sẽ tiết lộ khách hàng tiêu tiền ở đâu. Tìm dấu vết lùi là khả năng xác định bản ghi rút tiền với bản ghi nạp tiền cho trước. Tìm dấu vết lùi sẽ tiết lộ người mà cửa hàng đã nhận thanh toán. Một giải pháp khác là phục hồi có điều kiện cả tìm dấu vết tiến và lùi trong sơ đồ cắt và chọn giới thiệu bởi Stadler, Piveteau, và Camenisch. Trong sơ đồ cắt chọn cơ bản, một số định danh được liên kết với mỗi bản ghi rút tiền và một số định danh khác liên quan đến mỗi bản ghi rút tiền, mặc dù không có khả năng liên kết hai bản ghi này. Để cung cấp cơ chể phục hồi tìm kiếm lùi, số rút tiền (cùng với một số dữ liệu mà không thể liên kết với việc rút tiền) được mã hóa với khóa công khai của một tổ chức đáng tin chung và được kết hợp với đồng tiền. Số rút tiền được mã hóa này được chuyển tới người nhận thanh toán như là một phần của giao thức thanh toán, và sau đó được chuyển tới ngân hàng khi tiền được nạp. Người thanh toán thực hiện sự mã hóa trong suốt giao dịch rút tiền, nhưng ngân hàng có thể đảm bảo rằng việc mã hóa là hợp lệ. Nếu các điều kiện yêu cầu để tìm thấy dấu vết là đủ, việc thanh toán hay nạp tiền có thể được đưa tới tổ chức đáng tin giữ khóa mật để giải mã số rút tiền. Số rút tiền này sẽ cho phép ngân hàng truy cập vào cơ sở dữ liệu, xác định người thanh toán. Để cung cấp cơ chế cho việc tìm dấu vết tiến, người thanh toán tạo một số nạp tại mỗi lần tiền được rút. Người thanh toán mã hóa số nạp tiền này với một khóa công khai của tổ chức đáng tin chung (cùng với một số dữ liệu khác mà không liên quan đến việc nạp tiền) và phải giá trị này tới ngân hàng như là một phần của giao thức rút tiền. Ngân hàng có thể xác định rằng người thanh toán là không lừa đảo, mặc dù nó chỉ được xem số rút tiền trong dạng mã hóa. Nếu các điều kiện yêu cầu để tìm thấy dấu vết là đủ, bản ghi rút tiền có thể được đưa tới tổ chức đáng tin giữ khóa mật để giải mã số nạp tiền. Ngân hàng có thể dùng số nạp tiền này để xác định người nạp tiền (người nhận thanh toán). Stadler đã chỉ ra rằng có thể cung cấp cơ chế để phục hồi tìm dấu vết trong cả hai hướng. Điều này có thể được dùng để cung cấp các người dùng với sự nặc danh, trong khi giải quyết rất nhiều vấn đề vi phạm pháp luật tồn tại trong toàn bộ hệ thống không tìm thấy dấu vết. Khả năng tìm thấy dấu vết giao dịch theo hai hướng có thể giúp các nhân viên thi hành luật tóm các kẻ trốn thuế và rửa tiền bằng cách xác định ai đã trả tiền hoặc đã được trả bởi các kẻ tình nghi. Các kẻ tống tiền điện tử có thể bị tóm vì số rút tiền của tiền của nạn nhân có thể được giải mã làm tiết lộ kẻ tống tiền khi tiền được nạp. Khả năng phục hồi tìm dấu vết không giải quyết một vấn đề vi phạm pháp luật quan trọng đó là phát hiện tiền giả. Tìm dấu vết lùi có thể xác định tiền giả nếu một thanh toán hay nạp tiền cụ thể là bị tình nghi. Trong trường hợp này, tìm dấu vết lùi sẽ tiết lộ số rút tiền, cho phép ngân hàng xác định bản ghi rút tiền và xác thực đồng tiền. Tuy nhiên, nếu tiền giả lọt vào hệ thống nó có thể không bị phát hiện cho đến khi ngân hàng có tiền bị làm giả nhận ra rằng tổng giá trị của việc nạp tiền điện tử sử dụng khóa cụ thể vượt quá giá trị tiền rút. Cách duy nhất để xác định sự nạp tiền nào là hợp lệ và sự nạp tiền nào là giả mạo là yêu cầu quyền giải mã số rút tiền cho mỗi và cho bất cứ lần nạp tiền điện tử nào sử dụng khóa bị đe dọa. Điều này có thể vi phạm sự riêng tư mà tiền nặc danh được thiết kế để bảo vệ. THANH TOÁN TRỰC TUYẾN Mô hình thanh toán trực tuyến Sơ đồ ở trên chỉ ra cấu trúc của hệ thống thanh toán số trực tuyến. Trong hệ thống này, chúng ta có 3 thành phần chính là: ngân hàng, khách và nhà buôn, người dùng rút tiền ra khỏi ngân hàng, tiêu nó trong cửa hàng và cửa hàng gửi tiền lại ngân hàng. ID của người dùng trong hệ thống thanh toán số trực tuyến này hoàn toàn được che dấu và nó được thực hiện bởi giao thức chữ ký mù. Ưu và nhược điểm của hệ thống thanh toán số trực tuyến Ưu điểm Cung cấp thanh toán số hoàn toàn nặc danh và không để lại dấu vết. Không có vấn đề sử dụng hai lần Không yêu cầu phần cứng bảo vệ thêm vào Nhược điểm Các liên lạc quả tải giữa nhà buôn và ngân hàng. Cơ sơ dữ liệu khổng lồ về các bản ghi tiền tệ. Rất khó để tỉ lệ, cần sự đồng bộ giữa các nhà băng. Tiền không thể sử dụng lại. Mô hình thanh toán trực tuyến Abe và Fujisaki Giới thiệu Internet được thiết kế để cho phép máy tính có thể dễ dàng kết nối và đảm bảo rằng các liên kết mạng sẽ được duy trì ngay cả khi một số đường liên kết bị hỏng. Nhưng sự dự phòng này đôi khi lại tạo điều kiện cho sự đe doa an ninh dữ liệu và bảo vệ riêng tư. Để cung cấp an ninh và riêng tư cho các ứng dụng thương mại, Chaum giới thiệu một sơ đồ chữ ký mù năm 1982. Sơ đồ chữ ký mù không chỉ có các thuộc tính của các chữ ký số truyền thống mà còn hỗ trợ các thuộc tính: nội dung văn bản là mù với người ký; văn bản không bị theo dấu bởi người ký sau khi chữ ký bị tiết lộ. Các thuộc tính này có thể dùng cho rất nhiều ứng dụng thương mại điện tử, ví dụ các hệ thống tiền điện tử. Một đặc tính của tiền điện tử là nó dễ dàng bị nhân đôi. Vì vậy là cần thiết cho ngân hàng để thực hiện kiểm tra việc dùng tiền hai lần. Tuy nhiên, việc kiểm tra dùng tiền hai lần không cung cấp dịch vụ không có sự từ chối, ví dụ ngân hàng không thể chứng minh rằng tiền điện tử được tiêu bởi người chủ đích thực hoặc chỉ là một tên ăn trộm vì các dịch vụ không có sự từ chối yêu cầu các chữ ký của khách, cái mà có thể tiết lộ định danh của khách. Để cung cấp sự riêng tư cao và bảo vệ không có từ chối cho khách hàng và xây dựng một hệ thống tiền điện tử công bằng, ta có hệ thống tiền số sử dụng sơ đồ chữ ký mù bộ phận được chính sửa giới thiệu bởi Abe. Trong hệ thống này, khách hàng đầu tiên cần mua tiền điện tử từ ngân hàng của họ. Khi khách muốn dùng tiền này mua hàng trực tuyến qua Internet sau đó thì họ có thể dùng để thanh toán. Trong sơ đồ chữ ký mù bộ phận được sửa đổi, ta sẽ nhúng một khoá công khai nặc danh tạm thời vào văn bản mù, mà không chứa thông tin nào về khách hàng. Vì chỉ có người chủ của tiền số có khoá mật tương ứng với khoá công khai tạm thời, hệ thống này cung cấp dịch vụ không cho phép từ chối với chữ ký nặc danh của người giữ tiền. Ví dụ nếu khách đã dùng tiền trước đó, anh ta không thể từ chối việc đó vì ngân hàng có chữ ký để chứng minh rằng người có tiền đã tiêu nhưng ngân hàng vẫn không biết vị khách đó là ai. Thêm vào đó, ngoài sự bảo vệ riêng tư mạnh, khách hàng có thể có lợi từ giao thức này – không có người nào khác trừ người chủ có thể chứng minh rằng họ có tiền thậm chí nếu người khác có bản sao của tiền số. Điều này làm cho tiền chở nên an toàn hơn. Giao thức Abe và Fujisaki Các ký hiệu: A: khách B: ngân hàng ES: một cửa hàng thương mại điện tử IDA: định danh của khách A. H(): hàm một chiều Zn: các số nguyên mod n Zn*: các số [1, n – 1] và nguyên tố cùng nhau với ước của n. TimeA: nhãn thời gian tạo bởi một khách A. SignA: chữ ký của A. gcd(m, n): ước chung lớn nhất của m và n. A → B:M: khách A gửi văn bản M tới ngân hàng B. RM: phần tiền còn lại khi A mua hàng điện tử. EMD: bản tóm tắt văn bản hàng điện tử. Chữ ký mù bộ phận Sơ đồ chữ ký mù bộ phận của Abe và Fujisaki được thiết kế để bảo vệ cơ sở dữ liệu của ngân hàng không phát triển vược quá giới hạn vì ngân hàng cần lưu trữ mọi tiền đã tiêu trong cơ sở dữ liệu của nó cho kiểm tra tiêu tiền hai lần. Trong sơ đồ này, mỗi văn bản tiền số phát hành bởi ngân hàng chứa một thời hạn để mọi tiền hết hạn ghi trong cơ sở dữ liệu có thể bị loại bỏ. Sơ đồ chữ ký mù một phần được miêu tả như sau. Khởi tạo Dựa trên mã hoá khoá công khai RSA, ngân hàng chọn ngẫu nhiên hai số nguyên tố lớn p và q, tính n = p.q và Φ(n) = (p – 1)(q – 1). Sau đó ngân hàng tính một cặp khoá công khai và mật (e, d) thoả mãn ed ≡ 1 (mod Φ(n)) với gcd(e, Φ(n)) = 1, và cả e và d nhỏ hơn Φ(n). Ngân hàng công bố (e, n) và hàm một chiều H, giữ (d, p, q) bí mật. Giả sử mọi tiền số phát hành bởi ngân hàng có cùng giá trị là w dollar. Rút tiền Nếu khách hàng muốn rút tiền từ ngân hàng, anh ta chọn ngẫu nhiên hai số nguyên m và r trong Zn*, và tính α ≡ (revH(m) mod n) với v là văn bản được xác định trước bởi ngân hàng và chứa thời hạn của tiền. Khách sau đó gửi α và v cho ngân hàng. Sau khi nhận được (α, v), ngân hàng đầu tiên xác định xem v có chính xác hay không. Nếu chính xác ngân hàng gửi trả β ≡ cho khách và trừ w $ trong tài khoản của khách tại ngân hàng. Bỏ mù Sau khi nhận β, khách tính s ≡ (r-1β mod n) và có tiền là (m, s, v). Nạp tiền Khi khách dùng tiền, người nhận tiền đầu tiên xác định xem v có đúng không và sev ≡ H(m) mod n. Nếu đúng, anh ta gọi ngân hàng để kiểm tra nếu tiền số đã bị tiêu chưa. Nếu tiền chưa bị tiêu, người nhận tiền chấp nhận thanh toán và nạp tiền vào tài khoản của anh ta, và ngân hàng lưu trữ (m, s, v) vào cơ sở dữ liệu cho việc kiểm tra dùng tiền hai lần và thêm w $ vào tài khoản của người nhận tiền. Hệ thống tiền số Kiến trúc Hệ thống tiền số bao gồm một số thành phần: ngân hàng, người bán hàng, khách hàng và tổ chức xác thực (CA). Trong hệ thống này, ngân hàng, người bán hàng và khách hàng đầu tiên cần phải đăng ký và lấy các chứng chỉ của họ từ CA. Sau đó, mọi liên kết an ninh giữa họ có thể được thiết lập bằng kênh Tầng giao vận an toàn (Transport Layer Security – SSL hoặc TLS) qua Internet. Hình sau miêu tả kiến trúc của hệ thống này: Các giao thức Giựa trên sơ đồ chữ ký mù bộ phần ở trên và kiến trúc hệ thống tiền số này, sơ đồ tiền số bao gồm một số giao thức sau. Giao thức phát hành tiền số Trong giao thức phát hành tiền số, chúng ta sửa đổi sơ đồ chữ kỳ mù bộ phận ở trên và nhúng một khoá công khai nặc danh tạm thời vào văn bản mù để nó thích hợp hơn với các hệ thống tiền số và hỗ trợ dịch vụ không cho từ chối. Khi một khách hàng muốn mua hàng trực tuyến, anh ta đầu tiên cần phải mua một số tiền số phát hành bởi ngân hàng bằng cách dùng giao thức sau với điều kiện mọi liên lạc được hỗ trợ bởi kênh an ninh SSL. A → B: IDA, AccountA, PKA, α, v, TimeA, signA B → A: IDA, IDB, β, TimeB, signB Trong giao thức trên, dựa trên mã hoá khoá công khai RSA, giả sử rằng khoá công khai và khoá mật của ngân hàng là (eb, nb) và (db, pb, qb) và khoá mật và khoá công khai của khách là (eA, nA) và (dA, pA, qA). Giao thức được miêu tả như sau: Bước 1: Nếu một khách hàng qưyết định mua một tiền số từ ngân hàng, anh ta đầu tiên tạo một khoá công khai tạm thời (et, nt), và giữ khoá mật (dt, pt, qt) (sử dụng mã hoá khoá công khai RSA). Khách hàng sau đó chọn một số ngẫu nhiên trong , và tính α ≡ với || chỉ phép ghép, và v bao gồm các thông tin cơ bản được định nghĩa trước bởi ngân hàng, ví dụ ngày hết hạn và số tiền. dd/mm/yyyy (Ngày hết hạn) $xxx.xx (Số tiền) Khách hàng sau đó tính chữ ký signA như sau signA ≡ (H(IDA, AccountA, PKA, α, v, TimeA))dA mod nA. Cuối cùng, khách hàng dùng kênh an toàn SSL để gửi các văn bản (IDA, AccountA, PKA, α, v, TimeA, signA) tới ngân hàng. Bước 2: Sau khi nhận văn bản bên trên qua kênh an ninh SSL, ngân hàng xác thực xem AccountA, v, TimeA, signA có đúng không. Nếu chúng là đúng, ngân hàng tính β ≡ và chữ ký: signB ≡ (H(IDA, IDB, β, TimeB))db mod nb. Sau đó ngân hàng dùng kênh an ninh SSL để gửi văn bản (IDA, IDB, β, TimeB, signB) cho khách hàng. Cùng lúc đó ngân hàng trừ tiền từ tài khoản của khách. Sau khi nhận văn bản gửi bởi ngân hàng qua kênh an ninh SSL, khách hàng có thể kiểm tra TimeB và signB có đúng không. Nếu chúng đúng, anh ta tính s ≡ (r-1β mod nb) như là chữ ký của ngân hàng và có tiền số của mình là (et, nt, v, s) miêu tả trong hình trên. Giao thức mua hàng trực tuyến Khi khách muốn thực hiện việc mua hàng trực tuyến cho một số mặt hàng điện tử như sách điện tử, phần mềm, phim ảnh vv.. vì nó không cần dịch vụ chuyển, anh ta có thể sử dụng giao thức sau và tiền số để mua và tải chứng chỉ cho hàng điện tử nếu anh ta muốn dấu định danh của mình. Trong giao thức này, ta giả sử rằng các cuộc truyền thông cũng được bảo vệ bởi kênh an ninh SSL. A → ES: E-goods, Cost, AccountES, et, nt, v, s, TimeA, signt ES → B: Cost, AccountES, et, nt, v, s, TimeA, EMD, signt B → ES: ReceiptES, et, nt, v, s, RM, s', TimeB, signB ES → A: License, ReceiptA, et, nt, v, s, RM, s', TimeES, signES Bước 1: Nếu khách hàng muốn thực hiện việc mua hàng trực tuyến cho các hàng điện tử, đầu tiên anh ta chọn hàng, tính chữ ký signt, với khoá mật tương ứng với khoá công khai tạm thời của tiền số. signt ≡ (H(Cost, AccountES, et, nt, v, s, TimeA) || H(E-goods))dt mod nt. Khách hàng sau đó sử dụng kênh an ninh SSL để gửi văn bản (E-goods, Cost, AccountES, et, nt, v, s, TimeA, signt) tới người bán hàng. Bước 2: Sau khi nhận văn bản nói trên qua kênh an ninh SSL, người bán hàng xác nhận xem Cost, AccountES, TimeA, signt và có đúng không. Nếu chúng đúng, người bán tính phần băm của văn bản hàng điện tử EMD = H(E-goods) và gửi văn bản (Cost, AccountES, et, nt, v, s, TimeA, EMD, signt) tới ngân hàng, nơi mà phát hàng tiền số, qua kênh an ninh SSL. Bước 3: Ngân hàng kiểm tra xem AccountES, TimeA và signt có đúng không. Nếu chúng đúng, ngân hàng sẽ nạp tiền vào tài khoản của người bán hàng và trừ tiền trong tiền số. Ngân hàng sau đó sẽ tính phần tiền còn lại RM và chữ ký s' ≡ signb ≡ (H(ReceiptES, et, nt, v, s, RM, s', TimeB) mod nb. Cuối cùng, ngân hàng tạo một thông báo cho người bán và gửi văn bản (ReceiptES, et, nt, v, s, RM, s', TimeB, signB) cho người bán qua kênh an ninh SSL. Bước 4: Người bán xác thực xem văn bản là đúng. Nếu đúng, nó tạo một thông báo cho người khách và tính chữ ký. signES ≡ (H(License, ReceiptA, et, nt, v, s, RM, s', TimeES) mod nES. Cuối cùng, người bán hàng gửi văn bản (License, ReceiptA, et, nt, v, s, RM, s', TimeES, signES) cho khách qua kênh an ninh SSL. Sau khi nhận văn bản, khách có khoá của hàng điện tử và phần còn lại của tiền số. Hình trên miêu tả phần còn lại của tiền số. Giao thức làm mới tiền Trong giao thức này, khách có thể làm mới lại tiền của mình khi tiền bị đóng bởi ngày hết hạn. Thêm vào đó, ngân hàng cũng không thể tạo một mối liên hệ giữa tiền cũ và tiền mới qua giao thức này. A → B: α, v, et', nt', v', s', Timet, signt B → A: et', nt', v', s', β, TimeB, signB Bước 1: Khách hàng đầu tiên điền vào mẫu tiền mới và tính văn bản mù mới α và v như là giao thức phát hành tiền ở trên, và sử dụng tiền cũ để tính chữ ký. signt ≡ (H(α, v, et', nt', v', s', Timet) mod nt. Cuối cùng, khách gửi văn bản (α, v, et', nt', v', s', Timet, signt) tới ngân hàng qua kênh an ninh SSL. Bước 2: Sau khi nhận được văn bản, ngân hàng xác nhận liệu văn bản có đúng không. Nếu nó là đúng, ngân hàng tính β ≡ () và chữ ký signB = (H(et', nt', v', s', β, TimeB) mod nb. Ngân hàng sau đó ghi rằng tiền cũ bị huỷ cho đến ngày hết hạn. Sau ngày hết hạn, ngân hàng có thể huỷ mọi thông tin về tiền cũ. Cuối cùng, ngân hàng gửi tiền mới cho khách hàng qua kênh an ninh SSL. Các đặc tính của giao thức Bảo vệ riêng tư cao Trong hệ thống này, bất cứ ai bao gồm ngân hàng và người bán hàng có thể biết được ai mua hàng. Ngân hàng và người bán hàng không biết gì về khách ngoại trừ bao nhiêu tiền khách tiêu trong tiền số. Điều này cung cấp sự bảo vệ riêng tư cao cho các khách hàng. Không cho phép từ chối Vì mọi văn bản trao đổi đều được ký với các chữ ký của người chủ văn bản trong các giao thức, họ có thể yêu cầu Toà án để phân xử nếu có sự từ chối sau này, như vậy giao thức này cung cấp dịch vụ không từ chối được. Bên cạnh đó, chữ ký của khách không tiết lộ thông tin mật của họ. An toàn cao Các giao thức này chỉ xác thực người chủ của tiền số để dùng tiền số. Các người khác bao gồm cả ngân hàng và người bán hàng không thể dùng tiền số vì họ không thể tạo chữ ký mà không cần khoá mật của tiền số và chứng minh rằng họ có tiền số. Vì vậy, khách hàng không cần phải lo lắng về việc đánh mất, dùng sai hay bị trộm tiền số. Các phân tích về an ninh và riêng tư Trong phần này, chúng ta sẽ chứng minh rằng các giao thức mới cung cấp sự bảo vệ riêng tư cao cho khách hàng, và sự không thể từ chối của các dịch vụ và sau đó kiểm tra an ninh của các giao thức này chống lại các tấn công bị động và chủ động. Phân tích sự nặc danh Bộ giao thức này hỗ trợ nặc danh của khách hàng qua việc dùng chữ ký mù bộ phận và khoá nặc danh tạm thời. Vì khoá công khai tạm thời được nhúng vào văn bản mù của sơ đồ chữ ký mù bộ phận, và định dạng và nội dung của v là giống nhau với mọi tiền số, ngân hàng không thể tìm thông tin định danh của người chủ tiền số khi khách hàng dung tiền số sau đó. Điều này cung cấp thuộc tính không thể liên kết thừa hưởng từ giao thức chữ ký mù một phần. Thêm vào đó, vì tiền số là không liên kết được với định danh của chủ, ngân hàng không biết gì về khách ngoại trừ bao nhiên tiền khách đổi lấy tiền số. Mặt khác, vì người bán hàng chỉ có các văn bản ghi về tiền số, họ cũng không biết gì hơn về khách. Vì vậy, giao thức cung cấp cho khách sự bảo vệ riêng tư cao. Phân tính tính không thể từ chối Bộ giao thức mới cung cấp các dịch vụ không thể từ chối tại mỗi bước của giao thức với các chữ ký. Đầu tiên, trong giao thức phát hành tiền số, văn bản mà khách gửi cho ngân hàng được ký bởi chứng chỉ của khách. Nếu khách từ chối hành động này, ngân hàng có thể chỉ ra chữ ký của khách cho toà án. Mặ

Các file đính kèm theo tài liệu này:

  • docDO71.doc
Tài liệu liên quan