SlideShare a Scribd company logo
1 · www.nic.at
ICANN69 vTechDay · Status public
RDAP @ .at
ICANN69 vTechday
ICANN69 vTechDay · Status public
2020-10-19 · Alex Mayrhofer · Head of R&D · alexander.mayrhofer@nic.at
2 · www.nic.at
ICANN69 vTechDay · Status public
Agenda
• RDAP: Brief overview
• RDAP @ .at: Project reasoning & goals
• High-level Architecture
• Implementation details
• Current features
• Future plans
3 · www.nic.at
ICANN69 vTechDay · Status public
Registration Data Access Protocol
• WHOIS (RFC 954, 1985)
 Very simple / old protocol
 No encryption
 non-ASCII text is hard
 No data format
 „command line“ protocol
• RDAP (RFC 7482, 2015!)
 New! Shiny!
 Web-based (Encryption,
UTF8, Clients)!
 Data in structured JSON!
4 · www.nic.at
ICANN69 vTechDay · Status public
Project Reasoning
• The CERT angle
 Austrian CERT is an in-house department of the ccTLD
 CERT requires access to domain registration details..
 Let‘s use RDAP!
• The ccTLD angle
 RDAP will likely replace WHOIS at some point
 Create a prototype-level implementation
 Gain experience for potential public service
5 · www.nic.at
ICANN69 vTechDay · Status public
Project Goals
• Create an RDAP server to provide domain registration
details to CERT
• Integrate with the available data sources
• Test-drive „advanced“ RDAP topics
 Authentication (OpenID Connect / JWT)
 Differentiated Access
 Searches
6 · www.nic.at
ICANN69 vTechDay · Status public
Architecture – Data Sources
RDAP core
Additional Contacts
• RDAP „core“
 Provides full
(unredacted) domain
and entity data
• Supplemental contacts
 Provides additional
entities
• Data Warehouse
 Searches
• How to combine these?
7 · www.nic.at
ICANN69 vTechDay · Status public
Architecture - Frontend
RDAP core
Frontend (RDAP
Web App)
Caching
(Redis)
OpenID
Authentication
• Faces the RDAP Clients
• Collects data from sources
• Assembles responses
• Performs authentication /
authorization
 Differentiated Access
 Data Filtering
 Access Controls (Search!)
 Rate Limiting
 Logging / Auditing
8 · www.nic.at
ICANN69 vTechDay · Status public
Implementation RDAP core
• RDAP data provided directly from the Registry database
 PostgreSQL database procedures
 Directly produces JSON
 (same strategy for existing WHOIS server)
• Always provides the full (unredacted) data
• Doesn‘t care about users, roles, rate limiting
(„Additional contacts“: PostgreSQL database, accessed via
SQL)
9 · www.nic.at
ICANN69 vTechDay · Status public
Implementation „Frontend“
• „RDAP is a web service“
• Therefore, let‘s use a web framework!
• Laravel (PHP)
 Extensive Knowledge available in-house
 Model/View/Controller pattern
 Tons of features, flexible, but steep learning curve
10 · www.nic.at
ICANN69 vTechDay · Status public
Current Features
• „Pipe-through“ of RDAP data from
RDAP core source
• „Enrich“ registrar information with
supplemental contact information
• Authentication / Authorization
 Currently via nic.at internal
authentication infrastructure
Who‘s asking?
11 · www.nic.at
ICANN69 vTechDay · Status public
A few details…
• Authentication / Authorization
 OpenID Connect
 Identity Provider: Keycloak
 Existing infrastructure @ nic.at
• jCard Handling
 This is … tiring..
 Sabre vObject PHP library to the
rescue
• Rate Limiting
 Laravel „Middleware“
https://www.keycloak.org/
12 · www.nic.at
ICANN69 vTechDay · Status public
Frontend Infrastructure
• Docker-based, currently 3 containers
 Web-Server (nginx)
 Scripting-Engine (PHP-FPM) -> Laravel
 Caching Layer (Redis)
