Chương 3: Trình bày về kết quả xây dựng hệ thống Internet Banking tại NHCT VN ứng dụng các kỹ thuật bảo mật đã nêu trong chương 2, tập trung mô tả hệ thống an ninh máy chủ Internet Bank
Trang 1KHOA CÔNG NGHỆ
NGUYỄN THỊ VIỆT ANH
XÂY DỰNG HỆ THỐNG BẢO MẬT INTERNET BANKING NGÂN
HÀNG CÔNG THƯƠNG Ở VIỆT NAM
LUẬN VĂN THẠC SỸ
Người hướng dẫn: PGS.TS Hồ Sĩ Đàm
Hà nội - 2004
Trang 2MỤC LỤC
MỤC LỤC 1
MỞ ĐẦU 4
CHƯƠNG 1- TỔNG QUAN VỀ INTERNET BANKING 6
1.1 Khái quát về Internet Banking 6
1.1.1 Khái niệm 6
1.1.2 Lợi ích của Internet Banking 6
1.2 Nội dung nghiệp vụ Internet Banking 7
1.2.1 Các sản phẩm dịch vụ Internet Banking 7
1.2.2 Các hình thức giao dịch Internet Banking 8
1.3 Phân loại giao dịch Internet Banking 8
1.4 Các vấn đề an toàn của Internet Banking 9
1.4.1 Các nguy cơ bị tấn công 9
1.4.2 Các biện pháp an ninh 11
CHƯƠNG 2- CÁC KỸ THUẬT MÃ HÓA VÀ ATTT TRONG THANH TOÁN QUA INTERNET 17
2.1 Hệ mã hóa chuẩn DES 17
2.1.1 Nguyên lý của DES 17
2.1.2 An toàn của DES 18
2.1.3 So sánh và đánh giá 18
2.2 Hệ mật mã RSA 19
2.2.1 Nguyên lý của RSA 21
Trang 32.2.2 An toàn của RSA 21
2.2.3 RSA và một số hệ chuẩn 23
2.3 Hệ mật mã ElGamal 24
2.3.1 Nguyên lý hệ mật mã ElGamal 24
2.3.2 An toàn của hệ ElGamal 25
2.4 Chữ ký điện tử và chuẩn chữ ký số DSS 25
2.4.1 Chữ ký điện tử trên cơ sở toán học trong hệ mật mã RSA 27
2.4.2 Chữ ký điện tử trên cơ sở hệ mật mã ElGamal 27
2.4.3 Chữ ký mù 28
2.4.4 Chuẩn chữ ký số DSS 29
2.5 Hàm băm 30
2.6 Hệ mã hóa đường cong Elip 31
2.6.1 Nguyên lý hệ mã hóa đường cong Elip 31
2.6.2 Sử dụng đường cong Elip trong mã hóa 32
2.6.3 So sánh và đánh giá 32
2.7 Xác thực (CA) 33
2.7.1 Các bước tạo một xác thực 34
2.7.2 Xác thực nhiều lớp 34
2.7.3 Thu hồi xác thực 35
2.7.4 Tấn công CA 36
2.8 Giao thức và chuẩn an toàn dữ liệu trên Internet 37
CHƯƠNG 3- HỆ THỐNG BẢO MẬT INTERNET BANKING NHCT VN 39
3.1 Giới thiệu hệ thống thông tin NHCT VN 39
3.1.1 Giới thiệu về NHCT VN 39
Trang 43.1.2 Hệ thống thông tin NHCT VN 41
3.2 Hệ thống IncomeBank và các dịch vụ cung cấp 42
3.3 Thiết kế logic hệ thống bảo mật IncomeBank 43
3.3.1 Yêu cầu bảo mật đối với IncomeBank 43
3.3.2 Thiết kế logic và lựa chọn giải pháp 44
3.4 Xây dựng hệ thống an ninh máy chủ IncomeBank 49
3.4.1 Mục đích xây dựng và chức năng hệ thống 49
3.4.2 Quản lý khóa mã hóa 50
3.4.3 Mã hóa DES và Triple DES 54
3.4.4 Quản lý số PIN 62
3.4.5 Các lƣợc đồ khóa giao dịch 63
3.4.6 Cài đặt hệ mật mã RSA 75
3.5 Đề xuất cải tiến Xác thực hai yếu tố 76
3.5.1 Hạn chế của việc Xác thực một yếu tố là số PIN 76
3.5.2 Đề xuất cải tiến Xác thực hai yếu tố 77
3.5.3 Lựa chọn giải pháp và thiết kế quy trình xử lý 78
3.5.4 Kết quả thử nghiệm 81
3.6 Đánh giá hoạt động của IncomeBank 82
KẾT LUẬN 83
Phụ lục 1: Một số màn hình thông tin và giao dịch trên hệ thống IncomeBank 84
Phụ lục 2: Danh mục các bảng biểu và hình minh họa 89
Tài liệu tham khảo 91
Trang 5MỞ ĐẦU
Ngày nay, công nghệ thông tin đang được ứng dụng rộng rãi và trở thành phương tiện kinh doanh hữu hiệu của các doanh nghiệp, tạo nên một cách thức giao dịch mới trong xã hội Chính phủ điện tử, Thương mại điện tử, Giáo dục điện tử, Dịch vụ điện tử đang được đầu tư phát triển mạnh mẽ ở nhiều quốc gia trên thế giới Ở nước ta, trong xu thế hội nhập quốc tế, dự án quốc gia về Thương mại điện
tử đang từng bước được xây dựng, triển khai tại một số Ngân hàng Yêu cầu về phát triển các dịch vụ thanh toán điện tử qua Internet đang trở nên ngày càng cấp bách
Từ năm 1999, Ngân hàng Công thương Việt nam (NHCT VN) đã bắt đầu nghiên cứu xây dựng hệ thống Thanh toán điện tử, trong đó Internet Banking là hệ thống cơ sở để phát triển các hệ thống thanh toán khác như thanh toán thẻ ATM/VISA/Master, thẻ tiền mặt, thanh toán tại điểm bán hàng POS, Phone Banking, MobilePhone Banking Vì thanh toán điện tử thực chất là quá trình trao đổi và xử lý thông tin về giao dịch thanh toán trên mạng qua Internet [2] nên vấn đề bảo mật và an toàn nội dung thông tin có vai trò đặc biệt quan trọng, là cơ sở đảm bảo cho hệ thống hoạt động an toàn, hiệu quả, tạo niềm tin cho các chủ thể tham gia thanh toán
Luận văn trình bày về các kỹ thuật, các chuẩn mã hóa và an toàn thông tin và việc ứng dụng chúng trong xây dựng hệ thống Internet Banking tại NHCT VN Ngoài phần mở đầu và kết luận, luận văn gồm 3 chương và 2 phụ lục:
Chương 1: Giới thiệu tổng quan về Internet Banking, các loại giao dịch
trong Internet Banking và các vấn đề an toàn của Internet Banking
Trang 6Chương 2: Trình bày về các kỹ thuật mã hóa được sử dụng trong Internet
Banking, chữ ký điện tử và xác thực, tiếp đó giới thiệu một số giao thức và chuẩn
an toàn dữ liệu trong Internet Banking
Chương 3: Trình bày về kết quả xây dựng hệ thống Internet Banking tại
NHCT VN ứng dụng các kỹ thuật bảo mật đã nêu trong chương 2, tập trung mô tả
hệ thống an ninh máy chủ Internet Banking, là phần mã hóa bảo mật chung mức hệ thống cho tất cả các hệ thống thanh toán qua Internet, và đề xuất giải pháp sử dụng thẻ bài thông minh, nâng cao độ an toàn xác thực của hệ thống
Phụ lục 1: Giới thiệu một số màn hình giao diện và giao dịch trên hệ thống
IncomeBank
Phụ lục 2: Là danh mục các bảng biểu và hình minh họa trong luận văn
Trang 7CHƯƠNG 1- TỔNG QUAN VỀ INTERNET BANKING
1.1 Khái quát về Internet Banking
1.1.1 Khái niệm
Internet Banking là hệ thống cung cấp các sản phẩm dịch vụ ngân hàng qua kênh phân phối điện tử dựa trên các công nghệ internet, các ứng dụng trên nền web
và các thiết bị di động [17]
1.1.2 Lợi ích của Internet Banking
Internet Banking đem lại lợi ích rõ rệt không những cho khách hàng sử dụng dịch vụ mà còn cho các nhà cung cấp dịch vụ, đặc biệt là dịch vụ thanh toán
Vì khách hàng có thể kết nối Internet từ bất cứ đâu không phụ thuộc vào vị trí địa lý, do đó giới hạn không gian đã bị phá bỏ, tiết kiệm được chi phí đi lại Ngân hàng có thể mở rộng phạm vi khách hàng mà không cần phải có trụ sở với một số nhân viên nhất định và cũng không phải tốn kém cho tiếp thị theo cách làm truyền thống
Hệ thống giao dịch Internet là hệ thống thanh toán trực tuyến, 24/24 giờ và 7 ngày/tuần nên khách hàng có thể truy cập hệ thống mà không phụ thuộc vào giờ mở cửa của Ngân hàng Khách hàng có thể kiểm tra tức thời thông tin về tài khoản và giao dịch trên mạng Điều này vừa làm khách hàng hài lòng, vừa giảm được các chi phí về in ấn và bưu phí cho Ngân hàng
Như vậy, Internet Banking là hệ thống thanh toán tiết kiệm, không có giới hạn về không gian và thời gian
Trước đây, để xây dựng được một hệ thống thanh toán điện tử truyền thống, Ngân hàng phải tự đầu tư xây dựng mạng truyền thông nội bộ cho hệ thống Ngân hàng mình, đồng thời phần mềm ứng dụng tự xây dựng vừa phức tạp, vừa không
Trang 8đƣợc chuẩn hóa dẫn đến chi phí cao khi xây dựng và mở rộng hệ thống Khách hàng muốn sử dụng dịch vụ tại nhà thì máy tính của khách hàng cần đƣợc cài đặt phần mềm do Ngân hàng cung cấp và luôn yêu cầu một số cấu hình kỹ thuật nhất định Việc nâng cấp, bảo trì cũng khó khăn và tốn kém cho cả Ngân hàng và khách hàng Khi sử dụng Internet Banking, Ngân hàng và khách hàng đƣợc giải phóng khỏi các vấn đề phức tạp này
Thông qua kênh Internet, Ngân hàng có thể dễ dàng bổ sung, mở rộng các dịch vụ của mình với chi phí chỉ còn một nửa so với cách làm truyền thống Thông tin đƣa tới khách hàng đầy đủ hơn, chi tiết và chính xác hơn Khách hàng có thể khai thác thông tin, tham khảo so sánh và đƣa ra quyết định đầu tƣ hay sử dụng các dịch vụ Ngân hàng trên cơ sở thông tin đầy đủ
Mở rộng, nâng cao chất lƣợng các dịch vụ, gia tăng khách hàng sử dụng dịch
vụ ngân hàng qua Internet đem lại lợi ích cho khách hàng, tạo ra lợi nhuận cho ngân hàng và do đó đem lại lợi ích cho nền kinh tế nói chung
1.2 Nội dung nghiệp vụ Internet Banking
1.2.1 Các sản phẩm dịch vụ Internet Banking
Các sản phẩm, dịch vụ trên Internet Banking có thể bao gồm các sản phẩm dịch vụ Ngân hàng truyền thống, dành cho đối tƣợng khách hàng là cá nhân hoặc tổ chức, doanh nghiệp Ví dụ nhƣ:
- Quản lý tài khoản
Trang 91.2.2 Các hình thức giao dịch Internet Banking
- Giao dịch trực tiếp qua Internet
- Thanh toán sử dụng thẻ ATM
- Thanh toán sử dụng thẻ VISA/Master
- Tiền điện tử (ECash, Digital Cash, EPurse )
- Thanh toán tại điểm bán hàng (POS)
1.3 Phân loại giao dịch Internet Banking
Hiện nay trên thị trường, người ta chia các sản phẩm dịch vụ Internet Banking thành 3 loại [10] theo mức độ truy cập và sử dụng dịch vụ hệ thống:
Dịch vụ mang tính thông tin: Đây là dịch vụ cơ bản của Internet Banking Dịch vụ này cung cấp cho khách hàng thông tin về các sản phẩm dịch vụ của Ngân hàng, các thông tin về tình hình tài chính của Ngân hàng do chính Ngân hàng hay
do các cơ quan kiểm toán đánh giá Những thông tin này được công bố trên trang web của Ngân hàng, giúp cho bất kỳ ai quan tâm có thể xem để đánh giá được độ an toàn hay rủi ro trong đầu tư, giao dịch tại Ngân hàng
Dịch vụ mang tính giao tiếp: Loại dịch vụ này cho phép khách hàng vấn tin
số dư và vấn tin giao dịch trên tài khoản, đăng ký vay vốn, sử dụng hộp thư điện tử hoặc cập nhật một số thông tin tĩnh của bản thân như thay đổi tên, địa chỉ Khách hàng cần đăng ký quyền truy nhập để sử dụng loại dịch vụ này Vì những dịch vụ này sẽ truy xuất đến mạng máy tính của Ngân hàng nên mức độ rủi ro cũng như cấu hình của hệ thống cao hơn mức thông tin nêu trên Hệ thống kiểm soát cần được thiết lập để ngăn chặn, giám sát và cảnh báo đối với bất kỳ sự truy nhập không hợp
lệ nào vào hệ thống mạng và máy tính nội bộ của Ngân hàng Hệ thống kiểm soát virus cũng là một trong những phần cơ bản trên môi trường dịch vụ này
Trang 10 Dịch vụ mang tính giao dịch: Ở cấp độ này, Internet Banking cho phép khách hàng thực hiện các giao dịch Khi khách hàng kết nối với hệ thống máy chủ
của Ngân hàng và thông qua các cổng (gateway) kết nối với các hệ thống nội bộ
khác của Ngân hàng thì hệ thống cần phải được thiết kế ở mức an toàn cao nhất với những kiểm soát chặt chẽ Các giao dịch mà khách hàng có thể thực hiện được ở mức này có thể là truy cập tài khoản, thanh toán hóa đơn, chuyển tiền,
1.4 Các vấn đề an toàn của Internet Banking
Khi đã đưa các sản phẩm dịch vụ Ngân hàng lên Internet thì việc bảo mật và
an toàn thông tin cần được thiết lập ở mức cao để đảm bảo lợi ích cho Ngân hàng và khách hàng
1.4.1 Các nguy cơ bị tấn công
Có nhiều mối đe dọa từ bên trong và bên ngoài đối với hệ thống Internet Banking như:
Tấn công client bằng "Con ngựa Trojan", là những đoạn mã nhỏ, thường được viết theo ngôn ngữ script (VB script hay Java script) có thể nhúng vào một hệ thống hoặc một trang web "Con ngựa Trojan" có thể thâm nhập vào client và gửi các thông tin ngược trở lại cho một Web Server nào đó, ngoài ra nó còn có thể sửa đổi và xóa thông tin trên máy bị thâm nhập
Đe dọa đối với kênh truyền thông, xâm phạm tính bí mật, tính riêng tư, tính toàn vẹn và tính không thể chối bỏ của thông tin trao đổi
Có thể kể đến phần mềm đặc biệt Sniffer, còn được biết đến như là chương
trình giám sát truyền thông trên mạng máy tính Phần mềm này có thể được cài trên các thiết bị mạng như Router hoặc một PC để đánh cắp thông tin trên mạng
Masquerading hay spoofing lại là cách xâm phạm tính toàn vẹn của các trang web bằng cách lợi dụng kẽ hở của DNS (Domain Name Service) để thay thế địa chỉ
Trang 11một trang web bằng một trang web giả mạo, do đó mọi truy cập đến trang web thật đều bị đổi hướng sang trang web giả, thông tin bị đánh cắp và được sử dụng lại trên trang web thật cho các mục đích trục lợi hoặc phá hoại
Brute Force cũng là một kỹ thuật lấy cắp các thông điệp đã mã hóa, sau đó
sử dụng phần mềm để phá khóa và có thể đọc được thông điệp, lấy được tên định danh và mật khẩu truy cập
Chiếm quyền điều khiển cũng là một mối đe dọa đối với kênh truyền thông Cách tấn công này chặn các gói tin được truyền trên mạng, sau đó cố gắng suy diễn nội dung thông tin của gói tin
Quay số ngẫu nhiên: Kỹ thuật này được dùng để quay số (dial) đến tất cả các
số điện thoại của một Ngân hàng cho trước Mục đích là để tìm ra modem kết nối với mạng, từ đó có thể dùng như một điểm để tấn công
Đe dọa đối với các máy chủ (server)
Web Server cũng là mục tiêu tấn công phổ biến xếp thứ hai sau virus theo nghiên cứu của CSI/FBI trong năm 2001 (48% số người được hỏi đã gặp vấn đề
này) Hầu hết các Web Server đều hỗ trợ cho lập trình CGI (Common Gateway Interface) Kẻ tấn công có thể khai thác những điểm yếu trong lập trình CGI, dễ
dàng định vị và hoạt động với những đặc quyền (của "super user") trên Web Server
để phá hoại các trang web và đánh cắp thông tin
Trong kiểu tấn công làm tràn bộ đệm, kẻ tấn công ghi các lệnh vào các vị trí thiết yếu của bộ nhớ, do đó đoạn mã chương trình của kẻ tấn công có thể được ghi
đè lên bộ nhớ đệm Web Server hoạt động và thực hiện đoạn chương trình này Kiểu tấn công này gây thiệt hại khá nghiêm trọng vì kẻ tấn công có thể chiếm được quyền kiểm soát cao nhất nên dữ liệu trên máy chủ có thể bị phá hủy
Tấn công từ chối dịch vụ (Denial of Service - DoS) là hiện tượng đưa rất
nhiều yêu cầu kết nối trong cùng một thới điểm tới máy chủ, làm máy chủ bị quá
Trang 12tải, có thể dẫn đến treo máy chủ, nghẽn mạch, do đó tê liệt các dịch vụ của hệ thống Rất khó phân biệt được đâu là yêu cầu hợp lệ, đâu là yêu cầu do kẻ tấn công gửi đến
để phát hiện chính xác rằng hệ thống có bị tấn công hay không và những máy tính nào bị tấn công Cách tấn công này có thể được thực hiện từ xa hoặc ngay từ bên trong mạng nội bộ của Ngân hàng
Tấn công dựa trên tính kém bảo mật của mật khẩu: Nhiều hệ thống hiện nay vẫn sử dụng mật khẩu như một phương án phòng vệ trực tiếp đầu tiên và duy nhất Hiện vẫn còn nhiều kiểu đặt mật khẩu khá đơn giản, dễ đoán và không được thay đổi thường xuyên Những kẻ tấn công có thể đoán được mật khẩu hoặc sử dụng một số phần mềm để kiểm tra các tổ hợp có thể có của mật khẩu, từ đó có thể truy nhập mạng hoặc hệ thống ứng dụng một cách dễ dàng
Tấn công bằng Virus: Virus là chương trình máy tính được viết với chủ
đích gắn chính nó (khối mã lệnh) vào các file trong máy tính hoặc vào boot sector
và có khả năng tự nhân bản bất cứ khi nào các file này hoặc ổ đĩa được đọc Virus
sẽ không làm hại gì cho hệ thống nếu như nó không có những đoạn mã được viết với chủ đích nhằm phá hoại hệ thống
Những con sâu (worms) là biến tướng của virus đồng hành (companion virus), nhưng không giống như loại virus này, worm không gắn mình lên bất cứ một
file thực thi nào Để thực hiện việc lây lan, chúng chỉ copy mã của mình sang đĩa hoặc thư mục khác với hy vọng một ngày nào đó những đoạn mã này sẽ được người
sử dụng gọi thi hành Chúng có thể đặt những tên rất “kêu” cho những bản copy này
để hấp dẫn người sử dụng, ví dụ như Install.exe, Winstart.exe
1.4.2 Các biện pháp an ninh
1.4.2.1 An toàn vật lý
An toàn vật lý là việc bảo vệ các thiết bị, tài sản của hệ thống Hệ thống bảo đảm an toàn vật lý bao gồm: các thiết bị báo động, camera theo dõi, người canh giữ, cửa chống cháy, thiết bị chống sét, hàng rào an toàn, kiểm soát ra vào, đảm bảo môi
Trang 13trường hoạt động hệ thống (nguồn điện, nhiệt độ, độ ẩm ), tủ két, hầm bí mật, các tòa nhà chống bom
1.4.2.2 An toàn mạng máy tính và truyền thông
Các khía cạnh của an toàn mạng bao gồm kiểm soát truy cập mạng, xác thực người dùng, đảm bảo độ tin cậy, không thể thoái thác, toàn vẹn và bảo mật dữ liệu, đảm bảo bí mật riêng tư và tính sẵn sàng của hệ thống
Kiểm soát truy cập mạng: Khác với các hệ thống thanh toán truyền thống
được xây dựng trên mạng cục bộ của Ngân hàng, Internet Banking cần có hệ thống
bảo vệ chống xâm nhập trái phép Ngày nay, hệ thống Firewall (bức tường lửa)
được sử dụng phổ biến và được xây dựng cho các hệ thống muốn kết nối ra một mạng bên ngoài Firewall là sự kết hợp giữa phần cứng và phần mềm được thiết lập giữa hai mạng máy tính, mọi sự trao đổi giữa hai mạng đều phải đi qua nó bất kể
theo chiều nào Firewall là một cổng (gateway) bảo vệ chống lại những kẻ đang cố
gắng xâm nhập trái phép vào mạng máy tính
Firewall cần được cài đặt cấu hình cho phù hợp với môi trường hệ điều hành
và nó cần được đánh giá, bảo trì định kỳ để đảm bảo hoạt động có hiệu lực và hiệu quả Đối với các hệ thống lớn, Filewall được đặt thành nhiều tầng để đảm bảo an toàn cho các lớp mạng, lớp ứng dụng hay các lớp dữ liệu khác nhau Mỗi tầng Filewall lại được cài đặt cấu hình khác nhau để đảm bảo an toàn cho các tầng còn lại khi một tầng bị xuyên thủng Một hệ thống Firewall như vậy đã được xây dựng cho hệ thống Internet Banking của NHCT VN (xem chương 3)
Mã hóa và xác thực: Các giao dịch trên Internet cũng như trên bất kỳ một
hệ thống truyền thông khác đều phải được bảo mật để đảm có được độ an toàn cao nhất Ngân hàng và khách hàng đều cần được đảm bảo rằng họ sẽ nhận được các sản phẩm, dịch vụ như họ đã yêu cầu và họ có thể xác định được ai là người đang giao dịch với họ
Trang 14Công nghệ mã hóa đặc trưng được sử dụng trong lĩnh vực Ngân hàng là thuật mã hóa đối xứng (khóa bí mật) để mã hóa các thông điệp và thuật mã hóa phi đối xứng (khóa bí mật và khóa công khai) để xác thực các bên Công nghệ mã hóa phi đối xứng sử dụng hai khóa - khóa bí mật và khóa công khai Hai khóa này có ràng buộc toán học với nhau và khóa này thì không thể suy ra được từ khóa kia Người gửi sẽ mã hóa thông điệp gửi đi bằng khóa bí mật Chỉ có người gửi mới biết khóa bí mật này Thông điệp chỉ có thể đọc được khi sử dụng mã khóa công khai của người gửi Do đó người nhận biết được thông điệp đã đến từ đúng người gửi mong đợi
Hệ thống mã hóa công khai được sử dụng phổ biến nhất hiện nay là RSA sẽ được đề cập chi tiết ở chương 2 Bằng việc sử dụng cùng lúc hai cách mã hóa, mã đối xứng để bảo vệ các thông điệp và mã phi đối xứng để xác thực các bên tham gia, Ngân hàng có thể bảo mật được các thông điệp và bảo đảm bí mật cho các bên tham gia ở mức an toàn cao
Ngoài ra, một số các thiết bị nhận dạng sinh học cũng được sử dụng cho việc xác thực tại một số Ngân hàng như: quét võng mạc, quét vân tay, ghi lại tần số giọng nói Tuy nhiên các phương pháp này không được sử dụng phổ biến do hạn chế về giá thành và môi trường kỹ thuật, pháp lý yêu cầu
Độ tin cậy: Như đã được đề cập đến ở trên, hệ thống mã hóa khóa công
khai có thể được sử dụng để bảo mật cho một hệ thống thông tin và xác thực các bên tham gia giao dịch Bên thứ ba được tin cậy là thành phần rất cần thiết trong quá trình thực hiện Bên thứ ba này được gọi là bên cấp chứng thực
Cơ quan cấp chứng thực (Certificate Authority-CA) là bên thứ ba được tin
cậy để xác nhận các định danh trên mạng máy tính Một số người cho rằng cơ quan cấp chứng thực hoạt động như một công chứng viên trực tuyến Khái niệm cơ bản ở đây là một Ngân hàng sử dụng uy tín của mình để xác nhận cho các bên trong giao dịch Điều này tương tự như vai trò các Ngân hàng trong việc phát hành thư tín
Trang 15dụng (letter of credit) để cả người bán và người mua biết rằng bên kia đều được các
Ngân hàng tin cậy biết đến
Mặt khác, các Ngân hàng cũng cần có cách để xác nhận được mình đề phòng
những kẻ ăn cắp tên định danh (identity) Theo báo cáo GAO/T-66D-99-34 của
GAO, cơ quan điều tra kiểm toán của Quốc hội Mỹ, thủ phạm sao chép các trang web của các công ty môi giới hợp pháp, thay địa chỉ để khách hàng liên hệ (và gửi séc), sau đó chuyển lại trang web đã chiếm được lên Internet Ngoài các hộp thư và một số địa chỉ web được phép, mọi thông tin trên trang web đều có thể công bố một cách hợp lệ Các Ngân hàng cần có những cổng kiểm soát chống lại một số kẻ phá hoại hoặc trục lợi Sự phối hợp hài hòa các hoạt động kiểm soát để ngăn chặn, phát hiện và khắc phục sự cố có thể bảo vệ hệ thống Ngân hàng khỏi những nguy hiểm bất ngờ Xác thực điện tử đóng vai trò quan trọng trong việc xác thực các bên tham gia, tạo nên sự tin cậy cho hệ thống Internet Banking
Không thể thoái thác: là việc chứng minh không thể chối cãi việc tham
gia giao dịch của cả bên mua và bên bán Đó chính là lý do vì sao thuật toán mã hóa công khai đã ra đời để xác thực các thông điệp điện tử và ngăn chặn việc từ chối hay thoái thác của người gửi hoặc người nhận
Mặc dù công nghệ đã cung cấp câu trả lời cho việc không thể thoái thác, môi trường pháp luật có vai trò quan trọng không thể thiếu, cần được xây dựng đồng bộ
để tạo cơ sở pháp lý phát triển các dịch vụ thương mại điện tử nói chung và Internet Banking nói riêng
Bí mật riêng tư là vấn đề ngày càng trở nên quan trọng đối với người sử
dụng các dịch vụ trên Internet Việc thu thập và sử dụng thông tin cá nhân dường như đang ngày một gia tăng trên Internet và thương mại điện tử Các Ngân hàng cần nhận thức được vấn đề này và cần tiên phong thực hiện, làm cho việc bảo đảm bí mật riêng tư trở thành thuộc tính đáng tin cậy của Ngân hàng và là lợi ích cho khách hàng
Trang 16 Tính sẵn sàng là một yêu cầu trong duy trì bảo mật chung mức cao trong
môi trường mạng Tất cả các vấn đề nêu trên sẽ chẳng còn giá trị gì nếu mạng máy tính không sẵn sàng và thuận tiện cho khách hàng sử dụng Người sử dụng dịch vụ Internet luôn mong muốn có thể truy cập hệ thống 24/24 giờ trong một ngày và bảy ngày một tuần
Xung quanh vấn đề về tính sẵn sàng của hệ thống là dung lượng bao gồm cả phần cứng và phần mềm, giám sát chất lượng hoạt động, sự dư thừa và tốc độ khôi phục hoạt động sau sự cố để đảm bảo cho chất lượng của dịch vụ Bên cạnh đó, các kỹ thuật giám sát hoạt động hệ thống sẽ cho phép quản lý các thông tin như thông lượng trên đường truyền, thời gian giao dịch, tổng số thời gian khách hàng phải đợi để sử dụng dịch vụ Giám sát dung lượng hệ thống, thời gian ngừng trệ
(downtime) và hoạt động hệ thống trên một hệ thống có cấu hình thông dụng sẽ giúp
cho các Ngân hàng bảo đảm được độ sẵn sàng cao của hệ thống Internet Banking Việc đánh giá nguy cơ tấn công mạng cũng rất quan trọng để tránh làm ngừng trệ hệ thống Toàn mạng không thể bị ngừng trệ khi một bộ phận phần cứng hay một chức năng phần mềm nào đó bị trục trặc
trường hợp lây nhiễm virus là thông qua e-mail
Đối với một doanh nghiệp nói chung và các tổ chức cung cấp dịch vụ thanh toán nói riêng, hệ thống phòng chống virus cần được xây dựng không những chỉ cho các máy trạm mà còn phải được trang bị cho hệ thống các máy chủ bao gồm máy chủ ứng dụng, máy chủ cơ sở dữ liệu, các cổng thanh toán và đặc biệt là các
Trang 17máy chủ hộp thư điện tử (mail server) Các cổng mạng cũng là mục tiêu tấn công
của virus, bao gồm cổng internet và cổng các lớp mạng của doanh nghiệp
1.4.2.4 An toàn hệ thống dự phòng
Hệ thống thông tin dự phòng có vai trò rất quan trọng đối với một Ngân hàng Hệ thống dự phòng đảm bảo cho hoạt động của Ngân hàng được ổn định ngay khi hệ thống chính gặp sự cố, đồng thời giữ vai trò như một trung tâm lưu trữ dữ liệu của Ngân hàng Vì vậy giữ gìn sự an toàn cho hệ thống dự phòng là rất cần thiết
Không phải là hệ thống tiếp nhận các giao dịch trực tuyến nhưng hệ thống dự phòng cần luôn trong trạng thái sẵn sàng hoạt động thay thế cho hệ thống chính một cách kịp thời và chính xác nhất Các hệ thống an ninh cho hệ thống dự phòng cũng bao gồm các biện pháp an toàn mạng, bảo mật thông tin, kiểm soát truy cập từ bên ngoài, từ hệ thống chính và từ bên trong hệ thống, phòng chống virus, quản lý phân quyền thực hiện các công tác sao lưu (backup), khôi phục (restore) và khai thác dữ liệu An toàn vật lý được chú trọng đặc biệt đối với các hệ thống dự phòng
*
Trang 18CHƯƠNG 2- CÁC KỸ THUẬT MÃ HÓA VÀ ATTT TRONG THANH TOÁN QUA INTERNET
Chương này sẽ trình bày về cơ sở kỹ thuật mã hóa và các giao thức chuẩn cho giao dịch trên Internet hiện đang được sử dụng cho hệ thống thanh toán qua Internet
2.1 Hệ mã hóa chuẩn DES
2.1.1 Nguyên lý của DES
Hệ mã hóa chuẩn DES (Data Encryption Standard) là hệ mã hóa đối xứng
theo khối, thực hiện mã hóa một bản rõ thành bản mã và ngược lại bằng thuật toán
mã hóa/giải mã và khóa Trong hệ mật mã đối xứng, một khóa duy nhất được sử dụng cho cả quá trình mã hóa và giải mã Khóa là một giá trị không phụ thuộc vào bản rõ Đầu ra của thuật toán phụ thuộc vào giá trị của khóa
Quá trình mã hóa và giải mã của hệ mã hóa đối xứng có thể được mô tả như hình vẽ dưới đây:
Hình 1 - Mã hóa và giải mã thông điệp trong hệ mã hóa đối xứng
Trang 19Với mã hóa đối xứng, việc truyền bí mật một lượng lớn thông tin chuyển thành việc truyền bí mật khóa mã Không giống như các khóa dùng trong thuật toán
mã hóa khóa công khai, các khóa đối xứng thường xuyên thay đổi, do đó chúng còn được gọi là các khóa theo phiên làm việc
DES thực hiện mã khóa trên từng khối bản rõ có độ dài nhất định và cho bản
mã tương ứng có cùng độ dài Có 4 cách dùng DES là: ECB (Electronic Code Book
mode), CFB (Cipher Feedback mode), CBC (Cipher Block Chaining mode) và OFB
(Output Feedback mode), trong đó các cách ECB và CBC được sử dụng nhiều
trong các hệ thống Ngân hàng
DES được chính phủ Mỹ cấp phép lưu hành năm 1977 [2] sau khi được IBM xây dựng theo yêu cầu của Văn phòng quốc gia về chuẩn (NBS) và được Cục an ninh quốc gia (NSA) thẩm định
2.1.2 An toàn của DES
Độ an toàn của hệ mã hóa đối xứng phụ thuộc vào độ mạnh của thuật toán và
sự bí mật của khóa Các kết quả nghiên cứu trong [3] đã cho thấy bài toán thám mã DES hiện vẫn là những bài toán có độ phức tạp khá lớn
Tuy nhiên, trong điều kiện phát triển nhanh chóng của các hệ thống tính toán hiện nay, khả năng DES bị phá ngày càng gia tăng Do đó người ta đã xây dựng các
hệ mã hóa dựa trên DES như Triple DES (hay còn gọi là 3DES) thực hiện mã hóa khối dữ liệu 3 lần với các khóa khác nhau: mã hóa, giải mã rồi lại mã hóa với hai khóa DES hoặc 3 khóa DES để tăng độ an toàn
2.1.3 So sánh và đánh giá
Vì độ an toàn của DES phụ thuộc vào sự bí mật của khóa chứ không phải là
sự bí mật của thuật toán nên các nhà sản xuất có thể sản xuất ra các chip mã hóa đối xứng, làm cho mã hóa đối xứng được sử dụng rộng rãi và thuận tiện
Trang 20So với cỏc thuật toỏn mó khúa cụng khai, cỏc thuật toỏn đối xứng cú tốc độ rất cao nờn thường được chọn để mó húa những khối dữ liệu lớn Tuy khụng đạt tốc
độ mó húa cao bằng một số hệ mó húa đối xứng khỏc như RC4, Blowfish, AES nhưng DES cú độ an toàn khỏ cao nờn được giới Ngõn hàng tài chớnh sử dụng đặc biệt rộng rói DES được cài đặt cả với tư cỏch như một thiết bị cứng, cả với tư cỏch một phần mềm và được xột lại khoảng 5 năm một lần [3,tr.24] Từ cuối năm 1998, cỏc cơ quan kiểm toỏn Ngõn hàng cũng đó chớnh thức yờu cầu sử dụng Triple DES thay thế cho DES [,tr.24]
Hạn chế của hệ mó húa đối xứng là chưa giải quyết được vấn đề phõn phối, thỏa thuận khúa và khụng đảm bảo được tớnh xỏc thực [4]
2.2 Hệ mật mó RSA
RSA là hệ mã hóa khóa công khai đ-ợc giới thiệu năm 1977 bởi Rivest, Shamir và Adleman [15] Trong hệ mã hóa khóa công khai, các khóa đ-ợc hình thành từ một cặp khóa: khóa mã hóa và khóa giải mã, một khóa đ-ợc giữ bí mật, khóa còn lại là khóa công khai Quá trình mã hóa và giải mã đ-ợc thực hiện với hai khóa riêng biệt đ-ợc mô tả d-ới đây:
A có khóa bí mật SKA và khóa công khai PKA
B có khóa bí mật SKB và khóa công khai PKB
Để gửi một văn bản m , A dùng khóa công khai của B là PKB để mã hóa m gửi cho B B dùng khóa bí mật của mình là SKB để giải mã
Trang 21Hỡnh 2 - Mó húa và giải mó thụng điệp trong hệ mó húa khúa cụng khai
Để xác thực, A dùng khóa bí mật của mình là SKA để ký lờn m B dựng khúa cụng khai của A là PKA để kiểm tra chữ ký trờn m
Hỡnh 3 - Ký và xỏc thực chữ ký trong hệ mó húa khúa cụng khai
Trang 222.2.1 Nguyên lý của RSA
RSA được xây dựng trên cơ sở số học modulo Cả việc mã hóa và giải mã đều được hoàn tất bằng việc nâng các số thành một modulo hàm mũ, một số là tích của hai số nguyên tố rất lớn (chứa ít nhất từ 100 đến 200 chữ số [15])
Để sinh ra một cặp khóa trong RSA, lấy :
p, q: hai số nguyên tố lớn, nên có độ dài bằng nhau để bảo mật tốt nhất n: khóa công khai, là tích của p và q
e: khóa công khai, một số chọn ngẫu nhiên nhỏ hơn n và không có ước
số chung với (p - 1) và (q - 1)
d: khóa bí mật, (ed = 1 mod (p - 1)(q - 1))
Hai số nguyên tố lớn p và q cần được giữ bí mật, nếu có ai phân tích được n thành hai số p và q, khóa bí mật e có thể bị lộ
Việc mã hóa được thực hiện như sau: Một thông điệp m được chia thành các
khối số m i nhỏ hơn n Thông điệp đã được mã hóa c sẽ được làm thành các khối thông điệp có kích thước giống nhau c i với độ dài bằng nhau Công thức mã hóa là:
2.2.2 An toàn của RSA
RSA có khả năng bảo mật nhờ vào sự khó khăn khi phân tích các số nguyên
tố lớn Khi lấy lại bản rõ m từ văn bản đã mã hóa tương ứng c, việc cung cấp khóa công khai tương đương với việc phân tích n, phụ thuộc vào độ dài của n
Kích thước tốt nhất của một khóa RSA phụ thuộc vào nhu cầu bảo mật công việc của người sử dụng Khóa càng lớn thì độ bảo mật càng lớn nhưng việc thực thi RSA lại chậm hơn Một người cần chọn độ dài của khóa sau khi đã cân nhắc kỹ, trước tiên là xem xét nhu cầu bảo mật của mình, như giá trị của dữ liệu và dữ liệu cần bảo mật trong bao lâu; thứ hai là cần xem xem khả năng của những kẻ phá hoại
Trang 23mạnh đến mức nào Người ta tin rằng các khóa 512-bit không còn đủ an toàn với sự tiến bộ của các giải thuật phân tích mới và việc tính toán phân tán hiện nay Những khóa này không nên sử dụng sau năm 1997 hoặc 1998 Phòng thí nghiệm RSA đã khuyến cáo độ dài của khóa hiện nay cần là 768 bits cho mục đích sử dụng của cá nhân, 1024 bits cho doanh nghiệp, và 2048 bits cho các khóa cực kỳ có giá trị [15]
Có một số cách tấn công RSA, trong đó nguy hiểm nhất là tấn công để tìm ra được khóa bí mật tương ứng với một khóa công khai cho trước, điều này cho phép
kẻ tấn công không những đọc được mọi thông điệp đã được mã hóa với mã công khai mà còn giả mạo được cả chữ ký Cách thức hiển nhiên để tấn công kiểu này là
phân tích khóa công khai n thành 2 thừa số nguyên tố p và q của nó Từ p, q, và e,
số mũ công khai (the public exponent), kẻ tấn công có thể dễ dàng có được d, số mũ
bí mật (the private exponent) Phần khó nhất là phân tích số n, tính bảo mật của RSA dựa vào việc phân tích số n là rất khó khăn Trên thực tế, phương pháp dễ
dàng nhất là “bẻ khóa” RSA
Cũng có thể tấn công RSA bằng việc đoán biết giá trị (p-1)(q-1) Nhưng cách này không dễ dàng hơn cách phân tích số n
Một khả năng khác cho kẻ tấn công là thử mọi giá trị của d cho đến khi tìm
được đáp số đúng Cách tấn công này thậm chí còn ít hiệu quả hơn cách phân tích n Một cách tấn công RSA khác là tìm ra kỹ thuật tính các gốc-e mod n Khi
c = m e mod n
gốc-e của c mod n là thông điệp m Cách tấn công này cho phép một người
lấy lại được thông điệp đã được mã hóa và giả mạo chữ ký ngay cả khi không biết
mã khóa bí mật Cách tấn công này không được coi là tương đương với cách phân tích thừa số Hiện chưa có một phương pháp chung nào được biết đến để tấn công RSA bằng cách này
Trang 24Cách tấn công một thông điệp đơn lẻ đơn giản nhất là đoán ra bản rõ Kẻ tấn công có được bản mã, đoán nội dung có thể của thông điệp rồi mã hóa thông điệp phỏng đoán bằng mã công khai của người nhận, sau đó so sánh với bản mã thực sự
Có thể ngăn chặn cách tấn công này bằng cách thêm vào thông điệp một số bit ngẫu nhiên
Một cách tấn công thông điệp đơn lẻ có thể có là nếu ai đó gửi cùng một
thông điệp m tới 3 người khác nhau, mỗi người có số mũ khóa công khai e = 3 Kẻ tấn công biết được điều này và nhìn vào 3 thông điệp có thể tìm ra bản rõ m
xác thực điện tử (digital certification standard) RSA còn có trong 5 chuẩn
ETEBAC của Pháp và chuẩn về quản lý mã khóa của Australia AS2805.6.3, chuẩn ANSI X9.31 cho rút tiền trong lĩnh vực Ngân hàng Tài chính của Mỹ RSA còn là một phần trong chuẩn của Tổ chức Truyền thông Tài chính Liên ngân hàng Toàn
cầu (the Society for Worldwide Interbank Financial Telecommunications - SWIFT)
RSA là chuẩn “de facto” 1 trong lĩnh vực tài chính [15] Sự tồn tại của chuẩn
“de facto” có vai trò rất quan trọng trong sự phát triển của thương mại điện tử qua Internet Nếu một hệ mã công khai có thể hoạt động mọi nơi thì các văn bản với chữ
ký số (chữ ký điện tử) sẽ được trao đổi giữa những người dùng trên nhiều quốc gia khác nhau trên khắp thế giới đang sử dụng những phần mềm khác nhau trên những
1 Chuẩn "de facto": Một giao thức, ngôn ngữ hay khuôn dạng là chuẩn không phải vì nó được chuẩn y bởi một tổ chức tiêu chuẩn hóa nào mà vì nó được sử dụng rộng rãi và được công nhận trong công nghiệp như là một chuẩn (Ví dụ: tập lệnh điều khiển modem của Hayes, giao thức truyền thông XModem, ngôn ngữ PCL cho máy in laser của Hewlett- Packard, ) (Theo Jupitermedia Corporation, ecommerce-guide.com, http://e-comm.webopedia.com )
Trang 25nền tảng kỹ thuật khác nhau Nếu có một chuẩn về chữ ký điện tử được chấp nhận thì ta có thể có hộ chiếu, séc, di chúc, hợp đồng cho thuê, vay mượn dưới dạng điện tử và bản giấy sẽ chỉ còn là bản sao của văn bản điện tử gốc
2.3 Hệ mật mã ElGamal
2.3.1 Nguyên lý hệ mật mã ElGamal
Hệ mật mã ElGamal được đề xuất năm 1985, là hệ mã hóa khóa công khai được xây dựng dựa trên bài toán logarit rời rạc Bài toán logarit rời rạc trong một trường hữu hạn Zp với p là số nguyên tố được mô tả như sau:
Cho I =(p, , ) trong đó p là số nguyên tố, Zp là phần tử nguyên thủy,
Zp Tìm một số nguyên duy nhất a, 0 a p-2 sao cho a (mod p)
Trang 26Hệ mật mã ElGamal là một hệ không tất định vì bản mã phụ thuộc vào cả
bản mã x lẫn giá trị ngẫu nhiên k do Alice chọn Bởi vậy, sẽ có nhiều bản mã được
mã từ cùng bản rõ
Dễ thử lại rằng d K'' (y) = x Số ngẫu nhiên k do người lập mã tự chọn và không
cần thông báo dưới bất kỳ dạng nào cho người nhận, tuy nhiên nó là cần thiết và cần được giữ kín để bảo mật đối với người thám mã
2.3.2 An toàn của hệ ElGamal
Hệ mật mã ElGamal được xây dựng trên bài toán logarit rời rạc Lợi thế của bài toán logarit rời rạc trong xây dựng hệ mật mã là khó tìm được các logarit rời rạc, song bài toán ngược lấy luỹ thừa lại có thể tính toán hiệu quả theo thuật toán nhân
và bình phương Nói cách khác, luỹ thừa theo modulo p là hàm một chiều với các số nguyên tố p thích hợp
Bài toán logarit rời rạc trong Zp là đối tượng trong nhiều công trình nghiên
cứu và được xem là bài toán khó nếu p được chọn cẩn thận Cụ thể là không có một
thuật toán thời gian đa thức nào cho bài toán logarit rời rạc [3]
Vì thế để hệ Elgamal được coi là an toàn, đối phó với các phương pháp tấn
công đã biết, p phải có ít nhất 150 chữ số và (p-1) phải có ít nhất một thừa số
nguyên tố lớn, là phần tử nguyên thủy theo modulo p sao cho bài toán tính log
là khó Bên cạnh đó, việc giữ bí mật số k là rất quan trọng vì nếu biết k sẽ tìm được
số mũ bí mật a
2.4 Chữ ký điện tử và chuẩn chữ ký số DSS
Chữ ký điện tử lần đầu tiên được đề xuất bởi Whitfield Diffie năm 1976 Một chữ ký số là bản điện tử tương đương với một chữ ký viết tay Những khía cạnh mấu chốt của cả hai loại chữ ký này là chỉ có một người (ví dụ: người cung cấp dịch vụ) mới có khả năng tạo ra chữ ký và tất cả những người khác đều có thể kiểm tra chữ ký đó
Trang 27Chữ ký số đảm bảo cho bất kỳ ai khi đọc văn bản được ký có thể xác định chắc chắn ai là người đã gửi đi văn bản đó Chữ ký số sử dụng một cặp khóa: Khóa
bí mật sử dụng để ký trên thông điệp gửi đi và khóa công khai dùng để xác thực chữ
ký trên thông điệp nhận đến Chỉ có các thông điệp được mã hóa (ký) bởi mã bí mật mới được sử dụng, giải mã và kiểm tra (xác thực) bằng mã hóa công khai Bằng cách này, chữ ký số được tạo ra tương đương với chữ ký viết tay trên một văn bản Giả sử Bob nhận được một thông điệp đã được ký chữ ký số từ Alice Nếu Alice sau đó không thừa nhận việc đã gửi đi thông điệp đó, Bob có thể đến gặp bên thứ ba (quan tòa), người sẽ có được khóa công khai của Alice Sau đó, Bob có thể kiểm tra tính hợp lệ của chữ ký Bằng cách này, một chữ ký số sẽ không thể bị chối nguồn gốc
Một cách đề phòng người nhận cố ý chối từ việc đã nhận được thông điệp tương tự như cách một văn bản giấy được xác nhận, thông điệp chỉ được đưa đến người nhận khi chúng được ký "đã nhận" trong quá trình chuyển điện Một cách khác để ràng buộc trách nhiệm con người trên các thông điệp tạo nên các sự kiện mang tính chất công khai như một tin tức có tính pháp lý trên một tờ báo chẳng hạn Khi đó, bằng cách tiếp cận mới, thông điệp sẽ được quảng bá và nó có thể được kiểm duyệt bằng cách này với phần bổ sung thêm rất nhỏ Khi phương pháp này được sử dụng với các thông điệp được mã hóa vì lý do bí mật, bên nào cũng có thể xem được thông điệp đã được ký và chỉ ra việc truyền mã hóa ở cả hai phía tương ứng trong bản ghi chung (public record) như là bằng chứng ghi nhận rằng thông điệp đã sẵn sàng được nhận, sau khi giải mã thông điệp với bút danh của người gửi
để có được nội dung thông điệp, người nhận thực hiện mã hóa với bút danh của người mình để chuyển tới bản ghi chung
Trang 282.4.1 Chữ ký điện tử trên cơ sở toán học trong hệ mật mã RSA
Khi Alice mở tài khoản (account) của cô tại ngân hàng tạo khóa, ngân hàng
sẽ tạo ra hai số nguyên tố lớn cho cô, p và q Tích của p và q là modulo cho tất cả
các hàm mũ sau này của Alice
Cơ sở của hệ hai khóa là
2.4.2 Chữ ký điện tử trên cơ sở hệ mật mã ElGamal
Chữ ký số trong hệ ElGamal đƣợc mô tả nhƣ sau:
Cho p là số nguyên tố sao cho bài toán logarit rời rạc trong Zp là khó và giả
Các giá trị p, , là công khai, còn a là bí mật
Với mỗi K = (p, , a, ), chọn K' =a làm khóa bí mật, K''= (p, , ) là khóa
công khai Chọn một số ngẫu nhiên bí mật k Zp-1*, ta định nghĩa chữ ký số sigK' (x, k) = (,) , trong đó: = k
mod p và = (x - a) k-1 mod(p-1)
Trang 29rõ nội dung của văn bản Còn khi một người đặt một chữ ký mù lên văn bản thì có nghĩa là anh ta có thể không biết hoặc chỉ biết một phần nội dung của văn bản đó [15]
Chữ ký mù cho ta cách xác nhận tương tự chữ ký số thông thường nhưng
theo cách không thể định danh (non-identifiable) Người nhận sẽ được đảm bảo xác
thực giao dịch đã là chắc chắn và đáng tin cậy nhưng không biết được ai là người gửi
Để hiểu rõ hơn chữ ký mù, ta xét ví dụ sau: Một người mang một văn bản đến công chứng viên Người đó không muốn cho ai, kể cả người công chứng viên, biết được nội dung của văn bản Người này niêm phong văn bản vào một phong bì sao cho một phần của tài liệu có thể nhìn thấy được qua phong bì Người công chứng viên đóng dấu sáp lên phần nhìn thấy này Như vậy dấu sáp là dấu chứng nhận xác thực cho văn bản Khi chữ ký mù được sử dụng, kỹ thuật mật mã sẽ thay thế cho chiếc phong bì và con dấu sáp Người dùng sẽ mã hóa văn bản điện tử, tương ứng với việc niêm phong văn bản vào phong bì Người công chứng viên sẽ ký một chữ ký điện tử lên văn bản đã được mã hóa đó Khi văn bản được kiểm tra tính xác thực, chữ ký sẽ là hợp lệ
Sử dụng RSA, chữ ký mù có thể được cài đặt theo cách dưới đây:
1 Alice chọn một thừa số mù r sao cho gcd(r, n) = 1, trong đó (n, e) là mã khóa công khai của ngân hàng và (n,d) là khóa bí mật, cô chuyển cho ngân hàng của cô
Trang 30m' = mr e (mod n)
trong đó m là thông điệp gốc của cô
2 Ngân hàng của Alice ký trên văn bản cô đã mã hóa:
để thanh toán cho các hóa đơn của cô
Vì r là ngẫu nhiên nên ngân hàng của Alice không thể xác định được m Do đó,
ngân hàng không thể móc nối giữa việc ký và việc thanh toán của Alice
Lược đồ chữ ký trên khá an toàn vì việc phân tích thừa số và khai căn tìm
gốc là rất khó khăn Lược đồ chữ ký có thể được coi là "mù" tuyệt đối do r là ngẫu nhiên Số r ngẫu nhiên không cho phép người ký đọc được thông điệp
Chữ ký mù được sử dụng khá rộng rãi trong các hệ thống thanh toán, đặc biệt
là trong các hệ thống thanh toán tiền mặt điện tử
2.4.4 Chuẩn chữ ký số DSS
Chuẩn chữ ký số (Digital Signature Standard-DSS) được đề xuất năm 1991
và được chấp nhận vào năm 1994 để sử dụng trong một số lĩnh vực giao dịch ở Mỹ [3] DSS dựa vào lược đồ chữ ký ElGamal với một vài sửa đổi
Để bảo đảm an toàn, số nguyên tố p cần phải đủ lớn, tối thiểu từ 512 bit trở lên Tuy nhiên, chữ ký theo lược đồ ElGamal có độ dài gấp đôi p tính theo số bit,
mà trong một số ứng dụng có dùng các thẻ thông minh (smart card) lại mong muốn
có chữ ký ngắn nên giải pháp sửa đổi là: lấy độ dài p là một bội số của 64 bit (từ
Trang 31512 đến 1024 bit), trong chữ ký (, ), các số , có độ dài biểu diến ngắn, chẳng hạn là 160 bit, khi đó độ dài của chữ ký là 320 bit Điều này đƣợc thực hiện bằng cách dùng một nhóm con cyclic Zq
* của Zp
* thay cho chính bản thân Zp
* , do đó mọi tính toán vẫn đƣợc thực hiện trong Zp* nhƣng các dữ liệu và thành phần dữ liệu lại thuộc Zq*
Sơ đồ DSS đƣợc mô tả nhƣ sau:
Giả sử p là số nguyên tố 512 bit sao cho bài toán logarit rời rạc trong Z p là
khó, q là một ƣớc nguyên tố của p-1, q có độ dài 160 bit Giả sử Zp* là một căn
bậc q của 1 mod p Đặt P = Z q, A = Z q* Zq và định nghĩa:
K = {(p, q, , a, ) : a Zq
*
, a
mod p}
Với K = (p, q, , a, ), khóa bí mật là K' =a, khóa công khai là K''= (p, q, ,
) Cho x Zp* , ta chọn một số ngẫu nhiên bí mật k, 0 ≤ k ≤ q-1, ta định nghĩa chữ
ký số sigK' (x, k) = (,) , trong đó = (k
mod p) mod q, = (x + a) k-1 mod q
Kiểm thử lại chữ ký số verK''(x, , ) là đúng khi và chỉ khi: (e1e2 mod p) mod q = , trong đó e1 = x-1
chung một kết quả cô đọng nhƣ nhau (tính va chạm [3]) Hàm băm là hàm tính đại diện (hay digest) của một văn bản khi tạo chữ ký điện tử cho văn bản đó
Điều kiện cần thỏa mãn của một hàm băm h:
Trang 321 Khó va chạm (CRHF): Rất khó (về độ phức tạp tính toán) để tìm được
x1x2 mà h(x1)= h(x2)
2 Một chiều (OWHF): Biết y = h(x), rất khó (về độ phức tạp tính toán) để có thể tính ra được x từ y
Hàm băm mã hóa là hàm điển hình được sử dụng để tính đại diện văn bản
khi tạo chữ ký điện tử Độ dài digest của hàm băm mã hóa thường là 128 bit hoặc
nhiều hơn (trong chuẩn chữ ký DSS là 160 bit) Một trong số những hàm băm mã hóa được biết đến rộng rãi là MD5 và SHA
2.6 Hệ mã hóa đường cong Elip
Tư tưởng cơ bản của việc sử dụng đường cong Elip trong hệ mã khóa công khai là dùng một nhóm điểm trên đường cong trong các hệ trên cơ sở logarit rời rạc, được Victor Miller, và cùng lúc đó là Neal Koblitz, đề xuất lần đầu tiên năm 1985 [15]
2.6.1 Nguyên lý hệ mã hóa đường cong Elip
Một đường cong Elip được định nghĩa với biểu thức:
Có được định nghĩa việc bổ sung 2 điểm, người ta định nghĩa phép nhân k*F, trong đó k là một số nguyên dương và P là một điểm bằng tổng k bản sao chép của
Trang 33F Tính bảo mật của đường cong elip dựa vào sự khó khăn trong việc tính k khi cho trước F và k*F
2.6.2 Sử dụng đường cong Elip trong mã hóa
Alice và Bob thỏa thuận trên một đường cong (không bí mật) và một điểm F
cố định trên đường cong (không bí mật) Alice bí mật chọn một số nguyên Ak ngẫu nhiên làm khóa bí mật, và tạo điểm Ap = Ak*F trên đường cong làm khóa công khai
của mình
Bây giờ giả sử Alice muốn gửi một thông điệp cho Bob Một phương pháp
cho Alice là đơn giản tính Ak*Bp và dùng kết quả làm khóa bí mật cho khối mã đối
xứng thông thường (giả sử là DES)
Bob có thể tính được số như vậy bằng việc tính Bk*Ap, khi đó
Bk*Ap = Bk*(Ak*F) = (Bk*Ak)*F = Ak*(Bk*F) = Ak*Bp
Điểm cố định c là một điểm trên đường cong có c*F = 0, trong đó c = b a
và a*F = b*F, b>a
Giá trị c nhỏ nhất thỏa mãn biểu thức trên được gọi là cấp của điểm c
Để cho an toàn, đường cong và điểm cố định cần được lựa chọn sao cho cấp
của điểm cố định F là một số nguyên tố lớn
hệ RSA đối với cùng một yêu cầu về bảo mật
Trang 34Hệ mã hóa đường cong Elip cho hiệu quả cao hơn và tổng chi phí thấp hơn cho việc mã hóa, chữ ký điện tử và quản lý mã khóa làm nó trở thành lựa chọn lý
tưởng cho các hệ chuyển tiền số bằng thẻ thông minh (smart card)
Những ưu điểm của hệ mã hóa đường cong Elip bao gồm:
• Mức độ mã hóa cao nhất trên 1 bít so với các hệ mã hóa công khai được
biết đến
• Tiết kiệm một cách đáng kể việc tính toán, băng thông và dung lượng lưu
trữ so với các hệ mã hóa công khai khác
• Băng thông giảm do chữ ký và xác thực ngắn
• Tốc độ mã hóa vã chữ ký nhanh đối với cả phần cứng và phần mềm
• Lý tưởng để cài đặt cho cấu hình phần cứng nhỏ (như thẻ thông minh)
• Các giai đoạn mã hóa và chữ ký điện tử có thể được tách để kết xuất dễ
dàng
2.7 Xác thực (CA)
Cơ quan xác thực (Certificate Authority-CA) là một thực thể chứng thực định
danh của một người hay một tổ chức nào đó ]?]
Xác thực là một cách để kiểm chứng định danh của một ai đó Xác thực số tương đương với bằng lái xe hay tấm thẻ tín dụng Một tấm bằng lái xe xác định một người có thể lái xe hợp pháp ở một quốc gia nhất định; một tấm thẻ tín dụng xác định một ai đó có số tiền xác định ở một ngân hàng nhất định Xác thực số có thể được sử dụng để chứng thực định danh của một người trên mạng máy tính
Cơ quan xác thực là nhân tố quan trọng trong thương mại điện tử và thanh toán điện tử, thực hiện các công việc về quản trị khóa và giải quyết tranh chấp Trung tâm quản trị khóa bao gồm các chức năng [2]:
Tạo khóa tập trung hay đăng ký khóa
Trang 35 Phân phối khóa
Kích hoạt hoặc ngắt hoạt động khóa (key activation/ key deactivation)
3- Gửi khóa công khai và thông tin bổ sung tới người cấp xác thực (sau khi
mã hóa bằng khóa công khai của người cấp xác thực)
4- Cơ quan cấp xác thực kiểm tra thông tin nhận được và quyết định cấp hay không cấp xác chứng thực
5- Tạo xác thực: CA tạo một văn bản với các thông tin cần thiết (các khóa công khai, ngày hết hạn và các thông tin khác) rồi ký xác nhận bằng chữ ký
Trang 36thực chéo (cross certify) lẫn nhau Điểm chung nhất của sơ đồ phân cấp hay điểm
đến cuối cùng của các xác thực đa tầng chính là cơ quan xác thực gốc Xác thực nhiều lớp làm giảm nhẹ gánh nặng cho cơ quan xác thực gốc hay còn gọi là xác thực trung tâm
2.7.3 Thu hồi xác thực
Xác thực chỉ tồn tại trong một khoảng thời gian nhất định, đƣợc thu hồi nếu
bị lộ hay hết hạn hiệu lực Sự hết hạn của xác thực là rất quan trọng bởi sự gia tăng khả năng tính toán dẫn đến nguy cơ tìm ra những lỗ hổng trong các thuật toán hay các giao thức có thể làm mất đi tính an toàn của xác thực Việc thu hồi xác thực quan trọng khi khóa bí mật bị lộ hay có sự thay đổi về chính sách, nhân sự của một công ty Quá trình thu hồi xác thực đƣợc tiến hành nhờ việc sử dụng Danh sách xác
thực bị thu hồi (Certificate Revocation List)
Hình 4 - Tổ chức hạ tầng khóa công khai
Trang 372.7.4 Tấn công CA
Cặp khóa xác thực có thể là mục tiêu tấn công của những kẻ phân tích mật
mã Vì lú do này, CA cần sử dụng mã khóa dài và cần thay đổi các mã khóa thường xuyên Trung tâm xác thực (gốc) cần những khóa dài đặc biệt, và vì thế nó không được thuận tiện lắm cho việc phải thay đổi thường xuyên vì mã khóa công khai có thể được viết vào một phần mềm được một số lượng đông những người kiểm chứng
sử dụng
Một cách tấn công khác là khi Bob định giả mạo làm Alice Nếu Bob có thể
ký lên thông điệp một cách thuyết phục như Alice, anh ta có thể gửi một thông điệp đến Ngân hàng của Alice và nói "Tôi muốn rút $10,000 từ tài khoản của tôi Xin hãy gửi tiền đến cho tôi" Để thực hiện cách tấn công này, Bob tạo ra một cặp khóa, gửi khóa công khai cho cơ quan xác thực và nói "Tôi là Alice Đây là khóa công khai của tôi Xin hãy gửi xác thực cho tôi" Nếu cơ quan xác thực bị lừa và cấp cho Bob xác thực thì sau đó Bob có thể tiếp tục lừa Ngân hàng và việc tấn công CA của anh ta đã thành công
Để ngăn chặn kiểu tấn công này, CA cần phải xác minh được rằng yêu cầu xác thực đã thực sự xuất phát từ người tạo có yêu cầu Ví dụ CA có thể yêu cầu Alice đến trình diện và trình giấy khai sinh Một số CA có thể yêu cầu chứng nhận thêm một số thông tin khác, nhưng Ngân hàng thì không nên tin tưởng vào những thông điệp được bảo đảm xác thực ở mức thấp như vậy Tất cả các cơ quan xác thực cần phải thiết lập một cách công khai những yêu cầu và chính sách định danh/nhận dạng của mình ; và mọi người sau đó có thể chọn mức bảo mật xác thực phù hợp Một cách tấn công CA khác là Bob hối lộ một nhân viên của CA để cấp cho anh ta một xác thực dưới cái tên của Alice Bây giờ Bob có thể gửi thông điệp ký dưới tên Alice và bất cứ ai nhận được một thông điệp như vậy đều tin rằng nó đáng tin cậy bởi vì những ràng buộc đầy đủ và chặt chẽ về xác thực và kiểm chứng sẽ được đi kèm với thông điệp Kiểu tấn công này có thể bị cản trở bằng việc yêu cầu
Trang 38hai hoặc nhiều hơn hai nhân viên cùng tạo ra xác thực Kẻ tấn công bây giờ sẽ cần phải hối lộ hai hoặc nhiều nhân viên thay vì chỉ cần hối lộ một người như trước đây
2.8 Giao thức và chuẩn an toàn dữ liệu trên Internet
Để thiết lập được các hệ thống bảo mật và an toàn thông tin chung cho toàn
bộ hệ thống Ngân hàng khi xây dựng Internet Banking như đã nêu trong chương 1,
sử dụng các kỹ thuật mã hóa và bảo mật đã trình bày ở trên, các chuẩn an toàn cho giao dịch trên Internet đã được xây dựng và sử dụng phổ biến trong Thương mại điện tử nói chung và Internet Banking nói riêng
Một số chuẩn an toàn trên Internet đang được sử dụng rộng rãi [4]:
• Chuẩn S-HTTP (Secure HTTP): Bảo đảm an toàn tầng ứng dụng cho các
giao dịch web, các Web Server và các ứng dụng Internet
• Chuẩn SSL (Secure Socket Layer): Bảo đảm an toàn các gói dữ liệu tại
tầng mạng
• Chuẩn S/MIME (Secure MIME): Bảo đảm an toàn e-mail qua các môi
trường mạng phức tạp, ứng dụng cho các gói e-mail với mật mã RSA và chữ ký điện tử
• Chuẩn S/WAN (Secure Wide-Area Nets): Mã hóa điểm-điểm giữa các
bức tường lửa (firewall) và các bộ chọn đường
• Chuẩn SET (Secure Electronic Transaction): Bảo đảm an toàn giao dịch
thẻ Tín dụng
Các loại chuẩn được phân loại theo mục đích bảo đảm an toàn:
Chuẩn bảo đảm an toàn kết nối
Chuẩn bảo đảm an toàn ứng dụng
Dưới đây là ba cách sử dụng chuẩn an toàn trên mạng phổ biến hiện nay [4]:
Trang 39Hình 5 - Ba cách sử dụng chuẩn an toàn trên Internet
*
Trang 40CHƯƠNG 3- HỆ THỐNG BẢO MẬT INTERNET BANKING
NHCT VN
3.1 Giới thiệu hệ thống thông tin NHCT VN
3.1.1 Giới thiệu về NHCT VN
Ngân hàng Công thương Việt nam (NHCT VN), tên giao dịch tiếng Anh viết
tắt là Incombank of Vietnam, là một trong bốn ngân hàng thương mại quốc doanh
lớn nhất nước ta Được thành lập từ năm 1988, đến nay NHCT VN đã có mạng lưới hoạt động gồm 120 chi nhánh và 522 điểm giao dịch trên 47 tỉnh thành trong nước NHCT VN còn có mạng lưới đại lý với 623 ngân hàng trên thế giới [7,8]
Sơ đồ dưới đây mô tả mô hình quản lý của hệ thống NHCT VN:
Hình 6 - Mô hình tổ chức quản lý của Ngân hàng Công thương Việt nam