Identity/EngPlan/wVEC

From MozillaWiki
Jump to: navigation, search

Overview

Identity Engineering plan.

This document addresses the build portions of the Identity service, including the Verified Email Protocol (VEP), Verified Email Service (VES), Web Based Verified Email Client (wVEC), Firefox Native Verified Email Client (fVEC)

Key People

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

Work Items

Web Verified Email Client (wVEC)

Integrate better PRNG Javascript library with RSA library

Assigned to: rmiller
Bug: 664593
Assumes/Depends On: InfraSec sign off on all javascript crypto libraries
Working Estimate: 2 days

Best case: 1 day
Worst case: Unknown
Most Likely: 2 days (provided InfraSec sign off)

The plan is to use the twu-rsa library for the RSA implementation, but to replace the ArcFour-based PRNG that it includes w/ the Fortuna-derived PRNG that comes w/ the SJCL. This will be seeded w/ entropy from the user actions and from the server.

Core HTML VEP client implementation

Assigned to: rmiller
Bug: 664598
Assumes/Depends On: Related server components are implemented / working
Working Estimate: 7 days (4 days complete, 3 days remaining)

Best case: 6 days (i.e. 2 days remaining)
Worst case: 9 days (i.e. 5 days remaining)
Most Likely: 7 days (3 days remaining)

UI interaction through account creation / email verification / login portion of VEP process

Assigned to: rmiller
Bug: 664594
Assumes/Depends On: Related server components are implemented / working
Working Estimate: 2 days

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

Create 'navigator.id' RP client wrapper and inter-window communications

Assigned to: rmiller
Bug: 664597
Assumes/Depends On: Services and InfraSec signoff on jschannel
Working Estimate: 1.5 days

Best case: 1 days
Worst case: 3 days
Most Likely: 1.5 days

Using jschannel to handle the inter-frame communication for now, pending review of the jschannel code by Services engineers and InfraSec.

Create 'navigator.id' IA client wrapper and inter-window communications

Assigned to: rmiller
Bug: 669455
Assumes/Depends On: Services and InfraSec signoff on jschannel
Working Estimate: 1.5 days

Best case: 1 days
Worst case: 3 days
Most Likely: 1.5 days

Using jschannel to handle the inter-frame communication for now, pending review of the jschannel code by Services engineers and InfraSec.

UI for displaying / selecting verified email addresses

Assigned to: rmiller
Bug: 664599
Assumes/Depends On: Related server components are implemented / working
Working Estimate: 2 days

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

Certificate refresh (success cases)

Assigned to: rmiller
Bug: 668620
Assumes/Depends On: Related server components are implemented / working
Working Estimate: 4 days

Best case: 3 day
Worst case: 8 days
Most Likely: 4.5 days

This process has to work both with our server and also with a primary authority using the iaWrapper.js wrapper.

Certificate refresh (failure cases)

Assigned to: rmiller
Bug: 668625
Assumes/Depends On: Related server components are implemented / working
Working Estimate: 3 days

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

This process has to work both with our server and also with a primary authority using the iaWrapper.js wrapper.

Jasmine test coverage

Assigned to: rmiller
Bug: 664601
Assumes/Depends On:
Working Estimate: 5 days

Best case: 3 days
Worst case: 7.5 days
Most Likely: 4.5 days

Documentation

Assigned to: rmiller
Bug: 664600
Assumes/Depends On:
Working Estimate: 4 days

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

External Dependencies

Security Review

Assigned to:
Bug: TBD
Assumes/Depends On: requires InfraSec
Working Estimate: 5 days?

Best case:
Worst case:
Most Likely:

Packaging and Deployment

Assigned to:
Bug: TBD
Assumes/Depends On:
Working Estimate: 5 days?

Best case:
Worst case:
Most Likely:

UX design / signoff

Assigned to:
Bug: TBD
Assumes/Depends On:
Working Estimate: '

Best case:
Worst case:
Most Likely:

Timeline

Expected Completion

Milestones

Milestone 1: Resolve client based Crypto concerns

There are several concerns regarding a javascript based crypto library. One of the larger is how the library can acquire a proper level of entropy. At this milestone, we will have resolved these issues and determined an appropriate approach to provide adequate RSA encryption.

  • Associated Bugs: 664593
  • Working Estimate: 4 days
  • Completion Date: TBD

Milestone 2: Complete interface elements

The library needs to communicate with the server. At this milestone, the client library will be able to communicate securely to the server and the Requesting Party site.

  • Associated Bugs: 664597, 664598
  • Working Estimate: 6 days
  • Completion Date: TBD

Milestone 3: UI Finalized

The library needs to present to the user various actionable elements. At this milestone, the client library will present those items to the user in a clear manner. NOTE: This will require working with UX and UI, which may impact deliverable date.

  • Associated Bugs: 664594, 664599
  • Working Estimate: 4 days
  • Completion Date: TBD

Milestone 4: Wrapup

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

  • Associated Bugs: 664601, 664600
  • Working Estimate: 5 days
  • Completion Date: TBD