Identity/EngPlan/fVEC

From MozillaWiki
Jump to navigation Jump to search

Overview

Firefox Native Verified Email Client (fVEC) Identity Engineering plan.

This document addresses the build portions of the Firefox Native Verified Email Client

Top level tracking bug is 664541

Key People

Technical Lead: Dave Dahl
Additional Developers: Rob Miller , JR Conlin
Project Manager: Dan Mills
Product Manager: Dan Mills
UX: TBD

Work Items

Firefox Verified Email Client (fVEC)

Design Docs

Assigned to: ddahl
Bug: TBD
Assumes/Depends On: Completed protocol specifications
Working Estimate: 2 days

Best case: 1 day
Worst case: 3 days
Most Likely: 2 days

Design Diagram

FirefoxCodingPlan.png

Browser level API

Assigned to: ddahl
Bug: 664614
Assumes/Depends On:
Working Estimate: 3 days

Best case: 2 days
Worst case: 5 days
Most Likely: 3 days

the following Crypto API needs estimate by bsmith

Platform Crypto API

Assigned to: bsmith, ddahl
Bug: 665057
Assumes/Depends On:
Working Estimate: 3

Best case: 1 day
Worst case: 7 days
Most Likely: 3 days

Crypto API

A (platform, chrome-privileged) crypto API that performs key pair generation, signature and verification will be needed

  * This API should be threadsafe and usable from a ChromeWorker
    https://bugzilla.mozilla.org/show_bug.cgi?id=665057
  * Proposed IDL:
  * The Identity internal platform API:
  
interface IdentityCryptoAPI {
  AString GenerateKeyPair(in AString aPassphrase); 
  AString GetPublicKey(in AString aOrigin);
  AString Sign(in AString aPlaintext);
  boolean Verify(in AString aPlainText, in AString aSignature, in AString aPublicKey); 
};


Identity Registration

Assigned to: ddahl
Bug: 664748
Assumes/Depends On:
Working Estimate: 10 days

Best case: 5 days
Worst case: 20 days
Most Likely: 10 days

Identity Assertion Generation

Assigned to: ddahl
Bug: 664750
Assumes/Depends On:
Working Estimate: 9 days

Best case: 5 days
Worst case: 15 days
Most Likely: 9 days

Certificate Refresh

Assigned to: ddahl
Bug: 664751
Assumes/Depends On:
Working Estimate: 4 days

Best case: 2 days
Worst case: 6 days
Most Likely: 4 days

UI (front-end, 'login to browser')

Assigned to: ddahl
Bug: 664754
Assumes/Depends On:
Working Estimate: 12 days

Best case: 8 days
Worst case: 15 days
Most Likely: 12 days

External Dependencies

Code Review

Assigned to: ddahl
Bug: TBD
Assumes/Depends On:
Working Estimate: 13 days

Best case: 10 days
Worst case: 25 days
Most Likely: 13 days

Security Review

Assigned to: ddahl
Bug: TBD
Assumes/Depends On: Scheduling with InfraSec
Working Estimate: 1 day

Best case: 1 day
Worst case: 2 days
Most Likely: 1 day

Timeline

Expected Completion

Working Estimate: 58 days

Milestones

Milestone 1: Complete browser interface elements

The client library requires browser resources in order to function. At this milestone, the browser components are ready to use.

  • Associated Bugs: 664614, 664752
  • Working Estimate: 6 days
  • Completion Date: TBD

Milestone 2: Complete Identity functions

At this milestone, the library is capable of receiving certificates and generating assertions.

  • Associated Bugs: 664748, 664750
  • Working Estimate: 15 days
  • Completion Date: TBD

Milestone 3: Process Identity Certificate Refreshes

At this milestone, the library should be able to detect an expired certificate, request a new certificate from the ID server, and be able to generate new Identity Assertions from that certificate.

  • Associated Bug: 664751
  • Working Estimate: 4 days
  • Completion Date: TBD

Milestone 3: UI Finalized

At this milestone, the user interface elements should be complete. NOTE: This will require working with UX and UI, which may impact deliverable date.

  • Associated Bug: 664754
  • Working Estimate: 8 days
  • Completion Date: TBD

Milestone 4: NSS Wrapper issues resolved

At this milestone, the NSS issues for integration into firefox are resolved and integrated into the working client. NOTE: This will require working with platform, which may impact deliverable date.

  • Associated Bugs:(§3.1.9, §3.1.10)
  • Working Estimate: >11 days (External elements are still being investigated)
  • Completion Date: TBD

Milestone 5: Wrapup

The client needs to have full test cases working, documentation, and packaged for deployment and testing. At this milestone, the client will be in a beta consumer ready state. Documentation may not be finalized, but they should be at a point where an external user can use the system with no prior knowledge of the system and minimal assistance.

  • Associated Bugs:(§3.1.11, §3.1.12)
  • Working Estimate: 14 days
  • Completion Date: TBD