(Only need step 9&10 about 5 pages) Software Development Life Cycle For Data In the Cloud Computing environment

profileBobJones
LifeCycleManagementReportstep56draft.docx

System Design Specifications

There are various methods of protecting data-in-transit, also referred to as data-in-motion. However, the most significant vulnerability with cloud storage is not securing the data in transit; it is the security of the data at rest. Therefore, before transmitting data, it is essential to ensure the data is encrypted with tools such as VeraCrypt, which is a tool that enables the use of encrypted containers to protect data at rest. 

Secure encryption must be used in order to maintain confidentiality and integrity when transmitting data between the cloud server and the client. Encryption will ensure that only users with the key that was used to encrypt the data will be able to decrypt the data and view the contents (Alsulami, Alharbi, & Monowar, 2015). One method of encryption would be a technique such as the hybrid cryptographic scheme shown in Figure 1.   

https://lh5.googleusercontent.com/yiVPRklnRhQdDXgxKnIPbwn40X6TXusYVw5E8sTzJriAD0xFSrYoLlJB2eczUrHLv7IXetbBsjU9VuW00Hvm-V_Y5tR4CK4qQTOemZONU0an3E6FgX8AlC75rsDjqyOhaZEvhKo Figure 1. Hybrid Cryptographic Scheme.

As we see in Figure 1, Alice is sending an encrypted message to Bob using the Hybrid Cryptographic Scheme, which utilizes a combination of Public Key Crypto, Secret Key Crypto, and a Hash Function. Alice’s Private Key and the Hash Function are used to creating a digital signature, and Bob’s public key is combined with a random session key and public key crypto to create the encrypted session key. Alice’s message and the random session key are used in conjunction with the hash function and secret key crypto to formulate the encrypted message.

The combination of the encrypted message and the encrypted session key becomes what is known as the digital envelope. The hash function is a one-way encryption algorithm that uses no key, but instead uses a fixed-length hash value that computes based upon the plaintext, which makes it impossible for both the contents and length of the plaintext to be recovered, thus providing a digital fingerprint to ensure the integrity of the file. Bob recovers the hash value by decrypting the digital signature with Alice's public key. Then Bob recovers the secret session key using his private key and decrypts the encrypted message. If the resultant hash value is different from the value supplied by Alice, then Bob knows that the message has been altered; if the hash values are the same, Bob can have confidence that the message he received is identical to the one that Alice sent (Kessler, 2019). 

Now that the messages are encrypted, we will need to use a secure means of transmitting the messages from point A to point B. Various protocols can provide security, such as Hypertext Transfer Protocol Secure (HTTPS), which is a variant of HTTP that adds a layer of security through an SSL or TLS protocol connection (“What is HTTPS,” n.d.). SSL ensures that before communication is established between a client browser and a cloud server, an encrypted link is created between the two (“What is Secure Sockets Layer,” n.d.). TLS is more efficient and secure than SSL as it has stronger message authentication, key material generation, and other encryption algorithms. For example, TLS supports pre-shared keys, secure remote passwords, elliptical-curve keys, and Kerberos, whereas SSL does not (Kerravala, 2018).

However, for a more secure method of transmitting data, Internet Protocol Security (IPSec), as in Figure 2, would provide the most secure means for data-in-transit. IPSec has two modes, tunnel mode, and transport mode, that utilize two security protocols, encapsulating security payload (ESP) with a protocol ID of 50, and authentication header (AH) with a protocol ID of 51 (Administrator, n.d.).  In order to allow IPSec traffic to pass through the firewall, typically UDP port 500 should be open and permit IP protocol IDs 50 and 51 on both inbound and outbound firewall filters. Although the ports that are utilized will vary depending upon the VPN server and provider, this is the most common port utilized for IPSec.    

https://lh5.googleusercontent.com/WuOYX6OlOjD2WvNd2pQJtQjvITatSiQg2ScX-XpO-zAX8NqiGa39SO2KoqvE3AWtyFGCI9Jv57c94VCbTgAl6AqJMGgxaHatMJ6CvO40N5ygIvuA2EAtU6u8kpFL4BcjbxdOH6E Figure 2. IPSec Tunnel Mode.

