1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu và nghiên cứu mã qr code và xây dựng chương trình mô phỏng quá trình sử dụng qr code trong giao dịch

36 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Từ việc thanh toán không tiếpxúc tại các cửa hàng, kiểm tra thông tin sản phẩm đến việc xác thực danh tínhtrong các dịch vụ hành chính, mã QR đã chứng minh được sự ưu việt của mình.Trong

Trang 1

BAN CƠ YẾU CHÍNH PHỦ

SỬ DỤNG QR CODE TRONG GIAO DỊCH

Ngành: An toàn thông tinMã số: 7.48.02.02

Hà Nội, 2024

BAN CƠ YẾU CHÍNH PHỦ

Trang 2

SỬ DỤNG QR CODE TRONG GIAO DỊCH

Ngành: An toàn thông tinMã số: 7.48.02.02

Sinh viên thực hiện:

Nguyễn Thị Thu Chang - AT170606 Trần Thị Phương - AT170338Nguyễn Đình Sinh - AT170643 Tạ Quang Chiến - AT170607 Trần Anh Tuấn - AT170654

Người hướng dẫn:

KS Nguyễn Phương Lâm

Hà Nội, 2024

Trang 3

MỤC LỤC

DANH MỤC HÌNH ẢNH iii

DANH MỤC VIẾT TẮT iv

LỜI NÓI ĐẦU v

CHƯƠNG 1: TÌM HIỂU VỀ QR CODE 1

1.1 Giới thiệu về QR code 1

2.4.1.Các mã ngân hàng tại Việt Nam 10

2.4.2.Phiên bản dữ liệu (ID 00) 11

2.4.3.Phương thức khởi tạo (ID 01) 12

2.4.4.Thông tin định danh người thụ hưởng 12

2.4.5.Mã tiền tệ 13

2.4.6.Số tiền giao dịch 14

2.4.7.Mã quốc gia 14

i

Trang 4

2.4.8.Thông tin bổ sung (Không có kí tự đặc biệt) 15

2.4.9.Tạo CRC - CCITT 16

2.5.Mã hoã sửa lỗi 16

2.5.1.Chọn mức sửa lỗi 16

2.5.2.Thuật toán Reed-Solomon 17

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 19

3.1 Môi trường triển khai 19

3.2 Triển khai các hàm chức năng 21

Trang 5

Hình 2 2 Minh hoạ về thuật toán Reed-Solomon 18

Hình 2 3 Minh hoạ về thuật toán Reed-Solomon 18

Hình 2 4 Minh hoạ về thuật toán Reed-Solomon 18

Hình 3 1 Cấu trúc thư mục 19

Hình 3 2 Một số các thông tin quy định 20

Hình 3 3 Thông tin mã BIN của một số ngân hàng trong file bin_code.py 21

Hình 3 4 Code file main.py 22

Hình 3 5 Code file qr_code.py 23

Hình 3 6 Code file crc.py 24

Hình 3 7 Code file helper.py 25

Hình 3 8 QR Code sau khi chạy chương trình 26

iii

Trang 6

DANH MỤC VIẾT TẮT

iv

Trang 7

LỜI NÓI ĐẦU

Trong thời đại công nghệ 4.0, mã QR code đã trở thành một công cụ quantrọng và phổ biến trong nhiều lĩnh vực khác nhau, đặc biệt là trong giao dịch Vớikhả năng lưu trữ thông tin đa dạng và tính bảo mật cao, mã QR code đang dần thaythế các phương thức truyền thống như mã vạch hay kẻ từ

Việc sử dụng mã QR trong các giao dịch không chỉ giúp tiết kiệm thờigian mà còn tăng cường tính bảo mật và tiện lợi Từ việc thanh toán không tiếpxúc tại các cửa hàng, kiểm tra thông tin sản phẩm đến việc xác thực danh tínhtrong các dịch vụ hành chính, mã QR đã chứng minh được sự ưu việt của mình.

