1 - sett - Secure Encryption and Transfer Tool

License Source code on GitLab

Welcome to the official sett documentation page.

Please use the table of contents menu to the left or below to navigate the topics.

Table of Contents

1.1 - What is sett?

sett stands for "Secure Encryption and Transfer Tool" and is an application that facilitates and automates data packaging, encryption, and transfer. It is written in Rust, a fast and memory-safe programming language. sett is available both as a desktop and a command line application.

sett is developed as part of the BioMedIT project. It is licensed under the GPLv3 (GNU General Public License) and the source code is available from its public GitLab repository.

1.2 - Quick start guide

sett-gui quick start

Initial setup

  1. Download sett-gui from the download page. If you downloaded an installer, install sett-gui by double-clicking on the installer file.
  2. Run sett-gui by double-clicking on the executable file or by launching the installed app.

Key management

  1. If you do not already have a private/public PGP key pair, go to the Keys tab and create one clicking on Add > Generate new key pair. See also the instructions given in the Generate a new public/private PGP key pair section.

    You should then see your new key listed in the Keys tab, along with “Private” label that indicates that the private material for this key is present in the local keystore.

  2. If not already done, download the public PGP key of the recipient(s) to whom you intend to send data (or from whom you will receive data). In sett-gui, go to the Keys tab and click on Add > Import from keyserver. See also the instructions given in the download public PGP keys from the keyserver section.

  3. Just after downloading the recipient’s PGP key, verify it to make sure that it is genuine. This can be done by either:

    • If you are a BioMedIT user: in sett-gui, verify that the recipient’s key is labelled with a green Approved label. You can also expand the details of the key by clicking on the key in the list or on the small ^ button to the right and verify that the Approval status is set to “Approved”, and the Revocation status is set to “Valid”.
    • Alternatively, contact the key owner and verify the key fingerprint with them.

Encrypting data

  1. Go to the Encrypt tab of the sett-gui interface.

  2. Add one or more files and directories to encrypt by clicking the Add files or Add directories buttons.

  3. Select sender: select your own PGP key. This is the key that will be used to sign the encrypted data.

  4. Select recipients: add one or more recipients by selecting them in the drop-down. These are the keys that will be used to encrypt the data, i.e. only these recipients will be able to decrypt the data.

  5. Transfer ID: specifying a valid Data Transfer Request ID is mandatory when a data package is transferred into the BioMedIT network. For other destinations, the Transfer ID field can be left empty (or set to any arbitrary value), and the Verify package checkbox must be disabled (in the Settings tab).

  6. Select destination: select local to encrypt to your local file system, and choose a destination directory.

  7. Click Encrypt package - or Send package, if you chose s3 or sftp as your destination - to run the encryption workflow on your data.

Transferring data

  1. Go to the Transfer tab of the sett-gui interface.

  2. Select a file to transfer using the Select file button.

  3. Select the Destination to be used (sftp, s3).

  4. Enter the required destination parameters.

  5. Click Send package to start transferring your files.

Decrypting data

  1. Go to the Decrypt tab of the sett-gui interface.
  2. Select a file to decrypt using the Select file button.
  3. Specify your desired destination directory.
  4. Click on Decrypt package.

sett command line quick start

The main commands to manage keys, encrypt, transfer and decrypt data with sett command line interface are given here.

# Generate a new key pair:
sett keys generate
# Import sender/recipient(s) public keys:
sett keys import from-keyserver alice@example.com
# Data encryption:
sett encrypt local --signer alice@email.com --recipient bob@example.com FILES_OR_DIRECTORIES_TO_ENCRYPT
# Data transfer
# to SFTP server:
sett transfer sftp --host HOST --username USERNAME --base-path DESTINATION_DIRECTORY --key-path SSH_KEY_LOCATION --key-pwd SSH_KEY_PASSWORD FILES_TO_TRANSFER
# to S3 object store:
sett transfer s3 --endpoint ENDPOINT --bucket BUCKET --access-key ACCESS_KEY --secret-key SECRET_KEY FILES_TO_TRANSFER
# Data decryption:
sett decrypt ENCRYPTED_FILES.zip

1.3 - Download sett

Show all downloads

You can download the latest version of sett for your operating system by clicking on the corresponding link above.

Downloading a specific version of sett

For a complete list of available versions, please visit the releases page.

Updating sett

As only the latest version of sett is officially supported and guaranteed to work, it is strongly recommended to always keep your local installation of sett up-to-date.

If you installed sett using the installer available for your operating system, sett will automatically check for updates and prompt you to install the newest version as soon as it's available.

If you are running a portable executable, make sure you regularly check this page and download the latest version of the executable.

1.4 - PGP key management with sett

To encrypt and decrypt data, sett uses public key cryptography. If you are not familiar with public key cryptography concepts such as public and private keys, revocation signatures, or keyservers you are advised to read this introductory section.

Generate a new public/private PGP key pair

A prerequisite to encrypt, decrypt and transfer files with sett is to have a public/private PGP key pair.

Generate a new key pair with sett-gui

To generate a new public/private key pair using sett-gui:

  1. Go to the Keys tab and click on + Add. From the dropdown menu, choose Generate new key pair. A dialog box will appear.

    image

  2. Fill-in the required fields:

    • Full name: key owner first and last name.
    • Email: enter the email to be associated with the key pair.
    • Password: the password must be at least 10 characters long, and it is highly recommended that it contain a mix of letters, numbers and special characters.
  3. Click Generate key and wait for a few seconds, a new key pair will be created.

  4. A new pop-up window will appear to confirm that the key was generated successfully and to display the revocation signature associated with the new key, as shown in the figure below.

    Copy the revocation signature to a safe location, ideally a password manager, and click Next.

    image

  5. The next screen of the pop-up window allows to upload the public part of the key to the keyserver. Make sure to check the checkbox to also verify the key with its associated email address. In this context “to verify a key” means that, after your key is uploaded, the keyserver will send an email to verify that you are the legitimate owner of the email associated with the key.

    image

  6. The new key should now be listed in sett.

    image

  7. Now that your new PGP key is created, make sure to register it in the BioMedIT portal

Generate a new key pair in command line

To generate a new key pair using sett command line interface:

sett keys generate "Alice Smith <alice.smith@example.com>"

Additional options can be listed with sett keys generate --help.

After creating the new key, sett will display a revocation signature for it. Make sure you keep it in a safe place, such as a password manager. Revocation signatures can optionally be automatically exported to a file by using the -r, --rev-sig option:

sett keys generate --rev-sig "Alice Smith <alice.smith@example.com"

List your local PGP keys in command line

Private and public keys available in the keystore can be listed with the following command:

sett keys list

Export/import private keys in command line

In some situations (new computer setup, remote sett environment, ...) you might need to copy or move your private key to a different machine. This can be done by exporting the private key to a file, transferring the file to the new machine, and importing it.

Here is an example of how to export a private key to a file with sett:

# The key identifier can be its fingerprint, key ID or the user's email address.
sett keys export -o private_key.pgp -p alice.smith@example.com

Note that keys can also be exported in ASCII format (instead of binary) by adding the -a, --armor option.

After the key has been transferred to the new machine (in either binary or ASCII format), importing it is as easy as:

sett keys import from-file -p private_key.pgp

Note the usage of the -p option to import both the private and public parts of the key. If -p is omitted, only the public part of the key is imported.

Verify that the key has been correctly imported with sett keys list.

Ensure that you store any backed-up secret keys in a secure location and in an encrypted form (typically in a password manager).

Upload your public PGP key to the keyserver

sett allows users to upload their public PGP key to the keyserver specified in its settings.

Upload your public PGP key with sett-gui

Uploading your public PGP key to the keyserver specified in sett is straightforward:

  1. In the Keys tab, look for your PGP key from the List of available keys and click on the ellipsis button to the right.
  2. From the dropdown menu, click on Upload to keyserver.
  3. A dialog box will appear to ask for confirmation.
  4. To verify your key with the keyserver (i.e. associate your email address with your key on the keyserver), make sure that [x] Associate the key with your email address is checked. In practical terms, this means that people will now be able to search for your key on the keyserver using your email address, otherwise your key will only be searchable using its full fingerprint.
  5. Click Upload to keyserver.
  6. If you have selected the “associate key with email” checkbox, you will shortly receive an email from keyserver@keys.openpgp.org that contains a confirmation link to prove that you have access to your email.
  7. Open the email and click on the link to associate your key with your email address. Other users now can find your public key with your email address.

Upload your public PGP key in command line

To upload your public PGP key to the keyserver, run:

sett keys upload alice.smith@exaple.com

In order to also trigger email verification for your key, add the -v, --verify option:

sett keys upload --verify alice.smith@exaple.com

Register your public PGP key in the BioMedIT portal

If you are not a BioMedIT user, this section is not relevant for you and can be skipped.

PGP key status

PGP keys used to encrypt, sign and decrypt data transiting via the BioMedIT network require the approval of the BioMedIT key validation authority. The information of whether a key is trusted or not is stored as key status in the BioMedIT portal. This is the reason why all PGP keys used within BioMedIT must be registered with the BioMedIT portal.

When a PGP key is first registered in the BioMedIT portal, its status is initially set to PENDING (i.e. it is awaiting approval). A keys must be in APPROVED status before it can be used to encrypt or sign data packages transiting via the BioMedIT network.

The list of key statuses is as follows:

  • PENDING: a key approval request was submitted, but the key has not been approved yet. This is a manual process and can take from a few hours or up couple of days.
  • APPROVED: key is approved for usage within the BioMedIT network. Only approved keys can be used to encrypt, sign and decrypt data packages that are transiting via the BioMedIT network.
  • APPROVAL-REVOKED: approval of the key has been revoked by the BioMedIT key validation authority.
  • KEY-REVOKED: key has been revoked by its owner.
  • REJECTED: key is not trusted by the BioMedIT key validation authority.
  • DELETED: key has been removed from the keyserver by its owner.
  • UNKNOWN KEY: key has not been registered on the BioMedIT portal. If it is your own key, please register it. If it is the key of someone else, please ask them to register their key.

To verify that a key is trusted, sett connects to the BioMedIT portal and retrieves the status of the key. For this reason, it is important that BioMedIT users register their PGP key with the BioMedIT portal.

In cases where sett is used outside of the BioMedIT project, or the portal is not reachable, sett can still be used to encrypt, decrypt, and transfer data. In this case, you need to uncheck [ ] Verify DTR and [ ] Verify key approval in the Settings tab.

The status of a public key in the BioMedIT portal can be easily checked in sett-gui by going to the Keys tab, and expanding the key in the List of available keys.

image

Register your public PGP key with the BioMedIT Portal

To register a new PGP key with the BioMedIT portal, proceed as follows:

  1. Make sure you have successfully uploaded your key to the keyserver and that you have completed the email verification procedure with the keyserver (i.e. your key must be verified with the keyserver).

  2. To make sure that your key is present on the keyserver and is verified, go to the keyserver home page in your browser and search for the email associated with your key. You should get a message saying that a key was found for your email address, as shown in the example below.

    Your key fingerprint will also be shown - see the right-most part of the link in this screenshot:

    image

  3. Copy the fingerprint (40-character string) of your key.

  4. Log in to the BioMedIT portal.

  5. Go to the My Keys tab.

  6. Click on the "+ KEY" button, a dialog box will open.

    Note: if the button is missing, it is probably because you already have an active key in the portal. Each user can only have 1 active key at a time - see the information box above.

  7. Enter your full key fingerprint (must be exactly 40 characters long) in the dialog box, then press the green search icon to the right.

    This will retrieve the user ID and email address associated with the fingerprint from the keyserver and display them in the dialog box.

  8. Verify the user ID and mail address. If they are correct for your PGP key, then click on Confirm.

  9. A request to approve your key has now been sent to the BioMedIT key validation authority. Generally requests are processed quickly (in a matter of hours), but occasionally it might take slightly longer as this is a manual process.

    Please contact the BioMedIT support if your key has not been approved after a couple of days.

Download public PGP keys from the keyserver

In order to encrypt data for a specific recipient (who will be able to decrypt it), you will need to have the public PGP key of that recipient(s) available in your local keyring. sett allows to easily search and retrieve public PGP keys from the keyserver specified in the settings.

Download PGP keys with sett-gui

To download a public PGP key from the keyserver:

  1. In the Keys tab, click on + Add. From the dropdown menu, choose Import from keyserver. A dialog box will open, allowing to search for public keys stored on the keyserver.

  2. In the search field, enter either the full email address or fingerprint of the public key you are looking for and hit Search: the matching key found on the keyserver will be displayed.

    image

    For instance, if searching for the key “Bob Test Key bob@example.com” with fingerprint “AEED7A96F339881F6FE8291464A1E0150613807D”, one can search for either “bob@example.com” or “AEED7A96F339881F6FE8291464A1E0150613807D”.

  3. If the key you are looking for was found, click on Import. You should then see your recipient’s key listed in the List of available keys.

  4. Expand the details of the newly downloaded key (by clicking on the key in the list or on the small ^ button to the right), and verify that its Approval status is set to “Approved” - also indicated by a green check mark.

Download PGP keys in command line

The following command shows how to download a public PGP key from the keyserver. The search term can be an email or a fingerprint.

sett keys import from-keyserver alice.smith@example.com

Remove your public PGP keys from the keys.openpgp.org keyserver

While it is not possible to remove an actual key from the keyserver, it is possible to remove all personal identification from it (user ID and email). Such keys are called unverified.

To remove personal information associated with a key, go to the keyserver's manage key page, enter the email associated to the key and click on Send link.

image

You will receive an email with further instructions on how to proceed to remove your key's user ID and email from the keyserver.

Delete PGP keys from your local machine

Deleting public and/or secret PGP keys form your local keystore is not possible with sett. This is intentional, and users are encouraged to revoke their key instead.