(Frontend only, data Sources are outside of that docker host)
13 · www.nic.at
ICANN69 vTechDay · Status public
Challenges
• jCard is hard to parse / create
 Use of Sabre vObject PHP library
• Validation / Testing
 RDAP has a decently complex structure – are we
doing the right thing?
 First „validation“ steps with openrdap client
 Server is internal, so web-based validation services
do not work
• Laravel is very flexible and mighty
 Some tasks require just a single line of code!
 But it also has 4822 buttons to press..
Photo by Leonel Fernandez on Unsplash
14 · www.nic.at
ICANN69 vTechDay · Status public
Next steps
• Machine-to-machine authentication / API Tokens
 Probably moving to long-lived JWTs
 Addition of a web interface to manage those tokens
• Differentiated Access
 Goal: Have a „script language“ for filtering + templates
 Looking at jq / libjq and respective PHP bindings
• Searches
 Addition of new data source „Data Ware House“
 Conflict between requirements and currently existing RDAP
search specifications – custom extension?
15 · www.nic.at
ICANN69 vTechDay · Status public
Summary / Questions?
• We‘ve created an internal RDAP server to expose the .at registration
details to the local in-house CERT in a standardized way
• This also serves as a prototype to explore the path to a future public
service.
• The server uses multiple data sources as backends (RDAP core,
supplemental contacts DB, data warehouse – searches!)
• The RDAP Frontend interacts with the client, assembles/filters
responses, and is based on the Laravel PHP framework
• Authentication / Authorization is done with OpenID Connect
16 · www.nic.at
ICANN69 vTechDay · Status public
nic.at GmbH
Jakob-Haringer-Str. 8/V · 5020 Salzburg · Austria
T +43 662 4669 - 34 · F -29
alexander.mayrhofer@nic.at · www.nic.at

More Related Content

PDF
RPKI Trust Anchor
PPTX
Lantea platform
PPTX
Managing Open Source Software License Compliance with DejaCode
PDF
nexB Software Audit M&A: What to expect as a Seller
PDF
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
PDF
Telco junho cost-effective approach for telco network analysis in 5_g_final
PDF
Database ingest with Apache NiFi and MiNiFi
PPTX
TLD Launch Process Experiences & Registry Onboarding from ICANN 49
RPKI Trust Anchor
Lantea platform
Managing Open Source Software License Compliance with DejaCode
nexB Software Audit M&A: What to expect as a Seller
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
Telco junho cost-effective approach for telco network analysis in 5_g_final
Database ingest with Apache NiFi and MiNiFi
TLD Launch Process Experiences & Registry Onboarding from ICANN 49

What's hot (20)

PDF
Identifying third party software with ScanCode
PDF
Open source software governance with DejaCode
PDF
PLNOG 9: Ivan Pepelnjak - OpenFlow and SDN: hype, useful tools or panacea?
PDF
Managing Open Source Software in the GitHub Era
PDF
nexB - Software audit for product release
PPTX
Opa microservice authorization
PDF
Should I run my own RPKI Certificate Authority?
PDF
Neo4j GraphTalks Milan - CONOSCERE ED INTEGRARE CON SUCCESSO NEO4J NELLA TUA ...
PDF
Webinar: How to contribute to Apache Flink - Robert Metzger
PPTX
Managing Open Source Software Supply Chains
PDF
Lynx Webinar #4: Lynx Services Platform (LySP) - Part 2 - The Services
PDF
Open source governance with Dejacode
PDF
Lynx Webinar #3: Lynx Services Platform (LySP) - Part 1 - Overview
PDF
Software audit for acquisition due diligence with nexB
PDF
Securing global routing system and operators approach
PDF
The missing signalling layer for WebRTC
PPTX
DEVNET-1166 Open SDN Controller APIs
PPT
14121725(1).ppt
PDF
Peering Asia 2.0: RPKI for Peering
PDF
OASIS OAXAL Presentation
Identifying third party software with ScanCode
Open source software governance with DejaCode
PLNOG 9: Ivan Pepelnjak - OpenFlow and SDN: hype, useful tools or panacea?
Managing Open Source Software in the GitHub Era
nexB - Software audit for product release
Opa microservice authorization
Should I run my own RPKI Certificate Authority?
Neo4j GraphTalks Milan - CONOSCERE ED INTEGRARE CON SUCCESSO NEO4J NELLA TUA ...
Webinar: How to contribute to Apache Flink - Robert Metzger
Managing Open Source Software Supply Chains
Lynx Webinar #4: Lynx Services Platform (LySP) - Part 2 - The Services
Open source governance with Dejacode
Lynx Webinar #3: Lynx Services Platform (LySP) - Part 1 - Overview
Software audit for acquisition due diligence with nexB
Securing global routing system and operators approach
The missing signalling layer for WebRTC
DEVNET-1166 Open SDN Controller APIs
14121725(1).ppt
Peering Asia 2.0: RPKI for Peering
OASIS OAXAL Presentation
Ad

