misp-bump/README.md

48 lines
2.1 KiB
Markdown
Raw Permalink 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
> Note that 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?
MISP admins log in by providing the **base URL** of their instance and their **authkey**.
2019-07-04 14:36:42 +02:00
After a successfull login the admin's profile and the linked organisation information will be downloaded.
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 for you)
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
The synchronisation process information will be saved securely on the device.
2019-07-16 13:38:05 +02:00
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
After that the two MISP instances are able to share Events based on their permissions.
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)