SVG SCADA Security

In many cases SCADA must be secure, preventing unauthorized access to its data or interface commands. This applies various srategies that will prevent unauthorized access aimed at the SVG document and its data: SVG event validation, SVG/JSON encryption, server snapshot, and security logs.

SVG Event Validation Validate to confirm that the click event that starts/stops the pump has been initiated by the SCADA operator. If an invalid request has been called, it is recorded in the Security Log.
Basic JSON AES Encryption The Advanced Encryption Standard, or AES, is a symmetric block cipher chosen by the U.S. government to protect classified information and is implemented in software and hardware throughout the world to encrypt sensitive data. This is a basic example of how to get symmetric encryption in Javascript using aes.js from the crypto-js project. This example encrypts a JSON object, then decrypts it, returning the original JSON object.
Encrypt JSON Data From Server This example shows a graph populated by over 10,000 symbols generated from a JSON data file. The client requested the JSON data to populate the graph with symbols. The JSON data is encrypted at the server and sent to the client. It is decrypted at the client and the symbols are placed in the graph.
SVG Encryption At Server This example encrypts a an SVG file at the server. It then sends the encrypted SVG to the client, where it is then decrypted and placed as the original SVG elements.
SVG SCADA Snapshots This is a means to graphically preview the history of changes to the SCADA diagrams. Snapshots are taken of the SVG display, storing the current attribute values of those dynamic SVG elements that include the 'snapshot' class. Snapshot files are stored in the cloud. They can be played back to observe the changes or anomalies during a specified time span.