Báo cáo đồ án: Phân tích Bảo mật và Quyền riêng tư dựa trên Blockchain

Báo cáo phân tích sâu về bảo mật và quyền riêng tư trên blockchain, tổng hợp các nguy cơ, tấn công phổ biến và các giải pháp bảo vệ toàn diện.

Trường đại học

Học viện Kỹ thuật Mật mã

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo bài tập lớn

2022

98
2
0

Phí lưu trữ

35 Point

Tóm tắt

I. Khái niệm cơ bản về Bảo mật và Quyền riêng tư Blockchain

Bảo mật blockchain là một lĩnh vực quan trọng trong công nghệ hiện đại, đảm bảo tính toàn vẹn và an toàn của dữ liệu trên mạng phi tập trung. Quyền riêng tư blockchain liên quan đến việc bảo vệ thông tin nhạy cảm của người dùng khỏi những hành động trái phép. Công nghệ blockchain sử dụng các cơ chế mã hóa tiên tiến để tạo ra một hệ thống tin cậy, nơi mỗi giao dịch được xác minh và lưu trữ một cách an toàn. Sự kết hợp giữa hàm băm, chữ ký điện tử và các thuật toán đồng thuận tạo nên nền tảng vững chắc cho bảo mật dữ liệu blockchain. Hiểu rõ về các khái niệm này là điều cần thiết để áp dụng blockchain vào các lĩnh vực như tài chính, y tế và chính phủ điện tử.

1.1. Định nghĩa Bảo mật Blockchain

Bảo mật blockchain là tập hợp các kỹ thuật và quy trình nhằm bảo vệ dữ liệu khỏi các cuộc tấn công mạng. Nó bao gồm việc sử dụng hàm băm mật mã, chữ ký số và các cơ chế xác thực để đảm bảo rằng không ai có thể thay đổi hoặc giả mạo thông tin trên sổ cái phân tán. Mỗi khối trong chuỗi được liên kết với khối trước đó thông qua một mã hash duy nhất, tạo nên chuỗi bất khả xâm phạm. Điều này giúp phát hiện ngay lập tức bất kỳ nỗ lực can thiệp nào vào dữ liệu.

1.2. Vai trò của Quyền riêng tư trong Blockchain

Quyền riêng tư blockchain đảm bảo rằng người dùng có thể thực hiện giao dịch mà không lộ thông tin cá nhân. Mặc dù blockchain công khai là minh bạch, nhưng có thể áp dụng các kỹ thuật như mã hóa dựa trên thuộc tínhchữ ký ẩn danh để bảo vệ danh tính. Điều này đặc biệt quan trọng trong các ứng dụng nhạy cảm như ngành ngân hàng, y tế và chính phủ, nơi yêu cầu tuân thủ các quy định về bảo vệ dữ liệu cá nhân.

II. Các Nguy cơ An toàn và Tấn công trên Blockchain

Các nguy cơ bảo mật blockchain là những thách thức lớn mà công nghệ này phải đối mặt. Những kẻ tấn công có thể sử dụng nhiều phương pháp khác nhau để làm gián đoạn hoạt động của mạng hoặc đánh cắp tài sản kỹ thuật số. Tấn công DDoS, tấn công Sybiltấn công Eclipse là những mối đe dọa phổ biến nhất. Ngoài ra, các lỗ hổng trong hợp đồng thông minh có thể dẫn đến mất mát tài chính lớn. Các vấn đề về tính linh hoạt giao dịchkhông có quy định cụ thể cũng tạo ra những lỗ hổng bảo mật. Hiểu rõ các mối đe dọa này là bước đầu tiên trong việc phòng chống và tăng cường độ an toàn cho hệ thống blockchain.

2.1. Các tấn công phổ biến trên Blockchain

Tấn công từ chối dịch vụ phân tán (DDoS) nhằm làm quá tải mạng bằng cách gửi một lượng lớn yêu cầu giả mạo. Tấn công Sybil liên quan đến việc tạo ra nhiều danh tính giả để kiểm soát mạng. Tấn công Eclipse cô lập một nút khỏi phần còn lại của mạng, ngăn nó nhận thông tin chính xác. Tấn công 51% xảy ra khi một nhóm kiểm soát hơn 50% sức mạnh tính toán của mạng. Các tấn công này có thể dẫn đến mất mát dữ liệu, gián đoạn dịch vụ và giảm niềm tin vào hệ thống.