Below in Figure 3 is an example of what the ideal cloud system design specifications would look like using IPSec tunnel mode. The communications all occur securely over an HTTPS connection to the internet-facing web service of vCloud Air. The Hybrid Cloud Manager also communicates with the Network Services Provisioning API in vCloud Air as needed to support the on-premises operations (Francis, 2016).

https://lh5.googleusercontent.com/drN73WGyaFQEvszOD3HzWNPUd7iXFzjvFd4o9INg_KYwXJG4ukpCXeviX5uOpywl3wwIq_rEcBQCtE0LebUbT_3PLDQ5mvENzzfuxewbCqRTTcptkaaMMg3w9l0nGY5LqHOGIv0 Figure 3. VMware vSphere Cloud Architecture.

SDLC’s framework defines steps to be taken in the software development process and includes Planning, Development, Documentation, Testing, Deployment and Maintenance. However, the traditional approach of SDLC must be amended and made suitable for the cloud computing environment.  There are numerous practices for the development of software which includes waterfall, rapid application development, joint application development, and extreme programming with many life cycle models being built upon the traditional waterfall model framework (Software Development). The waterfall model require that one phase is worked on at a time then moving on to the next until done. However, this may not be feasible in practice.

ttps://umuc.equella.ecollege.com/file/ab3f271b-c8e9-4e28-85f9-8cf42c33ab8e/1/sco_content/en/images/pg04/

Waterfall Method

In contrast, Agile software development performs tests regularly with prototypes during each phase to demonstrate the application’s functionality and is more focused on the current customer demands rather than a stable, long-term project. With this approach, the cost of change decreases when software applications are put in the cloud. Cloud computing is a new archetypal shift in the computing world providing more scalable, flexible and robust web applications, with almost instant access to software and developmental environments. 

https://lh4.googleusercontent.com/_FoQwmAhlhvX_YGMuvLDn-javk6f0-Z3u_lV-8nU9fdTLkkZqyPXmzkkET2-FU87Lk4uimRoEpKrp8CBRDwyXLrs0T0P-yDIsKN00k09cPycv26_vtQiHO-xqRVUu5BM6l_VSC0

Agile Method

The flexibility and robustness of the cloud aligned the maturity of SDLC frameworks provides for today’s rapidly evolving technological environment which requires faster development processes and higher productivity. Agile thinking should be adopted as this software development approach focuses on product delivery, quality assurance (QA), feature development, and maintenance releases.

Developing applications for public or private cloud platforms entails many of the same characteristics as applications designed for any other platform. There are five characteristics of cloud computing namely: on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service. There are four cloud deployment models used which are private cloud, community cloud, public cloud and the hybrid cloud. In our particular circumstance, SaaS will be employed for the HR department and their needs as there are many benefits.

https://lh3.googleusercontent.com/Ku_Vb1Vmsd-uXjBE0Aj47NY6AyW7hmx8iL_GWAdjm6e4Lyy253ucZJ4jRhGODth7LlVGibwKUaarQ6eXvl98l1SDyKUohg9lYyU7kTQremzIUK8hi_MC8Sqa8NaemX2Mk7VAYi8

Traditional vs Cloud Priorities

SaaS is a complete operating environment with applications, management and a user interface. There are no installation or hardware concerns, backups occur automatically, differently located employees can access same data, large data sets are easier to work with, there are no compatibility issues and upgrades are handled in the cloud (Miyachi, 2013).

Software Development Plan

This is the phase during which design specifications are refined and coded with supporting documentation. A complete information system will be completed in the development phase. This will include acquiring and installing systems environment, creating and testing databases, preparing test case procedures and test files, coding, compiling, refining and performing test readiness (Kommalapati & Zack, 2011).  There are numerous outlined steps:

· Set up development environment

· Develop service through iterative process

· Deploy and test continuously throughout the iteration

· Enlighten application with instrumentation

· Integrate application security [e.g. single sign-on, authorization policies]

· Integrate with cloud and on-premise systems, if necessary

· Streamline data synchronization, extraction and uploading

· Integrate support and helpdesk processes

· Test service as well as integrated business processes

· Test support and helpdesk processes

IT implementation, if the case refers to the new system, involves preliminary assessment of both external and internal factors that contribute to costs of implementation, the usability of the system, and business need of organization. The need for new system implementation usually derives from the need to replace or upgrade the process that is no longer effective, or to support a new business process that requires technical support. Externally, the company should be exposed to the following aspects.

