https://github.com/itay-grudev/sdmp
Secure Device Management Protocol Reference Implementation
https://github.com/itay-grudev/sdmp
client device end-to-end-encryption linux management protocol reference-implementation relay-server remote secure srp
Last synced: 3 months ago
JSON representation
Secure Device Management Protocol Reference Implementation
- Host: GitHub
- URL: https://github.com/itay-grudev/sdmp
- Owner: itay-grudev
- License: mit
- Created: 2019-05-01T16:56:09.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-19T15:23:48.000Z (almost 3 years ago)
- Last Synced: 2025-01-17T11:12:23.391Z (4 months ago)
- Topics: client, device, end-to-end-encryption, linux, management, protocol, reference-implementation, relay-server, remote, secure, srp
- Language: C++
- Homepage:
- Size: 527 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SDMP Reference Implementation
Secure Device Management Protocol Client, Server and Device Client reference
implementation.The Secure Device Management Protocol (SDMP) allows messaging and management of mobile devices to allows operations like remotely ringing, tracking, locking or erasing your device. Mobile devices are often connected through WiFi or cellular data with intermittent connectivity and behind NAT or a firewall, so to go around that the protocol employs a relay server. However with an innovative approach and end-to-end encryption the protocol prevents the relay server from reading messages or impersonating the user. A key feature of the protocol is that it uses a single password used for both authentication with the relay server and the end-to-end encryption. This password is never shared with the relay server during authentication by employing the Stanford Remote Password (SRP) protocol which allows the same password to be used for encryption of the communication.
## Requirements
* `libodb-dev`
* `gnutls`
* `gnulib`
* GNU `getopt` (with support for `getopt_long` available in the GNU implementation)
* `cppcheck`
* `libpistache-dev`## Building
```bash
cmake ./
make static-resources # see sdmp-server/CMakeLists.txt
make ssl-cert # see sdmp-server/CMakeLists.txt
make
```## License
Copyright Itay Grudev (c) 2019. Distributed under the terms of the GNU GPL v3 or later.Portions of this software include code from other projects compatible with the
GNU GPL v3 license. Refer to the licensing information in the beginning of each
file. Full license list of all direct project dependencies can be found in the
`LICENSES` directory.