Security Concept
Summary
All connections are encrypted according to current standards (HTTPS).
As a rule, no firewall modifications on the client side are required. Your Linchpin instance only needs to be able to establish HTTPS connections to the internet.
Linchpin Mobile app users do not necessarily need to have an account in your user directory (Active Directory or similar). This saves on licensing costs.
By dispensing with classic password authentication, associated support costs for forgotten passwords and other risks are eliminated.
End-to-end encryption between the mobile app and Linchpin does not allow either Seibert Group GmbH or a potential attacker to steal your data from your Linchpin instance.
At Seibert Group GmbH, no data is stored that could allow conclusions to be drawn about your identity, user information or any Linchpin Mobile customer data.
How does the Linchpin Mobile Gateway work?
The Linchpin Mobile Gateway behaves like a proxy, allowing authorized mobile devices to access systems (such as Confluence or Linchpin) behind a firewall. This is made possible by a Websocket connection, which is established and maintained by the system behind the firewall to the Linchpin Mobile Gateway. It does not matter whether the Linchpin Mobile Gateway is hosted by Seibert Group GmbH in the cloud, or in your own infrastructure – both options use the same technology.
With Linchpin Mobile, the Websocket connection to the gateway is established by the Linchpin Mobile Confluence app. After successfully connecting Confluence to the Gateway, mobile devices can also use the Linchpin Mobile app to establish a Websocket connection to the Gateway. From this point on, mobile devices can communicate with a Confluence instance behind a firewall via the Linchpin Mobile Gateway based on a pub/sub pattern.
How do we secure your information?
To secure your data, we rely on an end-to-end encrypted Websocket connection. All data is encrypted on the employee’s mobile device before it is forwarded via the Linchpin Mobile Gateway. The Linchpin Mobile app installed in your Confluence instance can decrypt and process the data.
This means that your data is not only inaccessible to Seibert Group GmbH, but also to third parties. And with our Linchpin Mobile Gateway on-site option, you have control of the gateway itself for even more security.
The problem
The solution

Security and privacy
This concept can be compared to a transparent tunnel, which does not need to know anything about the content that is being transferred. The following section explains in detail how this architecture has been implemented.
Implementation in detail
| App | Gateway Service | Connector Plugin | QR Code |
|---|---|---|---|
| instance_id
pbkdf2(instance_password) |
instance_id
instance_password |
In the second step, the Linchpin Mobile Plugin will again send an HTTPS request to the gateway service. Instead of a response from the Gateway Service the connection is upgraded to a WebSocket connection. This connection is still encrypted using HTTPS, but it supports bi-directional data exchange and is held for an indefinite time. An MQTT session is now established within the WebSocket connection, authenticated via the previously exchanged instance_id and instance_password.
Phase 2: Device registration
To allow a user to use the Gateway Service, a device must first be registered. To do this, the Connector Plugin authenticates itself with the Gateway Service’s REST API using its instance_id and instance_password and requests to register a device. The Gateway Service generates a device_id, which is used to authorize the device on an ongoing basis to use the connection between the Gateway Service and the Connector Plugin, and a device_setup_key. This device_setup_key is not permanently stored by the Connector Plugin, but is integrated into a QR code. The Connector Plugin also generates a device_setup_secret_key that is stored both in Linchpin and in the QR code.
Here is an updated overview of the data stored at this time:
| App | Gateway Service | Connector Plugin | QR Code |
|---|---|---|---|
| instance_id
pbkdf2(instance_password) device_id sha256(device_setup_key) |
instance_id
device_id (linked to the Confluence user account) device_setup_secret_key |
device_setup_key
device_setup_secret_key |
The QR code can now be printed or displayed to the user on screen. The app reads the device_setup_key and device_setup_secret_key from the QR code using its camera. The app then contacts the Gateway Service’s REST API and exchanges its device_setup_key for a device_id and a device_password, generated randomly by the Gateway Service.
This results in the following stored data:
| App | Gateway Service | Connector Plugin | QR Code |
|---|---|---|---|
| device_id
device_password |
instance_id
pbkdf2(instance_password) device_id pbkdf2(device_password) |
instance_id
device_id (linked to the Confluence user account) device_setup_secret_key |
device_setup_key
device_setup_secret_key |
Data retention
In conclusion, this is what data is accessible by each service:
| Name | Use | Device (App) | QR Code | Gateway Service | Linchpin Mobile Plugin |
|---|---|---|---|---|---|
| instance_id | Identifies an installed Linchpin Mobile Plugin | ||||
| instance_password | Authenticates an installed Linchpin Mobile Plugin | ||||
| device_id | Identifies access information in the Linchpin Mobile App | ||||
| device_password | Authenticates an installed Linchpin Mobile App | ||||
| device_setup_key | Temporary token used once to negotiate permanent access data between the app and the Gateway Service | ||||
| device_setup_secret_key | Temporary key used once to negotiate a permanent key between the app and the Linchpin Mobile Plugin | ||||
| device_secret_key | Permanent key used for end-to-end encryption between the app and the Linchpin Mobile Plugin | ||||
| Confluence URL | |||||
| User names | |||||
| Passwords | |||||
| Content |
* = only initially saved, subsequently rotated
= only during transmission, data is not saved.
* = only during transmission, a hash of the data is saved.
Link to this page: http://seibert.biz/linchpinmobilesecurity