Trong bối cảnh đó, việc nghiên cứu và xây dựng một chương trình môphỏng quá trình sử dụng mã QR trong giao dịch là vô cùng cần thiết Chươngtrình này không chỉ giúp hiểu rõ hơn về cơ chế hoạt động của mã QR mà còncung cấp nền tảng kiến thức vững chắc để ứng dụng công nghệ này vào thực tế.

Mục tiêu của đề tài là tìm hiểu sâu về cấu trúc, nguyên lý hoạt động củamã QR và xây dựng một ứng dụng mô phỏng quá trình tạo và quét mã QR trongcác tình huống giao dịch khác nhau Qua đó, đề tài mong muốn mang lại cáinhìn tổng quan và thực tế về tiềm năng và ứng dụng của mã QR trong đời sống,đồng thời mở ra hướng đi mới cho các nghiên cứu và phát triển trong tương lai.

Chúng em xin chân thành cảm ơn!

v

Trang 8

CHƯƠNG 1: TÌM HIỂU VỀ QR CODE1.1Giới thiệu về QR code

1.1.1.Khái niệm

QR code là viết tắt của từ Quick Response Code (Mã phản hồi nhanh) haycòn gọi là mã vạch ma trận (matrix-barcode) là dạng mã vạch hai chiều (2D) cóthể được đọc bởi một máy đọc mã vạch hay smartphone có chức năng chụp ảnhvới ứng dụng chuyên biệt để quét mã vạch.

Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời giandiễn ra một sự kiện, thông tin liên hệ, địa chỉ email, tin nhắn SMS, nội dung kýtự văn bản hay thông tin định vị Tuỳ thuộc thiết bị đọc mã QR dùng khi quét,nó sẽ dẫn tới một trang web, gọi đến một số điện thoại, xem một tin nhắn…

Mã QR cũng tương tự mã vạch truyền thống thường thấy trên các thùnghàng, các sản phẩm được người bán lẻ theo dõi quản lý kho hàng và sản phẩmtrong kinh doanh Điểm khác nhau giữa mã QR và mã vạch truyền thống làlượng dữ liệu mà nó chứa đựng Các mã vạch truyền thống có các đường vạchthẳng dài một chiều và chỉ có thể lưu giữ 20 số chữ số, trong khi các mã QR haichiều có thể lưu giữ thông tin hàng ngàn ký tự chữ số Mã QR nắm giữ nhiềuthông tin hơn và tính chất dễ sử dụng.

Ưu điểm lớn của QR code là khả năng nhanh chóng đọc và giải mã bởicác thiết bị di động, như điện thoại thông minh và máy tính bảng, mà không cầnphải sử dụng thiết bị đặc biệt QR code đã trở thành một phương tiện hiệu quảđể kết nối thế giới vật lý với thế giới số, mở ra nhiều ứng dụng trong việc chia sẻthông tin, tiếp thị, thanh toán điện tử và nhiều lĩnh vực khác.

Tuy nhiên, cũng cần lưu ý rằng việc sử dụng QR code cũng đặt ra một sốvấn đề về bảo mật và quyền riêng tư, vì nó có thể chứa liên kết đến trang webhay ứng dụng có thể chứa mã độc hoặc hướng dẫn lừa đảo Do đó, người dùngcần cẩn thận khi quét một QR code từ nguồn không tin cậy.

Dưới đây là khảo sát về độ tuổi thường xuyên sử dụng QR Code và mụcđích sử dụng QR Code.

Trang 9

Hình 1 1 Khảo sát về độ tuổi thường xuyên sử dụng QR code

Trang 10

Hình 1 2 Khảo sát về mục đích sử dụng QR code

Nhìn một cách tổng quan, QR code đã trở thành một phần không thể thiếucủa cuộc sống hiện đại, giúp tối ưu hóa quy trình và mang lại sự tiện ích trongnhiều lĩnh vực khác nhau.

1.1.2.2.Hoa văn định vị

Ở bốn góc của QR code bố trí các ô vuông gọi là hoa văn định vị Nhờvào hoa văn định vị này, camera có thể xác định được phạm vi QR code cũngnhư đọc được thông tin ngay cả trong trường hợp QR code bị biến dạng, nhờ đócó thể quét được QR code một cách nhanh chóng ở bất kỳ góc độ nào.

