misp-bump/README.md

42 lines
1.9 KiB
Markdown
Raw Normal View History

2019-07-15 18:01:42 +02:00
# MISPbump
Simple and secure synchronisation of MISP instances
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
# What is MISPbump?
With MISPbump admins can easily synchronize MISP instances by exchanging relevant information via encrypted QR codes.
2019-07-05 03:45:04 +02:00
2019-07-15 18:01:42 +02:00
Note: only **use case 1** from the [documentation](https://www.circl.lu/doc/misp/sharing/) is supported.
2019-07-05 03:45:04 +02:00
2019-07-15 18:01:42 +02:00
# How does MISPbump work?
First of all: MISP admins login by providing the base URL of their instance and their authkey (automationkey).
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
On a successfull login the users profile and the linked organisation information will be downloaded automatically.
This information can be updated at any time from the profile view.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
From the main screen you can start a synchronisation process by pressing the dedicated button.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
The synchronisation process consists of 3 steps:
1. Key Exchange (unencrypted QR code)
1. Synchronisation Information Exchange (with shared secret encrypted QR code)
1. Upload information to own MISP instance
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
#### 1. Key Exchange
[DiffieHellman key exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange) ([Elliptic Curve](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman)), where the public part is exchanged via a QR code.
The result is a shared secret which will be used to encrypt the information passed via QR code in step 2.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
#### 2. Synchronisation Information Exchange
Local information like Organisation name, UUID, description and User information is encrypted with a from step 1 derived key.
The information can now be securely exchanged via QR code.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
#### 3. Upload information to MISP instance
Uploading the information to the MISP instance is accomplished with MISP's REST API.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
Uploading consists of the following steps:
1. Create organisation
1. Create Sync User & add to organisation
1. Create Sync Server & populate with information above
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
After that the two MISP instances are connected.
2019-07-04 14:36:42 +02:00
2019-07-15 18:01:42 +02:00
# Dependencies
+ [Retrofit](https://github.com/square/retrofit)
+ [ZXing](https://github.com/zxing/zxing)