2.2. Lỗ hổng trong Hợp đồng Thông minh

Hợp đồng thông minh là mã chương trình chạy trên blockchain, nhưng chúng có thể chứa các lỗ hổng bảo mật. Các vấn đề phổ biến bao gồm tính toán tràn, tái vào, kiểm soát truy cập không đúnglogic flawed. Một lỗi nhỏ trong mã có thể dẫn đến mất mát hàng triệu đô la. Do đó, việc kiểm tra và xác minh mã hợp đồng thông minh trước khi triển khai là cực kỳ quan trọng. Các công cụ kiểm toán và các quy trình đánh giá mã enumerating giúp giảm thiểu rủi ro.

III. Các Cơ chế Bảo mật Blockchain

Cơ chế bảo mật blockchain bao gồm một loạt các kỹ thuật và thuật toán được thiết kế để đảm bảo tính toàn vẹn, xác thực và bất biến của dữ liệu. Các thuật toán đồng thuận như Proof of Work (PoW), Proof of Stake (PoS)Delegated Proof of Stake (DPoS) đóng vai trò quan trọng trong việc bảo mật mạng. Hàm băm mật mã tạo ra các mã định danh độc nhất cho mỗi khối, giúp phát hiện bất kỳ thay đổi nào. Chữ ký điện tử xác minh danh tính người gửi và đảm bảo rằng giao dịch không bị từ chối. Sự kết hợp của các cơ chế này tạo nên một hệ thống bảo mật đa lớp, khiến việc tấn công trở nên cực kỳ khó khăn và tốn kém.

3.1. Các Thuật toán Đồng thuận

Proof of Work (PoW) yêu cầu các nút giải quyết các bài toán phức tạp để xác minh giao dịch, rất an toàn nhưng tiêu thụ nhiều năng lượng. Proof of Stake (PoS) cho phép người dùng xác minh giao dịch dựa trên số lượng token họ nắm giữ, tiết kiệm năng lượng hơn. Delegated Proof of Stake (DPoS) cho phép người dùng bầu chọn đại diện để xác minh giao dịch. Proof of Authority (PoA) dựa vào các nút đáng tin cậy được xác định trước. Mỗi thuật toán có ưu và nhược điểm riêng, cần lựa chọn phù hợp với nhu cầu ứng dụng.

3.2. Kỹ thuật Bảo vệ Quyền riêng tư

Chữ ký ẩn danh cho phép người dùng chứng minh họ là chủ sở hữu của tài sản mà không lộ danh tính. Mã hóa dựa trên thuộc tính cho phép kiểm soát truy cập dựa trên các thuộc tính của người dùng. Tính toán đa an toàn cho phép nhiều bên cùng nhau tính toán mà không cần tiết lộ dữ liệu cá nhân của họ. Những kỹ thuật này rất quan trọng cho quyền riêng tư trong blockchain, đặc biệt là trong các ứng dụng yêu cầu sự bảo mật cao.

IV. Ứng dụng Bảo mật Blockchain trong Thực tế

Ứng dụng bảo mật blockchain đã lan rộng đến nhiều lĩnh vực khác nhau của cuộc sống. Trong lĩnh vực tài chính, blockchain được sử dụng để tạo ra các khoản thanh toán an toàn và minh bạch, giảm thiểu gian lận. Trong y tế, blockchain bảo vệ hồ sơ bệnh nhân khỏi những người truy cập trái phép. Trong supply chain và logistics, blockchain theo dõi nguồn gốc hàng hóa, đảm bảo tính xác thực và an toàn. Bỏ phiếu bầu cử sử dụng blockchain để tăng tính minh bạch và giảm gian lận. Bất động sản sử dụng hợp đồng thông minh để tự động hóa các giao dịch. Giáo dục sử dụng blockchain để lưu trữ bằng cấp và chứng chỉ một cách an toàn. Những ứng dụng này cho thấy tiềm năng to lớn của blockchain trong việc tăng cường bảo mật dữ liệuquyền riêng tư người dùng trên toàn thế giới.

4.1. Blockchain trong Lĩnh vực Tài chính