Trang 11

điều chỉnh lại những chênh lệch phát sinh do camera bị lệch trong quá trìnhquét.

1.1.2.5.Thông tin format (chức năng sửa chữa lỗi)

Xung quanh hoa văn định vị là phần chứa thông tin format, quyết địnhmức độ sửa chữa lỗi của QR code Ngoại trừ phần hoa văn định vị và thông tinformat, các vùng khác của QR code là những vùng có thể thiết kế.

Bên cạnh đó, để giúp cho việc giữ cân bằng giữa các ô đen và trắng trênQR code, chức năng Mask được thiết lập Nhờ đó, không bao giờ thấy QR codechứa toàn các ô đen Dựa trên nguyên tắc, các thông tin lưu trong QR code đượcđảm bảo vẫn giữ toàn vẹn nhưng màu sắc của các ô đen trắng có thể đảo ngượcđể đảm bảo sự cân bằng.

1.2Phân loại

QR code có 2 loại chính: động và tĩnh.

 QR code động hay còn gọi là “QR code trực tiếp”: Sau khi đượckhởi tạo, liên kết chính của chúng có thể được chỉnh sửa mà khôngcần can thiệp vào code Khi được quét, code động sẽ chuyển hướngđến máy chủ, nơi lưu trữ thông tin cụ thể trong một cơ sở dữ liệu vàđược lập trình để tương tác cụ thể với hình ảnh được quét đó Codeđộng tiện lợi hơn vì chúng được tạo ra áp dụng một lần và có thểthay đổi các thông tin được hiển thị khi đó được quét như các liênkết (domain, web) để hiển thị thông tin.

 QR code tĩnh không giống như các code động, code tĩnh có thể lưutrữ các thông tin trực tiếp qua hình thức văn bản hoặc dẫn đến cáctrang web mà không cần chuyển hướng qua liên kết thứ cấp Điềunày có nghĩa rằng các thông tin hoặc liên kết không thể thay đổihoặc chỉnh sửa Code tĩnh rất lý tưởng cho những người muốn mãchứa thông tin của họ vĩnh viễn.

1.3Cơ chế tạo và giải mã

1.3.1 Cơ chế tạo mã

Trang 12

 Chuyển đổi dữ liệu thành bit: Dữ liệu ban đầu (văn bản, URL, số điệnthoại, v.v.) được chuyển đổi thành một chuỗi bit thông qua các phươngpháp mã hóa khác nhau (Numeric, Alphanumeric, Byte/Binary, hoặcKanji).

 Mã hoá lỗi: QR code sử dụng mã Reed-Solomon để thêm các bit kiểm tralỗi vào dữ liệu Điều này giúp QR code có thể chịu được một mức độ hưhại nhất định mà vẫn giải mã được thông tin chính xác.

 Sắp xếp dữ liệu: Chuỗi bit dữ liệu và bit kiểm tra lỗi được sắp xếp vàomột cấu trúc ma trận vuông Các module (ô vuông nhỏ) trong ma trậnđược tô đen hoặc để trắng dựa trên giá trị bit.

 Thêm các mẫu định vị và thời gian: QR code bao gồm các mẫu định vị ởcác góc và các mẫu thời gian dọc theo các cạnh để hỗ trợ việc định vị vàcăn chỉnh khi quét.

 Phân tích ma trận: Dựa vào vị trí và mẫu các module, phần mềm sẽ tríchxuất chuỗi bit từ ma trận.

 Kiểm tra lỗi và sửa lỗi: Chuỗi bit này sau đó được kiểm tra và sửa lỗibằng cách sử dụng các bit kiểm tra lỗi đã được thêm vào trong quá trìnhmã hóa.

 Giải mã dữ liệu: Chuỗi bit đã được kiểm tra và sửa lỗi sẽ được chuyển đổingược lại thành dữ liệu ban đầu (văn bản, URL, số điện thoại, v.v.) dựatrên phương pháp mã hóa ban đầu.

1.4Ưu điểm và nhược điểm

1.4.1 Ưu điểm

