misp-bump/README.md

49 lines
2.1 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-16 13:38:05 +02:00
On a successfull login the admins profile and the linked organisation information will be downloaded automatically.
2019-07-17 12:43:24 +02:00
This information can be updated at any time in the profile screen.
2019-07-04 14:36:42 +02:00
2019-07-17 12:43:24 +02:00
In 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:
2019-07-16 13:38:05 +02:00
1. **Key Exchange**
To provide a secure chanel for data exchange, the first step is to generate a shared secret with [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)).
2019-07-04 14:36:42 +02:00
2019-07-16 13:38:05 +02:00
Public keys are exchanged via QR code.
2019-07-04 14:36:42 +02:00
2019-07-16 13:38:05 +02:00
1. **Synchronisation Information Exchange**
Contains the following information:
+ Own Organisation: Name, UUID, description, nationality, sector, type and contacts
+ Own User: Email
+ Own MISP instance: base URL
+ Generated: sync user authkey, sync user password
(your partner will create a sync user with these credentials)
2019-07-04 14:36:42 +02:00
2019-07-17 12:43:24 +02:00
The synchronisation information is encrypted with AES using the shared secret (from step 1).
2019-07-04 14:36:42 +02:00
2019-07-16 13:38:05 +02:00
The sync process information will be saved securely on the device, that means the upload can be started any time in the future.
1. **Upload information to own MISP instance**
Uploading the information to the MISP instance is accomplished with MISP's REST API.
Uploading consists of the following steps:
1. Create organisation
2019-07-17 12:43:24 +02:00
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)
2019-08-23 17:30:21 +02:00
+ [ZXing](https://github.com/zxing/zxing)