Blockchain tài chính cung cấp một nền tảng an toàn cho các giao dịch thanh toán và chuyển tiền. Tiền điện tử như Bitcoin và Ethereum sử dụng blockchain để tạo ra các giao dịch bất biến và trong suốt. Ngân hàng điện tử sử dụng blockchain để giảm chi phí giao dịch và tăng tốc độ thanh toán. Hợp đồng thông minh tự động hóa các quá trình tài chính, giảm thiểu can thiệp của con người. Các ứng dụng này giúp tăng cường bảo mật giao dịch và bảo vệ khỏi gian lận và sao chép chi tiêu.

4.2. Blockchain trong Y tế và Chính phủ

Blockchain y tế cho phép bệnh nhân kiểm soát hồ sơ y tế của họ đồng thời đảm bảo bảo vệ quyền riêng tư. Chính phủ điện tử sử dụng blockchain để tạo ra các dịch vụ công khai an toàn và minh bạch, từ cấp giấy phép đến quản lý tài sản. Thành phố thông minh IoT sử dụng blockchain để quản lý các thiết bị kết nối an toàn. Những ứng dụng này cho thấy rằng blockchain không chỉ là công nghệ tiền kỹ thuật số mà còn có khả năng cải thiện nhiều khía cạnh của xã hội hiện đại.

21/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN 1. Tổng quan về công nghệ Blockchain 1. Khái niệm Blockchain về cơ bản là một cơ sở dữ liệu được phân phối của các bản ghi hoặc sổ cái công khai của tất cả các giao dịch hoặc các sự kiện kỹ thuật số đã được thực hiện và chia sẽ giữa các bên tham gia.

Mỗi giao dịch trong sổ cái công khai được xác minh bởi sự đồng thuận của đa số những người tham gia trong hệ thống. Ngoài ra, một khi đã nhập thông tin không bao giờ có thể bị xóa bỏ [1]. Công nghệ Blockchain sử dụng mã hóa Public key và hàm hash để đảm bảo tính minh bạch, toàn vẹn và riêng tư của dữ liệu; sử dụng mỗi một nút trong mạng như một Client và cũng là một Server để lưu trữ bản sao ứng dụng, và áp dụng các nguyên tắc đối với các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận. Trong hệ thống Blockchain chia thành 3 loại chính gồm: • Public: Đây là hệ thống blockchain mà bất kỳ ai cũng có quyền đọc và ghi dữ liệu trên Blockchain được.

Quá trình xác thực giao dịch trên Blockchain này đòi hỏi phải có hàng nghìn hay thậm chí là hàng vạn nút tham gia. Do đó để tấn công vào hệ thống Blockchain này là điều bất khả thi vì chi phí rất cao. Ví dụ về public blockchain: Bitcoin, Ethereum… • Private: Đây là hệ thống blockchain cho phép người dùng chỉ được quyền đọc dữ liệu, không có quyền ghi vì điều này thuộc về một bên thứ ba tuyệt đối tin cậy. Bên thứ ba này có thể hoặc không cho phép người dùng đọc dữ liệu trong một số trường hợp.

Bên thứ ba toàn quyền quyết định mọi thay đổi trên Blockchain. Vì đây là một Private Blockchain, cho nên thời gian xác nhận giao dịch khá nhanh vì chỉ cần một lượng nhỏ thiết bị tham gia xác thực giao dịch. Ví dụ: Ripple là một dạng Private Blockchain, hệ thống này cho phép 20% các nút là gian dối và chỉ cần 80% còn lại hoạt động ổn định là được. • Permissioned: Hay còn gọi là Consortium, là một dạng của Private Blockchain nhưng bổ sung thêm một số tính năng nhất định, kết hợp giữa “niềm tin” khi tham gia vào Public và “niềm tin tuyệt đối” khi tham gia vào Private.

Ví dụ: Các ngân hàng hay tổ chức tài chính liên doanh sẽ sử dụng Blockchain cho riêng mình. Lịch sử ra đời của Blockchain Ý tưởng đằng sau công nghệ blockchain được mô tả từ năm 1991, khi các nhà nghiên cứu Stuart Haber và W. Scott Stornetta giới thiệu một giải pháp thực tế về mặt tính toán để đánh dấu thời gian các văn bản số, để chúng không bị đề lùi ngày về trước hoặc can thiệp vào. Hệ thống đã sử dụng một chuỗi gồm các khối được bảo mật bằng mật mã để lưu trữ các văn bản được đánh dấu thời gian.

