myViewBoard Security Development Overview

From myViewBoard
This is the approved revision of this page, as well as being the most recent.
Jump to navigation Jump to search

This document is being provided in response to the inquiry made to ViewSonicfor requesting security development and deployment architecture for the myViewBoard project. Security and privacy are components of myViewBoard TM in the design, development, and delivery of this service.


In this document we will describe how we integrate Github, Docker, and Circle CI,deploy secure, scalable architecture on Amazon’s Web Service Cloud platform, WebRTC’s protocol for securing our streaming service, and how PGP (Pretty GoodPrivacy) is integrated in our secure file sharing and transmit use case. This approach is designed to balance customers’ needs for security and confidentiality with public information in regard to technologies and third-party solutions that myViewBoard integrates.


Secure Development Lifecycle

Security Development Lifecycle is a set of activities and milestones which can drive high-quality security outcomes in product and services development. It can be subdivided into 4 distinct sections: Architecture and Design, Implementation, Validation and Release. A review is conducted after each stage has been completed. Below are the activities that should be taken care of at each stage of the Secure Development Lifecycle process:

Security lifecycle stages.png

Continuous Integration and testing with cloud service

Security docker.png

Product Architecture Overview

Storing and Managing Encryption Keys in the Cloud

Security measures that rely on encryption require encryption keys. In the cloud, as in an on-premises system, it is essential that access keys are secure. Combining server-side encryption with AWS key management and storage capabilities, Amazon Web Services is able to provide an HSM service in the cloud known as AWS CloudHSM.


AWS employs a private network with ssh support for secure access between tiers and is configurable to limit access between tiers.

Security mng encrypt keys.png

Reference: Amazon Web Services


Protecting Data in Transit to Amazon S3

Like AWS service management, Amazon S3 is accessed over HTTPS. This includes all Amazon S3 service management requests, as well as user payload, such as the contents of objects being stored/retrieved from Amazon S3 and associated metadata. When the AWS service console is used to manage Amazon S3, an SSL/TLS secure connection is established between the client's browser and the service console endpoint. All subsequent traffic is protected within this connection. When Amazon S3 APIs are used directly or indirectly, an SSL/TLS connection is established between the client and the Amazon S3 endpoint. All subsequent HTTP, and user payload traffic is encapsulated within the protected session.

Security Amazon S3.png

Reference: Amazon Web Services



Protecting Data in Transit to Amazon RDS

Connecting to Amazon RDS from Amazon EC2 in the same region relies on the security of the AWS network. Connection from the internet uses SSL/TLS for additional protection. SSL/TLS provides peer authentication via server X.509 certificates, data integrity authentication, and data encryption for the client-server connection. SSL/TLS is currently supported for connections to Amazon RDS MySQL and Microsoft SQL instances. For both products, Amazon Web Services provides a single self-signed certificate associated with the MySQL or Microsoft SQL listener. Amazon RDS for Oracle Native Network Encryption encrypts the data as it moves into and out of the database. Oracle Native Network Encryption encrypts network traffic travelling over Oracle Net Services using industry standard encryption algorithms such as AES and Triple DES.

Security amazon rds vpc.png

Amazon RDS VPC



Protecting Data in Transit to Amazon DynamoDB

Connecting to DynamoDB from other services from AWS in the same region relies on the security of the AWS network. Connecting to DynamoDB across the internet uses HTTP over SSL/TLS (HTTPS) to connect to DynamoDB service endpoints. Avoid any HTTP for access to DynamoDB and for all connections across the internet.


Security dynamoDB.png


Secure Streaming Service

WebRTC is a standard drafted by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF) to overcome adoption barriers. The open standard framework eliminates the need for additional client software, plug-ins and downloads. Instead, interactive voice, video, and data-sharing functions are delivered as standard web components. Ordinary Web developers, who aren't necessarily versed in telephony, can create multimedia communications-enabled applications using simple HTML and JavaScript APIs. End users enjoy an improved experience with no interruptions for downloads, consistent operation across devices and browsers, and immersive communications capabilities.


Browser-based communications eliminates cost and complexity

