Project VERITAS
Team Name | Team VERITAS |
Sponsors | |
Team Members | |
Duration | Fall 2017 - Spring 2018 |
Faculty Advisers | Bruce Bolden |
Problem Definition[edit | edit source]
Design and implement a secure database that communicates securely and dynamically with a web interface. The database has read only access from the web interface. The interface follows accessibility standards and will work on a range of hardware. Communications are encrypted in both directions.
Background[edit | edit source]
Pacific Northwest National Laboratory needed a simple way to access their research data on different components. They also needed a secure database to hold the data.
Project VERITAS was created because:
- it offers a simple way to search through all the data
- makes it easy to find a specific product
- it provides secure access to data
- makes it easy to add new product data
Deliverables[edit | edit source]
- Accessibility standards compliant web interface that accesses product data
- MySQL database to store product data
- Secure communication between web interface and database
- Documentation detailing the use of all code and supporting resources
Design[edit | edit source]
Overview[edit | edit source]
We have designed a web interface to securely connect to a database. This consists of a secure database and three main sections for the webpage (main webpage, the postcard view, and the full product view). The website should never be able to access the database in a malicious way or tamper with the data at all. The communications to and from the database are encrypted.
Initial Design[edit | edit source]
Current Design[edit | edit source]
The main website allows the user to search the database from a dropdown menu that is populated by what the user chooses until the user is satisfied by their selection. The user can then submit their selection to view the most valid options in the database, displayed by the postcard view. This design choice of only using the dropdown menus gives added security since there is no way for a SQL injection attack to happen. | |
The postcard view will be displayed after the user has made their selection from the dropdown menus and clicked the submit button. This will display the most relevant choices with a small bit of information on all matching products. This will allow the user to see select the most relevant product given their needs. They can click on the postcard view to lead them to the full product page. The postcard view will show up on the main webpage under the search bar and populate many postcard views. | |
The full product page is a separate website from the main webpage and is accessed from the postcard view. All product information that the database has on that product will be displayed on this page. *All data shown is representative. | |
The database holds all of the information we have on all products. It needs to encrypt all communications, so no data is ever compromised. Each page will query the database and have its' fields dynamically updated. The only way to make changes to the database will be from a non-web based entry method that will require authentication. | |
This is a flow diagram of how the final design works. |
Project Learning[edit | edit source]
- Off the Shelf Technology
Various program languages - HTML5 : Visible interface - PHP7 : Gives standard programming capabilities to HTML - CSS : Presents HTML elements in the desired fashion - JavaScript : Allows user to interact with web interface Database Languages - MySQL : Main Database Server - NginX
Verification[edit | edit source]
To show that the communications between the database and web interface are secure/encrypted below is a screenshot of a Wireshark packet capture.
Future Work[edit | edit source]
- Air Gapped Database
- Comparison Option
- Search Bar Option
- Popularity Postcard Sort
Team Member Information[edit | edit source]
Team VERITAS | |||||
---|---|---|---|---|---|
Picture | Biography | Discipline | |||
Alex Wezensky | Alex Wezensky is a senior dual majoring in computer science and mathematics. Within computer science, Alex is interested in artificial intelligence and big data. In his free time, Alex enjoys playing basketball and ping-pong, and playing Rock Band with his roommates. | Computer Science/Mathematics | |||
Animesh Pattanayak | Animesh Pattanayak is a senior majoring in computer science with a minor in mathematics. Animesh's interests include cybersecurity and research. Outside of academics, Animesh enjoys playing piano, guitar, and singing. Additionally, Animesh enjoys going for long walks, skateboarding, and playing soccer. | Computer Science | |||
Jocelyn Stadler | Jocelyn Stadler is a senior in computer science with a minor in mathematics. Jocelyn is interested in cybersecurity and computer architecture. Outside of school, she enjoys reading, swimming, playing video games, and baking. | Computer Science | |||
Joel Doumit | Joel Doumit is a senior majoring in computer science. Joel's interests include embedded systems and microcontrollers. Apart from academia, Joel enjoys watch collecting, swimming, and sport shooting. In addition to hobbies, Joel enjoys working on pet projects, including a Discord soundbot and a Raspberry Pi radio transmitter. | Computer Science |