rains

module
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2022 License: Apache-2.0

README

SCION-RAINS

Test Go Report Card Go Reference License

RAINS (RAINS, Another Internet Naming Service) is a name resolution protocol that has been designed with the aim to provide an ideal naming service for the SCION Internet architecture. The RAINS architecture is simple, and resembles the architecture of DNS. A RAINS server is an entity that provides transient and/or permanent storage for assertions about names, and a lookup function that finds assertions for a given query about a name, either by searching local storage or by delegating to another RAINS server. The goal of the SCION RAINS project is to enhance and refine the existing RAINS prototype implementation on top of the newest SCION release, and make it available within the SCIONLab network for developers and end-users to be able to use it. Additionally, the existing RAINS design will be refined with a principled approach to obtain better security and performance properties. At the heart of the redesign is a new authentication architecture for naming systems, where the standard DNSSEC-like authentication infrastructure is replaced with CA-based end-entity PKI. Additionally, the project will make use of the DRKey system to develop mechanisms for secure and highly available RAINS communication.

Task 1. Port RAINS to current SCION version

The first task is to tidy up the RAINS codebase and port a basic working version of RAINS (hereafter, the baseline) to the current SCION release.

Milestones

Further information:

Task 2. Re-design the data authentication architecture of RAINS based on SCION end-entity PKI system

The baseline RAINS relies on DNSSEC-style authentication that comes with inherent limitations. We seek to replace it with a new authentication architecture based on SCION end-entity PKI for better security and performance.

Milestones
  • Design documents with rationale and expected properties of the new authentication architecture as well as suggested modifications to the baseline RAINS
  • Specifications of the modified and new RAINS protocols in formal language

Further information:

Task 3. Develop a new prototype for RAINS based on CoreDNS

The legacy RAINS codebase was implemented from scratch and in an ad-hoc way. Since DNS and DNSSEC, the authentication architecture of which is adopted by the baseline RAINS, are very complex protocols with tremendous corner cases to consider, the correct implementation of them is suprisingly demanding and error-prone. The baseline RAINS is far from complete and functional for a real-world naming service. To this end, we decided to rebuild RAINS based on CoreDNS, a mature and extensible framework that allows us to enable the new features of RAINS while readily enjoying the comprehensive DNS functionality.

Milestones

Further information:

Task 4. Implementation, integration, and testing

Finally, we will implement SCION (QUIC) transport for RAINS and deploy test name servers to the SCIONLab network.

Milestones

Further information:

  • Official release, marking the completion of Task 4.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL