Overview

These brief instructions will help you get started with the tool.

Get started now View it on GitHub


The User Policy Server functions as a MUD File server implementation, enabling you to deploy and test your custom MUD files in accordance with the Manufacturer Usage Description standard (RFC 8520).

For a comprehensive evaluation of your MUD files, a MUD manager is essential to enforce the rules they contain. You can explore an illustrative example of a MUD Manager here

Getting started

To make the User Policy Server work, you’ll need MongoDB (for storing MUD files) and OpenSSL (to send MUD file signatures in p7s format).

Once you’ve successfully installed these tools, you can begin populating the database by employing the script located in the “examples” directory. To initiate this process, execute the following command in your terminal:

node populationdb.js mongodb://127.0.0.1:27017/mudFile json_files/

Please note that the MongoDB link in the command should be configured according to your settings, which may involve the inclusion of a username and password.

In addition, you’ll need to generate the necessary keys for signing the MUD files. This can be achieved through the following steps:

  • Navigate to the “mudfs/certs” directory.
  • Execute the commands below to generate the required keys:
# Self certificate procedure
cd mudfs/certs
openssl genrsa -out server.key
openssl req -new -key server.key -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey server.key -out server.pem
rm csr.pem
cp server.key server.key.pem 

With these preparations in place, you can proceed by navigating to the “mudfs” directory and executing the following commands:

npm installl
npm start

By default, the application will run on port 443 via HTTPS at https://localhost.

About the project

This work is the result of a research period conducted by me during my time at the University of Cambridge in collaboration with the University of Bologna. For more comprehensive insights into the methodology and application of this tool, we invite you to explore the following references: [1 , 2]. These sources provide an in-depth understanding of our utilization of the tool within different contexts.

User Policy Server © 2017-2023 by Angelo Feraudo.

License

User Policy Server is distributed by an MIT license.

How to cite

If you find this work useful and would like to cite it, please use the following citation format:

Angelo Feraudo. (2023). aferaudo/user_policy_server: v0.0.2 (v0.0.2). Zenodo. https://doi.org/10.5281/zenodo.8288918

We appreciate your consideration in citing our work. It helps us track its impact and acknowledge the effort that has gone into its development.