Máy rút tiền tự động hay máy giao dịch tự động (còn được gọi là ATM, viết tắt của Automated Teller Machine hoặc Automatic Teller Machinetrong tiếng Anh) là một thiết bị ngân hàng giao dịch tự động với khách hàng, thực hiện việc nhận dạng khách hàng thông qua thẻ ATM (thẻ ghi nợ, thẻ tín dụng) hay các thiết bị tương thích, và giúp khách hàng kiểm tra tài khoản, rút tiền mặt, chuyển khoản, thanh toán tiền hàng hóa dịch vụ. Hiện người ta vẫn còn bàn cãi về người sáng chế ra máy ATM. Theo đó, Luther George Simjian một nhà phát minh người Thổ Nhĩ Kỳ là người đầu tiên nghĩ ra loại máy có lỗ đặt áp vào tường cho phép khách hàng có thể thực hiện mọi giao dịch tài chính. Simjian bắt đầu đăng ký bằng sáng chế cho ý tưởng này vào năm 1939. Ông đã cố thuyết phục một ngân hàng ngày nay là Ngân hàng Citicorp thử lắp đặt máy phát tiền tự động này. Thế nhưng chỉ trong vòng 6 tháng sau, người ta phải tháo dỡ loại máy trên do nhu cầu sử dụng không cao. Theo Simjian, khách hàng giao dịch qua máy thường chỉ là... các cô gái điếm và các con bạc vốn không thích thú việc giao dịch trực tiếp với nhân viên thu ngân. Cũng có giả thuyết cho rằng máy phát tiền mặt tự động đầu tiên là do John ShepherdBarron sáng chế vào giữa thập niên 1960. Hồi đó xuất phát từ nhu cầu của bản thân muốn có thể rút tiền từ ngân hàng bất cứ lúc nào nên ông đã nghĩ ra loại máy rút tiền tự động. Loại máy do ShepherdBarron chế tạo có thể thực hiện giao dịch bất cứ lúc nào với tần số 247 (tức 24 giờngày và 7 ngàytuần) và được lắp đặt lần đầu tiên tại chi nhánh Ngân hàng Barclays ở London (Anh) vào năm 1967. Lúc đó, khách hàng chỉ được rút tối đa 10 bảng Anh cho một lần giao dịch. Thế nhưng, các chuyên gia đã không công nhận đây là loại máy ATM vì chúng luôn nuốt thẻ và khách hàng phải mua thẻ khác nếu muốn thực hiện một giao dịch nữa. Theo họ, loại máy ATM đầu tiên mà chúng ta đang sử dụng chính là loại máy đã ra mắt công chúng vào năm 1969 tại Ngân hàng Chemical Bank ở New York (Mỹ). Tác giả của loại máy ATM trên chính là Don Wetzel Phó giám đốc chi nhánh kế hoạch sản phẩm của Docutel (một công ty chuyên về máy tự động xử lý hành lý). Ông nảy ra ý tưởng tạo ra chiếc máy ATM hiện đại trong một lần xếp hàng chờ rút tiền tại một ngân hàng ở Dallas. Ông trình bày ý tưởng của mình và được Công ty Docutel hỗ trợ tài chính. Với số tiền 5 triệu USD, Wetzel cùng 2 cộng sự đã chế tạo thành công chiếc máy ATM đầu tiên trên thế giới. Họ được nhận bằng sáng chế vào năm 1973.
ĐỒ ÁN NHẬP MÔN CNTT TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN KHOA HỌC MÁY TÍNH TỔNG QUAN VÀ NGHIÊN CỨU VỀ HỆ THỐNG MÁY ATM VÀ CÁC THIẾT BỊ PHỤ TRỢ ĐỒ ÁN CUỐI KÌ NHẬP MƠN CNTT GIÁO VIÊN HƯỚNG DẪN TS LÊ NGỌC THÀNH Ngành: Công Nghệ Thông tin KHĨA 2018 - 2022 ĐỒ ÁN NHẬP MƠN CNTT MỤC LỤC CHƯƠNG TỔNG QUAN VỀ MÁY ATM VÀ HỆ THỐNG THANH TOÁN ATM 1.1 GIỚI THIỆU VỀ MÁY ATM VÀ HỆ THỐNG THANH TOÁN ATM 1.1.1 Khái niệm máy ATM (Automated Teller Machine Automatic Teller Machine) 1.1.2 Lịch sử đời 1.1.3 Sự phát triển máy ATM 1.1.4 Tình hình phổ biến máy ATM qua giai đoạn 1.2 CHỨC NĂNG CỦA VIỆC SỬ DỤNG MÁY ATM CHƯƠNG CẤU TRÚC MÁY ATM VÀ HỆ THỐNG THANH TOÁN ATM 2.1 2.2 2.3 2.4 2.1.1 2.1.2 ĐỊNH NGHĨA PHÂN LOẠI MÁY LUỒNG XỬ LÝ GIAO DỊCH TRONG HỆ THỐNG ATM CẤU TẠO MÁY PHẦN CỨNG: PHẦN MỀM: 11 CHƯƠNG THẺ TỪ, THẺ CHIP 12 3.1 THẺ TỪ 12 3.1.1 Tính chất vật lý thẻ 12 3.1.2 Thông tin dập thẻ 12 3.1.3 Thông tin lưu vạch từ thẻ 13 3.1.4 Cấu trúc số thẻ 15 3.1.5 Định dạng thông điệp (message) máy ATM 17 3.2 HỆ THỐNG THANH TOÁN CHO THẺ CHIP 26 3.2.1 Thẻ chip 26 3.2.2 Sự phát triển thẻ chip 26 3.2.3 Tổng quan thẻ chip 27 CHƯƠNG VẤN ĐỀ AN TỒN THƠNG TIN TRONG HỆ THỐNG ATM .28 4.1 4.1.1 4.1.2 4.1.3 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.4 MÃ HÓA TRONG HỆ THỐNG ATM 28 Thuật tốn mã hóa 28 Khóa bí mật hệ thống ATM 30 Thiết bị mã hóa hệ thống ATM 34 MÃ HÓA VÀ GIẢI MÃ SỐ PIN 34 Khái niệm số PIN (Personal Identification Number) 34 Mã hóa pin ATM 35 Xác thực PIN HSM 36 GIẢI PHÁP BẢO MẬT VÀ ĐẢM BẢO AN TỒN THƠNG TIN TRONG ATM 38 Kiểm tra tính đắn số thẻ - Card number Check Digit 38 Xác thực tính hợp lệ thẻ - Card Authentiocation values 40 Bảo đảm an tồn thơng tin giao dịch 42 Bảo đảm an toàn phần mềm ATM 42 Bảo đảm an toàn hệ điều hành 42 Bảo đảm an tồn chống cơng vật lý 43 Bảo đảm an tồn từ phía ngân hàng 43 Bảo đảm an tồn từ phía người dùng 43 NHẬN XÉT 44 CHƯƠNG CHƯƠNG TRÌNH THỰC HIỆN MÃ HĨA VÀ GIẢI MÃ VỚI HỆ MÃ DES 45 ĐỒ ÁN NHẬP MÔN CNTT 5.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH 45 5.2 CÁC CHỨC NĂNG CHÍNH 45 5.2.1 Giao diện chương trình 45 5.2.2 Quá trình lập mã 46 5.2.3 Quá trình giải mã 49 ĐỒ ÁN NHẬP MÔN CNTT Chương TỔNG QUAN VỀ MÁY ATM VÀ HỆ THỐNG THANH TOÁN ATM 1.1 Giới thiệu máy ATM hệ thống toán ATM 1.1.1 Khái niệm máy ATM (Automated Teller Machine Automatic Teller Machine) Máy rút tiền tự động hay máy giao dịch tự động (còn gọi ATM, viết tắt Automated Teller Machine Automatic Teller Machinetrong tiếng Anh) thiết bị ngân hàng giao dịch tự động với khách hàng, thực việc nhận dạng khách hàng thông qua thẻ ATM (thẻ ghi nợ, thẻ tín dụng) hay thiết bị tương thích, giúp khách hàng kiểm tra tài khoản, rút tiền mặt, chuyển khoản, tốn tiền hàng hóa dịch vụ Hình 1.1: Một máy ATM 1.1.2 Lịch sử đời Hiện người ta bàn cãi người sáng chế máy ATM Theo đó, Luther George Simjian - nhà phát minh người Thổ Nhĩ Kỳ - người nghĩ "loại máy có lỗ đặt áp vào tường" cho phép khách hàng thực giao dịch tài Simjian bắt đầu đăng ký sáng chế cho ý tưởng vào năm 1939 Ông cố thuyết phục ngân hàng - ngày Ngân hàng Citicorp - thử lắp đặt máy phát tiền tự động Thế vòng tháng sau, người ta phải tháo dỡ loại máy nhu cầu sử dụng không cao Theo Simjian, khách hàng giao dịch qua máy thường gái điếm bạc vốn khơng thích thú việc giao dịch trực tiếp với nhân viên thu ngân ĐỒ ÁN NHẬP MƠN CNTT Cũng có giả thuyết cho máy phát tiền mặt tự động John Shepherd-Barron sáng chế vào thập niên 1960 Hồi xuất phát từ nhu cầu thân muốn rút tiền từ ngân hàng lúc nên ông nghĩ loại máy rút tiền tự động Loại máy ShepherdBarron chế tạo thực giao dịch lúc với tần số 24/7 (tức 24 giờ/ngày ngày/tuần) lắp đặt lần chi nhánh Ngân hàng Barclays London (Anh) vào năm 1967 Lúc đó, khách hàng rút tối đa 10 bảng Anh cho lần giao dịch Thế nhưng, chuyên gia không công nhận loại máy ATM chúng ln nuốt thẻ khách hàng phải mua thẻ khác muốn thực giao dịch Theo họ, loại máy ATM mà sử dụng loại máy mắt công chúng vào năm 1969 Ngân hàng Chemical Bank New York (Mỹ) Tác giả loại máy ATM Don Wetzel - Phó giám đốc chi nhánh kế hoạch sản phẩm Docutel (một công ty chuyên máy tự động xử lý hành lý) Ông nảy ý tưởng tạo máy ATM đại lần xếp hàng chờ rút tiền ngân hàng Dallas Ơng trình bày ý tưởng Cơng ty Docutel hỗ trợ tài Với số tiền triệu USD, Wetzel cộng chế tạo thành công máy ATM giới Họ nhận sáng chế vào năm 1973 1.1.3 Sự phát triển máy ATM Trong năm 1969, Chemical Bank phát động chiến dịch quảng cáo ATM rầm rộ với ngữ: "Kể từ ngày 2/9, ngân hàng mở cửa lúc sáng không đóng cửa nữa" Thế từ dạo ấy, khách hàng có thẻ tín dụng khơng cần phải xếp hàng chờ đến phiên nhân viên ngân hàng giải cho rút tiền mặt Chỉ cần đút plastic có vẹt từ trường vào máy ATM, khách hàng rút tiền mặt lúc thích, kể ngày cuối tuần Tiếp sau Chemical Bank, nhiều ngân hàng khác bắt đầu chiến dịch lắp đặt quảng bá máy ATM Năm 1973, Mỹ có 2.000 máy ATM hoạt động tồn quốc Chi phí cho máy ATM lúc vào khoảng 30.000 USD Hiện riêng Mỹ, số lượng máy ATM đưa vào sử dụng lên đến 371.000 Bạn thấy ATM khơng có siêu thị, sân bay mà diện nhiều cửa hàng bán thức ăn nhanh McDonald hay cửa hàng rượu nhỏ Mỹ Ngay khu vực núi đá cheo leo South Rim thuộc dải Grand Canyon hiểm trở bang Colorado (Mỹ) có máy ATM Ngày nay, ATM diện khắp nơi giới, chí vành đai Bắc cực hay trạm quan sát McMurdo Station Nam cực có vài máy Nếu Nữ hồng Anh Elizabeth II cần tiền để "boa" cho cảnh vệ mình, bà rút tiền từ máy ATM lắp đặt sẵn cung điện Buckingham London Riêng Việt Nam, theo thống kê Vụ Thanh toán-Ngân Hàng Nhà Nước Việt Nam đă có 18.000 máy ATM 1.1.4 Tình hình phổ biến máy ATM qua giai đoạn ĐỒ ÁN NHẬP MÔN CNTT Hình 1.2: Tình hình phổ biến máy ATM qua năm 1.2 Chức việc sử dụng máy ATM Có thể nói, nhờ vào phát triển không ngừng công nghệ, máy ATM ngày khơng có chức ngày đời mà tích hợp nhiều công dụng khác, bao gồm: Rút tiền, kiểm tra tài khoản: Đây chức máy ATM, thay phải đến quầy giao dịch, xếp hàng xử lý hàng loạt thủ tục giấy tờ với thẻ ATM, người ta cần ghé ATM thực thao tác đơn giản để có khoản tiền mặt từ tài khoản thẻ Mọi người không cần phải mang theo tiền mặt nhiều để tránh mát mà mang theo khoản vừa đủ, cần có ATM Chuyển khoản: Các khách hàng ngân hàng chuyển khoản cho thông qua hệ thống ATM Đặc biệt số ngân hàng lớn Techcombank, Vietcombank, bạn chuyển tiền cho người nhận ngân hàng khác Điều góp phần đáng kể việc hạn chế tiền mặt lưu thơng thị trường Thanh tốn hóa đơn, dịch vụ: Ngày máy ATM đại làm nhiều việc bạn nghĩ Thay chạy qua sở điện lực hay bưu điện điện để tốn loại phí sinh hoạt, máy ATM giúp bạn giải hết phút Khơng ATM tốn thẻ tín dụng, hóa đơn điện thoại di động, phí bảo hiểm… Rút tiền khơng cần thẻ: Tính giúp bạn đáp ứng nhu cầu cấp thiết tiền mặt không mang thẻ theo bên ĐỒ ÁN NHẬP MƠN CNTT Yêu cầu chuyển tiền vào tài khoản tiết kiệm có kỳ hạn In kê rút gọn Chương CẤU TRÚC MÁY ATM VÀ HỆ THỐNG THANH TOÁN ATM 2.1 Định nghĩa ATM viết tắt Automated Teller Machine Automatic Teller Machine tiếng Anh ATM hay Automated Teller Machine, Automatic Teller Machine dịch tiếng Việt có nghĩa máy rút tiền tự động Nghĩa Automated Teller Machine, Automatic Teller Machine hiểu phổ biến Mỹ, Úc, Singapore, Ấn Độ, Cộng hòa Maldives, Sri Lanka Ngồi ATM hiểu Automated Banking Machine Canada Dịch tiếng Việt sát nghĩa có khó nghe tý Máy ngân hàng tự động Hình 2.1: Một số kiểu dáng máy ATM 2.2 Phân loại máy Theo vị trí: • • • • ATM đặt sảnh, hành lang ATM độc lập ATM thường xuyên ATM đặt nơi thu vé xe Theo chức ĐỒ ÁN NHẬP MÔN CNTT • Máy có chức rút tiền • Máy có chức cao cấp (thanh tốn trả số dịch vụ khác) 2.3 Luồng xử lý giao dịch hệ thống ATM Màn hình đợi (màn hình hiển thị quảng cáo ngân hàng) Cho thẻ ATM nhận số PIN Kiểm tra số thẻ: Kiểm tra số Check Digit, kiểm tra số CVV/CVC Kiểm tra PIN: Kiểm tra số PIN đƣợc nhập vào với PIN lưu CSDL Core Bank ngân hàng Nếu đúng, hiển thị loại giao dịch để chủ thẻ lựa chọn Thực giao dịch: Khi thực thành cơng, tùy theo loại giao dịch mà ATM nhả thẻ khơng (Thường rút tiền xong ATM nhả thẻ ra) Trở hình đợi: Khi không thực giao dịch (khi nhả thẻ nuốt thẻ) hình ATM trở trạng thái ban đầu 2.4 Cấu tạo máy ATM thiết bị chuyên biệt sử dụng lĩnh vực ngân hàng,được gọi kênh phục vụ tự động ngân hàng Do đó, cần có cấu tạo đặc biệt để thực chức yêu cầu Cấu tạo máy ATM gồm phần Phần cứng Phần mềm: Hình 2.2: Cấu tạo máy ATM 2.1.1 PHẦN CỨNG: Gồm có thiết bị đầu vào (đầu đọc thẻ, bàn phím) thiết bị đầu (loa, hình, thiết bị in biên lai giao dịch, thiết bị xử lý tiền) ĐỒ ÁN NHẬP MƠN CNTT 2.1.1.1 Màn hình: Có thể hình CRT, hình LCD Ví dụ: Màn hình Deibold 10.4” Color LCD (XGA) Màn hình NCR 9” LCD text only or 9.5” VGA flat panel LCD Hình 2.3: Màn hình máy ATM Netronic ATM 2.1.1.2 Bộ phận trả tiền: Đây phận quan trọng máy ATM, giúp máy phân loại, đếm cung cấp tiền cho chủ thẻ Bao gồm máy đếm tiền, băng truyền tải khe trả tiền đặt hộp đựng tiền Khi thực rút tiền, phần mềm điều khiển ATM tính tốn số tiền trả theo nhiều mệnh giá tiền khác nhau, cấu hình theo yêu cầu ngân hàng Máy đếm tiền chủ yếu sử dụng kỹ thuật đếm chân khơng (kéo tiền lên lực hút), ngồi dùng kỹ thuật ma sát để lấy tiền hộp đựng tiền Máy trả 40 đến 50 tờ tiền đến loại tiền lần trả 2.1.1.3 Bàn phím chức năng: Là loại bàn phím thực giao dịch thường kim loại Hình 2.4 Bàn phím ATM Chủ thẻ sử dụng bàn phím để nhập mã PIN, số tiền giao dịch, số tài khoản… Nếu chủ thẻ nhập số PIN sai lần liên tiếp, máy ATM tự động nuốt thẻ(tùy thuộc sách NH), nhằm đảm bảo an toàn trƣờng hợp thẻ bị đánh cắp cố tình dò số PIN ĐỒ ÁN NHẬP MƠN CNTT Bàn phím máy ATM thiết bị mã hóa theo thuật tốn DES hay TripleDES thiết bị phần cứng 2.1.1.4 Bàn phím kí tự: Là loại bàn phím dùng để nhập tham số cho hệ thống phần mềm ATM (như bàn phím thông thường máy PC) Được dùng cho nhà quản trị 2.1.1.5 Đầu đọc thẻ: Dùng để đọc thông tin rãnh từ mặt sau thẻ Các thông tin náy gắn vào thông điệp chuyển đến ngân hàng nơi chủ thẻ mở tài khoản Đầu đọc thẻ thiết kế để đọc hai loại thẻ từ thẻ chip 2.1.1.6 Máy ghi nhật ký giao dịch: Ghi lại thông tin toàn giao dịch đƣợc thực máy ATM Các thông tin sử dụng để kiểm soát đối chiếu kiểm quỹ yêu cầu tra soát chủ thẻ Máy in biên lai giao dịch: Thông thường sau giao dịch máy tự động in biên lai, giúp người sử dụng ATM dễ dàng nắm bắt thông tin lần giao dịch Thơng tin biên lai giao dịch tùy thuộc ngân hàng tùy theo loại giao dịch Thông thường bao gồm: tên ngân hàng, ngày tháng giao dịch, mã máy ATM, khối lượng giao dịch… 2.1.1.7 Khay chứa tiền: Mỗi máy ATM thường có đến khay đựng tiền, tùy theo nhà sản xuất (NCR có 4, Deboil có 5) khay đựng tiền đƣợc cấu hình theo mệnh giá tiền khác Ngồi máy có hộp để đựng tiền xu Mỗi khay đựng tiền thường chứa khoảng 3000 đến 4000 tờ tiền 2.1.1.8 Máy PC(core) điều khiển: Là máy tính PC chuyên dụng, đƣợc dùng cho máy ATM Máy PC thông thường chạy hệ điều hành Windows XP Windows NT (Hiện thời Microsoft ngừng hỗ trợ hệ điều hành Windows NT nên dòng máy dùng hệ điều hành Windows XP) Trên PC cài đặt phần mềm để kiểm soát hoạt động ATM - Với máy Diebold AgilisTM - Với máy NCR APTRA Dòng máy Opteva Dieblod Dòng máy NCR - Pentium 3Ghz (sk 775) (Codename - PIII 700 Mhz, or a PIII 850Mhz processor Denver), 800 system bus speed - 128 MB RAM expandable to 256 MB - 256MB DDR standard memory - Read Only CD ROM - USB 2.0 Architecture CD ROM Read/Write - Mixed Architecture (SDC and USB) - 80Gb SATA HDD - OS windows NT or XP - Intel Mainboard with 915 chipset family for Diebold only - OS Windows XP Bảng 2.1: Ví dụ cấu hình máy PC Diebold NCR: (tính đến năm 2007) 10 ĐỒ ÁN NHẬP MÔN CNTT Mã PIN có độ dài tối thiểu chữ số tối đa 12 chữ số Các ngân hang Việt Nam sử dụng mã PIN khơng q chữ số Hình 4.7: Người dùng thay đổi mã PIN 4.2.2 Mã hóa pin ATM Để đảm bảo độ an toàn số PIN trình truyền mạng, số PIN chuyển thành khối PIN (PIN block) khối PIN mã hóa trước chuyển từ ATM tới hệ thống switch Khối PIN mã hóa khóa cấu hình ( thỏa thuận) trước ATM hệ thống switch Thuật toán DES (3DES) làm việc với khối liệu đầu vào có dộ dài 64 bit, nên PIN block xây dựng cách module-2 (XOR) hai trường 64 bit theo chuẩn ISO 9564-1 bao gồm : - Trường số PIN theo khuôn dạng 64 bit - Trường số PAN theo khuôn dạng 64 bit Điều kiện đầu vào kết đầu q trình mã hóa số PIN 35 ĐỒ ÁN NHẬP MƠN CNTT • Đầu vào : - Số thẻ - PAN - Số PIN • Đầu : Khối PIN block mã hóa thuật tốn DES (3DES) có độ dài 64 bit Q trình xác thực PIN làm HSM, giá trị trả HSM cho biết số PIN nhập hay sai Hình 4.8: Minh họa bước mã hóa giải mã PIN block 4.2.3 Xác thực PIN HSM Để xác thực PIN HSM gồm trình sau : - Giải mã PIN nhâp từ máy ATM mã hóa - Giải mã PIN lưu CSDL CoreBank mã hóa - So sánh số PIN nhập số PIN lưu CSDL 36 ĐỒ ÁN NHẬP MÔN CNTT - Quá trình xác thực thực HSM Kết đầu số PIN nhập vào hay sai Hình 4.9: Quá trình xác thực số PIN Các bước thực xác thực PIN : Người dùng cho thẻ vào ATM nhập số PIN Thiết bị EPP tạo PIN block Giải mã khoa WK khóa LMK Mã hóa PIN block theo khóa WK, khối PIN gắn vào thông điệp gửi cho switch Bản mã WK switch giải mã khóa LMK HSM Khối PIN block giải mã WK Bản PVK switch giải khóa LMK HSM Khối PIN lưu CSDL khách hàng giải khóa PVK, sau so sánh với khối PIN block module PIN Verification 37 ĐỒ ÁN NHẬP MÔN CNTT Kết so sánh gửi lại cho ATM 4.3 Giải pháp bảo mật đảm bảo an toàn thơng tin ATM 4.3.1 Kiểm tra tính đắn số thẻ - Card number Check Digit 4.3.1.1 Định nghĩa số CD-Check Digit Trong trình phát hành thẻ, module quản lý thẻ CMS (Card Management System) hệ thống Switch tính tốn số (nằm 51 khoảng từ đến 9) gắn vào cuối thẻ, số gọi Check Digit (CD), chữ số để kiểm tra số thẻ hay sai Chữ số khoảng 0-9 nên dễ dàng tìm đƣợc cách thay đổi chữ số cuối thẻ với giá trị từ 0-9 4.3.1.2 Giải thuật tính số CD Sử dụng giải thuật Luhn để sinh số CD Giải thuật Luhn cách thức kết hợp chữ số mã số thẻ tín dụng (các chữ số xen kẽ nhau) kiểm tra tổng cuối có chia hết cho 10 hay khơng Nếu thẻ hợp lệ Khi kiểm tra PIN nhập vào thẻ hệ thống Swtich kiểm tra đồng thời số CD Căn vào thơng tin thẻ, hệ thống tính số CD so khớp thẻ hợp lệ Giải thuật thực sau: Từ số thẻ cho trước ta làm từ trái qua phải Các số nằm dòng chẵn nhân với Các số nằm dòng lẻ nhân với Kiểm tra kết tính được, số lớn trừ Cộng kết tính lại với ta đƣợc số 38 ĐỒ ÁN NHẬP MÔN CNTT Thực phép tính lấy số đơn vị số cộng với số cần tính để thành 10, giải phép tốn ta số CD A Quy trình tạo số CD Ví dụ: ta có số thẻ sau: 118822987654321Y, ta cần sinh số Y cho số thẻ hợp lệ B Quy trình kiểm tra số CD Hoàn toàn tương tự trên, sau cộng chữ số lại gồm số CD ta tổng, tổng chia hết cho 10 số thẻ hợp lệ 39 ĐỒ ÁN NHẬP MƠN CNTT 4.3.2 Xác thực tính hợp lệ thẻ - Card Authentiocation values 4.3.2.1 Định nghĩa số CVV/CVC Khi phát hành thẻ để đảm bảo thẻ không bị làm giả, người ta sử dụng số CVV/CVC (Card Verification/ Card Verification Code) để phân biệt thẻ thật thẻ giả Mỗi loại thẻ phát hành có số CVV/CVC lưu rãnh từ, để sinh số người ta sử dụng điều kiện đầu vào bao gồm số thẻ PAN, ngày hết hạn thẻ Card expiration date mã dịch vụ service code Các giá trị đầu vào thẻ có số CVV/CVC Khi kiểm tra PIN nhập vào chủ thẻ hệ thống Switch kiểm tra đồng thời số CVV/CVC Căn vào thơng tin thẻ, hệ thống tính số CVV/CVC so khớp với số CVV/CVC lưu thẻ, khớp thẻ hợp lệ Giải thuật sinh số CVV/CVC: Sử dụng thuật tốn DES với độ dài khóa bí mật 64 bit Input: chuỗi 64 bit hay 16 bit ký tự hexa đƣợc gọi Transformed Security Parameter (TSP), TSP tính từ số thẻ PAN, ngày hết hạn thẻ card expiration date (YYMM) mã dịch vụ service code Output: 16 ký tự hexa (64 bit) a Cách tạo số TSP TSP có định dạng gồm chữ số tính từ bên phải số PAN loại trừ số cuối cộng với số Exp date cộng với số Service code 40 ĐỒ ÁN NHẬP MÔN CNTT PAN: 2244661234567890 Exp date: 1012 Service code: 101 TSP = 1234567891012101 b Cách tính số CVV/CVC Ba số CVV/CVC tính sau: - Từ dãy số 16 ký tự hexa kết đầu ta từ trái qua phải, CVV/CVC số thập phân dãy số 16 ký tự hexa - Nếu không tìm đủ số thập phân số thiếu sử dụng số khơng phải số thập phân tính từ trái qua chuyển sang số thập phân theo công thức A> 0; B-> 1; C-> 2; D-> 3; E-> 4; F-> Ví dụ: output from DES: 0FAB9CDEFFEFDCBA =>> CVV/CVC 095 4.3.2.2 Xác thực số CVV/CVC Quá trình xác thực diễn với trình xác thực PIN chủ thẻ mô tả bên 41 ĐỒ ÁN NHẬP MÔN CNTT a Khi thực xác thực PIN, đồng thời thơng tin thẻ Track gửi đến Switch Thông tin để xác thực bao gồm số PAN, ngày hết hạn thẻ Expire date, mã dịch vụ Service code số CVV/CVC b Bản mã khóa CVK Switch giải mã khóa LMK HSM c Sử dụng khóa CVK thuật toán DES để sinh số CVV/CVC Kiểm tra số CVV/CVC sinh với số CVV/CVC gửi đến d Kết kiểm tra gửi trả lại cho ATM 4.3.3 Bảo đảm an tồn thơng tin giao dịch + Bảo mật số PIN + Bảo đảm an tồn khóa bí mật hệ thống ATM Để đảm bảo an tồn thơng tin giao dịch ATM số PIN mã hóa trước thực giao dịch Số PIN chủ thẻ lưu CSDL Corebank Không truy cập xác định rõ bất ký khóa bí mật lưu trữ thiết bị EPP, HSM cách bất hợp pháp Khi bị xâm nhập cách bất hợp pháp, khóa bí mật tự hủy Khóa có độ dài 64 bit, 128 bit 192 bit tùy theo cách sử dụng khóa chọn mã hóa DES hay DES 4.3.4 Bảo đảm an toàn phần mềm ATM Đảm bảo phần mềm cài đặt có quyền không cài đặt phần mềm không cho phép Đảm bảo an toàn mật truy nhập vào phần mềm 4.3.5 Bảo đảm an toàn hệ điều hành Để đảm bảo an toàn cho hệ điều hành ta cần thực số nội dung sau Vì hệ điều hành máy ATM sử dụng nguyên lý hệ điều hành thông thường nên ta cần bảo đảm an toàn theo khuyến cáo nhà sản xuất o o o Tắt service khơng dùng Đóng cổng khơng dùng Thiết lập Firewall cho máy ATM 42 ĐỒ ÁN NHẬP MÔN CNTT 4.3.6 Bảo đảm an tồn chống cơng vật lý ATM bảo vệ vỏ thép, hộp đựng tiền đặt tủ mà gọi két sắt Két sắt gồm có khóa số khóa chìa để đảm bảo an tồn ATM sử dụng chế phát rung, hệ thống chuông rung để thông báo ATM bị cơng ATM có hệ thơng phun mực vào tờ tiền hộp đựng tiền bị xâm nhập trái phép ATM có hệ thống camera giám sát 4.3.7 Bảo đảm an tồn từ phía ngân hàng Thiết lập danh sách thẻ nóng, thẻ đen để hạn chế gian lận tội phạm Phân quyền kiểm soát truy cập đến tài nguyên hệ thống, cho thông tin không bị lộ với người không phép, thông tin sẵn sàng cho người dùng hợp pháp 4.3.8 Bảo đảm an tồn từ phía người dùng Một khó thân chủ thẻ khơng biết bị cắp tài khoản, đến kiểm tra số dư thấy nghi ngờ Còn thân ngân hàng khơng thể nắm rõ đâu giao dịch chủ thẻ, đâu tội phạm Vì thế, cảnh giác chủ thẻ vơ quan trọng khách hàng người đảm bảo an toàn cho thơng tin giao dịch Khi thơng tin thẻ bị lộ, thơng báo cho phía ngân hàng để ngân hàng khóa thẻ kiểm tra giao dịch nghi vấn liên quan đến thẻ Chủ thẻ cần phải ý trò gian lận ATM sau: 4.3.8.1 Lấy cắp thẻ số PIN Bước đầu tiên, bọn tội phạm lắp vào khe đọc thẻ máy miến nhựa có khả giữ thẻ ngăn máy thả Khi chủ thẻ nghĩ thao tác nhầm bị máy nuốt thẻ, khơng ý xem khe đọc thẻ có bất thường khơng Khi kẻ gian lại gần chúng “tư vấn” chủ thẻ nên nhập lại số PIN để lấy lại thẻ theo dõi Tất nhiên việc nhập lại số PIN chả giúp cho chủ thẻ lại hội để kẻ gian biết mật mã truy cập vào tài khoản thẻ nạn nhân Khi chủ thẻ thất vọng bỏ đi, kẻ gian lại lấy thẻ ra, dùng PIN vừa nhìn trộm để truy cập vào tài khoản rút tiền 43 ĐỒ ÁN NHẬP MÔN CNTT 4.3.8.2 Trộm liệu Đây cách ăn cắp thông tin tài khoản PIN mà không cần tiếp cận trực tiếp với chủ thẻ Thông thường, bọn tội phạm cài thêm thiết bị đọc liệu vào khe đọc ATM Khi chủ thẻ thực giao dịch, tồn thơng tin thẻ lưu giữ lại thiết bị đọc thẻ mà bọn tội phạm cài vào Khi nạn nhân đi, bọn tội phạm lấy thiết bị ra, sử dụng thông tin vừa chôm để làm thẻ giả mua hàng qua mạng, qua điện thoại 4.3.8.3 Trộm liệu camera Bọn tội phạm lắp đặt thiết bị đọc thẻ vào máy trước, chúng lấy liệu tài khoản số PIN từ xa nhờ camera mà chúng lắp kín máy ATM Camera thường đặt kín đáo, vị trí ghi hình tồn thao tác chủ thẻ lưu giữ liệu 4.3.8.4 Nhìn trơm qua vai Bọn tội phạm đứng gần ATM, theo dõi trình bạn thao tác máy Để tránh loại tội phạm này, phần lớn ngƣời tiêu dùng cảnh giác che bàn phím nhập mã số Việc ăn cắp liệu thô sơ, song dễ thực khơng phải chủ thẻ thận trọng giao dịch máy Bọn tội phạm đứng nấp gần ATM theo dõi chủ thẻ họ nhập PIN Sau đó, chúng tìm cách làm chủ thẻ tập trung, chẳng hạn hét lên đánh rơi tiền hỏi tiền Trong lúc chủ thẻ nhãng, kẻ gian liền cuỗm thẻ chủ thẻ 4.4 Nhận xét Qua nghiên cứu hoạt động bảo mật thông tin hệ thống toán tự động ATM trình bày chương trên, việc bảo mật CSDL, bảo mật thông tin đường truyền bảo mật mã PIN quan trọng nhất, bảo mật hệ thống đóng vai trò quan trọng Với giải pháp an toàn bảo mật cho hệ thống ATM nêu hệ thống ATM an tồn cho người sử dụng Về phía người sử dụng, cần có ý thức việc đảm bảo an tồn thẻ ATM giữ tuyệt đối an tồn cho số PIN, thẻ ATM đảm bảo an toàn giao dịch 44 ĐỒ ÁN NHẬP MÔN CNTT Đối với Việt Nam thẻ từ phổ biến, mức độ an tồn thẻ từ khơng cao (dễ bị làm giả, chép) xu tương lai thẻ chip thay thẻ từ Chương CHƯƠNG TRÌNH THỰC HIỆN MÃ HĨA VÀ GIẢI MÃ VỚI HỆ MÃ DES 5.1 Giới thiệu chương trình DES (viết tắt Data Encryption Standard, hay Tiêu chuẩn Mã hóa Dữ liệu) phương pháp mật mã hóa FIPS (Tiêu chuẩn Xử lý Thơng tin Liên bang Hoa Kỳ) chọn làm chuẩn thức vào năm 1976 Sau chuẩn sử dụng rộng rãi phạm vi giới Ngay từ đầu, thuật tốn gây nhiều tranh cãi, bao gồm thành phần thiết kế mật, độ dài khóatương đối ngắn, nghi ngờ cửa sau để Cơ quan An ninh quốc gia Hoa Kỳ (NSA) bẻ khóa Do đó, DES giới nghiên cứu xem xét kỹ lưỡng, việc thúc đẩy hiểu biết đại mật mã khối (block cipher) phương pháp thám mãtương ứng Hiện DES xem không đủ an toàn cho nhiều ứng dụng Nguyên nhân chủ yếu độ dài 56 bit khóa nhỏ Khóa DES bị phá vòng chưa đầy 24 Đã có nhiều kết phân tích cho thấy điểm yếu mặt lý thuyết mã hóa dẫn đến phá khóa, chúng khơng khả thi thực tiễn Thuật toán tin tưởng an tồn thực tiễn có dạng Triple DES (thực DES ba lần), lý thuyết phương pháp bị phá Gần DES thay AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã hóa Tiên tiến) 5.2 Các chức 5.2.1 Giao diện chương trình Hướng dẫn cách chạy CT: Mở Visual 2013 Mở project TPEncryption thư mục: Chương trình thuật tốn DES Nhấn Ctrl + F5, để build lại chạy chương trình Mở file FormDES.cs để xem code thuật tốn DES Nếu máy chưa cài đặt chương trình visual, vào Cách 1: Chương trình thuật tốn DES -> TPEncryption -> Assignment1CAndNSecurity -> bin -> Debug -> Assignment1CAndNSecurity 45 ĐỒ ÁN NHẬP MÔN CNTT để chạy demo chương trình Cách 2: Vào: File đóng gói, máy khơng có phần mềm Visual -> Assignment1CAndNSecurity để chạy chương trình Hình 5.1: Giao diện visual studio 2013 Hình 5.2: Hệ mật Des 5.2.2 Quá trình lập mã Yêu cầu thuật tốn DES khóa đầu vào 64 bit rõ đầu vào 64 bit Để xử lý rõ đầu vào 64 bit, ta tách thành khối bit nhỏ 64 bit Còn khối cuối ta thêm padding (ở code example mình, cộng thêm padding số đủ 64 bit) vào cho đủ 64 bit Rồi ta mã hóa khối nhỏ 64 bit 46 ĐỒ ÁN NHẬP MƠN CNTT Hình 5.3: Sơ đồ khối Des Từng khối nhỏ 64 bit đó, ta qua hốn vị IP (Initial Permutation) ta khối 64 bit Ta tách làm khối nhỏ 32bit (Left 32 bit Right 32 bit) L0, R0 47 ĐỒ ÁN NHẬP MÔN CNTT Qua hàm F ta biết đổi L0, R0 thành L1, R1.(Gọi vòng) Hình 5.4: Sơ đồ vòng Des Tương tự quay thêm 15 vòng đủ 16 vòng ta L16, R16 Cộng chuỗi L16 với R16 với nhau, qua bảng hoán vị IP-1 (Ivert Initial Permutation) ta mã (Ciphertext output) $banMa = ""; for ($j=0; $j