I il thanh toán thông thường Thanh loán bằng tiền mặt Thanh toán qua ngân hàng 1.2 Y'U cầu đối với hệ thanh toán tiền mặt ] .3 Clúi niệm tiền điện tử : Định nghĩa liền điện tử Hệ thống t
Trang 1KH O A CÔNG NGHỆ
L Ë THANH TUNG
nỂN MẶT ĐIỆN TỬ
M ã s ố :
LUẬN VĂN THẠC SỸ KHOA HỌC• • »
( OẠI ìt ịT ĩv ĩc líỌì I
•flWHttWi TrtÔhr.TVN.ïii'ïJ V!ỆNỊỊ(
Trang 2ì Lòi mi dầu
iPh;n : Hệ thanh toán và các yêu cầu đối với hệ thông thanh toán.
I I il thanh toán thông thường
Thanh loán bằng tiền mặt
Thanh toán qua ngân hàng
1.2 Y'U cầu đối với hệ thanh toán tiền mặt
] 3 Clúi niệm tiền điện tử :
Định nghĩa liền điện tử
Hệ thống thanh toán sử đụng tiền mật điện tử
Hệ thanh toán trực tuyến và không trực tuyến
Các yêu cầu đối với hệ thống thanh toán điện tử
Giài pháp cho các yêu cầu với hệ thanh toán tiền mặt điện tử
iPhỉh ; : Các giải pháp bảo mật và an toàn thông tin cho hệ thanh toán
ttlen mịt điện tử
22 : c íc khái niệm cơ sở
Khái niệm mã hoá
Mội số khái niệm về lý thuyết số
Một số vấn đề liên quan đến lý thuyết số
Hàm một phía
Hàm Bám
21.1 : Cíc giao ihức về báo mật và an toàn thông tin
Giao thức truyền tin bảo mật
Giao thức xác nhận và chữ ký điện tử
Giữ ký mù
Giao thức chứng minh không để lộ tri thức
Úng dụng các giao thức
ri ồn điện lử phân chia được
rién diện lử chuyển giao được
Trang 3Tạo tài khoản
- Chữ ký nhóm trên văn bản điện tử
Mô hình liên kết ngân hàng
Khởi tạo hệ thống liên ngân hàng
- Giao thức chuyển tiền liên ngân hàng
Thanh toánliên ngân hàng
Trang 4== Phép gán toán học
=== Phép so sánh ,kiểm thử A = = B Đúng khi giá trị A và B như nhau
Sui khi A khác BPhép đổng dư modulo
Ilnl Chiều dài bít của n
t)| I p q là ước của p
gỉcdk.i) Ước số chung lớn nhất của X và n
(írnol I ) Phép toán trên modulo n
Chứng minh không đổ lộ tri thức Không theo dõi được
Encrypt Control Box
Hệ thống thanh toán
Trang 5T ừ n xưa,con người đã nghĩ ra đồng tiền đê làm thước đo chung giá trị của hàng hoá hoặc dịch vụ),giá một bơ gạo ba đồng,giá mảnh đất ba cây vàng,giá 1 ngày
c ô m lao động mười đổng,vv Từ đó con người có thể trao đổi hàng hoá (dịch vụ),ịmh ihành các giao dịch thương mại
V ới ự phát triển mạnh mẽ của mạng Internet, kco theo cạnh đó là sự phát triển đến mứckinh ngạc của rất nhiều lĩnh vực kinh tế xã hội,khoảng cách địa lý,gianh giới giừacác quốc gia dường như thu hẹp lại Internet trở thành hạ tầng thông tin lý rướn, cho các tiến trình toàn cầu hoá các hoạt động thương mại Thương mại điện
tử Iàniột phương thức mới,hỗ trợ đắc lực cho quá trình “hiện đại hoếUoàn cầu hoá”
đó Có thể nói thương mại điện tử là hình thức thương mại chủ yếu trong tương lai Hìnl ihức thương mại phát triển từng bước theo bước tiến của công nghệ ,từ giao dịch rực tiếp đến các giao dịch qua thư từ,điện thoại rồi đến giao dịch qua hệ thống mạni toàn cầu Internet, dẫn đến thách thức lớn đặt ra cần phái giải quyết Đó là an toàn thông tin cho các giao dịch thương mại ,đặc biệt ỉà các giao dịch thanh toán điện ử
CÁC VẤN Đ Ề V Ề AN TOÀN THÔNG TIN TRO N G THƯƠNG MẠI Đ IỆN T Ủ
Nga\ từ những thập niên 60,khi máy tính điện tử bắt dầu được ứng dụng rộng rãi Iron g các lĩnh vực kinh tế,việc tin học hóa đã được tiến hành trước hết trong các lĩnh 'ực ngân hàng,tài chính Jkinh doanh và thương mại.Đến những năm 80,các hình thức thanh toán điện tử đã được tiến hành trong nhiều nghiệp vụ ngân hàng và thưưrg mại Việc phát hành và sử dụng các loại thẻ thông minh ,các máy rút tiền tự động (A T M ) dã "diện tử hoá “ từng phẩn một số chức năng của đổng tiền,dẩn dần chuẩn bị cho việc ra đời “tiền điện tử”, một yếu tố cốt lõi trong thương mại điện tử Tronjï thương mại truyền thống,trên thực tế hình thành một hệ thống các tổ chức.biện pháp,luật pháp đảm bảo sự an toàn cho các quá trình thưưna mại Các quá trình đó bao gồm 12 Ị:
Tìm kiếm ,bao gồm cả các hoạt động hỗ trợ tìm kiếm như quảng cáo,tiếp thị
Đánh ỉiiá thương lượiỉịỉ dì đến thoả thuận
Trang 6Hậhcản : Tổ chức,diều phối,giao nhận hàng hoá
Thailì toán : Quá trình trả tiền,có nhiều hình thức khác nhau liên quan đến hình thứccúa đổng tiền
Xúc ìliận sự đúng đắn của c á c khâu trong cúc quá trình mua bán.
Trorg thương mại điện tử ,gắn liền với nó là sự phát triển của hạ tầng thông tin toàn cầu Internet vói các địch vụ phong phú của nó có khả năng cung cấp cho con ngưri các phương liện hết sức thuận tiện để trao đổi,tổ chức,tìm kiếm thông tin.Hnh thành các tổ chức hoàn toàn mới mà người ta thường gọi là các tổ chức
“ ảo’' (virtual) ,tức là các tổ chức tiến hành các giao dịch kinh doanh thông qua inạrụ Các ngân hàng “ảo” ,cửa hàng “ảo” xuất hiện ngày càng nhiều Các hoạt độnr của nó ,đặc biệt là các hoạt động thanh toán, được tiến hành trên mạng.Do đó,y:u cầu vẻ an toàn và bảo mật thông tin là vấn đề đặt ra và đây là điều kiện kiên quyồ để có được thương mại điện tử
Riêm với quá trình thanh toán điện tử,khi hình thức của đồng tiền là đổng tiền điện tử,tru thực chất là một dãy các bít được truyền qua mạng,thì yêu cầu an toàn thông tin đít ra nhiều bài toán phức tạp
Do vỊy ,mục tiêu đặt ra trong luận văn này là nghiên cứu giải pháp để giải quyết yêu cầia an toàn thông tin trong quá trình thanh toán sử dụng tiền mặt điện t ử
GIẢI P HÁP CHO Y Ê Ư CẦU THANH TOÁN s ử DỤNG T IE N M Ặ T Đ IỆ N T Ử
Rất ma y trong các thập niên gần đây,khoa học mật mã,đặc biệt là mật mã học khoá công khai đã và đang không ngừng phát triển,cống hiến những giải pháp khả thi cho vấn cề an toàn của đồng tiền điện tử ,thoả mãn các yêu cầu trong thanh toán quamạng
Trang 7GỈCỈIẠN VẤN ĐỀ NGHIÊN c ú u
Troi: luận vãn sau đây,vấn để đặt ra nghiên cứu là ứng dụng phưưng pháp m ã hoá<ây dựng mô hình cho hệ thống (hanh toán không trực tuyến sử dụng tiền mặt diệiúr (offline untraceable digital cash system) ,mở rộng cho việc thanh toán đồng liồnliộn lử liên ngân hàng Tức là cho phép thanh toán đổng liền cho khách hàng
•có li khoản ở ngân hàng khác qua hệ thống liên ngân hàng
N ộ DUNG LU Ậ N VÃN
Với liới hạn vấn đề cần nghiên cứu như trên,nội dung của luận văn bao gồm các phầi sau :
’hun 1 : Hệ ihanh toán và các ycu cầu đối với hệ thống thanh toán
Giới thiệu về các giao dịch thương mại thông thường,sử dụng tiền mặtthông thường.Đưa ra các yêu cầu đối với đồng tiền trong hệ thống thanh toán.Từ đó đặt ra yêu cầu đối với một hệ thống thanh toán tiền mặt điện tử ,xáe định giải pháp cho các yêu cầu đó
’hần 2 : Các giải pháp bảo mật và an toàn thông tin cho hệ thanh toán tiền mặt
điện tử
Đề cập đến các vấn đề về an toàn thông tin và các giao thức vềan toàn thông tin.Áp dụng các giao thức đó để xây dựng một mô hình tổng quan cho hệ thanh toán tiền mặt điện tử
Phán 3 : Xây dựng một hệ thống thanh toán sử dụng tiền mặt điện lử
Xây dựng một mô hình hộ thống thanh toán tiền mặt diện tử cụ thổtrong phạm vi một ngân hàng
Phần 4 : Hệ thống liên kết ngân hàng
Mở rộng hệ thống ở phần 3 cho các giao dịch liên ngân hàng
Kết luận : Đưa ra một số yêu cầu cho việc hình thành một hệ thống thanh toán
tiền mặt điện tử ở Việt Nam.Đề cập đến một hướng phát triển cho các ứng dụng mã hoá trong thương mại điện tử nói chung và các giao dịch thanh loán nói riông
Tôi mon lĩ rằng với bài luận văn này,người đọc sẽ có một cách nhìn về một hướng phát triển ứns dụng khá lv thú của khoa học mật mã,đặc biệt là trong lĩnh vực an toàn ihônc tin trong thương mại điện tứ Đây là vấ đề tuy đã có nhiều kết quả
Trang 9P H Â N 1
HỆ THANH TOÁN VÀ
CÁC YÊU CẦU ĐỐI VỚI HỆ THỐNG THANH TOÁN
1.1 (ÁC H Ệ TH ỐNG T H A N H TOÁN THÔNG THƯỜNG
1.1,]: THANH TOÁN BẰ N G T IỀ N M Ặ T (THANH TOÁN T R Ự C T IẾ P )
Tron; iĩiao dịch ihương mại thông thường,khi sử dụng hình thức đồng tiền thông thườ.g,người ta có thể mặt đối mặt trao đổi tiền và hàng hoá Mọi vấn đề xác nhận đều ó tlìê được thực hiện một cách trược tiếp Người mua kiểm tra chất lượng sản phan mình mua,người bán kiểm tra độ tin cậy của đồng tiền
Đồn; tiền (theo nghĩa thông thường) ở đây là một khuôn dạng vật lý đặc biệt,có các mệnl giá khác nhau,do nhà nước (hay cộng đổng) phát hành và tính an toàn được bảo (ám bằtie một hệ thống các tổ chức,biện pháp,luật pháp.Khuôn dạng vật lý này phải lược đảm bảo sao cho không thể (hoặc rất khó) làm giả,việc làm giả đồng tiền
bị co IÌI vi phạm pháp luật
Với lình thức trao đổi đồng tiền mặt thông thường,có rất nhiều phiền toái xẩy ra,nhí khi người mua và bán ở rất xa nhau,khi phải lrao đổi lượng tiền lớn,vận chnyíii tiền di xa,thu hồi huỷ những đồng tiền cũ,hỏng,phát hành đồng tiền tốn kém,thó phát hiện việc làm giá và tiêu thụ đồng tiền giả
Tuy rhicn.việc thanh toán trực tiếp bằng tiền mặt có rất nhiều điểm nổi bật mà các hình hức thanh toán khác (như qua ngân hàng) không có được ,không một bên thứ
ba Iif.o (về nguyên tắc) có thể tìm hiểu được việc giao dịch của hai bên mua và bán
1.1.2: THANH TOÁN QUA NGẦN HÀNG
Do han chế của việc thanh toán bằng tiền mặt thông thường kể trên,hình thức thanh loán mới phát triển là thanh toán qua một đối tác thứ ba,qua ngân hàng A và B có lài khoán tại ngân hàng,A có thể chuyển tiền cho B thông qua tài khoản ngân hànỉĩ,ngân hàng sẽ chụi trách nhiệm xác nhận tư cách của cả A và B,làm nhiệm vụ clniyến liền ui lìa các lài khoản Việc thanh toán qua ngân hàng có thể có một số hình 1 hức như thanh toán qua séc,qua uỷ nhiệm thu ngân hàng ,nhưng chúng đều
Trang 10CÓ một điểm chung là ngân hàng có thể điều tra được các hoạt động chi trả của khách hàng Tính ẩn danh của đổng tiền không còn tồn tại Tuy nhiên,thanh toán qua ngân hàng giải quyết được rất nhiều phiền toái của vấn đề thanh toán trực tiếp bầu liền mặt,đó là nó có thổ thanh toán một lượng lớn tiền thông qua ngân hàng một cách thuận lợi và an loàn ,thực chất không có một lượng tiền mặt vật lý lưu chuyển,
mà đó chỉ là việc chuyển tiền giữa các tài khoản ngân hàng Mặt khác,khi uỷ nhiêm thu qua ngân hàng,người mua và người bán không nhất thiết phải trực tiếp gặp nhau.nên có thể giao dịch thương mại từ xa
1.2 Y Ê U C Ẩ U ĐỐI VỚI H Ệ THANH TO ÁN T IE N m ặ t
Ọíía trình thanh loán là một khâu quan trọng trong giao dịch thương mại,lượng vật châì ớ dây được trao đổi là tiền bạc.Do vậy,yêu cầu đảm bảo an toàn dược đặt ra là quan trọng nhất Trong thanh toán trực tiếp hay thanh toán qua ngân hàng,thì các yỏu cầu đặt ra đểu có một nét chung,đó là đảm bảo tính an toàn cho phiên siao dịch thanh toán đó
Trong quá trình thanh toán,yêu cầu chủ yếu được đặt ra như sau,ta có thể coi đây nhu các thuộc tính vốn có của tiền mặt thông thường :
Tính (III toàn (ỵ cỉ) : Với giao dịch qua ngân hàng,ngân hàng phải đảm bảo sự an toàn cho việc thanh toán Không ai có thể làm giả đổng tiền được Không thể tiêu đồng tiền quá mệnh giá của nó
Với eiao dịch trực tiếp bằng tiền mặt,tính an toàn được đảm bảo bàng chính khuôn dạng VỘI lý của đồng tiền,và được đảm bảo bằng các hệ thống luật pháp.Cả người mua và người bán đề có thể kiểm tra được tính xác thực của đổng tiền
Tinh (ín danh (yc2):Đầm bảo tính riêng tư,không theo dõi dược dấu vết của việc tiêu tien.Thực chất tính ẩn danh không có được khi thanh toán qua ngân hàng,về mặt nguycn tắc,ngân hàng vẫn điều tra được việc tiêu tiền của khách hàng.Nhumg với việc thanh toán bằng tiền mặt,chí có bên mua và bán trao đổi tiền trực tiếp vói nhau thì sự án danh của đồng tiền được đảm bảo
Trang 11Chuyến giao được (yc3) : chuyển quycn sở hĩai đồng tiền không cần sự can thiệp của ngân hàng.
Phán chia dược (yc4): Có thể chia đồng tiền mệnh giá lớn thành các đồng tiền có mệnh giá nhỏ tương dương trong quá trình mua bán
Nuoài các thuộc tính chính trên,đổng tiền có thể thanh toán off-line (không có sự tham gia của ncân hàng Irong quá trình thanh toán ) ,có khả năng thanh toán trong mội thị trường rộng rãi,khi hệ thanh toán mà ngân hàng phát hành đồng tiền không phải ngân hàng gốc
Với hình thức thanh toán tiền mặt thông thường,bên ngoài những bất lợi của việc thanh toán bàng đồng tiền vật lý như đã nói ở phần trên,thì nó đáp ứng đủ các yêu cáu của một hộ thanh toán.Có thể coi các yêu cầu đó như các thuộc tính vốn có của dồng tiền mật thông thường
1.3 K H ÁI N IỆM T IỀ N Đ IỆN T Ử
Mạng thông tin công cộng phát triển như một hạ tầng cơ sở thông tin,rất nhiều giao dịch được thực hiện qua mạng,tất yếu dẫn đến một hình thức mói trong thanh toán,
ỉ lình ihức thanh toán diện tử,với lượng thông tin trao đổi qua mạng là tiền bạc Dẫn đèn một khái niệm mới ra đời : khái niệm “Tiền mặt điện tử” (E-Cash hay Digital Cash)
Tiền mặt điện tử bắt chước các thuộc tính đặc trưng của việc Ihanh toán bằng tiền mặt thông thường,nhưng sử dụng được thô' mạnh của việc thanh toán qua mạng Vậy câu hỏi đặt ra là : tiền mặt điện tử là gì, hệ thống thanh toán sử dụng tiền điện
tử như thế nào Làm thế nào để xây dựng hệ thống thanh toán điện tử cố sử dụng liền mặt điện tử
'Tien mặt điện tử “ là đồng tiền được lưu hành trong các giao dịch thanh toán điện tử,ncn nó cũna phai tuân theo các qui luật của giao dịch thương mại truyền ihỏng.Trone thương mại truyền thống, đồng tiền thông thường dược đảm bảo bằng chính khuôn ciạns của nó và được pháp luật bảo vệ Khi chuyển qua thương mại diện tử nói chung,đặc biệt là thanh toán điện tử Yêu cầu an toàn cho ‘Tiền mặt diện tử “ dặt ra nhiều bài toán phức tạp cần giải quyết
Trang 121.3.1 : Định nghĩa lien điện tư
Theo định nghĩa của J.Orlin Grable 14 ị ,ticn mặt điện tử (Digital cash hay electronic cash ) là các bàn ghi (hay các thông báo) điện tử được coi như đồng tiền,nó rất khó
bị giá mạo v ề bản chất,tiền điện tứ là một dãy bít nhị phân được coi như một thông háo trá tiền (payment message) kèm theo chữ ký điện tử,và nó mang một giá trị (mệnh giá đồng tiền) trong bản thân nội dung của nó.Có thể luân chuyển trên mạng.Tiển diện lử,về cơ bản nó không phải là tiền mặt thông thường,mà nó là đại diện cho liền mặt thône ihường,được coi như là thành phần môi giới cho các giao dịch trao đổi thanh toán
Đổ liicii rõ thêm khái niệm tiền điện tử,ta lần lượt tìm hiểu các khái niệm sau
Mọi người đều biết thông báo là gì,thư là một thông báo,thư điện tử là thông báo,tín hiệu đèn biển là thông báo
Thông báo trả tiền là thông báo được sử dụng để mua hoặc bán cái gì đó.Séc,điện chuyển tiền chuyển tiền là một thông báo trả tiền
Chừ ký của một thông báo trả tiền tức là một thông báo được ký(được xác
11 lìận).Tất nhiên,một séc chỉ có giá trị khi người chủ của séc ký vào nó,một điện chuyến tiền của nhà băng A cho nhà băng B chỉ có hiệu lực khi có đầy đủ chữ ký của các hên
Chữ ký diện tử cho một thông báo chuyển tiền được ký bởi chữ ký số.Khái niệm chừ ký sỏ' được hình thành từ khoa học mật mã.Nếu bạn viết một thông báo trên máy tính (tức thông báo trở thành dãy bít số),bạn muốn gửi thông báo đi kèm theo xác nhận tính đúng đắn của thông báo,bạn phải gửi chúng kèm theo chữ ký của mình trên thông báo dó
Trong vãn bần viết tay,chữ ký của người gửi cuối văn bản là bằng chứng xác nhận trách nhiệm £11 a người ký đối với toàn văn bản.Trong văn bản điện tử,rất dẻ bị eàt.đán.sao chép các dày bít một cách dễ dànc,nên chữ ký điện tử,phải được ký cho tìm 2 bít của vãn bản,chứ không thể được ký tách rời ở cuối vãn bản [ 1 ]
/
Trang 13Việc kiếm thủ' chữ ký viết tay dơn giản là so sánh với nguyên mẫu.Trong chữ ký điện tử,việc kiểm thử chữ ký trên một văn bản m phải dược thực hiện bằng những thuật toán kiêm thử dựa trên quan hệ toán học nào đó.
Viéc sao chép văn bản viết tay rất dễ phân biệt bản sao,nhưng trong chữ ký diện lử,các dãy bít rất dễ bị sao chép mà không phân biệl dược bản gốc với bản sao.Tránh nguy cơ đó,chẳng hạrugán tem thời gian cho văn bán được ký
Với khái niệm tiền mặt điện tử ở trên,nó luôn được gán kèm với các khái niệm truyền thông tin bảo mật,các vấn đề chữ ký và xác nhận chữ ký điện tử Đây là các vấn đề trong khoa học mật mã.Như vậy,khái niệm tiền mặt điện tử luôn gắn liền với khoa học mật mã và các kết quả của nó,đặc biệt là mật mã học khoá công khai (sẽ dược trình bầy ở phần sau)
Ì.3.2.H ệ thống thanh toán sử dụng tiền mặt điện tử
Hệ (hống thanh toán sử dụng tiền mặt điện lử được định nghĩa là hệ thốnc bao gồm
ha bên dó là ngân hàng B (là nơi khởi tạo hệ thống và phát hành ra đồng tiền), khách hàng u (người mua) và cửa hàng V (người bán)
Giao dịch thanh toán giữa các bên được xcm như có bốn quá trình chính ,dó là (mở tài khoản (account establishment),rút tiền (withdrawal),trả liền (payment) và gửi tiền (íleposist)) (hình 1.1)
Issuer .'Vttuil I'll'»' Hi Ml.UX'V Acquirer
h r l i I I I I • M
£ 3
Sellerlỉiụer
Hình 1.1 : Vòng dời của đồng tiền
Trang 14Mó tả một chu kỳ thanh toán như sau [2,8,12]:
Ngân hàruĩ khởi tạo hệ thống ,cài đặt cho mình thuật toán xác nhận (SIG) để có thể phát hành donc tiền,khi đồng tiền đã được phát hành,ngân hàng không thể chỗi bỏ dược trách nhiệm cùa mình,tức là ngân hàng đảm bảo giá trị cho đồng tiền của mình khi đã phát hành.Đồng thời ngân hàng phải xây dựng thuật toán kiểm thử (V E R ) đế khách harm có thể xác minh tính đúng đắn của đổng tiền trên thị trường
Ị 3.3 Hệ thống thanh toán trực tuyến và không trực tuyên :
(online payment system and off-line system )
Tronc hệ thống thanh loán trực tuyến,mọi giao dịch trả tiền giữa hai bên đều phải
cổ sự Iham gia trực tuyến của ngân hàng Ngân hàng chi chấp nhận giao dịch khi donc tiền là họp lệ,và ngân hàng kiểm tra ngay lập tức trong kho xem đồng tiền đã
Trang 15được tiêu chưa,sau đó mới chấp nhện giao dịch thanh toán Hệ thống trực tuyến này gần giống với các hệ thanh toán thỏ ngân hàng (như Visa Card hay MasterCard),inọi thôn£ tin giao dịch của khách hàng đều có thổ bị ngân hàng nắm giữ,neân hàng có thê điều tra dược các giao dịch của khách hàng thông qua số tài khoản và PIN code (Personal Identify Number) của khách hàng Đồng tiền trong hệ thống không mang lính ẩn clanh đối với ngân hàng.
Tronc hệ thốnu thanh toán không trực tuyến (off-line system) giao dịch thanh toán giữa hai bên không cần có kết nối với ngân hàng.Người bán có thể chấp nhận đồng tien của người mua khi đã kiểm tra khuôn dạng hợp lệ của đồng tiền (kiểm tra đúng đồng tiền ngân hàng phát hành,có xác nhận của người mua, ).Khi người bán gửi clồns liền đó đến ngân hàng,ngân hàng sẽ kiểm tra xem nó đã dược tiêu chưa,nếu dồng tiền đã dược tiêu trước đó,thì ngân hàng có thể phát hiện ra người đã liêu hai lần
Trong hệ thống ẩn danh,khi người mua rút tiền từ ngân hàng,ngân hàng xác nhận và phát hành ra đổng tiền mà không cần biết số seri thực của đồng tiền đó.Ngân hàng
sẽ không biết dược ai là người tiêu đồng tiền dó khi nhận nó về ‘kho’ của mình Do đó,yêu cầu dặt ra đối với hệ ihông thanh toán off-line mà đảm bảo tính ẩn danh của donc tien là ngàn hàng chỉ có thổ phát hiện chính xác người dã tiêu đồng tiền nào
đó khi người đó c ố tình tiêu đồng tiền đó 2 lần
1.3.4 C á c yêu cầu với hệ thòng thanh toán tiền m ặt điện tử
Với khái niệm tiền mặt điện tử , thay mặt cho đồng tiền thông thường cho các giao dịch thanh toán trên mạng Do đó,hình thức thanh toán tiền mặt điện tử có dược các
ưu điểm rấl lớn của thanh toán bằng tiền mặt thông thường,bôn cạnh đó,nó có được
ưu thế của việc thanh toán qua mạng
Do tiền mặt điện tứ bắt chước hình thức thanh toán bằng tiền mặt thông thường,nên
nó cũng phải có các yêu cáu như đối với đổng liền thông thường Tuy nhiên,do sử dụng hình thức thanh toán trên mạng,nó phải đảm bảo được yêu cầu “An toàn thông tin trên mạ ne”
Yêu cầu cùa liền mặt điện tứ khi thanh toán trên mạng công cộng đặt ra nhiều bài toán phức lạp.Thco Tatsuưki Okưmoto ,Ku:uo Ohta [8] thì tiền điện tử (c-cash) cần pliai có các ycu cấu sau ,là thuộc tính vốn có của tiền mặt thông thường :
Trang 16(a) Tinh dộc lập (indepedcnce) : Hệ thống hoạt động trên môi trường mạng công cộng Sự an toàn của đồng tiền diện tử không cần phải phụ thuộc vào hệ thống vật
lý nào.Đồnụ tiền có thế được ‘tiêu’ thông qua mạng cộng cộng
(b).Tính an toàn (Security) : Không ai có thể làm giả được ,việc tiêu tiền 2 lần sẽ bị phát hiện
(c)T ính riêng mf Privacy) : Đây là tính chất vốn có của tiền mặt thông tlurờng,không thể theo dõi dấu vết của đồng tiền được tiêu Quan hệ giữa khách hàng và dồng tiền được rút kông thể bị theo bởi bất kỳ ai (Ưntraceability) Nhưng trong hệ thống tiền điện tử,việc giả mạo đồng tiền chỉ đơn giản là sao chép dữ liộu,nên bên cạnh việc đảm bảo tính riêng tư,thì phải ngăn chặn được việc c ố tình
‘tiêu’ đồng tiền hai lần,hệ thống phải phát hiện ra kẻ cố tình làm giả đồng tiền
(Û).Thanh toán không trực tuyến (off-line payment) : Khi khách hàng trả đồng tiền cho cửa hàng,việc thanh toán được thực hiện không cần sự can thiệp của ngân hàng
Do dó,trong quá trình thanh toán,không cần thiết phải kết nối với ngân hàng
(e).Chityểit Ịịiao được (Transferability) : Đổim tiền có thể chuyển giao được mà không có sự tham gia cùa ngân hàng
( f).Phán chia dược (Dividability) : Một đổng tiền có mệnh giá lớn có thể được phân chia thành các đồng tiền mệnh giá nhỏ hơn trong quá trình thanh toán.Tổng giá trị các dồng tiền con phái bằng giá trị của đồng tiền lớn
Nũoài các thuộc tính chính dó,có thể có một số thuộc tính khác như : có khả năng thanh toán tại ngân hàng không phải là ngân hàns phát hành đồng tiền,có giá trị lâu dài,được thừa nhận rộng rãi,hệ thống thân thiện với người dùng
Tuy nhièn.trón thực tế khi xây dựnc: hệ thống thanh toán bằng tiền mặt điện tử,có thể hệ thống không đầy till các thuộc tính như với tiền mặt thông thưòng Nhìn
Trang 17chung,một hệ thống thanh toán tiền mạt điện tử cần phái có các yêu cầu chính như lính un loàn của hộ thống (b),tính ẩn danh của đồng tiền (c) và khả năng thanh loán off-line (e) V í dụ đối với hệ thống của Brands 11 2 ,1 4 1 đảm bảo được các ycu cầu (b,c.\cư) nhưng dồng tiền không có tính chuyển giao được (e),và có sử dụng card phân cứnc riêng biệt để đảm bảo an loàn.Hay với hệ thống thanh toán của Chaum 114|, dám bảo dược các yêu cầu (a,b,c,d) nhưng dồng tiền không cớ tính chuyển giao dược (e),phân chia được (f)
Với hệ thanh toán tiền mặt điện tử,tức là các thông tin được truyền qua mạng,thì ngoài các yêu cầu trên, hệ thống phải đảm báo được yêu cẩu an loàn yêu cầu "an
toàn thòng tin trên m ạng ”, có thể qui về các nội dung chính sau đây [2] :
Tính hi mật ,hay đảm báo sự kín đáo,riêng tư của thông tin
Tính xác thực của thông 1 in,bao gồm xác thực thông tin đối tác (nhận danh),xác thực thôns tin trao đổi
Tính toàn vẹn của thông tin : Đảm bảo thông tin không bị sai lệch qua kênh trao
Tính trách nhiệm : dảm bảo người gửi thông tin không thể thoái thác trách nhiệm về thông tin mình gửi
Tóm lại, để xây dựng được hệ thanh toán điện tử sử dụng tiền mặt điện tử phải đâm bảo các yêu cầu đã nêu trên Tức là phải đảm bảo các yâu cầu an toàn thông tin trên mạng và đồng tiền điện tử đảm bảo các thuộc tính vốn có của tiền mặt thông thườn ạ
1.3.5 Giải pháp cho các yêu cầu với hệ thanh toán tiền m ặt điện tử :
Như vạy,lừ khái niệm tiền mặt điện tử đến các yêu cầu của hệ thanh toán tiền điện
lử luôn luôn gắn liền các khái niệm như tính an toàn truyền tin trên mạng,tính bảo mậMính xác thực Từ đó,đưa ra giải pháp để xây dựng hệ thốne thanh toán sử dụng liền mật điện tử là ứng dụng các kết quả nghiên cứu về khoa học mật mã ,đặc biệt là lìệ mật mã khoá công khai
Trang 18P H Ẩ N 2
CÁC GIẢI PHÁP BẢO MẬT VÀ AN TỒN THƠNG TIN
CHO HỆ THANH TỐN TIEN MẶT ĐIỆN TỬ
2.1 C Á C KH ÁI N IỆM C ơ SỞ
Mậl Ìììã đã dược nghiên cứu và sử dụng rất lâu trong lịch sử lồi người.Tuy nhiên,chi vài chục năm gần dây,nĩ mới được nghiên cứu cơng khai và thu được nhiều kết qua,đặc biệt là trong lĩnh vực bảo mật và an tồn thơng tin trên mạng.Mơ hình thanh tốn sử dụng tiền điện tử là một tronu những thành quả của mật mã học hiện dại,đặc biệt là một mã học khố cơng khai Sau đây là một số khái niện cơ bản ứng dụng trực tiếp đến việc xây dựng một hệ thống tiền điện tử ứng dụng trong thanh tốn diện tử
2.1.1 Khái niệm m ã hố
Ta xem một thơng tin tlươc gọi là “bí mật” tức là nếu “phá” được bí mật đĩ địi hỏi một khối lượng tính tốn cực lớn (giả sử hàng triệu năm tính tốn trên máy tính mạnh),phức tạp đến mức “khơng thể giải được” trơn thực tế 111
Như vậy,mật mã học hiện đại gắn liền với độ phức tạp tính tốn Ta coi một hệ mật
mã là an tồn nếu nĩ địi hỏi một khối lượng tính tốn cực lớn đổ giải được nĩ nếu khơng cĩ khố giải mã
Hê mã mât khố dổi xứng
Trong hệ mã mật khố dối xứng, cĩ 2 thuật tốn đối xứng với khố bị mật k, Ek(M)
là bản mã hố của M , Dk(E k(M)) là bản giải mã Tất nhiên,Dk( E k(M)) = M Nếu khơng biết dược khố bí mật k ,thì việc giải mã là rất phức tạp ,cĩ thể khơng thực hiện được trong thực tế Hiện nay,hệ mật mã đối xứng như hệ DES vẫn được sử dụng rộng rãi trong mã hố và truyền tin bảo m ậ t
Hê mã mát khố cơng khai :
Một thành tựu mới trong mật mã hiện đại là hộ mã khố cơng khai,hệ dựa trên ý tướng tách riêng hai quá trình lập mã và giải mã với 2 khố riêng biệt (PK,SK) tu'ọiü ứng (khố CƠIÌU khai/khố b í m ật),khố cơng khai được sử dụng để mã hố thịim báo dược cơng bố cơng khai để mọi người đều cĩ thể mã hố Một thơng báo
Trang 19M được mã hoá thành E|,K(M).Nhưng chỉ duy nhủi một người có khoá bí mật mới có the uiái mã dược thông báo M = D SK(E|.K( M ) )
Vổ cơ bán,hệ mã hoá khoá công khai được sử dụng không chỉ để mã hoá,nó còn dược sir dụng như một mô hình chữ ký điện tử, khi một người mã hoá thông báo với khoá bí mật của người đó thì cũng có thể coi đó là chữ ký của người dó trên thông báo, người khác có thể kiổm Ihử chữ ký bằng cách giải mã với khoá công khai
Cơ sứ dể có được hệ mã mật khoá công khai là dựa vào lý thuyết số học của “hàm một phía” hay “hàm của lạt một phía”
2 1 2 Một sô khái niệm về lý thuyết sỏ
• Phún tử sinh và logarit rời rạc
Cho II nguyên dương,tập các số nguyên dương nhỏ hơn n và nguyên tố với n lập thành một nhóm với phép nhân mod n,ký hiệu là z * n ,có sô' phần tử là tỊ)(n)
Định nghĩa : z ‘ „ = I X I x e Zn ,gcd(x,n) = 1 Ị , I z * n I = ệ (n)
Một phẩn tử g e z * n có cấp m ,nếu m là số nguyôn dương bé nhất sao cho gm= l trong z ’„
Nếu p là số nguyên tố,thì mọi g nguycn tô' với p ta có g(p l) = 1 (mod p) (1)
Nếu g có cấp (p-1) ,thì các phần tử g,g\ ,g(p' l> đều khác nhau và lập thành z*p khi
dó g được gọi là phần tử sinh của z*„.
Trang 202.1.3 Một sô vân (lề liên quan quan đến lý thuvết số :
(Number-Theoretic Reference Problems)
Tronc thực te,một vấn de được gọi là khó hoặc không giải được nếu khó hoặc khône thổ tìm được lời giải hợp lý trong thời gian chấp nhận được.Đối với bài toán trong lý (huyết số,dược coi là ‘dễ’ hoặc ‘giải được’ nếu có thuật toán thời gian tính toán là đa thức giải I1Ó Nếu bài toán dược coi là khó nếu không có một thuật toán trong thời gian đa thức nào giải được nó với mọi dữ kiện của bài toán Độ an toàn của các bài toán mật mã khoá công khai chủ yếu dựa trên khái niệm “khó” về độ phức tạp tính toán của một số vấn dề lý thuyết sô sau đây Thực tế chưa có một chứng minh cụ thể về tính phức tạp của các vấn đề này nhưng nó được thừa nhận rộng rãi và làm cơ sở toán học cho các vấn đề mã hoá công khai sau này
FA CTO RIN G Phân tích n thành tích của các thừa số nguyên tố
Cho số n nguyên dương,tìm các thừa số nguyôn tố sao cho có thể phân tích n = P|cl p2e2 pkck với các gcd(pj Pj ) =1 vàcác ej > 1
n là tích của hai sô' nguyên tố lẻ khác nhau p và q bí mật
<ị>(n) = ( p - l) * ( q - l) Số nguyên dương e với gcđ(e,<Ị)(n))=l Vấn đề đặt ra là tìm nghịch đảo d (mod n) của e, tức là tìm d sao cho d*e = 1 (mod ộ(n)) khi chỉ biết n và e
DLP
!
Giải bài toán logarit rời rạc (Discrete Logarithm problem) Cho số nguyên tố p,phần tử nguyên thuỷ a € Zị,\ Cho số (3 € z,,\ Tìm X , p-2 > x> 0 sao cho a x = p mod p
Bang 2.1 Các vấn đề liên quan đến lý thuyết số
Độ phức tạp của việc giải các vấn đề của lý thuyết số trên làm cơ sở an toàn cho một sò' hộ mã mật khoá công khai.Ví dụ RSA P làm cơ sở cho tính an toàn của hệ
Trang 21mã mậl RSA Với (e,n )là khoá công khai và d là khoá bí mật DLP là cơ sở cho tính ;m toàn trong hệ inật mã tương tự ElGamal và một số sơ đổ chữ ký điện tir 11 ị Trong nhiều hệ thống thanh toán điện tử đã được nghiên cứu trước đây,như hệ thống Diciuil Cash của S.Brands 113| ,tính an toàn của hệ thống cũng dựa vào độ phức tạp cua vân để DLP Hệ thống sử dụng tiền mặt diên tử được nêu đến trong phán 3 có tính an toàn dựa vào các vấn dề RSA P và DLP
2.1.4.H àm một phía (One way function)
Hàm f từ tập X đến tập Y được gọi là hàm một phía nếu biết X ,dễ dàng tính được
y =f(x ),n h ư n e naược lại,nếu biết y thuộc Y ,tìm X sao cho f(x )= y ,h a y x = f ' '(y) là rất khó ỉ làm f là hàm cửa sập một phía nếu nó là hàm một phía,nhưng có chốt cửa sập
7 , sao cho nếu biết z,thì việc tính X = f ‘z(y) là dễ,còn nếu khổng biết z,thì tính
x = f ' ( y ) rất khó Khó là đòi hỏi khối lượng tính toán rất lớn,không vượt qua nổi trong thực tế
Thí dụ vé hàm một phía :
• Cho p là số nguyên tố rất lớn, g là phần tử nguyên thuỷ (mod p) (phần tử sinh
có câp (p-l)),hàm f(x) = gx (mod p) là hàm một phía , tính y = gx (mod p) dễ , nhưng tính ngược thì lù một bài toán rất khó,đối với các thuật toán hiện nay đòi hỏi độ phức lạp tính toán cỡ : 0(exp(lnp.lnlnp)l/2) Đây là hàm một phía xây dựng trên cơ sở vấn đề bài toán logarit rời rạc (DLP)
Gia SỪ p là số nguyên tố có độ dài cỡ 2 00 chữ số , thì khối lượng tính toán trên đòi hỏi 1 máy tính tốc độ 1 tỷ phép tính/giây làm việc không nghỉ trên 3000 năm
Đây là hàm ứns dụng trong hệ mã khoá công khai Diffie-Hellman và nhiều ứng dụng trong các mô hình chữ ký điện tử,vói X được coi như khoá bí mật
• V í dụ này cơ sở dựa trên vấn đề RSA (RSAP) ,giả sử n = p.q là tích của hai số nguyên tố lớn , e là một số nguyên tố với ệ(n) (ộ(n) = (p -1 )(q -1 » Nếu biết haithừa số p,q dỗ tính được d sao cho d.e=l (mod <Ị> (n)) Hàm y = f(x )= x e (mod n)
€V ' "Ọ - ' •
lT>t lK> <K ị ĩ v>
Trang 22là hàm một phía , vì nếu chi biết y và n,tính X là rất khó , đòi hỏi khối lượng lính toán cỡO (exp(lnp lnlnn)l/2)
Tuy nhiên ,nếu biết cl (hay biết hai thừa số p,q thì cũng dễ dàng tính được d) thì
từ y,ta tính clược ra X là khá dẻ ,vì yd = xcd = X (mod n ) Như vậy.hàm f(x) như trên được gọi là hàm cửa sập một phía,với d là chôì cửa sập
i ỉàm trên được sử dụng trong hệ mã khoá cồng khai RSA,với e như khoá công khai và (1 như khoá bí mật Ngoài ra,nó còn ứng dụng nhiểu trong mô hình chữ
ký khác
2.1.5 H àm băm
Chữ ký trôn một văn bủn điện tử thường có độ dài tương đương với văn bản gốc.Vậy muốn có chữ ký có độ dài cố định trên văn bản dài tuỳ ý,ta phải ký trên đại diện của vãn bản đó,thường gọi là digest văn bản,bằng cách sử dụng hàm băm
Hàm băm h ,tác động lên vãn bản m tạo ra digest văn bản có độ dài cố định
7. = h(m) , z dược coi là đại diện cho văn bản m thì hàm băm h phải thoả mãn điều kiện sau : Hàm li phải là hàm một phía và không va chạm mạnh
Hàm h được gọi là không va chạm mạnh nếu rất khó tìm được các văn bản
m < > m ’ mà h(m) = h(m ’)
Hàm h phải là hàm một phía tức là rất khó biết được m t ừ h ( m )
“ rất khó” ở đây thể hiện độ phức tạp tính toán,đòi hỏi một khối lượng tính toán rất lớn
Như vậy,độ phức tạp ở đây phụ thuộc vào chiều dài của digest Người ta có thể chứng minh nếu có n digest, và k % V 2n ln( 1/1 -e) ,thì trong k văn bản ngẫu nhiên
có ít nhất 1 va chạm mạnh với xác suất £
Nếu ta lấy độ dài digest 4 0 bit , n =240 thì cứ k « 2 20 (khoảng ] triệu) văn bản sẽ có một va chạm mạnh với xác suất e = 1/2 Như vậy,độ an toàn để đảm bảo tính không va chạm mạnh cùa hàm băm phụ thuộc vào chiều dài digcst.do đó trong sơ
đổ chữ ký DSS,nẹười ta chọn độ dài digest là 160 bit
Một số hàm hăm thons dụng là RSA MD5 với 128 bit digest,NIST’s SHA-1 với 160 bit digest.(Chi liốt hàm băm xcm tài liệu Ị3] )
Trang 232 2 : C Á C G IA O T H Ứ C V Ể BẢO M Ậ T VÀ AN TOÀN TH Ô N G TIN :
2.2.1 : (ỉiao thức truyền tin bảo m ật
truyền till bảo mật tức là thông tin được truyền một cách an toàn trên mạng ,chỉ có naười có khoá giải mã bí mật mới có thổ đọc được nội dung của thông tin
Trong lý thuyết truyền tin bảo mật cổ điển ,hai người muốn truyền tin bí mật cho nhau phái thoả thuận một khoá mật mã chung K, K vừa là khoá lập mã cho thuật toán lập mã E và vừa là thuật toán giải mã cho thuật toán giải mã D
V í dụ trong truyền tin bảo mật sử dụng khoá đối xứng (hình 2.2),Giữa Alice và Bob
có một kcnh bí mật để trao đổi khoá bí mật (hoặc thoả thuận trước khoá K) và kênh công cộng để truyền tin Chỉ có Bob có klioá bí mật mới có thể giải mã thông tin trên dường truyền Alice gửi bí mật cho Bob thông tin M, Alice mã hoá bản mã
C = Ek(M ) và gửi cho Bob Bob giải mã lấy được thông tin thật bằng cách tính
M = Dk(C) = Dk(Ek(M))
Hình 2.2 : Truyền tin bả o mật bằng thuật toán khoá đối xứng
Ngày nay,lruyền tin báo mật sử dụng mật mã khoá đồi xứng được sử dụng khá rộng rãi trong thực tế, vì ưu điểm của phương pháp này là tốc độ mã hoá nhanh và độ đảm bao an toàn cao Thực tế người ta gắn các thuật toán mã hoá vào trong thiết bị phần cứniỊ làm nhiệm vụ mã hoá và giải mã ở hai đầu đường truyền Ta gọi nó là ECB (Encryption Control Box) ,các thông tin khi đi thiết bị này được tnã hoá ở đầu này và ciiii mã ở đầu bên kia đường truyền
Trang 24Tronü Iruyền till ,inật mã khoá công khai cũne được sử dụng để truyền tin bảo mật
V í dụ trong hình 2 3 ,Bob có cặp khoá (e,d) với e là khoá công khai,đ là khoá bí
m ật.Bob gửi khoá lộp mã c đến cho Alice , Alice có thể gửi thông báo mật đến cho Bob báng cách mã hoá thônẹ báo m thành thông báo mật c = Ee(m) Bob sử dụng khoá bí mật d của mình để giải mã thông tin được Ihông tin thật m = D(|{c)
Điểm khác biệt trong truyền tin bảo mật khoá công khai là mã khoá e dược truyền cône khai, nên nhiều người có thể truyền tin bí mật đến cho Bob,nhưng chỉ duy nhất Bob có khoá giải mã bí mật d mới có thể giải mã được cấc thổng tin đó -Đây chính là cơ sở cho các vấn đề phàn phối và thoả thuận khoá trong các hệ truyền tin bảo mật
Rất clc nhận thấy dặc điểm của hệ mã khoá cônc khai khác hệ mã đỗi xứng ở chỗ rất nhiều người có thể mã hoá thông tin truyền đến cho người nhộn,nhưng chỉ
người nhận có khoá bí mật mới giải mã được Như vậy,nếu lật ngược lại bài toán
bảo mật,ta sẽ có bài toán xác nhận như sau : Nếu Bob muốn chứng minh cho mọi người một thông tin đúng là của mình ,anh ta có thể dùng khoá bí mật d của mình
để xác nhận thông tin đó,và gửi thông tin đó lên mạng Người nhận được sẽ xác nhận dược thông till đó là đúng của Bob khi sử dụng khoá công khai c Như vậy,mật mã khoá công khai là cơ sở cho các vấn dề xác nhận và chữ ký điện tử ,đây
là va tic rất quan trọng tronc giao dịch điện tử nói chung
Alice Bob
Hình 2.3 Truyền tin b ã o mật íIùiiíỊ m ã khoá công khai
Trang 252 2 2 Giao thức xác nhận và chữ ký điện tử :
Có nhiều loại bài toán xác nhận,xác nhận đối tác ,xác nhận một văn bản quả thực
là của người dối lác,xác nhận tính toàn vẹn của một văn bản,xác nhận chữ ký điện
lử đúng là cùa đối tác trên một văn bản điện tử v ề cơ bán,cơ sở để hình thành giai pháp cho các bài toán xấc nhận là mật mã khoá công khai,việc tách riêng quá trình lặp mã và giải mã thông qua khoá bí một và khoá cõng khai không những dáp
ứng dược nhu cầu phân phối khoá trên m ạn g ,mà CÒI1 dáp ứng dược yêu cầu củ a
một số bài toán rất quan trọng trong giao dịch trên mạng như bài toán xác nhận và chữ ký điện tử
X á c nhận về cư bản đối ngẫu với bảo mật Trong bảo một, mọi người có thể dùng khoá cône khai để mã hoá và chì có một người có khoá bí mật có thế giải mã được thông báo Còn với bài toán xác nhận thì ngược lại, chí duy nhất người có khoá bí mật có thể xác nhận một thông tin nào đó đúng là của mình,và mọi người khác có thể kicm tra tính xác thực (kiểm tra thông tin đó đúng là của người có khoá mật) bằng khoá công khai của người đó
Giả sử A có khoá công khai e,khoá bí mật d ,với thuật toán lập mã E ,thuật toán giải
mã D.Giả sử có đối tác (B) muốn gửi bí mật thông báo M đến A Khi đó B lập mã E(e,M ) và gửi đến A Với khoá d bí mật,chí có A mới giải dược D (d,E(e,M ))=M Bây uiờ ngược lại,nếu A muốn gửi đến cho B thons báo M và muốn B xác nhận M đúng là thông háo của A gửi tới Trong trường hợp này,A gửi đến cho B cặp (M ,D (đ.M )) Khi nhận được, B sé thử lại E(e,D (d,M ))==M thì chấp nhận thông báo
M đúng là của A ,vì chi có A mới có khoá bí mật d (chú ý D(d, ) và E (c,.) là hai hàm ngược nhau,” = = “là ký hiệu toán học của phép kiểm thử )
D(cl,M) theo một nghĩa nào đó có thổ được coi như chữ ký điện tử của A trên văn bản M Tuy nhiên,trên thực tế,mồ hình chữ ký có thể được thực hiện tinh tế hơn V í
dụ người ta có thể ký trên dại diện của văn bản với độ dài cố định bằng cách ký trên dùng các hàm băm để tính ra đại diện vãn bản rồi ký trên đại diện đó
Nói chung,một sơ đổ chữ ký điện tử bao gồm một thuật toán dùng để ký và một thuật toán dùng để kiểm thử chữ ký Trong trường hợp đơn giản,giao thức ký và kiểm thư chữ ký có thổ là việc thực hiện kiểm tra một công thức Tuy nhiên, trong trườnÜ hợp phức tạp hơn ,nếu người gửi c ố tình chối bỏ chữ ký của mình thì giao
Trang 26thức buộc anil ta phái công nhận trách nhicm đối với chữ ký của mình bằng một vài dòng đối thoại
Gia sứ ngân hàng B có khoá công khai PKB và khoá bí mật S K B ,một thuật toán ký SIG SK|jdùng khoá bí mật để ký văn bản và có thuật toán VER|,KB công khai để mọi người có thể kiểm thử chữ ký Chữ ký của B trên văn bản M [à SIGSK|ị(M), khách hàng có thể kiểm thử lại chữ ký bàng cách kiểm tra M = = V E Rpkb(SIGskb(M )) ,nếu đúng thì chấp nhận chữ ký của ngân hàng
Mộl sơ đồ chữ ký như trên có thể được áp dụng trong quá trình ngán hàng phát hành ra đồng tiền của mình Thông báo M được coi như số seri đồng tiền, SIGskb(M ) là chữ ký của ngân hàng khi phát hành đồng tiền Cặp (M, SIGskb(M)) tổng quát có thể coi là đồng tiền điện tử.Tất nhiên,một đòng tiền điện tử thực sự ngoài chữ ký ngân hàng ra còn phải chứa nhiều thông tin khác,như ẩn thông tin về người sir dụng đồng tiền,thông tin về phiên thanh toán Mọi người có thể kiểm thử lính đúng đắn của đồng tiền bàng cách kiểm thử chữ ký ngân hàng (M = = VERpK|ị(SIGSKB(M )))
• S ơ đồ ch ữ ký RSA
Mộl ví dụ vé sơ đổ chừ ký điện tử được sử dụng rộng rãi trong thực tế là sơ đồ chữ
ký sô RSA (Do Rivest-Shamir-Adleman để xuất ) và áp dụng sơ đồ này cho một hệ thống thanh loán đơn giản Tính an toàn của sơ đồ này phụ thuộc vào độ phức tạp của việc ciải vấn đề RSA (RSA P) đã nêu trên
Ngân hàng B khởi tạo hệ thống với n là tích của hai số nguyên tố lớn p và
q bí mật Đặt ệ(n) = (p -1 )(q -1 )
K ’ ’ = |e G Z * N } là khoá công khai cùng với n ,giúp người dùng có thể kiểm thử chữ k ý K ’= |d ) là khoá bí mật ,với e.d = 1 (mod ệ ( n ) )
A muốn có chữ ký của B trên văn bản M, A gửi M đến cho B
Chữ ký của B : SIG K-(M) = M d (inocl n)
Đê kiếm thử chừ ký đúng là của B ,A sử dụng thuật toán
V E Rk (M, SIGk.(M)) = đúng o M = (SIGK-(M))C mod N = (M (l)° (mod n)
Trang 272.2.3 Chữ ký mù (Blind Signature)
2.2 J I Định nghĩa
Sơ đổ chữ ký mù được phát kiến bởi Chaum 118J nhàm mục đích bảo vệ quyền riêng lư của khách hàng.Khách hàng A rút tiền lừ ngân hàng,A tạo ra một số đóng vai trò như số seri đồng tiền mình định rút,gửi đến cho ngân hàng,nhưng A không muốn tiết lộ số seri đó cho ngân hàng biết (che dấu quá trình thanh toán của mình),
A làm mù lliổng tin đó trước khi gửi đến ngân hàng.Sau đó A phải lấy lại được chữ
ký của ngàn hàng trên số seri thực để phục vụ việc thanh toán
Nếu A muốn có chữ ký của B ký trên văn bản nhưng không muốn tiết lộ nội đung cùa vãn bản A xây dựng 2 hàm
Hàm F(.) : là hàm làm mù văn bản theo một nhân tố ngẫu nhiên nào đó,đảm bảo giá
trị ra không tiết lộ bất kỳ thông tin thật của văn bản
Hàm G(.) : là hàm xoá mù,để nhận được chữ ký trên văn bản thật
A tạo ra một nhân tố ngẫu nhiên p , làm mù vãn bản bằng cách thay văn bản Mbằng M ’ = F(M, p) và gửi M ’ cho B B ký trên M ’ và trả lại SIGskb( M ’) cho A,niặc dù B không biết được nội dung thật của M A sau khi nhận được chữ ký, xóa mù để được chữ ký trên văn bản thật :
SIGskb(M) = G(SIGskb(M ’), p)
Với chữ ký mù,khách hàng bcn cạnh vấn đề lấy được xác nhận của ngân hàng trên đồng liền của mình,khách hàng còn có thể chc giấu thông tin về đổng tiền đó với ngùn hàns Ngân hàng không biết dược số seri thật của đồng tiền mình phát hành,ncn sau này,khi người nào đó gửi lại đổng tiền này vào ‘ kho’ của ngân hàns,ngân hàng không biết dược ai đã tiêu nó Giao thức này đảm bảo được tính liêng tư (c) của đồng tiền
2.2.3.2 Sơ đ ồ chữ ký I 11 Ù RSA [5,18]
Sau dây ta xót một ví dụ sơ đổ chữ ký mù RSA, được ứng dụng trong nhiều hệ thống thanh toán điện tử
+ Khởi tạo :
Trang 28Ngán hàng B khởi tạo hệ thông với khoá công khai K' = (n,c) và khoá hí mật
K = d Trong dó,n = p.q (p,q là 2 số nguyên tố lớn mà ngân hàng giữ bí mật),
e € Z * N , <i=e 1 (mod ệ(n))
+ Thuật toán ký
A muốn có chữ ký của B trên vãn bản M,thực hiện các bước sau :
bước 1 : A tạo ngẫu nhiên số p thuộc z * n , tính M ’ = F(M, p) = pcM,gửi M ’ cho B bước 2 : B cỉùng khoa bí mật của mình ký trên M ’ chừ ký (pcM )(i = pMd ,gửi cho A bước 3 :A có được chữ ký của B trên M bằng cách chia cho p :
ỈVT1 = p - ‘(pM d)
B không biết p ,nên không thể biết gì về thông tin thật của M
+ Thuậl toán kiểm thử chữ ký :
Sau khi xoá mù trên chứ ký của ngân hàng,A có cặp (M, SIGK (M )) là chữ ký trẻen vãn bản, có thể kiểm thử bằng cách tính :
V E Rk(M, SIGk.(M)) = đúng « M = = (SIGK.(M))° (mod n) = (M đr (mod n)
2 2 4 Giao thức chứng minh không để lộ tri thức :
Chứne minh không lộ tri thức (Zero-knowlcdce proofs) là giao thức sử dụng khi người gửi muốn đối tác tin vào một điều nào đó,nhưng ngoài diều đó ra,đối tác khône thổ khai thác một thông tin nào khác
Trong một ví dụ đơn giản,khi khách hàng u thanh loán cho V đồng liền (M ,SIG(M )), trong đó M là số seri của đồng tiển,SIG(M) là chữ ký của ngân hàng
V chấp nhận đổng tiền khi hoàn thành giao thức kiểm thử chữ ký của ngân hàng trên đồng tiền của u Trong hệ thống off-line,trong quá trình thanh toán không có
sự tham gia của ngân hàng, V sẽ gửi đồng tiền mình nhận được đến ngân hàng sau khi dã hoàn thành xong thử tục thanh toán.Nhưng khi V gửi đồng tiền đó đến cho neân hàng, ngân hàng đã thấy đồng tiền đó trong ‘kho’ của mình,có nghĩa là u đã tiêu đồng tiền đó tại một cửa hàng V ’ nào đó trước đó Vạy nếu số liệu về đồng tiền khỏ ne bao gồm một thôna tin nào của u,thì ngân hàng khôna thể điều tra được U là
kc íiiả mạo tiêu tiền 2 lần Nhưng nếu trong số liệu đổng tiền có chứa cả thông tin của II,t h ì không đảm bảo được tính ẩn danh của đổng liền
Trang 29Giao thức chứng minh không để [ộ tri thức dược ứng dụng trong trườn í! hợp này,khi
V muốn chứng minh với đối tác một đồng liền là ‘hợp pháp’ của mình, mà không muốn tiết lộ thông tin khác (như thông tin về bản thím ) cho đối tác biết, làm sao để dối lác kiểm lliử dược đúng thông tin mà u muốn chứng minh ,mà không cần phải biết clirợc các thông till khác
2.2.4.1 Phưưng thức ' C ut and Choose' [5,14,18]
Trên tlụrc tế, dồng tiền điện tử thực chất là dãy các bít ,nên nó có thể dễ dàng bị sao chép một cách bất hợp pháp
Nhất là tron a hệ thống thanh toán off-line với giao thức chữ ký mù ,cho phép khách hàng rút liền ẩn thông tin của đồng tiền,ngân hàng ký trên đồng tiền mà không hề biết thông tin gì về đồng tiền đó ,có thể xảy ra trường hợp khách hàng c ố tình giả mạo,liêu cùng một đổng tiền đó trong 2 (hoặc nhiều) lẩn
Để tránh trường hợp đó, khi u muốn rút tiền tại ngân hàng,ngân hàng yêu cầu u phải dưa vào trong bản thân đồng tiền một số thông tin về mình.Đảm bảo sao cho với một lần ciao dịch (tức u tiêu đổng tiền đúng luật) thì không thể tiết lộ bất kỳ thông till gì cua u,nhưng với hai thông tin trong 2 lẩn thanh toán khác nhau cùng một đổng liền ,ngân hàng sẽ phát hiện được ra u
Phương thức ‘Cut and Choose ’ dược Chaum đề xuất và thực hiện trong sơ đồ của mình.Tính an toàn của nó dựa trên cơ sở chữ ký mù RSA (RSA blind signature),phương thức này phòng tránh vấn đề tiêu hai lần bằng cách khi khách hàng u muốn rút tiên tại ngân hàng B , anh ta phải thực hiện các bước sau :
Bước! : u tạo ra đồng tiền seri m ,đồng thời phải tạo ra N cặp số ( X i j i ) sao cho ứng
với mỗi cặp,nếu chỉ biết X, hoặc y, thì không tiết lộ thône tin gì của u,nhưng nếu biết cả ( X j , y j ) thì có thể tìm dược u .u làm mù đồng tiền rồi gửi cho B để ký
V í d ụ , v ớ i 'à ị n g ẫ u n h i ê n , t ạ o X; = a, , Ỵj = < i n f o > © c\j
Trang 30Trong đó ,<info> chứa thông tin về u (chứa thông tin riêng của u như số
ID và thông tin về dồng t i ề n ) Khi không biết íij thì không tìm được <in fo > Khi biết cả (x,,y,) với i e [ 1 NI ,thì tìm dược :
<info> = a j® (<in fo > © Hj) là thông tin về u
Bước 2 : Khi u thanh toán đổng tiền cho V , V gửi cho u một dãy N bít ngẫu Iihicn
tv = { 0 , 1 } N , ứng với mỗi bít thứ i là 0 hoặc l , u gửi cho V số thứ nhất Xị hay số thứ hai ỵ, trong cặp (Xj.Yi) thứ i N được coi như là tham số an toàn (security parameter) Như vậy,với mỗi dãy tv = (0,1 } N được sinh ngẫu nhiên trong hai lần thanh toán khác nhau trùng hoàn toàn nhau với sác xuất
£ 1 /2 N , s phải đủ nhỏ để đảm bảo 2 lần thanh toán khác nhau sinh ra haidãy ngẫu nhiên ít nhất có 1 bít ở vị trí nào đó có giá trị khác nhau Giả sử
ta chọn N = 4 0 bít, thì e 1/10' 2
Bước 3 : V gửi đổng tiền có số seri m,dãy bít ngẫu nhiên tv và tập N số nhận được
từ u cho ngân hàng.Nếu ngân hàng kiểm tra trong dữ liệu đã tồn tại đồng tiền có số seri đó (tức là đã được ticu) ,thì nsân hàng kiểm tra trong dữ liệu ứng với dãy ngẫu nhiên tv và dãy mới nhộn được tv ,nếu có bit thứ i khác nhau, ngân hàng sẽ có được cập (Xị,yi) đầy đủ Ta tính được
< in fo > = x , © ( Ỵ i ), như vậy sẽ tìm được u
Phương thức ‘Cut and Choose’ là một giao thức chứng minh không lộ tri thức,trong quá trinh rút tiền,u gán vào đồng tiền mình rút một thông tin ‘ẩn’, trong quá trình thanh toán, V bắt u phải “chứng mình” tính đúng đắn cùa đồng tiền ,nhưng không làm lộ thông tin cúa u Thông tin của u chỉ bị lộ khi Ư cố tình giả mạo tiêu đồng tiền đó trong hai lần thanh toán khác nhau Mô hình trên tuy đảm bảo được tính riẽntĩ tư của khách hàng,ngãn chặn được việc tiêu tiền 2 lần,nhưng có rất nhiẻu nhược điểm,và còn rất xa với thực tế.Kích thước lưu trữ cho một đồng tiền quá lớn (mỗi đồnẹ lien cần phải có N cặp số ,với N đủ lớn để hai dãy N bít ngẫu nhiên trùng khớp nhau hoàn toàn với xác xuất s rất nhỏ ).Mặt khác,dữ liệu luân chuyển cho mỗi iiiao dịch (hanh loán quá lớn (theo kích ihước đồng tiền).Trong thực lế.kích thirớc
Trang 31dữ liệu Iruyổn trôn mạng trong (hủ tục rút lien,hoặc thanh toán lớn hơn vài trăm lần kich thước của chữ ký RSA.
2.2A.2 (ỉia o thức Schnoor [5,12,13,14,17]
Sau dãy chúng ta xét đến giao thức của Schnoor,đó là giao thức xác nhận và sơ đồ chữ ký cứa Schnoor,mà tính an toàn của chúng dựa trên độ phức tạp của vấn để giải hài toán logarit rời rạc (DLP)
Trong giao thức Schnoor,với mỗi yêu cầu xác nhận hay yêu cầu ký trên văn bản,người dùng gán vào đó một cách bí mật thông tin mật của mình.Trong mỗi phiên giao dịch,sẽ yêu cầu có một cặp khoá phiên (bí mật/công khai) khác nhau tương ứng với một số ngẫu nhiên khác nhau (challege) được coi như số hiệu của phiên giao dịch.Nếu người dùng sử dụng chung một khoá phiên cho 2 lần giao dịch khác nhau (với 2 challenge) khác nhau,thì sẽ làm tiết lộ thông tin mật của mình Sau đây ta xct giao thức xác nhận và sơ đổ chữ ký Schnoor :
Các thông tin chung :
Hệ (hống chia sẻ thông tin công khai bao gồm (p,q,g) Trong đó p,q là 2 số nguyên lố lớn dể bài toán logarit rời rạc trên Zp là khó,q là ước số của (p-1) ( ký hiệu q|(p-1 )) và g là phần tử nguyên thuý cấp q trong trường Zp* (có gq =
I mod p , g * l ) H là hàm băm không va chạm mạnh có giá trị ra thuộc Zq Khới tạo cặp khoá :
Đô khởi tạo cặp mã khoá (bí mật/công khai), u chọn ngẫu nhiên một số s (được coi như khoá hí mật của u , 0 < s < q ) ,sau đó Ư tính khoá công khai V như sau : v:= gs (mod p)
/ Giao thức xác nhận Schnoor (Schnoor-Authentication) (2.1)
u muốn V xác nhận Ihông tin của mình là đúng, u và V thực hiện các bước:
Bước I : l í chọn ngẫu nhiên số y e z * q ,được coi như khoá phiôn,giữ bí mật,gửi
x := g mod p cho V
Trang 32Bước 2: V tạo ngầu nhiên một số c e z 2n (challenge) ,với n là tham số an toàn,n đủ
lớn để độ dài của ‘challenge’ đủ lớn để không trùng nhau trong mỗi phiên giao địch.v gửi c cho u
Bước 3: u tính w = cs + 7 mod CỊ ,gửi cho V
Bước 4: V kiểm thử và chấp nhận nếu g " V 1 (mod q) = = X
V có thể kiêm thử dược thông tin của phiên giao dịch này là đúng của u vì chỉ có
u mới cỏ khoá bí mật s,và khoá phiên bí một Ỵ
u muôn kỷ trên văn bán M
Bước I : Để ký văn bản M, Ư chọn ngẫu nhiên số y € z * q , giữ bí mật và tính :
x := g ''mod p c:=H (M , x) y:=(y +sc) mod q Bước 2 : Chữ ký trôn văn bản M sẽ là cặp :
(x ,y )= (g Ymod p,(y + sc) mod q)
Kiểm thử chữ kỷ :
Đ ê kiểm thử chữ ký (x,y) trên văn bản M, người kiểm thử V tính
c=H (M ,x)
k iể m tra g y = = XVe
nếu đúng thì chấp nhận chữ ký của u,bởi chí có Ư mới có khoá bí mật s
Tính chất sơ đồ chữ kỷ Schnoor :
Cặp (y , g Y mod p) được coi như khoá phiên của phiên giao dịch,nó chí được sử dụng duy nhát mỗi lần ký.Nếu muốn ký văn bản mới thì phai có khoá phiên mới
Có hai lính chất của sơ đồ như sau :
+K h oá phicn có thể dược sử dụng không trực luyến,nó dược tạo ra trước lúc vãn bản dược ký , g •' dược coi nhưkhoá công khai của phiên giao dịch dó
+NỐU sử dụne chung một khóa phiên cho 2 lần ký khác nhau,thì bí mật của sư đồ Schnoor sẽ bị phá,có nghĩa là khoá bí mật của người dùng sẽ bị lộ
Trang 33Gia sử dùng chung ỉ khoá phiên (y,u y mod p) để ký cho 2 vãn bản M ,M ’ khác nhau.Vì H là hàm băm không va chạm mạnh ,nên với 2 văn bản khác nhau M l *
Giao thức xác nhận và sơ đồ chữ ký Schnoor ở trên là hình thức chứng minh không
để lộ tri thức, khi IJ muốn V tin vào thông tin của mình bằng cách V có thể kiểm thử dược thông tin đem lại từ Ư bằng khoá công khai của u,và biết chắc chắn vào ihông till đó là của u vì chi duy nhất ư biết khoá bí mật s Sau đây ta sẽ trình bầy ứng dune của nó trong hệ thanh toán tiền mặt điện tử
2.2.5 : ứ n g dụng các giao thức
Ở các phần trên,ta đã lần lượt xét đến các giao thức về chữ ký điện tử,chữ ký mù và các giao thức chứng minh không để ỉộ tri thức Trong các phần 2.2.3 trình bầy về siao thức chữ ký mù RSA (RSA Blind Signature) và phần 2.2.4 trình báy về giao thức xác nhận của Schnoor (Schnoor Authentication)
Bây ũiò' la kết hợp các giao thức này để xây dựng hệ thống hệ thống thanh toán tiền mặt diện tử off-line Khi khách hàng rút tiền,ngân hàng xác nhận đồng tiền không cần biết chính xác số seri đồng tiền đó (Blind signature),sau đó khách hàng phải kết hợp một số thông till mật của mình vào đồng tiền trong quá trình thanh toán để chứng mình tính đúng đắn của đổng tiền (sử dụng Schnoor Authentication) Với một đồng tiền chí tiêu duy nhất một lần,thì ngân hàng không điều tra được ai là người tiêu đổnu tiền đó Nhưng nếu khách hàng cố tình tiêu một đồng tiền hai lần (Double Spending) ,ngân hàng sẽ phát hiện ra khách hàng đó nhờ cấu trúc của đồng lien Hong hai lần tiêu đỏ
Có tlìểm ô tá quít trình như sau
Trang 34Mo hình tons quát :
l lệ thống dược khới tạo với 3 bên ,ncân hàng B có khoá bí mật SK tương ứng vớikhoá công khai PK.Khách hàng u,cửa hàng V
Rút riè/ì : u nì uốn rút tiền tại ngân lỉànq B
Đô rút tién,u gửi đến cho ngân hàng B số thônc báo m được coi như số seri dồng tiền (có thể làm mù thông báo ni bằng một nhân tố ngẫu nhiên ,để ncân hàng không biết dược thône tin về ni).Ngân hàng trả lại khách hàng chữ ký trcn IÌ1 : SIGSK(m)
Trá liền : u trả tiền cho V
1 u gửi (m,SIGSK(m)) cho V
2 V kiểm tra SIG SK(m) đúng là chữ ký của ngân hàng,chọn ngẫu nhiên một
số challenge a ,đảm bảo không trùng với các phiên thanh toán trước đó,gửi cho u
3 ứ n g vói nhân tố ngẫu nhiên a ,u trả lời bằng Y (có kết hợp trong đó thông tin vé U) Đảm bảo vói một bộ (m,a,Ỵ ) duy nhất, không thể khai thác được Ihông lin về u Nhưng với 2 bộ (m ,al,yl ) và (m,a2,y2 ) ,tức là u tiêu cùng đồng tiền m 2 lần,thì từ 2 cặp ( a l,y i) và (a2,y2) có thể biết được thông tin về u
m,SIG(m)
Kiểm Ira SIG (m ) là chữ ký đúng Chọn yêu cẩu a duy nhất với mỗi phiên thanh toán
Trang 35Gửi tien :
V gửi dồng liền nhận dược lừ u đến ngân hàng,kèm theo cặp (a,y ) , ngân hàng B kiổm tra trong tlữ liệu,nếu thấy m đã được sử dụng,thì căn cứ vào cặp (a\y ’ ) trong dữ liệu của mình với cặp (a,y ) V vừa gửi,có thể tìm ra dược Ư
Với mô hình trên,ứne dụng sơ đồ chữ ký mù RSA và sơ đồ xác nhận Schnoor,kết hợp một thông tin bí mật của khách hàng trong cấu trúc đồng tiền để ngãn chặn giả mạo tiêu tiền hai lần.Mô hình có thể thể hiện như sau :
Khởi too hê thốns :
Ngân hàng khởi tạo hệ thống với cặp khoá RSA bí mật/công khai (d,e) trên trường modulo 11,với n là tích của pl và p2 là hai số nguyên tố lớn, (d.e = 1 mod <ị>(n)) tạo hai số p,q nguyên tố lớn thoả mãn q I (p -ỉ), g là phần tử cấp
q trong Zp ,g 5fc I
(n,p,q,g) và c công khai, đ bí m ậ t
Tao tài khoán :
Khi khách hàng u tạo tài khoản tại ngân hàng B, u khởi tạo bí mật <in fo > chứa các thông tin của mình Công khai V = g<info> (mod p) như là một giấy phép của mình
Rút rien :
u lạo ngẫu nhiên X e R z , tạo số seri đồng tiền m = gx (mod p)
Cặp (x,m) dược coi như khoá phiên (bí mật,công khai) của phiên rút tiềnnày
Chọn nhân tố mù T e R Zp* , gửi t = Tcm cho B
B kí trcn m ’ , gửi t’= SIG(|(t) trả lại u,trừ tài khoản u một khoản tiền bằng mệnh ciá của m
u chia cho T ,dược chữ ký trẽn m là m ’ = t’/t
Đồng tiền u rút được có số seri m tương ứng với khoá bí mật X
Tra lien : u trả tiền cho V
Trang 36I u gửi Cặp (m,in’) cho V
Irong dỏ 111 là số seri và m ’ là chữ ký của ngân hàng trên đổng tiền 111
2 V kiếm tra m ’ dúng là chữ ký trcn m
chọn một số ngầu nhiên a e RZ ,gửi cho u
3 u tính trả lời
b = X + <in fo > * a (mod p ) trons dó < in fo > là tông tin bí mật của khách hàng u ,nếu biết có thể xác minh được u Gửi b cho V
4 V chấp nhận nếu kiểm tra được sự đúng dắn của b (thông qua a và m)
g V a (mod q) = = mCập (a,b) là thône tin xác nhận đồng liền m là của u đã tiêu ,nhưng khôns
đổ lộ ra thông tin rõ nào của Ư cả Ta gọi đây là sô' hiệu của phiôn giao dịch giữa u và V cho đồng tiền m.Cấu trúc đồng tiền bAy giò £ổm có : (m,m\a,b)
m,SIG(m) - ► Kiểm Ira SIG(m ) 1ÌI c h ữ k ý đúng
Chọn yêu cẩu a duy nhất với mỏi phiên thanh toán
Hình 2.5 : Thủ tục thanh toán ứng dụng giao thức kiểm thửSchnoor
Cửi tiền :
1 V gửi đồng tiền mới nhậ được từ u , (m ,m ’,a,b)
2 B kiểm tra m có trong dữ liệu
3 Nếu 111 đã có trong dữ liệu (tức m đã được tiêu) , từ hai cặp (a 1 ,b 1 ) trong
dữ liộu và ( a , b ) , B xác định được u qua <info>:
<info > := (b l-b )/(a l-a ) (mod p)