# Ephemeral Node Identifiers for Enhanced Flow Privacy
## 5 Discussion
### Additional Benefits from Some Shared State and Wider Scope of Trust  
The key innovation eNIDs take advantage of--the separation of identity and location semantics in ILNP--has other potential uses. Our results show that transport sessions can operate correctly with arbitrary NID values.  
This work has focused on using random NID values to protect identity privacy, with a node acting independently with the scope of trust confined to the node itself. However, if the user is prepared to extend the scope of trust beyond the node where the eNID value is generated, for example in an enterprise scenario, then additional benefits arise in security as well as privacy. By controlling the method used to generate eNID values, new semantics could be added to ephemeral NIDs, including opaque and covert identity checks.  
All of the possibilities outlined below would require some shared state between the communicating node and another entity, and so some additional protocol for synchronising on that state would be required. Such a synchronisation protocol is beyond the scope of this work. However, we note that protocols do exist that could be modified to perform such functions at different layers in the network stack, such as using a Diffie-Helman key exchange to establish shared secret state [47] or the double ratchet algorithm [48] to provide stronger security guarantees about the shared secret on an ongoing basis.  
If two nodes wish to communicate regularly, they could agree a shared secret from which to seed a pseudo-random generator for eNID values--functioning like a key derivation function. eNIDs values generated by this method would still be ephemeral and opaque, so would continue to provide identity privacy. However, as they would be predictable to nodes with access to the shared secret, they could be used as a lightweight authentication method.  
This defence could be particularly effective against Denial of Service (DoS) attacks. These attacks work by overloading a server with spoofed traffic. One countermeasure is to make session initiation more costly for the client than the server by requiring a proof-of-work check. This makes the attack extremely costly to perform, but delays session initiation even for legitimate users. If a shared secret were established after the first session initiation, future sessions with the (trusted) client could then use eNIDs values generated from shared state to provide enough authentication to bypass this costly step.  
The shared secret could also be communicated securely to middleboxes, such as firewalls or content delivery network (CDN) providers. In stateful firewalls, this would provide a lightweight mechanism for authenticating trusted clients based only on a single network layer field while also protecting the client's identity privacy. Existing firewalls, including those implemented in hardware, e.g., via Field-Programmable Gate Arrays (FPGAs), already use address values as decision-making state [49; 50]. As the only change this authentication method requires is to the control mechanism for initialising that state, it is anticipated that there would be no adverse effect on the performance of the firewall.  
In the CDN case, the secret could be shared with only the client and the CDN provider. This would allow the CDN to block DoS attacks against a wide range of services, while the client's identity privacy was protected _even from those services_.