Similar to RDAP @ .at (20)

PPTX
31st TWNC IP OPM and TWNOG: RDAP and RPKI
PDF
MyNOG 8: Next Generation Internet Number Registry Services
PDF
The Next Generation Internet Number Registry Services
PDF
SANOG 34: Internet number registry services - the next generation
PDF
ThaiNOG Day 2019: Internet Number Registry Services, the Next Generation
PDF
Datajalostamo-seminaari 5.6.2014: Tutkimusdatan avoimuus – globaalit tutkimus...
PDF
NordForsk Open Access Reykjavik 14-15/8-2014:Rda
PPTX
btNOG 6: Next Generation Internet Registry Services - RDAP
PDF
GDPR and Whois at ICANN
PDF
ICANN 51: Deploying the IETF’s WHOIS Replacement
PPTX
Research Data Alliance .. The Why, How, What ...
PDF
Experience Using RIR Whois
PDF
May The Data Stay with U! Network Data Exfiltration Techniques - Brucon 2017.
PDF
What is new in Core Registry and Related Services
PDF
Core Registry and Related Services
PPT
Research Data Alliance: Current Activities and Expected Impact
PDF
RRDG Data Sharing Specifications
PDF
Registration data access protocol what's next? icann53
PDF
GCCS-Unplugged Secure and private communication and collaboration
PDF
MIT-KIT Intro at #idcon sattelite
31st TWNC IP OPM and TWNOG: RDAP and RPKI
MyNOG 8: Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry Services
SANOG 34: Internet number registry services - the next generation
ThaiNOG Day 2019: Internet Number Registry Services, the Next Generation
Datajalostamo-seminaari 5.6.2014: Tutkimusdatan avoimuus – globaalit tutkimus...
NordForsk Open Access Reykjavik 14-15/8-2014:Rda
btNOG 6: Next Generation Internet Registry Services - RDAP
GDPR and Whois at ICANN
ICANN 51: Deploying the IETF’s WHOIS Replacement
Research Data Alliance .. The Why, How, What ...
Experience Using RIR Whois
May The Data Stay with U! Network Data Exfiltration Techniques - Brucon 2017.
What is new in Core Registry and Related Services
Core Registry and Related Services
Research Data Alliance: Current Activities and Expected Impact
RRDG Data Sharing Specifications
Registration data access protocol what's next? icann53
GCCS-Unplugged Secure and private communication and collaboration
MIT-KIT Intro at #idcon sattelite
Ad

More from Alex Mayrhofer (6)