First, the company should seek vendors that have already experienced the implementation process or best practices of successful implementation in other companies that have probably faced some issues and found the way to deal with them. Second, the company should consider the hardware and software requirements that fit the capacity of a new system. The implementation of a new system will require more efforts due to the need to upgrade some existent infrastructure in order to synchronize data exchange and processing functions.

Internally, Tycoon Solutions must conduct an in-depth analysis of the user’s needs and preferences regarding the tasks that the system will have to replace or support. There are numerous examples in IT industry when implemented systems have not been used due to not being able to resolve a user’s problem completely, offering partial solution to the problem. This needs can be identified by using questionnaires, user stories, interviews, or job analysis, where the critical elements are identified before the system implementation. Moreover, communication with users is a continuous process; thus, even after the system implementation, the communication must be followed in order to receive feedback on the system functionality. This implementation might require reverting to external resources again, seeking for methods to improve the functionality of the system by installing additional modules or system patching.

The transit of the data from and to a cloud environment could be protected through the application of several technology considerations. First, it is worth mentioning that the data is hard to intercept by intruders if the protocols the data transfer process relies on a protected by the firewall. Second, the data should be encrypted using the recent encryption algorithms that prevent the data from decoding during the transition. Secure encoding and decoding algorithms also ensure that the data is encoded and decoded using the primary and secondary key, which prevents the intruder from obtaining it off one protected and was not shared before the encoding process was initiated (Washer, 2014). It means that the use of the most hashing algorithms will also contribute to better data encapsulation, hence leading to higher data integrity.

Meanwhile, it is worth admitting that the data still could be compromised during the transit based on the interruption because of the contrasting server settings. For instance, if the cloud server is not configured appropriately, there is a risk of facing the slow process of data exchange, which consequently creates a timely opportunity for intruders to interfere and decode it. Moreover, it is essential to use the most modern equipment and perform ping tests that would demonstrate if the speed of data exchange is secure and satisfy the requirements of users and administrators.

 

References

Administrator. (n.d.). Understanding VPN IPSec Tunnel Mode and IPSec Transport Mode - What's the Difference? Retrieved from http://www.firewall.cx/networking-topics/protocols/870-ipsec-modes.html

Alsulami, N., Alharbi, E., & Monowar, M. (2015, March 3). A Survey on Approaches of Data Confidentiality in the Cloud Computing Systems. Journal of Emerging Trends in Computing and Information Sciences. Retrieved August 25, 2019, from http://www.cisjournal.org/journalofcomputing/archive/vol6no3/vol6no3_9.pdf

Alsulami, N., Alharbi, E., & Monowar, M. (2015). A Survey on Approaches of Data Confidentiality in the Cloud Computing Systems. Journal of Emerging Trends in Computing and Information sciences, 6(3), 188-197.

Francis, M. (2016, December 21). Hybrid Cloud Manager Deployment Considerations. Retrieved from https://blogs.vmware.com/consulting/2016/12/hybrid-cloud-manager-deployment.html

Kerravala, Z. (2018, November 9). What is Transport Layer Security (TLS)? Retrieved from https://www.networkworld.com/article/2303073/lan-wan-what-is-transport-layer-security-protocol.html

Kessler, G. C. (2019, August 14). An Overview of Cryptography. Retrieved from https://www.garykessler.net/library/crypto.html#why3

Kommalapati, H. & Zack, W. H. (2011, October 3). The SaaS development lifecycle. InfoQ. Retrieved from https://www.infoq.com/articles/SaaS-Lifecycle

Miyachi, C. (2013). Software systems architecture in a world of cloud computing. Retrieved from https://sdm.mit.edu/news/news_articles/webinar_052013/miyachi_052013.pdf

Washer, E. (2014). Leveraging Cloud-Based Business Networks For Collaboration. Retrieved from http://blogs.sap.com/innovation/cloud-computing/leveraging-cloud-based-business-networks-collaboration-01251933

What is HTTPS? - Definition from Techopedia. (n.d.). Retrieved from https://www.techopedia.com/definition/5361/hypertext-transport-protocol-secure-https

What Is Secure Sockets Layer (SSL), (n.d.). Retrieved from https://www.digicert.com/ssl/