1 Reply Latest reply on Feb 5, 2009 1:00 PM by Michael Thornburgh

    peer ID generation

    Syberkitten Level 1

      being an entrepreneur and a web developer, i'm interested in planning ahead possible stratus integration
      with other application servers/web servers.

      Therefore, I would like to address the following few questions to the Stratus dev team:

      1. what means would it be possible to communicated with the stratus server, from another server?
      (an api? a class library? c++ extension like in fms?)

      2. would it be possible to generate via the stratus server, pre-generated peer ID's, that could
      later be assigned to clients? (this should allow a preservation of a session state for users who disconnect)

      3. what other if not the above way will there be to preserver client session (peer ID) in cases of disconnection?
      (re-assignning a new peer ID every disconnect or session loss would hurt state management for larger applications)

      i have many more questions, but these few will suffice as a starter... :)

      thx in advance
        • 1. Re: peer ID generation
          Michael Thornburgh Adobe Employee

          1. at the current time, we are not planning an API to communicate with Stratus (beyond the existing one of "open a NetConnection to it"). since it only does one thing (peer introduction), any additional communication channel doesn't seem necessary.

          2. no. peerIDs are generated from cryptographically strong pseudorandom number sources on each peer computer for each NetConnection, and are unforgeable, unpredictable, globally unique, and ephemeral. generating them ahead of time would eliminate useful and expected cryptographic properties of peer NetConnections.

          3. the peerID will not be preserved in cases of disconnection. the ephemeral nature of peerIDs is an important privacy property. you can construct strong longer-lived pairwise identities yourself (similar to ZRTP or SSH strong ad-hoc identities) in ActionScript, using local shared objects and the nearNonce and farNonce values as signing challenges for retained secrets.