Secure Software Development: Cryptography Problem Statement & Student Guide Version 3: 19-Nov-2015 Introduction You are a lead security consultant in a large telecommunications enterprise EdgeWise Mobile International, the enterprise has markets within the UK, Europe, America and the Far East, and currently employs 120,000 employees globally. Your team has approximately 70 security consultants globally, supported by additional security subject matter experts who specialise in Cryptography, Security Engineering, Security Architecture and Governance and Risk. The firm is organised into four main lines of business: Retail in store Telephone sales (customer services) Wholesale Digital (internet). Supporting each line of business there are operational teams that cover the following areas: Marketing and Branding Accounts (customer billing) Finance (accounts) Legal Fraud Regulatory compliance Business Information Systems (BIS) Information Technology (IT Support) Telecommunication Engineering Information Security (the team you work in). The firm currently has over 200 million customers who use the company mainly for the provision of mobile phone handsets and their associated pay as you go and monthly contract SIM card packages. Recently the firm has recruited a new chief operating officer (Lewis Pinstripe) who is in charge of the strategic business operating model and product lines. Despite the firm’s relative success within the traditional mobile telecommunications sector, they currently have 16% of global market and require their share price to increase from 300p per share to 400p per share over the next 3 years. Lewis has been informed by her executive colleagues that they need to increase their market share from 16% to 22% within the next 2 years in order to be on target. Lewis has therefore recently decided that the firm needs to embark on an ambitious programme to expand its digital and wholesale channels. His marketing department has decided that the digital channel needs to include the following high-level customer services, so that EdgeWise Mobile can gain a competitive advantage and entice new customers: Mobile applications to support customer account enquiry. Mobile applications to support sales of products. Mobile applications to recruit and drive the firms brand into new markets, such as: o Location services, o Payment services (peer to peer payments), o Entertainment (music and video streaming services). 1 As is usual, Lewis has delegated the programme of work to the Business Information Systems team to operate the project management office (PMO) for the delivery of the project within defined strategic phases. The annual budget for the project is set at 50,000,000 GBP. As one of the lead security consultants for the firm, it is your role to assist the programme management in the identification of security tasks, general advice and guidance, standards adherence (compliance with the firm’s security standards – which are based on the ISO 27001:2013 Annex A controls), as well as appropriate risk identification and acceptance in accordance with the firm’s Information Security Management System (ISMS) that is also based upon ISO27001, but as yet is not fully audited to be compliant. The project team that has been assembled includes the following people: Business Analysts. Solution Architects. Infrastructure Architects. Software Developers. Test Teams. Representatives from key business teams (stakeholders): o Marketing. o Fraud. o Legal. o Regulatory compliance. So far the programme has very little in terms of direction, however, Lewis (who is from a software development background) has stated that the firm’s usual method of software development which is based on the Software/Systems Development Life Cycle (SDLC) is too verbose and bureaucratic; consequently the programme has been charged with not only developing and delivering the new products, but it has also being asked to develop a new governance process that will allow the programme to meet its high-level business requirements quickly and safely with minimal risk to the business. The project management has decided that the first year of the programme will focus on the following deliveries: Quarter 1 – construct the new governance model. Quarter 2 – develop the designs for a new software product to be platformed on Android, iOS, Windows Mobile and Blackberry (RIM) operating systems. Quarter 3 – develop the customer support tools. Quarter 4 – launch the product to staff. The second year will refocus the project on the release of the core mobile application to customer base, ensuring that iterative software releases include new and exciting features that realise Lewis ’ vision for the selling of location, payment and entertainment services. The final steer from Lewis is that the customer registrations with the new mobile applications must be as mobile as possible. Allowing customers to see an advert in the street and decide there and then that they would like to be registered to participate in the service, and register to receive services without the need to answer post delivered mailer responses. The registration process must cater for existing customers of the firm; and It must also be able to expand to extend to other customers of other mobile phone company networks. One month into the development programme at EdgeWise Telecommunications Plc, it is widely recognised that 2 years is actually a very tight timeline in which to deliver the programme, and much emphasis has been made by the senior stakeholders within the business that the programme must deliver prototypes and methodologies within the first year. The PMO, which is panicked and is escalating all teams to mobilise dedicated resources, has 2 therefore decided that delivery milestones for software prototypes shall be based on a 30 day cycle. They have a working prototype for a web service that will broker mobile client requests, and a mobile application. Learning Outcomes On completion of the scenario, students will be able to: 1. Identify and justify the selection of appropriate encryption methods to secure stored sensitive data including card details. 2. Explain the relative strengths of encryption algorithms and the types of attack possible on them. 3. Explain the requirements of appropriate standards and practices in relation to card data. 4. Minimising the risk to an asset or product through the use of encryption software. 5. Explain good practices in relation to key management. 3 Scenario During the development of the EdgeWise Telecommunications Mobile Application, the lead software developer has asked you to provide advice and guidance on the development of a suitable encryption scheme for the protection of sensitive data at rest. The data includes: Text messages that the customer has sent [160 characters] Passwords and codes (secrets) [30 characters] Bank account details name [20 characters] Bank account details sort code [6 characters] Bank account details account number [12 characters] Card number (PAN) [16 characters] CCV [5 characters] The developer has advised you that the information will be stored in a SQL database that is hosted on a hypervisor within the firm’s strategic data centre. The firm has suffered from historical thefts of sensitive customer data, which is suspected to have been facilitated by internal infrastructure support staff. It is therefore important that the data cannot be decrypted by the maintenance staff including the DBA. The developer is thinking of using 2 Key Triple DES in ECB mode, with no padding as he has some sample code that he can re-use. Your Task Write and present a paper providing advice and guidance report to developer (2500 words) 1. Identify which information should be encrypted and state why. 2. Identify which information must not be stored. 3. Evaluate the suitability of the chosen encryption algorithm for the task and where applicable suggest an alternative. 4. Explain the attacks that could be leveraged against various cryptographic algorithms. 5. Identify the tasks required for the secure implementation of cryptography, including: 5.1. Key storage 5.2. Key management (rotation, retirement). 6. Suggest alternatives to the developer writing the encryption routine (can this be done by an off the shelf product – for example Oracle or MS SQLServer – if so how?). Reflection on Learning It is also important that at the end of the scenario you should reflect on your learning and team working and identify what worked well, what didn’t and actions for future improvement. The Consulting Process One of the benefits of Problem-based Learning is that you learn professional skills as well as technical knowledge. The process we ask you to follow to explore and provide solutions to the problem also mirror those used in consultancy. In order to assist you with the process, the following table shows the activities we would expect you to complete in your PBL team. You should read this carefully and make sure you are familiar with both the generic activities (in column 2) and the specific ones in column 3. Steps 1 & 2 will be conducted in the first PBL tutorial. Step 3 a) and b) comprises your individual research, and summarizing your learning. Step 3c) takes place as a sharing and teaching session at the next tutorial. This process of sharing and teaching others is extremely beneficial to your own learning. 4 Step 4, 5 consist of team work and whilst they are logically distinct, they may take place at the same meeting as stage 3c) depending on the schedule of meetings. Steps 6, 7: In this Scenario you will not be implementing a solution, so these are not undertaken in this scenario Step 8 should be completed at the end of the scenario, both individually and as a team, to identify what you’ve learned and how you can improve your learning and team performance in future. Your tutor/ facilitator will discuss it with you. The CSKE Consulting/ Learning Model Problem-solving model 1 Understanding organizational history and context What PBL normally includes’ 2 3 Determining the problem to be resolved Identifying/ learning necessary knowledge Scenario analysis Socio-technical organizational analysis. Clarification of ambiguities Requirements Analysis: identify key issues Simulated consultation with stakeholders (e.g. through role-play and/or online interaction). Reviewing technology/ processes in use. Identifying learning goals. Facilitator Guidance. Individual research & learning to resolve knowledge gaps. Summarising & reflection. Teams share learning. 4 Identifying alternative solutions 5 6 7 8 Implementation Deciding on best technical, organizational and social outcomes. Proposing solution with justification Applying planning and scheduling techniques. Proposing plan and deadlines. Building the solution (if appropriate). Deploying the solution (if appropriate). Formal evaluation methods re project success. Personal reflection and evaluation. Final evaluation 5 Determining and agreeing evaluation criteria and process. Identifying technical possibilities, considering acceptance issues and organizational fit. Facilitator Guidance. Choosing optimal solution Planning the implementation a) What you will be doing at each stage b) c) a) b) c) a) b) c) a) b) c) a) b) c) a) b) Individual and team review of scenario text and video resources. Team discussion. Clarification of ambiguities with tutor/facilitator. Team review of scenario: identifying key issues. Identifying learning goals. Team publish action list & summary in forum. Individual research & learning to resolve knowledge gaps. Individually creating summary of learning and how it applies to the scenario. Team sharing learning/ teach each other. Determining evaluation criteria through team discussion. Team identification of options considering acceptance issues and organizational fit. Facilitator Guidance. Team decision and justification. Presentation to tutor in role of main stakeholders. Creating the report Team evaluation of performance and project success. Individual reflection on personal learning & development. Resources Aizuddin, A. (2001) The Common Criteria ISO/IEC 15408–The insight, some thoughts, questions and issues. SANS Institute, Available online at: http://www.sans.org/readingroom/whitepapers/standards/common-criteria-iso-iec-15408-insight-thoughts-questionsissues-545 This paper provides an overview of an international effort called Common Criteria (CC), an IT Security evaluation methodology, developed to define and facilitate consistent evaluations of security products and systems,fostering international recognition and trust in the quality of security products and systems. You need to be aware of the Common Criteria. Anderson, R. (2008) Security Engineering: A Guide to Building Dependable Distributed Systems, 2nd Edition, Wiley: http://www.cl.cam.ac.uk/~rja14/book.html An updated (and expanded) version of the 2001 book, widely acclaimed as an in-depth treatment of taking a holistic approach to building secure systems. . A Brief video introduces it, from eurocrypt 2008: https://www.youtube.com/v/jU4QHfi6E3w Axelrod,C.,W. (2012) Engineering Safe and Secure Software Systems , Artech House. Engineering Safe and Secure Software Systems gives readers conceptual explanations about the differences between security and safety; ways to integrate the 2 concepts into the information systems life cycle; technology solutions; and detailed, in-depth case studies. The book also analyzes current practices for security and safety regarding appropriate maturity. It has a comprehensive view and analysis of management and technology solutions that companies require. Common Criteria (2012), available at: https://www.commoncriteriaportal.org/cc/ The Common Criteria for Information Technology Security Evaluation (abbreviated as Common Criteria or CC) is an international standard (ISO/IEC 15408) for computer security certification. It comprises 3 parts: Part 1 - Introduction and General Model. defines general concepts and principles of IT security evaluation. Part 2 - Security Functional Requirements establishes a set of security functional components as a standard way of expressing the security requirements for IT products and systems. Part 3 - Security Assurance Requirements. This part produces a catalog of establishes set of assurance components that can be used as a standard way of expressing the assurance requirements for IT products and systems. .The CC should be used to produce deliverables to meet the (CC) requirements. ISO/IEC 15408-1:2009 Information technology -- Security techniques -- Evaluation criteria for IT security -- Part 1, Part 2, Part 3 Available from: http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html The ISO standards from the Common Criteria. , NIST (2002) SECURITY REQUIREMENTS FOR CRYPTOGRAPHIC MODULES FIPS PUB 140-2 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION. Available online at: http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf Another detailed standard from NIST which contains the requirements and standards for cryptography modules that include both hardware and software components. The standard provides four increasing, qualitative levels of security intended to cover a wide range of potential applications and environments NIST (2007) Guide to storage encryption technologies for end user devices, SP 800-111, NIST, Available online at: http://csrc.nist.gov/publications/nistpubs/800-111/SP800-111.pdf NIST Computer security Division Cryptographic toolkit, http://csrc.nist.gov/groups/ST/toolkit/ 6 These NIST resources are directly relevant for this scenario. PCIDSS Various papers, and standards, https://www.pcisecuritystandards.org/index.php A key standard for payment cards. The Payment Card Industry Data Security Standard (PCI DSS) is a proprietary information security standard for organizations that handle branded credit cards from the major card schemes. Certification is critical for conducting ecommerce. Vendor documentation Oracle and Microsoft relating to Transparent Data Encryption (TDE.): http://www.oracle.com/technetwork/database/options/advanced-security/index-099011.html and https://msdn.microsoft.com/en-us/library/bb934049.aspx Transparent Data Encryption (often abbreviated to TDE) is a technology employed by both Microsoft and Oracle to encrypt database files. TDE offers encryption at file level. TDE solves the problem of protecting data at rest, encrypting databases both on the hard drive and consequently on backup media. Enterprises typically employ TDE to solve compliance issues such as PCI DSS. IISP Framework C2 – Secure Development –elements relevant to this scenario. 7 Implementing secure systems, products and components using an appropriate methodology. Defining and implementing secure development standards and practices including, where relevant, formal methods. Minimising the risk to an asset or product through the ‘standard’ design and development processes. Specifying and/or implementing processes that maintain the required level of security of a component, product, or system through its lifecycle. Assessment Grading Criteria Learning Outcome LO1. Identify and justify the selection of appropriate encryption methods to secure stored sensitive data including card details. LO2. Explain the relative strengths of encryption algorithms and the types of attack possible on them. LO3. Explain the requirements of appropriate standards and practices in relation to card data. LO4. Minimising the risk to an asset or product through the use of encryption software. LO5. Explain good practices in relation to key management. Working With Others: Participate constructively in team by Taking responsibility Showing sensitivity and provide supportive feedback to others. Meeting deadlines Evidence Pass (40-49%) Sound Pass (50-59%) Very Good Pass (60-69%) Excellent (70-100%) Weight Almost all information is provided accurately for all aspects of the task Links are made between business requirements and solutions. Alternatives are discussed, but may be briefly. Report structured with appropriate headings. Accurate spelling and grammar. Generally appropriate level of detail, but inconsistent Wide range of appropriate references provided in correct format and cited correctly. Accurate and fully appropriate information provided for all information is provided for all aspects of the task with detailed explanation. Business requirements are integrated throughout the report. Some alternatives discussed Report structured with appropriate headings. Written in clear consistent and appropriate (business) style of English. Technical detail explained appropriately and consistently. Wide range of appropriate references provided and cited correctly with full adherence to disciplinary standard formatting conventions. Systematic and comprehensive discussion of solutions to all aspects of the task with compelling justification. Critical evaluation of alternatives with well-justified selection of most appropriate solution. Report structured with appropriate headings. Accurate and consistent English throughout report. Clear, concise and complete with appropriate level of detail throughout almost all report. Wide range of appropriate references provided and cited correctly with full adherence to disciplinary standard formatting conventions. 70% Team Report Mostly accurate information is provided for all aspects of the task. Reports are structured with appropriate headings. Acceptable spelling and grammar. Mostly relevant content. References provided with citations. Team Presentation Presentation is consistent with, and relates to report. As pass and presentation emphasises key points and has balanced content. As sound pass and presentation clearly links features/ benefits of solution with client needs and problems. Presentation is persuasive, balanced, thorough and clearly links features/benefits of solution to client needs/p[problems 20% Timekeeping , oral contribution s, VLE postings, timeliness of work produced. Usually communicates quickly with others if problems attending or meeting commitments. On time for most meetings. Completes most work allocated. NB Students can be excluded from teams for not meeting these requirements. Considered reliable by team mates. Almost always communicates quickly with others & renegotiates if problems attending or meeting commitments. Shares work with others in timely way. As Sound pass and on time for almost all meetings. Completes all work as agreed. As Very good pass and shows initiative / leadership in some areas of work. 10% 8