Trang 13

 Mã QR dễ tạo và sử dụng Người dùng chỉ cần một ứng dụng quét mã QRtrên điện thoại để đọc mã.

 Mã QR có thể lưu trữ nhiều loại thông tin khác nhau như URL, văn bản,email, số điện thoại, vị trí GPS… Khả năng lưu trữ dữ liệu lớn hơn so vớimã vạch truyền thống.

 Mã vạch QR có khả năng mã hoá nhiều thông tin, giải mã nhanh, khảnăng sửa lỗi cao (có thể đọc được mã bị mờ hoặc mất đi một phần).

1.4.2 Nhược điểm

 QR code đòi hỏi phải có phần mềm đọc mã trên điện thoại.

 QR code có thể dẫn người dùng đến các trang web độc hại hoặc lừa đảonếu không được kiểm tra cẩn thận.

 Mã QR không phù hợp với tất cả môi trường như nơi có ánh sáng yếuhoặc không có internet để truy cập thông tin trực tuyến sau khi quét mã.

1.5Ứng dụng của QR code

1.5.1 Thanh toán điện tử

Mã QR code đã trở thành một công cụ quan trọng trong lĩnh vực thanhtoán điện tử nhờ vào sự tiện lợi và tốc độ xử lý nhanh chóng Các ứng dụng baogồm:

 Thanh toán qua di động: Người dùng có thể quét mã QR code tạiđiểm bán hàng để thực hiện thanh toán mà không cần sử dụng tiềnmặt hoặc thẻ tín dụng.

 Giao dịch ngân hàng: Một số ngân hàng cung cấp tính năng quétmã QR code để chuyển tiền nhanh chóng giữa các tài khoản màkhông cần nhập số tài khoản hoặc thông tin chi tiết.

 Hoá đơn và biên lai: Mã QR code có thể được in trên hoá đơn đểngười dùng quét và thanh toán trực tiếp qua ứng dụng ngân hànghoặc ví điện tử.

1.5.2 Quản lý hàng hoá

Mã QR code cung cấp một phương thức hiệu quả để theo dõi và quản lýhàng hoá từ khi sản xuất đến tay người tiêu dùng.

Trang 14

 Theo dõi sản phẩm: Mã QR code được gắn vào sản phẩm giúp theodõi quá trình sản xuất, lưu kho và vận chuyển Mỗi mã QR chứathông tin chi tiết về sản phẩm như nguồn gốc, ngày sản xuất và lôhàng.

 Quản lý tồn kho: Sử dụng mã QR code trong kho hàng giúp quản lýsố lượng hàng tồn kho một cách chính xác và nhanh chóng, giảmthiểu lỗi nhập dữ liệu thủ công.

 Truy xuất nguồn gốc: Người tiêu dùng có thể quét mã QR trên sảnphẩm để biết thông tin chi tiết về nguồn gốc, quy trình sản xuất vàcác chứng nhận chất lượng.

1.5.3 Marketing và quảng cáo

QR code đã trở thành một công cụ mạnh mẽ trong lĩnh vực marketing vàquảng cáo, giúp doanh nghiệp kết nối trực tiếp với khách hàng.

 Quảng cáo sản phẩm: Mã QR code trên các ấn phẩm quảng cáo,poster và bảng hiệu giúp khách hàng truy cập ngay lập tức vàotrang web sản phẩm, video giới thiệu hoặc thông tin chi tiết khác. Khuyến mãi và giảm giá: Các chương trình khuyến mãi có thể sử

dụng mã QR code để khách hàng quét và nhận phiếu giảm giá hoặctham gia các chương trình ưu đãi đặc biệt.

 Tương tác khách hàng: Mã QR code có thể liên kết đến các khảosát, đánh giá sản phẩm hoặc trang mạng xã hội tạo ra cơ hội tươngtác và thu thập phản hồi từ khách hàng.

1.5.4 Y tế và giáo dục

 Quản lý hồ sơ bệnh nhận: Có thể sử dụng để lưu trữ và truy xuất nhanhthông tin bệnh nhân, lịch sử điều trị và đơn thuốc giúp các bác sĩ và y tátruy cập thông tin một cách nhanh chóng và chính xác.

 Kiểm soát dược phẩm: Mã QR code trên bao bì thuốc giúp kiểm soát xuấtxứ, hạn sử dụng và hướng dẫn sử dụng đảm bảo an toàn cho người dùng.