Should you nevertheless wish to delete a key from your local keystore (e.g. because you created a test key that is no longer needed), it is possible to do so by manually deleting the files containing the keys using your file explorer or a shell command.

In the local sett keystore, keys are stored as files named after the fingerprint of the key’s primary key. For instance, a key with fingerprint 3b17f529665fe012ef54f4a1714fdf98b6e828df would be stored under:

  • Public key: <keystore-path>/pgp.cert.d/3b/17f529665fe012ef54f4a1714fdf98b6e828df
  • Secret key: <keystore-path>/pgp.cert.d.sec/3b/17f529665fe012ef54f4a1714fdf98b6e828df

The location of the keystore (<keystore-path> above) is operating-system dependent:

  • Linux: ~/.local/share/pgp.cert.d for public keys, and ~/.local/share/pgp.cert.d.sec for secret keys.
  • Windows: %UserProfile%\AppData\Roaming\pgp.cert.d for public keys, and %UserProfile%\AppData\Roaming\pgp.cert.d.sec for secret keys.
  • MacOS: ~/Library/Application Support/pgp.cert.d for public keys, and ~/Library/Application Support/pgp.cert.d.sec for secret keys.

To get the exact location of the key by using the sett-gui app:

  1. In the Keys tab, look for your PGP key from the List of available keys and click on the ellipsis button to its right.

  2. From the dropdown menu, select Delete.

  3. A dialog box with important information about key deletion, as well as the exact location of the key will be displayed.

    image

Generate a revocation signature

A prerequisite for revoking a PGP key is to have generated a revocation signature for it. If the PGP key to revoke was generated with sett, you should in principle already have a revocation signature ready to use. If you do not have a revocation signature yet, you can generate one with sett-gui:

  1. In the Keys tab, look for your PGP key from the List of available keys and click on the ellipsis button to its right.

  2. From the dropdown menu, select Create revocation signature. A dialog box will appear.

  3. Fill-in the required fields:

    • Reason: the reason for revoking the key.
    • Message: a short explanation to the reason for revoking the key.
    • Password: the password for your private key.

    image

  4. Click Generate.

  5. A new pop-up window will appear to confirm that the revocation signature was generated successfully. Copy the revocation signature to a safe location, ideally a password manager (anyone with access to a revocation signature can revoke the key for which it was generated).

    image

Revoke your PGP key

If a private PGP key has been compromised, is no longer usable (e.g. password is lost), or should no longer be used for any other reason, it must be revoked.

A prerequisite for revoking a PGP key is to have generated a revocation signature for it. If the PGP key to revoke was generated with sett, you should in principle already have a revocation signature ready to use. If you do not have a revocation signature yet, please generate one by referring to the Generate a revocation signature section.

Revoke your PGP key with sett-gui

To revoke a PGP key in sett-gui:

  1. In the Keys tab, look for your PGP key from the List of available keys and click on the ellipsis button to its right.

  2. From the dropdown menu, select Revoke. A dialog box will appear.

  3. Either paste you revocation signature from the clipboard or load it from a file.

    Warning: proceed with caution, a revoked key cannot be “un-revoked".

  4. Click on Revoke.

  5. When expanding the revoked key from the List of available keys, you should now see the Revocation status as “Revoked”. From this point on, the key can no longer be used with sett.

    image

  6. If you have previously shared your key via a keyserver (e.g. keys.openpgp.org), you must also re-upload your revoked key to that keyserver.

    This will allow other users to update their local copy of your public key, informing them that it is no longer valid. To upload your revoked public key, please refer to the Upload your public PGP key to the keyserver .

    If your key was never present on any keyserver, this step should be skipped.

Revoke your PGP key in command line

To revoke a key, run:

sett keys revoke alice.smith@example.com compromised "My dog ate it"

After a key has been revoked, it must be uploaded again to any keyserver(s) where it is present, so that the revocation can be shared with others. This can be done with sett as illustrated in the Upload your public PGP key to the keyserver.

Migrating keys from the GnuPG keyring to the sett keystore

PGP keys located in your GnuPG keyring are not automatically detected by sett, and they must be migrated to sett’s keystore.

Note that to migrate public keys (i.e. keys from other people), you can simply re-download them from the keyserver as shown in the Download public PGP keys from the keyserver section.

Migrate keys using sett-gui

Using sett-gui, this procedure is straightforward:

  1. In the Keys tab, click on + Add. From the dropdown menu, choose Import from GnuPG. A dialog box will open, containing a list of keys in your GnuPG keyring.
  2. Look for the correct key and click on Import. You should now see the key listed in the List of available keys. Note that if you are importing a private key, you will be asked to enter its password.

Migrate keys using the command line interface

To migrate a key from your GnuPG keyring, run:

# The search term can be an email or fingerprint.
sett keys import from-gpg alice.smith@example.com

Introduction to public-key cryptography, PGP and GnuPG

Public-key cryptography is a method for secure communication between two or more users. In this system, each user has a pair of unique keys consisting of a private key and a public key. Public and private keys are linked in the sense that, data encrypted with a given public key can only be decrypted with the matching private key, and data signed with a given private key will only be recognized by the matching public key.

Because these keys are based on the OpenPGP protocol, they will here be referred to as PGP keys.

Public and private PGP keys:

  • Public keys are used to encrypt data, as well as for verifying signatures made on files or emails. By design, public keys are intended to be shared with other people and therefore no particular effort is required to keep them secret. In fact, public keys are often uploaded to public servers, known as keyservers, where they are accessible to anyone. No password is required to use a public key.

    Typically, public keys are used by data senders to encrypt data for one or more recipient(s), and by data recipients to verify signatures of files or emails (to ensure the sender is genuine).

  • Private keys, sometimes also referred to as a secret keys, are used to decrypt data, sign files and sign other people's public keys. To increase security, private keys should always be password protected.

Typically, private keys are used by data recipients to decrypt data, and by data senders to sign the files they encrypt.

sett uses the open source implementation of public-key cryptography provided by Sequoia-PGP: a modular OpenPGP implementation in Rust.

It is also possible - and often desirable - to both encrypt and sign a file. This ensures that the data can only be read by the intended recipient, and that the recipient can be confident the sender is legitimate. This is precisely what sett does:

  • Encrypting files, so that only the intended recipient(s) can read them.
  • Signing files, so that the recipient(s) can trust the sender is genuine.

Key fingerprints

Each pair of public/private PGP keys is identified by a unique fingerprint. Fingerprints are 40 characters long hexadecimal strings (digits and upper case A-F letters) that look like this:

238565936FCFF3F200219990941A3EC20555F781

Since nothing is preventing two PGP keys to have the same user name and email address, it is critical that users always verify the genuineness of new keys before (or just after) importing them into their local keyring (i.e. their local PGP key database).

Ensuring a key is genuine can be done in two different ways:

  • Ask the key owner to provide their key’s fingerprint via a trusted communication channel (e.g. over the phone), and then verify that the fingerprint of the newly imported key does indeed match the fingerprint communicated to you by its owner.
  • Using sett-gui, verify that the key status of the key is APPROVED (can only be checked after you imported the key).

File encryption

In public key cryptography, the sender encrypts a file using one or more recipient(s) public key(s). Once a file is encrypted, no one can read the file without having access to a private key that matches the public key(s) used for encryption. This ensures that only the intended recipient(s) can decrypt the file, because they are the only one to have access to the matching private key.

File signing

The objective of file signing is to guarantee to the recipient of a file (or email) that the sender is genuine, and not someone else trying to impersonate the sender.

To achieve this, the sender signs the file with their private key (password required), and shares their public key with the recipient (typically via a keyserver). The recipient can then validate the authenticity of the signature using the public key of the sender. Since public keys are non-sensitive, they can be distributed publicly. In fact they are intended for this purpose, hence their name.

Revocation signatures

In the unfortunate event that a user either i) forgets their private key’s password or ii) have their private key and password stolen/compromised, they will need a way to let other people know that their public key should no longer be trusted and used.

This is because:

  • If the password was forgotten: the key owner won’t be able to decrypt data anymore.
  • If the private key was compromised: someone else might be able to decrypt data encrypted with the public key, and to illegitimately sign files!

This situation is what revocation signatures are for: by applying a revocation signature to a public key, and then sharing the revoked key with others (e.g. via a keyserver), the key owner signals that their key is now "revoked" and should no longer be trusted nor used. After a key has been revoked, it can no longer be used to encrypt/decrypt data with sett.

Revocation signatures can be generated at anytime from the private key, but the best practice is to generate them directly after a new key pair is created. This ensures that the revocation signature will be available even if the private key or its password is lost.

Since anyone with access to a revocation signature will be able to revoke the associated key, revocation signatures must be stored securely - e.g. in a password manager - and should never be shared with anyone.

Exchanging public keys via a keyserver

Encrypting files for a specific recipient requires to have the recipient’s public key in one's local keyring (a keyring is a local database containing PGP keys). Similarly, verifying a signature on a file or a public key requires to have the signee's public key available in one’s local keyring.

Public keys are not sensitive data, and therefore can in principle be sent unencrypted via email. However, when having frequent key exchanges between multiple actors, sending public PGP keys around by email quickly becomes cumbersome. A solution to this problem is using a so called keyserver to share public keys. Keyservers are public or private servers whose sole purpose is to store public PGP keys and allow users to search for them. In addition, public keyservers often form a network and are regularly synchronized among themselves to ensure redundancy. Private keyservers have the same role, but do not share/synchronize the stored public keys with any other server, and possibly have a restricted access policy so that only authorized people can search for keys.

1.5 - Generating SSH keys

SSH (Secure SHell) keys are pairs of small text files that are used to securely identify users and give them access to remote servers, e.g. when transferring data via SFTP.

SSH keys use public-key encryption and always come in pairs: a public and a private (or secret) key.

  • Public key: the public key of an SSH key pair is meant to be placed on the remote machine to which a user wants to connect. Public keys are non-sensitive, and are typically shared by users with system administrators, who will place them on the machine to which the user is granted access.
  • Private key: the private key of an SSH key pair is what uniquely identifies a user as the legitimate owner of a public key. In other words, having the private key that matches a given public key will give access to any machine on which a copy of public key is stored. Private SSH keys are sensitive information: they must be kept private at all times and should never be shared with anyone - not even your system administrator. Private keys can (and should) be protected by a password, so that even if someone else has access to them, they remain unusable.

Generating a new pair of SSH keys must be done only once, and, in the context of sett, is only needed if you intend to transfer data. If you are a user who only decrypts data, you do not need an SSH key.

Also, do not confuse SSH keys - used to identify yourself on a remote server - with PGP keys - used to encrypt and sign data.

To generate a new SSH key pair, type the command below in your terminal (Linux and Mac) or PowerShell (Windows users - to start it, search for "powershell" in the Start menu). Note that you must replace "alice@example.org" with your own email. This will generate an SSH key pair using the "ed25519" algorithm, currently the most secure public-key algorithm:

ssh-keygen -a 100 -t ed25519 -C "alice@example.org"

Windows users who do not have the ssh-keygen command installed, please see section-install-ssh-keygen-windows below.

When executing the ssh-keygen command above, you will be prompted for the following information:

  1. The name and location where to save the newly created keys. Here you should simply accept the default values by not entering anything and pressing "Enter" on your keyboard. Default locations are ~/.ssh/id_ed25519 on Linux and MaxOS, and C:\Users\%username%\.ssh\id_ed25519 on Windows.
  2. A password to protect your private SSH key against illegitimate use. Please use a password that is long enough (>=12 characters) and composed only of ASCII characters.

When the command completes, two new files are produced: id_ed25519.pub (the public key) and id_ed25519 (the private key).

On Linux and MacOS systems, after the public key is generated, its permissions must be changed with the following command (this step is not needed for Windows users):

chmod 600 ~/.ssh/id_ed25519.pub

Windows users: enabling the ssh-keygen command

Not all versions of windows come with the ssh-keygen command pre-installed. If this command is unavailable on your machine, please install it as follows:

  1. Open the windows settings (shortcut: windows key + i).
  2. Search for, and select, "Add an optional feature".
  3. Click on "Add a feature".
  4. Search for, and select, "Open SSH Client".
  5. Click "Install".
  6. Restart your computer.

SSH private key with non-ASCII characters password

Even though it is possible to create an SSH key pair using a password containing non-ASCII characters, it seems like those characters are encoded differently between different operating systems.

As an SSH key might be moved to a machine with another operating system, or encoding might change with a new version, it is impossible to guess the correct encoding in any case. For this reason, we recommend not to use non-ASCII characters to protect SSH private keys.

1.6 - Encrypting, transferring and decrypting data with sett

Encrypting files

The sett application allows the encryption of any combination of individual files and directories.

The files are first compressed into a single data.tar.gz archive, which is then encrypted with the public key of one or more recipient(s), and signed with the sender’s key. The encrypted data (data.tar.gz.gpg) is then bundled with a metadata file - a plain text file that contains information about who is sending the file and to whom it should be delivered - into a single .zip file. The specifications of the output .zip files produced by sett are described in the sett packaging specifications section.

sett supports multi-recipient data encryption. This allows the encrypted file to be decrypted by multiple recipients.

sett also ensures the integrity of the transferred files by computing checksums on each file that is packaged, and adding this information to the encrypted data. The integrity of each file is verified automatically upon decryption of the file by sett, providing the guarantee that all files were transferred flawlessly.

Output file naming scheme

By default, encrypted output files produced by sett are named after the pattern:

<project code>_<YYYYMMDD>T<HHMMSS>.zip

where:

  • <project code> is the abbreviation/code associated with the project. If no DTR ID value was provided or if Verify DTR is disabled, no project code is added as a prefix to the output file name.
  • <YYYYMMDD> is the current date (Year, Month, Day).
  • <HHMMSS> is the current time (Hours, Minutes, Seconds).

