Loading
Uniconta
Search
Generic filters
Free trial signup
  • Visit a Country Site
    • Dansk
    • Deutsch
    • Eesti
    • Íslenska
    • Lietuvis
    • Nederlands
    • Norsk
    • English
  • Search
  • Uniconta
    • What is Uniconta ?
    • Modules
    • Ledger
    • Customer
    • Sales Order
    • Vendor
    • Purchase
    • Inventory
    • Logistics
    • Project
    • Light Manufacturing
    • CRM
    • Fixed assets
    • Dashboard
    • Company
    • Adaptability
  • Download
    • Uniconta for Windows
    • Uniconta for Mac
    • Download for Developers
    • Free trial signup
  • Resellers
    • Find a reseller
    • Become a reseller
    • Partner Portal Login
    • Partner Portal sign up
  • Developers
    • Become an integration partner
    • Documentation
    • Samples
    • Downloads
  • Accountants
    • Become a Univisor
  • News Overview
    • Blog
    • News
    • Uniconta Update
    • Customer cases
  • About us
    • About us
      • Management
      • Contact
      • IT Security ISAE 3402
      • System status
    • Terms & Conditions
      • License Agreement
      • Data Processing Agreement (DPA)
      • Privacy policy
      • Cookie policy
      • Sub-processors

