Khái quát về Blockchain 1.1 Blockchain là gì Công nghệ blockchain hay còn gọi là công nghệ chuỗi khối là một cơ chế cơ sở dữ liệu tiên tiến cho phép chia sẻ thông tin minh bạch trong m
Trang 11
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
ĐỒ ÁN MÔN HỌC KIẾN TRÚC AN TOÀN THÔNG TIN
NGHIÊN CỨU VỀ KIẾN TRÚC HẠ TẦNG
AN TOÀN CỦA BLOCKCHAIN
Chuyên ngành: AN TOÀN THÔNG TIN
Giảng viên hướng dẫn: ThS Nguyễn Minh Thắng
Sinh viên thực hiện:
Nguyễn Hà Thanh Ân MSSV: 2087700027 Lớp: 20DATA1
TP Hồ Chí Minh, 2024
Trang 22
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
ĐỒ ÁN MÔN HỌC KIẾN TRÚC AN TOÀN THÔNG TIN
NGHIÊN CỨU VỀ KIẾN TRÚC HẠ TẦNG
AN TOÀN CỦA BLOCKCHAIN
Chuyên ngành: AN TOÀN THÔNG TIN
Giảng viên hướng dẫn: ThS Nguyễn Minh Thắng
Sinh viên thực hiện:
Nguyễn Hà Thanh Ân MSSV: 2087700027 Lớp: 20DATA1
TP Hồ Chí Minh, 2024
Trang 33
LỜI CẢM ƠN
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép em được bày tỏ
lòng biết ơn đến Thầy Nguyễn Minh Thắng đã giúp đỡ em trong suốt quá trình học
tập và nghiên cứu đề tài này Trong suốt thời gian từ khi bắt đầu đồ án này, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của Thầy
Với lòng biết ơn sâu sắc nhất, em xin gửi đến thầy cô ở khoa Công Nghệ Thông Tin đã truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Nhờ có những lời hướng dẫn, dạy bảo của các thầy cô nên đề tài nghiên cứu của em mới có thể hoàn thiện tốt đẹp
Một lần nữa, em xin chân thành cảm ơn thầy người đã trực tiếp giúp đỡ, quan tâm, hướng dẫn em hoàn thành tốt bài báo cáo này trong thời gian qua
Bài báo cáo đồ án thực hiện trong khoảng thời gian gần 10 tuần Bước đầu đi vào thực tế của em còn hạn chế và còn nhiều bỡ ngỡ nên không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô để kiến thức của em trong lĩnh vực này được hoàn thiện hơn đồng thời có điều kiện bổ sung, nâng cao ý thức của mình
Em xin chân thành cảm ơn!
TP Hồ Chí Minh, tháng 04 năm 2024
Trang 44
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN 6
1 Tổng Quan Về Đồ Án 6
2 Nhiệm Vụ Đồ Án 6
3 Cấu Trúc Đồ Án 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8
1 Khái quát về Blockchain 8
1.1 Blockchain là gì 8
1.2 Lịch sử ra đời 8
1.3 Cách thức hoạt động của Blockchain 9
1.4 Ưu nhược điểm của Blockchain 10
1.5 Phân loại Blockchain 12
2 Kiến trúc hạ tầng an toàn của Blockchain 13
2.1 Định nghĩa 13
2.2 Các yếu tố xây dựng kiến trúc hạ tầng an toàn của blockchain 13
3 Các vấn đề an ninh phổ biến trong mạng lưới Blockchain 14
3.1 51% Attack (Tấn công 51%) 14
3.2 Tấn công Double Spending (Tiêu tiền hai lần) 14
3.3 Tấn công Sybil 14
3.4 Rủi ro về Smart Contract (Hợp đồng thông minh) 15
3.5 Rủi ro về Privilege Escalation (Nâng cao quyền hạn) 15
3.6 Rủi ro về Quản lý Khóa Bảo mật 15
4 Nghiên cứu và đánh giá các phương pháp để cải thiện an ninh của hạ tầng blockchain 15
4.1 Mật mã hóa mạnh mẽ 15
4.2 Mạng lưới phân tán 15
4.3 Cơ chế xác thực 16
4.4 Kiểm soát quyền truy cập 16
4.5 Kiểm thử bảo mật và audit 16
4.6 Giáo dục và đào tạo 16
CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM 17
Trang 55
1 Mục Tiêu 17
2 Các Bước Thực Hiện 17
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 23
1 Kết Luận 23
2 Hướng phát triển 23
Trang 6về thị trường blockchain, xu hướng phát triển, cũng như những tác động của blockchain đến đời sống xã hội
2 Tìm hiểu về hợp đồng thông minh (Smart Contract): là các chương trình được lưu trữ trên blockchain chạy khi đáp ứng các điều kiện xác định trước Chúng thường được sử dụng để tự động hóa việc thực hiện một thỏa thuận
để tất cả những người tham gia có thể chắc chắn về kết luận ngay lập tức mà không có sự tham gia của một bên trung gian hoặc sự chậm trễ bổ sung nào
Họ cũng có thể tự động hóa quy trình làm việc bằng cách tự động thực hiện hành động tiếp theo khi đáp ứng một số điều kiện nhất định
3 Cấu Trúc Đồ Án
Đồ án gồm có 4 chương chính:
- Chương 1: Tổng quan (Phần này sẽ giới thiệu tổng quan của đồ án gồm mô
tả nền tảng sẽ đề cập trong đồ án, mục đích của đồ án giúp chúng ta có thể hiểu rõ hơn về mục đích và phạm vi của đồ án)
- Chương 2: Cơ sở lý thuyết (Phần này sẽ giới thiệu về khái niệm cơ bản của
Blockchain, bao gồm khái niệm, ưu và nhược điểm của Blockchain, tìm hiểu
về đánh giá hạ tầng bao gồm cấu trúc, các tính năng chính, ưu và nhược điểm
Trang 77
nhằm giúp người đọc hiểu rõ hơn về công nghệ chuỗi khối một cách tổng quan)
- Chương 3: Kết quả thực nghiệm (Phần này sẽ đưa ra mục tiêu khi thực hiện
demo, đưa ra mô hình muốn triển khai khi demo, các công cụ cần thiết khi thực hiện và các bước thực hiện khi triển khai demo, đánh giá kết quả khi demo với các giải pháp đám mây khác)
- Chương 4: Kết luận và kiến nghị (Phần này sẽ rút ra những sai sót và lưu ý
trong quá trình xây dựng hệ thống Blockchain trong quá trình thực hiện và đưa ra hướng phát triển để chương trình hoàn thiện hơn theo góc nhìn khách quan)
Trang 88
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1 Khái quát về Blockchain
1.1 Blockchain là gì
Công nghệ blockchain (hay còn gọi là công nghệ chuỗi khối) là một cơ chế cơ
sở dữ liệu tiên tiến cho phép chia sẻ thông tin minh bạch trong một mạng lưới kinh doanh Cơ sở dữ liệu chuỗi khối lưu trữ dữ liệu trong các khối được liên kết với nhau trong một chuỗi Dữ liệu có sự nhất quán theo trình tự thời gian vì bạn không thể xóa hoặc sửa đổi chuỗi mà không có sự đồng thuận từ mạng lưới Do đó, bạn có thể sử dụng công nghệ chuỗi khối để tạo một sổ cái không thể chỉnh sửa hay biến đổi để theo dõi các đơn đặt hàng, khoản thanh toán, tài khoản và những giao dịch khác Hệ thống
có những cơ chế tích hợp để ngăn chặn các mục nhập giao dịch trái phép và tạo ra sự nhất quán trong chế độ xem chung của các giao dịch này
1.2 Lịch sử ra đời
Đã có nhiều lầm tưởng rằng blockchain có nguồn gốc từ hai yếu tố: Bitcoin và
ý tưởng của Satoshi Nakamoto
Thực tế, công nghệ này bắt nguồn từ những kỹ sư trong lĩnh vực cryptography (mật mã học) Đây là lĩnh vực khoa học vi tính cho phép lưu trữ các thông tin trên máy tính dưới dạng mật mã thông qua quá trình mã hoá
Mục tiêu của cryptography gồm nâng cao độ bảo mật và tính minh bạch trong
hệ thống máy tính, tương đồng với mục tiêu của blockchain
Năm 1982, nhà mật mã học David Chum đề xuất một mạng lưới mà người dùng không cần tin tưởng lẫn nhau vẫn có thể xây dựng nên một hệ thống, ý tưởng có tên gọi “Computer Systems Established, Maintained, and Trusted by Mutually Suspicious Groups” Mặc dù đây chỉ là một ý tưởng (không hơn không kém), thế hệ sau đã sử dụng đề xuất này để tạo ra một mạng lưới blockchain
Kể từ đó, công nghệ blockchain đã trải qua nhiều giai đoạn hình thành và phát triển để đạt được sự mở rộng như hiện nay
Sơ lược lịch sử phát triển của blockchain:
Trang 99
• 1991: Ý tưởng bắt nguồn từ Time-stamping, bởi Stuart Haber và W Scott Stornetta
• 1992-2004: Merkle Tree và Reusable Proof of Work xuất hiện
• 2008: Bài báo "Bitcoin: A Peer-to-Peer Electronic Cash System" của
Satoshi Nakamoto được công bố, giới thiệu khái niệm về Bitcoin và
blockchain
• 2013-2015: Mạng lưới Ethereum hình thành và hoạt động trên mainnet
• 2017- đến nay: Thế giới dần đón nhận công nghệ blockchain và Bitcoin
1.3 Cách thức hoạt động của Blockchain
Nhiều người dùng vẫn luôn thắc mắc cách hoạt động của Blockchain như thế nào mà có thể tạo ra được tính bảo mật rất cao Phần lớn Blockchain phân thành các cấp hoạt động:
1.3.1 Nguyên lý mã hóa
Với các vấn đề đã đề cập bên trên và cách thức hoạt động của Blockchain, bạn sẽ thấy Blockchain được duy trì dựa trên hệ thống hàng ngang có mối liên kết chặt chẽ với nhau Vì thế nó sẽ tạo ra một số điểm khác biệt:
• Bạn có thể xem được toàn bộ các giao dịch, trao đổi của người dùng
• Giao dịch không cần có sự can thiệp của bên thứ 3 xử lý
• Công nghệ lưỡi khối được mã hóa qua các hàm toán học đặc biệt
Ngoài ra để thực hiện giao dịch trên Blockchain càn có sự trao đổi thông qua ví điện tử Tất cả sẽ được bảo mật bằng các phương pháp mã hóa đặc biệt nhờ khóa riêng tư và khóa công khai
Có nghĩa là khi bạn mã hóa bằng khóa Public thì chủ sở hữu Private mới là người giải mã được các nội dung và dữ liệu gửi đến Còn khi bạn sử dụng mã riêng tư thì bạn cần tạo nên một ký tự đặc biệt như chữ ký điện tử Từ đó các mạng Blockchain mới có thể kiểm soát và tiến hành kiểm tra chủ thể để xác định giao dịch
1.3.2 Quy tắc cuốn sổ cái
Mỗi nút trên hệ thống mạng lưới đều lưu trữ một bản sao của cuốn sổ kế toán Vì vậy thông qua các nút bạn sẽ nắm được số dư tài khoản của mình Cách thức
Trang 10Tuy nhiên với cách thức hoạt động của Blockchain, bạn cần lưu ý bảo vệ mật khẩu và khóa riêng tư thật sự an toàn Bởi khi đã đánh mất “chìa khóa” sẽ không
có một đơn vị nào có thể giúp bạn phục hồi hay lấy lại mật khẩu ví điện tử
1.3.3 Nguyên lý tạo khối
Sau khi phát sinh giao dịch trên mạng lưới Blockchain, nhờ vào cách thức hoạt động của Blockchain, chúng sẽ được gom vào một nhóm các khối trong cùng 1 block vào 1 thời điểm đồng nhất Mỗi một nút sẽ trở thành một khối và báo về hệ thống như một hàm ý để tạo các khối liên kết tiếp theo Khi được cập nhật vào
Blockchain, mỗi khối sẽ tích hợp lại 1 đoạn mật mã cho một hàm toán phức tạp Để giải được bài toán này, bạn sẽ phải lựa chọn xác suất giữa các con số ngẫu nhiên
Quy trình trong hệ thống mà 1 chuỗi sẽ được tạo ra trong khoảng thời gian
là 10 phút Nút nào giải được bài toán sẽ gắn tiếp quyền với khối tiếp theo vào chuỗi
và được gửi đến toàn bộ mạng lưới
Với cách thức hoạt động của Blockchain như thế này sẽ có ít khả năng các khối được xây dựng cùng nhau Vì vậy sẽ không thể xuất hiện trường hợp các khối đồng loạt giải quyết 1 lúc và tạo ra các khối nối đuôi khác nhau Do đó bạn hoàn toàn yên tâm bởi sự đồng thuận giữa toàn bộ chuỗi các khối
1.4 Ưu nhược điểm của Blockchain
1.4.1 Ưu điểm
• Dữ liệu không bị mất:
o Dữ liệu blockchain được lưu trữ trên hàng ngàn thiết bị trên một mạng lưới gồm nhiều node phân tán, hệ thống và dữ liệu có khả năng chống lại lỗi kỹ thuật và các cuộc tấn công
Trang 11• Hệ thống không cần sự tin tưởng:
o Hiện nay trong hầu hết các phương thức thanh toán truyền thống, các giao dịch sẽ được bảo chứng bởi một bên trung gian ví dụ như ngân hàng, công ty thẻ tín dụng…
o Nhưng khi sử dụng công nghệ Blockchain sẽ loại bỏ quá trình trung gian này thông qua việc các nút phân tán xác minh các giao dịch thông qua quá trình đào
o Với một hệ thống blockchain thì sẽ loại bỏ tối đa được rủi ro từ việc tin tưởng vào một tổ chức duy nhất và giảm chi phí chung và chi phí giao dịch bằng cách loại bỏ các bên trung gian hoặc bên thứ ba
• Dữ liệu chất lượng cao: Dữ liệu lưu trữ trên Blockchain sẽ được hoàn thiện, thích hợp, kịp thời chính xác và phổ biến rộng rãi
• Tính minh bạch và không thể thay đổi: Tất cả các dữ liệu lưu trữ trên
blockchain có thể được xem xét công khai bởi các bên, tạo sự minh bạch Các giao dịch là bất biến nghĩa là chúng không thể bị thay đổi hoặc bị xóa
đi
• Các giao dịch nhanh hơn: Các giao dịch liên ngân hàng có thể mất tới một tới vài ngày để thực hiện xong Nhưng với giao dịch Blockchain thì có thể giảm xuống còn vài phút, hoặc vài giây và được xử lý 24/7
• Giao dịch xuyên biên giới: Nếu như trước đây các giao dịch bị hạn chế bởi múi giờ và cần có sự xác nhận của tất cả các bên thì Blockchain khi tham gia sẽ xử lý quá trình này cho các giao dịch xuyên biên giới nhanh chóng
Trang 1212
• Tiết kiệm chi phí: Tiết kiệm chi phí nhờ việc cắt giảm được các quy trình xác minh không cần thiết, giảm thiểu các lỗi và giảm tải việc lưu trữ bằng giấy truyền thống
1.4.2 Nhược điểm
• Hiệu suất: Blockchain sẽ luôn chậm hơn so với các cơ sở dữ liệu tập trung Khi một giao dịch được xử lý một blockchain cần được xử lý độc lập bởi mọi node trong mạng lưới, xác nhận chữ ký và cần đạt được sự đồng thuận giữa các node trong mạng
• Vấn đề tích hợp: Để ứng dụng công nghệ Blockchain vào thực tế sẽ cần các công ty phải có chiến lược thay đổi phần lớn hoặc hoàn toàn các hệ thống hiện có
• Mức độ tiêu thụ năng lượng lớn: Các nhà khai thác mạng lưới Bitcoin
Blockchain cố gắng 450 nghìn tỷ giải pháp mỗi giây trong việc xác nhận giao dịch sử dụng nguồn năng lượng tương đối lớn
• Chi phí: Blockchain tiết kiệm rất nhiều chi phí giao dịch và thời gian nhưng
sẽ tốn nhiều chi phí đầu tư ban đầu
1.5 Phân loại Blockchain
Hiện nay hệ thống Blockchain được phân chia ra làm 4 loại chính:
1.5.2 Private Blockchain
Trang 1313
Chuỗi phối riêng tư sẽ hỗ trợ cho mọi người có quyền đọc mọi thông tin Tuy nhiên, họ sẽ không được cấp quyền ghi dữ liệu Do đó thao tác trên Private được duyệt rất tốc độ và hầu hết không cần quá nhiều thiết bị tham gia xác thực các trao đổi
Có thể nói chuỗi phối riêng tư được ứng dụng rộng rãi trong các doanh nghiệp do tập trung hóa hơn so với Public
1.5.3 Consortium
Chuỗi khối doanh nghiệp mang lại lợi ích tương tự như chuỗi khối riêng tư
và được xếp vào một phân loại nhỏ hơn của chuỗi riêng tư Đối tượng tham gia
Permissioned thường là các ngân hàng trung ương, chính phủ và các chuỗi cung ứng
1.5.4 Chuỗi khối hỗn hợp
Bản chất là dạng Private nhưng có sự khác biệt bởi tích hợp thêm 1 số tính năng hoàn chỉnh hơn Hiểu rõ đó là sự kết hợp giữa chuỗi khối riêng tư và chuỗi khối công khai Dự án này là sự kết hợp tổng thể giữa lợi ích của private và sự minh bạch từ public Như thế sẽ giúp công ty linh hoạt hơn giữa các dữ liệu muốn công khai hoặc thông tin nội bộ
2 Kiến trúc hạ tầng an toàn của Blockchain
2.1 Định nghĩa
Kiến trúc hạ tầng an toàn của blockchain là cách thức tổ chức và xây dựng hệ thống blockchain để đảm bảo tính bảo mật, toàn vẹn và phân quyền của dữ liệu và giao dịch Nó bao gồm các phương pháp, công nghệ và quy trình được thiết kế để ngăn chặn và giảm thiểu các rủi ro liên quan đến việc truy cập trái phép, sửa đổi dữ liệu, hoặc gian lận trong mạng lưới blockchain
2.2 Các yếu tố xây dựng kiến trúc hạ tầng an toàn của blockchain
Kiến trúc hạ tầng an toàn của blockchain thường bao gồm các yếu tố sau:
• Mật mã hóa: Sử dụng các thuật toán mật mã hóa mạnh mẽ để bảo vệ dữ liệu
và giao dịch
• Mạng lưới phân tán: Dữ liệu được phân tán trên nhiều nút (nodes) trên một mạng lưới phân tán, giúp tăng tính bền vững và an toàn của hệ thống
Trang 1414
• Cơ chế xác thực: Sử dụng các cơ chế như chứng minh công việc (Proof of Work) hoặc chứng minh cổ phần (Proof of Stake) để xác thực và xác định các giao dịch
• Cấu trúc dữ liệu không thể thay đổi: Sử dụng cấu trúc dữ liệu chuỗi khối để ghi nhớ dữ liệu và đảm bảo rằng các thông tin đã được xác thực không thể
bị sửa đổi
• Quản lý quyền truy cập: Cung cấp cơ chế để quản lý quyền truy cập vào dữ liệu và tài sản trên blockchain, đảm bảo tính riêng tư và an toàn cho người dùng
• Các biện pháp bảo mật phụ trợ: Bao gồm các biện pháp như mã hóa đầu cuối, giao thức mạng an toàn, kiểm soát truy cập, và giám sát hệ thống để ngăn chặn các cuộc tấn công và đảm bảo an toàn của hệ thống
3 Các vấn đề an ninh phổ biến trong mạng lưới Blockchain
Trong mạng lưới blockchain, có một số vấn đề an ninh phổ biến mà cần được quan tâm và giải quyết để đảm bảo tính bảo mật và tin cậy của hệ thống Dưới đây là một số vấn đề an ninh phổ biến trong mạng lưới Blockchain:
3.1 51% Attack (Tấn công 51%)
Đây là tình huống khi một nhóm người dùng hoặc một tổ chức kiểm soát hơn 50% sức mạnh tính toán của mạng lưới blockchain, có thể cho phép họ kiểm soát quyết định của hệ thống, thậm chí là sửa đổi hoặc phủ nhận các giao dịch
3.2 Tấn công Double Spending (Tiêu tiền hai lần)
Đây là khi một người dùng sử dụng một đồng tiền kỹ thuật số để thực hiện nhiều giao dịch khác nhau trong cùng một khoảng thời gian, mà không cần phải trả lại
số tiền đã chi tiêu ban đầu Mặc dù các blockchain như Bitcoin có các biện pháp ngăn chặn double spending, nhưng vẫn cần phải cảnh giác trước các biến thể của tấn công này
3.3 Tấn công Sybil