Và năm 1992, các cây Merkle đã được tích hợp vào thiết kế, khiến nó trở nên hiệu quả hơn bằng cách cho phép một khối có thể tập hợp một vài văn bản. Tuy nhiên, công nghệ này đã không được sử dụng và bằng sáng chế đã hết hạn vào năm 2004, bốn năm trước khi Bitcoin ra đời. Năm 2004, nhà khoa học máy tính và người theo chủ nghĩa mật mã Hal Finney (Harold Thomas Finney II) đưa ra một hệ thống gọi là RPoW, Proof Of Work Tái sử dụng. Hệ thống hoạt động bằng cách nhận một Hashcash không thể thay đổi hoặc không thể thay thế dựa trên token proof of work, và đổi lại đã tạo ra một token đã được ký RSA mà sau đó có thể được trao đổi trực tiếp từ người này sang người khác.

RPoW đã giải quyết vấn đề vì tiêu dùng hai lần bằng cách lưu giữ quyền sở hữu các token đã đăng ký trên một máy chủ đáng tin cậy; máy chủ này được thiết kế để cho phép người dùng trên toàn thế giới xác minh tính chính xác và liêm chính trong thời gian thực. RPoW có thể được xem là một thử nghiệm ban đầu và là những bước đầu tiên quan trọng trong lịch sử tiền điện tử. Vào cuối năm 2008, cuốn sách trắng giới thiệu về hệ thống tiền mặt điện tử mạng ngang hàng, phi tập trung – tên là Bitcoin – đã được đăng trên danh sách nhận thư về mật mã học bởi một người hoặc tổ chức lấy biệt danh là Satoshi Nakamoto. Dựa trên thuật toán proof of work Hashcash, nhưng thay vì sử dụng một hàm tính toán dựa trên phần cứng như RPoW, tính năng chống chi tiêu hai lần trong Bitcoin được cung cấp bởi một giao thức mạng ngang hàng để theo dõi và xác thực các giao dịch.

Nói ngắn gọn, các thợ đào “đào” Bitcoin để nhận phần thưởng bằng cách sử dụng cơ chế proof-of-work và sau đó xác minh bằng các node phi tập trung trong mạng. Vào ngày 3 tháng 1 năm 2009, Bitcoin ra đời khi Satoshi Nakamoto đào được khối bitcoin đầu tiên, đem lại phần thưởng 50 bitcoin. Người nhận Bitcoin đầu tiên là Hal Finney, ông ta nhận được 10 bitcoin từ Satoshi Nakamoto trong giao dịch bitcoin đầu tiên của thế giới vào ngày 12 tháng 1 năm 2009. Cấu trúc khối Blockchain Về bản chất nó là các chuỗi khối liên kết với nhau như dạng danh sách liên kết nhưng có thể truy xuất ngược từ khối cuối (hiện tại) đến khối đầu tiên.

Nó thực sự như một cuốn sổ cái phân tán (Distributed ledger) mà mỗi giao dịch (gọi là khối) trong sổ bao gồm các thông tin được lưu trữ như sau: Về cơ bản mỗi khối chứa những thông tin sau: (1) Dữ liệu (Data): Dữ liệu trong mỗi khối phụ thuộc vào loại Blockchain, ví dụ blockchain của bitcoin chứa thông tin về các giao dịch như thông tin người gửi, người nhận tiền và số bitcoin được giao dịch; blockchain về bảo hiểm y tế sẽ lưu trữ các thông tin về đối tượng được hưởng bảo hiểm, lịch sử sức khỏe của đối tượng đó … (2) Mã băm (Hash): Dùng để nhận dạng một khối và các dữ liệu trong đó. Mã này là duy nhất, nó tương tự như dấu vân tay. Bất kỳ sự thay đổi nào trong khối thì mã băm cũng sẽ thay đổi; (3) Mã băm đối chiếu (Hash of previous block) sẽ tạo thành chuỗi. Bất cứ sự thay đổi một khối sẽ khiến các khối tiếp theo không phù hợp.

