Giải pháp về bảo mật cho hệ thống

Một phần của tài liệu Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm hỗ trợ giám sát và điều khiển sử dụng OPC UA (Trang 74 - 80)

b. Lấy mẫu dữliệu trong không gian nút

2.3. Giải pháp về bảo mật cho hệ thống

Trong công nghiệp tất cả các máy chủOPC UA đều chứa các dữ liệu có giá trị rất quan trọng, nếu không được quản lý chặt chẽ có thể mang lại hậu quảđáng tiếc. Chính vì vậy việc bảo mật trong bộ công cụ OPC UA Client-Server SDK là vô cùng cần thiết

để bảo vệ các dữ liệu và ngăn cản mọi hành động không được phép. Nên tác giảđi vào

nghiên cứu, xây dựng, cung cấp một phương pháp bảo mật bằng cách xác nhận qua chữ ký điện tửđể Server và Client xác nhận lẫn nhau. Phương pháp bảo mật này độc lập với việc phát triển các ứng dụng. Trong bộ công cụ OPC UA Client-Server SDK đã xây dựng hai lớp giải quyết vấn đề bảo mật cho các ứng dụng khác nhau (hình 2.22).

Đặc tả bảo mật OPC xác định giao diện bảo mật tùy ý với các phương pháp, không

có máy chủ mới hoặc đối tượng OPC mà ởđó các giao diện này được tích hợp vào máy chủ dựa trên các đặc tảđã có và sẽ có [41]. Nó xửlý điều khiển truy cập và dựa trên mô hình bảo mật Microsoft Windows. Nguyên tắc là người sử dụng và máy tính xử lý, khi tiếp cận một đối tượng bảo mật phải khai báo ủy quyền qua một kênh giao tiếp

được bảo vệ. Thiết bị giám sát kiểm tra thông tin ủy quyền theo danh mục điều khiển truy cập phù hợp với đối tượng, theo đó cho phép hay từ chối truy cập. Ủy quyền phải

được tạo ra để xác thực người dùng và để xử lý, lưu trữ một cách an toàn [42]. Một máy chủ OPC có thể thực hiện một trong ba cấp bảo mật như sau:

64

 Tắt chếđộ bảo mật: không có bảo mật.

 Bảo mật DCOM: Thông báo và cho phép truy cập vào máy chủ OPC giới hạn với một số người dùng. Đây là cấp bảo mật mặc định do nhà phân phối COM cung cấp và được quản trị đặc thù với công cụ cấu hình bảo mật khai báo DCOM.

 Bảo mật OPC: Máy chủ OPC cung cấp dịch vụgiám sát thông tin đểđiều khiển truy cập vào đối tượng bảo mật cụ thểđược hiển thị bởi máy chủ OPC. Nếu bảo mật OPC được thực hiện, bảo mật DCOM phải được cấu hình để cho phép truy cập vào giao diện máy chủ.

Đặc tả bảo mật OPC chỉ bao gồm điều khiển truy cập máy chủ/đối tượng chứ không liên quan đến tính bảo mật và nguyên bản trong quá trình truyền dữ liệu. Đặc tả

OPC XML-DA thay thế dịch vụ DCOM bởi giao thức trao đổi SOAP độc lập và đơn

giản hơn [43], SOAP đặc thù chạy trên HTTP. Với các trường hợp như vậy, nó có thể

dựa vào một tầng trao đổi có cơ chế bảo mật như SSL bảo vệ giao tiếp hoặc như chữ ký XML hoặc cơ chế mã hóa XML như được tranh luận bởi Dzung et al. [42], Tan et al. [44], Mahnke et al. [10].

Hiện nay, OPC UA cho hệ thống giám sát điều khiển sử dụng cơ sở truyền thông tuân thủ theo XML, web services và SOA. Chính vì vậy để đảm bảo tính bảo mật cho hệ thống ta có thể sử dụng chữ ký XML. Chữ ký XML là một hệ thống mã hóa chữ ký số trong tài liệu XML. Nó sử dụng tiêu chuẩn và công nghệ mã hóa như các chữ ký số thông thường khác [23]. Cơ sở của chữ ký số là mã hóa đối xứng hoặc bất đối xứng. Tuy nhiên, có một vấn đề quan trọng: Làm thế nào một khóa bí mật có thể cung cấp cho các bên một cách an toàn. Có hai phương pháp có thể sử dụng đó là khóa công khai