Example: demo_20220211T143311.zip, here demo is the project code.

Using the sett command line when encrypting to the local file system, it is possible to completely override the above output file naming scheme by passing the -o, --output option. Overriding the naming scheme is not possible when using sett-gui or when encrypting to a remote S3 or SFTP destination.

Encrypting data with sett-gui

To encrypt data:

  1. Go to the Encrypt tab of the sett application.

    image

  2. Select files and/or directories to encrypt: using the Add file and Add directory buttons, select at least one file or directory to encrypt.

    After adding files/directories, they will be listed in the top box of the tab (see figure above).

  3. Select data sender: in the drop-down list found under Select sender, select your own PGP key (you are the data sender). For most users, there should in principle be only one key in the Sender drop-down menu: their own key.

  4. Select data recipients: add one or more recipients by selecting them from the drop-down list found under Select recipients. Recipients are the people for whom data should be encrypted: their public PGP key will be used to encrypt the data, and only they will be able to decrypt it.

  5. Transfer ID (DTR): Data Transfer Request ID associated with the data package that is being encrypted. Specifying a valid DTR ID is mandatory to transfer data into the BioMedIT network.

    For data not intended to be transferred into the BioMedIT network, the DTR ID field can be left empty (or set to any arbitrary value). In this case, Verify package must be disabled (in the Settings tab).

  6. Select destination: destination where to encrypt the data. Possible destinations are:

    • Local: The local file system. When using this destination, it’s possible to specify:

      • Output location: directory where the encrypted file should be saved. By default, output files are saved to the user’s home directory. This default behavior can be changed by changing Default output directory in the Settings tab.
    • S3: A remote S3 compatible object store.

    • SFTP: A remote SFTP server.

    When encrypting to a remote destination, a number of options must be specified. Please refer to the transferring files for details about these options.

  7. You are now ready to compress and encrypt the data: click Encrypt package or Send package if you are encrypting to a remote S3 or SFTP destination. A pop-up will appear, asking for the password associated with the sender’s key. After the password is entered, data compression and encryption will start. Progress and error messages are displayed in the Tasks tab.

    When the encryption completed successfully, a notification will pop-up with a message that reads: “Encryption job finished”.

    image

At this point, all input files are compressed, encrypted and bundled into a single .zip file. If the destination was SFTP or S3, data has also been transferred to the remote destination.

Encrypting data on the command line

The sett command to encrypt data is the following. Note that the SENDER and RECIPIENT values can be specified either as a PGP key fingerprint, or as an email address.

# General syntax:
sett encrypt local --signer SENDER --recipient RECIPIENT --dtr DATA_TRANSFER_ID --output OUTPUT_FILENAME_OR_DIRECTORY FILES_OR_DIRECTORIES_TO_ENCRYPT

# Example:
# long command line options:
sett encrypt local --signer alice@example.com --recipient bob@example.com --dtr 42 --output test_output ./file_to_encrypt.txt ./directory_to_encrypt
# short command line options:
sett encrypt local -s alice@example.com -r bob@example.com -dtr 42 -o test_output ./file_to_encrypt.txt ./directory_to_encrypt

Data can be encrypted for more than one recipient by repeating the flag --recipient, e.g. --recipient RECIPIENT1 --recipient RECIPIENT2 option:

# In this example, Alice encrypts a set of files for both Bob and Chuck.
sett encrypt local --signer alice@example.com --recipient bob@example.com chuck@example.com FILES_OR_DIRECTORIES_TO_ENCRYPT

output is an optional argument that allows to specify the location and/or name for the encrypted output file. The output argument can be one of the following:

  • Not provided: the encrypted data is written to stdout. This can e.g. be useful to pipe the data into another application.
  • A directory: the encrypted data package file is written the the specified directory, and is given a name that follows the default naming convention in sett.
  • A file name: the encrypted data is written to a new file with the specified name, and in the specified directory, if the file name contains one.

local can be replaced with s3 or sftp to encrypt and transfer data to a remote destination in a single command. When using s3 or sftp, the data is encrypted and streamed directly to the destination, without creating saving a local version of the encrypted data. This is faster and also saves space on the local machine when transferring large datasets.

sett encrypt s3 -s alice@example.com -r bob@example.com --endpoint https://minio.my-node.ch --bucket my-project \
--access-key 23VO8RB2SIB2SF8EUL9V --secret-key wvrt7YoTTERGftf0zWnppWYSdcGplNtxuLHMn7op --session-token eyJhbGciOiJ\
IUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI5Vk84UkIyvimUMlKIFUVVTDc3WSIsImF0X7hhc2giOiIyRnVlZ3JmSjhTUWFXYkw2V0puek\
F3IiwiYXVkLjpbIm1pbmlvIl0sImF1dGhfdGltTRI6MTcyMTezODIxMywiZXhwIjoxNzIx0DMxODEzLCJpYXQiOjE3MjE4MzfiLKLsImlzwqI6Imh\
0dHBzOi8vcD3ydGFsLXN0YWasfmcuZGNjLnNpYi5zd2lzcy9hdXRoL38hdXRoIiwibmFtZSI6ImJpd2ciLCJqt5xpY5kiOiJjb25zb2xlQWRfgW4iLC\
JzdWIiOiIxOSJ9.PcvXcAli5Bz8ete1T265TPB1cbfgX7k8NDXU5gXy1nflxq203cG5qwAF9Oxyn1mKmwa87jsHj8HU2VUY9p5S1Q \
FILES_OR_DIRECTORIES_TO_ENCRYPT

Adding the --check option will run the encrypt command in test mode, i.e. checks are made but no data is encrypted.

The data compression level used by sett can be manually adjusted using the --compression-level option. Compression levels value must be integers between 0 (no compression) and 9 (highest compression). Higher compression levels produce smaller output files but require more computing time, so you may choose a lower level to speed-up compression (e.g. --compression-level=1), or a higher level (e.g. --compression-level=9) to produce smaller output files. The default level is 6.

Before encrypting data, sett verifies that there is enough free disk space available on the local machine to save the encrypted output file (relevant is the current working directory or target folder pointed by --output). If this is not the case an error message is displayed and the operation is aborted. Since the compression ratio of the input data cannot be known in advance, sett uses the conservative estimate that the minimum disk space required is equal to the total size of all input files to be encrypted.

To automate the encryption process, the --password option can be used to specify the password of the singer PGP key.

sett performs DTR verification if the --verify option is passed. For non-BioMedIT-related transfers, the --verify option should not be passed.

To override the sett output file naming scheme, the --output option can be used to specify the path and name that the output file should have.

Transferring files

Data packages can be transferred to remote servers that support one of the following protocols:

  • SFTP
  • S3 object storage

Transferring files with sett-gui

To transfer encrypted files:

  1. Go to the Transfer tab of the sett application.

    img-transfer-tab

  2. Select encrypted files to transfer: click Select file and select a .zip file that was generated using the sett application.

  3. Select destination: destination where to transfer the data. Possible destinations are:

    • S3: A remote S3 compatible object store. When using this destination a number of options must be specified:

      • URL: The URL of the S3 object store;
      • Bucket: The name of the bucket where the encrypted data should be stored;
      • Access key: The access key to use to authenticate with the S3 object store;
      • Private key: The private key to use to authenticate with the S3 object store;
      • Session token: The session token to use to authenticate with the S3 object store.
    • SFTP: A remote SFTP server. When using this destination, a number of options must be specified:

      • Host: URL address of the server where the files should be sent.

      • User name: the user name with which to connect to the SFTP server.

      • Destination directory: absolute path of directory where files should be saved on the server.

      • SSH key location: name and full path of the private SSH key used for authentication to the SFTP server. This is only required if the SSH key is in a non-standard location. Only RSA keys are accepted.

        Do not confuse SSH keys - which are used to authenticate yourself when connecting to an SFTP server during file transfer - with PGP keys - which are used to encrypt and sign data.

      • SSH key password: password associated with the private SSH key given under SSH key location. If your SSH key password contains characters that are not ASCII characters, and that this results in an error, please see the SSH private key with non-ASCII characters section of this guide.

  4. You are now ready to transfer the data. Click Send package and follow the progress of the transfer using the Tasks tab. By default, sett verifies data packages before initializing file transfers. These checks are required within the BioMedIT network, but can be skipped in other contexts by disabling the Verify package checkbox in the Settings tab.

Transferring data on the command line

sett command to transfer data:

# General syntax:
sett transfer sftp --host HOST --username USERNAME --base-path DESTINATION_DIRECTORY --key-path SSH_KEY_LOCATION --key-pwd SSH_KEY_PASSWORD FILES_TO_TRANSFER
sett transfer s3 --endpoint ENDPOINT --bucket BUCKET --access-key ACCESS_KEY --secret-key SECRET_KEY --session-token SESSION_TOKEN FILES_TO_TRANSFER

# Example:
sett transfer s3 --endpoint https://minio.my-node.ch --bucket my-project --access-key 23VO8RB2SIB2SF8EUL9V \
--secret-key wvrt7YoTTERGftf0zWnppWYSdcGplNtxuLHMn7op --session-token eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiI5Vk84UkIyvimUMlKIFUVVTDc\
3WSIsImF0X7hhc2giOiIyRnVlZ3JmSjhTUWFXYkw2V0puekF3IiwiYXVkLjpbIm1pbmlvIl0sImF1dGhfdGltTRI6MTcyMTezODIxMywiZXhwIjoxNzIx0DMxODEzLCJpYXQiOjE3MjE4MzfiLK\
LsImlzwqI6Imh0dHBzOi8vcD3ydGFsLXN0YWasfmcuZGNjLnNpYi5zd2lzcy9hdXRoL38hdXRoIiwibmFtZSI6ImJpd2ciLCJqt5xpY5kiOiJjb25zb2xlQWRfgW4iLCJzdWIiOiIxOSJ9.PcvX\
cAli5Bz8ete1T265TPB1cbfgX7k8NDXU5gXy1nflxq203cG5qwAF9Oxyn1mKmwa87jsHj8HU2VUY9p5S1Q encrypted_data.zip

Note that --session-token is optional and only required when authenticating using temporary credentials, which is the case of most users interacting with the BioMedIT infrastructure.

Adding the --check option will run the transfer command in test mode, i.e. checks are made but no data is transferred.

For SFTP transfers, an SSH key is required for authentication on the host server. The private SSH key can be provided via 2 mechanisms:

  • Specifying the location of the key via the --key-path option.
  • Use an SSH agent to provide the key. The SSH agent is automatically detected by sett and no specific input from the user is needed. In ths case, the --key-path argument should be skipped.

To display help for the transfer command: sett transfer --help. To display help for a specific transfer protocol - e.g. s3: sett transfer s3 --help.

Decrypting files

The sett application allows the decryption and decompression of files in a single step. However, only files encrypted with the sett application, or files that follow the sett packaging specifications can be decrypted with sett.

Decrypting data with sett-gui

To decrypt and decompress a file:

  1. Go to the Decrypt tab of the sett application (see figure below).

    image

  2. Select a file to decrypt with Select file.

  3. Select destination directory: select a location where to decrypt/decompress the file.

    By default, output files are saved to the user’s home directory. This default behavior can be changed by changing Default output directory in the Settings tab.

  4. Click Decrypt package to start the decryption/decompression process. A pop-up dialog box will appear to ask for the password associated with the PGP key used to encrypt the files.

Decrypting data on the command line

sett command to decrypt data:

# General syntax:
sett decrypt --output OUTPUT_DIRECTORY ENCRYPTED_FILES.zip

# Example:
sett decrypt --output /home/alice/data/unpack_dir /home/alice/data/test_data.zip

To display help for the decrypt command: sett decrypt --help.

To decrypt data without decompressing it, add the -d, --decrypt-only option.

If the -o, --output option is omitted, the data is decrypted in the current working directory.

If you want to automate the decryption process, you can use the -p, --password option to provide the password of the recipient PGP key.

1.7 - Settings for GUI and CLI

sett-gui settings

The sett desktop app allows a number of options to be customized via its Settings page. For instance, you may change the default output directory, or enable/disable package verification before a transfer.

Each setting has a predefined default value, which is used when first running the tool or if loading the current settings fails for any reasons.

To change the settings in the desktop app, navigate to the Settings tab:

image

Changes made to Settings become effective immediately. Changes can be reset back to their factory default by clicking on the Reset settings button.

For detailed settings explanations, please refer to the settings section below.

Settings

The following options can be set in the config file:

Verify package

When enabled (the default value), the following verifications are made before encrypting or transferring data:

  • DTR ID is valid and the transfer is authorized.
  • Sender and Recipients public OpenPGP keys are approved by the BioMedIT key validation authority.
  • Recipients are approved Data Managers of the BioMedIT project for which data is being encrypted.
  • The name of the data package matches the pattern <project_code>_<date_format>.zip. This ensures no sensitive information is mistakenly included in the file name.

Note that that some of the above verifications require communication with the BioMedIT portal. When using sett outside of a BioMedIT project, this setting should therefore be disabled.

Portal URL

URL of a BioMedIT portal instance. The portal is used for key approval, DTR (Data Transfer Request) validation, and retrieval of data associated with a given DTR (when sett is being used in authenticated mode).

The default value of this setting is: https://portal.dcc.sib.swiss.

Default output directory

Default destination directory for operations such as encryption to the local filesystem or decryption. Defaults are:

  • Linux: $XDG_DATA_HOME or $HOME/.local/share;
  • macOS: $HOME/Library/Application Support;
  • Windows: {FOLDERID_LocalAppData}.
Non-editable settings

This section displays values of setting that cannot be modified by the user. These settings are displayed here for convenience. They can be copied to the clipboard via a dedicated “copy to clipboard” button.

