Description of Assignment
Identity and Access Management (IAM) plays a crucial role in securing modern digital platforms. In this internship assignment, you will work with Curity as an Access Management tool to set up a secure registration and access structure for applications or clients within a platform environment.
A fictional customer, IdenTV, wants to develop a secure way to connect their digital platform to external applications. They are requesting a solution that uses Curity to manage registration, authentication, and authorization.
Within this context, you will work with a so-called set-top box. This is a device that users connect to their television at home to access digital content, such as streaming services or interactive applications. For this assignment, the set-top box will be emulated — meaning a software-based simulation of the device will be used to replicate its operation and communication with the platform. The set-top box acts as a client connecting to the IdenTV platform. Since this box has access to personal and potentially sensitive data, it is essential that communication between the set-top box and the platform is well secured.
The assignment is therefore to design a secure IAM structure in which the set-top box registers as a client with Curity and then uses standardized protocols such as OAuth and OpenID Connect to gain access to the platform.
What will you do?
- Setting up a dedicated Curity environment for testing and development.
- Ensuring that end users can easily and securely “register” their box via a secure protocol.
- Guaranteeing secure communication between Curity and the registered applications.
- Implementing resource protection so that only authorized clients can access certain endpoints or data.
- Documenting the entire process and describing how it can be easily applied in a production environment.
What will you learn (technical)?
- Setting up and managing a Curity Identity Server
- Secure communication between platforms and applications
- Dynamic client registration
- Certificate management and mTLS
- Working with federation protocols such as OAuth2, OIDC, and SAML
- Identity and Access Management
Which soft skills will you develop?
- Communication skills: reporting and documenting clearly and professionally, and collaborating with colleagues and stakeholders
- Teamwork: functioning effectively within a multidisciplinary team in an agile environment
- Problem-solving: analyzing technical challenges and resolving them independently or in consultation
- Self-organization: taking responsibility for your tasks, planning, and progress
- Critical thinking: substantiating choices and continuously improving based on feedback and evaluation
- Customer focus: taking user needs and business context into account when designing solutions
Project Methodology
- The internship assignments follow the Scrum project methodology to ensure a structured and efficient approach to (sub)tasks.
- This reflects IdentIT’s project approach.
- Scrum is a flexible framework that:
- Promotes collaboration
- Encourages adaptability
- Ensures transparency
- The work is organized into time-boxed iterations called sprints:
- Each sprint lasts 2 to 3 weeks
- Each sprint has clear objectives and tasks
- At the start of each sprint:
- Intern(s) and supervisor(s) hold a sprint planning session
- Objectives are defined
- A sprint backlog is created
- During the sprint:
- Weekly stand-up meetings take place
- Progress is discussed
- Potential obstacles are identified and addressed
- At the end of each sprint:
- A sprint review is conducted
- If possible, a demo is given
- Feedback is collected
- Scrum contributes to a collaborative and adaptable work environment.
- The goal is to achieve the best possible results within the given timeframe
MVP
The minimum feature set we expect is:
- A set-top box that can register
- Secure communication between the client and Curity
- Enforcing authorization rights based on the authenticated user to access specific content
Expected Outcomes
At the end of the assignment, the following outcomes are expected:
- (Technical) analysis of the problem statement
- Architecture of the required components
- Implementation that meets the MVP plus possible extensions
- Demo of the end-to-end solution
- Documentation