và khóa bí mật. Trong luận án này tác giả đã sử dụng phương pháp khóa công khai RSA với độ lớn khóa là 1024 bit và 2048 bit. RSA: Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân). Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã. Khóa công khai được công bố

rộng rãi cho mọi người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng. Nói cách khác, mọi người đều có thể mã hóa nhưng chỉcó người biết khóa cá nhân (bí mật) mới có thể

giải mã được.

Khi OPC UA Client SDK gửi yêu cầu kích hoạt phiên làm việc thì OPC UA Server SDK cần xác thực các thông tin sau: chứng thực của Client và chứng thực thông tin

người dùng. Điều này không được định nghĩa sẵn trong SDK mà phụ thuộc vào người phát triển ứng dụng. Vì thế, bộ công cụ OPC UA Client-Server SDK đưa ra giao diện ISercurityHelper và lớp trừu tượng SercurityHelperBase như hình vẽ 2.22.

65

Hình 2.22. Giao diện ISercurityHelper

Như hình vẽ 2.22, IsercurityHelper định nghĩa ba phương thức: một phương thức khởi tạo giấy chứng thực, một phương thức xác nhận giấy chứng thực là hợp lệ hay không và một phương thức để xác thực người dùng. Còn lớp trừu tượng SercurityHelperBase thì bổ sung thêm một số phương thức hỗ trợ. Khi xây dựng bộ

công cụ OPC UA Client-Server SDK, tác giả muốn cung cấp sự linh hoạt cho người dùng SDK, vì vậy người phát triển ứng dụng có thể tự định nghĩa một lớp kế thừa từ

SercurityHelperBase và xác thực theo cách của họ. Sau khi xác nhận các thông tin là hợp lệ, OPC UA Server SDK sẽ kích hoạt phiên làm việc. Kể từ lúc này, OPC UA Client và OPC UA Server SDK có thểtrao đổi các thông tin của hệ thống.

Sau đây là cơ chế hoạt động bảo mật của bộ công cụ OPC UA Client-Server SDK (hình 2.23):

66

Khi OPC UA Client SDK kết nối đến Server. Server sẽ gửi yêu cầu xác nhận cho Client. Client tạo ra một giấy chứng nhận [2] và mã hóa bằng khóa công khai của Server và gửi cho Server, Server sẽ xác nhận OPC UA Client SDK. Thông điệp này sẽ được giải mã bởi khóa riêng của OPC UA Server SDK, và chữ ký số sẽđược xác minh bởi khóa công khai của OPC UA Client SDK. Nếu thông điệp đáng tin cậy, OPC UA Server SDK sẽ gửi lại đáp ứng yêu cầu kết nối. Client sẽlưu lại giấy chứng nhận và lần sau không cần tạo lại.

Kết quả của nghiên cứu khi áp dụng cơ chế bảo mật Certificate Management cho kiến trúc đã đề xuất. Hình 2.24: tạo giấy chứng nhận (tạo giấy chứng nhận bao gồm tên

ứng dụng, thuật toán mã hóa, thời gian sống – validity period của giấy chứng nhận…). Hình 2.25: giấy chứng nhận (sau khi Server chấp nhận giấy chứng nhận của Client. Client sẽlưu giấy chứng nhận lại để dùng vào các lần kết nối sau):

Hình 2.24. Tạo giấy chứng nhận

67

OPC Security là một mô-đun của bộ công cụ OPC UA Client-Server SDK, ứng dụng cơ chế bảo mật Certificate Management vào trong bộ công cụ OPC UA Client- Server SDK, tác giả đã tiến hành phát triển việc xác thực các máy chủ và Client bằng giấy chứng nhận ứng dụng của Client. Khi giấy chứng nhận được xác định, Client có quyền kết nối với Server. Ở những lần kết nối sau Client sử dụng giấy chứng nhận đã tạo mà không cần tạo lại giấy chứng nhận nữa.

Trong [CT6], kết quả nghiên cứu về bảo mật cho bộ công cụ đề xuất đã được công bốở hội nghị quốc tế ICCASA 2013 vì hiện nay OPC UA cho hệ thống giám sát điều khiển sử dụng cơ sở truyền thông tuân thủ theo XML, web services và SOA, chính vì vậy đểđảm bảo tính bảo mật cho hệ thống ta có thể sử dụng chữ ký XML. Trong bộ

công cụ OPC UA Client-Server SDK tác giả đã sử dụng phương pháp khóa công khai

RSA với độ lớn khóa là 1024 bit và 2048 bit. Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã; khóa công khai được công bố rộng rãi cho mọi

người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ

có thểđược giải mã bằng khóa bí mật tương ứng. Nói cách khác, mọi người đều có thể

mã hóa nhưng chỉcó người biết khóa cá nhân (bí mật) mới có thể giải mã được.

2.4. Kết luận

Chương 2 đề xuất và xây dựng, phát triển bộ công cụ OPC UA Client-Server SDK và mô hình kiến trúc hệ thống giám sát và điều khiển trong công nghiệp. Bộ công cụ

OPC UA Client-Server SDK được phát triển độc lập, độc lập với nền tảng và độc lập với ngôn ngữ lập trình. Chúng có thể do các nhà cung cấp khác nhau, sử dụng các công cụ lập trình, ngôn ngữ lập trình, nền tảng khác nhau. Nhưng Client vẫn có thể sử dụng các dịch vụ mà Server cung cấp. Trong đó, dữ liệu được thu thập từ các thiết bị phần cứng lên Server, nơi cung cấp các dịch vụ cho Client. Client cung cấp giao diện giao tiếp cho người dùng, qua Client người dùng có thể gửi các yêu cầu đến Server. Do vậy,

chương 2 trình bày nghiên cứu và phát triển các thành phần của bộ công cụ OPC UA Client-Server SDK dựa trên các đặc tả mới nhất OPC UA, SOA, Webservices, XML. Nó sẽ giúp các nhà phát triển và lập trình tiết kiệm được thời gian, chi phí cho việc phát triển các ứng dụng phần mềm trong công nghiệp, đặc biệt là các hệ thống giám sát và

điều khiển.

Từ những kết quả nghiên cứu đạt được của chương 1 và chương 2, [CT5] đã được tác giả công bố trên Tạp chí Khoa học & Công nghệ các trường kĩ thuật, số 92 năm

2013. Kết quả thực nghiệm đầu tiên cho bộ công cụđề xuất là phát triển mô hình hoàn thiện Client-Server OPC UA; trong đó, phía OPC UA server được cài đặt thử nghiệm

trên máy tính PC, OPC UA client được cài đặt trên điện thoại di động. Người dùng ở

phía client có thể giám sát các thiết bịmà OPC UA server đang quản lý, và sử dụng các

68

liệu (ghi dữ liệu) xuống thiết bị thông qua OPC UA server. Hệ thống đã minh chứng cho những lợi ích của việc áp dụng OPC UA (làm giảm rất nhiều chi phí, khi thêm quản lý một thiết bị chỉ cần thêm quản lý thiết bịđó ở server mà các client không cần phải cập nhật chương trình). Từ kết quảthành công ban đầu này, làm động lực cho tác giả tiếp tục nghiên cứu, xây dựng, phát triển các ứng dụng có tính thực tếcao như quản lý hệ thống điều hòa nhiệt độ trong các tòa nhà chưng cư, văn phòng; quản lý giám sát

môi trường nước; quản lý giám sát hệ thống trộn, điều khiển quá trình trong công nghiệp ở Việt Nam.

69

CHƯƠNG 3: NG DNG B CÔNG C OPC UA

CLIENT-SERVER SDK VÀO BÀI TOÁN GIÁM SÁT VÀ ĐIỀU KHIN

Chương này trình bày việc ứng dụng bộ công cụđã đề xuất OPC UA Client-Server SDK ở chương 2 vào hai bài toán thực tế: (1) giám sát và điều khiển hệ thống quan trắc môi trường, (2) giám sát và điều khiển hệ thống điều hòa nhiệt độ. Từ các kết quả

thực nghiệm đạt được, minh chứng tính khả thi cao khi ứng dụng hệ thống đề xuất vào việc giám sát và điều khiển quá trình trong công nghiệp ở Việt Nam.

Một phần của tài liệu Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm hỗ trợ giám sát và điều khiển sử dụng OPC UA (Trang 74 - 80)

Tải bản đầy đủ (PDF)

(152 trang)