Trang 15

 Tài liệu học tập: Trong giáo dục, mã QR code có thể được in trên sáchgiáo khoa, tài liệu học tập để học sinh, sinh viên quét và truy cập các nộidung bổ sung, video hướng dẫn hoặc bài tập thực hành.

 Thẻ sinh viên và học viên: Mã QR code trên thẻ sinh viên giúp quản lýthông tin cá nhân, điểm danh và truy cập các dịch vụ trong trường học.

Trang 16

CHƯƠNG 2: QR CODE TRONG DỊCH VỤ CHUYỂN NHANHNAPAS247

2.1 QR tĩnh đến tài khoản

2.2 QR tĩnh đến thẻ

Trang 17

2.3 QR động đến thẻ

Trang 18

2.4 QR động đến tài khoản

2.4.1 Các mã ngân hàng tại Việt Nam

state=dz1di3qvb_4&_afrLoop=54432337802419466#%40%3F_afrLoop%3D54432337802419466%26centerWidth%3D80%2525%26leftWidth%3D20%2525%26rightWidth%3D0%2525%26showFooter%3Dfalse%26showHeader%3Dfalse%26_adf.ctrl-state%3D1di83tmkaa_4

Trang 19

2.4.2 Phiên bản dữ liệu (ID 00)

 Định dạng: N Độ dài: 2

 Hiển thị: Bắt buộc

Trang 20

 Ý nghĩa: Phiên bản dữ liệu là đối tượng dữ liệu đầu tiên trong mã QR,dùng để xác định phiên bản mã QR và các quy ước về ID, độ dài, giá trị.Phiên bản dữ liệu có giá trị là “01”.

 Các giá trị khác được đăng ký dự phòng.

2.4.3 Phương thức khởi tạo (ID 01)

 Định dạng: N Độ dài: 2

2.4.4 Thông tin định danh người thụ hưởng

a Giá trị định danh- ID: 00

- Độ dài: 10 (là độ dài của A000000727)- Giá trị: 0010A000000727

b Tổ chức (người thụ hưởng)- ID: 01

- Độ dài: 30 (của toàn bộ subtab)- Giá trị: (bao gồm toàn bộ subtab)

o Subtab 1 ID: 00

o Subtab 1 Độ dài: 06 (độ dài của Subtab 1 Giá trị) – Thông tin mãngân hàng

Trang 21

o Subtab 1 Giá trị: 970403o Subtab 2 ID: 01

o Subtab 2 Độ dài: 16 (độ dài của Subtab 2 Giá trị) – Thông tin số tàikhoản thụ hưởng

o Subtab 2 Giá trị: 2112995044604025 Final: 000697040301162112995044604025 Final: 000697040301162112995044604025

2.4.5 Mã tiền tệ

Trang 22

2.4.6 Số tiền giao dịch

2.4.7 Mã quốc gia

Trang 23

2.4.8 Thông tin bổ sung (Không có kí tự đặc biệt)

 Định dạng: ANS Độ dài: tối đa 99 ký tự Hiển thị: Không bắt buộc

 Ý nghĩa: Trường Thông tin bổ sung cung cấp các dữ liệu bổ sung hỗ trợ trong các trường hợp khác nhau và bao gồm ít nhất 1 đối tượng dữ liệu. Nếu xuất hiện, trường Thông tin bổ sung (ID 62) sẽ bao gồm ít nhất một

đối tượng dữ liệu và tổng độ dài của tất cả các đối tượng dữ liệu trong ID62 không vượt quá 99 ký tự.

- Nội dung của giá trị đối tượng cho các ID từ “01” đến “08” có thể là “***”hoặc là một giá trị do ĐVCNTT quy định Nếu nội dung là "***" thì khách hàngsẽ nhập thông tin vào ứng dụng di động.

