Skip to main content

Minimalistic Internet Key Exchange protocol v2 (RFC 5996) library

Project description

The goal of this project is to be a minimalistic IKEv2 (RFC 5996) implementation in Python.

Status

This project is in early stages. Use at own risk.

It will make your IP stack talk ESP to the remote peer.

What it can do:

  • Act as an initiator

  • Authenticate itself and peer using raw RSA keys.

  • Install ESP SAs and SPD entries to use the key material via setkey command from ipsec-tools.

Limitations (hardcoded values):

  • Cipher algorithm is Camellia in CBC mode with 256 bit keys.

  • HMAC / Hash / PRF algorithm is SHA2/256.

  • IKE group is Diffie-Hellman modp 14.

  • Authentication (both own private and peer public) key file paths are hardcoded.

  • ‘setkey’ syntax is of whatever the ipsec-tools on Debian 7.1 accept.

  • Traffic selectors are myip:any:0-65535 <-> peerip:any:0-65535

Design principles

  • Minimal amount of code.

  • Support MUST features of draft-kivinen-ipsecme-ikev2-rfc5996bis-02 (RFC 5996 successor)

  • Use strongest algorithms possible.

Documentation

You can read the Documentation at https://ike.readthedocs.org

What this project is NOT going to be

  • ISAKMP (IKEv1) RFC 2409 compliant

  • IPSec data plane / ESP protocol

License

  • MIT License

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ike-0.1.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distributions

ike-0.1.0.linux-x86_64.tar.gz (27.1 kB view details)

Uploaded Source

ike-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file ike-0.1.0.tar.gz.

File metadata

  • Download URL: ike-0.1.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ike-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9881323f763593e359cf7c7784c19e32390e37ad74cdee29ea95c022f20af6f2
MD5 9d3a21d79fc8478dce39eba2d42c0747
BLAKE2b-256 345d1193465865dea93d09d552994d60c81a4b63276f4e72f3410a7dbc60e0c0

See more details on using hashes here.

File details

Details for the file ike-0.1.0.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for ike-0.1.0.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 e8547355ddbc14bd0451e72e07e503bdf6a1193cfb7e3bd161e590f215dbfb8f
MD5 693a08dececb8ae5dbca65818b8ba9e3
BLAKE2b-256 fa1bfe96a0e10954e3f274013dc8e405959700df30e446deeab5f0778d17fe41

See more details on using hashes here.

File details

Details for the file ike-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ike-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bcb7a0d68e1777688c2d65d016853fd46b875a42e8557ef3d86a7fd3767cdea6
MD5 a30171721cf05a89c9f6a20f32c1fc63
BLAKE2b-256 fe57cac23d4eefc0f88472cf92d9960cf9b97b2de1dc766ed72fe4af129ed6a4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page