Unipedia

  • Introduction
    • Get started with Uniconta
    • Which browser are you using?
    • Get started with an existing set of accounts
  • Converting to Uniconta
    • Conversion tool
    • What can be converted to Uniconta?
    • Converting from NAV to Uniconta
    • Converting from e-conomic to Uniconta
    • Converting from C5 to Uniconta
    • Converting from eCtrl to Uniconta
    • Checking your accounts after conversion
  • General Ledger
    • How to split voucher PDF
    • Chart of Accounts
      • Chart of Accounts
      • Account types
      • System Accounts
      • Import a Chart of Accounts
    • General journals
      • Journal Entries
      • Import from a file
      • Import Bank statement
        • Automatic account selection
      • Posting in foreign currency
      • Posting customer payments
      • How to manage voucher number series
      • Setting up Journals
      • Cancel voucher/delete journal/delete record
    • Bank Reconciliation
      • Bank Management / Bank reconciliation
      • Automatic account selection
    • Budget
      • Budget
    • Reports
      • Account statements
      • Transactions
      • Financial Statement
      • Physical Vouchers
      • Posted Journals
    • VAT reporting
      • VAT reporting – Denmark
      • VAT specification – Denmark
      • EU sales
      • Intrastat
      • EU sales list
    • Pivot table
    • Maintenance
      • Dimensions
      • – Join two dimensions
      • – Reverse charged VAT – Denmark
      • Voucher number series
      • – Automatic allocation of number series
      • Terms of payment
      • – Managing cash discounts
      • Accounting year
      • – Year end closing/opening balances
      • Join two accounts
    • Audit activities
      • Company accounts templates
      • Export transactions
  • Customer
    • Customer
      • Customer
      • – Reconciling Customer Accounts
    • Quick invoice
      • Quick invoice
    • Sales
      • Sales orders
      • – Create purchase/sales order
      • Quotations
      • Mass update
      • – Generate UBL
      • – Purchases and sales without VAT
      • Order journal
    • Reports
      • Statement
      • Transactions
      • Open transactions
      • Payment proposals (SEPA)
      • Ageing report
      • Interest and collection letter
        • – Collection letter messages
      • Invoices
      • Delivery note
      • Stock transactions
      • Order lines
      • Customer statistics
      • Pivot table
    • Maintenance
      • Customer groups
      • Order groups
      • Shipments
      • Terms of delivery
      • Layout groups
      • Number sequences
        • – Error messages
      • Invoice layout
        • – Creating watermarks
      • E-mail setup
        • – Setting up SMTP
        • – Mail server set up
        • – Forwarding e-mails to Uniconta
      • Document messages
      • SEPA set up
      • Mandates (SEPA)
      • Customer Direct Debit
      • Join
        • Join two accounts
        • Join two sales orders
        • Join many
  • CRM
    • – Introduction to CRM
    • Prospects
      • – Creating an quotation for a prospect
      • – Create follow-up
    • Customers & Prospects
    • Follow-up activities
    • Create e-mail list
    • Campaign
    • Maintenance
      • Interests
      • Products
      • CRM groups
      • Follow-up groups
      • Campaign groups
  • Vendor
    • Mass update
    • – Purchases and sales without VAT
    • Reports
      • Statement
      • Merge payments
      • Ageing report
      • Pivot table
    • Maintenance
      • Vendor groups
      • Purchase order groups
      • Vendor layout groups
      • Number sequences
      • File formats for methods of payment
        • – Setting up messages for vendor payments
        • – Setting up bank days
      • Join
      • – Join two accounts
      • – Join two purchase orders
      • – Join many
  • Inventory
    • Items
    • Stock Journal
    • – Posting in the stock journals
    • – BOMs in Uniconta
    • – Handling packaging fees
    • Reports
      • Inventory account statement
      • Inventory transactions
      • Item stock status
      • On-hand
      • Re-order list
      • Pivot table
    • Maintenance
      • – Purchasing number series items
      • Join two items
      • Variants
        • – Default variants
        • – Importing old inventory transactions
  • Project
    • Get started with Project and Time
    • Invoicing in the project module
    • Project Categories
    • Pivot table
    • Project groups
  • Company
    • Company information
    • View a demonstration company
    • User rights
      • Manage users
      • Requests for company access
      • Request company access
    • Maintenance
      • Configure application functionality
      • Preferences
      • Subscription (Administrators)
      • – Create subscription (Administrators)
      • – Create subscription (Client)
      • – From trial period to subscription
      • – Counting financial items
      • – Azure Authentication in Uniconta
      • Modification URL
      • Create a new company
    • Contacts
  • Administrator
    • Distributor Administration
    • User Login History
    • Partner Plugin
  • Tools
    • Main Menu
    • Save layout as a menu item
    • User Plugin
      • How to change Uniconta’s default plugin path
    • Report Generator
      • Report Generator
        • Acccount statement
        • Collection letter documents
        • Company accounts cover page
        • Picking list
        • Purchase documents
        • Sales documents
      • Create a report to be viewed externally
      • Expression binding for Reports
    • Additional setup
      • Local backup
      • Import e-conomic
  • Data Access
    • Transfer data from Uniconta to Excel
    • OData filter function
  • General
    • User Interface
      • User Profile
      • Shortcut Keys in Uniconta
      • Layout
      • Templates
      • How to search in Uniconta
      • Filter/Clear Filter
      • General tips
    • General Functions
      • Attachments
      • Copy and paste in Uniconta
      • Export data and reports to file format
      • Send documents and data by e-mail
      • Print reports and list forms
      • National company number lookup
      • Excel, export and import
    • Security
      • Forgot Password
      • Backup
      • Uniconta Security
    • Installation
      • Installation on RDS – Remote Desktop Server
      • Optimal internet access for Uniconta
      • Install Uniconta in Windows 7
      • Uniconta in the Microsoft App-Store
      • Uniconta for Mac
Search
Generic filters

Uniconta Security

583 views 3 September 2017 8 May 2018
Print Friendly, PDF & Email

Learn more about:

  • Layout
  • Filter/Clear Filter
  • Templates
  • How to search in Uniconta
  • Attachments
May 8th, 2018

Uniconta Architecture

Uniconta has a three-tier architecture.

The client only has one connection to the Uniconta application server (UAS) and UAS is the only connection to the SQL.

UAS loads a partial ”state” from SQL and it remains in the UAS and is entered into SQL when updates are made. However, when read, the call is serviced directly from the UAS.

