Professional Documents
Culture Documents
Công việc này được hỗ trợ một phần bởi Đại học Khalifa - Viện Khoa học và
Công nghệ Tiên tiến Hàn Quốc thông qua Chương trình Nghiên cứu và Phát
triển năm 2019 do Viện Khoa học và Công nghệ Tiên tiến Hàn Quốc giám sát
(Phát triển Công nghệ An ninh Mạng dựa trên Blockchain cho các Nhà máy
Điện hạt nhân), Hàn Quốc, theo Grant N11190054, một phần bởi Trung tâm Hệ
thống Vật lý Mạng, Đại học Khalifa, theo Grant 8474000137-RC1-C2PS-T3, và
một phần bởi Chương trình Nghiên cứu và Phát triển Quốc gia thông qua Quỹ
Nghiên cứu Quốc gia Hàn Quốc (NRF ) do Chính phủ Hàn Quốc (Bộ Khoa học,
Công nghệ thông tin và Kế hoạch Tương lai) tài trợ theo Grant NRF-
2016R1A5A1013919.
TÓM TẮT:
Các nhà máy điện hạt nhân (NPP) được cách ly về mặt vật lý với các mạng
bên ngoài và có môi trường hoạt động khác với các hệ thống công nghệ thông
tin (CNTT) thông thường. Theo đó, các NPP được coi là an toàn trước các
cuộc tấn công mạng bên ngoài. Tuy nhiên, sau đó người ta xác định rằng các
mạng bị cô lập không an toàn trước các cuộc tấn công mạng. Các cuộc tấn
công đưa dữ liệu độc hại vào Bộ điều khiển Logic Lập trình (PLC) được triển
khai trong hệ thống an toàn của NPP rất quan trọng đối với các cơ sở hạt
nhân, giống như trong cuộc tấn công Stuxnet. Cần phải giám sát tính toàn vẹn
của dữ liệu PLC và bảo vệ PLC khỏi các mối đe dọa mạng như sửa đổi các
điểm thiết lập hoặc logic đã triển khai. Để giải quyết vấn đề này, bài báo này
đề xuất một hệ thống mới để giám sát tính toàn vẹn dữ liệu của PLC sử dụng
công nghệ blockchain. Xem xét môi trường NPP, chúng tôi đã phát triển một
hệ thống blockchain riêng để giám sát tính toàn vẹn dữ liệu của PLC. Khái
niệm mới là Bằng chứng giám sát (PoM) đối với tính toàn vẹn dữ liệu của PLC
đã được đề xuất để khắc phục hạn chế đối với việc áp dụng blockchain riêng
vào an ninh mạng của các NPP. Ngoài ra, chúng tôi đã phát triển một hệ thống
giám sát tính toàn vẹn cho Hệ thống Bảo vệ Lò phản ứng (RPS) —một hệ
thống an toàn trong các NPP — bằng cách sử dụng blockchain đã phát triển.
Nó có thể phát hiện các cuộc tấn công mạng (chẳng hạn như các cuộc tấn
công đưa mã giả vào PLC) và theo dõi tính toàn vẹn của PLC nào đã bị xâm
phạm trong thời gian thực. Một thử nghiệm xác thực sử dụng tấn công đưa dữ
liệu sai vào PLC đã được thực hiện trên hệ thống đã phát triển và kết quả xác
nhận rằng hệ thống được phát triển đã giám sát thành công việc sửa đổi dữ
liệu trong PLC.
MỤC LỤC THUẬT NGỮ:
Blockchain, an ninh mạng, toàn vẹn dữ liệu, phát hiện, hệ thống giám sát, bộ
điều khiển logic khả trình (PLC), hệ thống bảo vệ lò phản ứng (RPS).
I. GIỚI THIỆU
Hệ thống Thiết bị & Điều khiển (I&C) của Nhà máy điện hạt nhân
(NPP) được cách ly về mặt vật lý với các mạng bên ngoài và có môi
trường hoạt động khác với các hệ thống công nghệ thông tin (CNTT)
thông thường. Theo đó, các NPP được coi là an toàn trước các cuộc
tấn công mạng từ bên ngoài. Tuy nhiên, sau đó người ta xác định
rằng các mạng bị cô lập không an toàn trước các cuộc tấn công
mạng [1].
Năm 2010, Stuxnet đã phá hủy khoảng 1000 máy ly tâm tại cơ sở làm
giàu uranium của Iran ở Natanz. Cuộc tấn công của Stuxnet nhằm
vào chương trình hạt nhân của Iran cho thấy tác động quan trọng mà
một kẻ thù tinh vi với kiến thức chi tiết về các hệ thống I&C có thể có
đối với các cơ sở hạ tầng liên quan đến an toàn [2], [3].
Các cuộc tấn công vào Bộ điều khiển logic lập trình (PLC) được triển
khai trong hệ thống bảo vệ an toàn của NPP sẽ đặc biệt nghiêm
trọng vì các mối đe dọa mạng trên PLC có thể gây ra các vấn đề liên
quan đến an toàn [4].
Viện Kiểm soát và Không phổ biến Hạt nhân Hàn Quốc (KINAC), cơ
quan giám sát các quy định về an ninh mạng của NPP ở Hàn Quốc,
yêu cầu các tiện ích tuân thủ các biện pháp kiểm soát an ninh mạng
và thực hiện quản lý rủi ro an ninh mạng dựa trên hướng dẫn quy định
RS-015. KINAC / RS-015 khuyến nghị thực hiện các biện pháp kiểm
soát bảo mật để đảm bảo tính toàn vẹn của các hệ thống quan trọng
và giám sát các cuộc tấn công mạng chống lại chúng [5].
Tuy nhiên, hiện tại không có hệ thống nào có khả năng phát hiện việc
sửa đổi dữ liệu có hại trên PLC trong thời gian thực. Hơn nữa, rất khó
để phát hiện liệu tính toàn vẹn của dữ liệu logic điều khiển có bị tấn
công trong điều kiện bình thường hay không vì hệ thống an toàn (ví
dụ: bơm và van an toàn) không hoạt động trong điều kiện bình
thường. Không có kiểm soát an ninh để giám sát tính toàn vẹn dữ
liệu của bộ điều khiển an toàn. Cần phải giám sát tính toàn vẹn của
PLC và bảo vệ chúng khỏi các mối đe dọa mạng như việc sửa đổi các
điểm thiết lập hoặc logic đã triển khai trong PLC. Công nghệ chuỗi
khối (sau đây được gọi đơn giản là ‘‘ blockchain ’’) có thể là một giải
pháp hiệu quả cho vấn đề này. Blockchain kết hợp nhiều công nghệ
như hệ thống mật mã và phân tán, thay vì sử dụng một công nghệ
duy nhất, để ngăn chặn việc thao túng dữ liệu [6], [7].
Trong một hệ thống hiện có, nếu kẻ tấn công xâm phạm tính toàn vẹn
của hệ thống và loại bỏ bằng chứng về cuộc tấn công, thì cuộc tấn
công rất khó bị phát hiện [8]. Tuy nhiên, nếu blockchain được sử
dụng, dữ liệu được ghi lại sẽ không thể thay đổi, do đó loại bỏ bằng
chứng về cuộc tấn công và khắc phục những hạn chế của một điểm
lỗi duy nhất. Blockchain cũng đáp ứng các yêu cầu bảo mật trong
hướng dẫn quy định về an ninh mạng của KINAC / RS015 được trình
bày trong Bảng 1.
Trong nghiên cứu sơ bộ [9], chúng tôi đã đề xuất một khung khái
niệm về an ninh mạng NPP bằng cách sử dụng blockchain. Bài báo
này là một nghiên cứu tiếp theo. Trong nghiên cứu này, chúng tôi đã
triển khai khái niệm từ nghiên cứu sơ bộ và phát triển hệ thống giám
sát toàn vẹn dữ liệu của hệ thống an toàn hạt nhân sử dụng
blockchain. Xem xét bối cảnh của môi trường NPP, chúng tôi phát
triển chuỗi khối để giám sát việc làm sai lệch dữ liệu trong PLC trong
thời gian thực. Trái ngược với các blockchain dành cho tiền điện tử,
blockchain được phát triển trong nghiên cứu này lưu trữ tính toàn vẹn
về dữ liệu như logic điều khiển và điểm đặt. Chúng tôi cũng phát triển
một hệ thống giám sát tính toàn vẹn của Hệ thống bảo vệ lò phản
ứng (RPS) bằng cách sử dụng blockchain đã phát triển. Tính hợp lệ
của hệ thống đã phát triển được chứng minh thông qua một thử
nghiệm đưa dữ liệu sai vào PLC.
Trong nghiên cứu này, chúng tôi đề xuất một hệ thống mới để theo
dõi tính toàn vẹn dữ liệu của RPS bằng cách sử dụng một blockchain
riêng. Những đóng góp chính của chúng tôi được tóm tắt như sau:
1) Chúng tôi phát triển một blockchain riêng tư xem xét bối cảnh của
môi trường NPP và đề xuất một hệ thống mới giám sát tính toàn vẹn
dữ liệu của các PLC sử dụng blockchain này. Có thể giám sát tính
toàn vẹn của PLC trong thời gian thực (cứ sau 5000-6000ms) trước
các mối đe dọa mạng.
3) Đây là nghiên cứu tiên phong là nghiên cứu đầu tiên khai thác
blockchain với PLC để giám sát an ninh. Hệ thống được đề xuất
không chỉ giới hạn ở một vài hệ thống — khả năng sử dụng của nó có
thể được mở rộng để giám sát tính toàn vẹn dữ liệu của các hệ thống
điều khiển khác trong thời gian thực. Phần còn lại của bài viết này
được tổ chức như sau. Phần II mô tả sơ bộ về blockchain bao gồm
các đặc điểm chung. Phần III mô tả blockchain riêng tư để giám sát
tính toàn vẹn dữ liệu của PLC. Phần IV mô tả hệ thống giám sát toàn
vẹn dữ liệu RPS sử dụng blockchain riêng được phát triển trong Phần
III. Phần V kết thúc bài báo này.
II. Sơ khảo về BLOCKCHAIN:
Sự thay đổi này lan truyền lặp đi lặp lại đến các khối tiếp theo và
tạo thành một ngã ba (chuỗi mới). Tuy nhiên, chuỗi mới này không
phải là sự đồng thuận mà tất cả các nút liên hợp đồng ý. Do cấu
trúc khéo léo này, blockchain vốn có khả năng chống giả mạo dữ
liệu. Không giống như hệ thống tập trung hiện tại, blockchain là
một hệ thống phân tán. Để tấn công thành công dữ liệu được lưu
trữ trong blockchain, kẻ tấn công phải tấn công dữ liệu của các
nút khác đồng thời trong một khoảng thời gian ngắn ngay cả khi
kẻ tấn công thành công trong việc giả mạo dữ liệu của một nút
trong mạng. Các tính năng này khắc phục những hạn chế của các
biện pháp kiểm soát bảo mật tập trung hiện có.
II. BLOCKCHAIN RIÊNG TƯ ĐỂ THEO DÕI TÍCH HỢP DỮ LIỆU CỦA PLC
Phần này mô tả những lưu ý khi áp dụng công nghệ blockchain vào
an ninh mạng của NPP. Xem xét môi trường NPP, nó mô tả sự phát
triển của một blockchain riêng giám sát tính toàn vẹn của dữ liệu
PLC. Chúng tôi cũng mô tả một chức năng giao tiếp mà chúng tôi đã
phát triển để đọc dữ liệu PLC được lưu trữ trong chuỗi khối trong thời
gian thực bằng phần mềm LabVIEW.
Loại blockchain phù hợp với môi trường của NPP đã được thảo
luận. Có một hạn chế trong việc áp dụng một blockchain công
khai cho các mạng NPP. Vì mạng NPP bị cô lập với bên ngoài, chỉ
những danh tính nội bộ được phê duyệt trước mới có thể truy cập
vào mạng. Nếu dữ liệu của bộ điều khiển được mở cho các cá
nhân trái phép, dữ liệu cũng có thể cung cấp thông tin hệ thống
nhạy cảm cho các cá nhân bên ngoài hoặc những kẻ tấn công
tiềm năng. Việc sử dụng một chuỗi khối công khai với các tính
năng của cơ chế bằng chứng không có kiến thức cung cấp lợi thế
của việc ẩn danh dữ liệu, nhưng việc ẩn danh này cản trở việc
phân tích chi tiết dữ liệu. Trong nghiên cứu này, việc sử dụng một
blockchain riêng là phù hợp vì dữ liệu không được ẩn danh để
kiểm tra xem dữ liệu của PLC có bị giả mạo hay không. Điều này là
do rất khó để phân tích cụ thể dữ liệu của một PLC cụ thể được
lưu trữ trong một khối nếu tất cả dữ liệu giao dịch được ẩn danh.
Do đó, việc áp dụng một blockchain công khai là không thích hợp
trong môi trường NPP. Xem xét bối cảnh của một mạng lưới NPP,
việc áp dụng một blockchain riêng sẽ phù hợp hơn.
Chúng tôi đã xem xét một thuật toán đồng thuận phù hợp với
blockchain riêng tư để áp dụng cho môi trường NPP. Các thuật
toán đồng thuận chuỗi khối như PoW được sử dụng trong tiền
điện tử hiện có rất tốn kém về mặt tính toán và không hiệu quả
[14].
Khi áp dụng cho an ninh mạng NPP, việc bồi thường ( phần
thưởng ) cho việc khai thác các khối cũng không cần thiết. Do đó,
các mạng blockchain riêng thường sử dụng PoA như một thuật
toán đồng thuận. Mặc dù sử dụng PoA trong môi trường
blockchain riêng tư có lợi thế về hiệu suất và hiệu quả, nhưng theo
quan điểm của kẻ tấn công, nếu họ biết nút nào là nút xác thực,
dữ liệu khối có thể bị giả mạo. Để giải quyết vấn đề này, nên chọn
ngẫu nhiên một người khai thác mỗi lần trong số các nút cấu
thành mạng. Do đó, chúng tôi đã áp dụng sự đồng thuận PoA dựa
trên vòng quay ngẫu nhiên, trong đó nút khai thác được chọn ngẫu
nhiên để ngăn những kẻ tấn công xác định nút khai thác mỗi lần
trong số các nút đã được xác thực. Ngay cả khi một số nút quyền
hạn bị xâm phạm hoặc bất thường, vẫn có thể phân biệt nút bất
thường bằng cách so sánh với các khối được xác minh bởi các nút
bình thường khác. Ví dụ: giả sử rằng một trong 10 nút bị xâm
phạm. Trong vòng mà 9 nút bình thường được chọn làm nút xác
thực, kết quả xác minh là A, trong khi ở vòng mà nút bị xâm phạm
được chọn làm nút xác thực, kết quả xác minh là B. Sau đó, chúng
ta có thể suy ra rằng có sự cố trong nút cho biết kết quả xác minh
là B. Do đó, nếu một nút cơ quan cụ thể được chọn để xác minh
khối và các giá trị được lưu trữ trong chuỗi khối khác với các khối
khác, thì có thể suy ra rằng nút cơ quan có vấn đề. Đây là Bằng
chứng Giám sát (PoM) cho tính toàn vẹn dữ liệu của PLC và nó là
một khái niệm mới được đề xuất trong bài báo này để khắc phục
hạn chế đối với việc áp dụng các blockchains riêng vào an ninh
mạng của các NPP. Đây là Bằng chứng Giám sát (PoM) đối với
tính toàn vẹn dữ liệu của PLC và nó là một khái niệm mới được đề
xuất trong bài báo này để khắc phục hạn chế đối với việc áp dụng
các blockchains riêng vào an ninh mạng của các NPP.
Hình 2: quá trình của bằng chứng giám sát tính toàn vẹn dữ liệu
cho PLC.
2. nút xác thực được chọn ngẫu nhiên trong mỗi thời điểm
3. nút được lựa chọn khai thác và xác nhận khối
Hình 3: code để giao tiếp với PLC để đọc bộ nhớ dữ liệu sử dụng
phần mềm labview
Để thực hiện chức năng này, cần thiết lập địa chỉ IP, vùng nhớ để
đọc, cổng giao tiếp và định dạng khung bản tin theo giao thức
truyền thông. Chương trình giao tiếp với PLC được phát triển lưu
dữ liệu được lưu trữ trong bộ nhớ cụ thể của PLC ở định dạng văn
bản. Có thể có lo ngại rằng bề mặt tấn công có khả năng tăng lên
do chức năng mới sử dụng giao tiếp Ethernet TCP / IP. Tuy nhiên,
người ta mong đợi rằng nhiều cuộc tấn công hiện có khác nhau có
thể được ngăn chặn thông qua chức năng mới. Ngoài ra, khi áp
dụng cho các hệ thống điều khiển hạt nhân, chức năng giao tiếp
một chiều giữa PLC và chuỗi khối phải được thực hiện do các
hướng dẫn quy định về an ninh mạng hạt nhân. Chức năng giao
tiếp một chiều này có thể ngăn chặn các cuộc tấn công toàn vẹn
dữ liệu chống lại PLC. Dự kiến, bề mặt tấn công do chức năng mới
sẽ được giảm hơn nữa. Dữ liệu của PLC thu được thông qua giao
tiếp được lưu trữ trong chuỗi khối được đề xuất trong phần tiếp
theo.
Hình 4 minh họa kiến trúc của hệ thống giám sát toàn vẹn dữ liệu
PLC sử dụng mạng blockchain. Dữ liệu của mỗi PLC được coi là
dữ liệu giao dịch trong chuỗi khối của tiền điện tử hiện có. Dữ liệu
PLC được mã hóa bằng thuật toán Secure Hash Algorithm (SHA)
-256 sau mỗi 5000-6000ms, như trong thời gian thực và được ghi
lại trong khối. Nút xác thực được chọn ngẫu nhiên xác minh dữ
liệu đã ghi và phân phối nó đến các nút khác trong mạng
blockchain riêng tư. Sau khi được ghi vào mạng blockchain, dữ
liệu hầu như không thay đổi. Bảng 2 trình bày cấu hình của
blockchain, được phát triển dựa trên JavaScript. Nó bao gồm năm
nút và một khối mới được tạo thành nhiều lần lặp lại với khoảng
thời gian ngẫu nhiên trong khoảng 5000–6000ms bởi một nút xác
thực. SHA-256 được sử dụng như một thuật toán mật mã; nó là
một hàm băm mật mã lấy đầu vào có kích thước ngẫu nhiên và
tạo ra đầu ra có kích thước cố định. Các hàm băm rất mạnh mẽ vì
chúng là ‘‘ một chiều ’’. PoA dựa trên vòng quay ngẫu nhiên đã
được chọn để tạo ra sự đồng thuận trong mạng blockchain. Nếu
kẻ tấn công xác định được một nút khai thác, thì việc giả mạo dữ
liệu là có thể xảy ra. Do đó, nút khai thác đã được chọn ngẫu nhiên
trong tổng số các nút trong mạng blockchain.
Hình 4: kiến trúc của hệ thống giám sát toàn vẹn dữ liệu plc bằng
cách sử dụng blockchain
Từ PLC có các chương trình giao tiếp để đọc dữ liệu của các PLC.
Dữ liệu của các PLC đc băm bằng thuật toán SHA -> được các giá
trị băm (hash value) -> băm tiếp để thành 1 gốc merkle chung.
Gốc này lưu trong tiêu đề khối, cùng kết quả băm trước (previous
hash result), dấu thời gian(timestamp), số khối (block number),
nonce, kết quả băm hiện tại (current hast result), dữ liệu giao dịch
(transaction data). Để làm gì? – băm ra giá trị cho khối?
, một cây là một cấu trúc dữ liệu. Trong cấu trúc này gồm có:
Nút: Một cách nói thú vị để ám chỉ một cái gì đó có chứa dữ liệu và có thể liên kết với
các nút khác.
Cạnh: Đó là các liên kết kết nối các nút.
Vì cây là loại biểu đồ đặc biệt nên bắt đầu từ một nút gốc. Do đó, cần phải có một nút ban đầu.
Các nút chỉ liên kết bằng cách phân nhánh từ các nút mẹ. Như vậy, bạn có thể chỉ cần liên kết
các nút của mình theo cách bạn muốn. Nút không có nút con được gọi là lá hoặc điểm cuối.
Cây Merkle là một loại cây đặc biệt. Một cây Merkle còn được gọi là cây hash.
Hash là gì?
Hash về cơ bản là một chữ ký của bất kỳ loại dữ liệu tùy ý. Hiểu theo cách khoa học thì đó là
một hàm lấy dữ liệu kích thước tùy ý và trả về hàm kích thước cố định.
Tuy nhiên, vì là nó “chữ ký” của dữ liệu nên phải có các tính chất sau:
Xác định: Một dữ liệu chỉ có 1 hash và không có sự trùng lặp ngẫu nhiên.
Thống nhất: Có chức năng hoạt động xuyên suốt, không thay đổi.
Tuy nhiên, để có được chữ ký tốt, duy nhất thì phải có đầu ra (kích thước cố định) gần như nhau.
Nếu không, sẽ xảy ra xung đột: có nghĩa là ngày càng có nhiều dữ liệu có cùng chữ ký. Với đầu
ra có “kích thước cố định” (kích thước chữ ký) đủ lớn và thống nhất, sẽ không có vấn đề gì xảy
ra.
Phạm vi xác định: Đây là phần xác định kích thước cố định.
Vì mục tiêu là lấy bất kỳ dữ liệu nào và tạo ra một chữ ký chung, nên phải có một phạm vi xác
định thường được tính bằng đơn vị bit. Ví dụ hàm hash rất phổ biến SHA-512 có phạm vi xác
định là 512 bit.
Không thể đảo ngược: Chữ ký được thực hiện theo một chiều, có nghĩa là không thể
lấy nội dung gốc bằng cách sử dụng hash.
Mặc dù đây không phải là một yêu cầu nhất thiết phải có, đặc biệt đối với hash mật mã, nhưng
chắc chắn rất quan trọng
Trở lại cây Merkle Tree, như chúng ta đã nói, mỗi chiếc lá trong cây này có một số khối dữ liệu
trong đó. Một nút có thể chứa hash mật mã (chữ ký một chiều) của nút con. Điều này hóa ra là
một cách rất thú vị để lưu trữ một số dữ liệu; đặc biệt bởi vì nó cho phép bạn xác minh mọi loại
dữ liệu. Quá trình này diễn ra một cách nhanh chóng vì chỉ cần kiểm tra chữ ký của dữ liệu.
Hãy xem xét một ví dụ về bốn giao dịch trong một khối: A, B, C và D. Mỗi giao dịch được băm
và hàm băm được lưu trữ trong mỗi nút lá, dẫn đến các cặp Hash A, B, C và D. Liên tiếp các nút
lá sau đó được tóm tắt trong một nút cha bằng cách băm Hash A và Hash B, dẫn đến Hash AB
và băm riêng Hash C và Hash D, dẫn đến Hash CD. Hai băm (Hash AB và Hash CD) sau đó được
băm lại để tạo Root Hash (Root Merkle).
Cây Merkle được tạo bằng cách liên tục băm các cặp nút cho đến khi chỉ còn lại một hàm băm
(hàm băm này được gọi là Root Hash hoặc Root Merkle). Chúng được xây dựng từ dưới lên, từ
băm của các giao dịch riêng lẻ (được gọi là ID giao dịch). Merkle Root tóm tắt tất cả dữ liệu
trong các giao dịch liên quan và được lưu trữ trong tiêu đề khối.
Mỗi nút lá là một hàm băm của dữ liệu giao dịch và mỗi nút không lá là một hàm băm của các
giá trị băm trước đó. Merkle tree là nhị phân và do đó yêu cầu số nút chẵn. Nếu số lượng giao
dịch là số lẻ, hàm băm cuối cùng sẽ được nhân đôi một lần để tạo số nút chẵn.
Gốc Merkle được kết hợp với các thông tin khác (phiên bản phần mềm, hàm băm của khối trước, dấu thời
gian (timestamp), mục tiêu độ khó và số được sử dụng một lần (nonce)) và sau đó chạy qua hàm băm để
tạo ra hàm băm duy nhất của khối:
Dữ liệu được lưu trữ trong blockchain đã phát triển được trình bày trong
Bảng 3. Số khối, kết quả băm trước đó, dữ liệu giao dịch, gốc Merkle,
nonce, dấu thời gian và kết quả băm hiện tại được ghi trong khối. Số
khối là số khối được tạo ra. Kết quả băm trước là giá trị băm của khối
trước đó. Không giống như dữ liệu được lưu trữ trong chuỗi khối tiền
điện tử, chuỗi khối được đề xuất trong nghiên cứu này lưu trữ dữ liệu
PLC (ví dụ: logic hệ thống điều khiển, dữ liệu điểm đặt, v.v.). Việc xác
minh tính toàn vẹn của dữ liệu sẽ không hiệu quả nếu số lượng PLC tăng
lên đáng kể. Xét đến hạn chế này, gốc Merkle được sử dụng để dễ dàng
xác minh tính toàn vẹn của tất cả dữ liệu và có thể là giá trị băm đại diện
về tính toàn vẹn của một số PLC [15]. Dữ liệu trong mỗi nút lá là dữ liệu
PLC thu được bởi chương trình truyền thông được đề xuất trong Phần
III.B và tất cả dữ liệu băm được kết hợp thành một giá trị băm không đổi
duy nhất được gọi là ‘‘ Merkle root ’’. Dấu thời gian là thời gian khối hiện
tại được tạo. Khi giám sát tính toàn vẹn dữ liệu của PLC, dấu thời gian
biểu thị thời điểm dữ liệu thay đổi. Nonce là một giải pháp của công việc
cần thiết để kết nối khối trước với khối hiện tại. Kết quả băm hiện tại là
giá trị băm của khối hiện tại, giá trị này cũng được bao gồm trong khối
tiếp theo sẽ được tạo.
BẢng 3: cấu trúc Block:
- Block number: số thứ tự của khối hiện tại, được sử dụng làm tiêu
đề của khối.
- Previous hash result: kết quả băm của khối trước đó.
- Transaction data: Giá trị băm của dữ liệu được lưu trữ trong PLC
(dữ liệu của logic bậc thang, điểm đặt của các thành phần, cấu
hình của PLC).
- Merkle root hash: băm nén của tất cả dữ liệu giao dịch được băm,
là giá trị đại diện cho tính toàn vẹn dữ liệu tổng thể của PLC.
- Timestamp: thời gian khối hiện tại được thêm vào blockchain.
- Nonce: giải pháp của bài toán đố cho khối hiện tại.
- Current hash result: kết quả băm của khối hiện tại.
III. THEO DÕI TÍCH HỢP RPS SỬ DỤNG BLOCKCHAIN ĐÃ PHÁT TRIỂN
Phần này mô tả hệ thống giám sát toàn vẹn dữ liệu RPS bằng cách
sử dụng chuỗi khối riêng được phát triển trong Phần 3. Phần này mô
tả sự ra đời của RPS, sự phát triển của hệ thống giám sát tính toàn
vẹn RPS bằng cách sử dụng blockchain đã phát triển và xác thực thử
nghiệm của nó.
Nhưng tại sao? Chúng ta không thể kiểm tra hash bình thường của dữ liệu thay vì đặt từng mảnh
và tạo ra cả một cây phải không?
Chúng ta có thể. Tuy nhiên, nếu bạn đang phát triển một hệ thống phân tán/ngang hàng (nơi các
máy đang trao đổi thông tin và bạn không biết bạn có thể tin tưởng vào cái nào) thì loại xác
minh này trở nên cực kỳ quan trọng. Mặc dù cùng một dữ liệu ở nhiều nơi nhưng không có cách
nào để biết nếu không có phương thức trên.
Nút mà bạn nhận được dữ liệu rất trung thực. Dữ liệu bạn nhận được là chính xác (và nút không
lừa bạn). Dữ liệu không bị ngắt trên đường vận chuyển.