<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Changed the topic since it is no longer about the original topic of the discussion.<br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>On Sep 20, 2014, at 10:10 AM, Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>> wrote:</div></div></span></span></div><div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hi Tai-Lin<div><br></div><div>In <a href="http://redmine.named-data.net/projects/ndn-cxx/wiki/SignedInterest" target="_blank">signed Interest</a>,</div><div><ul><li>timestamp is to prevent replay attack: the timestamp in a new command must be greater than any existing timestamps</li><li>nonce is to guarantee uniqueness; this is useful when producer is not checking the timestamp</li></ul></div><div>Each consumer is expected to have its own unique keypair. Under this assumption, the system can tolerate a clock skew of 60 seconds between consumer and producer.</div><div><br></div><div>Millisecond granularity is sufficient for the intended usage of signed Interest - infrequent command execution.</div><div>Also note that the timestamp is never compared to wallclock after the initial command. Therefore, the consumer can operate as follows to send frequent commands:</div><div><ol><li>the initial command must carry a timestamp equal to wallclock</li><li>in each subsequent command, increment timestamp by 1</li><li>in case a command is rejected due to invalid timestamp, it means latest timestamp state is lost on the producer, therefore consumer should resend the command as an initial command (step 1)</li></ol></div></div></blockquote><div>This is similar to current KeyChain sign Interest operation. The difference is that we only increase the timestamp by 1 when the timestamp of an interest is the same as the previous one. In the other cases, we simply use the current timestamp. Unless there is an app that needs to generate more than 1000 signed interests using the same key, this solution should work.</div><br><blockquote type="cite"><div dir="ltr"><div>But this doesn't solve all problems with high-frequency signed Interests. See <a href="http://redmine.named-data.net/issues/1990">bug 1990</a>.</div></div></blockquote><div><br></div><div>As I replied on redmine, if order really matters, the interest sender should wait for the confirmation from the interest recipient. And this should be enforced by the app.</div><br><blockquote type="cite"><div dir="ltr"><div>Yours, Junxiao<br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 20, 2014 at 1:06 AM, Tai-Lin Chu <span dir="ltr"><<a href="mailto:tailinchu@gmail.com" target="_blank">tailinchu@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;">> I hope you could read the spec of signed interest carefully and think a little bit more before making the claim above.<br>
sorry, I was making an extreme example of unsynced clock (I know that<br>
nfd uses unix UTC time).<br>
<br>
Btw, do you know why we have both nonce and timestamp in signed<br>
interest? Will seq no alone solve this problem? I am worried that msec<br>
might not be sufficient in the future.<br></blockquote></div></div></div></div></blockquote><div><br></div>Using seqNo requires you to persistently remember the last used seqNo (even if the app is turned off), otherwise you cannot guarantee that a seqNo has not been used before. </div><br></body></html>