Incorporation of Modbus/TCP Security#82
Open
georgemakrakis wants to merge 119 commits intorossmann-engineering:masterfrom
Open
Incorporation of Modbus/TCP Security#82georgemakrakis wants to merge 119 commits intorossmann-engineering:masterfrom
georgemakrakis wants to merge 119 commits intorossmann-engineering:masterfrom
Conversation
Don't reset countRetries to prevent endless loop
…rface to use. Added new event delegates to ModbusServer class that pass a reference to the server to the event.
…_specify_ip Specify network interface for TCP and UDP servers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Based on the specification described in this link, I have tried to implement the features that will provide a security-focused variant of the Modbus/TCP protocol by utilizing the Transport Layer Security (TLS) protocol. Essentially, none of the main functionality of the original Modbus protocol has been changed as the TLS "wraps" Modbus (per Requirement 6.1 in the specification) provide confidentiality to the transported data, data integrity, anti-replay protection, endpoint authentication via X.509v3 certificates, and authorization via information embedded in each certificate such as user and device roles.
Everything regarding the Modbus/TCP security has been created as an extra project in the solution and can be adopted whenever the users of the library desire to do so. I have tried to create all the necessary features described in Appendix B of the specification. More info can be found in the following README. Peculiarities are also described in the same README.
Any comments about flaws or misconceptions are highly appreciated!