BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU CHỮ KÝ MÙ TRÊN THUẬT TOÁN
RSA GIẢI QUYẾT VẤN ĐỀ CHỐNG TRUY VẾT
GIAO DỊCH THANH TOÁN
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Hà Nội, 2017
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU CHỮ KÝ MÙ TRÊN THUẬT TOÁN
RSA GIẢI QUYẾT VẤN ĐỀ CHỐNG TRUY VẾT
GIAO DỊCH THANH TOÁN
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Mã số: 52.48.02.01
Sinh viên thực hiện:
Đỗ Huy Hùng
Lớp: AT9B
Giảng viên phụ trách:
ThS. Nguyễn Thị Hồng Hà
Khoa An toàn thông tin – Học viện Kỹ thuật mật mã
Hà Nội, 2017
LỜI CẢM ƠN
Sau một thời gian nghiên cứu và tìm hiểu, được sự động viên, giúp đỡ và
hướng dẫn tận tình của giảng viên hướng dẫn ThS. Nguyễn Thị Hồng Hà, đồ án tốt
nghiệp với đề tài “Nghiên cứu chữ ký mù trên thuật toán RSA giải quyết vấn đề
chống truy vết giao dịch thanh toán” đã hoàn thành các mục tiêu đề ra.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến:
Giảng viên hướng dẫn ThS. Nguyễn Thị Hồng Hà đã tận tình chỉ dẫn, giúp
đỡ tôi hoàn thành đồ án tốt nghiệp này.
Khoa An toàn thông tin – Học viện Kỹ thuật Mật mã đã giúp đỡ tôi trong quá
trình học tập cũng như thực hiện đồ án tốt nghiệp.
Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên,
khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn
thành đồ án tốt nghiệp.
SINH VIÊN THỰC HIỆN
Đỗ Huy Hùng
i
MỤC LỤC
LỜI CẢM ƠN ........................................................................................... i
MỤC LỤC................................................................................................ ii
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT ............................................... iv
DANH MỤC HÌNH ẢNH ....................................................................... v
LỜI NÓI ĐẦU ........................................................................................ vi
Chương 1. Tổng quan về thương mại điện tử ...................................... 1
1.1. Khái niệm thương mại điện tử[1] ....................................................... 1
1.2. Lợi ích của thương mại điện tử ......................................................... 2
1.2.1. Lợi ích đối với doanh nghiệp ................................................. 2
1.2.2. Lợi ích đối với người tiêu dùng ............................................. 3
1.2.3. Lợi ích đối với xã hội ............................................................. 4
1.3. Các hệ thống thanh toán trong thương mại điện tử[1]........................ 4
1.3.1. Thẻ tín dụng ........................................................................... 4
1.3.2. Tiền điện tử ............................................................................ 6
1.3.3. Séc điện tử ............................................................................. 7
1.3.4. Ví điện tử ............................................................................... 8
1.3.5. Thẻ thông minh ...................................................................... 8
1.4. Các vấn đề an toàn trong giao dịch điện tử....................................... 9
1.4.1. Nặc danh người dùng và không theo dấu địa điểm ............... 9
1.4.2. Không theo dấu giao dịch thanh toán ................................. 10
1.4.3. Bí mật dữ liệu giao dịch thanh toán .................................... 10
1.5. Bảo mật tiền điện tử ........................................................................ 10
1.5.1. Không theo dấu giao dịch thanh toán ................................. 10
1.5.2. Chống tiêu tiền hai lần ........................................................ 11
1.6. Kết chương 1................................................................................... 11
Chương 2. Chữ ký mù .......................................................................... 12
2.1. Giới thiệu chữ ký mù ...................................................................... 12
2.2. Các thuộc tính của chữ ký mù ........................................................ 13
2.3. Chữ ký mù dựa trên các hệ mật ...................................................... 16
2.3.1. Chữ ký mù trên hệ mật RSA ................................................. 16
2.3.2. Chữ ký mù trên hệ mật ElGamal ......................................... 17
2.3.3. Chữ ký mù trên mật mã đường cong Elliptic....................... 19
2.4. Chữ ký mù trên RSA ...................................................................... 21
2.4.1. Chữ ký số RSA ..................................................................... 21
2.4.2. Chữ ký mù dựa trên hệ mật RSA ......................................... 23
2.5. Vấn đề phát sinh khi sử dụng chữ ký mù........................................ 26
2.6. Lược đồ ẩn danh Chaum – Fiat – Naor........................................... 27
2.6.1. Giai đoạn rút tiền. ............................................................... 28
2.6.2. Giai đoạn thanh toán ........................................................... 30
2.7. Kết chương 2................................................................................... 31
Chương 3. Chương trình mô phỏng chữ ký mù RSA trong việc chống
truy vết giao dịch ................................................................................... 32
ii
3.1. Phát biểu bài toán ............................................................................ 32
3.2. Lược đồ chữ ký mù RSA mô phỏng quá trình chống truy vết giao
dịch.................................................................................................. 34
3.3. Lựa chọn công nghệ ........................................................................ 36
3.4. Chương trình thử nghiệm ................................................................ 36
3.5. Đánh giá chương trình .................................................................... 39
3.6. Kết chương 3................................................................................... 40
KẾT LUẬN ............................................................................................ 41
TÀI LIỆU THAM KHẢO .................................................................... 42
iii
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
Từ viết tắt
Định nghĩa
TMĐT
Thương mại điện tử
ATM
Automated Teller Machine
CA
Certificate Authority
EC
Elliptic Curve
ECDSA
Elliptic Curve Digital Signature Algorithm
MAC
Message Authentication Code
MD5
Message Digest 5
MIT
Massachusetts Institute of Technology
LCM
Least Common Multiple
PKCS
Public-Key Cryptography Standard
SET
Secure Electronic Transaction
SHA
Secure Hash Algorithm
iv
DANH MỤC HÌNH ẢNH
Hình 1.1 Giao dịch thanh toán bằng thẻ tín dụng ..................................................... 5
Hình 1.2 Giao dịch thanh toán tiền điện tử ............................................................... 6
Hình 1.3 Giao dịch thanh toán séc điện tử ................................................................ 7
Hình 1.4 Hoạt động của chuỗi xáo trộn .................................................................... 9
Hình 2.1 Lược đồ chữ ký mù Chaum ..................................................................... 13
Hình 2.2 Mô hình hệ thống thanh toán điện tử - Chaum ........................................ 15
Hình 2.3 Lược đồ tạo khóa RSA............................................................................. 21
Hình 2.4 Lược đồ ký số RSA .................................................................................. 22
Hình 2.5 Lược đồ xác minh chữ ký số RSA ........................................................... 23
Hình 2.6 Sơ đồ chữ ký mù RSA - pha làm mù yêu cầu .......................................... 24
Hình 2.7 Sơ đồ chữ ký mù RSA - pha ký mù ......................................................... 25
Hình 2.8 Sơ đồ chữ ký mù RSA - pha xóa mù ....................................................... 25
Hình 2.9 Sơ đồ rút tiền Chaum-Fiat-Naor .............................................................. 29
Hình 2.10 Sơ đồ thanh toán Chaum-Fiat-Naor ....................................................... 30
Hình 3.1 Mô hình chương trình thực nghiệm ......................................................... 33
Hình 3.2 Lược đồ chữ ký mù RSA mô phỏng quá trình chống truy vết giao dịch . 34
Hình 3.3 Giao diện chương trình ............................................................................ 36
Hình 3.4 Số hóa đồng tiền....................................................................................... 37
Hình 3.5 Làm mù đồng tiền .................................................................................... 38
Hình 3.6 Chọn ngẫu nhiên đồng tiền ...................................................................... 38
Hình 3.7 Kiểm tra chống gian lận đồng tiền ........................................................... 38
Hình 3.8 Giá trị của chữ ký mù............................................................................... 39
Hình 3.9 Chữ ký của ngân hàng trên đồng tiền – xóa mù ...................................... 39
Hình 3.10 Kết quả quá trình thanh toán .................................................................. 39
v
LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin và truyền thông đã là một phần không thể thiếu
trong mọi hoạt động của xã hội. Việc trao đổi và đảm bảo an toàn cho các thông tin
nhạy cảm trên các mạng truyền thông là vấn đề mang tính thời sự và vô cùng phức
tạp. Trên thực tế, các kỹ thuật mật mã là phương pháp an toàn và hiệu quả nhất đề
đảm bảo an toàn thông tin truyền trên mạng. Trong đó chữ ký số được đánh giá như
là một trong các giải pháp tối ưu và hiệu quả nhất để đảm bảo sự an toàn của rất
nhiều các hệ thống cộng tác qua mạng như các ứng dụng trong thương mại điện tử,
thanh toán điện tử hay các dịch vụ bầu cử trực tuyến...
Hiện nay, đã có rất nhiều các lược đồ chữ ký số khác nhau được nghiên cứu
và phát triển. Trong các loại chữ ký thì chữ ký mù là một loại chữ ký số đặc biệt
được David Chaum giới thiệu vào năm 1983, chữ ký mù được ứng dụng nhiều trong
các hệ thống yêu cầu đảm bảo tính riêng tư của các bên tham gia như giao dịch tiền
điện tử, hệ thống bỏ phiếu trực tuyến. Hơn nữa, với việc các dịch vụ thương mại
điện tử và thanh toán trực tuyến đang được phát triển mạnh mẽ thì vị trí vai trò của
các lược đồ chữ ký số mù trong việc đảm bảo an toàn và tính riêng tư của khách
hàng lại càng trở nên quan trọng hơn bao giờ hết.
Do đó đề tài “Nghiên cứu chữ ký mù trên thuật toán RSA giải quyết vấn
đề chống truy vết giao dịch thanh toán” được chọn. Trong phạm vi của đề tài, đồ
án sẽ tập trung nghiên cứu chi tiết cách thức chữ ký mù hoạt động, các yếu tố giúp
đảm bảo tính riêng tư (tính ẩn danh, tính mù, tính không truy vết), tìm hiểu các vấn
đề liên quan đến chữ ký mù sử dụng thuật toán RSA và ứng dụng thực tế của chữ
ký mù trong giao dịch thanh toán sử dụng tiền điện tử.
Nội dung đồ án bao gồm 3 chương:
Chương I. Tổng quan về thương mại điện tử
Nhắc lại khái niệm về thương mại điện tử; các lợi ích của thương mại điện tử
đối với từng đối tượng: doanh nghiệp, người tiêu dùng. Đồng thời giới thiệu các hệ
thống thanh toán hiện có trong thương mại điện tử, và mức độ phổ biến. Giới thiệu
các rủi ro mất an toàn thông tin của thương mại điện tử: nặc danh người dùng, không
theo dấu giao dịch thanh toán.
Chương II. Chữ ký mù
Chương này trình bày về chữ ký mù: khái niệm, các thuộc tính (tính không
truy vết, tính mù), đồng thời trình bày các lược đồ phổ biến, cũng như các hệ mật
vi
được sử dụng (Elgamal, Elliptic, RSA) và ứng dụng của chữ ký mù RSA trong giao
dịch điện tử, kết hợp với lược đồ Chaum – Fiat – Naor để giải quyết vấn đề ẩn danh
người dùng khi thực hiện giao dịch điện tử.
Chương III. Chương trình mô phỏng chữ ký mù RSA trong việc chống
truy vết giao dịch
Xây dựng chương trình mô phỏng quá trình thực hiện một giao dịch điện tử
có sử dụng chữ ký mù RSA kết hợp giao thức cắt và chọn để chống gian lận cũng
như chống truy vết giao dịch.
vii
CHƯƠNG 1. TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ
1.1. Khái niệm thương mại điện tử
Thương mại điện tử là hình thức mua bán hàng hóa và dịch vụ thông qua mạng
máy tính toàn câu. Thương mại điện tử theo nghĩa rộng được định nghĩa trong luật
mẫu về thương mại điện tử của Ủy ban Liên hợp quốc về Luật thương mại quốc tế:
“Thuật ngữ thương mại 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 chất thương mại bao gồm các giao dịch sau đây: Bất
cứ giao dịch nào về thương mại mà 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 tì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 hành khách bằng
đường biển, đường không, đường sắt hoặc đường bộ.” [1]
Như vậy, có thể thấy rằng phạm vi của thương mại điện tử rất rộng, bao quát
hầu hết các lĩnh vực hoạt động kinh tế, việc mua bán hàng hóa và dịch vụ chỉ là một
trong hàng ngàn lĩnh vực áp dụng của thương mại điện tử. Theo nghĩa hẹp thương
mại điện tử chỉ gồm các hoạt động thương mại được tiến hành trên mạng máy tính.
Trên thực tế chính các hoạt động thương mại thông qua mạng Internet đã làm phát
sinh thuật ngữ thương mại điện tử.
Thương mại điện tử bao 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 đơ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. Thương
mại điện tử đang trở thành một cuộc cách mạng làm thay đổi cách thức mua sắm của
con người.
1
1.2. Lợi ích của thương mại điện tử
1.2.1. Lợi ích đối với doanh nghiệp
Mở rộng thị trường: Với chi phí đầu tư nhỏ hơn nhiều so với thương mại
truyền thống, các công ty có thể mở rộng thị trường, tìm kiếm, tiếp cận người cung
cấp, khách hàng và đối tác trên khắp thế giới. Việc mở rộng mạng lưới nhà cung cấp,
khách hàng cũng cho phép các tổ chức có thể mua với giá thấp hơn và bán được
nhiều sản phẩm hơn.
Giảm chi phí sản xuất: Giảm chi phí giấy tờ, giảm chi phí chia sẻ thông tin,
chi phí in ấn, gửi văn bản truyền thống.
Cải thiện hệ thống phân phối: Giảm lượng hàng lưu kho và độ trễ trong phân
phối hàng. Hệ thống cửa hàng giới thiệu sản phẩm được thay thế hoặc hỗ trợ bởi các
showroom trên mạng, ví dụ ngành sản xuất ô tô (Ví dụ như Ford Motor) tiết kiệm
được chi phí hàng tỷ USD từ giảm chi phí lưu kho.
Vượt giới hạn về thời gian: Việc tự động hóa các giao dịch thông qua Web
và Internet giúp hoạt động kinh doanh được thực hiện 24/7/365 mà không mất thêm
nhiều chi phí biến đổi.
Sản xuất hàng theo yêu cầu: Còn được biết đến dưới tên gọi “Chiến lược
kéo”, lôi kéo khách hàng đến với doanh nghiệp bằng khả năng đáp ứng mọi nhu cầu
của khách hàng.
Mô hình kinh doanh mới: Các mô hình kinh doanh mới với những lợi thế và
giá trị mới cho khách hàng. Mô hình của Amazon, mua hàng theo nhóm hay đấu giá
nông sản qua mạng đến các sàn giao dịch B2B (Business To Business) là điển hình
của những thành công này.
Tăng tốc độ tung sản phẩm ra thị trường: Với lợi thế về thông tin và khả
năng phối hợp giữa các doanh nghiệp làm tăng hiệu quả sản xuất và giảm thời gian
tung sản phẩm ra thị trường.
Giảm chi phí mua sắm: Thông qua giảm các chi phí quản lý hành chính
(80%); giảm giá mua hàng (5-15%)
Củng cố quan hệ khách hàng: Thông qua việc giao tiếp thuận tiện qua mạng,
quan hệ với trung gian và khách hàng được củng cố dễ dàng hơn. Đồng thời việc cá
biệt hóa sản phẩm và dịch vụ cũng góp phần thắt chặt quan hệ với khách hàng và
củng cố lòng trung thành.
2
Thông tin cập nhật: Mọi thông tin trên web như sản phẩm, dịch vụ, giá cả,
... đều có thể được cập nhật nhanh chóng và kịp thời.
Chi phí đăng ký kinh doanh: Một số nước và khu vực khuyến khích bằng
cách giảm hoặc không thu phí đăng ký kinh doanh qua mạng. Thực tế, việc thương
mại điện tử nếu triển khai cũng gặp rất nhiều khó khăn do đặc thù của Internet.
Các lợi ích khác: Nâng cao uy tín, hình ảnh doanh nghiệp; cải thiện chất
lượng dịch vụ khách hàng; đối tác kinh doanh mới; đơn giản hóa và chuẩn hóa các
quy trình giao dịch; tăng năng suất, giảm chi phí giấy tờ; tăng khả năng tiếp cận
thông tin và giảm chi phí vận chuyển; tăng sự linh hoạt trong giao dịch và hoạt động
kinh doanh.
1.2.2. Lợi ích đối với người tiêu dùng
Vượt giới hạn về không gian và thời gian: Thương mại điện tử cho phép
khách hàng mua sắm mọi nơi, mọi lúc đối với các cửa hàng trên khắp thế giới
Nhiều lựa chọn về sản phẩm và dịch vụ: Thương mại điện tử cho phép người
mua có nhiều lựa chọn hơn vì tiếp cận được nhiều nhà cung cấp hơn.
Giá thấp hơn: Do thông tin thuận tiện, dễ dàng và phong phú hơn nên khách
hàng có thể so sánh giá cả giữa các nhà cung cấp thuận tiện hơn và từ đó tìm được
mức giá phù hợp nhất.
Giao hàng nhanh hơn với các hàng hóa số hóa được: Đối với các sản phẩm
số hóa được như phim, nhạc, sách, phần mềm, ... việc giao hàng được thực hiện dễ
dàng thông qua Internet.
Thông tin phong phú, thuận tiện và chất lượng cao hơn: Khách hàng có
thể dễ dàng tìm được thông tin nhanh chóng và dễ dàng thông qua các công cụ tìm
kiếm (search engines); đồng thời các thông tin đa phương tiện (âm thanh, hình ảnh).
Đấu giá: Mô hình đấu giá trực tuyến ra đời cho phép mọi người đều có thể
tham gia mua và bán trên các sàn đấu giá và đồng thời có thể tìm, sưu tầm những
món hàng mình quan tâm tại mọi nơi trên thế giới.
Cộng đồng thương mại điện tử: Môi trường kinh doanh thương mại điện tử
cho phép mọi người tham gia có thể phối hợp, chia sẻ thông tin và kinh nghiệm hiệu
quả và nhanh chóng.
Đáp ứng mọi nhu cầu: Khả năng tự động hóa cho phép chấp nhận các đơn
hàng khác nhau từ mọi khách hàng.
Thuế: Trong giai đoạn đầu của thương mại điện tử, nhiều nước khuyến khích
bằng cách miến thuế đối với các giao dịch trên mạng.
3
1.2.3. Lợi ích đối với xã hội
Hoạt động trực tuyến: Thương mại điện tử tạo ra môi trường để làm việc,
mua sắm, giao dịch, ... từ xa nên giảm việc đi lại, ô nhiễm, tai nạn.
Nâng cao mức sống: Nhiều hàng hóa, nhiều nhà cung cấp tạo áp lực giảm giá
do đó khả năng mua sắm của khách hàng cao hơn, nâng cao mức sống của mọi người.
Lợi ích cho các nước nghèo: Những nước nghèo có thể tiếp cận với các sản
phẩm, dịch vụ từ các nước phát triển hơn thông qua Internet và thương mại điện tử.
Đồng thời cũng có thể học tập được kinh nghiệm, kỹ năng, ... được đào tạo qua
mạng.
Dịch vụ công được cung cấp thuận tiện hơn: Các dịch vụ công cộng như y
tế, giáo dục, các dịch vụ công của chính phủ... được thực hiện qua mạng với chi phí
thấp hơn, thuận tiện hơn. Cấp các loại giấy phép qua mạng, tư vấn y tế, .... là các ví
dụ thành công điển hình.
1.3. Các hệ thống thanh toán trong thương mại điện tử[1]
Các phương tiện thanh toán điện tử phổ biến là thẻ tín dụng, tiền điện tử, séc
điện tử. Trong phần này chúng ta sẽ tìm hiểu về cơ chế hoạt động của các phương
tiện thanh toán đó, cùng các nguy cơ mất an toàn tương ứng.
1.3.1. Thẻ tín dụng
Hiện tại, thẻ tín dụng là phương tiện thanh toán điện tử phổ biến nhất thế giới,
thẻ tín dụng đầu tiên ra mắt năm 1949 (Diner’s Club) sau đó là American Express
(1958). Thẻ tín dụng có vạch từ ở mặt sau, chứa thông tin chỉ đọc được, thông tin
này được ghi lên thẻ ngay từ khi phát hành thẻ, và không thay đổi trong suốt quá
trình dùng thẻ. Vạch từ thế hệ mới có thêm yếu tố bảo mật như mã hóa, khác với thẻ
từ thế hệ cũ dữ liệu ở dạng rõ. Tương lai, thẻ tín dụng là thẻ thông minh, chứa chip
có mã hóa và dung lượng lưu trữ lớn hơn trước kia rất nhiều. Thậm chí, còn có thẻ
tín dụng ở dạng ví điện tử, có chạy phần mềm như thẻ của hãng phần cứng Trintech
Cable & Wireless đang chào bán cho các hãng thẻ tín dụng.
Giao dịch thanh toán thẻ tín dụng thông thường được mô tả như Hình 1.1:
1) Khách hàng đưa thông tin thẻ tín dụng của mình (loại thẻ, ngày hết hạn, số
thẻ) cho trang bán hàng.
2) Trang bán hàng hỏi ngân hàng mình có tài khoản xác thực xem thông tin
thẻ đó có chính xác.
3) Ngân hàng của trang bán hàng liên lạc với ngân hàng có tài khoản người
mua, yêu cầu xác thực danh tính của người mua cùng tài khoản.
4
4) Khi thông tin đã xác thực, hàng được chuyển tới người mua.
5) Trang bán hàng yêu cẩu tiền từ ngân hàng của mình.
6) Ngân hàng có tài khoản người bán gửi yêu cầu thu tiền tới ngân hàng có tài
khoản người mua. Tiền được chuyển từ tài khoản người mua sang tài khoản
người bán thông qua tài khoản liên ngân hàng.
7) Ngân hàng có tài khoản người mua gửi thông báo thanh toán tiền cho khách
hàng. Thông báo này thông thường là hóa đơn hàng tháng, gửi vào ngày 23.
Người mua cũng có thể kiểm tra tài khoản trực tuyến.
Ngân hàng người
mua có tài khoản.
3)Xác thực danh tính
Ngân hàng người
6)Thiết lập thanh toán
7)Thông
báo
mua có tài khoản.
2) Xác
thực
5) Trả
tiền
1)Thông tin thẻ tín dụng
Khách hàng
(trả tiền)
4)Chuyển hàng
Trang bán hàng
(nhận tiền)
Hình 1.1 Giao dịch thanh toán bằng thẻ tín dụng
Như vậy, trong giao dịch trên, nguy cơ mất an toàn có thể xảy ra ở đâu?
Từ 2 nguồn chính: nghe trộm ở bước 1 và trang thanh toán không trung thực ở
trang bán hàng.
Trang bán hàng không trung thực: các trang mở ra để dụ người dùng nhập số
thẻ tín dụng. Cũng có nguy cơ cơ sở dữ liệu khách mua hàng của trang bán hàng bị
tấn công, thông tin người mua bị đánh cắp.
Thứ cần bảo vệ ở đây chính là số thẻ tín dụng cần được bảo vệ khỏi:
- Nghe trộm bằng cách mã hóa đường truyền
- Cơ chế thanh toán giả mạo bằng già mã trong số thẻ giả. Mọi số thẻ tín
dụng đều có mã checksum. Số thẻ giả ở đây chính là số kiểm tra thẻ có
tồn tại thật không. Tuy nhiên, hiện đã có rất nhiều công cụ kiểm tra số thẻ
tín dụng, nên giải pháp này không còn hiệu quả chống giả mạo cao như
hồi nó mới ra đời.
5
- Chống cả nghe trộm và cơ chế thanh toán không trung thực: bằng cách
mã hóa và chữ ký kép.
1.3.2. Tiền điện tử
Tiền điện tử là thể hiện ở dạng điện tử của tiền truyền thống. Một đơn vị tiền
điện tử thường được gọi là 1 đồng điện tử, hoặc 1 đồng tiền số. Giá trị thực của đồng
tiển sô không liên quan tới đơn vị tiền trong thực tế. Tức là đơn vị quy đổi thường
không phải bằng 1. Tiền số được quy định bởi nhà trung gian đầu cơ - broker.
Đầu tiên để có tiền điện tử, khách hàng phải liên hệ với broker, mua một khối
lượng tiền điện tử nhất định bằng tiền thật. Tiền “thật” ở đây có thể là tiền mặt,
chuyển khoản.
Sau đó, khách hàng có thể mua hàng từ bất kỳ trang bán hàng nào chấp nhận
tiền điện tử từ broker đó. Tại Việt nam mới có mBay là có một số đối tác là trang
thương mại điện tử (TMĐT) khác, còn lại đa phần các trang có chuyển từ tiền thật
sang tiền điện tử chỉ cho phép mua hàng trong gian hàng, website của mình, không
cung cấp dịch vụ tiền điện tử cho trang TMĐT khác.
Ngân hàng có tài
khoản người mua
4)Thiết lập
Ngân hàng có tài
khoản người bán
0) Đặt cọc
3)
(mua tiền
điện tử)
Tiền
mặt
Khách hàng
(trả tiền)
1)Thanh toán 001100…
2)Chuyển hàng
Trang bán hàng
(nhận tiền)
1.2 Giao
toán tử
tiền
điện
tử
Các bước trong Hình
giao dịch
thanhdịch
toánthanh
tiền điện
bao
gồm:
Hình 1.2 minh họa các bước trong giao dịch thanh toán điện tử. Cụ thể:
1) Khách hàng dùng tiền điện tử mua hàng trên Internet.
2) Thường tiền điện tử thường để mua hàng hoặc dịch vụ giá thấp nên trang
bán hàng thường tự động điền yêu cầu của khách hàng mà không yêu cầu
xác thực trước đó. Ví dụ tiền điện tử để mua nhạc chuông, thẻ điện thoại.
3) Trang bán hàng gửi yêu cầu thanh toán tới ngân hàng của mình và nhận tiền
6
thật tương ứng.
4) Ngân hàng có tài khoản của người bán liên hệ với ngân hàng có tài khoản
của người mua, yêu cầu chuyển tiền. Tiền được chuyển từ tài khoản người
bán sang tài khoản người mua thông qua tài khoản thanh toán liên ngân
hàng.
1.3.3. Séc điện tử
Séc điện tử có giá trị và bản chất tương đương với séc giấy thông thường. Một
tệp tin séc điện tử là tài liệu điện tử có chứa các dữ liệu sau:
-
Số séc
Tên người trả tiền
Tên ngân hàng và số tài khoản của người trả tiền
Tên người nhận tiền
-
Số tiền sẽ trả
Đơn vị tiền
Ngày hết hạn
Chữ ký điện tử của người trả tiền
Xác nhận của người nhận tiền
Ngân hàng có tài
khoản người mua
4)Thiết lập
Ngân hàng có tài
khoản người bán
3)
Chứng
thực ký
sau séc
1)Hóa đơn
Khách hàng
(trả tiền)
2)Ký séc
5)Chuyển hàng
Trang bán hàng
(nhận tiền)
Hình 1.3 Giao dịch thanh toán séc điện tử
Các bước trong giao dịch thanh toán séc điện tử được minh họa ở Hình 1.3
1) Khách hàng chọn hàng hoặc dịch vụ từ trang thương mại điện tử. Khi đó,
trang thương mại điện tử gửi hóa đơn điện tử tới khách hàng. Khi trả tiền,
khách hàng gửi lại séc có chữ ký điện tử.
7
2) Trang thương mại điện tử xác nhận vào séc nhận được
3) Ngân hàng phát hành séc này chuyển tiền từ tài khoản người mua sang tài
khoản người bán
4) Sau khi nhận được séc từ khách, trang web thương mại điện tử có thể
chuyển hàng, dịch vụ
1.3.4. Ví điện tử
Là phần mềm hoặc thiết bị phần cứng lưu trữ. Nó lưu trữ tiền điện, tử của
người chủ ví dưới dạng chuỗi bit. Trong hệ thống thanh toán điện tử do dự án CAFE
( Conditional Access for Europe - truy cập có điều kiện, do chương trình ESPRIT
của liên minh châu Âu tài trợ), ví điện tử có thể ở dạng máy xách tay hoặc thẻ thông
minh (smart card). Tiền điện tử có thể tải trực tuyến vào ví và dùng tại các điểm bán
hàng có chấp nhận ví.
1.3.5. Thẻ thông minh
Là thẻ nhựa có gắn vi xử lý và bộ nhớ, có thêm thành phần phần cứng liên lạc
với hệ thống thanh toán. Trên phương diện thanh toán, thẻ thông minh là một công
nghệ, chứ không phải công cụ thanh toán mới. Thẻ thông minh có thể làm thẻ tín
dụng, thiết bị lưu trữ tiền điện tử, thẻ rút tiền, thiết bị kiểm tra điện tử, hoặc phối hợp
tất cả các chức năng trên.
Pháp là một trong những nước đi đầu việc ứng dụng thẻ chip thông minh làm
thẻ tín dụng để chống nạn giả mạo thẻ tín dụng.
Ví dụ sử dụng thẻ thông minh trong thương mại điện tử: hệ thống thanh toán
Austrian Quick (của Italia) và Belgian Proton (của Bỉ). Người dùng thẻ thông minh
làm ví điện tử, có thể rút tiền tại ATM, mua hàng tại các của hàng chấp nhận loại
thanh toán này. Tại cửa hàng phải trang bị thiết bị đọc thẻ đặt ở quầy tính tiền.
SET (Giao dịch điện tử bảo đảm : Secure Electronic Transaction) là định dạng
mở cho giao dịch thẻ tín dụng qua mạng mở. Phiên bản SET hiện tại quy định khách
hàng chủ thẻ (ngân hàng) cần cài đặt ứng dụng SET lên thiết bị, hoặc PC (Personal
Computer). SET có một tập đặc tả mở rộng cho phép thẻ thông minh có thể liên lạc
với ứng dụng đọc thẻ. Ngày càng có nhiều loại thẻ tín dụng sản xuất dưới dạng thẻ
thông minh, nhờ đó chúng có thể dễ dàng tích hợp vào SET.
8
1.4. Các vấn đề an toàn trong giao dịch điện tử
1.4.1. Nặc danh người dùng và không theo dấu địa điểm
Hai dịch vụ này có thể được cung cấp độc lập: với mục đích không tiết lộ danh
tính người mua. Cách triển khai phổ biến nhất là sử dụng các hàm chuỗi xáo trộn
(chain of mixes). Hiểu đơn giản, ta đưa thông điệp có địa chỉ người gửi vào chuỗi
nhiều hàm xáo trộn.
Nếu khách hàng A muốn gửi một thông điệp tới cơ chế thanh toán Y, A gửi
tới bộ trộn thông điệp sau:
!" ($%&, !( ), $*++,-* )
A# Mix:
Khi đó bộ trộn giải mã thông điệp và gửi kết quả tới Y:
Mix # Y:
!( ), $*++,-*
Chỉ có Y đọc được thông điệp vì nó được mã hóa với khóa công khai của Y.
Kết quả là chỉ có bộ trộn biết thồng điệp được gửi đi từ đâu. Thông điệp vẫn đến
đúng đích, nhưng danh tính người gửi và đường dẫn thì vẫn được giữ bí mật. Khi
triển khai nhiều hàm trộn, ta có chuỗi xáo trộn hoạt động như trong Hình 1.4 dưới
đây
A
Mix4
Mix5
Mix6
X
B
Mix1
Mix2
Mix3
Y
C
Mix7
Mix8
Mix9
Z
Hình 1.4 Hoạt động của chuỗi xáo trộn
Nếu A muốn gửi thông điệp nặc danh, không theo dấu được tới Y thì đường
đi của thông điệp sẽ có dạng:
A → Mix1:
!0 ($%&2, !2 ($%&3, !4 (), $*++,-*)))
Mix1 → Mix2:
!2 ($%&3, !4 (), $*++,-*))
Mix2 → Mix3:
!4 (), $*++,-*)
Mix3 →:
$*++,-*
Vấn đề triển khai mạng trộn trong thực tế khá phức tạp cả trên khía cạnh kỹ
thuật lẫn vận hành hệ thống. Năm 1996, phòng thí nghiệm IBM tại Đức có triển khai
thử nghiệm hệ thống thư điện tử địa chỉ reply là nặc danh có tên BABEL.
9
1.4.2. Không theo dấu giao dịch thanh toán
Tới giờ, không cơ chế thanh toán nào cho phép hoàn toàn nặc danh vì thế cũng
không có giao dịch nào hoàn toàn không thể theo dấu được.
Có 2 cơ chế cho phép giao dịch không bị theo dấu được:
- Hàm băm ngẫu nhiên iKP sẽ trình bày chi tiết trong mục bí mật dữ liệu
thanh toán
- Hàm băm ngẫu nhỉên theo SET.
Trong SET, trang TMĐT chỉ nhận được giá trị băm của hướng dẫn thanh toán.
Hướng dẫn thanh toán này bao gồm thông tin:
- Số thẻ chính PAN, ví dụ số thẻ tín dụng
- Ngày hết hạn lưu hành thẻ
- Giá trị bí mật mà chủ thẻ, cổng thanh toán, và dịch vụ xác thực cùng chia
sẻ.
1.4.3. Bí mật dữ liệu giao dịch thanh toán
Dữ liệu thanh toán gồm 2 phần:
- Hướng dẫn thanh toán (thông tin tài khoản người mua: thẻ tín dụng, số tài
khoản...): dây là phần cần bảo vệ nhất để tránh bị dùng sai mục đích, kể
cả trang TMĐT giả mạo. Trong nhiều trường hợp, hướng dẫn thanh toán
có một nội dung thay đổi với mỗi lần giao dịch để che dấu danh tính của
người trả tiền.
- Hóa đơn (gồm danh mục hàng hóa và giá tương ứng)
Mặc dù hướng dẫn thanh toán và hóa đơn phải bí mật, không cho các bên khác
đọc được, nhưng 2 nội dung này vẫn phải có liên hệ với nhau để đảm bảo người
mua, trang TMĐT và cửa giao tiếp thanh toán có thể kiểm định lại dễ dàng. Bằng
không, trong trường hợp từ chối, khách hàng sẽ không thể chứng minh hướng dẫn
thanh toán mình gửi đi thực ra là để trả một hóa đơn khác.
Có 2 phương pháp để giữ bí mật dữ liệu giao dịch thanh toán là dùng hàm giả
mã và chữ ký kép.
1.5. Bảo mật tiền điện tử
1.5.1. Không theo dấu giao dịch thanh toán
Khi khách hàng rút tiền mặt từ máy ATM hoặc ngân hàng, mã số trên tờ tiền
thường không được ghi lại. Vì thế, các giao dịch thanh toán không thể liên hệ với
danh tính của khách hàng được.
10
Tiền số cũng có mã số, đôi khi có số đặc trưng thỏa mãn những điều kiện đặc
biệt. Vì các số này chỉ hiện diện ở định dạng sổ (không ở dạng vật lý, trộn tờ tiền
hoặc được in ra) nên rất dễ tạo bản ghi log lưu trữ khách hàng nào có số serial tiền
nào. Vì thế, có thể kiểm tra giao dịch thanh toán nào do khách hàng nào thực hiện
bằng cách tra bản ghi này, ra số tương ứng. Để tránh tình trạng này, cần có 1 cơ chế
đặc biệt. Có 2 cơ chế là chữ ký mù và trao đổi đồng tiền cho phép che dấu vết giao
dịch.
1.5.2. Chống tiêu tiền hai lần
Có thể dễ dàng sao chép và làm giả tiền điện tử. Bất kỳ ai cũng có thể làm
việc này vì tiền điện tử đơn giản được lưu trữ dưới dạng các con số. Một khi người
trả tiền có tiền hợp pháp, anh ta có thể cố tiêu tiền này 2 lần. Vì thế, phải áp dụng cơ
chế phát hiện tiêu tiền 2 lần.
1.6. Kết chương 1
Thương mại điện tử hiện nay đang phát triển mạnh mẽ và đang dần hoàn thiện.
Những lợi ích phải kể đến như: Lợi ích đối với doanh nghiệp, giúp doanh nghiệp mở
rộng thị trường và giảm chí phí sản xuất, …. Đối với người tiêu dùng sẽ thuận tiện
hơn trong việc mua hang hóa và thanh toán tiết kiệm chi phí và thời gian. Góp phần
thúc đẩy sự phát triển của xã hội. Chương này cũng đã khái quát được các hệ thống
thanh toán trong thương mại điện tử như hệ thống thẻ tín dụng, hệ thống tiền điện
tử, hệ thống séc điện tử, hệ thống ví điện tử và tiền thông minh. Đem lại sự tiện lợi
và nhanh chóng trong giao dịch tiền thanh toán và mua hàng. Bên cạnh những lợi
ích mà thương mại điện tử đem lại, thì việc đảm bảo vấn đề an toàn giao dịch trong
thương mại điện tử cũng là vấn đề quan trọng. Một giải pháp an toàn để giải quyết
vấn đề này đó là sử dụng chữ ký mù để đảm bảo an toàn cho tiền điện tử sẽ được
giới thiệu trong chương 2.
11
CHƯƠNG 2. CHỮ KÝ MÙ
2.1. Giới thiệu chữ ký mù
Khái niệm chữ ký số mù đầu tiên được trình bày bởi Chaum vào năm 1982[3].
Một lược đồ chữ ký số mù là một loại giao thức mà người A yêu cầu nhận một chữ
ký +%-5(6) cho thông điệp m của anh ta từ một người ký B, người B chỉ có nhiệm
vụ ký mà không biết thông tin gì về thông điệp m. Sau này, khi B nhận được cặp
thông điệp – chữ ký (6, +%-5(6)), anh ta chỉ có thể xác thực là chữ ký có đúng hay
không mà anh ta không thể tìm ra mối liên kết giữa cặp thông điệp – chữ ký với
trường hợp xác định của giao thức ký đã được sử dụng để sinh ra chữ ký đó. Hai vấn
đề thực tiễn nhận được sự quan tâm nghiên cứu đặc biệt của Chaum lúc bấy giờ là
hệ thống thanh toán tự động an toàn và hệ thống bầu cử điện tử. Ông đã chỉ rằng, sự
phát triển vô số của các dịch vụ điện tử có thể ảnh hưởng đến tính chất riêng tư của
khách hàng và mức độ cũng như phạm vi của được thiết kế để bảo vệ hoàn toàn tính
chất riêng tư của khách hàng trong các hệ thống thanh toán điện tử an toàn bằng cách
đề cao tính ẩn danh của các bên tham gia. Về cơ bản, một lược đồ chữ ký số mù là
một giao thức cho một nhóm các bên yêu cầu và một bên ký. Mỗi bên yêu cầu sẽ
gửi một thông điệp đã được mã hóa cho bên ký và nhận lại một chữ ký hợp lệ từ bên
ký. Ghi nhớ rằng bên ký chỉ ký thông điệp mà không giải mã chúng. Sau này, bên
ký có thể xác thực tính đúng đắn của chữ ký mỗi khi anh ta nhận được cặp thông
điệp – chữ ký.
Theo như Chaum công bố, hệ thống chữ ký số mù được xem như là một hệ
thống chữ ký số hai khóa kết hợp với một hệ thống khóa công khai kiểu giao hoán,
đó là bởi vì hai hàm được yêu cầu chính để thiết lập một hệ mật chữ ký số mù:
1. Hàm ký mù +′ chỉ được biết bởi người ký và hàm nghịch đảo chữ ký + tương
ứng với nó được biết công khai, sao cho +’(+(6)) = 6 và từ chữ ký + không
có một manh mối nào để tìm ra chữ ký mù +′.
2. Cả hai hàm giao hoán ; và nghịch đảo ;′ của nó, cả hai chỉ được biết đến bởi
người cung cấp, sao cho ; < +′ ;(6)
= +′(6) và từ ;(6) và +′ không thể tìm
6.
Ngoài ra còn có giá trị kiểm tra tính dư thừa =, để kiểm tra khả năng dư thừa giúp
thực hiện tìm kiếm những chữ ký không thực tế.
Dựa trên các hàm này, một giao thức chữ ký số mù sẽ bao gồm 3 pha:
1) Người cung cấp (provider) chọn thông điệp 6 một cách ngẫu nhiên, sao
12
cho =(6), tính toán giá trị ;(6) và cung cấp ;(6) cho người ký (signer).
2) Người ký ký lên ;(6) bằng cách sử dụng +′ và trả về tài liệu đã được ký
+′(; 6 ) cho người cung cấp.
3) Người cung cấp bóc tách +′(; 6 ) bằng cách áp dụng hàm giao hoán
ngược ;′ để thu được ;’(+’(;(6))) = +′(6) - chữ ký của Signer lên thông
điệp 6.
Người cung cấp
1. Sinh ngẫu nhiên m,
thỏa mãn =(6)
Tính ;(6)
Người ký
Gửi ;(6)
2. Ký mù
Gửi +%-5
+%-5 = +’(;(6))
3. Xóa mù:
Tính ; < >+′?;(6)@A = +′(6)
Hình 2.1 Lược đồ chữ ký mù Chaum
Bất kỳ ai cũng có thể kiểm tra thông tin đã được bóc tách +′(6) bằng việc áp
dụng khóa công khai + của người ký và kiểm tra biểu thức =(+(+′(6))) có thỏa mãn
hay không
Bên trên là những đặc tính của lược đồ chữ ký số mù nhằm bảo vệ định
danh của người yêu cầu không bị rò rỉ. Và đó cũng là nguyên nhân mà Chaum đã
đưa ra hai thuộc tính được yêu cầu mà một lược đồ chữ ký số mù phải thỏa mãn.
2.2. Các thuộc tính của chữ ký mù
Chữ ký số mù là một loại chữ ký số đặc biệt, chính vì vậy chữ ký số mù thừa
hưởng tất cả các thuộc tính chung của chữ ký số nói chung như tính toàn vẹn, tính
không thể phủ nhận, ngoài ra chữ ký số mù còn có thêm các thuộc tính đặc trưng
như sau:
1. Tính mù (blindness): Nội dung thông điệp sẽ bị mù (không được biết) đối
với người ký.
2. Tính không truy vết (untraceability): Người ký không thể truy vết mối
quan hệ giữa chữ ký và thông điệp. Ngay cả khi chữ ký đã được công bố công khai.
13
3. Tính ẩn danh (Anonymity): Do thuộc tính không truy vết ở trên, danh tính
của người gửi có thể giữ bí mật sau khi nhận được thông điệp.
Các thuộc tính này có thể được sử dụng để bảo vệ tính riêng tư của khách hàng
trong các ứng dụng như thương mại điện tử (e-commerce), tạo các quyết định trong
ứng dụng làm việc nhóm, các hệ thống thanh toán điện tử (e-payment), các hệ thống
bầu cử điện tử (e-voting)…
Một ví dụ về giao dịch thanh toán sẽ minh họa cách hệ thống chữ ký mù được
giới thiệu ở phần trước, có thể tạo ra một hệ thống thanh toán không truy vết. Các
chủ thể trong ví dụ bao gồm: ngân hàng, người mua, và người bán. Dưới đây là chi
tiết các bước thực hiện trong một phiên giao dịch sử dụng chữ ký mù:
Bước 1: Người mua sinh ngẫu nhiên một giá trị & sao cho thỏa mãn hàm =(&),
và tính toán giá trị ;(&) (làm mù).
Bước 2: Người mua chuyển tiếp giá trị ;(&) tới ngân hàng.
Bước 3: Ngân hàng tiến hành ký lên ;(&) sinh ra chữ ký +’(;(&)), đồng thời
ghi nợ tài khoản của người mua.
Bước 4: Ngân hàng gửi trả giá trị được ký mù +’(;(&)) cho người mua.
Bước 5: Khi nhận được kết quả từ ngân hàng, người mua tiến hành xóa mù
với công thức ;’(+’(;(&))) thu được chữ ký của ngân hàng +’(&).
Bước 6: Người mua sẽ kiểm tra giá trị được xóa mù, bằng cách kiểm tra biểu
thức +(+’(&)) = &, nếu không thỏa mãn thì kết thúc.
Bước 7: Người mua tiến hành thanh toán bằng cách cung cấp +’(&) cho người
bán.
Bước 8: Người bán kiểm tra +′(&) bởi công thức =(+(+′ & )) và dừng lại nếu
kết quả thu được không đúng với giá trị mong muốn &.
Bước 9: Người bán chuyển tiếp + < (&) tới ngân hàng.
Bước 10: Khi nhận được +′(&) từ người bán, ngân hàng tiến hành kiểm tra bởi
công thức =(+(+′(&))).
Bước 11: Ngân hàng thêm giá trị +’(&) vào danh sách. Dừng lại nếu đã có
trong danh sách.
Bước 12: Ngân hàng tiến hàng chuyển tiền vào tài khoản và thông báo tới
người bán.
Nhìn vào sơ đồ hệ thống, ta có thể thấy rằng ở giai đoạn người mua làm việc
với ngân hàng, ngân hàng duy nhất có giá trị ;(&) do người mua gửi lên. Còn trong
14
giai đoạn thanh toán, sau khi nhận tiền có chữ ký của ngân hàng +’(&) từ người mua,
người bán chuyển tiếp tới ngân hàng. Tại đây, ngân hàng kiểm tra +’(&) bằng khóa
công khai của mình thu được giá trị &, ngân hàng chỉ biết được đây đúng là do chính
mình ký lên, nhưng không biết đồng tiền này của ai, không thể liên kết giá trị & với
người mua. Vì ngân hàng chỉ thu được &, mà người mua gửi ;(&). Đồng thời theo
lược đồ của Chaum, từ & không có cách nào tìm được ;(&). Cho nên hệ thống thanh
toán được giới thiệu là hệ thống thanh toán đáp ứng tính không truy vết.
Người mua
Ngân hàng
1.Sinh ngẫu nhiên &
Tính giá trị c(x)
Gửi ;(&)
2. Tính +’(;(&)),
Ghi nợ tài khoản
Gửi s’(c(x))
3. Tính s’(x) = c’(s’(c(x)))
B%ể6D=,=(+(+′(& ))
Kiểm tra +(+′(&)) = x ?
)
Kiểm tra
=(+(+′(& )))
Người bán
Hình 2.2 Mô hình hệ thống thanh toán điện tử - Chaum
15
2.3. Chữ ký mù dựa trên các hệ mật
2.3.1. Chữ ký mù trên hệ mật RSA
Thuật toán RSA được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu
tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT). Tên của thuật toán
lấy từ 3 chữ cái đầu của tên 3 tác giả[11].
Trước đó, vào năm 1973, Clifford Cocks - một nhà toán học người Anh làm
việc tại Trụ sở truyền thông Chính phủ (Government Communications
Headquarters) đã mô tả một thuật toán tương tự. Với khả năng tính toán tại thời điểm
đó thì thuật toán này không khả thi và chưa bao giờ được thực nghiệm. Tuy nhiên,
phát minh này chỉ được công bố vào năm 1997 vì được xếp vào loại tuyệt mật.
Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào năm 1983
(Số đăng ký 4,405,829). Bằng sáng chế này hết hạn vào ngày 21 tháng 9 năm 2000.
Tuy nhiên, do thuật toán đã được công bố trước khi có đăng ký bảo hộ nên sự bảo
hộ hầu như không có giá trị bên ngoài Hoa Kỳ. Ngoài ra, nếu như công trình của
Clifford Cocks đã được công bố trước đó thì bằng sáng chế RSA đã không thể được
đăng ký.
Trong hệ mã hoá RSA các bản rõ, bản mã và các khoá (khóa bí mật và khóa
công khai) thuộc tập số nguyên EF = 1, . . . , 5 − 1 . Trong đó tập EF với 5 = J ∗ L
là các số nguyên tố khác nhau cùng với phép cộng và phép nhân.
- Khoá mã hoá là cặp số nguyên (5, *) với * là số mũ công khai, khoá giải mã
là cặp số nguyên (5, M) với M là số mũ bí mật. Các số là rất lớn, số 5 có thể lên tới
hàng trăm chữ số.
- Mã hoá và giải mã:
+ Công việc mã hoá: là sự biến đổi bản rõ N (Plaintext) thành bản mã O
(Ciphertext) dựa trên khoá công khai và bản rõ N theo công thức:
O = NP (6QM5)
+ Công việc giải mã: là sự biến đổi ngược lại từ bản mã O thành bản rõ N dựa
trên khoá bí mật và bản mã O theo công thức.
N = O R (6QM5)
Như vậy bản rõ ban đầu được biến đổi một cách thích hợp thành bản mã, sau
đó có thể tái tạo lại bản rõ ban đầu từ chính bản mã đó.
Trên đây là tổng quan về hệ mật khóa công khai RSA. Chi tiết về chữ ký mù
RSA được trình bày tại mục 2.4
16