By breaking vendor and platform dependencies, WebRTC transforms enterprise communications. Until now, businesses have been limited to expensive desk phones and proprietary software clients. While vendors support open standards such as SIP (Session Initiation Protocol), many maximize product margins by providing support only for proprietary endpoints and separately licensed software clients. With more workers using smartphones as their primary handset, expensive desk phones are becoming increasingly difficult to justify. What businesses need is a way to make smartphones and tablets viable alternatives to traditional phones. However, traditional solutions for extending enterprise communication services to mobile devices are costly and inefficient.


Most UC (Unified Communications) vendors offer operating-system-specific soft clients that take time and money to qualify, deploy, and support. WebRTC overcomes these limitations by bringing real-time communications directly to the browser. This eliminates special purpose, OS-specific clients. With WebRTC, IT organizations can accelerate time-to-market and contain costs by extending enterprise communications services to any browser-enabled device (smartphone, tablet, or PC).


Users can access the WebRTC-enabled service over any network – public or private; WiFi, mobile broadband, or wired LAN. WebRTC reduces upfront IT expenses by containing client licensing fees, qualification efforts, and deployment costs. There are no proprietary clients to purchase, roll out, update, or support. The client application runs on an off-the-shelf "free"browser. Qualification, deployment, and maintenance costs are contained to the Web site. New features and fixes are implemented right on the Web page.


Source [1]

WebRTC Built-in Security Features

In essence, downloading any software from the internet carries an inherent risk that your PC may become infected by a virus, malware, spyware or various other 'bugs'that threaten the security of your data. As such, the principal solution to combat viruses is to install firewalls and anti-malware software that work to defend your computer against any potential threats.


With WebRTC however, there's no need to worry about any of that because since WebRTC works from browser to browser, you don't need to download any software or plugins in order to set up a video conference or VOIP call. All the security that you need is already contained within your browser and the WebRTC platform. Some of the in-built security features contained within the WebRTC platform include:


  • End-to-end encryption between peers
  • Datagram Transport Layer Security (DTLS)
  • Secure Real-Time Protocol (SRTP)


End-to-End Encryption

Encryption is built in to WebRTC as a permanent feature and addresses all security concerns effectively. Regardless of what server or compatible browser you're using, private peer-to-peer communication is safe thanks to WebRTC's advanced end-to-end encryption features.


Data Transport Layer Security (DTLS)

Any data that is transferred through a WebRTC system is encrypted using the Datagram Transport Layer Security method. This encryption is already built into compatible web browsers (Firefox, Chrome, Opera), so that eavesdropping or data manipulation can't happen.


Secure Real-Time Protocol (SRTP)

In addition to offering DTLS encryption, WebRTC also encrypts data through Secure Real-Time Protocol, which safeguards IP communications from hackers, so that your video and audio data is kept private.


Signalling Server

Security signalling server.png


WebRTC Default Case - P2P

This is a true End-To-End encryption (E2E)

Security E2E.png


WebRTC Default Case - TURN

A TURN Sever DOES NOT terminate the encryption. In this case, it's a true End-To- End encryption (E2E)

Security TURN.png


WebRTC Default Case - Encryption

Security default case p2.png


Addendum

Changes to the system environment:

This document relates exclusively to the details of the product or project specified above. This section is designed to provide requested details on how the product in question interacts with the system environment in question.


This product has software components that are installed in standard user directories. Any exceptions to this are listed below:

  • Crossmatch Fingerprint SDK
  • SQLCipher


This software component also adds or makes modifications to the following system attributes and configurations (such as registry entries, firewall settings, digital certificates, kernel mode drivers, and browser plugins):

  • Registry Keys:
HKEY_LOCAL_MACHINE\SOFTWARE\DigitalPersona\Products\U.are.U RTE 


Services: The following are uses of cryptography:

  • Hashing Algorithms: SHA25
  • Public-Key Algorithms: RSA-204
  • SSL Schemes: TLS 1.2


The following is a list of all known third party components used in this product:

  • WebRTC
  • mqtt
- MQTT 3.1 and 3.1.1 compliant
- QoS 0 and QoS 1