sett-cli settings

The sett-cli is stateless by design, meaning that there is no persistent configuration file where settings can be modified and stored.
Instead, settings can be set via the following shell environment variables. All settings are optional and have a default value.

SETT_OPENPGP_KEY_PWD

Password to unlock the secret OpenPGP key used to decrypt or sign data. When this environmental variable is set, sett uses its content instead of interactively asking the user to enter a password.

SETT_OPENPGP_KEY_PWD_FILE

Full path and name of a file containing the password to unlock the secret OpenPGP key used to decrypt or sign data. When this environmental variable is set, sett uses its content instead of interactively asking the user to enter a password. The file containing the password should not be encrypted.

SETT_PORTAL_URL

URL of the BioMedIT portal instance to be used. For details see the description of the GUI Portal URL setting. This setting defaults to https://portal.dcc.sib.swiss.

SETT_OIDC_CLIENT_ID

Client ID with which sett should identify with the OpenID Connect issuer (see SETT_OIDC_ISSUER_URL). Only relevant when using sett in authenticated mode. This setting defaults to sett.

SETT_OIDC_ISSUER_URL

URL of the OpenID Connect issuer used when authenticating with the BioMedIT Portal. Only relevant when using sett in authenticated mode. This setting defaults to https://login.biomedit.ch/realms/biomedit.

1.8 - sett packaging file format specifications

sett compresses, encrypts and packages files in a single .zip file whose specifications are described below. Only files adhering to these specifications can be transferred or decrypted by sett, and failure to comply with the specification will generate an error.

File structure

sett [.zip]{.title-ref} files have the following structure:

YYYYMMDDThhmmss.zip
├── metadata.json
├── metadata.json.sig
└── data.tar.gz.gpg
    └── data.tar.gz
        ├── content/
        |   ├── [file1]
        |   ├── [file2]
        |   └── ...
        └── checksum.sha256
metadata.json

Metadata file containing the following information:

  • transfer_id: transfer ID.
  • sender: fingerprint of the sender's public PGP key.
  • recipients: list of fingerprints of the recipients' public PGP keys.
  • timestamp: datetime of metadata generation. Uses the datetime format YYYY-MM-DDThh:mm:ss±ZZZZ (where ZZZZ is the UTC offset).
  • checksum: sha256 checksum of the encrypted data.tar.gz.gpg file. This allows verifying the integrity of the transferred file without decrypting it, and is used to make sure nothing was corrupted during the transfer process.
  • checksum_algorithm: algorithm used to compute the checksum. Currently sha256.
  • compression_algorithm: algorithm used to compress the inner tarball. gzip is used by default. An empty string indicates no compression.
  • purpose: PRODUCTION or TEST.
  • version: the version of the metadata specifications.
metadata.json.sig

Detached PGP signature for the metadata.json file.

data.tar.gz.gpg

A tarball encrypted using the receiver's public PGP key and signed with the sender's private key. It is compressed with compression_algorithm.

[file1], [file2]

One or several data files can be transferred. Data to be sent can be in any format, e.g. .txt, .csv, .dat.

checksum.sha256

sha256 checksum file of all files present in data.tar.gz. This is used to make sure nothing was corrupted during the encryption/transfer/decryption process.

File example

Examples of the content and structure of the metadata and checksum files.

metadata.json

{
  "transfer_id": 42,
  "sender": "AAABFBC698539AB6CE60BDBE8220117C2F906548",
  "recipients": ["D99AD936FC83C9BABDE7C33E1CF8C1A2076818C3"],
  "timestamp": "2020-01-29T15:31:42+0100",
  "checksum": "a8eb0ee5a6a53326b1c6f9bf94136da5d98a1dc6dceee21d62f694d71c4cf184",
  "checksum_algorithm": "SHA256",
  "compression_algorithm": "gzip",
  "purpose": "PRODUCTION",
  "version": "0.7"
}

checksum.sha256

41421f0c4a5353a5a0cdd37de3fd80a840a190ca997ad8044a67c4c1683f7b63
file1.csv
35ba157ed1c3269d731a438c466790a4f481bb49805e2d1f380df0c636792ff6
folder1/file.txt
fd9ebdbcc1a5fc35ded6e78a6b16ef658502c9d0b05dd4a2185d0f94ccf165cf
folder1/folder2/file.txt

1.9 - Frequently asked questions and bug reports

1. Running sett behind a proxy

1.1 How do I know I am using a proxy

On Windows, you can check if you are using a proxy server to access the Internet by going to Start > Settings > Network & Internet > Proxy (Windows 10). If the slider under Use a proxy server is "off", no proxy is being used.

If you are told that you need to set a proxy, input the Address and Port details and click Save. When in doubt, please consult your IT department.

On Mac OS the proxy information is located under the System Preferences > Network > Advanced > Proxies tab of the network interface, usually Ethernet or Wi-Fi.

1.2 How do I run sett behind a proxy

In order to run sett behind a proxy, the shell environment variable ALL_PROXY or HTTPS_PROXY must be set. This is the recommended and global way to specify a proxy. Note that, while certain programs support a proxy option (e.g. pip with --proxy), there is currently no such option in sett.

Example:

ALL_PROXY=https://host.domain:port sett-gui

Bug reports

To report a problem with sett or if you have a question not covered in the present documentation please open an issue on our public gitlab repo https://gitlab.com/biomedit/sett-rs/-/issues

1.10 - Source code

sett is licensed under the GPLv3 (GNU General Public License) and the source code is available at https://gitlab.com/biomedit/sett-rs

sett is developed as part of the BioMedIT project.

1.11 - Benchmarks

sett performance benchmarks

Test setup

The benchmarks were run on an Apple Silicon M3 machine with 16-Core CPUs, 128GB memory, and 2TB disk. Version 5.1.0 of sett CLI was used.

One single binary file was used, with default compression (Zstandard, level 3). Decreasing the compression level and/or using text data will influence the results.

Transfer speed is highly dependent on the infrastructure connecting the data sender and recipients. In these benchmarks, data was transferred to the same machine sending the data, therefore representing a best-case scenario in terms of transfer speed.

All values shown un the results below are averages of 5 runs performed with hyperfine.

Results

The table and figure below present throughput speeds for different sett workflows:

  • Encrypt: compress, encrypt package and transfer (S3, SFTP) data.
  • Transfer: transfer already packaged data. There is no compression and encryption involved in this workflow.
  • Decrypt: decrypt and decompress and a data package.
Workflow Throughput (MB/second) Throughput (GB/minute)
Encrypt local 133.88 8.03
Encrypt S3 94.44 5.67
Encrypt SFTP 88.41 5.30
Transfer S3 426.32 25.58
Transfer SFTP 129.94 7.80
Decrypt 228.62 13.72

Throughput as function of file size: as can be seen, the curves in the figure below are linear, indicating that the throughput is constant regardless of the file size.

image (click on the figure to enlarge).

2 - BioMedIT Portal User Guide

In the following sections we introduce the BioMedIT portal, how it works and how to get started using it.
Please use the table of contents menu to the left or below to navigate the topics.

BioMedIT

What is the BioMedIT Portal?

The BioMedIT Portal is the one-stop entry to the BioMedIT Network. It provides users with a single point of access to the tools and services of the BioMedIT Network in a secure web-based environment.

With the Portal:

  • Project Leads have a consolidated view of their projects and resources, enabling them to manage the research team’s members and access the project space.
  • Data Providers and Data Managers oversee data transfers and monitor them.
  • Researchers gain access to an expanding collection of collaborative and research-oriented tools, which encompass in-house, commercial, and open-source resources.

Access is secured with a login with your SWITCH edu-ID account and two-factor authentication.

Table of Contents

2.1 - Login

To either register for the first time or login to the BioMedIT portal:

  1. Go to: https://portal.dcc.sib.swiss/. The SWITCH edu-ID authentication button will appear.

  2. Click on > SWITCHedu-ID

    Login
  3. Enter your email address and click on Login. You will be asked to enter your password.

    Login
  4. Your second authentication method prompt will appear (SMS, OTP). Enter your Code and click on Login

    Login
  5. You will be asked to enter a username of your choice and confirm, if you agree with, the Portal being notified when your affiliation changes and with the BioMedIT Portal Private Policy

    Login
  6. The BioMedIT Portal Home will be displayed

home

2.2 - Home

As soon as you log in with your SWITCH edu-ID, the home page displays the menu bar of the left side, the Quick Access Panel, with short-cuts to central services in the middle, and the BioMedIT Feed on the right, where you may find news and announcements from the BioMedIT Team.

The Portal classifies user accounts by role, and the menu options visible for each user will depend on the role assigned. A Data Provider, a Project Leader, or a visitor without a specific role will all see different default menu options

home

2.3 - Profile

From the profile menu option, users can check and update their account details, and manage their PGP and SSH Keys.

My Profile tab

The My Profile tab shows the user’s account details.

home



Account details:

  • Name: User’s name

  • Username: User SWITCH edu-id identifier

  • Local Username: The username the user chose during their first login to Portal.

  • Email: Contact email currently selected from the list retrieved from the user’s SWITCH edu-ID

  • Affiliations: List of organizations (e.g., university, research institute) linked to users SWITCH edu-ID account

  • IP Address: The IP address from where the user is connecting

  • Flags: List of flags enabled for the user

  • Groups: The list of Groups the user is a member of.

Note that personal details are retrieved from the user’s SWITCH edu-ID. For any changes to their personal data or affiliated organizations, user may update their SWITCH edu-ID via this link.

For more resources about SWITCH edu-ID, refer to SWITCH edu-ID / Quick Links

OpenPGP Keys

From the OpenPGP Keys tab, users can see the PGP Keys they have registered in the Portal, along with their status.

pgp keys



Each key has the following information:

  • Fingerprint: This is a unique identified for each PGP key. You should make sure sure that this value is matching with the fingerprint of your key.

  • User ID: User ID associated with the PGP key. People usually have their full name (and sometimes affiliation) in this field.

  • Email: Email address associated with the PGP key

  • Status: The approval status of your key. The list of key statuses is as follows:

    • PENDING: a key approval request was submitted, but the key has not been approved yet. This is a manual process and can take from a few hours or up couple of days.
    • APPROVED: key is approved for usage within the BioMedIT network. Only approved keys can be used to encrypt, sign and decrypt data packages that are transiting via the BioMedIT network.
    • APPROVAL-REVOKED: approval of the key has been revoked by the BioMedIT key validation authority.
    • KEY-REVOKED: key has been revoked by its owner.
    • REJECTED: key is not trusted by the BioMedIT key validation authority.
    • DELETED: key has been removed from the keyserver by its owner.
    • UNKNOWN KEY: key has not been registered on the BioMedIT portal. If it is your own key, please register it. If it is the key of someone else, please ask them to register their key.

Registering a new PGP key

Once the above prerequisites are met, perform the following steps to register your key and request its approval:

  1. Connect to the BioMedIT portal and go to Profile and OpenPGP Keys tab.

  2. Click on +OPENPGP KEY.

    new key

  3. Add Key dialogue box will open. Enter your key’s fingerprint: please copy-paste it from your computer to avoid typing errors. Then click on the green search icon.

    new key

  4. If your key is present on the Open PGP keyserver, the user ID and email associated with your key will be retrieved and displayed in the dialog box. Please double check that the value is correct.

  5. If the displayed user ID and email values are correct, click on CONFIRM.

    new key

Your key is now registered and an approval request as been automatically sent to the DCC. Please note that the verification and approval of your key by the DCC is a manual process and may take a few days.

Note that your key’s approval status will be PENDING until approved by the DCC. Once approved, the status will change to APPROVED, at which point the key can be used to encrypt and decrypt data to be transferred into the BioMedIT network.

SSH Keys

From the SSH Keys tab, users can add their public SSH key for a specific project.

ssh keys

Registering a new SSH key

  1. Click on +SSH KEY.

    ssh keys

  2. Select the project from the drop-down list

  3. Copy the content of your public ssh key

  4. click on SAVE

2.4 - Groups

From the Groups menu option, Data Providers can manage users and assign them roles.

groups

Data Provider User roles and responsibilities

The Data Provider roles are intended to provide Data Providing institutions with the ability to manage the users involved in data transfers to BioMedIT and assign permission levels according to their responsibilities.

DP Manager

The DP Manager represents the Data Provider institution within the scope of BioMedIT. A DP Manager is responsible for the institution’s internal processes related to BioMedIT and delegates responsibilities to other users in their organization by assigning/removing DP roles. In addition, a DP Manager is responsible for maintaining and keeping the roles assigned up to date, i.e., if an employee left or changed responsibilities, and informing the BioMedIT Node and the DCC accordingly. Finally, the DP Manager delegates the internal operation coordination to the DP Coordinator.

DP Managers are:

  • Responsible for the ensuring data provisioning at the Data Provider institution.
  • Responsible for escalations and security incidents within the Data Provider.
  • Responsible to assign/revoke the DP roles to other DP users.

DP Coordinator

The DP Coordinator is responsible for internally coordinating the DP’s readiness to send data, ensuring the legal compliance, i.e., DTUA, DTPA, etc. and all technical measures required from the DP side are in place for projects in which Data Provider institution participates. The DP Coordinator must send confirmation of readiness for data transfers to the DCC when required, and act as the single point of contact for follow-up questions and/or issues in the process.

DP Coordinators are:

  • Responsible for coordinating internal data transfer processes of the Data Provider institution
  • Responsible for confirmation of legal readiness for data transfers
  • Responsible for confirmation of technical readiness for data transfers

DP Technical Admin

The DP Technical Admin is responsible for all technical tasks required for the setup and maintenance of a secure connection from the DP organization to the BioMedIT Node e.g., network components configuration. He is also responsible to support DP Data Engineer in the onboarding process. There could be more than one DP Technical Admin.