Uniconta has one SQL database and all data is in the same SQL. All relations to the SQL occur via RowId, not using ”keys”.

So a debtor has a unique RowId for the whole SQL and all transactions with that debtor refer to this debtor’s RowId.

The debtor is linked to the company information for that debtor’s company. However, the company information is not linked to each transaction.

This is the case for all affiliations, i.e. they are linked to master data via a unique SQL RowId.

 

Communication between the client and the server

Uniconta uses Uniconta.WindowsAPI

Uniconta.WindowsAPI builds upon a standard .NET and is encrypted.

Our server has generated a ” X509Certificate2”.

This is a certificate with both a public and private key.

Upon startup, the API calls the server and requests the public key. This is then sent completely un-encrypted (so it is public by definition).

Encrypted packages are thereby sent from the client to the server, using this public key. Only our server is able to decrypt the package, since it has the required private key.

When the client creates a login, this includes a username, password, a randomly generated 32 bit local encrypting key (K1) and a 64 bit login Ident key (K2).

When the server receives the login package it is decrypted using its private key and the login name is unpacked.

It then checks to see whether the username and password exist. If they exist, then the server starts the session. This session is identified with an automatically generated GUID.

Two ”codes” for clients K1 and K2 are assigned to the session. The session is also assigned sequence number 1.

When the server returns the package to the client, it includes the GUID and the K2, and it is encrypted with the K1 key.

When the client receives the login package it is decrypted with the K1 key it has generated and the client checks that it receives the K2.

The GUID is saved for future calls.

The client is now connected.

The following package to the server includes the GUID and sequence number 2, which is encrypted with the public key.

The server decrypts it using the private key. The server finds the session using the GUID. The server looks to see whether it has received sequence number 2 before. If it has not, then the call registers that sequence number 2 has now been received. The call will now be processed and the K1 key is encrypted on the return package.

If anyone else tries to use the login package sent TO the server and perform a Replay, then the server rejects the package since the K2 already exists. This means that no-one with the same K2 can gain access.

If anyone else tries to use the other packages that are sent TO the server and perform a Replay, then the server rejects the package since the sequence number has already been used.

If anyone else tries to use the other packages that are sent BACK from the server then they will not have the K1 key and therefore cannot decrypt the package.

All users have generated their own K1 key, so all return packages will be encrypted differently anyway.

A package that is sent to the server encrypted with a ” X509Certificate2” public key, is virtually impossible to decrypt.

It is the most difficult key to decrypt. Only the person with the private key can decrypt it. This private key never leaves the server.

None of the packages returned from the server contain any information on which call was used. They only contain the result. So a package might just contain ”ok” or ”100” or it might be blank. There is no way to view the return package.

Uniconta has 113 different calls, all of which return binary data and no data on the contents of the package. So even if someone manages to compile our API and thus figure out how to view the package, they still do not know which package it is. That would only be possible after they had managed to decrypt the package with a key that they don’t have access to anyway.

 

  • Was this Helpful ?
  • YesNo
Categories: Inventory, Unipedia

Get in touch with us

Uniconta

  • Uniconta
  • Modules
  • Downloads
  • Free trial signup
  • Subscription Terms
  • System Status

PARTNER

  • Become a Reseller
  • Become App Partner
  • For Developers
  • For Accountants (Univisor)
  • Uniconta Partner Portal

INFO

  • News
  • Updates
  • Customer cases
  • Video
  • IT Security
  • About us
  • Management

Support

  • Unipedia
  • API information
  • Contacts
  • Visit a Country Site
    • Dansk
    • Deutsch
    • Eesti
    • Íslenska
    • Lietuvis
    • Nederlands
    • Norsk
    • English
Uniconta
© Copyright 2019 | All rights reserved | info@uniconta.com | Terms & Conditions
Facebook LinkedIn Youtube