- Yêu cầu thông tin khách hàng bổ sung (ID “09”) bao gồm bất kỳ sự kết hợpnào của các ký tự: “A”, “M” và/hoặc “E”, và sẽ chỉ có một giá trị duy nhất chomỗi ký tự này.

- Nếu Hệ thống thanh toán cụ thể (ID 50-99) xuất hiện thì nó sẽ bao gồm GUIDcơ bản (ID 00) với một trong các giá trị sau:

• Một AID bao gồm một mã RID quy định theo ISO/IEC 7816-5, và cóthể bao gồm một mã PIX theo ISO 7816-4.

VD: "A000000727".

• Một UUID không có dấu (-) ngăn cách.VD: “581b314e257f41bfbbdc6384daa31d16”.

Trang 24

• Một tên miền ngược.

2.4.9 Tạo CRC - CCITT

 Định dạng: ANS Độ dài: tối đa 4 Hiển thị: Bắt buộc

 Ý nghĩa: CRC - Checksum được tính theo ISO/IEC 13239 bằng cách sửdụng đa thức '1021' (hex) và giá trị ban đầu 'FFFF' (hex) Checksum đượctính cho tất cả các đối tượng dữ liệu, bao gồm ID, Độ dài và Giá trị nằmtrong mã QR theo đúng thứ tự xuất hiện, ngoài ra bao gồm cả ID và Chiềudài của CRC (nhưng không bao gồm Giá trị của CRC).

2.5 Mã hoã sửa lỗi

2.5.1 Chọn mức sửa lỗi

 Mã QR sử dụng tính năng sửa lỗi Reed-Solomon Quá trình này tạo ra cáctừ mã sửa lỗi (byte) dựa trên dữ liệu được mã hoá Trình đọc mã QR cóthể sử dụng các byte sửa lỗi này để xác định xem nó có đọc dữ liệu chínhxác hay không và từ mã sửa lỗi có thể được sử dụng để sửa các lỗi đó. Có 4 cấp độ sửa lỗi: L, M, Q, H

Trang 25

Hình 2 1 Mức độ sửa lỗi

Lưu ý: Mức độ sửa lỗi càng cao thì yêu cầu nhiều byte hơn, do đó mức độ

sửa lỗi càng cao thì mã QR sẽ càng lớn.

2.5.2 Thuật toán Reed-Solomon

Thuật toán Reed-Solomon đóng một vai trò quan trọng trong việc tạo mãQR nhờ khả năng phát hiện và sửa lỗi Mã QR có thể dễ dàng bị hỏng hoặc bịbiến dạng trong quá trình in hoặc quét, dẫn đến dữ liệu bị thiếu hoặc khôngchính xác Khả năng sửa lỗi do thuật toán Reed-Solomon cung cấp cho phép mãQR vẫn có thể đọc được ngay cả khi một phần mã bị hỏng.

Mức độ khả năng sửa lỗi trong mã QR phụ thuộc vào số lượng từ mã sửalỗi được thêm vào trong quá trình mã hóa Mức độ sửa lỗi cao hơn có thể chịuđược nhiều lỗi hơn nhưng yêu cầu số lượng từ mã lớn hơn, điều này làm tăngkích thước tổng thể của mã QR.

Bằng cách sử dụng thuật toán Reed-Solomon, trình tạo mã QR có thể đạtđược sự cân bằng giữa lượng dữ liệu được lưu trữ và mức độ sửa lỗi cần thiết.Tính linh hoạt này làm cho mã QR phù hợp với nhiều ứng dụng, từ lưu trữ URLvà thông tin liên hệ đến mã hóa chi tiết sản phẩm và quản lý hàng tồn kho.

VD: Cách hoạt động của thuật toán Reed-Solomon

Giả sử A muốn truyền dữ liệu tới B một dãy số là 2, 4, 3, 1 Nhưng trong

quá trình truyền dữ liệu gặp vấn đề về đường truyền và bên B chỉ nhậnđược gói tin là 2, 4, 1 và mất gói tin 3 Thuật toán Reed-Solomon sẽ giúpgiải quyết vẫn đề này.

Ngày đăng: 27/06/2024, 10:17

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w