PPTX
Die Registry als Kristallkugel - verrät uns das DNS etwas über die Zukunft?
PPTX
DNS Magnitude - DNSheads Vienna #6
PPTX
DNSheads Vienna #6
PDF
Encrypted DNS research @ nic.at
PDF
DNSheads Vienna #5
PDF
Encrypted DNS - DNS over TLS / DNS over HTTPS
Die Registry als Kristallkugel - verrät uns das DNS etwas über die Zukunft?
DNS Magnitude - DNSheads Vienna #6
DNSheads Vienna #6
Encrypted DNS research @ nic.at
DNSheads Vienna #5
Encrypted DNS - DNS over TLS / DNS over HTTPS

Recently uploaded (20)

PPT
250152213-Excitation-SystemWERRT (1).ppt
PDF
The Evolution of Traditional to New Media .pdf
PPTX
The-Importance-of-School-Sanitation.pptx
PDF
Containerization lab dddddddddddddddmanual.pdf
PPTX
Reading as a good Form of Recreation
PPT
Ethics in Information System - Management Information System
PPTX
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
PPTX
E -tech empowerment technologies PowerPoint
PDF
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
PPTX
artificialintelligenceai1-copy-210604123353.pptx
PDF
The Ikigai Template _ Recalibrate How You Spend Your Time.pdf
PPTX
newyork.pptxirantrafgshenepalchinachinane
PDF
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
PDF
Exploring VPS Hosting Trends for SMBs in 2025
PPTX
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
PDF
Uptota Investor Deck - Where Africa Meets Blockchain
PPTX
Internet Safety for Seniors presentation
PDF
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
DOC
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
PPTX
Database Information System - Management Information System
250152213-Excitation-SystemWERRT (1).ppt
The Evolution of Traditional to New Media .pdf
The-Importance-of-School-Sanitation.pptx
Containerization lab dddddddddddddddmanual.pdf
Reading as a good Form of Recreation
Ethics in Information System - Management Information System
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
E -tech empowerment technologies PowerPoint
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
artificialintelligenceai1-copy-210604123353.pptx
The Ikigai Template _ Recalibrate How You Spend Your Time.pdf
newyork.pptxirantrafgshenepalchinachinane
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
Exploring VPS Hosting Trends for SMBs in 2025
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
Uptota Investor Deck - Where Africa Meets Blockchain
Internet Safety for Seniors presentation
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
Database Information System - Management Information System

RDAP @ .at

  • 1. 1 · www.nic.at ICANN69 vTechDay · Status public RDAP @ .at ICANN69 vTechday ICANN69 vTechDay · Status public 2020-10-19 · Alex Mayrhofer · Head of R&D · alexander.mayrhofer@nic.at
  • 2. 2 · www.nic.at ICANN69 vTechDay · Status public Agenda • RDAP: Brief overview • RDAP @ .at: Project reasoning & goals • High-level Architecture • Implementation details • Current features • Future plans
  • 3. 3 · www.nic.at ICANN69 vTechDay · Status public Registration Data Access Protocol • WHOIS (RFC 954, 1985)  Very simple / old protocol  No encryption  non-ASCII text is hard  No data format  „command line“ protocol • RDAP (RFC 7482, 2015!)  New! Shiny!  Web-based (Encryption, UTF8, Clients)!  Data in structured JSON!
  • 4. 4 · www.nic.at ICANN69 vTechDay · Status public Project Reasoning • The CERT angle  Austrian CERT is an in-house department of the ccTLD  CERT requires access to domain registration details..  Let‘s use RDAP! • The ccTLD angle  RDAP will likely replace WHOIS at some point  Create a prototype-level implementation  Gain experience for potential public service
  • 5. 5 · www.nic.at ICANN69 vTechDay · Status public Project Goals • Create an RDAP server to provide domain registration details to CERT • Integrate with the available data sources • Test-drive „advanced“ RDAP topics  Authentication (OpenID Connect / JWT)  Differentiated Access  Searches
  • 6. 6 · www.nic.at ICANN69 vTechDay · Status public Architecture – Data Sources RDAP core Additional Contacts • RDAP „core“  Provides full (unredacted) domain and entity data • Supplemental contacts  Provides additional entities • Data Warehouse  Searches • How to combine these?
  • 7. 7 · www.nic.at ICANN69 vTechDay · Status public Architecture - Frontend RDAP core Frontend (RDAP Web App) Caching (Redis) OpenID Authentication • Faces the RDAP Clients • Collects data from sources • Assembles responses • Performs authentication / authorization  Differentiated Access  Data Filtering  Access Controls (Search!)  Rate Limiting  Logging / Auditing
  • 8. 8 · www.nic.at ICANN69 vTechDay · Status public Implementation RDAP core • RDAP data provided directly from the Registry database  PostgreSQL database procedures  Directly produces JSON  (same strategy for existing WHOIS server) • Always provides the full (unredacted) data • Doesn‘t care about users, roles, rate limiting („Additional contacts“: PostgreSQL database, accessed via SQL)
  • 9. 9 · www.nic.at ICANN69 vTechDay · Status public Implementation „Frontend“ • „RDAP is a web service“ • Therefore, let‘s use a web framework! • Laravel (PHP)  Extensive Knowledge available in-house  Model/View/Controller pattern  Tons of features, flexible, but steep learning curve
  • 10. 10 · www.nic.at ICANN69 vTechDay · Status public Current Features • „Pipe-through“ of RDAP data from RDAP core source • „Enrich“ registrar information with supplemental contact information • Authentication / Authorization  Currently via nic.at internal authentication infrastructure Who‘s asking?
  • 11. 11 · www.nic.at ICANN69 vTechDay · Status public A few details… • Authentication / Authorization  OpenID Connect  Identity Provider: Keycloak  Existing infrastructure @ nic.at • jCard Handling  This is … tiring..  Sabre vObject PHP library to the rescue • Rate Limiting  Laravel „Middleware“ https://www.keycloak.org/
  • 12. 12 · www.nic.at ICANN69 vTechDay · Status public Frontend Infrastructure • Docker-based, currently 3 containers  Web-Server (nginx)  Scripting-Engine (PHP-FPM) -> Laravel  Caching Layer (Redis) (Frontend only, data Sources are outside of that docker host)
  • 13. 13 · www.nic.at ICANN69 vTechDay · Status public Challenges • jCard is hard to parse / create  Use of Sabre vObject PHP library • Validation / Testing  RDAP has a decently complex structure – are we doing the right thing?  First „validation“ steps with openrdap client  Server is internal, so web-based validation services do not work • Laravel is very flexible and mighty  Some tasks require just a single line of code!  But it also has 4822 buttons to press.. Photo by Leonel Fernandez on Unsplash
  • 14. 14 · www.nic.at ICANN69 vTechDay · Status public Next steps • Machine-to-machine authentication / API Tokens  Probably moving to long-lived JWTs  Addition of a web interface to manage those tokens • Differentiated Access  Goal: Have a „script language“ for filtering + templates  Looking at jq / libjq and respective PHP bindings • Searches  Addition of new data source „Data Ware House“  Conflict between requirements and currently existing RDAP search specifications – custom extension?
  • 15. 15 · www.nic.at ICANN69 vTechDay · Status public Summary / Questions? • We‘ve created an internal RDAP server to expose the .at registration details to the local in-house CERT in a standardized way • This also serves as a prototype to explore the path to a future public service. • The server uses multiple data sources as backends (RDAP core, supplemental contacts DB, data warehouse – searches!) • The RDAP Frontend interacts with the client, assembles/filters responses, and is based on the Laravel PHP framework • Authentication / Authorization is done with OpenID Connect
  • 16. 16 · www.nic.at ICANN69 vTechDay · Status public nic.at GmbH Jakob-Haringer-Str. 8/V · 5020 Salzburg · Austria T +43 662 4669 - 34 · F -29 alexander.mayrhofer@nic.at · www.nic.at