# Security Assessment of Agriculture IoT (AIoT) Applications
## 2 Materials and Methods
### Process Step: Documentation, Requirements Fixing, Recommendations
#### 2.9.2 Requirements  
As an example, in the following paragraph an excerpt of three requirements definitions from the FR1 (Access Control AC) requirement group is shown. Note that the line \"belongs to the zones/conduits\" defines for which system elements the requirement is specified. The vulnerability was identified in the \"high level cybersecurity risk analysis\" phase.  
Figure 11: SL-T to SL-A relationship graph diagram.  
Figure 12: SL-T to SL-A relationship spider diagram.  
* **(FR1-AC)**: The system shall provide functions to uniquely identify and authenticate all users, restricting access for unauthorized people.  
\begin{tabular}{|c|c|c|c|c|c|} \hline Vulnerability & \multicolumn{4}{|c|}{A system interface without user identification and authentication allows unrestricted} \\  & \multicolumn{4}{|c|}{access by anyone and from anywhere.} \\ \hline Countermeasure & \multicolumn{4}{|c|}{Use at least a single-factor authentication mechanism with username and password.} \\ \hline \multirow{2}{*}{System} & \multicolumn{4}{|c|}{The Farm Management System (FMS) access should require a user} \\  & \multicolumn{4}{|c|}{username/password.} \\  & \multicolumn{4}{|c|}{A MQTT broker should use a username/password protection mechanism} \\ \hline Belongs to the & SEZ & FZ & MWZ & MOMZ & LRWC & BLEC \\ zones/conduits & & & & & \\ \hline \end{tabular}  
This requirement means that access to the system may only be possible with authentication via user name/password.  
* **(FR 1-AC)**: The user credentials shall be restricted in format and length  
\begin{tabular}{|c|c|c|c|c|c|c|} \hline Vulnerability & \multicolumn{4}{|c|}{A simply structured password can be guessed by an attacker by trying.} \\ \hline Countermeasure & \multicolumn{4}{|c|}{Using a password setup check: a minimal length (S), a mix or letters, numbers, and} \\  & \multicolumn{4}{|c|}{special characters.} \\ \hline System & \multicolumn{4}{|c|}{Password length should be eight characters long, including lowercase \& uppercase} \\  & \multicolumn{4}{|c|}{alphabetic characters, numbers, and symbols.} \\ \hline Belongs to the & SEZ & FZ & MWZ & MOMZ & LRWC & BLEC \\ zones/conduits & & & & & \\ \hline \end{tabular}  
This requirement states that only a certain form of password must be used, and this must be checked.  
* **(FR1-AC)**: The number of failed login attempts in a time period (e.g., 24 h) shall be limited to 3 tries.  
\begin{tabular}{|c|c|c|c|c|c|c|} \hline Vulnerability & \multicolumn{4}{|c|}{The attacker guesses the password with a brute force attack.} \\ \hline Countermeasure & \multicolumn{4}{|c|}{Using a login attempt statistic counter.} \\ \hline System & \multicolumn{4}{|c|}{After three wrong authentication attempts, the system should prohibit further} \\  & \multicolumn{4}{|c|}{inputs for a time of 24 h.} \\ \hline Belongs to the & SEZ & FZ & MWZ & MOMZ & LRWC & BLEC \\ zones/conduits & & & & & & \\ \hline \end{tabular}  
This requirement defines the use of a login attempt counter to prevent trying to guess the password.  
An important part of the requirements definition work is also to design adequate and executable test cases to verify the requirements implementation. This part is often done as the last work in the full process life cycle, but this requires much additional time and must be prepared very carefully. The effort required is easily underestimated but note that these tests must be repeated in the event of a system change. Then, an existing and well-prepared test environment does the job with one mouse-click. Also, the cybersecurity reassessment for recertification is done quickly.