secure application layer api proxy€¦ · secure application layer api proxy team symantec lauren...

12
From Students… …to Professionals The Capstone Experience Project Plan Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science and Engineering Michigan State University Fall 2017

Upload: others

Post on 30-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

From Students…

…to Professionals

The Capstone Experience

Project PlanSecure Application Layer API Proxy

Team SymantecLauren Allswede

Steven KneiserJacob Carl

TJ KellyYili Luo

Department of Computer Science and EngineeringMichigan State University

Fall 2017

Page 2: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Functional Specifications

• Problem Developers want to use a more modern web protocol

when integrating VIP with their applications

• Solution Build a secure proxy to wrap the existing interface and

provide a more modern web transfer protocol.

• Translation between protocols• Secure authentication Client and Proxy Proxy and VIP

• Robust Testing Plan

The Capstone Experience Team Symantec Project Plan 2

Page 3: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Design Specifications

• No front-end design

Used by developers

API calls

• Visualization using a basic web application

Show what logging in with VIP looks like

Walk through steps happening in the background

The Capstone Experience Team Symantec Project Plan 3

Page 4: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Screen Mockup: Initial Login page

The Capstone Experience Team Symantec Project Plan 4

Page 5: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Screen Mockup: 2-Factor Submission

The Capstone Experience Team Symantec Project Plan 5

Page 6: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Screen Mockup: Converting SOAP to REST

The Capstone Experience Team Symantec Project Plan 6

Returning SOAP Response Returning REST Response

Page 7: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Technical Specifications

• Translating between REST and SOAP Mapping REST requests to SOAP requests Converting JSON to XML Converting XML to JSON

• Authentication JSON Web Tokens (JWT) VIP Certificates HTTPS/SSL

• Testing Exhaustive integration tests 100% code coverage with unit tests

The Capstone Experience Team Symantec Project Plan 7

Page 8: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

System Architecture

The Capstone Experience Team Symantec Project Plan 8

Page 9: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

System Components

• Software Platforms / Technologies Development

o ASP .NET Core (C#)o VIP .NET SDKo NUnit testing frameworko Gitlabo SoapUI

Authenticationo JHASHo JWTo VIP Access Manager

Protocolso SOAP

XSD WSDL XML

o REST OpenSSLv3 JSON

The Capstone Experience Team Symantec Project Plan 9

Page 10: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Testing Plan

• Two separate integration tests per API endpoint

Pass

Expected Fail

• Unit tests

Verify XML and JSON conversion

Ensure feature-parity with SOAP API

• Performance under load

The Capstone Experience Team Symantec Project Plan 10

Page 11: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Risks

• Load Testing Ability Difficulty: Medium Description: Our ability to load test our proxy is limited. We need to be able to simulate

several hundred to thousand requests per second to properly test the scalability of our API. Mitigation: Talking with client about multiple mock accounts.

• Client Side Authentication Difficulty: Medium Description: We are required to implement client side authentication without an existing or

building an authentication server. This blocks us from using technologies such as OAuth2. Mitigation: Work with client and research to figure out a client-proxy authentication

method that does not rely on an authentication server.

• VIP API documentation Difficulty: Easy Description: The documentation provided is cumbersome and does not thoroughly explain

how to communicate with the SOAP API. Mitigation: Searching for more API related documentation and working with client to

identify and clarify misunderstandings.

The Capstone Experience Team Symantec Project Plan 11

Page 12: Secure Application Layer API Proxy€¦ · Secure Application Layer API Proxy Team Symantec Lauren Allswede Steven Kneiser Jacob Carl TJ Kelly Yili Luo Department of Computer Science

Questions?

The Capstone Experience Team Symantec Project Plan 12

?

? ??

?

?

?

?

?