DP Technical Admins are:

  • Responsible for the configuration of the network components from the DP side to permit data transfers.
  • Responsible for supporting the onboarding of the DP Data Engineer(s).

DP Data Engineer

The DP Data Engineer is responsible to prepare, encrypt and sign the data packages, and transfer them from the DP organization to the assigned BioMedIT Node. There could be more than one DP Data Engineer.

DP Data Engineers are:

  • Responsible for preparing and executing the data package transfers between the Data Provider and the assigned BioMedIT Node, following the BioMedIT process for secure data transfer.

DP Security Officer

The DP Security Officer is the designated point of contact from the DP organization to receive incident and security notifications from BioMedIT such as (but not limited to) scheduled and non-scheduled downtimes in response to security incidents, emergency changes and systems upgrades.

DP Security Officers are:

  • Responsible for serving as a point of contact for incident, maintenance and security notifications from BioMedIT, and distributing them internally.

DP Viewer

A DP Viewer can monitor the status of data transfers from their DP institution.

How to add a user to a Data Provider group

To add a user to a group:

  1. Click on the edit button of the group:

groups


2.In the Users field, type the user’s email address and click on +USER.

3.When no more users need to be added to the group, click on SAVE.

administration

2.5 - Projects

In the Projects menu option:

  • Project users find a consolidated view of their projects, the data transfers, and the tools and resources enabled for the project.
  • Project Leaders and Permission Managers can manage project users.
  • Data Managers of a project can submit a data transfer request.

Projects view

From the project’s menu option, users can see the list of their projects.

The projects displayed can be filtered by using the Search function.

projects


By clicking over a project, users can display the project’s details:

Project Details tab

The details tab shows the project’s general settings:

project details


  • Code: A unique identifier for the project

  • Hosting Node: Name and code of the node where the project is hosted

  • Archived: Yes / No

  • Expiration Date: Date when the project expires.

  • Legal Approval Group: Group responsible to confirm compliance with legal basis and approve production DTRs.

  • Data Specification Approval Group: Group responsible to review data transfer’s Data Specifications and approve production DTRs.

  • Legal Support Contact: Contact email address to engage support about ethical and legal questions.

  • Enable SSH Access: Indicates if SSH access has been enabled for the project.

  • Identity Provider: Source user identity provider specified for the project. By default is SWITCH edu-iD, but a node-specific pre-defined identity providers may be selected.

  • IP Ranges: IP range(s) from where client connections to access B-spaces is permitted.
    If the user is connecting from an IP outside of the IP range, the message “Your IP address is not within the valid IP address ranges of the project” is displayed.

  • Additional information: Notes, comments and relevant information details. Note that this field is only editable by admins (Node Managers and BioMedIT Support).

Data Transfers tab

The data transfers tab displays the list of data transfer requests submitted by the project.

data transfers

  • From the Search box, users can search for specific data transfer requests by any content as search criteria.

  • +DATA TRANSFER: Function to submit a new Data Transfer Request.
    Note that this option is only visible to the project’s Data Manager(s).

    The data transfer request list is also accessible from the Data Transfers menu option.

Resources tab

Displays the access links to the tools and applications configured for the project.

To add new links, contact biomedit@sib.swiss or your local node’s support group.

data transfers

Users tab

Displays the list of users and their role in the project.

Authorized flag: biomedit_training_flag
This badge is displayed next to a project user when they have completed the mandatory BioMedIT training modules: Information Security Awareness Training


project users

User roles

User roles are set for each project. Each authorized BioMedIT user can have several user roles and can be assigned access to several projects.

Roles and responsibilities

Project Leaders (PL):

  • responsible and accountable for the project
  • responsible for the data lifecycle management of the project
  • acts as contact point for escalations and security incidents within the project
  • responsible to discuss the setup and configuration of the project space for the project with representatives of the BioMedIT Nodes
  • responsible for case-by-case authorization of Data Transfers out of the B-space
  • assigned to the project in the User Role of “Permissions Manager” by default and with that is responsible to assign authorized BioMedIT users
  • responsible to assign the User Role of “Permissions Manager” to authorized BioMedIT users
  • responsible to ensure that at least one authorized BioMedIT user was assigned to the project space in the User Role of “Data Manager”
  • can act as “Permissions Manager” and/or “Data Manager” and/or “(default) User”
  • responsible to revoke access rights to the project space
  • informed about every user change (add/remove) via email notification
  • there can be multiple PLs per project

Permissions Manager (PM):

  • accountable to the PL
  • each project must have at least one project member with the User Role of “Permissions Manager”
  • responsible for assigning the User Roles of “(default) User” and “Data Manager” to authorized BioMedIT users and with that granting them access to the project space
  • responsible to revoke access rights to the project space
  • acts as contact for the new project members to support them with registration and authorization as users of BioMedIT

Data Manager (DM):

  • accountable to the PL
  • each project must have at least one project member with the User Role “Data Manager”
  • responsible for unpacking and decryption of data packages within the B-space
  • responsible to extract data from the B-space for transfer out of the project space only following explicit authorization of the PL
  • responsible to place the request(s) for Data Transfer(s) from a Data Provider to the project

User:

  • accountable to the PL
  • has access to one or several project spaces following authorization
  • responsible for data processing within the B-space

Minimal:

  • accountable to the PL
  • can access the project’s details in the Portal, but has no access to the B-space.

Managing project users

When clicking on the edit icon from the top-right corner, the window below is displayed.

Adding users to a project

  1. In the Users field, enter the user’s email address and click on +USER. Note that the user(s) must have an account in the portal.

    +USER
  2. You will be asked to confirm the user’s details before adding it to the project.

    +USER

  3. Review the details of the user, and click on ADD to confirm it.

  4. You will return to the list of project users. Assign a role to the user by clicking on the corresponding checkbox(es).

    +user
  5. Click on SAVE.

Removing users from a project

To remove users from the project, the Project Leader or the Permissions Manager should:

  • Click on the 'x' next to the user’s name.
  • After any change, click on SAVE

Submitting a Data Transfer Request

To submit a Data Transfer Request (DTR):

Click on +DATA
TRANSFER

The following window will be displayed:

DTR

Complete the required fields:

  • Unlimited / One Package: Select if the DTR will cover one or multiple data transfers

  • Data Provider: Select the Data Provider from the drop-down list

  • TEST / PRODUCTION: Select TEST if mock data will be sent, or PRODUCTION if the data will contain patient real data

  • Additional Data Recipients: Enter the email(s) of the data recipient(s) and click on the +USER button.
    Note that recipients can only be users with the Data Manager role in the project.

  • Legal Basis: If transferring real data (purpose PRODUCTION), enter the legal agreement (i.e. DTUA, DTPA) document name

  • Data Specification: If transferring real data (purpose PRODUCTION), include the link to the Data Specification

    Example: https://git.dcc.sib.swiss/admin/projects/project-space/example-project/data-transfer/-/tree/main/data-transfer-1?ref_type=heads

Click on SAVE.

A new DTR will be created in INITIAL status. Confirmation emails with the DTR’s details are sent to the DTR requester, recipient(s), and approvers.

Confirmation email example:

Subject: BioMed-IT Portal: [For information] DTR-999 - Data Transfer Request from ‘Universität ABC’ to ‘SIB Project’ project

Dear Data Manager (Patricia Fernandez),

Your Data Transfer Request (DTR-999) has been successfully submitted.

DTR details:

You will be informed about the status of the approval process.

If you have any questions or need support, please contact biomedit@sib.swiss.

Kind Regards,

BioMedIT Team

DTR Approvals

When the DTR is created, the following approval requests are submitted in parallel:

1. Node(s) Approval: As data processors, the involved node(s) must confirm the presence of a pre-existing legal basis for the data transfer and ensure that the necessary technical infrastructure is in place to support it.

2. Legal Compliance Approval: For SPHN/NDS projects, facilitated by the DCC ELSI Help Desk group who verifies the existence of a legal basis (e.g., DTUA, Consortium agreement) for the data transfer. For non-SPHN projects, a dedicated local Legal Compliance group may be optionally configured.

3. Data Specification Approval: For SPHN projects, the DCC will review and approve the data specification documents referenced in the ‘Data Specification’ link. This process ensures the compliance with the SPHN Semantic Interoperability Framework.

Email example:

Subject: BioMed-IT Portal: [Action needed] DTR-999 - Data Transfer Request from ‘Universitätsspital ABC’ to ‘SIB’ project

Dear <BioMedIT Node> , <Legal Compliance Group> , <Data Specification Group> ,

You are kindly requested to review and approve or reject the Data Transfer Request associated with the SIB project by using the following Data Transfer Request Approval form:

https://portal.dcc.sib.swiss/data-transfers/999

Below are the details of the Data Transfer Request (DTR-ID):

If you have any questions or need support, please contact biomedit@sib.swiss

Kind Regards,

BioMedIT Team

4. Data Provider Coordinator Approval: This approval request is triggered only when the previous approvers, (1),(2) and (3) have submitted theirs.

The Data Provider Coordinator is then requested to confirm if the data delivery has been approved through their internal governance processes.

When all approvers approve the request, the DTR status changes to AUTHORIZED, and data can then be transferred. Notification emails are sent to all parties involved in the data transfer:

Subject: BioMed-IT Portal: [For information] DTR-999 - Data Transfer Request from ‘SIB Data Provider’ to ‘SIB Project’ project is approved

Dear All,

Clearance has been granted to transfer data in accordance with DTR 999 for project SIB Project (sib_project).

The DP Data Engineer from SIB Data Provider is now authorized to encrypt, sign, and transfer the data package(s) using the sett tool according with the agreed procedures to the SIS node. Detailed instructions on how to use sett can be found at https://biomedit.gitlab.io/docs/sett/.

The transferred data will be in accordance with the specification outlined here: https://git.dcc.sib.swiss/admin/projects/project-space/sib-project/data-transfer/-/tree/main/data-transfer-1?ref_type=heads.

Upon completion of the data package transfer, please inform the Project’s Data Manager(s), Patricia Fernandez (patricia.fernandezpinilla@sib.swiss), so that they can confirm the reception, integrity, and successful decryption of the data package in the B-space.

For any further questions, please don’t hesitate to contact biomedit@sib.swiss.

Kind Regards

BioMedIT Team

Approval log:

If any of them rejects the DTR, its status is set to UNAUTHORIZED.

Monitoring the approval status of a Data Transfer Request

The status of a DTR is displayed in the last column of the DTR list:

DTR status

Approval Status

  • INITIAL: The DTR was submitted, but it has not yet been approved.
  • AUTHORIZED: All approvers have authorized the DTR. The Data Provider can now send the data.
  • EXPIRED: The Data Provider sent the maximum allowed number of data packages, and no additional data can be sent under this DTR ID
  • UNAUTHORIZED: The DTR was previously authorized but is currently unauthorized for some reason (i.e., The BioMedIT Node is offline, problems with user permissions, issues on the Data Provider's end, etc.)|

Data Transfer details

When clicking on a particular data transfer, a pop-up window shows additional information

Details tab

Displays the attribute values of the DTR as submitted by the project’s data manager:

DTR details

Logs tab

Displays the individual data packages transfer logs - routing information and whether the data has arrived to the project workspace -.

DTR Logs

Approvals tab

Displays the current approval status of a DTR by all approval groups:

DTR Approvals



2.6 - Data Transfers

In the Data Transfers menu option:

data transfers

DTR Approval status

The approval status of a DTR is displayed in the last column of the table:

  • INITIAL: The DTR was submitted, but it has not yet been approved by the Data Provider and/or the BioMedIT node(s).
  • AUTHORIZED: All approval groups have authorized the DTR.  The Data Provider can now send the data.
  • EXPIRED: The Data Provider sent the maximum allowed number of data packages, and no additional data can be sent under this DTR ID
  • UNAUTHORIZED: The DTR was previously authorized but is currently unauthorized for some reason (i.e., The BioMedIT Node is offline, problems with user permissions, issues on the Data Provider's end, etc.)

Additional details about which group approved when are shown when clicking on a specific DTR. See approval details

Data Transfer details

When clicking on a particular DTR, a pop-up window shows additional information

DTR’s details are accessible using the following link structure: https://portal.dcc.sib.swiss/data-transfers/dtr_id

Details tab

Displays the attribute values of the DTR, as submitted by the project’s data manager:

details


Details:

  • Project: Name of the project
  • Transfer ID: Unique DTR identifier
  • Data Provider: the Data Provider code
  • Status: Approval status of the DTR
  • Max Number of packages: 1 (single transfer) or UNLIMITED (multiple data transfers)
  • Transferred Packages: Count of packages sent so far under this DTR ID
  • Requestor: Name of the Data Manager that submitted the DTR
  • Data Specification: link to the Data Specification
  • Purpose: TEST (for mock data) / PRODUCTION (for patient real data)
  • Legal Basis: Legal agreement (i.e. DTUA, DTPA) document name

Approvals tab

Displays the current approval status of a DTR.

DTR Approvals

Credentials tab

From this option, DP Data Engineers can fetch their credentials, required for authentication and authorization to transfer data when the transfer method is S3/HTTPs.

To fetch and copy their credentials, as DP Data Engineer:

  • click on FETCH CREDENTIALS
  • click on COPY ALL
credentials

Logs tab

Displays the individual data packages transfer logs - routing information and whether the data has arrived to the project workspace -.

logs

Approving DTRs

When the DTR is submitted by a project’s Data Manager, the groups involved in the data transfer will receive a notification by email with all the details, for their information or for their action (request for approval), depending on the case, as explained below.

Example:

Subject: BioMed-IT Portal: [For Information] DTR-999 - Data Transfer Request from ‘Universitätsspital ABC’ to ‘SIB’ project

Dear Universitätsspital ABC,

We have received the following Data Transfer Request (DTR-999) from the sib_project Project:

Please note that Data Provider approval will only be available upon completion of approvals from the Nodes, DCC (Data Specification), ELSI Help Desk.

If you have any questions or need support, please contact biomedit@sib.swiss

Kind Regards,

BioMedIT Team

Approvals

When a DTR is submitted by a Data Manager to a research project, the following approvals must be collected:

1. Node(s) Approval: As data processors, the involved node(s) must confirm the presence of a pre-existing legal basis for the data transfer and ensure that the necessary technical infrastructure is in place to support it.

2. Legal Compliance Approval: For SPHN/NDS projects, facilitated by the DCC ELSI Help Desk group who verifies the existence of a legal basis (e.g., DTUA, Consortium agreement) for the data transfer. For non-SPHN projects, a dedicated local Legal Compliance group may be optionally configured.

3. DCC Data Specification Approval: For SPHN projects, the DCC will review and approve the data specification documents referenced in the ‘Data Specification’ link. This process ensures the compliance with the SPHN Semantic Interoperability Framework.

Only when the above groups, (1), (2) and (3) confirm their approval, the DP Coordinator is requested to submit theirs:

Example:

To: DP Coordinator
Subject: BioMed-IT Portal: [Action needed] DTR-999 - Data Transfer Request from ‘Universitätsspital ABC’ to ‘SIB’ project

Dear Universitätsspital ABC ,

You are kindly requested to review and approve or reject the Data Transfer Request associated with the SIB project by using the following Data Transfer Request Approval form:

https://portal.dcc.sib.swiss/data-transfers/999

Below are the details of the Data Transfer Request (DTR-ID):

If you have any questions or need support, please contact biomedit@sib.swiss

Kind Regards,

BioMedIT Team

By clicking on the link in the email above (https://portal.dcc.sib.swiss/data-transfers/<DTR_ID>), DP Coordinators will be redirected to the BioMedIT Portal to approve or rejects the request.

To approve or reject the DTR, click on APPROVE

Data Transfer

Declare, by clicking on the checkboxes, if:

  • All technical measures are in place to send the data
  • There is an existing legal basis for the Data Transfer
  • This data delivery has been approved through internal governance processes

Click on APPROVE

download



When all approvers approve the request, the DTR status changes to AUTHORIZED, and data can then be transferred. Notification emails are sent to all parties involved in the data transfer:

Subject: BioMed-IT Portal: [For information] DTR-999 - Data Transfer Request from ‘SIB Data Provider’ to ‘SIB Project’ project is approved

Dear All,

Clearance has been granted to transfer data in accordance with DTR 999 for project SIB Project (sib_project).

The DP Data Engineer from SIB Data Provider is now authorized to encrypt, sign, and transfer the data package(s) using the sett tool according with the agreed procedures to the SIS node. Detailed instructions on how to use sett can be found at https://biomedit.gitlab.io/docs/sett/.

The transferred data will be in accordance with the specification outlined here: https://git.dcc.sib.swiss/admin/projects/project-space/sib-project/data-transfer/-/tree/main/data-transfer-1?ref_type=heads.

Upon completion of the data package transfer, please inform the Project’s Data Manager(s), Patricia Fernandez (patricia.fernandezpinilla@sib.swiss), so that they can confirm the reception, integrity, and successful decryption of the data package in the B-space.

For any further questions, please don’t hesitate to contact biomedit@sib.swiss.

Kind Regards

BioMedIT Team

Approval log:

If any of them rejects the DTR, its status is set to UNAUTHORIZED.

Download data transfer list

download By clicking on the icon at the top-right corner, users can download the list of DTRs in csv format.

2.7 - Contact Us

It is the contact form to submit feature requests or support to the BioMedIT Help Desk (biomedit@sib.swiss).

Contact us

2.8 - Central Services

2.8.1 - DCC GIT

The BioMedIT Code Repository Service (based on Git), is accessible to registered BioMedIT users to create, collaborate and share their application codes with other BioMedIT users.

1. Login to GitLab

1.1 GitLab is available via federated login from BioMedIT portal’s Quick Access link:

Gitlab


1.2 The following page will be displayed.

Click on Federated Login


Gitlab

2. Resources

2.8.2 - Harbor

Harbor is an open source registry that secures artifacts with policies and role-based access control, ensures images are scanned and free from vulnerabilities, and signs images as trusted. Harbor, a CNCF Graduated project, delivers compliance, performance, and interoperability to help you consistently and securely manage artifacts across cloud native compute platforms like Kubernetes and Docker.

1. How to request access

1.1 Registry is available via federated login from the BioMedIT portal’s Quick Access links:

home

1.2 Click on the button: Login via OIDC provider

home

2. Resources

2.8.3 - Federated Query System

The Federated Query System (FQS) allows queries on anonymized and nationally harmonized data coded in national or international terminologies. Researchers can assess whether and where patients or patient data potentially suitable for a specific research question exist at one or several of the Swiss University Hospitals (UHs).

The system enables researchers to verify the feasibility of their project by running simple queries against a subset of clinical data of all UHs. Additionally, it allows designing and optimizing inclusion and exclusion criteria for study protocols without transferring any patient data. These queries may include demographic information (age and gender), diagnosis (ICD-10), procedures (CHOP), medication (ATC) and lab test (LOINC) and lab results with units (according to UCUM). Overall, the system includes 70 Mio data points from 450 000 patients, which signed the general consent.

1. Access requirements

In order to gain access to the FQS, users must meet the following requirements:

  • The user’s institution must have signed an agreement with the SIB. Currently, all five Swiss university hospitals are part of this network, additional institutions will have the possibility to join at a later time point.
  • Users have a SWITCH edu-ID account with their employing institution linked in their profile (though SWITCHaai).
  • Each user has individually agreed to abide by the FQS Acceptable Use Policy.

2. Registration to the FQS

2.1 From the BioMedIT Portal’s Home, at the Quick Access tiles, click on the Federated Query System icon:

FQS



2.2 If it is the first time you access the Federated Query System, the system will display the Registration Form below, with your name and current affiliations in your SWITCH edu-ID.

If you do not have any linked affiliations in your SWITCH edu-ID, the system will give you the option to update your account.

a. Click on add your organizational identity on edu-ID. Update your account.

b. Return to this screen and click on I ADDED MY AFFILIATION when ready.

FQS



2.3 In the Registration Form,

a. Enter your institution

b. Enter your institutional email

c. Click on NEXT

FQS



2.4 The Acceptable Use Policy will be displayed.

a. Read carefully all sections

b. Click on I have read & agree when all the terms are read, understood, and agreed.

FQS



2.5 You will get confirmation that your request was sent.

FQS



2.6 Within 24 hours, you will receive an email with your account details and the option to set your credentials.

a. Open the email

b. Click on Set Password.

FQS

2.7 The Privacy Policy will be displayed:

a. Read carefully all sections

b. Click on I accept when you read, agreed and understood all the terms.

FQS



2.8 The Change Password screen will be displayed.

a. Enter a password that meets the security requirements

b. Click on Save changes

FQS


2.9 You will received confirmation that your password was changed successfully.

a. Click on the Log out button

FQS

3. Login to the FQS

3.1 From Quick Access tiles in the BioMedIT Portal’s Home, click on Federated Query System icon:

FQS



3.2 The Login page will be displayed.

a. Read the Acceptable Use Policy

b. Select I confirm when the you read and understood the Acceptable Use Policy

c. Click on Continue to Login

FQS



3.3 The Login to the SPHN Federated Query System page will be displayed.

a. Enter your username or email. You can find your username in the confirmation email you received from the DCC.

b. Click on the → icon

FQS



3.4 The Email verification required page will be displayed asking you to enter a code.

a. Check your inbox. You should have received an email with the code:

FQS



3.5 In the Email verification required page:

a. Enter the code your received by email

b. Click on Apply code

FQS



3.6 You will be prompted to enter your password.

a. Enter your password

FQS



3.7 If your credentials are correct, you must have logged in to the FQS successfully.

3 - BioMedIT Training

Information Security Awareness Training

Information Security Awareness Training

sett

In order to make use of the secure research environments within BioMedIT, we require users to take two security courses on responsible use of health data, and more specifically on responsible use of BioMedIT. These courses include built in quiz questions which must be answered to complete the course.

- Target audience: Data Managers, research project members
- Enrollment: Automatic via this link
- Enrolled users: > Go to the course

If your organization is not affiliated with SWITCH edu-ID (AAI), send us a request for access via email to biomedit@sib.swiss


Getting started with BioMedIT

This training series is intended for new users to get started with the BioMedIT network.

sett for beginners

sett for beginners

sett

These modules provide an overview of sett (secure encryption and transfer tool) and hands-on knowledge for performing the most frequent operations using sett.

- Target audience: Data Managers, Data Providers
- Documentation: sett User Guide

> Go to the course


BioMedIT Training series role based


Guide for Data Providers

data managers
This guide assists users from data-providing institutions in managing end-to-end encrypted data transfers, covering everything from requirements to processes and operations.

- Target audience: Data Providers

> Go to the course

Guide for Data Managers

data providers

These modules give data managers of research projects an overview of how to get started with BioMedIT, from the onboarding requirements to the daily operation.

- Target audience: Data Managers

> Go to the course

Guide for Permission Managers

permission manager

Covers the what user roles are in BioMedIT and how to manage project users in the BioMedIT Portal.

- Target audience: Permission Managers

> Go to the course [> Go to the course](https://edu.sib.swiss/course/view.php?id=582#section-3)

4 - FAQs

1. General Information


1.1 What is BioMedIT?

In 2017, the Swiss Confederation launched the BioMedIT network project, as integral part of SPHN. A project of SIB Swiss Institute of Bioinformatics, the secure and cutting-edge IT environment BioMedIT is established nationally to support computational, biomedical research and clinical bioinformatics, ensuring data privacy. Given the sensitive nature of health-related information, research using patient data imposes high demands on IT infrastructures and processes to fulfil the stringent legal and ethical requirements. The goal of SIB’s BioMedIT project is to build and maintain a secure and protected IT environment, providing researchers with access to a cutting edge research IT infrastructure for analysis of sensitive data, without compromising data privacy. BioMedIT is a national infrastructure resource that can jointly be used by all Swiss Universities, research institutions, hospitals and other interested partners.

You may find more information at https://biomedit.ch

1.2 What is the BioMedIT network?

The BioMedIT Network builds on three legally independent scientific IT competence platforms:

  • sciCORE in Basel, operated by the University of Basel,
  • Unil / SIB in Lausanne, operated in collaboration by SIB and Unil, and
  • SIS in Zurich, operated by ETHZ.

Under the umbrella of the BioMedIT Network Project, all three engaged institutions committed to build a high performance computing infrastructure (in addition to their already existing scientific compute clusters) especially designed for sensitive (confidential) data for Personalized Health and data-driven research: sciCOREmed in Basel, SENSA (Secure sENSitive data processing plAtform) in Lausanne, and Leonhard Med in Zurich – the BioMedIT nodes.

Central infrastructure components (such as tools, platforms, etc.) and procedural solutions are under the responsibility of SIB’s PHI Group. PHI operates a central service layer and is responsible for the coordination of the BioMedIT Network Project.

1.3 What are "Nodes"?

A BioMedIT node is a local or regional node that provides a secure compute and storage infrastructure for handling (securely storing, managing and processing) sensitive research data, whether clear text, pseudonymized or coded personal data. They are the entry and exit points for data transfers between data providers and recipients. Each data provider is associated with a single node and all data from that provider passes through the node.

The node may be a destination node for projects hosted on the node or it may be a transfer node for projects hosted on another node.

More information about the Nodes including contact details may be found on https://biomedit.ch.

1.4 How do I access the BioMedIT network?

Access for almost all operations on the BioMedIT network is through the BioMedIT portal https://portal.dcc.sib.swiss. The BioMedIT website https://biomedit.ch provides additional details of all resources supported on BioMedIT.

The access to the BioMedIT Portal requires a SWITCH edu-ID protected by two factor authentication (2FA) with a validated email address from a Swiss university, hospital or other similar institution. Sending data from a Data Provider into the BioMedIT Network is covered in the FAQ sections Data Providers and Data Transfers.

1.5 Why should I use the BioMedIT network for my data transfers?

Confidential data should stay confidential. Sending it to another person by attaching a file to an email or putting it on a USB stick is very risky. Data which is confidential should be encrypted and sent by secure means. BioMedIT has been set up to do just that. A Data Provider connects securely to a single contact point in the BioMedIT network (irrespective of the intended final destination of the data). From this contact point data can be securely routed anywhere inside the BioMedIT network to Universities, University Hospitals and other institutions in Switzerland. Encryption of data, secure transfer protocols, monitoring and logging of the transfer process, management of the keys used for encryption and decryption, and strict control of user access and rights on the network significantly enhance the security of the transfer of sensitive data.

A secure encryption and transfer tool, sett, has been developed to make the transfer process as easy as possible for all users of the BioMedIT network.

1.6 My project receives data from outside Switzerland. Can I use BioMedIT?

A pre-requisite for any data sent from a data provider into the BioMedIT network is that appropriate ethical and legal approvals exist for the data proposed to be sent. The question of compliance with the GDPR requirements must be settled at this stage if the data set will contain records from EU nationals. Similarly HIPAA requirements might need to be met if the data set will contain records from US nationals. If these ethical, legal and privacy considerations are met the remaining questions are mainly technical and administrative. The project staff should discuss with the DCC and relevant BioMedIT node how the data transfer and management process can best be handled.

1.7 Who pays for all this?

Based on the Funding Principles and Funding Regulations, the Swiss Government allocated around CHF 18 million to BioMedIT for the first period 2017-2020. Funding continues for the second phase of the project which runs from 2021 until the end of 2024.

The project is under the responsibility of SIB Swiss Institute of Bioinformatics. The matching funds’ principle applies to all financial contributions, i.e. the participating institutions must provide their own contributions (in cash and/or in-kind) to match the funds provided by BioMedIT.

1.8 Where can I read more about how BioMedIT works?

The BioMedIT website at https://biomedit.ch and the SPHN website contain detailed information about BioMedIT and its resources. The documentation contained here and in our DCC GIT WIKI provide more detail on specific aspects of BioMedIT.

1.9 Who can I contact if I have more questions?

You may visit the BioMedIT website at https://biomedit.ch or the SPHN website at https://sphn.ch.

For additional information write to dcc@sib.swiss.

For day to day operational issues or something specifically related to BioMedIT write a mail to biomedit@sib.swiss. A ticket will be opened with your request and you will be contacted by one of the BioMedIT support personnel.

1.10 Is there documentation available for ..?

A number of work instructions, user guides and the like are publicly available in this site and at https://biomedit.ch/.

2. Data Providers


2.1 What do I need to do to become a Data Provider?

The procedure for becoming a Data Provider to the BioMedIT network is described in detail in the document Onboarding of Data Providers. In summary there are two parts - administrative and technical. A prospective Data Provider will contact a BioMedIT node, DCC or a project and submit a request to DCC to be added as a new Data Provider. Technical (and possibly administrative) contact details will be provided. The technical contact will provide details about the data transfer system of the Data Provider and receive information from the associated BioMedIT node about the server to be used for connection to the BioMedIT network. More information can be found in the document Data Transfer for Data Providers. Before any patient data can be transferred from a Data Provider to the BioMedIT network the legal basis must be confirmed. This will normally involve the parties providing and receiving data agreeing to and signing a Data Transfer and Use Agreement (DTUA). A DTUA is project specific and describes the data to be transferred (including the format of the data and meta-data) and the purpose for which it will be used. A DTUA will be signed by the authorised representatives of the provider and recipient as well as the project leaders.

2.2 What information do I need to provide?

Assuming that you have agreed with the BioMedIT node to which you wish to connect that they will serve as your entry point into the BioMedIT network, you will need to provide them:

  1. List of IP addresses used as exit points to send data to the BioMedIT network (required for whitelisting in the BioMedIT nodes).
  2. Expected data volume and frequency of transfers
  3. The Data Provider’s public SSH key
  4. Contact details of the persons nominated as administrative and technical contacts (name, email address and role)

Please refer to Onboarding of Data Providers for more information.

2.3 How is data sent from a Data Provider to the Project?

Once a Data Transfer Request is approved the Data Provider assembles the agreed data set (selects records, carries out necessary de-identification and any other preparation work required). The sett tool is then used to compress the data (optional), encrypt it with the public key of the recipient and the private key of the Data Provider, sign the data package and finally to transfer it using SFTP to the BioMedIT node to which the Data Provider is connected. If this node is not the node where the B-Space is located the package is routed onwards to the Landing Zone of the Data Provider at the destination node. Once there the package is sent to the project work space in the secure environment of the BioMedIT node and (again using sett) decrypted, unpacked and copied into the appropriate directory of the project.The transfer takes place using what is often called end-to-end encryption (encrypted before leaving the Data Provider and only decrypted after arriving in the B-space). The transfer of the encrypted data package takes place over a secure, encrypted path which further enhances security.

2.4 The project I am sending data to is hosted on Node X. Why do I have to connect to Node Y and send the data there? Would it not be simpler to send it directly to Node X?

This is a great question and one which is often asked! The answer is not immediately obvious. If a hospital is taking part in a project hosted on Node X then the easiest thing is to just connect directly to this Node. The problem with the approach is scalability. With one project per data provider things are simple. At present there are 3 BioMedIT nodes in Switzerland but this could very well increase in future. Now the hospital (Data Provider) has to keep track of multiple projects on multiple BioMedIT nodes and each Node has to separately onboard each hospital. Each hospital would have a Landing Zone for data transfer set up on each Node. Some projects are already being hosted on more than one BioMedIT node so a hospital as a Data Provider would need to work out where individual data sets should be sent - to one node, another node, both nodes.. Keeping track of all of these things, particularly in the future when other hospitals, potentially also ones from outside Switzerland, are transferring data to projects in the BioMedIT network would be a real problem. Logging and monitoring of data transfers, necessary if a proper audit trail is to be kept, would be quite complicated and become difficult to maintain an oversight. Tracking down which package went where and from whom would be more complex than necessary. The solution adopted on BioMedIT is to associate each Data Provider with one BioMedIT node and to onboard the hospital with just that node.All data transfers from a Data Provider are then sent to only that one Node, always the same one, and hopefully the problem is solved.On BioMedIT this method of connecting a data provider with a project has become known as the Snowflake architecture - a data package “falls” into one node and is routed automatically to the node or nodes where the project is hosted. It is the case that in the past some SPHN driver projects have established data transfer paths directly to nodes other than the ‘main’ BioMedIT node. Requests from future projects or Data Provider to be connected to a specific node will be assessed on a case by case basis.

2.5 Is there a tool I can use to help me transfer data?

There are three ways to set up and transfer data which are currently in use on the BioMedIT network.

Most Data Providers are using the secure encryption and transfer tool, sett, to manage the transfer.

While most use the GUI version there is also a command line version with slightly reduced functionality (mainly in key management) but some additional features such as facilitating automated transfers.Both versions provide some degree of checking for valid Data Transfer Request IDs and that the recipient is actually a Data Manager of the project.The third alternative, not to use sett but a variety of individual tools, is not as popular. If this last option is chosen careful attention must be paid to the correct construction of the data package and metadata file as well as verifying DTR ID and recipient.

2.6 Why can I not send data into the BioMedIT Network?

There are a number of reasons why a data transfer might not work.

  • As a Data Provider you need to be onboarded to a BioMedIT node. Done? See above for more information on onboarding.
  • Do you have the most up to date version of sett? Occasionally an update of the portal system might require the use of the latest version of sett.
  • If the encryption of a data package using sett fails:
    • Try the Test function of the encryption section of sett. Does this work? Are there error messages?
    • If Test worked then try Package & Encrypt. Does this work? Are there error messages?
  • Possible problems: Do you (Data Provider) have valid GPG keys with the public key signed by the DCC and uploaded to the BioMedIT keyserver?
  • There needs to be a valid DTUA (and possibly other agreements) in place between the Data Provider and the Project/Institution. Done?
  • The sending of data into the BioMedIT network requires that an authorised Data Transfer Request (DTR) exists.
  • The Data Manager of a Project creates the DTR and approval to send data requires confirmation of readiness (legal and technical).
  • Is the DTR ID correct?
  • Is the DTR authorised (there is a flag in the BioMedIT Portal which must be set to AUTHORIZED)?
  • Did the Verify DTR ID work (box in Encrypt section of sett is checked by default, requires that the user’s computer can access the internet)?
  • To encrypt data a Data Provider requires the public key of the Data Manager which has been signed by the DCC. Is this public key valid and signed?
  • The public key being used to encrypt the data must belong to a person who has been assigned the role of Data Manager of the project in the BioMedIT Portal/User Register. Is there an error message about the role of the recipient?
  • Is the DTR for the project of which the person whose public key is being used is a Data Manager?
  • If the encryption works but the transfer does not: Try the Test function of the transfer section of sett. Does this work? Are there error messages?
  • If Test worked then try Transfer selected files. Does this work? Are there error messages?
  • Did you have the IP addresses used by the Data Provider whitelisted by the BioMedIT node? (This is normally done as part of the on boarding process)
  • Did you generate SSH keys and send the public key to the BioMedIT node? (Authentication to the SFTP server used for transfer is via keys and not with a password).
  • Did you receive information about connecting to the SFTP server of the BioMedIT node to which you are onboarded? This information would normally consist of the User name, Host URL of the SFTP server and the Destination directory and is required information for the use of sett to transfer data. Note that the destination directory on some servers might be upload while on others it is uploads. Check that the information you input to sett matches what you have received.

If you have tried all of the above check with your IT section if communication to a SFTP server is permitted on your network.

If none of the above seems to be a problem then please send a ticket to the BioMedIT help-desk at biomedit@sib.swiss stating the nature of the problem including error messages received (copy and paste the message into the email or take a screenshot/photo).

2.7 My hospital does not have a clinical data warehouse. Can I still send data into the BioMedIT network?

The information in the other answers in this section provide the background on how to become an approved and onboarded data provider for projects on BioMedIT. Provided your hospital can meet these requirements there is no reason why you cannot send data into the BioMedIT network.


3. Projects


3.1. How do I set up a project on BioMedIT?

In principle any research project dealing with sensitive or confidential data and needing to leverage a secure computing environment can use BioMedIT. Typically the BioMedIT node which is hosting the project will act as a service provider but there is no reason it cannot be a project partner as well. Projects can, if desired, take advantage of the HPC facilities offered by the BioMedIT nodes. Projects to be hosted on a BioMedIT node need to be onboarded. When this is done and the project is listed on the BioMedIT Portal users who are authorised to use the BioMedIT Network can be assigned a role on the project. Where a project receives data from a provider which is already linked to and onboarded at a BioMedIT node requests to transfer data can be made by the project Data Manager. Where a new data provider is being used the data provider must be onboarded to one of the BioMedIT nodes. To initiate the setup of the project the Project Leader should contact the head of the nearest BioMedIT node (SENSA in the Romandie, sciCORE in central Switzerland or SIS in the east/south of Switzerland).

More information about the Nodes including contact details may be found on https://biomedit.ch.

In all cases there are standard operating procedures (SOPs) and work instructions (WIs) which deal with the requirements for a project and/or a data provider to become part of the BioMedIT Network.

Requirements

A project goes through a process of administrative and technical onboarding during the set-up phase. The main requirements for a successful onboarding are: deciding where the project should be hosted (which BioMedIT node) agreeing on the project requirements for: computing facilities storage remote access archival of project data at completion of project establishing and agreeing a Data Transfer and Use Agreement between the Data Providers, BioMedIT node(s) and the project agreeing a Service Level Agreement agreeing the costing of the hosting, technical support, user management and any other scientific support. The project may at this time also discuss with the proposed hosting node what will happen to the project data at the completion of the project, whether the project work space is to be archived and stored for a certain length of time, and access to this data/workspace after the project is formally complete. Removal or maintenance of long term user access rights might also be discussed. The associated costs to be met for providing these services should also be agreed between the project and the BioMedIT hosting node.In the BioMedIT Portal a portal administrator will create the project record and include details about the Project Leader (PL), hosting node, resources to be made available, and (if the PL opts out of accessing the portal/project work space) will assign to a user (upon the request of the PL) the role of Permissions Manager for the project.

3.2. What are the roles used on projects in the BioMedIT Network?

There are four roles which relate to persons associated with a project in the BioMedIT Network:

  • Project Leader: Overall responsibility for project - technical and administrative aspects of project hosting on one or more BioMedIT nodes, user management, data management.
  • Permissions Manager: Carries out user management in the BioMedIT Portal
  • Data Manager: Creates Data Transfer requests in the BioMedIT Portal and ensures that the necessary documentation and technical requirements are met for each data transfer from a data provider to the project.
  • User: Accesses data in the project work space on BioMedIT.
3.3. What is the role of a Permissions Manager on a project?

The Permissions Manager (PM), accountable to the Project Leader, carries out all the user management on the project. Each project must have at least one project member with the user role of PM. The PM is responsible for assigning, modifying and revoking the user roles of “(default) User” and “Data Manager” to authorised BioMedIT users. A PM acts as contact for the new project members to support them with registration and authorisation as users of BioMedIT.

3.4. How do I as Project Leader or Permissions Manager assign users and roles to a project?

Only the Project Leader (PL) or the designated Permissions Manager(s) (PM) may assign users to a project and specify the role(s) they can be allocated.While a PL can assign a user as a PM, Data Manager (DM) or ordinary User the PM can only assign a user as DM or User. A DM may not assign user roles. The assigning/removing of users/roles to a project is carried out on the BioMedIT Portal at any time. (Instructions can be found in the BioMedIT Portal User Guide)

Note: Assigning or changing the role of User will automatically trigger an email to the BioMedIT node where the B-space is hosted. If the User role is assigned the Node will create a local user account in the B-space. If the role is removed the Node will remove access to the B-space for that user.

Before you (Permissions Manager) can assign a team member as a user of your Project, each user, including the Permission Manager, needs to go through the following steps:

  • Create a SWITCH edu-ID account and enable the two factor authentication (2FA) (SWITCH homepage)
  • Sign the AUP of the BioMedIT node where the project is being hosted (please get in contact with the BioMedIT node)
  • Complete the BioMedIT Security Awareness Training course
  • Register at the BioMedIT Portal by logging in with your SWITCH edu-ID (and second factor authentication)

All additions or alterations will trigger automatic emails to the PL and DCC as well as being logged in the BioMedIT Register system to provide an audit trail.

3.5. What is the role of a Data Manager on a Project?

The Data Manager (DM), accountable to the PL, manages all data transfers from one or more data providers to the project.

Each project must have at least one project member with the user role of DM.

The DM is responsible for the management of the PGP cryptographic key pair used for encrypting, decrypting and signing data packages.

The DM also generates the Data Transfer Requests in the BioMedIT Portal to ensure that all administrative and technical matters relating to the transfer of data have been positively addressed.

The DM unpacks and decrypts the data packages transferred from a data provider (there may be multiple data providers for a single project) in the B-space on the BioMedIT node where the project is hosted.

Both the project and the relevant data providers must have been previously on-boarded to a BioMedIT node before any data may be transferred.

With the express authorisation from the PL the DM is responsible for the packaging, encrypting and signing of data packages which are to be transferred out of the B-space in the secure BioMedIT environment.

3.8. I am a project member of project X which has a B-space on a BioMedIT node. How can I access this B-space?

Before you can access the workspace there are a number of things that need to be done:

  • You must become an authorised BioMedIT user.
  • Create an SWITCH eduID (using the email address from your institution) if you do not already have one and enable two factor authentication (2FA)
  • Login to the BioMedIT Portal with this eduID and set a user name
  • Complete the Security Awareness training
  • Send a request to the project Permissions Manager to be assigned a role on the project

When you are assigned a role on the project and you log into the BioMedIT Portal you should see the project listed under Projects.

There will be one or more ways (referred to as Resources) in which you can access the B-space (Graphical remote desktop or Command line in a terminal).

Note: access to a Gitlab instance for the project may also be shown as an available resource.

3.9. Where is the project data stored?

> LeonhardMed at SIS (Zürich)

When you open a Remote Desktop session you should see files and folders in your home folder (your username will be the name of the folder, (LeoMed at SIS example) /cluster/home/dduck). There should also be a folder visible in the File Manager with the same name as the project. This folder, accessible by all users on the project, is where the project data is stored.This folder will be located at (example for IMAGINE project hosted on LeoMed at SIS) /cluster/dataset/imagine.There may also be a folder called (example for IMAGINE project) /cluster/dataset/imagine but this is the same folder as /cluster/dataset/imagine. If you see a folder (example for IMAGINE project) like /cluster/dataset/imagine_lz this is the landing zone folder used by the Data Manager when transferring data via the BioMedIT secure data transfer process. You can find some more information here.

> sciCOREMed at sciCORE (Basel)

When data is transferred with sett, the landing zone is mounted from GPFS NFS to /transfer. The data is then visible in the /transfer folder until it is decrypted into the /project/data folder (on NetApp over NFS). Additionally the user has access to the /project/home folder, which is on Ceph filesystem.

> SENSA / SIB (Lausanne)

When you open a Remote Desktop session you should see files and folders in your home folder. The project folder is auto-mounted from the WEKA FS and should be visible at login.

3.10. How do I become an authorised BioMedIT user?

To become an authorised BioMedIT user:

  1. Create a SWITCH eduID (using the email address from your institution) if you do not already have one, and enable two factor authentication (2FA).
  2. Login to the BioMedIT Portal with this eduID and set a user name. At this stage you cannot yet be assigned to a project.
  3. Complete the mandatory BioMedIT Security Awareness Training
  4. Sign your BioMedIT node’s Acceptable Use Policy (AUP) and any other relevant documents from the project.

4. Data Transfers


4.1. How do I (Data Manager of project) request a Data Provider to transfer data?

Log into the BioMedIT Portal and follow the instructions detailed in the BioMedIT Portal User Guide


4.2. I (Data Manager of Project) will have ongoing data transfers to my project. Do I need to request each individual transfer?

After one successful production data transfer from data provider to the project work space, a DTR which is marked as AUTHORIZED and with maximum number of packages set as unlimited may be re-used for future data transfers. A new request will only be needed if either the legal basis or the technical setup changes.

4.3. What information do I (Data Provider) need to receive from the project to transfer data?

The main piece of information a DP needs is the verified and approved public PGP key of the Data Manager of the project. In addition the DP needs to know the Data Transfer Request ID (this information is available in the BioMedIT Portal). The BioMedIT node will have already passed on the necessary information for sending data (URL, username, directory) from the Data Provider to the BioMedIT Network.

4.4. What are "PGP keys" and why do I need to have them?

Public-key cryptography is a method for secure communication between two or more users. In this system, each user has a pair of unique keys consisting of a private key and a public key. Public and private keys are linked in the sense that, whatever has been encrypted with the a given public key can only be decrypted with the matching private key, and whatever has been signed with a given private key will only be recognized by the matching public key.

You can read more about key management, and how sett does most of the hard work for you, in the documentation of sett on the sett User Guide

4.5. How can I get my key authorized?

To get your public PGP key authorized, it must be registered in the BioMedIT Portal. Instructions are available in this section of the sett User Guide.

4.6. Help! I lost the password to my private key. Can you reset my password or send me another one?

No! A private key is just that - private. If you have lost the password to the key it is gone forever.

You will need to revoke the previous key and generate new public and private PGP keys. See here for details.

If you generated the keys within sett a revocation certificate was generated automatically for you. See here for details.

4.7. I sent my private key in an email. What should I do?

If you think that the private key is no longer private you should revoke the key and generate new keys.

4.8. How does data get from the Data Provider to the project working space on BioMedIT?

Once a Data Transfer Request is approved the Data Provider assembles the agreed data set (selects records, carries out necessary de-identification and any other preparation work required). The sett tool is then used to compress the data (optional), encrypt it with the public key of the recipient and the private key of the Data Provider, sign the data package and finally transfer it using SFTP to the BioMedIT node to which the Data Provider is connected. If this node is not the node where the B-space is located the package is routed onwards to the Landing Zone of the Data Provider at the destination node. Once there the package is sent to the B-space in the secure environment of the BioMedIT node and (again using sett) decrypted, unpacked and copied into the appropriate directory of the project. The transfer takes place using what is often called end-to-end encryption (encrypted before leaving the Data Provider and only decrypted after arriving in the B-space). The transfer of the encrypted data package takes place over a secure, encrypted path which further enhances security.

4.9. I am a Data Manager of a project. How can I track the data transfer process?

When data is transferred the current status will be shown in the portal (number of packages transferred and the path the packages take from the Data Provider to the B-space). See Data Transfer - LOGS

4.10. Why do I receive all these mails from **biomedit@sib.swiss**?

The ticket system in use on BioMedIT uses the email address biomedit@sib.swiss

If you are receiving mails from this address it means that either you raised a ticket for support or are part of a data transfer process between a Data Provider and a Project.

Should you not wish to receive further emails from biomedit@sib.swiss in relation to data transfers just reply to one of the mails requesting that you be deleted from the list of correspondents.

4.11. What is sett?

sett stands for "Secure Encryption and Transfer Tool" and is an application that facilitates and automates data packaging, encryption, and transfer. It is written in Rust, a fast and memory-safe programming language. sett is available both as a desktop and a command line application.

sett is developed as part of the BioMedIT project. It is licensed under the GPLv3 (GNU General Public License) and the source code is available from its public GitLab repository.

Fore more information, visit the sett User Guide

4.12. Where can I get more information about sett?

Full documentation for sett (including information on key management) may be found at sett User Guide.

4.13. I think I found a bug in the sett tool. How can I report it?

Please open an issue on GitLab.

The developers monitor the issues on GitLab for any bugs, problems, or feature requests.

4.14. I don't want to use this sett tool! How can I send data to the project without it?

sett was developed at the request of a number of the data providers to the BioMedIT network. The packaging, encryption, signing, transfer and subsequent decryption can all be done outside of sett using available software (GUI and command line). The only constraint is that the data package must conform to the format required by sett as the metadata associated with the encrypted package contains information used in routing and error checking.

More information about this format can be found here.

The process of encrypting and sending data using sett incorporates a number of checks (Valid DTR ID, project and Data Manager match) which reduces the risk of transfer failure. These checks are not available outside of the sett tool.

5. Data Management


5.1. I need to use ABC program to analyse my data. How can I request this program be available in the B-space?

Installation of standard programs and application stacks can be requested by a BioMedIT project user by contacting their Data Manager and/or BioMedIT node contact.

BioMedIT project spaces support automated installation of various standard bioinformatics application stacks On-Demand

Should the requested application/program not be in the list of supported application stacks for automated On-Demand installations, an application stack can be made available to your project space after its careful evaluation by designated BioMedIT node.

At the time of writing there is no possibility to include programs from operating systems other than Linux.

5.2. Where are the data stored after the project is completed?

Long term storage and archiving of data is currently handled by the BioMedIT node where the project is hosted. Please contact the BioMedIT node to discuss this matter.


6. Security and Privacy


6.1. What is a SWITCH edu-ID and how do I get one?

A SWITCH edu-ID is an identity provider service offered by SWITCH, a Swiss organization dedicated to providing internet services for the Swiss academic community. It’s designed to offer a single user identity for accessing various online services within the academic and research spheres in Switzerland.

SWITCH edu-ID serves as a digital identity for students, researchers, and staff, allowing them to access multiple online resources using a single set of credentials. It simplifies the process of accessing various educational services, such as libraries, research databases, learning management systems, and more, by providing a unified login system.

It enhances security, streamlines access to educational resources, and facilitates collaboration among individuals and institutions within the Swiss academic community.

Links to creating a SWITCH edu-ID and other frequent operations can be found here.

6.2. What does two factor authentication or two step login mean?

Two-step login enhances security by prompting users to specify a second authentication factor when logging in. The second factor (your password is the first factor), is either a code generated on your phone using an authenticator app or sent to your mobile phone by SMS.

You may also know this feature as two-factor authentication (2FA), two-step verification or secure login. Services that demand a higher level of authentication security, e.g. those that enable account management or financial transactions often require two-step login. Note: If neither of the above methods work it is possible to use (a previously generated) one-time recovery code.

A guide to enabling 2FA can be found at How can I enable/disable two-step login? on the SWITCH website.

You should generate and safely store a set of recovery codes in case they are ever needed.

6.3. I do not have an institutional email address (from a university, hospital or similar). Can I still access the BioMedIT network?

You can access the landing page at https://biomedit.ch and the BioMedIT Portal at https://portal.dcc.sib.swiss (the portal only with a SWITCH edu-ID).

It is possible to set up a SWITCH edu-ID without an AAI - when creating the account ensure that you select Create without SWITCHaai -, but to gain access to a B-space, you must provide be an institutional (non-personal) email address. Members of a data provider organisation (not a university, university hospital or similar) may be permitted to transfer data into the BioMedIT Network provided that the organisation has been formally ‘onboarded’ to a BioMedIT node and the user has a valid, signed public GPG key and valid SSH keys. There are work instructions available to show you how to create SSH keys under Windows or Linux.

6.4. Why should I do the security awareness training?

In these courses, the users are introduced to data privacy regulations, respective laws and practical concepts of information security, all important subjects when dealing with confidential human data. After working through the courses the user will have a better idea and an increased awareness of the need for security when handling sensitive data.

6.5. Where can I find the courses?

You may find the links and instructions to enroll here.

7. Working Groups


What special focus working groups are there on BioMedIT?

There are three main working groups on BioMedIT:

  • BioMedIT Interoperability Working Group

Launched early 2018, the BioMedIT Interoperability Working Group aims to streamline the computational process for researchers. The activities of the working group are to develop and deploy solutions which abstract the underlying IT infrastructure and enable researchers to focus on the development of novel analyses.

  • BioMedIT IT Security Working Group

A project oriented BioMedIT IT Security WG has been set up to address security issues specifically relevant to the BioMedIT project. The SIB Data Protection and Security Board is an overarching body responsible for establishing and reviewing overall policy.

  • BioMedIT Data Management/Research support RDF Working Group

The working group provides support to researchers in data management aspects using the SPHN Semantic Framework and Semantic Web technologies. It is responsible for building and implementing a support network for data management with Semantic Web technology on BioMedIT that includes tools and services for RDF, terminology service, documentation and user guide, and training on FAIR health-related data for research.

For more information, visit the BioMedIT website.

8. SPHN


8.1. What is SPHN?

An initiative of the Swiss Government, the Swiss Personalized Health Network is a national initiative under the leadership of the Swiss Academy of Medical Sciences (SAMS). In collaboration with the SIB Swiss Institute of Bioinformatics it contributes to the development, implementation and validation of coordinated data infrastructures in order to make health-relevant data interoperable and shareable for research in Switzerland. 
SPHN has adopted a federative approach by building upon – and supporting – existing data sources and infrastructures across the country. To make health data interoperable and accessible for research, SPHN rallies all decision-makers from key clinical, research-, research support institutions and patient organizations around the same table.

Read the SPHN Fact-Sheet.

8.2. How is SPHN related to BioMedIT?

Under the umbrella of the SPHN initiative a secure and cutting-edge IT environment (BioMedIT network, a project of SIB) is being established to support computational, biomedical research and clinical bioinformatics, ensuring data privacy. In the same way as SPHN the BioMedIT network builds on existing infrastructure and expertise in each of the three BioMedIT nodes.

5 - Quick links for SWITCH edu-ID

What is a SWITCH edu-ID?

SWITCH edu-ID is your persistent identity and gives you access to all federated services.

The account is easy to use, controlled by the user and provides secure access to academic services.

The service is provided by SWITCH for Swiss universities and their partners.

  • As a student, you can use your account during and even after your studies.
  • As an employee, you can use your account during and even after your employment at a university.
  • As a private individual, you can use your account for your entire lifetime (e.g. to access library services).

(Source: https://help.switch.ch/eduid/faqs/#eduid-about)

6 - SPHN-DCC Confluence

SPHN-DCC Confluence is a collaboration space and repository hosted in Confluence Cloud, for the working and implementation groups, projects and iniatives.

How to request access

To access SPHN-DCC Confluence, users must create an Atlassian account. Here are steps:

Access the link https://sphn-dcc.atlassian.net. The following page will display

Select the option Create an account

login

The following page will display.

Enter your email address and click on Sign up

login

Confluence will send you an email with a verification link:

login

Check your mailbox and open the email sent by Confluence. Open the message and click on Verify your email

login

After verifying your email, Confluence will redirect you to the following screen to finish setting up your account:

Enter your full name
Create a password
Click on Continue

login

The SPHN-DCC welcome space should display.

Note that to gain access to specific spaces, you must contact the space owner to assign you permissions.

Guides for users

Guides for space owners