-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorporation of Modbus/TCP Security #82
Open
georgemakrakis
wants to merge
119
commits into
rossmann-engineering:master
Choose a base branch
from
georgemakrakis:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Incorporation of Modbus/TCP Security #82
georgemakrakis
wants to merge
119
commits into
rossmann-engineering:master
from
georgemakrakis:master
Conversation
This file contains 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
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
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!