Skip to content
Snippets Groups Projects
  • Fabian-K's avatar
    f98ac2dd
    plausible deniability (#946) · f98ac2dd
    Fabian-K authored
    * Added requestPadding property to all VerficationService requests
    
    * Added fake calls to the WebReqeustBuilder
    
    * :construction:
    
     initial draft to enable plausible deniability
    
    * Switched from SubmissionConstants to KeyType enum everywhere
    
    * basic playbook implementation with fake and real requests
    
    * Playbook
    - ensure request pattern for playbooks is always the same
    
    VerificationService
    - apply padding to ensure equal request size (header & body)
    
    SecurityHelper
    - extract hash256 to HashHelper. This simplifies tests that use only the hash function (and therefore don´t need to initialize SecurityHelper and its dependencies)
    
    * Implemented random chance of dummy playbook execution on app open
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Playbook
    - ignore exceptions for fake requests
    
    SubmissionService
    - add padding header to fake request for same header size
    
    WebRequestBuilder
    - include fake keys in upload (:construction_site:
    
    )
    
    * DiagnosisKeyService: removed (low value & difficult to test)
    
    SubmissionService & SubmitDiagnosisKeysTransaction
    - inline playbook & backgroundNoise property to prevent issues during testing
    
    DiagnosisKeyConstantsTest, SubmissionServiceTest, SubmitDiagnosisKeysTransactionTest & SubmissionViewModelTest
    - adjusted to changes
    
    * Dummy playbook will now be repeated and delayed randomly
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Initial Code for background noise worker
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * First implementation of noise background worker
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * PlaybookImpl
    - ensure that fake requests are executed when real requests fail
    
    SubmissionService & VerificationService
    - adjust header name for padding
    
    WebRequestBuilder
    - add padding to dummy submission
    
    * BackgroundNoise is now trigger-only
    
    PlaybookImpl
    - include follow-up executions after every playbook
    - logging
    
    SubmissionViewModel.kt, SubmissionService.kt, SubmitDiagnosisKeysTransaction.kt, MainActivity.kt, BackgroundNoisePeriodicWorker.kt, DiagnosisTestResultRetrievalPeriodicWorker.kt
    - propagate context for coroutine
    
    VerificationService
    - ensure body size of 1000
    
    * WebRequestBuilder.kt
    - adjust fake key generation
    
    PlaybookImplTest.kt
    - remove unused server.enqueue
    
    SubmissionService.kt 6 SubmitDiagnosisKeysTransaction.kt
    - remove commented out code
    
    * revert temporary changes to SubmissionResultPositiveOtherWarningFragment.kt
    
    * Background job scheduling implemented
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * - adjust fake key size
    - remove temporary comment
    
    * Moved build work calls to own file to fix linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * - initialize coroutine scope within the playbook, revert passing it from outside
    - remove experimental test dependency for coroutines
    
    * - use single endpoint per server for fake requests
    - reduce request size from 1000 to 250 for the verification server
    - include dummy registration token in fake request to fulfill verification on server side
    - prepare for randomized count of submitted keys
    - always include headers cwa-authorization & cwa-header-padding for submission server
    
    * - simplify empty header using constant
    
    Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
    plausible deniability (#946)
    Fabian-K authored
    * Added requestPadding property to all VerficationService requests
    
    * Added fake calls to the WebReqeustBuilder
    
    * :construction:
    
     initial draft to enable plausible deniability
    
    * Switched from SubmissionConstants to KeyType enum everywhere
    
    * basic playbook implementation with fake and real requests
    
    * Playbook
    - ensure request pattern for playbooks is always the same
    
    VerificationService
    - apply padding to ensure equal request size (header & body)
    
    SecurityHelper
    - extract hash256 to HashHelper. This simplifies tests that use only the hash function (and therefore don´t need to initialize SecurityHelper and its dependencies)
    
    * Implemented random chance of dummy playbook execution on app open
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Playbook
    - ignore exceptions for fake requests
    
    SubmissionService
    - add padding header to fake request for same header size
    
    WebRequestBuilder
    - include fake keys in upload (:construction_site:
    
    )
    
    * DiagnosisKeyService: removed (low value & difficult to test)
    
    SubmissionService & SubmitDiagnosisKeysTransaction
    - inline playbook & backgroundNoise property to prevent issues during testing
    
    DiagnosisKeyConstantsTest, SubmissionServiceTest, SubmitDiagnosisKeysTransactionTest & SubmissionViewModelTest
    - adjusted to changes
    
    * Dummy playbook will now be repeated and delayed randomly
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Initial Code for background noise worker
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * First implementation of noise background worker
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * Linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * PlaybookImpl
    - ensure that fake requests are executed when real requests fail
    
    SubmissionService & VerificationService
    - adjust header name for padding
    
    WebRequestBuilder
    - add padding to dummy submission
    
    * BackgroundNoise is now trigger-only
    
    PlaybookImpl
    - include follow-up executions after every playbook
    - logging
    
    SubmissionViewModel.kt, SubmissionService.kt, SubmitDiagnosisKeysTransaction.kt, MainActivity.kt, BackgroundNoisePeriodicWorker.kt, DiagnosisTestResultRetrievalPeriodicWorker.kt
    - propagate context for coroutine
    
    VerificationService
    - ensure body size of 1000
    
    * WebRequestBuilder.kt
    - adjust fake key generation
    
    PlaybookImplTest.kt
    - remove unused server.enqueue
    
    SubmissionService.kt 6 SubmitDiagnosisKeysTransaction.kt
    - remove commented out code
    
    * revert temporary changes to SubmissionResultPositiveOtherWarningFragment.kt
    
    * Background job scheduling implemented
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * - adjust fake key size
    - remove temporary comment
    
    * Moved build work calls to own file to fix linting
    
    Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
    
    * - initialize coroutine scope within the playbook, revert passing it from outside
    - remove experimental test dependency for coroutines
    
    * - use single endpoint per server for fake requests
    - reduce request size from 1000 to 250 for the verification server
    - include dummy registration token in fake request to fulfill verification on server side
    - prepare for randomized count of submitted keys
    - always include headers cwa-authorization & cwa-header-padding for submission server
    
    * - simplify empty header using constant
    
    Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.