Applying attestation to the border gateway protocol (BGP)
In one embodiment, a method by an apparatus of a Border Gateway Protocol (BGP) network includes accessing an attestation token for the apparatus. The method further includes encoding the attestation token in a BGP signaling message. The method further includes sending the BGP signaling message with the encoded attestation token to a second apparatus of the BGP network.
1. An apparatus of a Border Gateway Protocol (BGP) network, the apparatus comprising:
one or more processors;
a crypto-processor associated with internal counters, and configured to:
attest an attestation token to an identity of the apparatus and one or more running binaries corresponding to a valid chain of binary signatures on the apparatus to indicate that the apparatus is in a known safe state, wherein the attestation token is asynchronous and a unidirectional time-based variant; and
wherein the attestation token enables peer devices in the BGP network to validate that the apparatus is in the known safe state at a current time based on a state of the internal counters via the attestation token; and
one or more computer-readable non-transitory storage media coupled to the one or more processors and comprising instructions operable when executed by the one or more processors to cause the one or more processors to perform operations comprising:
accessing the attestation token for the apparatus, wherein: the attestation token is generated by the crypto-processor of the apparatus; and the attestation token enables the peer devices in the BGP network to validate that the apparatus is in the known safe state at the current time, wherein the known safe state is based on the identity of the apparatus and the one or more running binaries corresponding to the valid chain of binary signatures on the apparatus;
encoding the attestation token as a canary stamp in a BGP signaling message, wherein the encoding comprises: appending the canary stamp to the BGP signaling message; and sending the BGP signaling message with the encoded attestation token to a second apparatus of the BGP network for computing a trust level of the apparatus; and
computing a routing table of the BGP network using the trust level, wherein the routing table is updated based on the attestation token.
2. The apparatus of claim 1 , wherein the apparatus of the BGP network comprises a router.
3. The apparatus of claim 1 , wherein the BGP signaling message comprises a BGP keepalive message.
4. The apparatus of claim 3 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP keepalive message after a type field of the BGP keepalive message.
5. The apparatus of claim 1 , wherein the BGP signaling message comprises a BGP update message.
6. The apparatus of claim 5 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP update message in an attribute field of the BGP update message.
7. The apparatus of claim 1 , wherein the attestation token further indicates whether or not valid binary processes are running on the apparatus.
8. A method by an apparatus of a Border Gateway Protocol (BGP) network, the method comprising:
accessing an attestation token for the apparatus, wherein:
the attestation token is generated by a crypto-processor of the apparatus, the crypto-processor is associated with internal counters, and configured to:
attest an attestation token to an identity of the apparatus and one or more running binaries corresponding to a valid chain of binary signatures on the apparatus to indicate that the apparatus is in a known safe state,
wherein the attestation token is asynchronous and a unidirectional time-based variant; and
wherein the attestation token enables peer devices in the BGP network to validate that the apparatus is in the known safe state at a current time based on a state of the internal counters via the attestation token; and the attestation token enables the peer devices in the BGP network to validate that the apparatus is in a known safe state at the current time, wherein the known safe state is based on an identity of the apparatus and one or more running binaries corresponding to the valid chain of binary signatures on the apparatus;
encoding the attestation token as a canary stamp in a BGP signaling message wherein the encoding comprises: appending the canary stamp to the BGP signaling message; and sending the BGP signaling message with the encoded attestation token to a second apparatus of the BGP network for computing a trust level of the apparatus; and
computing a routing table of the BGP network using the trust level, wherein the routing table is updated based on the attestation token.
9. The method of claim 8 , wherein the apparatus of the BGP network comprises a router.
10. The method of claim 8 , wherein the BGP signaling message comprises a BGP keepalive message.
11. The method of claim 10 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP keepalive message after a type field of the BGP keepalive message.
12. The method of claim 8 , wherein the BGP signaling message comprises a BGP update message.
13. The method of claim 12 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP update message in an attribute field of the BGP update message.
14. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
access an attestation token for an apparatus of a Border Gateway Protocol (BGP) network, wherein:
the attestation token is generated by a crypto-processor of the apparatus the crypto-processor is associated with internal counters, and configured to:
attest an attestation token to an identity of the apparatus and one or more running binaries corresponding to a valid chain of binary signatures on the apparatus to indicate that the apparatus is in a known safe state, wherein the attestation token is asynchronous and a unidirectional time-based variant; and
wherein the attestation token enables peer devices in the BGP network to validate that the apparatus is in the known safe state at a current time based on a state of the internal counters via the attestation token; and
the attestation token enables the peer devices in the BGP network to validate that the apparatus is in a known safe state at the current time, wherein the known safe state is based on an identity of the apparatus and one or more running binaries corresponding to the valid chain of binary signatures on the apparatus;
encode the attestation token as a canary stamp in a BGP signaling message wherein the encoding comprises: appending the canary stamp to the BGP signaling message; and sending the BGP signaling message with the encoded attestation token to a second apparatus of the BGP network for computing a trust level of the apparatus; and
compute a routing table of the BGP network using the trust level, wherein the routing table is updated based on the attestation token.
15. The one or more computer-readable non-transitory storage media of claim 14 , wherein the BGP signaling message comprises a BGP keepalive message.
16. The one or more computer-readable non-transitory storage media of claim 15 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP keepalive message after a type field of the BGP keepalive message.
17. The one or more computer-readable non-transitory storage media of claim 14 , wherein the BGP signaling message comprises a BGP update message.
18. The one or more computer-readable non-transitory storage media of claim 17 , wherein encoding the attestation token in the BGP signaling message comprises appending the attestation token to the BGP update message in an attribute field of the BGP update message.