Skip to content

Conversation

@kristovatlas
Copy link
Member

No description provided.

Recursive logic in _check_all_criteria_descriptions_recurse was broken.
arrays include countermeasures and criteria
I may remove this threat model from this repo once this repo is more
settled on a version, or keep it as another example.
This is based on ambiguities that arose during the 2nd edition testing
period.
… Class II PII

Classes I, II, and III are defined in the comment for CR65.

I’m not including the markdown in this commit in order to avoid
cross-fork problems
…ch attack

Threat models need not be complete in order to be valid. This
facilities work-in-progress.
These changes ought to have been broken into multiple commits, but
c’est la vie.
 * Fix description agreement for
CR03/ac41c38f127d85145c3323cd93f786ace5f30657542e93ea1cd217ba2ecfd26e
 * bug fix:
CM47/58354b2f6f1e794e63bd1844c71c5810fd40140e7553f02def06c8ad75d02543
accidentally contained itself rather than
CR60/d8d82a51f925703305d00cef69fc624bb92b12d9c134c1df04ec597a6f803c7c
 * added nonce-id fields for all attackers, attacks, countermeasures,
and criteria.
Kristov Atlas added 30 commits September 14, 2016 22:46
…nning-criteria

Issue 45 key pinning criteria
This removes  warning from validate_json.py output.
They have been turned into criteria.

Removes 2 warnings from validate_json.py output.
Criteria are from:
OpenBitcoinPrivacyProject/wallet-ratings#42 (comment)
suecomment-247187768

OpenBitcoinPrivacyProject/wallet-ratings#42 (comment)
suecomment-247187996

CR190 (e3154139d9371496110cc04c0a97a44e4d6391cda48602c2f8204a442bcb2a7b)

CR191 (f87b1d4fcf05b5df587effa8a766a6561028412c6937949033812e7b5e6fe3ea)
Attack “F”, "Link related outputs and transactions by observing the m
and n parameters of multisig transactions”
(1e772699fb8f43f7e5f82899c32b5db21939965223f29391f057b0063056d241), is
just a specific version of the more general attack, “B”, “Link outputs
in a transaction to a single entity by detecting which output is a
change output”
(992616b5f39e8ee98e07026f40798b002307e741ff6e8343f2a1bc964302f173).

Also, OBPPV3/CM14, “Sign transactions using techniques that do not
reveal the number of signers or keys involved in producing the
signature”
(59712e84921730ac91cd8edabf5d1c9d045eb4e0f72648bcdab54c19c05a3bdd) is
just a specific version of the existing countermeasure  OBPPV3/CM64,
“The composition of transaction output scripts and ECDSA signatures
does not reveal information regarding counterparty ownership of
outputs”
(4df487da38a897450d7f2207d24899d46ac7a4ed26fdec49a9159dd8b69f9e0d).

See comment
OpenBitcoinPrivacyProject/wallet-ratings#59 (comment)
suecomment-245470967
… identification

This is based on discussion between Daniel and I — there are no other
currently practical methods to deal with this, aside from a warning.

See this comment:
OpenBitcoinPrivacyProject/wallet-ratings#59 (comment)
suecomment-243937817
…-telemetry-attack

reword attack to be more general
We decided that this attack and countermeasure are not well defined.
See:
OpenBitcoinPrivacyProject/wallet-ratings#53
…k-block-explorer-criteria

add new criteria and list it with 3 others under countermeasure
…-band-notif-criteria

issue 42: add criteria for out-of-band-notifications
…atible-p2sh-redeem-exposes-output-ownership

Issue 59 incompatible p2sh redeem exposes output ownership
…e-duplicate-cms

#132 remove deprecated countermeasures
…-countersigning-attack

remove attack "D" under Tx Participant and CM40
…t-cr48-coinjoin-facilitator

#153 re-list blinded coinjoin criterion
This change improves readability and reduces the line counts from from
around 2700 lines to around 2000.

QA:

1) Verified that the Hjson validates:
```
$ python validate_json.py obpp3.hjson
'obpp3.hjson' matches the specified schema.
```

2) Ran JSON and Hjson versions through `docgen.py` and confirmed that
they render to the same file by copying the rendered markdown in Typora
and comparing the pasted plaintext version.
…r a countermeasure

Also updated the threat model example by removing encapsulating
“criteria-groups” from criteria when there was not more than one group.

QA:
1. All unit tests pass:
```
$ ./run_quick_test.sh
..............
----------------------------------------------------------------------
Ran 14 tests in 0.066s

OK

```
2. Verified that example JSON validates:
```
$ python validate_json.py "threat model example.json"
'threat model example.json' matches the specified schema.
```

3. Verified that markdown generated by docgen is the same as it was
before after being rendered by markdown app Typora and comparing the
pasted text.
Only 5 criteria groups remain, used to separate mutually exclusive
criteria.

QA:
1. Verified that Hjson still validates:
```
$ python validate_json.py "obpp3.hjson"
'obpp3.hjson' matches the specified schema.
```
2. Compared pasted plaintext of rendered markdown before and after to
verify they are identical.
…-or-criteria-groups

Schema criteria or criteria groups
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants