Skip to content

Commit 3fc02a8

Browse files
committed
Added Security
1 parent d97bddd commit 3fc02a8

File tree

15 files changed

+1939
-133
lines changed

15 files changed

+1939
-133
lines changed

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
- Cross-platform support for local transport (Windows compatibility)
1212
- Windows-compatible alternative for Unix Domain Sockets using TCP
1313
- Updated client and server binaries to work across platforms
14+
- Secure handshake protocol using ECDH key exchange
15+
- Protection against replay attacks using timestamps and nonce verification
1416

1517
### Changed
1618
- Improved error handling in client/server binaries
1719
- Updated format strings to use modern Rust syntax
1820
- Fixed Clippy warnings throughout the codebase
1921
- Added Default implementation for Dispatcher
2022

23+
### Security
24+
- Implemented Elliptic Curve Diffie-Hellman (ECDH) key exchange using x25519-dalek
25+
- Added timestamp verification to prevent replay attacks
26+
- Enhanced key derivation using SHA-256 and multiple entropy sources
27+
- Ensured forward secrecy with ephemeral key pairs
28+
- Deprecated the previous insecure handshake implementation
29+
2130
## [0.9.0] - 2025-08-17
2231

2332
### Added
@@ -34,5 +43,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3443
- Added encryption for protocol messages
3544

3645
[Unreleased]: https://github.com/jamesgober/network-protocol/compare/0.9.0...HEAD
37-
[0.9.1]: https://github.com/jamesgober/network-protocol/compare/0.9.0...v0.9.1
46+
[1.0.0]: https://github.com/jamesgober/network-protocol/compare/v0.9.9...v1.0.0
47+
[0.9.9]: https://github.com/jamesgober/network-protocol/compare/v0.9.6...v0.9.9
48+
[0.9.6]: https://github.com/jamesgober/network-protocol/compare/v0.9.3...v0.9.6
49+
[0.9.3]: https://github.com/jamesgober/network-protocol/compare/0.9.0...v0.9.3
3850
[0.9.0]: https://github.com/jamesgober/network-protocol/releases/tag/0.9.0

Cargo.lock

Lines changed: 120 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ tracing = "0.1"
4545
getrandom = "0.3.3"
4646
rand = "0.9"
4747

48+
# Cryptographic dependencies
49+
x25519-dalek = { version = "2.0", features = ["serde"] }
50+
sha2 = "0.10"
51+
once_cell = "1.8"
52+
rand_core = "0.6"
53+
rand_chacha = "0.3"
54+
4855
bincode = "1.3"
4956
bytes = "1.5"
5057

0 commit comments

Comments
 (0)