Projects

ACRYLICS

ACRYLICS (Advanced Cryptographic (Li) Capability-Based File System) was developed as my master thesis.

It is a cryptographic file system which uses capabilities for access rights management but also as an active part of the encryption keys. This means that the file system is encrypted per user basis which are quite unique. It is not even possible for a user to know where to locate another users data.

Users can share files with each other by sharing a capability, hence the encryption information needed for another user to decrypt it.

The disk encryption scheme is based on Ivan Damgård and Kasper Dupont "Universally Composable Disk Encryption Schemes" (https://eprint.iacr.org/2005/333).
The capability model is based on Lanfranco Lopriore "Access right management by extended password capabilities" (https://link.springer.com/article/10.1007/s10207-017-0390-0)

Latest development is a ACRYLICS GUI manager for Linux where proof-of-concepts can be shown on a normal Linux system.
However ACRYLICS needs a fundamental different kernel-design to work. This is where QuasiOS comes into play.

The complete master thesis can be accessed here

QuasiOS

QuasiOS is an operating system in development by Jakob Kjær-Kammersgaard, Patrick Jakobsen and myself.
We have some thought about building an entire operating system from scratch.
The ideas that we have for ACRYLICS, our module system and our configuration format requires a completely different kernel design than we see in the commonly used operating systems today.
That is why we are about to develop our own kernel and operating system. The advantages is enhanced (cyber) security, stability, live-update-able and a configuration system to avoid the majority of misconfiguration issues.
We have also formed a company with the same, QuasiOS, where we are about to implement our idea into the "real world".

Edge of Nations

This is a Grand Strategy Game that takes place in our current time frame.
The player gets control over its nation and has to build up the nation. This goes from all kinds of buildings like factories, police, military, research and education to power plant, water supplies, internet- and satellite-connectivity.
As the times goes the player has to keep control over the nation by handling criminal-gangs, viruses, refugees and keep the general support of the nation population to prevent a civil war, and last but not least the player has to handle the relation to external nations.
Nations can expand their territory to world domination by going into war or go into alliances with other nations to create a stronger defense/offense.
It is possible to develop a high-tech nation in many ways but it most likely require good relationships and a very strong defense, and to create the strongest defense and offense a lot of (military)research is needed.

Cyber secure autonomous systems with CBCP

I made an demonstration of the use of our cyber secure protocol CBCP(https://www.quasios.com/cbcp/) by letting a Universal Robots arm and a LEGO mobile robot send commands to each other in a cyber secure way without human interaction.

The mobile robot drives into position and sends a CBCP command to the robot arm that it can start loading the mobile robot.
The robot arm starts and sends a command back when it is finish loading and the mobile robot can drive away again.

Because we have formally specified with CBCP which commands the robots are allowed to sent and receive and from whom, we know that no malicious command can be received and executed. We also know that the robots can only do what we have formally specified.

Our DashboardShield client (video) for Universal Robots are running on the robot arm and is validating all commands received.

The LEGO robot is controlled by an Raspberry Pi3 where we implemented LEGO's bluetooth protocol to control the LEGO motors from the Raspberry Pi.
The Raspberry Pi is also running a customized CBCP client which implemented the LEGO Bluetooth functionality.

SingOS

SingOS is meant to be a Single task Operating System.
Along with Jakob Kjær-Kammersgaard and Patrick Jakobsen we played around with low level features to learn about programming an Operating system.
We developed a bootloader, the LSFS file system, a simple text editor and the "Go32"-feature.

Less Simpel File System

This is the file system used in the SingOS operating system. It is a simple file system to save some data within SingOS.
Its predecessor was vsfs (Very Simple File System), but vsfs was so simple that it didn't worked properly.
I have made a video presentation of the FUSE implementation which is used for education in the IMADA/SDU operating system course.

Web Content management System - CMS

CMS system for websites where I have implemented some different plugins
like image gallery and webshop. I don't work activly on it anymore. However there are still some websites running with the CMS-system which I maintain.