Skip to content

ITESM-FIWARE/NGSI-Encryption-Layer-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

NGSI Encryption Layer Application

This document describes the encryption service App developed at ITESM as a web application for encrypting, decrypting, and anonymizing FIWARE data models.

FIWARE is a curated framework of open source platform components to accelerate the development of Smart solutions. The FIWARE platform provides a rather simple yet powerful set of APIs (Application Programming Interfaces) that ease the development of Smart Applications in multiple vertical sectors.

The main and only mandatory component of any "Powered by FIWARE" platform or solution is the FIWARE Orion Context Broker Generic Enabler, which brings a cornerstone function in any smart solution: the need to manage context information in a highly decentralized and large-scale manner, enabling to perform updates and bring access to context.

FIWARE data models have been harmonized to enable data portability for different applications including, but not limited, to Smart Cities. They are intended to be used together with FIWARE NGSI version 2.

The Web application allows the encryption, decryption, and anonimization of FIWARE data models that reside in a local JSON file.

Prerequisites

The encryption service can be installed on any Operative System.

The following software must be previously installed in the server which will hold the encryption application.

  1. Docker
  2. Docker-compose

The application requires an active Gmail account. The use of other email accounts will cause the malfunction of the service.

Installation and Configuration

  1. Clone or download this repository
  2. Open a terminal in the location of the docker-compose.yml file 01
  3. Start the docker compose with sudo docker-compose up or with sudo docker-compose up -d. The first command shows the status of the container in the foreground while the second command put the process in the background 02 03
  4. Check docker containers status: docker ps 04
  5. Two containers are required by the application, one for the ngsi_api and one for mongoDB. To verify that the containers are up and running: docker logs CONTAINER_ID 05
  6. If the container shows an error, restart the container: sudo docker-compose restart 06 07
  7. Stop the application: sudo docker-compose down 08

How to use

Access the service via the NGSI Encryption Layer Application official website or http://127.0.0.1:3800 / http://localhost:3800 if the application was installed locally

The correct functionality of the application is achieved by using Firefox, Chrome, and Opera web browsers. The application is not optimized for mobile devices.

A walkthrough

Sign up into the App

  1. In the main page of the application, select the "Sign up" button at the right-top side of the web page 09 1
  2. In the "Sign up" page, fill up the "First name", "Last name", "User name", "Email", and "Password" fields
  3. Click the "Sign up" button at the left-bottom side of the web page 2
  4. A message will be displayed asking to confirm the provided Gmail account. To perform this process, go to the Gmail account provided and click the confirmation URL contained into the email 3 4

Login process

  1. In the main page of the application, fill up the "Email" and "Password" fields with the corresponding credentials 09
  2. Click the "Login" button at the left-bottom side of the web page 6
  3. A web page with access to the user profile, as well as to the encryption, decryption, and anonymization algorithms is displayed 7

Update the user's profile

  1. Follow up the login process
  2. In th main page, click the button with the username at the right-top side of the web page 8
  3. Click the "My profile" button 9
  4. A web page that encompasses the username, email, and profile picture is displayed 10
  5. Click the "Edit profile" button at the left-bottom side of the web page 11
  6. A page that enables to update the "First name", "Last name", "Username", and "Email" fields, as well as the profile picture, is displayed 12
  7. Click the "Update" button to apply the modifications 13

Encrypt a JSON file

  1. Follow up the login process
  2. In the main page, click the "Encrypt" button at the left-top side of the web page
  3. Select an encryption algorithm 14
  4. A web page with the selected algorithm is displayed 15
  5. Click the "Load JSON" button to load a JSON file stored in the local computer
  6. Select a JSON file that encompasses a FIWARE data model format 16
  7. A confirmation message is displayed 17
  8. Select the attributes that want to be encrypted at the left side of the web page 18
  9. Click the "Encrypt" button at the left-bottom of the web page 19
  10. The encrypted file is displayed on the right side of the web page 20
  11. Click the "Download the encrypted JSON" button to locally save both the encrypted file and the Key file 21
  12. Click the "View of the original JSON" to visualize the uploaded JSON file 22

Decrypt a JSON file

  1. Follow up the login process
  2. In the main page, click the "Decrypt" button at the left-top side of the web page
  3. Select a decryption algorithm 23
  4. A web page with the selected algorithm is displayed 24
  5. Click the "Load JSON" button to load a JSON file stored in the local computer
  6. Select a JSON file that encompasses a FIWARE data model format and that was encrypted with the selected algorithm 25
  7. A confirmation message is displayed 26
  8. Click the "Load Key" button to load a file with the keys to decrypt the JSON file provided
  9. Select a TXT file that comprises the keys to decrypt the selected JSON file 27
  10. A confirmation message is displayed 28
  11. Select the atributes that want to be decrypted at the left side of the web page 30
  12. Click the "Decrypt" button at the left-bottom of the web page 31
  13. The decrypted file is displayed on the right side of the web page
  14. Click the "Download the decrypted JSON" button to locally save the decrypted file 33
  15. Click the "View of the encrypted JSON" to visualize the uploaded encrypted JSON file 34

Anonymize a JSON file

  1. Follow up the login process
  2. In the main page, click the "Anonymize" button at the left-top side of the web page
  3. Select an anonymization algorithm 35
  4. A web page with the selected algorithm is displayed 36
  5. Click the "Load JSON" button to load a JSON file stored in the local computer
  6. Select a JSON file that encompasses a FIWARE data model format 37
  7. A confirmation message is displayed 38
  8. Select the attributes that want to be anonymized at the left side of the web page 39
  9. Click the "Anonymize" button at the left-bottom of the web page 40
  10. The anonymized file is displayed on the right side of the web page 41
  11. Click the "Download the anonymized JSON" button to locally save the anonymized file 42
  12. Click the "View of the original JSON" to visualize the uploaded JSON file 43

Visualize the App documentation

  1. In the main page, click the "Documentation" button at the top side of the web page 44
  2. The documentation is displayed at the official web site of the application 45

Log out process

  1. Follow up the login process
  2. In the main page, click the button with the username at the right-top side of the web page
  3. Click the "Log out" button 46
  4. The "Login" window is displayed 47

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors