diff --git a/images/solution_architecture/figure_3.svg b/images/solution_architecture/figure_3.svg index 9cc5662..a568a23 100644 --- a/images/solution_architecture/figure_3.svg +++ b/images/solution_architecture/figure_3.svg @@ -1,3 +1,3 @@ - Produced by OmniGraffle 6.6.2 2020-05-17 06:27:37 +0000Figure 3Ebene 1Laboratory Information System (LIS)Verification ServerPhoneCorona-Warn-AppServerTANTANDiagnosis KeysTANvalid/not validPOST /resultPOST /tan_checkPrinted QRCodeGUIDScan QR codevia camerahash(GUID)12568121315POST/tanResult911Registration Token4hash(GUID)Result7InitialSetupPollingTANRetrieval10Generate TAN3Generate Registration TokenStore diagnosiskeys16Registration TokenRegistration Tokenhash(GUID)Test resulthash(GUID)hash(Registration Token)hash(TAN)Registration TokenDiagnosis KeysValidate TAN14Figure 3: Data flow for the verification process + Produced by OmniGraffle 6.6.2 2020-05-19 09:22:43 +0000Figure 3Ebene 1Laboratory Information System (LIS)Verification ServerPhone with Corona-Warn-AppCorona-Warn-AppServerTANTANDiagnosis KeysTANvalid/not validPOST /resultPOST /tan_checkPrinted QRCodeGUIDScan QR codevia camerahash(GUID)12568121315POST/tanResult911Registration Token4hash(GUID)Result7InitialSetupPollingTANRetrieval10Generate TAN3Generate Registration TokenStore diagnosiskeys16Registration TokenRegistration Tokenhash(GUID)Test resulthash(GUID)hash(Registration Token)hash(TAN)Registration TokenDiagnosis KeysValidate TAN14Figure 3: Data flow for the verification process diff --git a/images/solution_architecture/figure_4.svg b/images/solution_architecture/figure_4.svg index c6aec7d..3c4db5b 100644 --- a/images/solution_architecture/figure_4.svg +++ b/images/solution_architecture/figure_4.svg @@ -1,3 +1,3 @@ - Produced by OmniGraffle 6.6.2 2020-05-17 06:27:37 +0000Figure 4Ebene 1PhoneVerification ServerCorona-Warn-AppServerTANDiagnosis KeysTANtrue/falsePOST/tan_checkteleTANInput viaInput field714151617EmployeeHealth AuthorityPortal Server16Create TAN via Web InterfaceteleTANteleTAN5teleTAN24POST /tele_tanRequest teleTANGenerateteleTAN38teleTANTAN13Registration TokenGenerateRegistrationTokenReg.TokenReg.Token10911hash(TAN)hash(teleTAN)hash(Reg. Token)Diagnosis KeysGenerateTAN12PatientFigure 4: Verification process for teleTAN received via phone + Produced by OmniGraffle 6.6.2 2020-05-19 09:22:43 +0000Figure 4Ebene 1Phone with Corona-Warn-AppVerification ServerCorona-Warn-AppServerTANDiagnosis KeysTANtrue/falsePOST/tan_checkteleTANInput viaInput field714151617EmployeeHealth AuthorityPortal Server16Create TAN via Web InterfaceteleTANteleTAN5teleTAN24POST /tele_tanRequest teleTANGenerateteleTAN38teleTANTAN13Registration TokenGenerateRegistrationTokenReg.TokenReg.Token10911hash(TAN)hash(teleTAN)hash(Reg. Token)Diagnosis KeysGenerateTAN12PatientFigure 4: Verification process for teleTAN received via phone diff --git a/images/solution_architecture/figure_6.svg b/images/solution_architecture/figure_6.svg index 12e80e3..34a8db7 100644 --- a/images/solution_architecture/figure_6.svg +++ b/images/solution_architecture/figure_6.svg @@ -1,3 +1,3 @@ - Produced by OmniGraffle 6.6.2 2020-05-17 06:27:37 +0000Figure 6Ebene 1Open TelekomCloud (OTC)Mobile PhoneOS API/SDKfor Exposure Notification zxingQR Code LibraryCamerapoll testresultsRRegistrationTokenRTrigger local notificationRProtobuflibraryOS CryptoSDKROS API/SDKfor Push Messages(Notification Framework)Verification ServerCorona-Warn-AppServerTANverificationdownload of keysand parameters Laboratory Information System (LIS)RRPortal ServerHealthAuthorityHotlinesubmitresultrequest newlab/probe IDRRRCDNCDNContent Delivery Network (CDN)RRUpload of keys + TANaggregatedkeyshash(GUID)hash(Reg. Token)DatabaseOpen SourceRread QRcode fromapp (GUID) Operating System (OS) ComponentRRRhash(TAN)Test results hash(GUID)Test labprocessingsamples(Lab Client)Rsee more detailed documentation (to be published)Existing external system/library (consumed)RRretrieve TANregister with GUIDMobile all-in-one application for tracing and test result retrieval(Apple iOS / Google Android)RStorage ServiceRAggregateddiagnosis keysTransport MetadataRemovalRFigure 6: Actors in the system, including external parties (blue components to be open-sourced) + Produced by OmniGraffle 6.6.2 2020-05-19 09:22:43 +0000Figure 6Ebene 1Open TelekomCloud (OTC)Mobile PhoneOS API/SDKfor Exposure Notification zxingQR Code LibraryCamerapoll testresultsRRegistrationTokenRTrigger local notificationRProtobuflibraryOS CryptoSDKROS API/SDKfor Push Messages(Notification Framework)Verification ServerCorona-Warn-AppServerTANverificationdownload of keysand parameters Laboratory Information System (LIS)RRPortal ServerHealthAuthorityHotlinesubmitresultrequest newlab/probe IDRRRCDNCDNContent Delivery Network (CDN)RRUpload of keys + TANaggregatedkeyshash(GUID)hash(Reg. Token)DatabaseOpen SourceRread QRcode fromapp (GUID) Operating System (OS) ComponentRRRhash(TAN)Test results hash(GUID)Test labprocessingsamples(Lab Client)Rsee more detailed documentation (to be published)Existing external system/library (consumed)RRretrieve TANregister with GUIDCorona-Warn-App for tracing and test result retrieval(Apple iOS / Google Android)RStorage ServiceRAggregateddiagnosis keysTransport MetadataRemovalRFigure 6: Actors in the system, including external parties (blue components to be open-sourced) diff --git a/images/solution_architecture/figure_7.svg b/images/solution_architecture/figure_7.svg index 6c738e5..ce1ba68 100644 --- a/images/solution_architecture/figure_7.svg +++ b/images/solution_architecture/figure_7.svg @@ -1,3 +1,3 @@ - Produced by OmniGraffle 6.6.2 2020-05-17 06:27:37 +0000Figure 7Ebene 1Phone 1Corona-Warn-App ServerContent Delivery Network (CDN)Upload Diagnosis Key + TANPhone 2Phone nAssembleDiagnosisKeysCorona-Warn-App DatabaseVerify TANINSERTRandomDecisionUpload Dummy Diagnosis Key + Dummy TANSchedulerSELECT datafor currenttime rangeSuccess messageWaitSuccess messageUpload data to CDNDownload diagnosis keys + parameters(Background)Timer withrandom component(Background)Timer withrandom component(Background)Timer withrandom componentDownload diagnosis keys + parametersDownload diagnosis keys + parametersSign up(Scan QR)Verification ServiceGeneratesessionidentifierRegister (GUID)Session IDNew testresultsCheck for results(Registration Token)TimerNo result yetRandom Timer(Dummy check)Dummy dataDummy (Registration Token)Check for results(Registration Token)TimerPositive resultLocalnotificationUser:SharekeysRetrieve TAN(Registration Token)TANFigure 7: Interaction of the mobile application(s) with the backend servers and CDN + Produced by OmniGraffle 6.6.2 2020-05-19 09:24:09 +0000Figure 7Ebene 1Phone 1Corona-Warn-App ServerContent Delivery Network (CDN)Upload Diagnosis Key + TANPhone 2Phone nAssembleDiagnosisKeysCorona-Warn-App DatabaseVerify TANINSERTRandomDecisionUpload Dummy Diagnosis Key + Dummy TANSchedulerSELECT datafor currenttime rangeSuccess messageWaitSuccess messageUpload data to CDNDownload diagnosis keys + parameters(Background)Timer withrandom component(Background)Timer withrandom component(Background)Timer withrandom componentDownload diagnosis keys + parametersDownload diagnosis keys + parametersSign up(Scan QR)Verification ServerGeneratesessionidentifierRegister (GUID)Session IDNew testresultsCheck for results(Registration Token)TimerNo result yetRandom Timer(Dummy check)Dummy dataDummy (Registration Token)Check for results(Registration Token)TimerPositive resultLocalnotificationUser:SharekeysRetrieve TAN(Registration Token)TANFigure 7: Interaction of the mobile application(s) with the backend servers and CDN