Hình TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN. Kiến trúc của Blockchain 3 Hình TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN. Sơ đồ chuỗi khối kết nối Blockchain Blockchain chính là sự kết hợp của 3 công nghệ:  Mật mã học: Sử dụng public key và hàm hash function để đảm bảo tính minh bạch, toàn vẹn và riêng tư.  Mạng ngang hàng: Mỗi một nút trong mạng được xem như một client và cũng là server để lưu trữ bản sao ứng dụng.

 Lý thuyết trò chơi: Tất cả các nút tham gia vào hệ thống đều phải tuân thủ luật chơi đồng thuận (PoW, PoS…) và được thúc đẩy bởi động lực kinh tế. Nguyên lý hoạt động của Blockchain 1. Nguyên lý mã hóa Trên thực tế, cuốn sổ cái luôn được duy trì bởi các máy tính trong mạng ngang hàng được kết nối với nhau. Vì thế, nó sẽ có một số điểm khác biệt: Trong hệ thống ngân hàng, chúng ta chỉ biết các giao dịch và số dư tài khoản của riêng mình thì trên blockchain của bitcoin có thể xem các giao dịch của tất cả mọi người.

Mạng lưới Bitcoin là mạng lưới phân tán không cần bên thứ ba đóng vai trò trung gian xử lý giao dịch. Hệ thống blockchain được thiết kế theo cách không yêu cầu sự tin cậy và bảo đảm bởi độ tin cậy có được thông qua các hàm mã hóa toán học đặc biệt. Để có thể thực hiện các giao dịch trên blockchain, cần một phần mềm sẽ cho phép lưu trữ và trao đổi các đồng Bitcoin gọi là ví điện tử. Ví điện tử này sẽ được bảo vệ bằng một phương pháp mã hóa đặc biệt đó là sử dụng một cặp khóa bảo mật duy nhất: khóa riêng tư (private key) và khóa công khai 4 (public key).

Nếu một thông điệp được mã hóa bằng một khóa công khai cụ thể thì chỉ chủ sở hữu của khóa riêng là một cặp với khóa công khai này mới có thể giải mã và đọc nội dung thông điệp. Khi mã hóa một yêu cầu giao dịch bằng khóa riêng, có nghĩa là ta đang tạo ra một chữ ký điện tử được các máy tính trong mạng blockchain sử dụng để kiểm tra chủ thể gửi và tính xác thực của giao dịch. Chữ ký này là một chuỗi văn bản và là sự kết hợp của yêu cầu giao dịch và khóa riêng của chủ sở hữu. Nếu một ký tự đơn trong thông điệp yêu cầu giao dịch này bị thay đổi thì chữ ký điện tử sẽ thay đổi theo.

Vì thế, hacker khó có thể thay đổi yêu cầu giao dịch của chủ sở hữu hoặc thay đổi số lượng Bitcoin mà người chủ đó đang gửi. Để gửi Bitcoin (BTC), cần chứng minh được rằng bản thân sở hữu khóa riêng của một chiếc ví điện tử cụ thể bởi vì cần sử dụng nó để mã hóa thông điệp yêu cầu giao dịch. Sau khi tin nhắn của chúng ta đã được gửi đi và được mã hóa thì không cần phải tiết lộ khóa riêng của mình nữa. Hình TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN.

Cơ chế mã hóa trong Blockchain 1. Quy tắc sổ cái Mỗi nút trong blockchain đều đang lưu giữ một bản sao của sổ kế toán. Do vậy, mỗi nút đều biết số dư tài khoản của chúng ta là bao nhiêu. Hệ thống blockchain chỉ ghi lại mỗi giao dịch được yêu cầu chứ không hề theo dõi số dư tài khoản của chủ sở hữu.

Để biết số dư trên ví điện tử của mình thì cần xác thực và 5 xác nhận tất cả các giao dịch đã diễn ra trên mạng lưới có liên quan tới ví điện tử của bản thân. Việc xác minh “số dư” này được thực hiện nhờ các tính toán dựa vào liên kết đến các giao dịch trước đó. Mã nguồn trên mạng lưới Bitcoin là nguồn mở, có nghĩa là bất kỳ ai có máy tính kết nối được internet đều có thể tham gia vào mạng lưới và thực hiện giao dịch. Tuy nhiên, nếu có bất kỳ một lỗi nào trong mã nguồn được sử dụng để phát thông báo yêu cầu giao dịch thì các Bitcoin liên quan sẽ bị mất vĩnh viễn.

Hình TỔNG QUAN VỀ CÔNG NGHỆ BLOCKCHAIN. Sổ cái Blockchain Ledger 1. Nguyên lý tạo khối Các giao dịch sau khi được gửi lên trên mạng lưới blockchain sẽ được nhóm vào các khối và các giao dịch trong cùng 1 khối (block) được coi là đã xảy ra cùng thời điểm.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